{"version":3,"file":"js/5480.22f7ec169474f801e015.chunk.js","mappings":";4wFAoBA,IAAMA,GAAgBC,EAAAC,EAAG,CAAC,EACxBC,EAAAA,cAAgB,iBAAeF,EAAAC,EAC/BE,EAAAA,MAAQ,gBAAcH,EAAAC,EACtBG,EAAAA,eAAiB,yBAAuBJ,EAAAC,EACxCI,EAAAA,UAAY,oBAAkBL,EAAAC,EAC9BK,EAAAA,cAAgB,iBAAeN,EAAAC,EAC/BM,EAAAA,OAAS,UAAQN,GAGbO,GAAkBR,EAAAS,EAAG,CAAC,EAC1BP,EAAAA,cAAgB,eAAaF,EAAAS,EAC7BN,EAAAA,MAAQ,YAAUH,EAAAS,EAClBL,EAAAA,eAAiB,YAAUJ,EAAAS,EAC3BJ,EAAAA,UAAY,YAAUL,EAAAS,EACtBH,EAAAA,cAAgB,YAAUN,EAAAS,EAC1BF,EAAAA,OAAS,YAAUE,GAefC,EAAkB,SAAHC,GAQf,IAPLC,EAASD,EAATC,UACAC,EAAWF,EAAXE,YACAC,EAAWH,EAAXG,YACAC,EAAIJ,EAAJI,KACAC,EAAgBL,EAAhBK,iBACAC,EAASN,EAATM,UACAC,EAAKP,EAALO,MAEiBC,EAA+BN,EAAxCO,QAAOC,EAAiCR,EAAlBS,SAAAA,OAAQ,IAAAD,EAAG,CAAC,EAACA,EAC3CE,EACCX,EADOY,SAAUC,OAAiB,IAAAF,EAAG,CAAC,EAACA,EAAAG,EACvCd,EADyCQ,QAASO,OAAgB,IAAAD,EAAG,CAAC,EAACA,EAAAE,EACvEhB,EADyEiB,kBAAAA,OAAiB,IAAAD,EAAG,CAAC,EAACA,EAG1FE,EAAOC,OAAOC,KAAKjB,GAAM,GACzBkB,EAAWF,OAAOG,OAAOnB,GAAM,GAErCoB,EAA6CrB,EAArCsB,SAAAA,OAAQ,IAAAD,EAAGhC,EAAAA,MAAKgC,EAAAE,EAAqBvB,EAAnBwB,UAAAA,OAAS,IAAAD,EAAG,GAAEA,EAIiBE,EAAAC,EAAjCC,EAAAA,SAAeX,IAASM,GAAS,GAAlDM,EAAIH,EAAA,GAAEI,EAAOJ,EAAA,GAIdK,EAAgB,CACrBC,YAAarC,EAAmBsB,GAChCgB,WAAYJ,EACZK,gBAAiB/B,EAAiBc,GAClCb,UAAAA,EACA+B,UAAWjD,EAAiB+B,IAAS,GACrCmB,WATkB,WAAH,OAASN,GAASD,EAAK,GAYvC,OAAQZ,GACP,KAAK5B,EAAAA,cACJ,IAAMgD,EAAejB,EAASkB,KAC7B,SAACC,GAAS,OAAK3B,EAAkB2B,EAAU,IAE5C,OAAOX,EAAAA,cAACY,EAAAA,eAAcC,EAAA,GAAKV,EAAa,CAAEM,aAAcA,KAGzD,KAAK/C,EAAAA,MACL,KAAKC,EAAAA,eACJ,GAAuC,IAAnC2B,OAAOG,OAAOD,GAAUsB,OAAc,CACzC,IACMnC,EADcW,OAAOG,OAAOD,GAAU,GAChBkB,KAAI,SAACK,GAAU,OAAAC,EAAAA,EAAA,GACvCtC,EAAYqC,IACZ7B,EAAiB6B,GAAW,IAEhC,OAAOf,EAAAA,cAACiB,EAAAA,eAAcJ,EAAA,GAAKV,EAAa,CAAExB,QAASA,IACpD,CAEA,IAAMuC,EAAa5B,OAAOC,KAAKC,GACzB2B,EAAe7B,OAAOG,OAAOD,GAAUkB,KAAI,SAAC/B,GAAO,OACxDA,EAAQ+B,KAAI,SAACK,GAAU,OAAAC,EAAAA,EAAA,GACnBtC,EAAYqC,IACZ7B,EAAiB6B,GAAW,GAC7B,IAGJ,OACCf,EAAAA,cAACoB,EAAAA,cAAaP,EAAA,GACTV,EAAa,CACjBe,WAAYA,EACZC,aAAcA,EACdtB,UAAWA,KAKd,KAAKjC,EAAAA,UACJ,IAAAyD,EAAyC7B,EAAjC8B,UAAAA,OAAS,IAAAD,EAAG,GAAEA,EAAAE,EAAmB/B,EAAjBgC,SAAAA,OAAQ,IAAAD,EAAG,EAACA,EAC9B5C,EAAU2C,EACdZ,KAAI,SAACK,GACL,IAWSU,EAXHC,EAAShD,EAAYqC,GAQrBY,EAPgBD,EAAOE,YAAYC,OACxC,SAACC,GAAE,OACoB,IAAtBA,EAAGC,QAAQjB,QACc,IAAzBgB,EAAGE,WAAWlB,QACmB,IAAjCgB,EAAGG,mBAAmBnB,QACQ,IAA9BgB,EAAGI,gBAAgBpB,MAAY,OAKxBW,EACL5C,EAAS6C,EAAOE,YAAY,GAAGM,gBAAgB,KACjCP,aAAeF,EAAQU,WACnCV,OALHW,EAQH,OAAApB,EAAAA,EAAA,GACIU,GAAM,IACTC,YAAAA,GACGzC,EAAiB6B,GAEtB,IACCsB,MAAK,SAAAC,EAAAC,GAAA,IAAiBC,EAACF,EAAfG,aAAmCC,EAACH,EAAfE,aAAY,OAAUD,EAAEG,cAAcD,EAAE,IAEvE,OACC1C,EAAAA,cAACiB,EAAAA,eAAcJ,EAAA,GACVV,EAAa,CACjBxB,QAASA,EACTiE,qBAAsBpB,KAKzB,KAAK3D,EAAAA,cACJ,OACCmC,EAAAA,cAAC6C,EAAAA,sBAAqBhC,EAAA,GACjBV,EAAa,CACjB2C,QAASrE,EAAMqE,QACfC,KAAMtE,EAAMsE,KACZ3D,kBAAmBA,KAKtB,KAAKtB,EAAAA,OAEJ,IAAMa,EAAUa,EACdwD,QAAO,SAACjC,GACR,IAC0CkC,EAAAlD,EAAzCrB,EAAYqC,GAAYa,aAAe,GAAE,MACnCsB,EAAwDnD,QAFzC,IAAAkD,EAAG,CAAC,EAACA,GAEef,iBAAmB,GAAE,GAAzC,GAEtB,OAAOgB,GAAmBrE,EAASqE,EACpC,IACCxC,KAAI,SAACK,GAAU,OAAAC,EAAAA,EAAA,GACZnC,EACFH,EAAYqC,GAAYa,YAAY,GAAGM,gBAAgB,KAErDhD,EAAiB6B,GAAW,IAGjC,QACGpC,EAAQmC,QACTd,EAAAA,cAACmD,EAAAA,eAActC,EAAA,GAAKV,EAAa,CAAExB,QAASA,KAK/C,QACC,OAAO,KAEV,EAUayE,EAAmB,SAAHC,GAIvB,IAAAC,EAAAD,EAHLhF,YAAAA,OAAW,IAAAiF,EAAG,CAAC,EAACA,EAChB/E,EAAgB8E,EAAhB9E,iBAAgBgF,EAAAF,EAChB5E,MAAAA,OAAK,IAAA8E,EAAG,CAAC,EAACA,EAEFC,EAAY/E,EAAZ+E,QACRC,EAA6CD,EAArCpF,YAAAA,OAAW,IAAAqF,EAAG,CAAC,EAACA,EAAAC,EAAqBF,EAAnBrF,UAAAA,OAAS,IAAAuF,EAAG,CAAC,EAACA,EACxCC,EAAuBvF,EAAfwF,MAER,YAFa,IAAAD,EAAG,GAAEA,GAELjD,KAAI,SAACpC,EAAMuF,GAAK,OAC5B7D,EAAAA,cAAC/B,EAAe,CACf6F,IAAKxE,OAAOC,KAAKjB,GAAM,GACvBH,UAAWA,EACXC,YAAaA,EACbC,YAAaA,EACbC,KAAMA,EACNC,iBAAkBA,EAClBC,UAAWqF,EAAQ,EACnBpF,MAAOA,GACN,GAEJ,oeClOAsF,EAAA,kBAAAC,CAAA,MAAAA,EAAA,GAAAC,EAAA3E,OAAA4E,UAAAC,EAAAF,EAAAG,eAAAC,EAAA/E,OAAA+E,gBAAA,SAAAC,EAAAR,EAAAS,GAAAD,EAAAR,GAAAS,EAAAC,KAAA,EAAAC,EAAA,mBAAAC,OAAAA,OAAA,GAAAC,EAAAF,EAAAG,UAAA,aAAAC,EAAAJ,EAAAK,eAAA,kBAAAC,EAAAN,EAAAO,aAAA,yBAAAC,EAAAX,EAAAR,EAAAU,GAAA,OAAAlF,OAAA+E,eAAAC,EAAAR,EAAA,CAAAU,MAAAA,EAAAU,YAAA,EAAAC,cAAA,EAAAC,UAAA,IAAAd,EAAAR,EAAA,KAAAmB,EAAA,aAAAI,GAAAJ,EAAA,SAAAX,EAAAR,EAAAU,GAAA,OAAAF,EAAAR,GAAAU,CAAA,WAAAc,EAAAC,EAAAC,EAAAC,EAAAC,GAAA,IAAAC,EAAAH,GAAAA,EAAAtB,qBAAA0B,EAAAJ,EAAAI,EAAAC,EAAAvG,OAAAwG,OAAAH,EAAAzB,WAAA6B,EAAA,IAAAC,EAAAN,GAAA,WAAArB,EAAAwB,EAAA,WAAArB,MAAAyB,EAAAV,EAAAE,EAAAM,KAAAF,CAAA,UAAAK,EAAAC,EAAA7B,EAAA8B,GAAA,WAAAC,KAAA,SAAAD,IAAAD,EAAAG,KAAAhC,EAAA8B,GAAA,OAAAf,GAAA,OAAAgB,KAAA,QAAAD,IAAAf,EAAA,EAAArB,EAAAsB,KAAAA,EAAA,IAAAiB,EAAA,YAAAX,IAAA,UAAAY,IAAA,UAAAC,IAAA,KAAAC,EAAA,GAAAzB,EAAAyB,EAAA/B,GAAA,8BAAAgC,EAAArH,OAAAsH,eAAAC,EAAAF,GAAAA,EAAAA,EAAAlH,EAAA,MAAAoH,GAAAA,IAAA5C,GAAAE,EAAAmC,KAAAO,EAAAlC,KAAA+B,EAAAG,GAAA,IAAAC,EAAAL,EAAAvC,UAAA0B,EAAA1B,UAAA5E,OAAAwG,OAAAY,GAAA,SAAAK,EAAA7C,GAAA,0BAAA8C,SAAA,SAAAC,GAAAhC,EAAAf,EAAA+C,GAAA,SAAAb,GAAA,YAAAc,QAAAD,EAAAb,EAAA,gBAAAe,EAAAtB,EAAAuB,GAAA,SAAAC,EAAAJ,EAAAb,EAAAkB,EAAAC,GAAA,IAAAC,EAAAtB,EAAAL,EAAAoB,GAAApB,EAAAO,GAAA,aAAAoB,EAAAnB,KAAA,KAAAoB,EAAAD,EAAApB,IAAA5B,EAAAiD,EAAAjD,MAAA,OAAAA,GAAA,UAAAkD,EAAAlD,IAAAL,EAAAmC,KAAA9B,EAAA,WAAA4C,EAAAE,QAAA9C,EAAAmD,SAAAC,MAAA,SAAApD,GAAA6C,EAAA,OAAA7C,EAAA8C,EAAAC,EAAA,aAAAlC,GAAAgC,EAAA,QAAAhC,EAAAiC,EAAAC,EAAA,IAAAH,EAAAE,QAAA9C,GAAAoD,MAAA,SAAAC,GAAAJ,EAAAjD,MAAAqD,EAAAP,EAAAG,EAAA,aAAAK,GAAA,OAAAT,EAAA,QAAAS,EAAAR,EAAAC,EAAA,IAAAA,EAAAC,EAAApB,IAAA,KAAA2B,EAAA1D,EAAA,gBAAAG,MAAA,SAAAyC,EAAAb,GAAA,SAAA4B,IAAA,WAAAZ,GAAA,SAAAE,EAAAC,GAAAF,EAAAJ,EAAAb,EAAAkB,EAAAC,EAAA,WAAAQ,EAAAA,EAAAA,EAAAH,KAAAI,EAAAA,GAAAA,GAAA,aAAA/B,EAAAV,EAAAE,EAAAM,GAAA,IAAAkC,EAAA,iCAAAhB,EAAAb,GAAA,iBAAA6B,EAAA,UAAAC,MAAA,iDAAAD,EAAA,cAAAhB,EAAA,MAAAb,EAAA,OAAA5B,WAAApC,EAAA+F,MAAA,OAAApC,EAAAkB,OAAAA,EAAAlB,EAAAK,IAAAA,IAAA,KAAAgC,EAAArC,EAAAqC,SAAA,GAAAA,EAAA,KAAAC,EAAAC,EAAAF,EAAArC,GAAA,GAAAsC,EAAA,IAAAA,IAAA9B,EAAA,gBAAA8B,CAAA,cAAAtC,EAAAkB,OAAAlB,EAAAwC,KAAAxC,EAAAyC,MAAAzC,EAAAK,SAAA,aAAAL,EAAAkB,OAAA,uBAAAgB,EAAA,MAAAA,EAAA,YAAAlC,EAAAK,IAAAL,EAAA0C,kBAAA1C,EAAAK,IAAA,gBAAAL,EAAAkB,QAAAlB,EAAA2C,OAAA,SAAA3C,EAAAK,KAAA6B,EAAA,gBAAAT,EAAAtB,EAAAX,EAAAE,EAAAM,GAAA,cAAAyB,EAAAnB,KAAA,IAAA4B,EAAAlC,EAAAoC,KAAA,6BAAAX,EAAApB,MAAAG,EAAA,gBAAA/B,MAAAgD,EAAApB,IAAA+B,KAAApC,EAAAoC,KAAA,WAAAX,EAAAnB,OAAA4B,EAAA,YAAAlC,EAAAkB,OAAA,QAAAlB,EAAAK,IAAAoB,EAAApB,IAAA,YAAAkC,EAAAF,EAAArC,GAAA,IAAA4C,EAAA5C,EAAAkB,OAAAA,EAAAmB,EAAAxD,SAAA+D,GAAA,QAAAvG,IAAA6E,EAAA,OAAAlB,EAAAqC,SAAA,eAAAO,GAAAP,EAAAxD,SAAAgE,SAAA7C,EAAAkB,OAAA,SAAAlB,EAAAK,SAAAhE,EAAAkG,EAAAF,EAAArC,GAAA,UAAAA,EAAAkB,SAAA,WAAA0B,IAAA5C,EAAAkB,OAAA,QAAAlB,EAAAK,IAAA,IAAAyC,UAAA,oCAAAF,EAAA,aAAApC,EAAA,IAAAiB,EAAAtB,EAAAe,EAAAmB,EAAAxD,SAAAmB,EAAAK,KAAA,aAAAoB,EAAAnB,KAAA,OAAAN,EAAAkB,OAAA,QAAAlB,EAAAK,IAAAoB,EAAApB,IAAAL,EAAAqC,SAAA,KAAA7B,EAAA,IAAAuC,EAAAtB,EAAApB,IAAA,OAAA0C,EAAAA,EAAAX,MAAApC,EAAAqC,EAAAW,YAAAD,EAAAtE,MAAAuB,EAAAiD,KAAAZ,EAAAa,QAAA,WAAAlD,EAAAkB,SAAAlB,EAAAkB,OAAA,OAAAlB,EAAAK,SAAAhE,GAAA2D,EAAAqC,SAAA,KAAA7B,GAAAuC,GAAA/C,EAAAkB,OAAA,QAAAlB,EAAAK,IAAA,IAAAyC,UAAA,oCAAA9C,EAAAqC,SAAA,KAAA7B,EAAA,UAAA2C,EAAAC,GAAA,IAAAC,EAAA,CAAAC,OAAAF,EAAA,SAAAA,IAAAC,EAAAE,SAAAH,EAAA,SAAAA,IAAAC,EAAAG,WAAAJ,EAAA,GAAAC,EAAAI,SAAAL,EAAA,SAAAM,WAAAC,KAAAN,EAAA,UAAAO,EAAAP,GAAA,IAAA5B,EAAA4B,EAAAQ,YAAA,GAAApC,EAAAnB,KAAA,gBAAAmB,EAAApB,IAAAgD,EAAAQ,WAAApC,CAAA,UAAAxB,EAAAN,GAAA,KAAA+D,WAAA,EAAAJ,OAAA,SAAA3D,EAAAsB,QAAAkC,EAAA,WAAAW,OAAA,YAAApK,EAAAqK,GAAA,GAAAA,EAAA,KAAAC,EAAAD,EAAAnF,GAAA,GAAAoF,EAAA,OAAAA,EAAAzD,KAAAwD,GAAA,sBAAAA,EAAAd,KAAA,OAAAc,EAAA,IAAAE,MAAAF,EAAAhJ,QAAA,KAAAmJ,GAAA,EAAAjB,EAAA,SAAAA,IAAA,OAAAiB,EAAAH,EAAAhJ,QAAA,GAAAqD,EAAAmC,KAAAwD,EAAAG,GAAA,OAAAjB,EAAAxE,MAAAsF,EAAAG,GAAAjB,EAAAb,MAAA,EAAAa,EAAA,OAAAA,EAAAxE,WAAApC,EAAA4G,EAAAb,MAAA,EAAAa,CAAA,SAAAA,EAAAA,KAAAA,CAAA,SAAAA,KAAAkB,EAAA,UAAAA,IAAA,OAAA1F,WAAApC,EAAA+F,MAAA,UAAA3B,EAAAtC,UAAAuC,EAAApC,EAAAyC,EAAA,eAAAtC,MAAAiC,EAAAtB,cAAA,IAAAd,EAAAoC,EAAA,eAAAjC,MAAAgC,EAAArB,cAAA,IAAAqB,EAAA2D,YAAAlF,EAAAwB,EAAA1B,EAAA,qBAAAf,EAAAoG,oBAAA,SAAAC,GAAA,IAAAC,EAAA,mBAAAD,GAAAA,EAAAE,YAAA,QAAAD,IAAAA,IAAA9D,GAAA,uBAAA8D,EAAAH,aAAAG,EAAAjL,MAAA,EAAA2E,EAAAwG,KAAA,SAAAH,GAAA,OAAA/K,OAAAmL,eAAAnL,OAAAmL,eAAAJ,EAAA5D,IAAA4D,EAAAK,UAAAjE,EAAAxB,EAAAoF,EAAAtF,EAAA,sBAAAsF,EAAAnG,UAAA5E,OAAAwG,OAAAgB,GAAAuD,CAAA,EAAArG,EAAA2G,MAAA,SAAAvE,GAAA,OAAAuB,QAAAvB,EAAA,EAAAW,EAAAI,EAAAjD,WAAAe,EAAAkC,EAAAjD,UAAAW,GAAA,0BAAAb,EAAAmD,cAAAA,EAAAnD,EAAA4G,MAAA,SAAArF,EAAAC,EAAAC,EAAAC,EAAA0B,QAAA,IAAAA,IAAAA,EAAAyD,SAAA,IAAAC,EAAA,IAAA3D,EAAA7B,EAAAC,EAAAC,EAAAC,EAAAC,GAAA0B,GAAA,OAAApD,EAAAoG,oBAAA5E,GAAAsF,EAAAA,EAAA9B,OAAApB,MAAA,SAAAH,GAAA,OAAAA,EAAAU,KAAAV,EAAAjD,MAAAsG,EAAA9B,MAAA,KAAAjC,EAAAD,GAAA7B,EAAA6B,EAAA/B,EAAA,aAAAE,EAAA6B,EAAAnC,GAAA,0BAAAM,EAAA6B,EAAA,qDAAA9C,EAAAzE,KAAA,SAAAwL,GAAA,IAAAC,EAAA1L,OAAAyL,GAAAxL,EAAA,WAAAuE,KAAAkH,EAAAzL,EAAAmK,KAAA5F,GAAA,OAAAvE,EAAA0L,UAAA,SAAAjC,IAAA,KAAAzJ,EAAAuB,QAAA,KAAAgD,EAAAvE,EAAA2L,MAAA,GAAApH,KAAAkH,EAAA,OAAAhC,EAAAxE,MAAAV,EAAAkF,EAAAb,MAAA,EAAAa,CAAA,QAAAA,EAAAb,MAAA,EAAAa,CAAA,GAAAhF,EAAAvE,OAAAA,EAAAuG,EAAA9B,UAAA,CAAAqG,YAAAvE,EAAA6D,MAAA,SAAAsB,GAAA,QAAAC,KAAA,OAAApC,KAAA,OAAAT,KAAA,KAAAC,WAAApG,EAAA,KAAA+F,MAAA,OAAAC,SAAA,UAAAnB,OAAA,YAAAb,SAAAhE,EAAA,KAAAqH,WAAAzC,QAAA2C,IAAAwB,EAAA,QAAA9L,KAAA,WAAAA,EAAAgM,OAAA,IAAAlH,EAAAmC,KAAA,KAAAjH,KAAA2K,OAAA3K,EAAAiM,MAAA,WAAAjM,QAAA+C,EAAA,EAAAmJ,KAAA,gBAAApD,MAAA,MAAAqD,EAAA,KAAA/B,WAAA,GAAAG,WAAA,aAAA4B,EAAAnF,KAAA,MAAAmF,EAAApF,IAAA,YAAAqF,IAAA,EAAAhD,kBAAA,SAAAiD,GAAA,QAAAvD,KAAA,MAAAuD,EAAA,IAAA3F,EAAA,cAAA4F,EAAAC,EAAAC,GAAA,OAAArE,EAAAnB,KAAA,QAAAmB,EAAApB,IAAAsF,EAAA3F,EAAAiD,KAAA4C,EAAAC,IAAA9F,EAAAkB,OAAA,OAAAlB,EAAAK,SAAAhE,KAAAyJ,CAAA,SAAA5B,EAAA,KAAAR,WAAA3I,OAAA,EAAAmJ,GAAA,IAAAA,EAAA,KAAAb,EAAA,KAAAK,WAAAQ,GAAAzC,EAAA4B,EAAAQ,WAAA,YAAAR,EAAAC,OAAA,OAAAsC,EAAA,UAAAvC,EAAAC,QAAA,KAAA+B,KAAA,KAAAU,EAAA3H,EAAAmC,KAAA8C,EAAA,YAAA2C,EAAA5H,EAAAmC,KAAA8C,EAAA,iBAAA0C,GAAAC,EAAA,SAAAX,KAAAhC,EAAAE,SAAA,OAAAqC,EAAAvC,EAAAE,UAAA,WAAA8B,KAAAhC,EAAAG,WAAA,OAAAoC,EAAAvC,EAAAG,WAAA,SAAAuC,GAAA,QAAAV,KAAAhC,EAAAE,SAAA,OAAAqC,EAAAvC,EAAAE,UAAA,YAAAyC,EAAA,UAAA7D,MAAA,kDAAAkD,KAAAhC,EAAAG,WAAA,OAAAoC,EAAAvC,EAAAG,WAAA,KAAAb,OAAA,SAAArC,EAAAD,GAAA,QAAA6D,EAAA,KAAAR,WAAA3I,OAAA,EAAAmJ,GAAA,IAAAA,EAAA,KAAAb,EAAA,KAAAK,WAAAQ,GAAA,GAAAb,EAAAC,QAAA,KAAA+B,MAAAjH,EAAAmC,KAAA8C,EAAA,oBAAAgC,KAAAhC,EAAAG,WAAA,KAAAyC,EAAA5C,EAAA,OAAA4C,IAAA,UAAA3F,GAAA,aAAAA,IAAA2F,EAAA3C,QAAAjD,GAAAA,GAAA4F,EAAAzC,aAAAyC,EAAA,UAAAxE,EAAAwE,EAAAA,EAAApC,WAAA,UAAApC,EAAAnB,KAAAA,EAAAmB,EAAApB,IAAAA,EAAA4F,GAAA,KAAA/E,OAAA,YAAA+B,KAAAgD,EAAAzC,WAAAhD,GAAA,KAAA0F,SAAAzE,EAAA,EAAAyE,SAAA,SAAAzE,EAAAgC,GAAA,aAAAhC,EAAAnB,KAAA,MAAAmB,EAAApB,IAAA,gBAAAoB,EAAAnB,MAAA,aAAAmB,EAAAnB,KAAA,KAAA2C,KAAAxB,EAAApB,IAAA,WAAAoB,EAAAnB,MAAA,KAAAoF,KAAA,KAAArF,IAAAoB,EAAApB,IAAA,KAAAa,OAAA,cAAA+B,KAAA,kBAAAxB,EAAAnB,MAAAmD,IAAA,KAAAR,KAAAQ,GAAAjD,CAAA,EAAA2F,OAAA,SAAA3C,GAAA,QAAAU,EAAA,KAAAR,WAAA3I,OAAA,EAAAmJ,GAAA,IAAAA,EAAA,KAAAb,EAAA,KAAAK,WAAAQ,GAAA,GAAAb,EAAAG,aAAAA,EAAA,YAAA0C,SAAA7C,EAAAQ,WAAAR,EAAAI,UAAAG,EAAAP,GAAA7C,CAAA,GAAA4F,MAAA,SAAA9C,GAAA,QAAAY,EAAA,KAAAR,WAAA3I,OAAA,EAAAmJ,GAAA,IAAAA,EAAA,KAAAb,EAAA,KAAAK,WAAAQ,GAAA,GAAAb,EAAAC,SAAAA,EAAA,KAAA7B,EAAA4B,EAAAQ,WAAA,aAAApC,EAAAnB,KAAA,KAAA+F,EAAA5E,EAAApB,IAAAuD,EAAAP,EAAA,QAAAgD,CAAA,YAAAlE,MAAA,0BAAAmE,cAAA,SAAAvC,EAAAf,EAAAE,GAAA,YAAAb,SAAA,CAAAxD,SAAAnF,EAAAqK,GAAAf,WAAAA,EAAAE,QAAAA,GAAA,cAAAhC,SAAA,KAAAb,SAAAhE,GAAAmE,CAAA,GAAAvC,CAAA,UAAAsI,EAAAC,EAAAjF,EAAAC,EAAAiF,EAAAC,EAAA3I,EAAAsC,GAAA,QAAA0C,EAAAyD,EAAAzI,GAAAsC,GAAA5B,EAAAsE,EAAAtE,KAAA,OAAAsD,GAAA,YAAAP,EAAAO,EAAA,CAAAgB,EAAAX,KAAAb,EAAA9C,GAAAqG,QAAAvD,QAAA9C,GAAAoD,KAAA4E,EAAAC,EAAA,UAAA1M,EAAA2M,EAAAzC,GAAA,gBAAAyC,GAAA,GAAAC,MAAAC,QAAAF,GAAA,OAAAA,CAAA,CAAAG,CAAAH,IAAA,SAAAA,EAAAzC,GAAA,IAAA6C,EAAA,MAAAJ,EAAA,yBAAAhI,QAAAgI,EAAAhI,OAAAE,WAAA8H,EAAA,uBAAAI,EAAA,KAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,GAAAC,GAAA,EAAAC,GAAA,SAAAJ,GAAAH,EAAAA,EAAAxG,KAAAoG,IAAA1D,KAAA,IAAAiB,EAAA,IAAA3K,OAAAwN,KAAAA,EAAA,OAAAM,GAAA,cAAAA,GAAAL,EAAAE,EAAA3G,KAAAwG,IAAA3E,QAAAgF,EAAAzD,KAAAqD,EAAAvI,OAAA2I,EAAArM,SAAAmJ,GAAAmD,GAAA,UAAA/H,GAAAgI,GAAA,EAAAL,EAAA3H,CAAA,iBAAA+H,GAAA,MAAAN,EAAAlE,SAAAsE,EAAAJ,EAAAlE,SAAAtJ,OAAA4N,KAAAA,GAAA,kBAAAG,EAAA,MAAAL,CAAA,SAAAG,CAAA,EAAAG,CAAAZ,EAAAzC,IAAA,SAAAsD,EAAAC,GAAA,GAAAD,EAAA,qBAAAA,EAAA,OAAAE,EAAAF,EAAAC,GAAA,IAAAE,EAAApO,OAAA4E,UAAAyJ,SAAArH,KAAAiH,GAAAjC,MAAA,uBAAAoC,GAAAH,EAAAhD,cAAAmD,EAAAH,EAAAhD,YAAAlL,MAAA,QAAAqO,GAAA,QAAAA,EAAAf,MAAAiB,KAAAL,GAAA,cAAAG,GAAA,2CAAAG,KAAAH,GAAAD,EAAAF,EAAAC,QAAA,GAAAM,CAAApB,EAAAzC,IAAA,qBAAApB,UAAA,6IAAAkF,EAAA,UAAAN,EAAAf,EAAAsB,IAAA,MAAAA,GAAAA,EAAAtB,EAAA5L,UAAAkN,EAAAtB,EAAA5L,QAAA,QAAAmJ,EAAA,EAAAgE,EAAA,IAAAtB,MAAAqB,GAAA/D,EAAA+D,EAAA/D,IAAAgE,EAAAhE,GAAAyC,EAAAzC,GAAA,OAAAgE,CAAA,CA4BA,IAAMC,EAAc,SAACtK,GACpB,IAAMuK,EAAmB,SAACC,GAAE,OAAKA,EAAGC,MAAM,KAAK/C,OAAO,GAAGJ,KAAK,EAExDoD,GAAiBC,EAAAA,EAAAA,GAAcC,EAAAA,uBAC/BC,GAAoBF,EAAAA,EAAAA,GAAcG,EAAAA,8BAClCC,GAAWJ,EAAAA,EAAAA,GAAcK,EAAAA,qBAE/B,GAAIN,EAAgB,CACnB,IAAMO,EAAeV,EAAiBG,GAEtC,OAAOhP,OAAOG,OAAOmE,GAAOkL,QAAO,SAACC,EAAKC,GACxC,IAAMrP,EAAWL,OAAOC,KAAKyP,GAAa,GAClCC,EAA6CD,EAA7CC,MAAOC,EAAsCF,EAAtCE,eAAgB5N,EAAsB0N,EAAtB1N,UAAW6N,EAAWH,EAAXG,OACpCC,EAAeH,GAASC,EAE9B,GAAIE,EAAc,CACjB,IAAMC,EAAa/P,OAAOG,OAAO2P,GAAcE,WAAU,SAACC,GAAC,OAC1DA,EAAEC,SAASX,EAAa,IAEzB,IAAoB,IAAhBQ,EACH,MAAO,CAAE1P,SAAAA,EAAUE,UAAWP,OAAOC,KAAK6P,GAAcC,GAE1D,CAEA,IAAMI,EAAiBnO,GAAaA,EAAUA,WAAc6N,EAC5D,OAAIM,GAAiBA,EAAcD,SAASX,GACpC,CAAElP,SAAAA,GAGHoP,CACR,GAAG,CAAC,EACL,CAEA,GAAIN,EACH,MAAO,CAAE9O,SAAU9B,EAAAA,eAGpB,GAAI8Q,EAAU,CACb,IAAM9K,EAAQsK,EAAiBQ,GACzBrQ,EAAOgB,OAAOG,OAAOmE,IAAQ8L,SAAS7L,EAAO,KAAO,GAAK,GAC/D,MAAO,CAAElE,SAAUL,OAAOC,KAAKjB,GAAM,GACtC,CAEA,MAAO,CAAC,CACT,EAoJaqR,GAA6BC,EAAAA,EAAAA,UAPlB,SAAHC,GAA8B,MAAQ,CAC1DC,IAD6BD,EAAHC,IAE1B/M,KAFmC8M,EAAJ9M,KAG/BgN,KAHyCF,EAAJE,KAIrCvM,QAJkDqM,EAAPrM,QAK3C,GAIAwM,EAAAA,mBAFyCJ,EAjIJ,SAACK,GACtC,IACCnN,EASGmN,EATHnN,QACAoN,EAQGD,EARHC,MACAJ,EAOGG,EAPHH,IACA/M,EAMGkN,EANHlN,KACAgN,EAKGE,EALHF,KACAvM,EAIGyM,EAJHzM,QACA2M,EAGGF,EAHHE,UACAC,EAEGH,EAFHG,gBAAeC,EAEZJ,EADH1R,iBAAAA,OAAgB,IAAA8R,EAAG,CAAC,EAACA,EAQyBC,EAAAvQ,GAAfwQ,EAAAA,EAAAA,WAAS,GAAM,GAAxCC,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GAC2BI,EAAA3Q,GAA3B4Q,EAAAA,EAAAA,eANP,CACpBC,WAAW,EACXvS,YAAa,CAAC,IAIwC,GAAhD4J,EAAKyI,EAAA,GAAEG,EAAUH,EAAA,GAChBE,EAA2B3I,EAA3B2I,UAEFE,EAAaF,IAAcJ,EAG3BO,EAAY,CACjB1S,YANkC4J,EAAhB5J,YAOlBE,iBAAAA,EACAE,MAAO,CAAEqE,QAAAA,EAASgN,IAAAA,EAAK/M,KAAAA,EAAMgN,KAAAA,EAAMvM,QAAAA,IA+DpC,OA5DAwN,EAAAA,EAAAA,YAAU,WACT,IAAMC,EAAcC,IAAAA,YAAkBC,SAClCC,GAAU,EAERC,EAAc,eA9HtBlL,EA8HsBjI,GA9HtBiI,EA8HsBpC,IAAAyG,MAAG,SAAA8G,IAAA,IAAAC,EAAAC,EAAAC,EAAA9S,EAAA+S,EAAA7S,EAAA8S,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAhO,IAAAuB,MAAA,SAAA0M,GAAA,cAAAA,EAAA5G,KAAA4G,EAAAhJ,MAAA,OACG,OAAzBlG,EAAQmP,iBAAiBD,EAAAhJ,KAAA,EAEClG,EAAQoP,eACjChC,EACAC,EACAc,EAAYkB,MACZ/B,GACA,OAWD,GAXCmB,EAAAS,EAAAzJ,KALOiJ,EAAOD,EAAPC,QAAOC,EAUXD,EAHH7S,QAAAA,OAAO,IAAA8S,EAAG,CAAC,EAACA,EAAAC,EAGTF,EAFH3S,SAAAA,OAAQ,IAAA6S,EAAG,CAAC,EAACA,EAAAC,EAEVH,EADH5N,MAEKiO,GAFED,OAAgB,IAAAD,EAAG,GAAEA,GAGXS,MAAK,SAAA9P,GAAA,IAAA+P,EAAA/P,EAAGgQ,cAAoB,aAAP,IAAAD,IAAOA,EAAsB,KACnE,CAAC,EACIP,EAAaD,EAAWS,eAAiB,IAG3ClB,EAAS,CAAFY,EAAAhJ,KAAA,SAIsB,OAF1B+I,EAAiBzS,OAAOG,OAAOZ,GACnCmE,QAAO,SAAAT,GAAgB,OAAAA,EAAbgQ,gBAAsCC,EAAAA,cAAcC,YAAY,IAC1E/R,KAAI,SAAAgS,GAAK,OAAAA,EAAFtE,GAAYT,UAAU,IAACqE,EAAAhJ,KAAA,IAE1B2J,EAAAA,EAAAA,wBACL7P,EACAxD,OAAOC,KAAKZ,GACZoT,EACA7B,EAAMvC,WACNmE,EACAb,EAAYkB,OACZ,QAEDtB,EAAW,CACVD,WAAW,EACXvS,YAAa6P,EAAY0D,KACvB,yBAAAI,EAAAzG,OAAA,GAAA+F,EAAA,IApKP,eAAA7L,EAAA,KAAAmN,EAAAC,UAAA,WAAAhI,SAAA,SAAAvD,EAAAC,GAAA,IAAAgF,EAAApG,EAAA2M,MAAArN,EAAAmN,GAAA,SAAApG,EAAAhI,GAAA8H,EAAAC,EAAAjF,EAAAC,EAAAiF,EAAAC,EAAA,OAAAjI,EAAA,UAAAiI,EAAApH,GAAAiH,EAAAC,EAAAjF,EAAAC,EAAAiF,EAAAC,EAAA,QAAApH,EAAA,CAAAmH,OAAApK,EAAA,MAsKG,kBAxCmB,OAAAlE,EAAA4U,MAAA,KAAAD,UAAA,KA0CpB,IACCxB,GACD,CAAE,MAAA0B,GACDlC,EAAW,CAAED,WAAW,IACxBH,GAAY,EACb,CAEA,OAAO,WACNW,GAAU,EACVH,EAAY+B,QACb,CACD,GAAG,CAAClQ,EAASoN,EAAOW,EAAYV,EAAWC,IAI1CpQ,EAAAA,cAAA,OACCiT,UAAWC,IAAW,sCAAuC,CAC5D,YAAa1C,EACb,aAAcI,EACd,0BAA2BA,KAG5B5Q,EAAAA,cAAAA,EAAAA,SAAA,KACEwQ,GAAaV,EAAIU,UAAuC,SAA3BV,EAAIU,SAAS2C,UAC1CnT,EAAAA,cAACoT,EAAAA,cAAa,MAEdpT,EAAAA,cAAAA,EAAAA,SAAA,KACE8Q,GAAc9Q,EAAAA,cAACqT,EAAAA,OAAM,OACpBvC,IAAeV,GAChBpQ,EAAAA,cAACoD,EAAqB2N,IAErBD,GAAcV,GACfpQ,EAAAA,cAACsT,EAAAA,oBAAmBzS,EAAA,GACfkQ,EAAUtS,MAAK,CACnB2R,gBAAiBA,OASzB,IAcA,0NC3NO,IAAMmD,EAAgB,SAAHrV,GAOpB,QANLM,EAASN,EAATM,UACA+B,EAASrC,EAATqC,UACAD,EAAepC,EAAfoC,gBACAkT,EAAQtV,EAARsV,SACAnT,EAAUnC,EAAVmC,WACAG,EAAUtC,EAAVsC,WAEOiT,MAAgBC,EAAAA,EAAAA,eAAW,o5BAAf,GACnB,OACC1T,EAAAA,cAAA,OAAK2T,IAAKF,EAAcrF,GAAE,GAAAwF,OAAKhF,EAAAA,oBAAmB,KAAAgF,OAAIpV,IACrDwB,EAAAA,cAAA,UACCqG,KAAK,SACLwN,QAASrT,EACTyS,UAAU,4BAEVjT,EAAAA,cAAA,MAAIiT,UAAU,kCACbjT,EAAAA,cAAA,YACCA,EAAAA,cAAA,cAAQ,QAAMxB,EAAU,KAAW,KAEpCwB,EAAAA,cAAA,YAAOO,IAERP,EAAAA,cAAC8T,EAAAA,iBAAgB,CAChBb,UAAWC,IACV,gCACA,CAAEjT,KAAMI,GACR,CAAE0T,QAAS1T,OAIdL,EAAAA,cAAA,OAAKgU,QAAS3T,EAAY4S,UAAU,+BAClC3S,GAAmBN,EAAAA,cAAA,SAAIM,GACvBkT,GAIL,6FCrCavS,EAAiB,SAAH/C,GASrB,IAAA+V,EAAA/V,EARLS,QAAAA,OAAO,IAAAsV,EAAG,GAAEA,EAAAC,EAAAhW,EACZkC,YAAAA,OAAW,IAAA8T,EAAG,GAAEA,EAChB7T,EAAUnC,EAAVmC,WAAU8T,EAAAjW,EACV0E,qBAAAA,OAAoB,IAAAuR,EAAG,GAAEA,EAAAC,EAAAlW,EACzBoC,gBAAAA,OAAe,IAAA8T,EAAG,GAAEA,EACpB5V,EAASN,EAATM,UAAS6V,EAAAnW,EACTqC,UAAAA,OAAS,IAAA8T,EAAG,GAAEA,EACd7T,EAAUtC,EAAVsC,WAEM8T,EAAqB1R,GAAwBjE,EAAQmC,OAE3D,OACCd,EAAAA,cAACuT,EAAAA,EAAa,CACb/U,UAAWA,EACX+B,UAAS,GAAAqT,OAAKrT,EAAS,MAAAqT,OAAKU,EAAkB,KAC9ChU,gBAAiBA,EACjBD,WAAYA,EACZG,WAAYA,GAEZR,EAAAA,cAACuU,EAAAA,eAAc,CACd5V,QAASA,EACTyB,YAAaA,EACboU,UAAWjU,EAAUkU,cAAcC,QAAQ,IAAK,OAIpD,wGC1BavR,EAAiB,SAAHjF,GAAA,IAAA+V,EAAA/V,EAC1BS,QAAAA,OAAO,IAAAsV,EAAG,GAAEA,EAAAC,EAAAhW,EACZkC,YAAAA,OAAW,IAAA8T,EAAG,GAAEA,EAChB7T,EAAUnC,EAAVmC,WAAU+T,EAAAlW,EACVoC,gBAAAA,OAAe,IAAA8T,EAAG,GAAEA,EACpB5V,EAASN,EAATM,UAAS6V,EAAAnW,EACTqC,UAAAA,OAAS,IAAA8T,EAAG,GAAEA,EACd7T,EAAUtC,EAAVsC,WAAU,OAEVR,EAAAA,cAACuT,EAAAA,EAAa,CACb/U,UAAWA,EACX+B,UAAS,GAAAqT,OAAKrT,EAAS,MAAAqT,OAAKjV,EAAQmC,OAAM,KAC1CR,gBAAiBA,EACjBD,WAAYA,EACZG,WAAYA,GAEZR,EAAAA,cAAA,SAAG,oJAMFrB,EAAQ+B,KACR,SAAA4B,EAECuB,GAAK,IADH8Q,EAAIrS,EAAJqS,KAAUC,EAAMtS,EAAV8L,GAAYyG,EAAevS,EAAfuS,gBAAiBC,EAAKxS,EAALwS,MAAOC,EAAgBzS,EAAhByS,iBAAkBC,EAAK1S,EAAL0S,MAAK,OAGnEhV,EAAAA,cAACiV,EAAAA,kBAAiB,CACjB7U,YAAaA,EACbgO,GAAE,GAAAwF,OAAKpF,EAAAA,sBAAqB,KAAAoF,OAAIe,GAChCO,cAAevW,EAAQmC,SAAW+C,EAAQ,EAC1C+Q,OAAQA,EACR9Q,IAAK8Q,EACLC,gBAAiBA,EACjBC,MAAOA,EACPC,iBAAkBA,EAClBC,MAAOA,GACN,IAGW,kQCrCV,IAAMnS,EAAwB,SAAH3E,GAS5B,QARL4E,EAAO5E,EAAP4E,QAAOqS,EAAAjX,EACP6E,KAAQqS,EAAID,EAAJC,KAAMC,EAAeF,EAAfE,gBAAenB,EAAAhW,EAC7BkC,YAAAA,OAAW,IAAA8T,EAAG,GAAEA,EAChB7T,EAAUnC,EAAVmC,WACA7B,EAASN,EAATM,UAAS6V,EAAAnW,EACTqC,UAAAA,OAAS,IAAA8T,EAAG,GAAEA,EACd7T,EAAUtC,EAAVsC,WACApB,EAAiBlB,EAAjBkB,kBAEqDU,KAArBE,EAAAA,UAAe,KAAM,o5BAA9CsV,EAAQxV,EAAA,GAAEyV,EAAWzV,EAAA,GAGpB0V,EAAwBJ,EAAxBI,oBACFC,EAAaD,EAAoBE,WAAaC,EAAAA,UAAUC,IACxDhF,EAAYyE,IAAoBG,EAAoBE,UAE1DG,EAAwEzW,EAAhE8Q,MAAAA,OAAK,IAAA2F,EAAG,GAAEA,EAAAC,EAAsD1W,EAApD2V,iBAAAA,OAAgB,IAAAe,EAAG,GAAEA,EAAAC,EAA+B3W,EAA7B0V,MAAAA,OAAK,IAAAiB,EAAG,KAAIA,EAAAC,EAAiB5W,EAAf4V,MAAAA,OAAK,IAAAgB,EAAG,GAAEA,EAOnE,OALAhW,EAAAA,WAAgB,WACf8C,EAAQmT,kBACRnT,EAAQoT,+BACT,GAAG,CAACpT,IAGH9C,EAAAA,cAACuT,EAAAA,EAAa,CACb/U,UAAWA,EACX+B,UAAWA,EACXH,YAAaA,EACb2U,iBAAkBA,EAClB1U,WAAYA,EACZG,WAAYA,GAEZR,EAAAA,cAACiV,EAAAA,kBAAiB,CACjB7G,GAAIM,EAAAA,6BACJtO,YAAaA,EACb2U,iBAAkBA,EAClBC,MAAOA,GAENS,IAAeE,EAAAA,UAAUC,IACzB5V,EAAAA,cAAA,OACCiT,UAAWC,IAAW,sBAAuB,CAAE,YAAaoC,KAE5DtV,EAAAA,cAACmW,EAAAA,cAAa,CACbvB,OAAQ1E,EACRzO,QAAQ,gBACRqT,MAAOA,EACPsB,QApCc,WAAH,OAASb,GAAY,EAAK,EAqCrCc,gBAAc,EACdC,SAAU1F,KAIX5Q,EAAAA,cAAAA,EAAAA,SAAA,OAIN,wGC5DaY,EAAiB,SAAH1C,GAAA,IAAAqY,EAAArY,EAC1BuC,aAAAA,OAAY,IAAA8V,EAAG,GAAEA,EAAArC,EAAAhW,EACjBkC,YAAAA,OAAW,IAAA8T,EAAG,GAAEA,EAChB7T,EAAUnC,EAAVmC,WACA7B,EAASN,EAATM,UAAS6V,EAAAnW,EACTqC,UAAAA,OAAS,IAAA8T,EAAG,GAAEA,EAAAD,EAAAlW,EACdoC,gBAAAA,OAAe,IAAA8T,EAAG,GAAEA,EACpB5T,EAAUtC,EAAVsC,WAAU,OAEVR,EAAAA,cAACuT,EAAAA,EAAa,CACb/U,UAAWA,EACX+B,UAAWA,EACXD,gBAAiBA,EACjBD,WAAYA,EACZG,WAAYA,GAEZR,EAAAA,cAAA,SAAG,4JAMFS,EACC4B,MAAK,SAACG,EAAGE,GAET,IAAM8T,EAAW9G,SAASlN,EAAEiU,YAAa,IACnCC,EAAWhH,SAAShN,EAAE+T,YAAa,IACnCE,EAAQnU,EAAEC,eAAiBmU,EAAAA,KAC3BC,EAAQnU,EAAED,eAAiBmU,EAAAA,KACjC,OAAID,GAASE,EACLA,EAAQF,EAETH,IAAaE,EACjBlU,EAAEwS,MAAMrS,cAAcD,EAAEsS,OACxB0B,EAAWF,CACf,IACC9V,KACA,SAAA4B,EAWCuB,GAAK,IATJpB,EAAYH,EAAZG,aACAkS,EAAIrS,EAAJqS,KACIC,EAAMtS,EAAV8L,GACAyG,EAAevS,EAAfuS,gBACAiC,EAAIxU,EAAJwU,KACA/B,EAAgBzS,EAAhByS,iBACAC,EAAK1S,EAAL0S,MACAyB,EAAWnU,EAAXmU,YAAW,OAIZzW,EAAAA,cAACiV,EAAAA,kBAAiB,CACjB7U,YACCsP,SAAS+G,EAAa,IAAM,eAAiBrW,EAE9CgO,GAAE,oBAAAwF,OAAsBe,GACxBO,cAAezU,EAAaK,SAAW+C,EAAQ,EAC/C+Q,OAAQA,EACR9Q,IAAK8Q,EACLC,gBAAiBA,EACjBE,iBAAkBA,EAClBC,MACCA,IAAUvS,EAAeuS,EAAQ,GAAHpB,OAAMoB,EAAK,MAAApB,OAAKnR,EAAY,MAG3DzC,EAAAA,cAAA,KAAGiT,UAAU,qBAAqB8D,KAAMD,GAAM,eAG3B,IAGR,u1BCjEV,IAAM1V,EAAgB,SAAHlD,GAUpB,IATLM,EAASN,EAATM,UAAS6V,EAAAnW,EACTqC,UAAAA,OAAS,IAAA8T,EAAG,GAAEA,EAAAD,EAAAlW,EACdoC,gBAAAA,OAAe,IAAA8T,EAAG,GAAEA,EAAAF,EAAAhW,EACpBkC,YAAAA,OAAW,IAAA8T,EAAG,GAAEA,EAChB7T,EAAUnC,EAAVmC,WACAG,EAAUtC,EAAVsC,WAAUwW,EAAA9Y,EACVgD,WAAAA,OAAU,IAAA8V,EAAG,GAAEA,EAAAC,EAAA/Y,EACfiD,aAAAA,OAAY,IAAA8V,EAAG,GAAEA,EAAAC,EAAAhZ,EACjB2B,UAAAA,OAAS,IAAAqX,EAAG,GAAEA,EAERC,EAAehW,EAAaT,KAAI,SAAC0W,GAAK,OAAKA,EAAMtW,MAAM,IACvDuW,EAAiBC,KAAKC,IAAGzE,MAARwE,KAAIE,EAAQL,IAC7BM,EAAiBH,KAAKI,IAAG5E,MAARwE,KAAIE,EAAQL,IAE7BQ,EACLN,IAAmBI,EAAc,GAAA7D,OAC3ByD,GAAc,GAAAzD,OACdyD,EAAc,OAAAzD,OAAM6D,GAE3B,OACCzX,EAAAA,cAACuT,EAAAA,EAAa,CACb/U,UAAWA,EACX+B,UAAS,GAAAqT,OAAKrT,EAAS,MAAAqT,OAAK+D,EAAyB,KACrDrX,gBAAiBA,EACjBD,WAAYA,EACZG,WAAYA,GAEZR,EAAAA,cAAC4X,EAAAA,UAAS,CAACxJ,GAAG,2CAA2CyJ,KAAK,WAC5D3W,EAAWR,KAAI,SAACrB,EAAMwE,GAAK,OAC3B7D,EAAAA,cAAC8X,EAAAA,cAAa,CACbhU,IAAKzE,EACL+O,GAAE,uBAAAwF,OAAyB/P,GAC3BgU,KAAK,MACLE,YAAa1Y,IAASQ,GAEtBG,EAAAA,cAACgY,EAAAA,qBAAoB,KAAE3Y,GACvBW,EAAAA,cAACiY,EAAAA,mBAAkB,CAAChF,UAAU,iCAC7BjT,EAAAA,cAACuU,EAAAA,eAAc,CACd5V,QAASwC,EAAa0C,GACtBzD,YAAaA,EACboU,UAAWjU,EAAUkU,cAAcC,QAAQ,IAAK,QAGnC,KAKrB,yxBC7DA,IAAAwD,EAAAC,EAAAC,EAAA,QACApY,EAAAqY,EAAAD,EAAA,QASapU,EAAAA,gBAAkD,SAACsU,OAC/DrF,EAASqF,EAAArF,UAGLsF,EAKU,cACd,OARQD,EAAAE,UASP,IAAK,WACJD,EAAiB,YACjB,MAED,IAAK,SACJA,EAAiB,SACjB,MAED,IAAK,oBACL,IAAK,kBACJA,EAAiB,cACjB,MAED,IAAK,SACJA,EAAiB,SACjB,MAED,QACCA,EAAiB,cAGnB,OACCvY,EAAAyY,cAAA,KACCxF,WAAW,EAAAiF,EAAA,SAAW,QAASjF,EAAW,CACzC,mBACoB,cAAnBsF,GAAqD,WAAnBA,EACnC,qBACoB,gBAAnBA,GAAuD,WAAnBA,EACrC,qBAAyC,gBAAnBA,KAGtBA,EAAeG,cAGnB,sxBCvDA,IAAAR,EAAAC,EAAAC,EAAA,QACApY,EAAAqY,EAAAD,EAAA,QASapU,EAAAA,YAAc,SAACsU,OAC3BK,EAAAL,EAAArF,UAAAA,OAAS,IAAA0F,EAAG,GAAEA,EACdC,EAASN,EAAAM,UACTC,EAAIP,EAAAO,KACJC,EAAKR,EAAAQ,MAECnF,EAAM3T,EAAM+Y,OAAuB,MAczC,OAZA/Y,EAAMgR,WAAU,WACf,GAAI2C,EAAIqF,QAAS,CAChB,IAAMC,EAAkBL,EAAYE,EAAS,IACvCI,EAASvF,EAAIqF,QAAQG,iBAC3BxF,EAAIqF,QAAQI,MAAMC,gBAAkBH,EAAOvL,WAC3CgG,EAAIqF,QAAQI,MAAME,kBACjBJ,IACE,IAAMD,GAAkB,MACzBtL,WAEJ,GAAG,CAACgG,EAAKiF,EAAWE,IAGnB9Y,EAAAyY,cAAA,OAAKxF,UAAW,2BAAAW,OAA2BX,IAC1CjT,EAAAyY,cAAA,OAAKc,QAAQ,aAAaC,oBAAoB,QAC7CxZ,EAAAyY,cAAA,QACCxF,UAAU,4CACVwG,EAAE,kBAEHzZ,EAAAyY,cAAA,QACCxF,WAAW,EAAAiF,EAAA,SACV,qBACA,4BACA,CACC,+BAAgCU,GAAaE,IAG/CW,EAAE,gBACF9F,IAAKA,KAGP3T,EAAAyY,cAAA,QAAMxF,UAAU,sBAAsB4F,GAGzC,+CCpDa7U,EAAAA,KAAO,keCCpB0V,EAAAtB,EAAA,OAAApU,GACA0V,EAAAtB,EAAA,OAAApU,GACA0V,EAAAtB,EAAA,OAAApU,GACA0V,EAAAtB,EAAA,OAAApU,GACA0V,EAAAtB,EAAA,OAAApU,gyBCLA,IAAAkU,EAAAC,EAAAC,EAAA,QACAuB,EAAAvB,EAAA,OACApY,EAAAqY,EAAAD,EAAA,QACAwB,EAAAzB,EAAAC,EAAA,QAEAyB,EAAAzB,EAAA,MACA0B,EAAA1B,EAAA,OACA2B,EAAA3B,EAAA,OACA4B,EAAA5B,EAAA,OACA6B,EAAA7B,EAAA,OACA8B,EAAA9B,EAAA,OACA+B,EAAA/B,EAAA,OAMAgC,EAAAhC,EAAA,OAQAiC,EAAAjC,EAAA,MA2CMkC,EAAkC,SAAChC,OACxCiC,EAAUjC,EAAAiC,WACVC,EAAKlC,EAAAkC,MACLzD,EAAIuB,EAAAvB,KACe,OACnB/W,EAAAyY,cAAA,KACC1B,KAAMA,EACN9D,WAAW,EAAAiF,EAAA,SAAW,MAAO,iBAAkB,CAC9C,eAA+B,YAAfqC,EAChB,iBAAiC,cAAfA,KAGlBC,EARiB,EAgBdC,EAAsC,SAACnC,OAC5C5W,EAAM4W,EAAA5W,OACN8S,EAAS8D,EAAA9D,UACTkG,EAASpC,EAAAoC,UACTC,EAAYrC,EAAAqC,aACZC,EAAWtC,EAAAsC,YACXC,EAAkBvC,EAAAuC,mBAClBrC,EAAQF,EAAAE,SAGPG,EAIGjX,EAAMoZ,mBAJTA,OAAkB,IAAAnC,GAAQA,EAC1BoC,EAGGrZ,EAAMqZ,kBAFTtY,EAEGf,EAAMe,aADTuS,EACGtT,EAAMsT,MAGV,OAAI,EAAAoF,EAAAY,cAAaxC,KAAcsC,EAE7B9a,EAAAyY,cAACyB,EAAAe,aAAY,CACZvZ,OAAQA,EACR8S,UAAWA,EACX0G,oBAAqBpB,EAAAqB,iBAOpB,EAAAf,EAAAY,cAAaxC,IAAasC,EAE5B9a,EAAAyY,cAAA,OAAKxF,UAAU,uCACZyH,GACD1a,EAAAyY,cAAC6B,EAAO,CACPvD,KAAM4D,EACNH,MAAM,aACND,WAAW,YAGbva,EAAAyY,cAACyB,EAAAe,aAAY,CACZhI,UAAU,eACVvR,OAAQA,EACR8S,UAAWA,EACX4G,UAAU,WACVF,oBAAqBpB,EAAAuB,oBAQrB,EAAAjB,EAAAkB,gBAAe9C,KAAcsC,EAE/B9a,EAAAyY,cAAA,OAAKxF,UAAU,sCACdjT,EAAAyY,cAAC6B,EAAO,CACPvD,KACc,oBAAbyB,EAAiCmC,EAAeE,EAEjDL,MACc,oBAAbhC,EACG,eACA,yBAEJ+B,WAAW,aAEVG,GACD1a,EAAAyY,cAACyB,EAAAe,aAAY,CACZhI,UAAU,eACVvR,OAAQA,EACR8S,UAAWA,EACX4G,UAAU,eACVF,oBAAqBpB,EAAAuB,oBAStB,EAAAjB,EAAAkB,gBAAe9C,IAAasC,EAE9B9a,EAAAyY,cAAC6B,EAAO,CACPvD,KAAM4D,EACNH,MAAM,qBACND,WAAW,aAMV,EAAAH,EAAAmB,UAAS/C,KAAcsC,EAEzB9a,EAAAyY,cAAA,OAAKxF,UAAU,sCACdjT,EAAAyY,cAACyB,EAAAe,aAAY,CACZvZ,OAAQA,EACR8S,UAAWA,EACX4G,UAAU,WACVF,oBAAqBpB,EAAAqB,cACrBK,WAAW,oBAEZxb,EAAAyY,cAACyB,EAAAe,aAAY,CACZhI,UAAU,eACVvR,OAAQA,EACR8S,UAAWA,EACX4G,UAAU,eACVF,oBAAqBpB,EAAAuB,gBACrBI,iBAAiB,mBAMjB,EAAArB,EAAAmB,UAAS/C,IAAasC,EAExB9a,EAAAyY,cAAA,OAAKxF,UAAU,uCACZyH,GACD1a,EAAAyY,cAAC6B,EAAO,CACPvD,KAAM4D,EACNH,MAAM,aACND,WAAW,YAGbva,EAAAyY,cAACyB,EAAAe,aAAY,CACZhI,UAAYyH,EAA6B,GAAjB,eACxBhZ,OAAQA,EACR8S,UAAWA,EACX4G,UAAU,WACVF,oBAAqBpB,EAAAuB,gBACrBG,WAAW,sBAMX,EAAApB,EAAAsB,YAAWlD,GAEbxY,EAAAyY,cAAAzY,EAAA2b,SAAA,KACEZ,IAAsBL,GACtB1a,EAAAyY,cAAA,KAAGxF,UAAU,sBACZ,QAAMxQ,GAAgBuS,EAAO,eAAY+F,GAG3C/a,EAAAyY,cAAC6B,EAAO,CAACvD,KAAM6D,EAAaL,WAAW,UAAUC,MAAM,eAKnDxa,EAAAyY,cAAAzY,EAAA2b,SAAA,KACR,EAEMC,EAAiD,SAACtD,OACvDuD,EAAQvD,EAAAuD,SACRlB,EAAYrC,EAAAqC,aACZC,EAAWtC,EAAAsC,YACXlZ,EAAM4W,EAAA5W,OACN8S,EAAS8D,EAAA9D,UAEHsH,EAAkBD,EAASE,MAChC,SAACzD,OAAEwC,EAAkBxC,EAAAwC,mBAAEtC,EAAQF,EAAAE,SAC9B,OAAAsC,IAAsB,EAAAV,EAAA4B,cAAaxD,EAAnC,IAGIyD,EAAgBJ,EAASE,MAAK,SAACzD,OAAEE,EAAQF,EAAAE,SAAO,SAAA4B,EAAAsB,YAAWlD,EAAX,IAEtD,OACCxY,EAAAyY,cAAA,OAAKxF,UAAU,gCACdjT,EAAAyY,cAAA,OAAKxF,UAAU,oCACb6I,GACA9b,EAAAyY,cAAC6B,EAAO,CACPvD,KAAM4D,EACNH,MAAM,kBACND,WAAW,YAGZ0B,GACAjc,EAAAyY,cAAC6B,EAAO,CAACvD,KAAM6D,EAAaJ,MAAM,YAAYD,WAAW,aAG3Dva,EAAAyY,cAAA,OAAKxF,UAAU,oCACdjT,EAAAyY,cAACyB,EAAAe,aAAY,CACZvZ,OAAQA,EACR8S,UAAWA,EACX0G,oBAAqBpB,EAAAuB,mBAK1B,EAKMa,EAA8C,SAAC5D,OACpD5W,EAAM4W,EAAA5W,OACN8S,EAAS8D,EAAA9D,UACTmG,EAAYrC,EAAAqC,aACZC,EAAWtC,EAAAsC,YACXC,EAAkBvC,EAAAuC,mBAClBrC,EAAQF,EAAAE,SACRqD,EAAQvD,EAAAuD,SACiB,OACzB7b,EAAAyY,cAAAzY,EAAA2b,SAAA,UACevZ,IAAbyZ,GAA0BA,EAAS/a,OAAS,EAC5Cd,EAAAyY,cAAA,WACCzY,EAAAyY,cAAA,KAAGxF,UAAU,iEACZjT,EAAAyY,cAAA,cAAQ,0BAETzY,EAAAyY,cAAA,KAAGxF,UAAU,gBACZ,iDACC4I,EACCnb,KAAI,SAACyb,EAAGtY,GAAU,OAAAuY,OAAOC,aAAaxY,EA1OvB,GA0OG,IAClByY,KAAK,MACL5H,QAAQ,YAAa,WACvB,0CAED1U,EAAAyY,cAACwB,EAAAsC,YAAW,CACXtJ,UAAU,aACV4F,KAAK,cACLC,MAAO+C,EAAS/a,OAChB8X,UACCiD,EAAS7Y,QAAO,SAACsV,OAAYkE,EAAelE,EAAAE,SAC3C,SAAA4B,EAAAsB,YAAWc,EAAX,IACC1b,SAIJd,EAAAyY,cAACmD,EAAe,CACfla,OAAQA,EACR8S,UAAWA,EACXmG,aAAcA,EACdC,YAAaA,EACbiB,SAAUA,KAIZ7b,EAAAyY,cAACgC,EAAS,CACT/Y,OAAQA,EACR8S,UAAWA,EACXmG,aAAcA,EACdC,YAAaA,EACbC,mBAAoBA,EACpBrC,SAAUA,IAzCY,EAsDpBiE,EAA0D,SAACnE,OAChEoE,EAAsBpE,EAAAoE,uBACtB/B,EAAYrC,EAAAqC,aACZC,EAAWtC,EAAAsC,YACXpC,EAAQF,EAAAE,SAER,OAAI,EAAA4B,EAAA4B,cAAaxD,GAEfxY,EAAAyY,cAAA,OAAKxF,UAAU,sCACdjT,EAAAyY,cAAC6B,EAAO,CAACvD,KAAM4D,EAAcJ,WAAW,UAAUC,MAAM,eACxDxa,EAAAyY,cAAC6B,EAAO,CACPvD,KAAM2F,EACNnC,WAAW,YACXC,MAAM,uBAMN,EAAAJ,EAAAsB,YAAWlD,GAEbxY,EAAAyY,cAAC6B,EAAO,CAACvD,KAAM6D,EAAaL,WAAW,UAAUC,MAAM,cAKxDxa,EAAAyY,cAAC6B,EAAO,CACPvD,KAAM2F,EACNnC,WAAW,UACXC,MAAM,oBAGT,EAMaxW,EAAAA,qBAAkD,SAACsU,OAC/D5W,EAAM4W,EAAA5W,OACN8S,EAAS8D,EAAA9D,UACTmI,EAAcrE,EAAAqE,eACdhE,EAAAL,EAAAsE,cAAAA,OAAa,IAAAjE,GAAQA,EACrBgC,EAAYrC,EAAAqC,aACZC,EAAWtC,EAAAsC,YACXC,EAAkBvC,EAAAuC,mBAGjBgC,EAWGnb,EAAMe,aAXTA,OAAY,IAAAoa,EAAG,GAAEA,EACjBxP,EAUG3L,EAAMiT,KAVTA,OAAI,IAAAtH,EAAG,GAAEA,EACTL,EASGtL,EAAMob,QATTA,OAAO,IAAA9P,EAAG,GAAEA,EACZ+P,EAQGrb,EAAMmT,gBARTA,OAAe,IAAAkI,EAAG,GAAEA,EACpBvE,EAOG9W,EAAM8W,SANTwE,EAMGtb,EAAMub,oBANTA,OAAmB,IAAAD,EAAG,GAAEA,EACxBnB,EAKGna,EAAMma,SAJTqB,EAIGxb,EAAMqT,iBAJTA,OAAgB,IAAAmI,EAAG,GAAEA,EACrBC,EAGGzb,EAAMsT,MAHTA,OAAK,IAAAmI,EAAG,GAAEA,EACVC,EAEG1b,EAAM0b,SADTC,EACG3b,EAAM2b,eAGJC,EAAkBtd,EAAMud,SAC7B,WACC,OAAAF,EACG1D,EAAA6D,SAASC,WAAW,CACpBC,MAAOL,EAAeK,MAAQ,IAC3BC,MAAM,cACTvb,CAJH,GAKD,CAACib,IAMIO,EAAc5d,EAAMud,SACzB,WAAM,OAAC/E,KAAa8E,aAAe,EAAfA,EAAiBO,WAAUT,GAAoBpI,CAA7D,GACN,CAACoI,EAAU5E,EAAUxD,EAAOsI,aAAe,EAAfA,EAAiBO,UAKxCrB,OACQpa,IAAbyZ,GACAA,EAASE,MAAK,SAACzD,OAAYwF,EAAOxF,EAAAE,SAAO,QAAC,EAAA4B,EAAAY,cAAa8C,EAAd,IACtC,yBACA1b,EAEE2b,GAA0B,EAAA3D,EAAAsB,YAAWlD,GACxCA,EACAgE,GAAmBhE,EAEhBwF,GAAepB,KAAkB,EAAAxC,EAAAsB,YAAWlD,GAK5CyF,EAAgBD,IAAgBlB,GAAWG,IAAyB,GAE1E,OACCjd,EAAAyY,cAAA,WACC3U,IAAK6Q,EACLvG,GAAI,GAAAwF,OAAGuG,EAAA3L,sBAAqB,KAAAoF,OAAIe,GAChC1B,UAAU,4BAEVjT,EAAAyY,cAAA,OACCxF,WAAW,EAAAiF,EAAA,SAAW,0BAA2B,CAChD,kBAAoC,KAAjB+F,KAGpBje,EAAAyY,cAACoB,EAAAqE,gBAAe,CACfjL,UAAU,kBACVuF,SAAUuF,IAEX/d,EAAAyY,cAAA,MAAIxF,UAAU,uBACZxQ,EAAe,GAAAmR,OAAGnR,EAAY,MAAAmR,OAAKgK,GAAgB,GAAAhK,OAAGgK,IAGvDI,GACAhe,EAAAyY,cAAC4B,EAAA8D,YAAW,CACXpJ,iBAAkBA,EAClBF,gBAAiBA,KAKF,KAAjBoJ,GACAje,EAAAyY,cAACuB,EAAAoE,aAAY,CAACnL,UAAU,sBACtB6J,GAAW9c,EAAAyY,cAAA,SAAG,WAASqE,EAAQ,KAC/BG,IAAuB,EAAArD,EAAA,SAAOqD,KAI/BL,GACD5c,EAAAyY,cAAAzY,EAAA2b,SAAA,KACEgB,EACA3c,EAAAyY,cAACgE,EAAmB,CACnB9B,aAAcA,EACdC,YAAaA,EACb8B,uBAAuB,sBACvBlE,SAAUA,IAGXxY,EAAAyY,cAACyD,EAAa,CACbxa,OAAQA,EACR8S,UAAWA,EACXmG,aAAcA,EACdC,YAAaA,EACbC,mBAAoBA,EACpBrC,SAAUA,EACVqD,SAAUA,KAKd7b,EAAAyY,cAAA,OACCZ,KAAK,YACL5E,UAAU,6CAEVjT,EAAAyY,cAACsB,EAAAsE,GAAE,OAIP,+xBC3fA,IAAAnG,EAAAC,EAAAC,EAAA,QACApY,EAAAqY,EAAAD,EAAA,QACAwB,EAAAzB,EAAAC,EAAA,QAEAkG,EAAAlG,EAAA,OACAmG,EAAAnG,EAAA,MAsBMoG,EAA8C,SAAClG,OACpD5C,EAAS4C,EAAA5C,UACTxF,EAAKoI,EAAApI,MACL4E,EAAKwD,EAAAxD,MACL2J,EAAOnG,EAAAmG,QAED9F,EAA0B3Y,EAAMuQ,UAAS,GAAxC+E,EAAQqD,EAAA,GAAEpD,EAAWoD,EAAA,GAE5B,OAAQjD,GACP,KAAK6I,EAAA5I,UAAUC,IACd,OACC5V,EAAAyY,cAAA,OACCxF,WAAW,EAAAiF,EAAA,SAAW,sBAAuB,CAC5C,YAAa5C,KAGdtV,EAAAyY,cAAC6F,EAAAnI,cAAa,CACbvB,OAAQ1E,EACRzO,QAAQ,gBACRqT,MAAOA,EACPsB,QAAS,WAAM,OAAAb,GAAY,EAAZ,EACfc,gBAAc,EACdqI,WAAW,4BAKf,KAAKH,EAAA5I,UAAUgJ,KACf,KAAKJ,EAAA5I,UAAUiJ,YACf,KAAKL,EAAA5I,UAAUkJ,aACd,OACC7e,EAAAyY,cAAA,KACC1B,KAAM0H,EACNK,IAAI,sBACJ7L,UAAU,oBAEV,sBAGH,QACE,OAAO,KAEX,EAMajP,EAAAA,qBAAkD,SAACsU,OAC/DK,EAAAL,EAAAyG,cAAiB7O,EAAKyI,EAAAzI,MAAE4E,EAAK6D,EAAA7D,MAAEC,EAAgB4D,EAAA5D,iBAAEC,EAAK2D,EAAA3D,MAC/BU,EAAS4C,EAAA9C,oBAAAE,UAChCmH,EAAAvE,EAAAsE,cAAAA,OAAa,IAAAC,GAAQA,EAiBrB,OACC7c,EAAAyY,cAAA,WAASxF,UAAU,4BAClBjT,EAAAyY,cAAA,OAAKxF,UAAU,2BACdjT,EAAAyY,cAAA,KACCxF,WAAW,EAAAiF,EAAA,SAAW,QAAS,CAC9B,mBAAoBxC,IAAc6I,EAAA5I,UAAUqJ,SAC5C,qBAAsB,CACrBT,EAAA5I,UAAUgJ,KACVJ,EAAA5I,UAAUiJ,YACVL,EAAA5I,UAAUkJ,aACVN,EAAA5I,UAAUsJ,cACTzP,SAASkG,GACX,qBAAsBA,IAAc6I,EAAA5I,UAAUC,OA3BhC,SAACsJ,GACnB,OAAQA,GACP,KAAKX,EAAA5I,UAAUqJ,SACd,MAAO,YACR,KAAKT,EAAA5I,UAAUsJ,aACd,MAAO,eACR,KAAKV,EAAA5I,UAAUgJ,KACf,KAAKJ,EAAA5I,UAAUiJ,YACf,KAAKL,EAAA5I,UAAUkJ,aACd,MAAO,cACR,QACC,MAAO,cAEV,CAiBKM,CAAWzJ,GAAWgD,eAGxB1Y,EAAAyY,cAAA,MAAIxF,UAAU,uBAAuB+B,IAEnC4H,GAAiBlH,IAAc6I,EAAA5I,UAAUqJ,UAC1Chf,EAAAyY,cAAA,OAAKxF,UAAU,+BACb,EAAA2G,EAAA,SAAO7E,MAKT6H,GACD5c,EAAAyY,cAAC+F,EAAa,CACb9I,UAAWA,EACXxF,MAAOA,EACP4E,MAAOA,EACP2J,QAAQ,mBAKb,gyBCpIA,IAAAvG,EAAAC,EAAAC,EAAA,QACApY,EAAAqY,EAAAD,EAAA,QACAwB,EAAAzB,EAAAC,EAAA,QAEAkG,EAAAlG,EAAA,OACAyB,EAAAzB,EAAA,MACA2B,EAAA3B,EAAA,OACA4B,EAAA5B,EAAA,OAGAgH,EAAAhH,EAAA,OACAgC,EAAAhC,EAAA,OAEAiC,EAAAjC,EAAA,MAeapU,EAAAA,sBAAoD,SAACsU,OACjE9E,EAAQ8E,EAAA9E,SACR9R,EAAM4W,EAAA5W,OACNiX,EAAAL,EAAAsE,cAAAA,OAAa,IAAAjE,GAAQA,EACrBkE,EAAAvE,EAAAsC,YAAAA,OAAW,IAAAiC,EAAG,GAAEA,EAChBxP,EAAAiL,EAAAqC,aAAAA,OAAY,IAAAtN,EAAG,GAAEA,EACjB5L,EAAO6W,EAAA7W,QACPuL,EAAAsL,EAAA+G,oBAAAA,OAAmB,IAAArS,GAAOA,EAGzBoB,EAMG3M,EAAO2M,GALV2O,EAKGtb,EAAOoT,gBALVA,OAAe,IAAAkI,EAAG,GAAEA,EACpBuC,EAIG7d,EAAO6d,OAHVtC,EAGGvb,EAAOsT,iBAHVA,OAAgB,IAAAiI,EAAG,GAAEA,EACrBE,EAEGzb,EAAOuT,MAFVA,OAAK,IAAAkI,EAAG,GAAEA,EACVC,EACG1b,EAAOwb,oBADVA,OAAmB,IAAAE,GAAGzb,aAAM,EAANA,EAAQub,sBAAuB,GAAEE,EAGlDoC,GAA8B,EAAAH,EAAAI,qBAAoBF,GAAU,IAA1DG,EAASF,EAAAE,UAAEC,EAAYH,EAAAG,aAEzBC,EAA0B3f,EAAMuQ,UAAS,GAAxC+E,EAAQqK,EAAA,GAAEpK,EAAWoK,EAAA,GAItBnH,GAAW9W,aAAM,EAANA,EAAQ8W,YAAY/W,aAAO,EAAPA,EAAS+W,UAExCwF,GAAepB,KAAkB,EAAAxC,EAAAsB,YAAWlD,GAE5CyF,EAAgBD,GAAef,GAAwB,GAE7D,OACCjd,EAAAyY,cAAA,WAASxF,UAAU,4BAClBjT,EAAAyY,cAAA,OACCxF,WAAW,EAAAiF,EAAA,SAAW,0BAA2B,CAChD,kBAAoC,KAAjB+F,KAGnBoB,GACArf,EAAAyY,cAACoB,EAAAqE,gBAAe,CAAC1F,SAAUA,EAAUvF,UAAU,oBAEhDjT,EAAAyY,cAAA,MAAIxF,UAAU,wBAAuBvR,aAAM,EAANA,EAAQsT,QAASA,GACrDgJ,GACAhe,EAAAyY,cAAC4B,EAAA8D,YAAW,CACXpJ,kBAAkBrT,aAAM,EAANA,EAAQqT,mBAAoBA,EAC9CF,iBAAiBnT,aAAM,EAANA,EAAQmT,kBAAmBA,KAK7B,KAAjBoJ,GACAje,EAAAyY,cAACuB,EAAAoE,aAAY,CAACnL,UAAU,uBACtB,EAAA2G,EAAA,SAAOqE,KAIRrB,GACD5c,EAAAyY,cAAAzY,EAAA2b,SAAA,KACEnI,EACAxT,EAAAyY,cAAA,OAAKxF,UAAU,uBAAuBO,GAEtCxT,EAAAyY,cAAAzY,EAAA2b,SAAA,UACevZ,IAAboW,GACAxY,EAAAyY,cAAA,OACCxF,WAAW,EAAAiF,EAAA,SAAW,sBAAuB,CAC5C,YAAa5C,KAGdtV,EAAAyY,cAAC6F,EAAAnI,cAAa,CACbvB,OAAQxG,EACR3M,SAASC,aAAM,EAANA,EAAQsT,QAASA,EAC1BF,MAAO2K,GAAaC,EACpBrJ,gBAAc,EACdD,QAlDW,WAAM,OAAAb,GAAY,EAAZ,MAuDL,oBAAbiD,GACY,sBAAbA,IACAxY,EAAAyY,cAAA,KAAG1B,KAAM4D,EAAc1H,UAAU,oBAChC,uBAIa,aAAbuF,GAAwC,WAAbA,IAC5BxY,EAAAyY,cAAA,KAAG1B,KAAM6D,EAAa3H,UAAU,oBAC/B,eAQNjT,EAAAyY,cAAA,OACCZ,KAAK,YACL5E,UAAU,6CAEVjT,EAAAyY,cAACsB,EAAAsE,GAAE,OAIP,gzBClIA,IAAAnG,EAAAC,EAAAC,EAAA,QACApY,EAAAqY,EAAAD,EAAA,QACAwB,EAAAzB,EAAAC,EAAA,QAOAgC,EAAAhC,EAAA,OAiBapU,EAAAA,yBAAoE,SAACsU,OACjF3Z,EAAO2Z,EAAA3Z,QACPihB,EAAkBtH,EAAAsH,mBAEZC,EAAa,GACbjH,EAAY,GACZkH,EAAa,GACfvH,EAAiB,cAsBrB,OArBA5Z,EAAQqI,SAAQ,SAACjG,GACR,IAAAyX,EAAaoH,EAAmB7e,GAAWyX,UAC/C,EAAA4B,EAAAsB,YAAWlD,IACdI,EAAUlP,KAAK3I,IAGZ,EAAAqZ,EAAA4B,cAAaxD,IAChBqH,EAAWnW,KAAK3I,IAGb,EAAAqZ,EAAAY,cAAaxC,IAChBsH,EAAWpW,KAAK3I,EAElB,KACI6X,EAAU9X,QAAW+e,EAAW/e,QAAWgf,EAAWhf,SACzDyX,EAAiB,cAEdsH,EAAW/e,QAAW8X,EAAU9X,QAAUgf,EAAWhf,UACxDyX,EAAiB,eAIjBvY,EAAAyY,cAAA,QACCxF,WAAW,EAAAiF,EAAA,SAAW,QAAS,eAAgB,CAC9C,mBAAuC,cAAnBK,EACpB,qBAAyC,gBAAnBA,EACtB,qBAAyC,gBAAnBA,KAGtBA,EAAeG,cAGnB,EAKa1U,EAAAA,YAA0C,SAACsU,OACvDvD,EAAgBuD,EAAAvD,iBAChBF,EAAeyD,EAAAzD,gBACQ,OACvB7U,EAAAyY,cAAA,OAAKxF,UAAU,8BACb8B,GAAmB,EAAA6E,EAAA,SAAO7E,IAAoB,EAAA6E,EAAA,SAAO/E,GAFhC,+hFC1ExB,IAAA8E,EAAAvB,EAAA,OACApY,EAAAqY,EAAAD,EAAA,QAEA2H,EAAA3H,EAAA,OAMA4H,EAAA5H,EAAA,OACA6H,EAAA7H,EAAA,OACA4B,EAAA5B,EAAA,OACA8H,EAAA9H,EAAA,OAIA+H,EAAA/H,EAAA,OAMAgI,EAAAhI,EAAA,OACAiI,EAAAjI,EAAA,OAqBMkI,EAAoB,SAACC,GAC1B,GAAIA,EAAc,CACjB,IAAMC,GAAa,EAAAL,EAAAM,uBAAsBF,GACzC,GAAIC,EAAW3C,SAAW2C,GAAa,EAAAL,EAAAO,sBACtC,OAAOF,EAAWG,eAAehH,EAAA6D,SAASoD,WAK7C,EAKMC,EAAgD,SAACvI,OACtDvV,EAAIuV,EAAAvV,KACJS,EAAO8U,EAAA9U,QACPI,EAAK0U,EAAA1U,MACLwM,EAAekI,EAAAlI,gBACf0Q,EAAcxI,EAAAwI,eACdnI,EAAAL,EAAAyI,kBAAAA,OAAiB,IAAApI,GAAQA,EACzBqI,EAAS1I,EAAA0I,UAED5iB,EAA+BoF,EAAOpF,YAAzB6iB,EAAkBzd,EAAOyd,cAC/BC,EAAiB9Q,EAAe4E,MAEzC6H,EAA0B7c,EAAMuQ,SAAS,IAAxC5Q,EAAQkd,EAAA,GAAEsE,EAAWtE,EAAA,GAOpBuE,EAAiBphB,EAAMud,SAAQ,WACtC,IACM8D,EADejR,EAAgBkR,MAAMN,GAAa,GAEzCO,kBAAqCnf,IAAtBhE,EAAY6Q,OAEtC,EAAAoR,EAAAmB,mBACApR,EACA6Q,EAAcliB,UAAY,CAAC,EAC3BX,IACK,IALL,EAAAiiB,EAAAoB,yBAAwBrR,GAAiB,GAOvCsR,EAAyBL,EAAgBjP,MAC9C,SAACkG,OAAkBpJ,EAAcoJ,EAAA8I,aAAAlS,eAChC,OAAAA,EAAe4J,MAAQ,GACvB5J,EAAe0J,YAAc1J,EAAe4J,KAD5C,IAIF,YAAkC1W,IAA3Bsf,EACJA,EACAL,EAAgBL,GAAa,EACjC,GAAG,CAACC,EAAeD,EAAW5iB,EAAagS,IAAiBgR,aAiB5D,OAdAphB,EAAMgR,WAAU,WACf,IAAI2Q,EAAe,GAEnB/d,EAAMoD,SAAQ,SAAC1I,GACd,IAAMe,EAAOghB,EAAAuB,gBAAgBC,MAAMviB,OAAOC,KAAKjB,GAAM,IAC/Cga,EAAuB8I,EAAa/hB,GAAlCuZ,EAASN,EAAAM,UAAEE,EAAKR,EAAAQ,OACnB6I,GAAgB/I,EAAYE,IAChC6I,EAAetiB,EAEjB,IAEA8hB,EAAYQ,EACb,GAAG,CAAC/d,EAAOud,EAAaC,IAEpBhjB,QACI4B,EAAAyY,cAACuH,EAAA5M,cAAa,MAIrBpT,EAAAyY,cAAAzY,EAAA2b,SAAA,KACEmF,GACA9gB,EAAAyY,cAACuB,EAAAoE,aAAY,CAACnL,UAAU,uCACvBjT,EAAAyY,cAAA,cACC,2CAAyCyI,EAAc,+BACvCJ,EAAe,8HAG9BC,EAAoB,oCAAsC,KAC3D/gB,EAAAyY,cAAA,KAAG1B,KAAK,eAAc,4BAA6B,gCAMrDnT,EAAMlD,KAAI,SAACpC,EAAMuF,GACjB,IAAMxE,EAAOghB,EAAAuB,gBAAgBC,MAAMviB,OAAOC,KAAKjB,GAAM,IAC7Cwa,EAAUsI,EAAa/hB,GAAKyZ,MAC9BvY,EAAY8f,EAAAuB,gBAAgBE,MAAMziB,GAAQ6gB,EAAA6B,YAAY1iB,GAAQ,GACpE,OAAKyZ,EAKJ9Y,EAAAyY,cAAC2H,EAAA4B,eAAc,CACdjf,KAAMA,EACNkf,eAAgBb,EAChB5d,QAASA,EACTM,IAAKzE,EACLmW,oBAAqBpF,EAAgBoF,oBACrCnW,KAAMA,EACNM,SAAUA,EACVrB,KAAMA,EACNE,UAAWqF,EAAQ,EACnBtD,UAAWA,EACX6P,gBAAiBA,IAfXpQ,EAAAyY,cAACzY,EAAM2b,SAAQ,CAAC7X,IAAKzE,GAkB9B,IAGH,EASa2E,EAAAA,oBAA0D,SAACsU,OACvExV,EAAOwV,EAAAxV,QACPgN,EAAGwI,EAAAxI,IACH/M,EAAIuV,EAAAvV,KACJS,EAAO8U,EAAA9U,QACP4M,EAAekI,EAAAlI,gBAEPhS,EAAmCoF,EAAOpF,YAA7B8jB,EAAsB1e,EAAO0e,OAChCljB,EADyBwE,EAAOrF,UACDY,SACzC6E,EAAiBxF,EAAWwF,MAArBue,EAAU/jB,EAAW+jB,MACnBvC,EAAuBxhB,EAAWO,QAC3C2iB,EAAUlR,EAAekR,MAE3B3I,EAA4B3Y,EAAMuQ,UAAS,GAA1CK,EAAS+H,EAAA,GAAEyJ,EAAYzJ,EAAA,GAExB0J,EAAsBf,EAAMvF,MACjC,SAACuG,GAAS,YAAyClgB,IAAzCke,EAAkBgC,EAAK/B,aAAvB,IA2HX,GArHAvgB,EAAMgR,WAAU,WACduR,OAAA,8EACA,SAAMzf,EAAQ0f,UACb7V,MAAMiB,KACL,IAAI6U,IACHnB,EAAMxS,QACL,SAAC4T,EAAqBpK,OAAEiI,EAAYjI,EAAAiI,aAAEoC,EAAKrK,EAAAqK,MAAO,OAAAC,EAAAA,EAAAA,EAAA,GAC9CF,GAAS,GACRnC,EAAe,CAACA,GAAgB,IAAG,GACpCoC,EAAM7T,QACR,SAAC+T,EAAsBvK,OAAEwK,EAASxK,EAAAwK,UAAEC,EAAgBzK,EAAAyK,iBAAO,OAAAH,EAAAA,EAAAA,EAAA,GACvDC,GAAU,GACTC,EAAY,CAACA,GAAa,IAAG,GAC7BC,EAAmB,CAACA,GAAoB,IAAG,EAHW,GAK3D,KACA,EAVgD,GAYlD,sBAhBJzK,EAAA/P,OAqBA6Z,GAAa,aAEf,GAAG,CAACtf,EAASwe,IAGbthB,EAAMgR,WAAU,WAEfsQ,EAAMta,SAAQ,SAACsR,OAAEqK,EAAKrK,EAAAqK,MAAEK,EAAO1K,EAAA0K,QAC9BL,EAAM3b,SACL,SAACsR,SACA7V,EAAY6V,EAAA7V,aACZqgB,EAASxK,EAAAwK,UACThI,EAAkBxC,EAAAwC,mBAClBsC,EAAQ9E,EAAA8E,SACR6F,EAAI3K,EAAA2K,KACJzK,EAAQF,EAAAE,SACRqD,EAAQvD,EAAAuD,SACR7G,EAAKsD,EAAAtD,MACL+N,EAAgBzK,EAAAyK,iBAChBhI,EAAiBzC,EAAAyC,kBAGjB,QAA0B3Y,IAAtBpD,EAAiC,CAC5B,IAAI2B,GACXrB,OAAOG,OAAOT,GAAmBoT,MAChC,SAACkG,GAAa,OAAPA,EAAA3D,OAAgBsO,CAAT,KACV,CAAC,GAAC7U,QAEUhM,IAAdzB,IACH3B,EAAkB2B,GAAUuiB,EAAAA,EAAA,GACxBlkB,EAAkB2B,IAAU,CAC/B6X,SAAQA,EACRqD,SAAQA,KAUX,IAaIwB,EAbAP,EAAU,QAEC1a,IAAd0gB,IACiB,QAAjBnK,EAAAuJ,EAAOY,UAAU,IAAAnK,OAAA,EAAAA,EAAEwK,SACnBjB,EAAOY,GAAWK,OAASxJ,EAAA6D,SAAS4F,UAEpCtG,GAAU,EAAAqD,EAAAkD,kBACTnB,EAAOY,GAAWK,OAClBxJ,EAAA6D,SAASoD,iBAOWxe,IAArB2gB,QAC6B3gB,IAA7B8f,EAAOa,KAEP1F,EAAiB6E,EAAOa,GAAkBO,WAI3C1D,EAAmBqD,GAAKC,EAAAA,EAAAA,EAAAA,EAAAA,EAAAA,EAAAA,EAAA,GACpBtD,EAAmBqD,IAClBnG,GAAW,CAAEA,QAAOA,IACpBO,GAAkB,CACrBA,eAAcA,IAEX5a,GAAgB,CAAEA,aAAYA,IAC9BuS,GAAS,CAAEA,MAAKA,IAChB+F,GAAqB,CAAEA,kBAAiBA,IAAG,CAC/CpG,KAAMsO,EACNzK,SAAQA,EACRqD,SAAQA,EACRuB,SAAQA,EACRtC,mBAAkBA,GAEpB,IAIDkI,EAAQhc,SAAQ,SAACsR,OAAE7V,EAAY6V,EAAA7V,aAAEuS,EAAKsD,EAAAtD,MAAEwD,EAAQF,EAAAE,SAAE+K,EAAIjL,EAAAiL,KACrD3D,EAAmB2D,GAAKL,EAAAA,EAAAA,EAAAA,EAAA,GACpBtD,EAAmB2D,IAClB9gB,GAAgB,CAAEA,aAAYA,IAC9BuS,GAAS,CAAEA,MAAKA,IAAG,CACvBwD,SAAQA,GAEV,GACD,GACD,GAAG,CAACxZ,EAAmB4gB,EAAoB0B,EAAOY,IAE9Cte,EAAO,CACV,IAAMkd,EAAiBR,EACtBlQ,EAAgBkR,MAAM,GAAGf,cAE1B,OACCvgB,EAAAyY,cAAAzY,EAAA2b,SAAA,KACE/K,GAAa5Q,EAAAyY,cAACwH,EAAA5M,OAAM,CAACmQ,UAAQ,IAC9BxjB,EAAAyY,cAACoI,EAAc,CACd9d,KAAMA,EACNS,QAASA,EACTsM,IAAKA,EACLM,gBAAiBA,EACjBxM,MAAOA,EACPkd,eAAgBA,KAMpB,OAAIqB,EAEFniB,EAAAyY,cAAA,OAAKxF,UAAU,mBACbrC,GAAa5Q,EAAAyY,cAACwH,EAAA5M,OAAM,CAACmQ,UAAQ,IAC9BxjB,EAAAyY,cAAA,KAAGxF,UAAU,iDACZ,sJAEa7C,EAAgB3N,aAAa,KAE3CzC,EAAAyY,cAACsH,EAAAnI,UAAS,CAACxJ,GAAG,2CAA2C6E,UAAU,IAEjEkP,EAAMzhB,KAAI,SAACoW,EAAMjT,GAChB,IAAMid,EAAiBR,EACtBgB,EAAMzd,GAAO0c,cAGd,OACCvgB,EAAAyY,cAACsH,EAAAjI,cAAa,CAAChU,IAAKD,EAAOoP,UAAU,IACpCjT,EAAAyY,cAACsH,EAAA/H,qBAAoB,CACpB/E,UAAU,GACV7E,GAAI,YAAAwF,OAAY/P,GAChBgQ,QAAS,WAAO,EAChB4P,QAAQ,EACRC,YAAa,cAAA9P,OAAc/P,IAE3B7D,EAAAyY,cAAA,YACC,QAAM5U,EAAQ,OACMzB,IAAnB0e,GACA9gB,EAAAyY,cAAA,QAAMxF,UAAU,8BACfjT,EAAAyY,cAAA,QAAMxF,UAAU,qBACf,WAAS6N,KAKb9gB,EAAAyY,cAAA,QAAMxF,UAAU,6BACf,YAAUqO,EAAMzd,GAAO8f,SAGzB3jB,EAAAyY,cAACsH,EAAA9H,mBAAkB,CAClBhF,UAAU,iDACV7E,GAAI,cAAAwF,OAAc/P,GAClB4f,QAAQ,GAERzjB,EAAAyY,cAACoI,EAAc,CACd9d,KAAMA,EACNS,QAASA,EACTsM,IAAKA,EACLM,gBAAiBA,EACjBxM,MAAOkT,EACPgK,eAAgBA,EAChBC,kBACCsB,QAA0CjgB,IAAnB0e,EAExBE,UAAWnd,KAKhB,MAQE7D,EAAAyY,cAAAzY,EAAA2b,SAAA,KACR,q6BC3YA,IAAA3b,EAAAqY,EAAAD,EAAA,QAEA2H,EAAA3H,EAAA,OACA+B,EAAA/B,EAAA,OACAmG,EAAAnG,EAAA,MAKAgC,EAAAhC,EAAA,OAEAwL,EAAAxL,EAAA,OACAyL,EAAAzL,EAAA,OA2BM0L,EAA8B,SAACxL,OAAElK,EAAEkK,EAAAlK,GAAE4G,EAAKsD,EAAAtD,MAAExT,EAAQ8W,EAAA9W,SAAmB,OAC5ExB,EAAAyY,cAAAzY,EAAA2b,SAAA,KACC3b,EAAAyY,cAAA,YACCzY,EAAAyY,cAAA,cAAQ,QAAMrK,EAAG,KAAW,KAE7BpO,EAAAyY,cAAA,YAAOzD,KACJxT,GAAYxB,EAAAyY,cAAA,YAAO,KAAEjX,EAAS,KAN0C,EAahEwC,EAAAA,eAAgD,SAACsU,OAC7DvV,EAAIuV,EAAAvV,KACJkf,EAAc3J,EAAA2J,eACdze,EAAO8U,EAAA9U,QACPgS,EAAmB8C,EAAA9C,oBACnBnW,EAAIiZ,EAAAjZ,KACJM,EAAQ2Y,EAAA3Y,SACRrB,EAAIga,EAAAha,KACJE,EAAS8Z,EAAA9Z,UACT+B,EAAS+X,EAAA/X,UACT6P,EAAekI,EAAAlI,gBAET5Q,EAAWF,OAAOG,OAAOnB,GAAM,GAE/Bqa,EAKFnV,EAAQrF,UAJDa,EAAiB2Z,EAAA5Z,SAClBG,EAAgByZ,EAAAha,QACXolB,EAAqBpL,EAAAqL,aACnC5kB,EAAiBuZ,EAAAvZ,kBAGZyd,EAAwCrZ,EAAQygB,gBAA9CtH,EAAcE,EAAAF,eAAEuH,EAAiBrH,EAAAqH,kBAKnCC,EAAe,WACpB,GAAa,cAAT9kB,EAAsB,CACjB,IAAA+kB,EAAY5gB,EAAQpF,YAAWO,QAEtC0lB,EAE8C7kB,EAAQgC,SADtDF,EAC8C9B,EAAQ8B,UACjDgjB,EAAkBhjB,EAAUZ,KAAI,SAAC0N,GAAO,OAAAgW,EAAQhW,EAAR,IAExCmW,EAAqBD,EACzBthB,QAAO,SAACtB,GAAW,YAAWU,IAAXV,IAAwB,EAAA0Y,EAAAsB,YAAWha,EAAO8W,SAA1C,IACnB9X,KAAI,SAAC4X,GAAa,OAAPA,EAAA3D,IAAO,IAGpB,GAAI4P,EAAmBzjB,QAAUujB,EAChC,OAAOE,EAGR,IAAMC,EAAsBF,EAC1BthB,QACA,SAACtB,GAAW,YAAWU,IAAXV,IAAwB,EAAA0Y,EAAA4B,cAAata,EAAO8W,SAA5C,IAEZ9X,KAAI,SAAC4X,GAAa,OAAPA,EAAA3D,IAAO,IAEdmL,EAAaxe,EAAU0B,QAC5B,SAACyhB,GACA,OAAC7B,EAAAA,EAAA,GAAI2B,GAAoB,GAAGC,GAAmB,GAAEhV,SAASiV,EAA1D,IAGF,OAAA7B,EAAAA,EAAAA,EAAA,GAAW2B,GAAoB,GAAGC,GAAqB,GAAG1E,GAAU,GAGrE,MAAO,EACR,CAjCqB,GAoCfte,EAAY,WACjB,GAAa,UAATnC,GAA6B,mBAATA,EAA2B,CAClD,IAAMqlB,EAAeplB,OAAOG,OAAiBD,GAC3CwD,QAAO,SAACrE,GAAiB,YAAjB,IAAAA,IAAAA,EAAA,IAAiBA,EAAQmC,OAAS,CAAjB,IACzBJ,KAAI,SAAC/B,GAAiB,YAAjB,IAAAA,IAAAA,EAAA,IAAiBA,EAAQmC,MAAR,IAElByW,EAAMD,KAAKC,IAAGzE,MAARwE,KAAYoN,GAClBhN,EAAMJ,KAAKI,IAAG5E,MAARwE,KAAYoN,GACxB,OAAOnN,IAAQG,EAAM,GAAA9D,OAAG2D,EAAG,OAAA3D,OAAM8D,GAAQ0E,OAAO7E,GAGjD,GAAa,kBAATlY,EAIJ,OAAO4iB,EAAe5iB,IAAS+c,OAAO6F,EAAe5iB,GAAMyZ,MAC5D,CAhBkB,GAkBlB,OACC9Y,EAAAyY,cAACsH,EAAA4E,gBAAe,CACfvW,GAAI,GAAAwF,OAAGuG,EAAAvL,oBAAmB,KAAAgF,OAAIpV,GAC9BwW,MAAOhV,EAAAyY,cAACqL,EAAK,CAAC1V,GAAI5P,EAAWwW,MAAOzU,EAAWiB,SAAUA,IACzDuW,YAAapY,IAAaN,GAAQsd,EAClCiI,aAAcjlB,IAAaN,EAC3BwlB,WAAYlI,GAEF,kBAATtd,GAA4BL,GAC5BgB,EAAAyY,cAACoL,EAAAiB,sBAAqB,CACrBhT,WAAYtS,EACZT,SAAUC,KAID,UAATK,GAA6B,mBAATA,IACrBH,GACA6kB,GACC/jB,EAAAyY,cAACoL,EAAAkB,wBAAuB,CACvBhiB,KAAMA,EACNiiB,SAAUxlB,EACVgE,QAASA,EACTgR,UAAWnV,EACXsd,eAAgBA,EAChBC,cAAesH,EACfhlB,iBAAkBA,EAClB6kB,sBAAuBA,EACvBnE,mBAAoBpc,EAAQpF,YAAYO,QACxCsmB,oBAAqBzhB,EAAQpF,YAAYS,SACzCuR,gBAAiBA,IAIV,cAAT/Q,GACAH,GACA6kB,KACEI,EAAYrjB,QACbd,EAAAyY,cAAAzY,EAAA2b,SAAA,KACC3b,EAAAyY,cAACoL,EAAAqB,qBAAoB,CACpBniB,KAAMA,EACNpE,QAASwlB,EACT3P,UAAWnV,EACXsd,eAAgBA,EAChBC,cAAesH,EACfhlB,iBAAkBA,EAClB6kB,sBAAuBA,EACvBnE,mBAAoBpc,EAAQpF,YAAYO,QACxCsmB,oBAAqBzhB,EAAQpF,YAAYS,SACzCsmB,oBAAoB,KAKd,kBAAT9lB,GACAW,EAAAyY,cAACmL,EAAAwB,qBAAoB,CACpBrG,cAAe3f,EACfoW,oBACCA,GAAuB,CACtBE,UAAW6I,EAAA5I,UAAUC,IACrByP,cAAe,eAGjBzI,cAAesH,IAIP,WAAT7kB,GAAqBH,GAAoB6kB,GACzC/jB,EAAAyY,cAACoL,EAAAyB,qBAAoB,CACpBnW,OAAQ3P,EACRod,cAAesH,EACfhlB,iBAAkBA,EAClB6kB,sBAAuBA,EACvBnJ,YAAa7X,EAAK6X,YAClBD,aAAc5X,EAAK4X,aACnBha,UAAW6C,EAAQpF,YAAYmnB,YAAYnX,GAC3CwR,mBAAoBpc,EAAQpF,YAAYO,QACxCsmB,oBAAqBzhB,EAAQpF,YAAYS,WAK9C,6/BCrNA,IAAAmB,EAAAqY,EAAAD,EAAA,QAEA2H,EAAA3H,EAAA,OAMAoN,EAAApN,EAAA,OACA8H,EAAA9H,EAAA,OAcAgC,EAAAhC,EAAA,OAEAiC,EAAAjC,EAAA,MACAqN,EAAArN,EAAA,OACAsN,EAAAtN,EAAA,OAkDapU,EAAAA,qBAA4D,SAACsU,OACzEvV,EAAIuV,EAAAvV,KACJpE,EAAO2Z,EAAA3Z,QACP6V,EAAS8D,EAAA9D,UACTmE,EAAAL,EAAAqE,eAAAA,OAAc,IAAAhE,GAAQA,EACtBkE,EAAAvE,EAAAsE,cAAAA,OAAa,IAAAC,GAAQA,EACrB3d,EAAgBoZ,EAAApZ,iBAChB6kB,EAAqBzL,EAAAyL,sBACrBnE,EAAkBtH,EAAAsH,mBAClBqF,EAAmB3M,EAAA2M,oBACnB5X,EAAAiL,EAAA6M,mBAAAA,OAAkB,IAAA9X,GAAOA,EACO,OAChCrN,EAAAyY,cAAAzY,EAAA2b,SAAA,KACEhd,EACC+B,KAAI,SAACK,SAAe,OAAAmiB,EAAAA,EAAAA,EAAC,CAAC,EACnBtD,EAAmB7e,IACnB7B,EAAiB6B,KACc,QAA9BuX,EAAAsH,EAAmB7e,UAAW,IAAAuX,OAAA,EAAAA,EAAE3W,cAAe,CAClDA,YAAWuhB,EAAAA,EAAA,GACP+B,EACFrF,EAAmB7e,GAAYa,YAAY,GAAGM,gBAAgB,KAE5D6hB,EACFnE,EAAmB7e,GAAYa,YAAY,GAAGM,gBAAgB,UAKjEc,QAAO,SAACsV,GAAc,OAAPA,EAAAtD,KAAO,IACtB3S,MAAK,SAACiW,EAA0BK,OAAxBkE,EAAAvE,EAAA7V,aAAcD,OAAC,IAAAqa,EAAG,GAAEA,EAAMxP,EAAAsL,EAAAlW,aAAcC,OAAC,IAAA2K,EAAG,GAAEA,EACtD,OAAA8X,EAAqB3iB,EAAEG,cAAcD,GAAK,CAA1C,IAEAhC,KAAI,SAACgB,WACGmb,EAAuBnb,EAAMC,YAA7BA,OAAW,IAAAkb,EAAG,KAAIA,EAE1B,OAAIlb,EAEF3B,EAAAyY,cAACiN,EAAAC,sBAAqB,CACrBjkB,OAAQA,EACRoC,KAAc,QAATwU,EAAA5W,EAAO0M,UAAE,IAAAkK,OAAA,EAAAA,EAAE3K,aAAcjM,EAAOe,aACrCma,cAAeA,EACfhC,YAAa7X,EAAK6X,YAClBnZ,QAASE,IAMX3B,EAAAyY,cAACgN,EAAAG,qBAAoB,CACpBlkB,OAAQA,EACR8S,UAAWA,EACXmI,eAAgBA,EAChB7Y,KAAc,QAAT6U,EAAAjX,EAAO0M,UAAE,IAAAuK,OAAA,EAAAA,EAAEhL,aAAcjM,EAAOe,aACrCma,cAAeA,EACfhC,YAAa7X,EAAK6X,YAClBD,aAAc5X,EAAK4X,aACnBE,mBAAoB9X,EAAK8X,oBAG5B,IAhD8B,EAwDpB7W,EAAAA,wBAAkE,SAACsU,OAC/EvV,EAAIuV,EAAAvV,KACJiiB,EAAQ1M,EAAA0M,SACRxhB,EAAO8U,EAAA9U,QACPgR,EAAS8D,EAAA9D,UACTmE,EAAAL,EAAAqE,eAAAA,OAAc,IAAAhE,GAAQA,EACtBkE,EAAAvE,EAAAsE,cAAAA,OAAa,IAAAC,GAAQA,EACrB3d,EAAgBoZ,EAAApZ,iBAChB6kB,EAAqBzL,EAAAyL,sBACrBnE,EAAkBtH,EAAAsH,mBAClBqF,EAAmB3M,EAAA2M,oBAGX3D,EAFOhJ,EAAAlI,gBAEkBkR,MAC3BuE,EAA0B7lB,EAAMud,SAAQ,WAAM,OAAA+D,EAAMxS,QACzD,SAACC,EAAeuT,GAIf,OAHIA,EAAKf,aACRxS,EAAIrF,KAAK4Y,EAAKqB,QAER5U,CACR,GAAG,GANgD,GAOjD,CAACuS,IAkCJ,OAAIhiB,OAAOG,OAAOulB,GAAUlkB,OAAS,EAEnCd,EAAAyY,cAACsH,EAAAnI,UAAS,CAACxJ,GAAG,2CAA2C6E,UAAU,IACjE3T,OAAOwmB,QAAQd,GAAUtkB,KAAI,SAAC4X,EAAiBzU,OAAhBxE,EAAIiZ,EAAA,GAAE3Z,EAAO2Z,EAAA,GACtCyN,EApC0B,SACnCC,EACAC,GAIA,IAFQ,IACJC,EADI5N,IAAe9U,aAAO,EAAPA,EAASpF,cAAe,CAAC,GAAC6Q,MAE9BnC,EAAA,EAAAqZ,OAFN,IAAA7N,EAAG,GAAEA,EAECxL,EAAAqZ,EAAArlB,OAAAgM,IAAO,CAArB,IAAMsZ,EAAID,EAAArZ,GACRuZ,EAA2BD,EAAKlX,eAAe6M,MACpD,SAACzD,OAAEqL,EAAMrL,EAAAqL,OAAO,OAAAqC,EAA0BxW,SAASmU,EAAnC,IAGb0C,IACHH,EAA2BE,EAAKlX,eAAekD,MAC9C,SAACkG,OAAE3Z,EAAO2Z,EAAA3Z,QAAO,OAAAA,aAAO,EAAPA,EAASod,MAAK,SAACra,GAAW,OAAAukB,EAAgBzW,SAAS9N,EAAzB,GAA1B,KAKpB,OAAOwkB,CACR,CAiB8BI,CAA4BT,EAAyBlnB,GACzEglB,GAASoC,aAAiB,EAAjBA,EAAmBpC,QACjCoC,EAAkBpC,OAjBK,SAACtkB,SAAiB,OAE5C,QAF4CiZ,EAAAgJ,EAAMlP,MAClD,SAACkG,GAAgB,OAAPA,EAAAiO,UAAmBlnB,CAAZ,WACjB,IAAAiZ,OAAA,EAAAA,EAAEqL,OAgBC6C,CAAoBnnB,IAdM,SAACA,SACvBsZ,IAAenV,aAAO,EAAPA,EAASpF,cAAe,CAAC,GAAC6Q,MACjD,OAEC,QAFMqJ,QADM,IAAAK,EAAG,GAAEA,GACL,GAAGzJ,eAAekD,MAC9B,SAACkG,GAAc,OAAPA,EAAAtD,QAAiB3V,CAAV,WACf,IAAAiZ,OAAA,EAAAA,EAAEqL,MACJ,CASkC8C,CAAuBpnB,GAErD,OACCW,EAAAyY,cAACsH,EAAAjI,cAAa,CAAChU,IAAKzE,EAAM4T,UAAU,IACnCjT,EAAAyY,cAACsH,EAAA/H,qBAAoB,CACpB/E,UAAU,GACV7E,GAAI,qBAAAwF,OAAqB/P,GACzBgQ,QAAS,WAAO,EAChB4P,QAAQ,EACRC,YAAa,uBAAA9P,OAAuB/P,IAEnCxE,EACDW,EAAAyY,cAAC4B,EAAAqM,yBAAwB,CACxB/nB,QAASA,EACTihB,mBAAoBA,KAGtB5f,EAAAyY,cAACsH,EAAA9H,mBAAkB,CAClBhF,UAAU,iDACV7E,GAAI,uBAAAwF,OAAuB/P,GAC3B4f,QAAQ,GAEPE,GACA3jB,EAAAyY,cAAA,OAAKxF,UAAU,kEACd,YAAU0Q,GAGZ3jB,EAAAyY,cAACzU,EAAAkhB,qBAAoB,CACpBniB,KAAMA,EACNpE,QAASA,EACT6V,UAAWA,EACXmI,eAAgBA,EAChBC,cAAeA,EACf1d,iBAAkBA,EAClB6kB,sBAAuBA,EACvBnE,mBAAoBA,EACpBqF,oBAAqBA,KAK1B,KAMFjlB,EAAAyY,cAACzU,EAAAkhB,qBAAoB,CACpBniB,KAAMA,EACNpE,QAASW,OAAOG,OAAOulB,GAAU,GACjCxQ,UAAWA,EACXmI,eAAgBA,EAChBC,cAAeA,EACf1d,iBAAkBA,EAClB6kB,sBAAuBA,EACvBnE,mBAAoBA,EACpBqF,oBAAqBA,GAGxB,EAMajhB,EAAAA,sBAA8D,SAACsU,OAC3EvZ,EAAQuZ,EAAAvZ,SACR+S,EAAUwG,EAAAxG,WAEJ6U,EAAoBrnB,OAAOG,OAAOV,GAAUiE,QAAO,SAACsV,OAAEE,EAAQF,EAAAE,SACnE,SAAA4B,EAAAsB,YAAWlD,EAAX,IAID,OAAImO,EAAkB7lB,OAAS,EAE7Bd,EAAAyY,cAAAzY,EAAA2b,SAAA,KACEgL,EAAkBjmB,KAAI,SAACkmB,GAAY,OACnC5mB,EAAAyY,cAACiN,EAAAC,sBAAqB,CAAClkB,QAASmlB,EAAS9iB,IAAK8iB,EAAQjS,MACrD3U,EAAAyY,cAAA,OAAKzE,QAAM,IAFuB,KAUtChU,EAAAyY,cAAAzY,EAAA2b,SAAA,KACE7J,EACCpR,KAAI,SAACC,GAAc,OAAA5B,EAAS2Q,SAAS/O,EAAW,IAA7B,IACnBqC,QAAO,SAAC4jB,GAAY,YAAYxkB,IAAZwkB,CAAA,IACpBvkB,MAAK,SAACG,EAAGE,GAET,IAAM8T,EAAW9G,SAASlN,EAAEiU,YAAa,IACnCC,EAAWhH,SAAShN,EAAE+T,YAAa,IACnCE,EAAQnU,EAAEC,eAAiB+iB,EAAA5O,KAC3BC,EAAQnU,EAAED,eAAiB+iB,EAAA5O,KACjC,OAAID,GAASE,EACLgQ,OAAOhQ,GAASgQ,OAAOlQ,GAExBH,IAAaE,EACjBlU,EAAEwS,MAAMrS,cAAcD,EAAEsS,OACxB0B,EAAWF,CACf,IACC9V,KAAI,SAACkmB,GAAY,OACjB5mB,EAAAyY,cAACiN,EAAAC,sBAAqB,CACrB7hB,IAAK8iB,EAAQjS,KACblT,QAASmlB,EACTvH,qBAAqB,GAErBrf,EAAAyY,cAAA,KAAGxF,UAAU,qBAAqB8D,KAAM6P,EAAQ9P,MAC/C,eAPe,IAatB,EAMa9S,EAAAA,qBAA4D,SAACsU,OACzEnJ,EAAMmJ,EAAAnJ,OACNwJ,EAAAL,EAAAsE,cAAAA,OAAa,IAAAjE,GAAQA,EACrBzZ,EAAgBoZ,EAAApZ,iBAChB6kB,EAAqBzL,EAAAyL,sBACrBnJ,EAAWtC,EAAAsC,YACXD,EAAYrC,EAAAqC,aACZha,EAAS2X,EAAA3X,UACTif,EAAkBtH,EAAAsH,mBAClBqF,EAAmB3M,EAAA2M,oBAEbtmB,EAAUwQ,EAAOL,QAAO,SAACC,EAAYhO,GACpC,IAAAuX,EAA4BsH,EAAmB7e,GAA7CyX,EAAQF,EAAAE,SAETtV,IAFsBoV,EAAA1W,aACY,IAAE,GACDM,iBAAmB,IAAE,GAe/D,OAbKnB,IAAemf,EAAA4G,mBAAoB,EAAA1M,EAAA4B,cAAaxD,KAAa,EAAA4B,EAAAsB,YAAWlD,KAC5EtV,GAAmB+hB,EAAoB/hB,KACvC6L,EAAIrF,KAAIwZ,EAAAA,EAAAA,EAAAA,EAAC,CAAC,EACNtD,EAAmB7e,IACnB7B,EAAiB6B,IACjBkkB,EACFrF,EAAmB7e,GAAYa,YAAY,GAAGM,gBAAgB,KAE5D6hB,EACFnE,EAAmB7e,GAAYa,YAAY,GAAGM,gBAAgB,MAI1D6M,CACR,GAAG,IAGGgY,EAAYpoB,EAAQyT,MAAK,SAACkG,GAAa,OAAPA,EAAA3D,OAAgBuL,EAAA4G,eAAT,IAEvCE,EAAYroB,EAAQyT,MAAK,SAACkG,GAAa,OAAPA,EAAA3D,OAAgBuL,EAAA+G,eAAT,IAEvCC,EAAa9K,OAAOzb,KAAeuf,EAAAiH,gBAAkBJ,GAAaC,EAAYD,EAE9EK,EAAmBpnB,EAAMud,SAAQ,WAAM,OAAA5e,EAAQyT,MAAK,SAACkG,OAAEE,EAAQF,EAAAE,SAAE7D,EAAI2D,EAAA3D,KAC1E,QAAC,EAAAyF,EAAA4B,cAAaxD,KACd,EAAA4B,EAAAsB,YAAWlD,KACX,EAAA4B,EAAAY,cAAaxC,KACb7D,IAASuL,EAAA4G,eAHT,GAD4C,GAKzC,CAACnoB,IAEC0oB,EAAmBH,GAAcE,EACvC,OAAIC,EAEFrnB,EAAAyY,cAACiN,EAAAC,sBAAqB,CACrB/I,cAAeA,EACfhC,YAAaA,EACbD,aAAcA,EACdlZ,QAAS4lB,IAOXrnB,EAAAyY,cAAAzY,EAAA2b,SAAA,KACEhd,EACCqE,QAAO,SAACsV,OAAE3D,EAAI2D,EAAA3D,KAAO,OAAAA,IAASuL,EAAA+G,iBAAmBtS,IAASuL,EAAA4G,eAArC,IACrBpmB,KAAI,SAACgB,GAAW,OAChB1B,EAAAyY,cAACiN,EAAAC,sBAAqB,CACrB7hB,IAAKpC,EAAO0M,GAAGT,WACflM,QAASC,EACTkZ,YAAaA,EACbD,aAAcA,GALC,IAUrB","sources":["webpack://ti_west/./app/containers/designation-requirement-path/designation-steps.jsx","webpack://ti_west/./app/containers/designation-requirement-path/index.jsx","webpack://ti_west/./app/containers/designation-requirement-path/step-container.jsx","webpack://ti_west/./app/containers/designation-requirement-path/step-type/course-step-type.jsx","webpack://ti_west/./app/containers/designation-requirement-path/step-type/ethics-step-type.jsx","webpack://ti_west/./app/containers/designation-requirement-path/step-type/matriculation-step-type.jsx","webpack://ti_west/./app/containers/designation-requirement-path/step-type/prereq-step-type.jsx","webpack://ti_west/./app/containers/designation-requirement-path/step-type/track-step-type.jsx","webpack://ti_west/./app/components/badge/completion-badge.tsx","webpack://ti_west/./app/components/progress-bar/index.tsx","webpack://ti_west/./app/constants/course-groups.ts","webpack://ti_west/./app/containers/designation-requirement-path/step-type/index.ts","webpack://ti_west/./app/containers/progress-tracker/detail-step/detail-step-card-course.tsx","webpack://ti_west/./app/containers/progress-tracker/detail-step/detail-step-card-matric.tsx","webpack://ti_west/./app/containers/progress-tracker/detail-step/detail-step-card-product.tsx","webpack://ti_west/./app/containers/progress-tracker/detail-step/detail-step-card.tsx","webpack://ti_west/./app/containers/progress-tracker/detail-step/detail-step-container.tsx","webpack://ti_west/./app/containers/progress-tracker/detail-step/detail-step-item.tsx","webpack://ti_west/./app/containers/progress-tracker/detail-step/detail-step-list-types.tsx"],"sourcesContent":["/* eslint-disable react/jsx-props-no-spreading */\nimport React from 'react';\n\nimport {\n\tCONCENTRATIONS,\n\tCORES,\n\tELECTIVES,\n\tETHICS,\n\tMATRICULATION,\n\tPREREQUISITES,\n} from '@app/constants/program-steps';\n\nimport {\n\tCourseStepType,\n\tEthicsStepType,\n\tMatriculationStepType,\n\tPrereqStepType,\n\tTrackStepType,\n} from './step-type';\n\nconst stepTitleMapping = {\n\t[PREREQUISITES]: 'Prerequisites',\n\t[CORES]: 'Core Courses',\n\t[CONCENTRATIONS]: 'Concentration Courses',\n\t[ELECTIVES]: 'Elective Courses',\n\t[MATRICULATION]: 'Matriculation',\n\t[ETHICS]: 'Ethics',\n};\n\nconst stepEyebrowMapping = {\n\t[PREREQUISITES]: 'designation',\n\t[CORES]: 'required',\n\t[CONCENTRATIONS]: 'required',\n\t[ELECTIVES]: 'elective',\n\t[MATRICULATION]: 'required',\n\t[ETHICS]: 'required',\n};\n\n/**\n * Individual designation step. Depending on name of step, a different\n * step-type will be rendered.\n *\n * If a step with an invalid name is provided, no component is returned.\n *\n * @param {Object} scrollProps - Default props for scrolling.\n * @param {number} stepIndex - Index of current step.\n * @param {Object} store - Redux store.\n *\n * @returns {React.Element|null} Step component instance or null.\n */\nconst DesignationStep = ({\n\tmarketing,\n\tprogramRule,\n\tscrollProps,\n\tstep,\n\tstepDescriptions,\n\tstepIndex,\n\tstore,\n}) => {\n\tconst { courses: coursesList, products = {} } = programRule;\n\tconst { programs: marketingPrograms = {}, courses: marketingCourses = {}, matricTopicCourse = {} } =\n\t\tmarketing;\n\n\tconst name = Object.keys(step)[0];\n\tconst stepData = Object.values(step)[0];\n\n\tconst { openStep = CORES, openTrack = '' } = scrollProps;\n\n\t// // If there are designations, start with the PREREQUISITES step open.\n\t// // Otherwise, start with the FOUNDATION step open.\n\tconst [open, setOpen] = React.useState(name === openStep);\n\tconst toggleStep = () => setOpen(!open);\n\n\t// Base props to pass to all step choices.\n\tconst baseStepProps = {\n\t\teyebrowText: stepEyebrowMapping[name],\n\t\tisStepOpen: open,\n\t\tstepDescription: stepDescriptions[name],\n\t\tstepIndex,\n\t\tstepTitle: stepTitleMapping[name] || '',\n\t\ttoggleStep,\n\t};\n\n\tswitch (name) {\n\t\tcase PREREQUISITES: {\n\t\t\tconst designations = stepData.map(\n\t\t\t\t(programId) => marketingPrograms[programId],\n\t\t\t);\n\t\t\treturn ;\n\t\t}\n\n\t\tcase CORES:\n\t\tcase CONCENTRATIONS: {\n\t\t\tif (Object.values(stepData).length === 1) {\n\t\t\t\tconst courseCodes = Object.values(stepData)[0];\n\t\t\t\tconst courses = courseCodes.map((courseCode) => ({\n\t\t\t\t\t...coursesList[courseCode],\n\t\t\t\t\t...marketingCourses[courseCode],\n\t\t\t\t}));\n\t\t\t\treturn ;\n\t\t\t}\n\n\t\t\tconst trackNames = Object.keys(stepData);\n\t\t\tconst trackCourses = Object.values(stepData).map((courses) =>\n\t\t\t\tcourses.map((courseCode) => ({\n\t\t\t\t\t...coursesList[courseCode],\n\t\t\t\t\t...marketingCourses[courseCode],\n\t\t\t\t})),\n\t\t\t);\n\n\t\t\treturn (\n\t\t\t\t\n\t\t\t);\n\t\t}\n\n\t\tcase ELECTIVES: {\n\t\t\tconst { electives = [], required = 1 } = stepData;\n\t\t\tconst courses = electives\n\t\t\t\t.map((courseCode) => {\n\t\t\t\t\tconst course = coursesList[courseCode];\n\t\t\t\t\tconst isTopicCourse = course.examWindows.every(\n\t\t\t\t\t\t(ew) =>\n\t\t\t\t\t\t\tew.examIds.length === 0 &&\n\t\t\t\t\t\t\tew.packageIds.length === 0 &&\n\t\t\t\t\t\t\tew.printedMaterialIds.length === 0 &&\n\t\t\t\t\t\t\tew.onlineCourseIds.length === 1,\n\t\t\t\t\t);\n\t\t\t\t\tconst topicCourse = !isTopicCourse\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: (() => {\n\t\t\t\t\t\t\t\tconst product =\n\t\t\t\t\t\t\t\t\tproducts[course.examWindows[0].onlineCourseIds[0]];\n\t\t\t\t\t\t\t\treturn product.topicCourse || product.microCert\n\t\t\t\t\t\t\t\t\t? product\n\t\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\t })();\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...course,\n\t\t\t\t\t\ttopicCourse,\n\t\t\t\t\t\t...marketingCourses[courseCode],\n\t\t\t\t\t};\n\t\t\t\t})\n\t\t\t\t.sort(({ abbreviation: a }, { abbreviation: b }) => a.localeCompare(b));\n\n\t\t\treturn (\n\t\t\t\t\n\t\t\t);\n\t\t}\n\n\t\tcase MATRICULATION: {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t);\n\t\t}\n\n\t\tcase ETHICS: {\n\t\t\t// Grab the single online ethics course.\n\t\t\tconst courses = stepData\n\t\t\t\t.filter((courseCode) => {\n\t\t\t\t\tconst [firstExamWindow = {}] =\n\t\t\t\t\t\tcoursesList[courseCode].examWindows || [];\n\t\t\t\t\tconst [ethicsProductId] = firstExamWindow.onlineCourseIds || [];\n\n\t\t\t\t\treturn ethicsProductId && products[ethicsProductId];\n\t\t\t\t})\n\t\t\t\t.map((courseCode) => ({\n\t\t\t\t\t...products[\n\t\t\t\t\t\tcoursesList[courseCode].examWindows[0].onlineCourseIds[0]\n\t\t\t\t\t],\n\t\t\t\t\t...marketingCourses[courseCode],\n\t\t\t\t}));\n\n\t\t\treturn (\n\t\t\t\t!!courses.length && (\n\t\t\t\t\t\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\tdefault:\n\t\t\treturn null;\n\t}\n};\n\n/**\n * Designation Steps contains all steps.\n *\n * @param {Array=} steps - Current designation steps.\n * @param {Object=} store - Redux store\n *\n * @returns {Object} Designation steps container.\n */\nexport const DesignationSteps = ({\n\tscrollProps = {},\n\tstepDescriptions,\n\tstore = {},\n}) => {\n\tconst { content } = store;\n\tconst { programRule = {}, marketing = {} } = content;\n\tconst { steps = [] } = programRule;\n\n\treturn steps.map((step, index) => (\n\t\t\n\t));\n};\n","import Axios from 'axios';\nimport classNames from 'classnames';\nimport React, { useEffect, useState } from 'react';\nimport { connect } from 'react-redux';\n\nimport { PageLoadError } from '@app/components/error';\nimport { Loader } from '@app/components/loader';\nimport { ProductFamily } from '@app/constants/product-family';\nimport { MATRICULATION } from '@app/constants/program-steps';\nimport {\n\tSCROLL_PROGRAM_COURSE,\n\tSCROLL_PROGRAM_MATRICULATION,\n\tSCROLL_PROGRAM_STEP,\n} from '@app/constants/scroll-to-ids';\nimport { useMergeState } from '@app/hooks';\nimport { mapDispatchToProps } from '@app/store/map-dispatch-to-props';\nimport { getScrollToId } from '@app/utility/get-scroll-to-id';\nimport { initializePurchaseForm } from '@app/utility/initialize-purchase-form';\n\nimport { DesignationSteps } from './designation-steps';\nimport { DetailStepContainer } from '../progress-tracker/detail-step/detail-step-container';\n\n/**\n * Determine which step to open for scroll-to functionality.\n *\n * @param {Object} steps - List of designation steps.\n *\n * @returns {Object} Object of step and scroll properties to default.\n */\nconst getOpenStep = (steps) => {\n\tconst parseValueFromId = (id) => id.split('-').slice(-1).pop();\n\t// Split the URL for the anchor tag course code value.\n\tconst courseCodeHash = getScrollToId(SCROLL_PROGRAM_COURSE);\n\tconst matriculationHash = getScrollToId(SCROLL_PROGRAM_MATRICULATION);\n\tconst stepHash = getScrollToId(SCROLL_PROGRAM_STEP);\n\n\tif (courseCodeHash) {\n\t\tconst scrollToCode = parseValueFromId(courseCodeHash);\n\n\t\treturn Object.values(steps).reduce((acc, stepCourses) => {\n\t\t\tconst openStep = Object.keys(stepCourses)[0];\n\t\t\tconst { cores, concentrations, electives, ethics } = stepCourses;\n\t\t\tconst trackOptions = cores || concentrations;\n\n\t\t\tif (trackOptions) {\n\t\t\t\tconst trackIndex = Object.values(trackOptions).findIndex((c) =>\n\t\t\t\t\tc.includes(scrollToCode),\n\t\t\t\t);\n\t\t\t\tif (trackIndex !== -1) {\n\t\t\t\t\treturn { openStep, openTrack: Object.keys(trackOptions)[trackIndex] };\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst singleOptions = (electives && electives.electives) || ethics;\n\t\t\tif (singleOptions && singleOptions.includes(scrollToCode)) {\n\t\t\t\treturn { openStep };\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t}, {});\n\t}\n\n\tif (matriculationHash) {\n\t\treturn { openStep: MATRICULATION };\n\t}\n\n\tif (stepHash) {\n\t\tconst index = parseValueFromId(stepHash);\n\t\tconst step = Object.values(steps)[(parseInt(index, 10) || 1) - 1];\n\t\treturn { openStep: Object.keys(step)[0] };\n\t}\n\n\treturn {};\n};\n\n/**\n * Designation requirement path is the main entry point and container for the\n * redesigned designation pathway.\n *\n * Since this relies on an async process, a Loading component is used.\n *\n * @param {Object} actions - Redux actions.\n * @param {Object} stepDescriptions - Descriptions for each step.\n * @param {number} apiId - API id of Designation.\n * @param {Object} app - Redux store for app\n * @param {Object} auth - Redux store for auth\n * @param {Object} cart - Redux store for cart\n * @param {Object} content - Redux store for content\n * @param {string} coreTrack - Specific core track\n *\n * @returns {React.Element} Designation requirement component.\n */\nconst DesignationRequirementPathRaw = (designationProps) => {\n\tconst {\n\t\tactions,\n\t\tapiId,\n\t\tapp,\n\t\tauth,\n\t\tcart,\n\t\tcontent,\n\t\tcoreTrack,\n\t\tstudentProgress,\n\t\tstepDescriptions = {},\n\t} = designationProps;\n\n\tconst initialState = {\n\t\tisLoading: true,\n\t\tscrollProps: {},\n\t};\n\n\tconst [apiError, setApiError] = useState(false);\n\tconst [state, mergeState] = useMergeState(initialState);\n\tconst { isLoading, scrollProps } = state;\n\n\tconst showLoader = isLoading && !apiError;\n\n\t// Step props has store, with content expanded into steps.\n\tconst baseProps = {\n\t\tscrollProps,\n\t\tstepDescriptions,\n\t\tstore: { actions, app, auth, cart, content },\n\t};\n\n\tuseEffect(() => {\n\t\tconst cancelToken = Axios.CancelToken.source();\n\t\tlet mounted = true;\n\n\t\tconst getDesignation = async () => {\n\t\t\tactions.resetApiErrors();\n\n\t\t\tconst { payload } = await actions.getProgramRule(\n\t\t\t\tapiId,\n\t\t\t\tcoreTrack,\n\t\t\t\tcancelToken.token,\n\t\t\t\tstudentProgress,\n\t\t\t);\n\t\t\tconst {\n\t\t\t\tcourses = {},\n\t\t\t\tproducts = {},\n\t\t\t\tsteps: designationSteps = [],\n\t\t\t} = payload;\n\t\t\tconst prereqStep =\n\t\t\t\tdesignationSteps.find(({ prerequisites = null }) => !!prerequisites) ||\n\t\t\t\t{};\n\t\t\tconst programIds = prereqStep.prerequisites || [];\n\n\t\t\t// If component is unmounted at any point, prevent carrying through with state updates.\n\t\t\tif (mounted) {\n\t\t\t\t// Get Topic Course Ids for Online Course product families.\n\t\t\t\tconst topicCourseIds = Object.values(products)\n\t\t\t\t\t.filter(({ productFamily }) => productFamily === ProductFamily.TOPIC_COURSE)\n\t\t\t\t\t.map(({ id }) => id.toString());\n\n\t\t\t\tawait initializePurchaseForm(\n\t\t\t\t\tactions,\n\t\t\t\t\tObject.keys(courses),\n\t\t\t\t\ttopicCourseIds,\n\t\t\t\t\tapiId.toString(),\n\t\t\t\t\tprogramIds,\n\t\t\t\t\tcancelToken.token,\n\t\t\t\t);\n\n\t\t\t\tmergeState({\n\t\t\t\t\tisLoading: false,\n\t\t\t\t\tscrollProps: getOpenStep(designationSteps),\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\ttry {\n\t\t\tgetDesignation();\n\t\t} catch {\n\t\t\tmergeState({ isLoading: false });\n\t\t\tsetApiError(true);\n\t\t}\n\n\t\treturn () => {\n\t\t\tmounted = false;\n\t\t\tcancelToken.cancel();\n\t\t};\n\t}, [actions, apiId, mergeState, coreTrack, studentProgress]);\n\n\t/* eslint-disable react/jsx-props-no-spreading */\n\treturn (\n\t\t\n\t\t\t<>\n\t\t\t\t{apiError || (app.apiError && app.apiError.errorType === 'page') ? (\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{showLoader && }\n\t\t\t\t\t\t{!showLoader && !studentProgress && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{!showLoader && studentProgress && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t\n\t);\n\t/* eslint-enable react/jsx-props-no-spreading */\n};\n\nconst mapStateToProps = ({ app, auth, cart, content }) => ({\n\tapp,\n\tauth,\n\tcart,\n\tcontent,\n});\n\nexport const DesignationRequirementPath = connect(\n\tmapStateToProps,\n\tmapDispatchToProps,\n)(DesignationRequirementPathRaw);\n\nexport default DesignationRequirementPath;\n","import classNames from 'classnames';\nimport React from 'react';\n\nimport { ChevronRightIcon } from '@app/components/icons';\nimport { SCROLL_PROGRAM_STEP } from '@app/constants/scroll-to-ids';\nimport { useScroll } from '@app/hooks';\n\nexport const StepContainer = ({\n\tstepIndex,\n\tstepTitle,\n\tstepDescription,\n\tchildren,\n\tisStepOpen,\n\ttoggleStep,\n}) => {\n\tconst [containerRef] = useScroll();\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t

\n\t\t\t\t\t\n\t\t\t\t\t\tSTEP {stepIndex}:{' '}\n\t\t\t\t\t\n\t\t\t\t\t{stepTitle}\n\t\t\t\t

\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t
\n\t);\n};\n","import React from 'react';\n\nimport { CourseCardList } from '@app/components/course-cards';\n\nimport { StepContainer } from '../step-container';\n\nexport const CourseStepType = ({\n\tcourses = [],\n\teyebrowText = '',\n\tisStepOpen,\n\tnumRequiredElectives = '',\n\tstepDescription = '',\n\tstepIndex,\n\tstepTitle = '',\n\ttoggleStep,\n}) => {\n\tconst numRequiredCourses = numRequiredElectives || courses.length;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n","import React from 'react';\n\nimport { CourseProductCard } from '@app/components/course-cards';\nimport { SCROLL_PROGRAM_COURSE } from '@app/constants/scroll-to-ids';\n\nimport { StepContainer } from '../step-container';\n\nexport const EthicsStepType = ({\n\tcourses = [],\n\teyebrowText = '',\n\tisStepOpen,\n\tstepDescription = '',\n\tstepIndex,\n\tstepTitle = '',\n\ttoggleStep,\n}) => (\n\t\n\t\t

\n\t\t\tEthical behavior is essential in risk management and insurance. This\n\t\t\tprovides a framework for making decisions and is offered at no cost to\n\t\t\tyou.\n\t\t

\n\n\t\t{courses.map(\n\t\t\t(\n\t\t\t\t{ code, id: itemId, longDescription, price, shortDescription, title },\n\t\t\t\tindex,\n\t\t\t) => (\n\t\t\t\t\n\t\t\t),\n\t\t)}\n\t\n);\n","import classNames from 'classnames';\nimport React from 'react';\n\nimport { AddCartButton } from '@app/components/add-cart-button';\nimport { CourseProductCard } from '@app/components/course-cards';\nimport { SCROLL_PROGRAM_MATRICULATION } from '@app/constants/scroll-to-ids';\nimport { ExtStatus } from '@app/interfaces/api-contact/person/matriculation';\n\nimport { StepContainer } from '../step-container';\n\nexport const MatriculationStepType = ({\n\tactions,\n\tauth: { user, isAuthenticated },\n\teyebrowText = '',\n\tisStepOpen,\n\tstepIndex,\n\tstepTitle = '',\n\ttoggleStep,\n\tmatricTopicCourse,\n}) => {\n\tconst [hasError, setHasError] = React.useState(false);\n\tconst handleError = () => setHasError(true);\n\n\tconst { matriculationStatus } = user;\n\tconst EXT_STATUS = matriculationStatus.extStatus || ExtStatus.NEW;\n\tconst isLoading = isAuthenticated && !matriculationStatus.extStatus;\n\n\tconst { apiId = '', shortDescription = '', price = null, title = '' } = matricTopicCourse;\n\n\tReact.useEffect(() => {\n\t\tactions.getMatricStatus();\n\t\tactions.getMarketingMatricTopicCourse();\n\t}, [actions]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{EXT_STATUS === ExtStatus.NEW ? (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n )\n\t\t\t\t: <>}\n\t\t\t\n\t\t\n\t);\n};\n","import React from 'react';\n\nimport { CourseProductCard } from '@app/components/course-cards';\nimport { CPCU } from '@app/constants/course-groups';\n\nimport { StepContainer } from '../step-container';\n\nexport const PrereqStepType = ({\n\tdesignations = [],\n\teyebrowText = '',\n\tisStepOpen,\n\tstepIndex,\n\tstepTitle = '',\n\tstepDescription = '',\n\ttoggleStep,\n}) => (\n\t\n\t\t

\n\t\t\tAfter completing one of The Institutes prerequisite designation programs,\n\t\t\tyou only need to complete one additional core course to earn this\n\t\t\tdesignation.\n\t\t

\n\n\t\t{designations\n\t\t\t.sort((a, b) => {\n\t\t\t\t// Sort designations by CPCU first, then most popular, then by title.\n\t\t\t\tconst popularA = parseInt(a.mostPopular, 10);\n\t\t\t\tconst popularB = parseInt(b.mostPopular, 10);\n\t\t\t\tconst cpcuA = a.abbreviation === CPCU;\n\t\t\t\tconst cpcuB = b.abbreviation === CPCU;\n\t\t\t\tif (cpcuA || cpcuB) {\n\t\t\t\t\treturn cpcuB - cpcuA;\n\t\t\t\t}\n\t\t\t\treturn popularA === popularB\n\t\t\t\t\t? a.title.localeCompare(b.title)\n\t\t\t\t\t: popularB - popularA;\n\t\t\t})\n\t\t\t.map(\n\t\t\t\t(\n\t\t\t\t\t{\n\t\t\t\t\t\tabbreviation,\n\t\t\t\t\t\tcode,\n\t\t\t\t\t\tid: itemId,\n\t\t\t\t\t\tlongDescription,\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\tshortDescription,\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t\tmostPopular,\n\t\t\t\t\t},\n\t\t\t\t\tindex,\n\t\t\t\t) => (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tGet Started\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t),\n\t\t\t)}\n\t\n);\n","import React from 'react';\n\nimport {\n\tAccordion,\n\tAccordionItem,\n\tAccordionItemHeading,\n\tAccordionItemPanel,\n} from '@app/components/accordion';\nimport { CourseCardList } from '@app/components/course-cards';\n\nimport { StepContainer } from '../step-container';\n\nexport const TrackStepType = ({\n\tstepIndex,\n\tstepTitle = '',\n\tstepDescription = '',\n\teyebrowText = '',\n\tisStepOpen,\n\ttoggleStep,\n\ttrackNames = [],\n\ttrackCourses = [],\n\topenTrack = '',\n}) => {\n\tconst trackLengths = trackCourses.map((track) => track.length);\n\tconst minTrackLength = Math.min(...trackLengths);\n\tconst maxTrackLength = Math.max(...trackLengths);\n\n\tconst numRequiredCoursesDisplay =\n\t\tminTrackLength === maxTrackLength\n\t\t\t? `${minTrackLength}`\n\t\t\t: `${minTrackLength} - ${maxTrackLength}`;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{trackNames.map((name, index) => (\n\t\t\t\t\t\n\t\t\t\t\t\t{name}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t))}\n\t\t\t\n\t\t\n\t);\n};\n","import classNames from 'classnames';\nimport * as React from 'react';\n\nimport { Progress } from '@app/interfaces/api-contact/progress-tracker';\n\ntype PropsCompletionBadge = { progress?: Progress; className?: string };\n\n/**\n * Completion badge that appears on a card above the title.\n */\nexport const CompletionBadge: React.FC = ({\n\tclassName,\n\tprogress,\n}: PropsCompletionBadge) => {\n\tlet completionText:\n\t\t| 'Not Started'\n\t\t| 'Completed'\n\t\t| 'In Progress'\n\t\t| 'Waived'\n\t\t| 'Retake' = 'Not Started';\n\tswitch (progress) {\n\t\tcase 'COMPLETE':\n\t\t\tcompletionText = 'Completed';\n\t\t\tbreak;\n\n\t\tcase 'WAIVED':\n\t\t\tcompletionText = 'Waived';\n\t\t\tbreak;\n\n\t\tcase 'OPEN_REGISTRATION':\n\t\tcase 'OPEN_ENROLLMENT':\n\t\t\tcompletionText = 'In Progress';\n\t\t\tbreak;\n\n\t\tcase 'RETAKE':\n\t\t\tcompletionText = 'Retake';\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tcompletionText = 'Not Started';\n\t}\n\n\treturn (\n\t\t\n\t\t\t{completionText.toUpperCase()}\n\t\t

\n\t);\n};\n","import classNames from 'classnames';\nimport * as React from 'react';\n\ntype PropsProgress = {\n\tclassName?: string;\n\tcompleted: number;\n\ttext: string;\n\ttotal: number;\n};\n\nexport const ProgressBar = ({\n\tclassName = '',\n\tcompleted,\n\ttext,\n\ttotal,\n}: PropsProgress) => {\n\tconst ref = React.useRef(null);\n\n\tReact.useEffect(() => {\n\t\tif (ref.current) {\n\t\t\tconst currentPercent = (completed / total) * 100;\n\t\t\tconst length = ref.current.getTotalLength();\n\t\t\tref.current.style.strokeDasharray = length.toString();\n\t\t\tref.current.style.strokeDashoffset = (\n\t\t\t\tlength *\n\t\t\t\t((100 - currentPercent) / 100)\n\t\t\t).toString();\n\t\t}\n\t}, [ref, completed, total]);\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t= total,\n\t\t\t\t\t\t},\n\t\t\t\t\t)}\n\t\t\t\t\td=\"M0 10, 200 10\"\n\t\t\t\t\tref={ref}\n\t\t\t\t/>\n\t\t\t\n\t\t\t{text}\n\t\t
\n\t);\n};\n","export const CPCU = 'CPCU';\n","// eslint-disable-next-line import/no-unused-modules\nexport * from './course-step-type';\nexport * from './ethics-step-type';\nexport * from './matriculation-step-type';\nexport * from './prereq-step-type';\nexport * from './track-step-type';\n","import classNames from 'classnames';\nimport { DateTime } from 'luxon';\nimport * as React from 'react';\nimport parser from 'react-html-parser';\n\nimport { CompletionBadge } from '@app/components/badge/completion-badge';\nimport { PrimaryButton, SecondaryButton } from '@app/components/button';\nimport { Hr } from '@app/components/hr';\nimport { Notification } from '@app/components/notification';\nimport { ProgressBar } from '@app/components/progress-bar';\nimport { PurchaseForm } from '@app/components/purchase-form';\nimport { SCROLL_PROGRAM_COURSE } from '@app/constants/scroll-to-ids';\nimport {\n\tSegment,\n\tProgress,\n} from '@app/interfaces/api-contact/progress-tracker';\nimport { Course } from '@app/interfaces/store/content/program-rule';\nimport {\n\tisComplete,\n\tisInProgress,\n\tisNotStarted,\n\tisOpenProgress,\n\tisRetake,\n} from '@app/utility/progress';\n\nimport { CombinedCourse, Description } from './detail-step-card';\n\ntype PropsCourseCta = {\n\tcourse: Course;\n\tgroupName: string;\n\tisSegment?: boolean;\n\tmyCoursesUrl: string;\n\tmyGradesUrl: string;\n\tmyRegistrationsUrl: string;\n\tprogress?: Progress;\n};\n\ntype PropsCourseCardCta = Omit & {\n\tsegments?: Segment[];\n};\n\ntype PropsCourseCard = {\n\tcourse: CombinedCourse;\n\tgroupName: string;\n\tisSubscription: boolean;\n\tkeypersonView?: boolean;\n\tmyCoursesUrl: string;\n\tmyGradesUrl: string;\n\tmyRegistrationsUrl: string;\n};\n\ntype PropsLinkCta = {\n\tbuttonType: 'Primary' | 'Secondary';\n\tlabel: string;\n\thref: string;\n};\n\ntype PropSegmentCtaGroup = {\n\tsegments: Segment[];\n\tmyCoursesUrl: string;\n\tmyGradesUrl: string;\n\tcourse: Course;\n\tgroupName: string;\n};\n\n// Start segment code at capital A.\nconst SEGMENT_START = 65;\n\nconst LinkCta: React.FC = ({\n\tbuttonType,\n\tlabel,\n\thref,\n}: PropsLinkCta) => (\n\t\n\t\t{label}\n\t\n);\n\n//\n/**\n * Course Progress CTA dependant on progress.\n */\nconst CourseCta: React.FC = ({\n\tcourse,\n\tgroupName,\n\tisSegment,\n\tmyCoursesUrl,\n\tmyGradesUrl,\n\tmyRegistrationsUrl,\n\tprogress,\n}: PropsCourseCta) => {\n\tconst {\n\t\thasOnlineMaterials = false,\n\t\twaiverDescription,\n\t\tabbreviation,\n\t\ttitle,\n\t} = course;\n\n\t// Exam not started & Materials not purchased.\n\tif (isNotStarted(progress) && !hasOnlineMaterials) {\n\t\treturn (\n\t\t\t\n\t\t);\n\t}\n\n\t// Exam not started & Materials purchased.\n\t// If segment exam then hide My Courses URL\n\tif (isNotStarted(progress) && hasOnlineMaterials) {\n\t\treturn (\n\t\t\t
\n\t\t\t\t{!isSegment && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t}\n\n\t// Exam (VE) in progress & Materials not purchased.\n\t// Exam (Reg) in progress & Materials not purchased.\n\tif (isOpenProgress(progress) && !hasOnlineMaterials) {\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\t\t\t\t{!isSegment && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t
\n\t\t);\n\t}\n\n\t// Exam (VE) in progress & Materials purchased.\n\t// Exam (Reg) in progress & Materials purchased.\n\tif (isOpenProgress(progress) && hasOnlineMaterials) {\n\t\treturn (\n\t\t\t\n\t\t);\n\t}\n\n\t// Exam needs Retake & Materials not purchased.\n\tif (isRetake(progress) && !hasOnlineMaterials) {\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t}\n\n\tif (isRetake(progress) && hasOnlineMaterials) {\n\t\treturn (\n\t\t\t
\n\t\t\t\t{!isSegment && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t}\n\n\tif (isComplete(progress)) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{waiverDescription && !isSegment && (\n\t\t\t\t\t

\n\t\t\t\t\t\tExam {abbreviation || title} waived for {waiverDescription}\n\t\t\t\t\t

\n\t\t\t\t)}\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n\n\treturn <>;\n};\n\nconst SegmentCtaGroup: React.FC = ({\n\tsegments,\n\tmyCoursesUrl,\n\tmyGradesUrl,\n\tcourse,\n\tgroupName,\n}: PropSegmentCtaGroup) => {\n\tconst isAnyInProgress = segments.some(\n\t\t({ hasOnlineMaterials, progress }) =>\n\t\t\thasOnlineMaterials || isInProgress(progress),\n\t);\n\n\tconst isAnyComplete = segments.some(({ progress }) => isComplete(progress));\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t{isAnyInProgress && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{isAnyComplete && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n};\n\n/**\n * Course card CTA - dependant on 'segments'.\n */\nconst CourseCardCta: React.FC = ({\n\tcourse,\n\tgroupName,\n\tmyCoursesUrl,\n\tmyGradesUrl,\n\tmyRegistrationsUrl,\n\tprogress,\n\tsegments,\n}: PropsCourseCardCta) => (\n\t<>\n\t\t{segments !== undefined && segments.length > 0 ? (\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\tExam Segment Progress\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tYou must complete and pass all exam segments (\n\t\t\t\t\t{segments\n\t\t\t\t\t\t.map((_, index) => String.fromCharCode(index + SEGMENT_START))\n\t\t\t\t\t\t.join(', ')\n\t\t\t\t\t\t.replace(/, ([^,])$/, ' and $1')}\n\t\t\t\t\t) to earn full credit for this course.\n\t\t\t\t

\n\t\t\t\t\n\t\t\t\t\t\t\tisComplete(segmentProgress),\n\t\t\t\t\t\t).length\n\t\t\t\t\t}\n\t\t\t\t/>\n\n\t\t\t\t\n\t\t\t
\n\t\t) : (\n\t\t\t\n\t\t)}\n\t\n);\n\ntype PropsSubscriptionCardCta = {\n\tmyLearningResourcesUrl: string;\n\tmyCoursesUrl: string;\n\tmyGradesUrl: string;\n\tprogress?: Progress;\n};\n\nconst SubscriptionCardCta: React.FC = ({\n\tmyLearningResourcesUrl,\n\tmyCoursesUrl,\n\tmyGradesUrl,\n\tprogress,\n}: PropsSubscriptionCardCta) => {\n\tif (isInProgress(progress)) {\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t}\n\n\tif (isComplete(progress)) {\n\t\treturn (\n\t\t\t\n\t\t);\n\t}\n\n\treturn (\n\t\t\n\t);\n};\n\n/**\n * Course card with student progress.\n * Specific to the progress tracker.\n */\nexport const DetailStepCardCourse: React.FC = ({\n\tcourse,\n\tgroupName,\n\tisSubscription,\n\tkeypersonView = false,\n\tmyCoursesUrl,\n\tmyGradesUrl,\n\tmyRegistrationsUrl,\n}: PropsCourseCard) => {\n\tconst {\n\t\tabbreviation = '',\n\t\tcode = '',\n\t\tendDate = '',\n\t\tlongDescription = '',\n\t\tprogress,\n\t\tprogressTrackerNote = '',\n\t\tsegments,\n\t\tshortDescription = '',\n\t\ttitle = '',\n\t\toldTitle,\n\t\ttitleBeginDate,\n\t} = course;\n\n\t// Memorized title expiration date.\n\tconst titleExpireDate = React.useMemo(\n\t\t() =>\n\t\t\ttitleBeginDate\n\t\t\t\t? DateTime.fromObject({\n\t\t\t\t\t\tmonth: titleBeginDate.month - 1,\n\t\t\t\t }).endOf('month')\n\t\t\t\t: undefined,\n\t\t[titleBeginDate],\n\t);\n\n\t// If user has progress or title expire date does not exist, show old/new\n\t// title defaulting to oldTitle if it exists, first.\n\t// Otherwise, just show the current title.\n\tconst courseTitle = React.useMemo(\n\t\t() => (progress || !titleExpireDate?.isValid ? oldTitle || title : title),\n\t\t[oldTitle, progress, title, titleExpireDate?.isValid],\n\t);\n\n\t// If segment progress exists, completion badge progress checks segments first.\n\t// If course is already complete, then just show complete (bypass segmentProgress).\n\tconst segmentProgress: Progress | undefined =\n\t\tsegments !== undefined &&\n\t\tsegments.some(({ progress: segProg }) => !isNotStarted(segProg))\n\t\t\t? 'OPEN_REGISTRATION'\n\t\t\t: undefined;\n\n\tconst completionBadgeProgress = isComplete(progress)\n\t\t? progress\n\t\t: segmentProgress || progress;\n\n\tconst showDetails = !keypersonView && !isComplete(progress);\n\n\t// Show notification if:\n\t// user is not a keyperson, there is an end date to the course, progress\n\t// tracker note exists.\n\tconst notification = (showDetails && (endDate || progressTrackerNote)) || '';\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t

\n\t\t\t\t\t{abbreviation ? `${abbreviation}: ${courseTitle}` : `${courseTitle}`}\n\t\t\t\t

\n\n\t\t\t\t{showDetails && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\n\t\t\t{notification !== '' && (\n\t\t\t\t\n\t\t\t\t\t{endDate &&

Expires {endDate}.

}\n\t\t\t\t\t{progressTrackerNote && parser(progressTrackerNote)}\n\t\t\t\t
\n\t\t\t)}\n\n\t\t\t{!keypersonView && (\n\t\t\t\t<>\n\t\t\t\t\t{isSubscription ? (\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\t
\n\t\t\t\n\t\t\n\t);\n};\n","import classNames from 'classnames';\nimport * as React from 'react';\nimport parser from 'react-html-parser';\n\nimport { AddCartButton } from '@app/components/add-cart-button';\nimport {\n\tExtStatus,\n\tMatriculationStatus,\n} from '@app/interfaces/api-contact/person/matriculation';\nimport { MatricTopicCourse } from '@app/interfaces/store/content/marketing';\n\ntype PropsCardMatric = {\n\tmatriculation: MatricTopicCourse;\n\tmatriculationStatus: MatriculationStatus;\n\tkeypersonView?: boolean;\n};\n\ntype PropsMatricCardCta = {\n\tapiId: string;\n\textStatus: ExtStatus;\n\tformUrl: string;\n\tprice: string;\n};\n\n/**\n * Matriculation Card CTA determined by EXT_STATUS.\n */\nconst MatricCardCta: React.FC = ({\n\textStatus,\n\tapiId,\n\tprice,\n\tformUrl,\n}: PropsMatricCardCta) => {\n\tconst [hasError, setHasError] = React.useState(false);\n\n\tswitch (extStatus) {\n\t\tcase ExtStatus.NEW:\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t setHasError(true)}\n\t\t\t\t\t\tshowCartButton\n\t\t\t\t\t\tbuttonText=\"Purchase Matriculation\"\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t);\n\n\t\tcase ExtStatus.PAID:\n\t\tcase ExtStatus.EXP_NOT_MET:\n\t\tcase ExtStatus.FORM_FLAGGED:\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\tMy Courses & Exams\n\t\t\t\t\n\t\t\t);\n\t\tdefault:\n\t\t\t\treturn null;\n\t}\n};\n\n/**\n * Matriculation card with student progress.\n * Specific to the progress tracker.\n */\nexport const DetailStepCardMatric: React.FC = ({\n\tmatriculation: { apiId, price, shortDescription, title },\n\tmatriculationStatus: { extStatus },\n\tkeypersonView = false,\n}: PropsCardMatric) => {\n\tconst fixMessage = (message: string) => {\n\t\tswitch (message) {\n\t\t\tcase ExtStatus.APPROVED:\n\t\t\t\treturn 'Completed';\n\t\t\tcase ExtStatus.NOT_APPROVED:\n\t\t\t\treturn 'Not Approved';\n\t\t\tcase ExtStatus.PAID:\n\t\t\tcase ExtStatus.EXP_NOT_MET:\n\t\t\tcase ExtStatus.FORM_FLAGGED:\n\t\t\t\treturn 'In Progress';\n\t\t\tdefault:\n\t\t\t\treturn 'Not Started';\n\t\t}\n\t};\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{fixMessage(extStatus).toUpperCase()}\n\t\t\t\t

\n\n\t\t\t\t

{title}

\n\n\t\t\t\t{!keypersonView && extStatus !== ExtStatus.APPROVED && (\n\t\t\t\t\t
\n\t\t\t\t\t\t{parser(shortDescription)}\n\t\t\t\t\t
\n\t\t\t\t)}\n\t\t\t
\n\n\t\t\t{!keypersonView && (\n\t\t\t\t\n\t\t\t)}\n\t\t
\n\t);\n};\n","import classNames from 'classnames';\nimport * as React from 'react';\nimport parser from 'react-html-parser';\n\nimport { AddCartButton } from '@app/components/add-cart-button';\nimport { CompletionBadge } from '@app/components/badge/completion-badge';\nimport { Hr } from '@app/components/hr';\nimport { Notification } from '@app/components/notification';\nimport { MarketingCourse } from '@app/interfaces/store/content/marketing';\nimport { Product } from '@app/interfaces/store/content/program-rule';\nimport { findApplicablePrice } from '@app/utility/price';\nimport { isComplete } from '@app/utility/progress';\n\nimport { CombinedCourse, Description } from './detail-step-card';\n\ntype PropsProductCard = {\n\tcourse?: CombinedCourse;\n\tkeypersonView?: boolean;\n\tmyGradesUrl?: string;\n\tmyCoursesUrl?: string;\n\tproduct: Partial>;\n\tshowCompletionBadge?: boolean;\n};\n\n/**\n * Product card with student progress.\n * Specific to the progress tracker.\n */\nexport const DetailStepCardProduct: React.FC = ({\n\tchildren,\n\tcourse,\n\tkeypersonView = false,\n\tmyGradesUrl = '',\n\tmyCoursesUrl = '',\n\tproduct,\n\tshowCompletionBadge = true,\n}: React.PropsWithChildren) => {\n\tconst {\n\t\tid,\n\t\tlongDescription = '',\n\t\tprices,\n\t\tshortDescription = '',\n\t\ttitle = '',\n\t\tprogressTrackerNote = course?.progressTrackerNote || '',\n\t} = product;\n\n\tconst { salePrice, currentPrice } = findApplicablePrice(prices || []);\n\n\tconst [hasError, setHasError] = React.useState(false);\n\n\tconst handleError = () => setHasError(true);\n\n\tconst progress = course?.progress || product?.progress;\n\n\tconst showDetails = !keypersonView && !isComplete(progress);\n\n\tconst notification = (showDetails && progressTrackerNote) || '';\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t{showCompletionBadge && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t

{course?.title || title}

\n\t\t\t\t{showDetails && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\n\t\t\t{notification !== '' && (\n\t\t\t\t\n\t\t\t\t\t{parser(notification)}\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t{!keypersonView && (\n\t\t\t\t<>\n\t\t\t\t\t{children ? (\n\t\t\t\t\t\t
{children}
\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{progress === undefined && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{(progress === 'OPEN_ENROLLMENT' ||\n\t\t\t\t\t\t\t\tprogress === 'OPEN_REGISTRATION') && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tMy Courses & Exams\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{(progress === 'COMPLETE' || progress === 'WAIVED') && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tMy Grades\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t\n\t\t\t\t
\n\t\t\t\n\t\t
\n\t);\n};\n","import classNames from 'classnames';\nimport * as React from 'react';\nimport parser from 'react-html-parser';\n\nimport { MarketingCourse } from '@app/interfaces/store/content/marketing';\nimport {\n\tCourse,\n\tProgramRuleCourses,\n} from '@app/interfaces/store/content/program-rule';\nimport { isComplete, isInProgress, isNotStarted } from '@app/utility/progress';\n\nexport type CombinedCourse = MarketingCourse & Course;\n\ntype PropsDetailStepAccordionBadge = {\n\tcourses: string[];\n\tprogramRuleCourses: ProgramRuleCourses;\n};\n\ntype PropsDescription = {\n\tshortDescription: string;\n\tlongDescription: string;\n};\n\n/**\n * Badge rendered on track's accordion header.\n */\nexport const DetailStepAccordionBadge: React.FC = ({\n\tcourses,\n\tprogramRuleCourses,\n}: PropsDetailStepAccordionBadge) => {\n\tconst inProgress = [];\n\tconst completed = [];\n\tconst notStarted = [];\n\tlet completionText = 'Not Started';\n\tcourses.forEach((courseCode) => {\n\t\tconst { progress } = programRuleCourses[courseCode];\n\t\tif (isComplete(progress)) {\n\t\t\tcompleted.push(courseCode);\n\t\t}\n\n\t\tif (isInProgress(progress)) {\n\t\t\tinProgress.push(courseCode);\n\t\t}\n\n\t\tif (isNotStarted(progress)) {\n\t\t\tnotStarted.push(courseCode);\n\t\t}\n\t});\n\tif (completed.length && !inProgress.length && !notStarted.length) {\n\t\tcompletionText = 'Completed';\n\t}\n\tif (inProgress.length || (completed.length && notStarted.length)) {\n\t\tcompletionText = 'In Progress';\n\t}\n\n\treturn (\n\t\t\n\t\t\t{completionText.toUpperCase()}\n\t\t\n\t);\n};\n\n/**\n * Displays a description based on CMS description content.\n */\nexport const Description: React.FC = ({\n\tshortDescription,\n\tlongDescription,\n}: PropsDescription) => (\n\t
\n\t\t{shortDescription ? parser(shortDescription) : parser(longDescription)}\n\t
\n);\n","import { DateTime } from 'luxon';\nimport * as React from 'react';\n\nimport {\n\tAccordion,\n\tAccordionItem,\n\tAccordionItemHeading,\n\tAccordionItemPanel,\n} from '@app/components/accordion';\nimport { PageLoadError } from '@app/components/error';\nimport { Loader } from '@app/components/loader';\nimport { Notification } from '@app/components/notification';\nimport { STEP_TITLES } from '@app/constants/program-steps';\nimport { ProgramContent } from '@app/interfaces/api-contact/progress-tracker';\nimport { Step } from '@app/interfaces/store/content/program-rule';\nimport { Store } from '@app/interfaces/store/store';\nimport {\n\tformatDateString,\n\tgetCurrentDateTime,\n\tgetDateTimeFromSeries,\n} from '@app/utility/date';\n\nimport { DetailStepItem } from './detail-step-item';\nimport {\n\tgetUserCompletion,\n\tgetUserCompletionLegacy,\n\tStepStringUnion,\n} from '../progress-tracker.helper';\n\ntype PropsDetailStepContainer = Omit & {\n\tactions: any;\n\tstudentProgress: ProgramContent;\n};\n\ntype PropsDetailStepList = Omit & {\n\tsteps: Step[];\n\tpathExpireDate?: string;\n\tpathPartialCredit?: boolean;\n\tpathIndex?: number;\n};\n\n/**\n * Returns a formatted date string if an ending series is found.\n */\nconst getPathExpiryDate = (endingSeries: string | undefined) => {\n\tif (endingSeries) {\n\t\tconst expireDate = getDateTimeFromSeries(endingSeries);\n\t\tif (expireDate.isValid && expireDate > getCurrentDateTime()) {\n\t\t\treturn expireDate.toLocaleString(DateTime.DATE_FULL);\n\t\t}\n\t}\n\n\treturn undefined;\n};\n\n/**\n * List of progress steps.\n */\nconst DetailStepList: React.FC = ({\n\tauth,\n\tcontent,\n\tsteps,\n\tstudentProgress,\n\tpathExpireDate,\n\tpathPartialCredit = false,\n\tpathIndex,\n}: PropsDetailStepList) => {\n\tconst { programRule, courseProgram } = content;\n\tconst { title: programTitle } = studentProgress;\n\n\tconst [openStep, setOpenStep] = React.useState('');\n\n\t/**\n\t * Memoized completion data based on studentProgress & programRule.\n\t *\n\t * If concentration is available and completed, choose that path.\n\t */\n\tconst { userProgress } = React.useMemo(() => {\n\t\tconst selectedRule = studentProgress.rules[pathIndex || 0];\n\t\tconst userCompletions =\n\t\t\t!selectedRule.recommended || programRule.cores === undefined\n\t\t\t\t? getUserCompletionLegacy(studentProgress, false)\n\t\t\t\t: getUserCompletion(\n\t\t\t\t\t\tstudentProgress,\n\t\t\t\t\t\tcourseProgram.programs || {},\n\t\t\t\t\t\tprogramRule,\n\t\t\t\t ) || [];\n\n\t\tconst completedConcentration = userCompletions.find(\n\t\t\t({ userProgress: { concentrations } }) =>\n\t\t\t\tconcentrations.total > 0 &&\n\t\t\t\tconcentrations.completed === concentrations.total,\n\t\t);\n\n\t\treturn completedConcentration !== undefined\n\t\t\t? completedConcentration\n\t\t\t: userCompletions[pathIndex || 0];\n\t}, [courseProgram, pathIndex, programRule, studentProgress]);\n\n\t// Determine which step should open first on load.\n\tReact.useEffect(() => {\n\t\tlet openStepName = '';\n\t\t// Find the first open step depending on first progress in step order.\n\t\tsteps.forEach((step) => {\n\t\t\tconst name = StepStringUnion.check(Object.keys(step)[0]);\n\t\t\tconst { completed, total } = userProgress[name];\n\t\t\tif (!openStepName && completed < total) {\n\t\t\t\topenStepName = name;\n\t\t\t}\n\t\t});\n\n\t\tsetOpenStep(openStepName);\n\t}, [steps, setOpenStep, userProgress]);\n\n\tif (programRule === null || programRule === undefined) {\n\t\treturn ;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{pathExpireDate && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tThis completion path toward earning the {programTitle} designation\n\t\t\t\t\t\twill expire on {pathExpireDate}. If you do not complete all below\n\t\t\t\t\t\tcourses before this date, your progress will be updated to reflect a\n\t\t\t\t\t\tnew completion path\n\t\t\t\t\t\t{pathPartialCredit ? ' includes partial course credit. ' : '. '}\n\t\t\t\t\t\tContact Customer Success if you have any\n\t\t\t\t\t\tquestions.\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t{steps.map((step, index) => {\n\t\t\t\tconst name = StepStringUnion.check(Object.keys(step)[0]);\n\t\t\t\tconst { total } = userProgress[name];\n\t\t\t\tconst stepTitle = StepStringUnion.guard(name) ? STEP_TITLES[name] : '';\n\t\t\t\tif (!total) {\n\t\t\t\t\treturn ;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t})}\n\t\t\n\t);\n};\n\n/**\n * Main Detail Step container.\n * Render each step list for recommended and non-recommended paths.\n *\n * If paths (multiple steps) is defined within content.ProgramRule,\n * then render an accordion of steps.\n */\nexport const DetailStepContainer: React.FC = ({\n\tactions,\n\tapp,\n\tauth,\n\tcontent,\n\tstudentProgress,\n}: PropsDetailStepContainer) => {\n\tconst { programRule, series, marketing } = content;\n\tconst { programs: marketingPrograms } = marketing;\n\tconst { steps, paths } = programRule;\n\tconst { courses: programRuleCourses } = programRule;\n\tconst { rules } = studentProgress;\n\n\tconst [isLoading, setIsLoading] = React.useState(true);\n\n\tconst hasNonExpiringPaths = rules.some(\n\t\t(rule) => getPathExpiryDate(rule.endingSeries) === undefined,\n\t);\n\n\t// Get ending/end series data for all rules and parts.\n\t// Series from: rules.endSeries, rules[i].parts[i].part.endSeries,\n\t// rules[i].parts[i].part.titleBeginSeries\n\tReact.useEffect(() => {\n\t\t(async () => {\n\t\t\tawait actions.getSeries(\n\t\t\t\tArray.from(\n\t\t\t\t\tnew Set(\n\t\t\t\t\t\trules.reduce(\n\t\t\t\t\t\t\t(allSeries: string[], { endingSeries, parts }) => [\n\t\t\t\t\t\t\t\t...allSeries,\n\t\t\t\t\t\t\t\t...(endingSeries ? [endingSeries] : []),\n\t\t\t\t\t\t\t\t...parts.reduce(\n\t\t\t\t\t\t\t\t\t(ruleSeries: string[], { endSeries, titleBeginSeries }) => [\n\t\t\t\t\t\t\t\t\t\t...ruleSeries,\n\t\t\t\t\t\t\t\t\t\t...(endSeries ? [endSeries] : []),\n\t\t\t\t\t\t\t\t\t\t...(titleBeginSeries ? [titleBeginSeries] : []),\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t[],\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t[],\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t);\n\t\t\tsetIsLoading(false);\n\t\t})();\n\t}, [actions, rules]);\n\n\t// Update courses and programs with progress data in programRule.\n\tReact.useEffect(() => {\n\t\t// Update programs and courses with optional student progress.\n\t\trules.forEach(({ parts, related }) => {\n\t\t\tparts.forEach(\n\t\t\t\t({\n\t\t\t\t\tabbreviation,\n\t\t\t\t\tendSeries,\n\t\t\t\t\thasOnlineMaterials,\n\t\t\t\t\toldTitle,\n\t\t\t\t\tpart,\n\t\t\t\t\tprogress,\n\t\t\t\t\tsegments,\n\t\t\t\t\ttitle,\n\t\t\t\t\ttitleBeginSeries,\n\t\t\t\t\twaiverDescription,\n\t\t\t\t}) => {\n\t\t\t\t\t// Include progress and segments to marketing programs.\n\t\t\t\t\tif (marketingPrograms !== undefined) {\n\t\t\t\t\t\tconst { id: programId } =\n\t\t\t\t\t\t\tObject.values(marketingPrograms).find(\n\t\t\t\t\t\t\t\t({ code }) => code === part,\n\t\t\t\t\t\t\t) || {};\n\n\t\t\t\t\t\tif (programId !== undefined) {\n\t\t\t\t\t\t\tmarketingPrograms[programId] = {\n\t\t\t\t\t\t\t\t...marketingPrograms[programId],\n\t\t\t\t\t\t\t\tprogress,\n\t\t\t\t\t\t\t\tsegments,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Include endSeries, titleBeginSeries, progress, segments, title,\n\t\t\t\t\t// oldTitle, and hasOnlineMaterials to program rule courses for\n\t\t\t\t\t// data persistance within paths.\n\n\t\t\t\t\t// Handle course end date if series is defined and past today.\n\t\t\t\t\tlet endDate = '';\n\t\t\t\t\tif (\n\t\t\t\t\t\tendSeries !== undefined &&\n\t\t\t\t\t\tseries[endSeries]?.ending &&\n\t\t\t\t\t\tseries[endSeries].ending > DateTime.local()\n\t\t\t\t\t) {\n\t\t\t\t\t\tendDate = formatDateString(\n\t\t\t\t\t\t\tseries[endSeries].ending,\n\t\t\t\t\t\t\tDateTime.DATE_FULL,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Handle begin series if it exists.\n\t\t\t\t\tlet titleBeginDate: DateTime | undefined;\n\t\t\t\t\tif (\n\t\t\t\t\t\ttitleBeginSeries !== undefined &&\n\t\t\t\t\t\tseries[titleBeginSeries] !== undefined\n\t\t\t\t\t) {\n\t\t\t\t\t\ttitleBeginDate = series[titleBeginSeries].beginning;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Include progress data for each program rule course.\n\t\t\t\t\tprogramRuleCourses[part] = {\n\t\t\t\t\t\t...programRuleCourses[part],\n\t\t\t\t\t\t...(endDate && { endDate }),\n\t\t\t\t\t\t...(titleBeginDate && {\n\t\t\t\t\t\t\ttitleBeginDate,\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t...(abbreviation && { abbreviation }),\n\t\t\t\t\t\t...(title && { title }),\n\t\t\t\t\t\t...(waiverDescription && { waiverDescription }),\n\t\t\t\t\t\tcode: part,\n\t\t\t\t\t\tprogress,\n\t\t\t\t\t\tsegments,\n\t\t\t\t\t\toldTitle,\n\t\t\t\t\t\thasOnlineMaterials,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t);\n\n\t\t\t// Include progress for each related program rule course.\n\t\t\trelated.forEach(({ abbreviation, title, progress, exam }) => {\n\t\t\t\tprogramRuleCourses[exam] = {\n\t\t\t\t\t...programRuleCourses[exam],\n\t\t\t\t\t...(abbreviation && { abbreviation }),\n\t\t\t\t\t...(title && { title }),\n\t\t\t\t\tprogress,\n\t\t\t\t};\n\t\t\t});\n\t\t});\n\t}, [marketingPrograms, programRuleCourses, rules, series]);\n\n\tif (steps) {\n\t\tconst pathExpireDate = getPathExpiryDate(\n\t\t\tstudentProgress.rules[0].endingSeries,\n\t\t);\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{isLoading && }\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n\n\tif (paths) {\n\t\treturn (\n\t\t\t
\n\t\t\t\t{isLoading && }\n\t\t\t\t

\n\t\t\t\t\tYou currently have equal course credit in multiple paths toward\n\t\t\t\t\tearning this designation. Please choose the path most relevant for you\n\t\t\t\t\tto complete {studentProgress.abbreviation}.\n\t\t\t\t

\n\t\t\t\t\n\t\t\t\t\t{\n\t\t\t\t\t\tpaths.map((path, index) => {\n\t\t\t\t\t\t\tconst pathExpireDate = getPathExpiryDate(\n\t\t\t\t\t\t\t\trules[index].endingSeries,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t/* eslint-disable react/no-array-index-key */\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t {}}\n\t\t\t\t\t\t\t\t\t\tisOpen={false}\n\t\t\t\t\t\t\t\t\t\tariaControl={`path-panel-${index}`}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tPath {index + 1}\n\t\t\t\t\t\t\t\t\t\t\t{pathExpireDate !== undefined && (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tExpires {pathExpireDate}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tPath ID: {rules[index].ruleId}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})\n\t\t\t\t\t\t/* eslint-enable react/no-array-index-key */\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t}\n\n\treturn <>;\n};\n","import * as React from 'react';\n\nimport { AccordionRibbon } from '@app/components/accordion';\nimport { SCROLL_PROGRAM_STEP } from '@app/constants/scroll-to-ids';\nimport { ExtStatus, MatriculationStatus } from '@app/interfaces/api-contact/person/matriculation';\nimport { ProgramContent } from '@app/interfaces/api-contact/progress-tracker';\nimport { Auth } from '@app/interfaces/store/auth';\nimport { Content } from '@app/interfaces/store/content';\nimport { Step } from '@app/interfaces/store/content/program-rule';\nimport { isComplete, isInProgress } from '@app/utility/progress';\n\nimport { DetailStepCardMatric } from './detail-step-card-matric';\nimport {\n\tDetailStepAccordionList,\n\tDetailStepCourseList,\n\tDetailStepEthicsList,\n\tDetailStepProgramList,\n} from './detail-step-list-types';\nimport { StepNames, UserProgress } from '../progress-tracker.helper';\n\ntype PropsDetailStepItem = {\n\tauth: Auth;\n\tcontent: Content;\n\tcompletionData: UserProgress;\n\tmatriculationStatus?: MatriculationStatus;\n\tname: StepNames;\n\topenStep: string;\n\tstep: Step;\n\tstepIndex: number;\n\tstepTitle: string;\n\tstudentProgress: ProgramContent;\n};\n\ntype PropsTitle = {\n\tid: number;\n\ttitle: string;\n\trequired?: string;\n};\n\nconst Title: React.FC = ({ id, title, required }: PropsTitle) => (\n\t<>\n\t\t\n\t\t\tSTEP {id}:{' '}\n\t\t\n\t\t{title}\n\t\t{!!required && ({required})}\n\t\n);\n\n/**\n * Single step. Renders differently based on step type.\n */\nexport const DetailStepItem: React.FC = ({\n\tauth,\n\tcompletionData,\n\tcontent,\n\tmatriculationStatus,\n\tname,\n\topenStep,\n\tstep,\n\tstepIndex,\n\tstepTitle,\n\tstudentProgress,\n}: PropsDetailStepItem) => {\n\tconst stepData = Object.values(step)[0];\n\n\tconst {\n\t\tprograms: marketingPrograms,\n\t\tcourses: marketingCourses,\n\t\ttopicCourses: marketingTopicCourses,\n\t\tmatricTopicCourse,\n\t} = content.marketing;\n\n\tconst { isSubscription, showKeypersonView } = content.progressTracker;\n\n\t// Reorder electives based on progress:\n\t// 1. If requirement met, show only completed.\n\t// 2. Else, show in progress, completed, then others.\n\tconst electiveIds = (() => {\n\t\tif (name === 'electives') {\n\t\t\tconst { courses } = content.programRule;\n\t\t\tconst {\n\t\t\t\trequired,\n\t\t\t\telectives,\n\t\t\t}: { required: number; electives: string[] } = stepData;\n\t\t\tconst electiveCourses = electives.map((id) => courses[id]);\n\n\t\t\tconst completedElectives = electiveCourses\n\t\t\t\t.filter((course) => course !== undefined && isComplete(course.progress))\n\t\t\t\t.map(({ code }) => code);\n\n\t\t\t// If completed electives satisfy requirement, just display completed.\n\t\t\tif (completedElectives.length >= required) {\n\t\t\t\treturn completedElectives;\n\t\t\t}\n\n\t\t\tconst inProgressElectives = electiveCourses\n\t\t\t\t.filter(\n\t\t\t\t\t(course) => course !== undefined && isInProgress(course.progress),\n\t\t\t\t)\n\t\t\t\t.map(({ code }) => code);\n\n\t\t\tconst notStarted = electives.filter(\n\t\t\t\t(elective) =>\n\t\t\t\t\t![...completedElectives, ...inProgressElectives].includes(elective),\n\t\t\t);\n\n\t\t\treturn [...completedElectives, ...inProgressElectives, ...notStarted];\n\t\t}\n\n\t\treturn [];\n\t})();\n\n\t// Display logic for how many courses are required to complete this step.\n\tconst required = (() => {\n\t\tif (name === 'cores' || name === 'concentrations') {\n\t\t\tconst requirements = Object.values(stepData)\n\t\t\t\t.filter((courses = []) => courses.length > 0)\n\t\t\t\t.map((courses = []) => courses.length);\n\n\t\t\tconst min = Math.min(...requirements);\n\t\t\tconst max = Math.max(...requirements);\n\t\t\treturn min !== max ? `${min} - ${max}` : String(min);\n\t\t}\n\n\t\tif (name === 'matriculation') {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn completionData[name] && String(completionData[name].total);\n\t})();\n\n\treturn (\n\t\t}\n\t\t\tdefaultOpen={openStep === name || isSubscription}\n\t\t\topenOverride={openStep === name}\n\t\t\thideButton={isSubscription}\n\t\t>\n\t\t\t{name === 'prerequisites' && marketingPrograms && (\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t{(name === 'cores' || name === 'concentrations') &&\n\t\t\t\tmarketingCourses &&\n\t\t\t\tmarketingTopicCourses && (\n\t\t\t\t\t\n\t\t\t\t)}\n\n\t\t\t{name === 'electives' &&\n\t\t\t\tmarketingCourses &&\n\t\t\t\tmarketingTopicCourses &&\n\t\t\t\t!!electiveIds.length && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\n\t\t\t{name === 'matriculation' && (\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t{name === 'ethics' && marketingCourses && marketingTopicCourses && (\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n","import * as React from 'react';\n\nimport {\n\tAccordion,\n\tAccordionItem,\n\tAccordionItemHeading,\n\tAccordionItemPanel,\n} from '@app/components/accordion';\nimport { CPCU } from '@app/constants/course-groups';\nimport { CPCU_PROGRAM_ID, ETHICS_311_CODE, ETHICS_312_CODE } from '@app/constants/program-steps';\nimport { ProgramContent } from '@app/interfaces/api-contact/progress-tracker';\nimport { Auth } from '@app/interfaces/store/auth';\nimport { Content } from '@app/interfaces/store/content';\nimport {\n\tMarketingCourses,\n\tMarketingPrograms,\n\tMarketingTopicCourses,\n} from '@app/interfaces/store/content/marketing';\nimport {\n\tCoreStep,\n\tProgramRuleCourses,\n\tProgramRuleProducts,\n} from '@app/interfaces/store/content/program-rule';\nimport { isComplete, isInProgress, isNotStarted } from '@app/utility/progress';\n\nimport { DetailStepAccordionBadge } from './detail-step-card';\nimport { DetailStepCardCourse } from './detail-step-card-course';\nimport { DetailStepCardProduct } from './detail-step-card-product';\n\ntype PropsDetailStepCourseList = {\n\tauth: Auth;\n\tcourses: string[];\n\tgroupName: string;\n\tisSubscription: boolean;\n\tkeypersonView?: boolean;\n\tmarketingCourses: MarketingCourses;\n\tmarketingTopicCourses: MarketingTopicCourses;\n\tprogramRuleCourses: Record;\n\tprogramRuleProducts: Record;\n\tsortByAbbreviation?: boolean;\n};\n\ntype PropsDetailStepAccordionList = {\n\tauth: Auth;\n\tcoreStep: CoreStep;\n\tcontent: Content;\n\tisSubscription: boolean;\n\tkeypersonView?: boolean;\n\tmarketingCourses: MarketingCourses;\n\tmarketingTopicCourses: MarketingTopicCourses;\n\tprogramRuleCourses: ProgramRuleCourses;\n\tprogramRuleProducts: ProgramRuleProducts;\n\tgroupName: string;\n\tstudentProgress: ProgramContent;\n};\n\ntype PropsDetailStepProgramList = {\n\tprograms: MarketingPrograms;\n\tprogramIds: string[];\n};\n\ntype PropsDetailStepEthicsList = {\n\tprogramId: number;\n\tethics: string[];\n\tkeypersonView?: boolean;\n\tmarketingCourses: MarketingCourses;\n\tmarketingTopicCourses: MarketingTopicCourses;\n\tmyGradesUrl: string;\n\tmyCoursesUrl: string;\n\tprogramRuleCourses: ProgramRuleCourses;\n\tprogramRuleProducts: ProgramRuleProducts;\n};\n\n/**\n * List of course cards with student progress.\n * Specific to the progress tracker.\n */\nexport const DetailStepCourseList: React.FC = ({\n\tauth,\n\tcourses,\n\tgroupName,\n\tisSubscription = false,\n\tkeypersonView = false,\n\tmarketingCourses,\n\tmarketingTopicCourses,\n\tprogramRuleCourses,\n\tprogramRuleProducts,\n\tsortByAbbreviation = true,\n}: PropsDetailStepCourseList) => (\n\t<>\n\t\t{courses\n\t\t\t.map((courseCode) => ({\n\t\t\t\t...programRuleCourses[courseCode],\n\t\t\t\t...marketingCourses[courseCode],\n\t\t\t\t...(programRuleCourses[courseCode]?.topicCourse && {\n\t\t\t\t\ttopicCourse: {\n\t\t\t\t\t\t...programRuleProducts[\n\t\t\t\t\t\t\tprogramRuleCourses[courseCode].examWindows[0].onlineCourseIds[0]\n\t\t\t\t\t\t],\n\t\t\t\t\t\t...marketingTopicCourses[\n\t\t\t\t\t\t\tprogramRuleCourses[courseCode].examWindows[0].onlineCourseIds[0]\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t}))\n\t\t\t.filter(({ title }) => title)\n\t\t\t.sort(({ abbreviation: a = '' }, { abbreviation: b = '' }) =>\n\t\t\t\tsortByAbbreviation ? a.localeCompare(b) : 0,\n\t\t\t)\n\t\t\t.map((course) => {\n\t\t\t\tconst { topicCourse = null } = course;\n\t\t\t\t// Courses sometimes includes topic courses.\n\t\t\t\tif (topicCourse) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t})}\n\t\n);\n\n/**\n * Multiple groupings of course cards with student progress.\n * Specific to the progress tracker.\n */\nexport const DetailStepAccordionList: React.FC = ({\n\tauth,\n\tcoreStep,\n\tcontent,\n\tgroupName,\n\tisSubscription = false,\n\tkeypersonView = false,\n\tmarketingCourses,\n\tmarketingTopicCourses,\n\tprogramRuleCourses,\n\tprogramRuleProducts,\n\tstudentProgress,\n}: PropsDetailStepAccordionList) => {\n\tconst { rules } = studentProgress;\n\tconst studentRecommendedRules = React.useMemo(() => rules.reduce(\n\t\t(acc: number[], rule) => {\n\t\t\tif (rule.recommended) {\n\t\t\t\tacc.push(rule.ruleId);\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, [],\n\t), [rules]);\n\n\tconst getRecommendedConcentration = (\n\t\tstudentRecommendedRuleIds: number[],\n\t\tcoreStepCourses: string [],\n\t) => {\n\t\tconst { cores = [] } = content?.programRule || {};\n\t\tlet recommendedConcentration;\n\t\tfor (const core of cores) {\n\t\t\tconst hasStudentConcentrations = core.concentrations.some(\n\t\t\t\t({ ruleId }) => studentRecommendedRuleIds.includes(ruleId),\n\t\t\t);\n\n\t\t\tif (hasStudentConcentrations) {\n\t\t\t\trecommendedConcentration = core.concentrations.find(\n\t\t\t\t\t({ courses }) => courses?.some((course) => coreStepCourses.includes(course)),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn recommendedConcentration;\n\t};\n\n\tconst getInProgressRuleId = (name: string) => rules.find(\n\t\t\t({ display }) => display === name,\n\t\t)?.ruleId;\n\n\tconst getConcentrationRuleId = (name: string) => {\n\t\tconst { cores = [] } = content?.programRule || {};\n\t\treturn cores[0].concentrations.find(\n\t\t\t({ title }) => title === name,\n\t\t)?.ruleId;\n\t};\n\n\tif (Object.values(coreStep).length > 1) {\n\t\treturn (\n\t\t\t\n\t\t\t\t{Object.entries(coreStep).map(([name, courses], index) => {\n\t\t\t\t\tconst recommendedRuleId = getRecommendedConcentration(studentRecommendedRules, courses);\n\t\t\t\t\tconst ruleId = recommendedRuleId?.ruleId ?\n\t\t\t\t\t\trecommendedRuleId.ruleId :\n\t\t\t\t\t\tgetInProgressRuleId(name) || getConcentrationRuleId(name);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t {}}\n\t\t\t\t\t\t\t\tisOpen={false}\n\t\t\t\t\t\t\t\tariaControl={`concentration-panel-${index}`}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{name}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{ruleId && (\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\tPath ID: {ruleId}\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t
\n\t\t);\n\t}\n\n\treturn (\n\t\t\n\t);\n};\n\n/**\n * List of programs as product cards with student progress.\n * Specific to the progress tracker.\n */\nexport const DetailStepProgramList: React.FC = ({\n\tprograms,\n\tprogramIds,\n}: PropsDetailStepProgramList) => {\n\tconst completedPrograms = Object.values(programs).filter(({ progress }) =>\n\t\tisComplete(progress),\n\t);\n\n\t// Show a completed card with no CTA if it's completed.\n\tif (completedPrograms.length > 0) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{completedPrograms.map((program) => (\n\t\t\t\t\t\n\t\t\t\t\t\t