{"version":3,"file":"js/rescript-bundles-user-dashboard-projects-user-projects-9cfa6117b4e81c83c31b.chunk.js","mappings":"0LAMA,SAASA,EAAcC,GACrB,GAAqB,oBAAVC,MACT,OAAO,IAAIA,MAAMD,GAEnB,IAAIE,EAAUC,SAASC,YAAY,SAEnC,OADAF,EAAQG,UAAUL,GAAW,GAAM,GAC5BE,CACT,CAEA,SAASI,EAAUC,GACjB,OAAQA,GACN,IAAK,GACL,IAAK,IACD,OAAe,EACnB,QAWE,IAVA,IAAIC,EAAM,KAAqB,EAAGD,GAE9BE,EAAkB,MADVD,EAAIA,EAAIE,OAAS,EAAI,GACL,KAAgB,GAAI,EAAGF,GAAOA,EACtDG,EAAU,KAAsB,IAAK,EAAGF,GACxCG,EAA2B,IAAnBD,EAAQD,OAAeD,EAAQE,EAAQ,GAC/CE,EAAI,MAAgB,SAAWC,GAC3B,OAAuB,IAAhBA,EAAKJ,MACb,GAAG,KAAgB,IAAKE,IAC3BG,EAAKF,EAAEH,OAAS,EAAI,EACpBM,EAAe,IACP,CACV,IAAIC,EAAMD,EACNE,EAAIH,EACR,GAAIG,EAAI,EACN,OAAOD,EAETD,EAAO,CACLG,GAAIN,EAAEK,GACNE,GAAIH,GAENF,EAAKG,EAAI,EAAI,CAEf,EAEN,CAEA,SAASG,EAAKC,EAAiBC,GAC7B,IAAIC,EAA0B,qBAAXC,YAAyBC,EAAYD,OACxD,YAAwBC,IAApBJ,EACKhB,EAAUgB,QACEI,IAAVF,EACFlB,EAAUkB,EAAMG,SAASC,UAEjB,CAEnB,CAEA,SAASC,IACP,IAAIC,EAA6B,qBAAXL,YAAyBC,EAAYD,OAC3D,QAAiBC,IAAbI,EACF,MAAO,GAET,IAAItB,EAAMsB,EAASH,SAASE,KAC5B,OAAQrB,GACN,IAAK,GACL,IAAK,IACD,MAAO,GACX,QACE,OAAO,KAAqB,EAAGA,GAErC,CAEA,SAASuB,EAAYxB,GACnB,OAAQA,GACN,IAAK,GACL,IAAK,IACD,MAAO,GACX,QACE,IAAIiB,EAAQ,KAAsB,IAAK,EAAGjB,GAC1C,OAAqB,IAAjBiB,EAAMd,OACD,GAEAc,EAAM,GAGrB,CAEA,SAASQ,EAAOV,EAAiBC,GAC/B,IAAIC,EAA0B,qBAAXC,YAAyBC,EAAYD,OACxD,YAAwBC,IAApBJ,EACKS,EAAYT,QACAI,IAAVF,EACFO,EAAYP,EAAMG,SAASK,QAE3B,EAEX,CAEA,SAASC,EAAKZ,GACZ,IAAIG,EAA2B,qBAAZU,aAA0BR,EAAYQ,QACrDvB,EAA4B,qBAAXc,YAAyBC,EAAYD,OAC1D,QAAcC,IAAVF,QAAmCE,IAAZf,EAGzB,OAFAa,EAAMW,UAAU,KAAM,GAAId,QAC1BV,EAAQyB,cAAcrC,EAAc,YAIxC,CAEA,SAASsC,EAAQhB,GACf,IAAIG,EAA2B,qBAAZU,aAA0BR,EAAYQ,QACrDvB,EAA4B,qBAAXc,YAAyBC,EAAYD,OAC1D,QAAcC,IAAVF,QAAmCE,IAAZf,EAGzB,OAFAa,EAAMc,aAAa,KAAM,GAAIjB,QAC7BV,EAAQyB,cAAcrC,EAAc,YAIxC,CA+BA,SAASwC,EAAIjB,EAAiBC,GAC5B,MAAO,CACCF,KAAMA,EAAKC,GACXO,KAAMA,IACNG,OAAQA,EAAOV,GAEzB,CAyBA,SAASkB,EAAOC,EAAWlB,GACzB,IAAIC,EAAQ,YAAe,WACrB,YAAkBE,IAAde,EACKA,EAEAF,OAAIb,EAEf,IACAgB,EAASlB,EAAM,GACfmB,EAAQnB,EAAM,GAiBlB,OAhBA,aAAgB,WACR,IAAIoB,EAlCd,SAAkBC,GAChB,IAAIf,EAA6B,qBAAXL,YAAyBC,EAAYD,OAC3D,QAAiBC,IAAbI,EACF,OAAO,WAEP,EAEF,IAAIgB,EAAY,WACdD,EAASN,OAAIb,GACf,EAEA,OADAI,EAASiB,iBAAiB,WAAYD,GAC/BA,CACT,CAsB0BE,EAAS,SAAUT,GAC7BG,GAAO,SAAUnB,GACX,OAAOgB,CACT,GACN,IACAU,EAASV,OAAIb,GAMjB,OAlFV,SAAqBb,EAAGqC,GACtB,GAAIrC,EAAEgB,OAASqB,EAAErB,MAAQhB,EAAEmB,SAAWkB,EAAElB,OACtC,OAAO,EAIP,IAFA,IAAImB,EAAStC,EAAEQ,KACX+B,EAASF,EAAE7B,OACH,CACV,IAAIgC,EAAQD,EACRE,EAAQH,EACZ,IAAKG,EACH,QAAID,EAMN,IAAKA,EACH,OAAO,EAET,GAAIC,EAAMnC,KAAOkC,EAAMlC,GACrB,OAAO,EAETiC,EAASC,EAAMjC,GACf+B,EAASG,EAAMlC,EAEjB,CAEJ,CAkDcmC,CAAYN,EAAQN,IACtBD,GAAO,SAAUnB,GACX,OAAO0B,CACT,IAEC,WA/BjB,IAAoBH,EACdhB,EADcgB,EAgCWF,OA9BZlB,KADbI,EAA6B,qBAAXL,YAAyBC,EAAYD,SAEzDK,EAAS0B,oBAAoB,WAAYV,EA8B1B,CACV,GAAG,IACHH,CACT,C,86FC/MWc,EAAkB,uCAClBC,EAAS,8BACTC,EAAY,iCACZC,EAAiB,sCACjBC,EAAe,oCACfC,EAAU,+BACVC,EAAO,4BACPC,EAAa,kCACbC,EAAO,4BACPC,EAAO,4BACPC,EAAO,4BACPC,EAAO,4BACPC,EAAO,4BACPC,EAAU,+BACVC,EAAiB,sCACjBC,EAAqB,0CACrBC,EAA4B,iDAC5BC,EAAY,iCACZC,EAAa,kCACbC,EAAc,mCACdC,EAAa,kCACbC,EAAiB,sCACjBC,EAAgB,qCAChBC,EAAM,2BACNC,EAAe,oCACfC,GAAgB,qCAChBC,GAAQ,6B,gGC1BR,GAAS,wCACTC,GAAiB,gDACjBC,GAAe,8CACfC,GAAwB,uDACxBC,GAAe,8CACfC,GAAmB,kDACnBC,GAAmB,kDACnBC,GAAuB,sDACvB,GAAO,sCACP,GAAa,4CACb,GAAO,sCACP,GAAO,sCACP,GAAO,sCACP,GAAO,sCACP,GAAO,sCACPC,GAAkB,iDAClBC,GAAsB,qDACtBC,GAAsB,qDACtBC,GAAwB,uDACxBC,GAAsB,qDACtBC,GAAmB,kDACnBC,GAAa,4CACbC,GAAqB,oDACrBC,GAAc,6CACdC,GAAc,6CACdC,GAAuB,sDACvBC,GAAe,8CACfC,GAAc,6CACdC,GAAe,8CACfC,GAAc,6CACdC,GAAoB,mDACpBC,GAAkB,iDAClBC,GAAgB,+CAChBC,GAAgB,+CAChBC,GAAoB,mDACpB,GAAM,qC,oCCnCNC,GAAkB,qDAClBC,GAAmB,sDACnB,GAAS,4CACT,GAAe,kDACf,GAAwB,2DACxBC,GAAW,8CACX,GAAO,0CACP,GAAa,gDACb,GAAO,0CACP,GAAO,0CACP,GAAO,0CACP,GAAO,0CACP,GAAO,0CACPC,GAAc,iDACd,GAAO,0CACP,GAAsB,yDACtB,GAAwB,2DACxB,GAAsB,yDACtB,GAAmB,sDACnBC,GAAY,+CACZ,GAAc,iDACdC,GAAqB,wDACrBC,GAA0B,6DAC1BC,GAA2B,8DAC3BC,GAAgB,mDAChBC,GAAqB,wDACrBC,GAAwB,2DACxB,GAAa,gDACbC,GAAiB,oDACjB,GAAe,kDACfC,GAA8B,iEAC9BC,GAAmB,sDACnBC,GAAuB,0DACvBC,GAA+B,kEAC/BC,GAAsB,yDACtBC,GAAqB,wDACrBC,GAAuB,0DACvBC,GAAyB,4DACzBC,GAAwB,2DACxBC,GAAsB,yDACtBC,GAAe,kDACfC,GAAwB,2DACxBC,GAA0B,6DAC1B,GAAgB,mDAChBC,GAAiB,oDACjBC,GAAkB,qDAClBC,GAAmB,sDACnB,GAAM,yCACNC,GAAc,iDACd,GAAgB,mDAChB,GAAS,4CChChBC,GAAMC,EA0PV,IAAIC,GAxPJ,SAA2CC,GACzC,IAMIC,EAQAC,EAQAC,EA4FAC,EAlHAC,EAAsBL,EAAMK,oBAC5BC,EAAUN,EAAMM,QAChB7H,EAAQ8H,EAAAA,UAAe,WACrB,MAAO,QACT,IACAC,EAA2B/H,EAAM,GAErC,GAAoB,UAAhB6H,EAAQG,IAAiB,CAC3B,IAAIC,EAAiBJ,EAAQK,KAAKD,eAClCT,OAAyBtH,IAAnB+H,EAA+BA,EAAiB,CACxD,KAAO,CACL,IAAIE,EAAmBN,EAAQK,KAAKD,eACpCT,OAA2BtH,IAArBiI,EAAiCA,EAAmB,CAC5D,CAEA,GAAoB,UAAhBN,EAAQG,IAAiB,CAC3B,IAAII,EAAiBP,EAAQK,KAAKE,eAClCX,OAA2BvH,IAAnBkI,EAA+BA,EAAiB,CAC1D,KAAO,CACL,IAAIC,EAAmBR,EAAQK,KAAKE,eACpCX,OAA6BvH,IAArBmI,EAAiCA,EAAmB,CAC9D,CAEA,GAAoB,UAAhBR,EAAQG,IACVN,EAAQ,SACH,CACL,IAIMY,EAJFnJ,EAAU0I,EAAQK,KAClBK,EAAiBpJ,EAAQoJ,eACzBC,EAAYX,EAAQY,GACxB,GAAuB,UAAnBlB,EAAMmB,SAERJ,EAA2B,WAAnBnJ,EAAQwJ,OAAsBC,EAAAA,KAAgBA,EAAAA,SAAqB,CACnEC,SAAU,CACRD,EAAAA,IAAeE,EAAAA,GAAc,CACvBC,UAAW3B,GAAIvD,aACfmF,QAAU,SAAUjJ,GAChBgI,GAAyB,SAAUhI,GAC7B,MAAO,OACT,GACN,EACF8I,SAAU,WAEH,UAAb7I,EAAM,GAAiB4I,EAAAA,IAAe,MAAO,CACrCC,SAAUD,EAAAA,KAAgB,MAAO,CAC3BC,SAAU,CACRD,EAAAA,IAAe,MAAO,CAChBC,SAAU,gBACVE,UAAW3B,GAAI5C,mBAErBoE,EAAAA,KAAgB,MAAO,CACjBC,SAAU,CACRD,EAAAA,IAAeK,EAAAA,GAAa,CACtBC,KAAM,KACNC,MAAO,OACPH,QAAU,SAAUjJ,GAChBgI,GAAyB,SAAUhI,GAC7B,MAAO,QACT,GACN,EACF8I,SAAU,WAEhBD,EAAAA,IAAeK,EAAAA,GAAa,CACtBC,KAAM,KACNC,MAAO,OACPH,QAAU,SAAUjJ,GAChBqJ,EAAAA,GAAeC,EAAAA,GAAkBb,IAAa,SAAUc,GAChD,GAAc,OAAVA,EAAEtB,IACJ,OAAOuB,EAAAA,GAAmB,CACdC,WAAY,oCACZC,cAAuB,EACvBC,MAAO,OACPC,SAAU,0CACT,wBAEf1J,OAAOE,SAASyJ,QAClB,GACR,EACFf,SAAU,oBAGlBE,UAAW3B,GAAI/C,uBAGvB0E,UAAW3B,GAAI9C,wBAErByE,UAAW3B,GAAI7C,sBACZ,QAEV,KACXmD,EAAQkB,EAAAA,KAAgB,MAAO,CACzBC,SAAU,CACRD,EAAAA,IAAe,IAAK,CACdC,cAA6B3I,IAAnBqI,GAAmD,IAAnBA,EAAuBsB,OAAOtB,GAAkB,aAAe,eACzGQ,UAAWe,GAAAA,GAAM,CACX1C,GAAIH,gBACJ8C,GAAAA,GAA2BxB,EAAgB,GAAK,EAAInB,GAAI7B,gBAAkB,KAEhFyE,KAAMC,EAAAA,GAAwBC,MAAM1B,KAE1CF,GAEFS,UAAW3B,GAAI5B,wBAGrBkC,EAAQkB,EAAAA,IAAe,IAAK,CACtBC,cAA6B3I,IAAnBqI,GAAmD,IAAnBA,EAAuBsB,OAAOtB,GAAkB,aAAe,eACzGQ,UAAWe,GAAAA,GAAM,CACX1C,GAAIH,gBACJ8C,GAAAA,GAA2BxB,EAAgB,GAAK,EAAInB,GAAI7B,gBAAkB,KAEhFyE,KAAMC,EAAAA,GAAwBC,MAAM1B,IAG9C,CAEA,GAAoB,UAAhBX,EAAQG,IACVL,EAAQ,SACH,CACL,IAGIwC,EAWEC,EAdFzB,EAASd,EAAQK,KAAKS,OACtB0B,EAAWxC,EAAQwC,SACnBC,EAAczC,EAAQY,GAEtB8B,EAAO,EACX,OAAQ5B,GACN,IAAK,SACL,IAAK,WACD4B,EAAO,EACP,MACJ,QACEJ,EAAQ,KAEZ,GAAa,IAATI,EAEFH,EAAmB,WAAXzB,EACRwB,EAAQvB,EAAAA,IAAe4B,GAAAA,EAAa,CAC9BC,GAAIL,EACJlB,KAAM,KACNwB,SAAW,WACP,IAAIlD,EACJ,OAAQmB,GACN,IAAK,QACDnB,EAAM,QACN,MACJ,IAAK,SACDA,EAAM,WACN,MACJ,IAAK,WACDA,EAAM,SACN,MACJ,IAAK,YACDA,EAAM,YACN,MACJ,IAAK,SACDA,EAAM,SAIZI,EAAoB0C,EAAa9C,EACnC,IAGVG,EAAQiB,EAAAA,KAAgBA,EAAAA,SAAqB,CACvCC,SAAU,CACRD,EAAAA,IAAe,MAAO,CAChBC,SAAUsB,EACVpB,UAAW3B,GAAIuD,gBAErB/B,EAAAA,IAAe,MAAO,CAChBC,SAAUD,EAAAA,KAAgBgC,EAAAA,GAAc,CAClC/B,SAAU,CACRD,EAAAA,IAAegC,EAAAA,GAAgBtD,KAAM,CAC/ByB,UAAW3B,GAAIpB,mBACf6C,SAAUD,EAAAA,IAAeiC,GAAAA,EAAe,CAClC3B,KAAM,KACNC,MAAO,WAGnBP,EAAAA,KAAgBgC,EAAAA,GAAatD,KAAM,CAC7BwD,SAAU,CACR9C,IAAK,QACL+C,GAAI,aAENhC,UAAWe,GAAAA,GAAM,CACX1C,GAAIhE,YACJgE,GAAIxB,qBAEViD,SAAU,CACRD,EAAAA,IAAe,MAAO,CAChBC,SAAUD,EAAAA,IAAe,MAAO,CAC1BC,SAAU,OACVE,UAAW3B,GAAI1D,cACfsF,QAAU,SAAUjJ,GAChBiL,EAAAA,GAAUf,EAAAA,GAAsBK,GAClC,IAERvB,UAAW3B,GAAI/D,aAErBuF,EAAAA,IAAe,MAAO,CAChBC,SAAUD,EAAAA,IAAe,MAAO,CAC1BC,SAAU,gBACVE,UAAW3B,GAAI1D,cACfsF,QAAU,SAAUjJ,GAChBkL,GAAAA,EAA4BX,EAAaD,EAC3C,IAERtB,UAAW3B,GAAI/D,mBAMrC0F,UAAW3B,GAAIlB,mBAI/B,CACA,OAAO0C,EAAAA,KAAgB,MAAO,CAClBC,SAAU,CACRD,EAAAA,KAAgB,MAAO,CACjBC,SAAU,CACRD,EAAAA,IAAe,MAAO,CAChBC,SAAU,YACVE,UAAW3B,GAAItC,eAErB8D,EAAAA,KAAgB,MAAO,CACjBC,SAAU,CACRD,EAAAA,IAAe,OAAQ,CACjBC,SAAUgB,OAAOrC,KAEvB,eACAoB,EAAAA,IAAe,OAAQ,CACjBC,SAAUgB,OAAOpC,KAEvB,cAEFsB,UAAW3B,GAAIjB,8BAErBuB,GAEFqB,UAAW3B,GAAIhB,mBAErBuB,GAEFoB,UAAW3B,GAAIR,qBAE7B,E,wBCxOA,IAAIU,GA9BJ,SAAmBC,GACjB,IAAI2D,EAAU3D,EAAM5D,MAChBA,OAAoBzD,IAAZgL,EAAwBA,EAAU,QAC9C,OAAOtC,EAAAA,IAAeuC,GAAAA,GAAW,CACrBxH,MAAOA,EACPuF,KAAM3B,EAAM2B,KACZH,UAAWxB,EAAMwB,UACjBF,SAAUD,EAAAA,KAAgB,IAAK,CACzBC,SAAU,CACRD,EAAAA,IAAe,OAAQ,CACjBwC,OAAQ,KACRC,MAAO,IACPC,GAAI,IACJhC,EAAG,IACHiC,EAAG,MAET3C,EAAAA,IAAe,OAAQ,CACjBwC,OAAQ,KACRC,MAAO,IACPC,GAAI,IACJhC,EAAG,KACHiC,EAAG,OAGXC,KAAML,GAAAA,GAAc5D,EAAM4B,OAC1BsC,SAAU,aAG9B,E,qECbIrE,G,QAEJ,SAASsE,GAAQC,EAAOC,GACtB,OAAQA,EAAO5D,KACb,IAAK,iBACD,IAEI6D,EAFApM,EAAMmM,EAAOb,GACb/K,EAAQP,EAAIqM,UAEhB,GAAqB,IAAjB9L,EAAMd,OACR2M,OAAa3L,MACR,CACL,IAAI6L,EAAW/L,EAAM,GACrB6L,EAAaG,GAAAA,GAAiBD,EAAStD,GACzC,CAEA,MAAO,CACCwD,MAAO,CACLC,QAHEP,EAAMM,MAGOC,QACfL,WAAYA,GAEdC,UAAWrM,EAAIqM,UACfK,uBAAwB,UACxBC,2BAA4BT,EAAMS,4BAE9C,IAAK,4BACD,MAAO,CACCH,MAAON,EAAMM,MACbH,UAAWH,EAAMG,UACjBK,uBAAwBP,EAAOb,GAC/BqB,2BAA4BT,EAAMS,4BAE9C,IAAK,SACD,MAAO,CACCH,MAAOL,EAAOb,GACde,UAAWH,EAAMG,UACjBK,uBAAwBR,EAAMQ,uBAC9BC,2BAA4BT,EAAMS,4BAE9C,IAAK,gCACD,MAAO,CACCH,MAAON,EAAMM,MACbH,UAAWH,EAAMG,UACjBK,uBAAwBR,EAAMQ,uBAC9BC,2BAA4BR,EAAOb,IAInD,CAwVA,IAAIzD,GAtVJ,SAAgCC,GAC9B,IAAIiB,EAAYjB,EAAMiB,UAClB6D,EAAQ9E,EAAM8E,MACdrM,EAAQ8H,EAAAA,WAAiB4D,GAAS,CAChCO,MAAOK,GAAAA,GAAgBC,WAAWC,QAClCV,UAAW,GACXK,uBAAwB,UACxBC,2BAA4B,YAE9BK,EAAWzM,EAAM,GACjB2L,EAAQ3L,EAAM,GA4Bd0M,EAAyB,WAC3BtD,EAAAA,GAAeC,EAAAA,GAA6Cb,EAAWmD,EAAMM,QAAS,SAAU3C,GAC1E,OAAVA,EAAEtB,KAINuB,EAAAA,GAAoB,CACdC,WAAY,yBACZC,cAAuB,EACvBC,MAAO,OACPC,SAAU,+BACT,yDAA0D,CAC3D,QACAL,EAAEyB,KAER0B,EAAS,CACHzE,IAAK,gCACL+C,GAAI,WAdR9K,OAAOE,SAASyJ,QAgBpB,GACR,EACA9B,EAAAA,WAAiB,WA/Cf2E,EAAS,CACHzE,IAAK,4BACL+C,GAAI,aAEV3B,EAAAA,GAAeC,EAAAA,GAAmBb,IAAa,SAAUc,GACjD,GAAc,OAAVA,EAAEtB,IACJ,OAAOyE,EAAS,CACJzE,IAAK,iBACL+C,GAAIzB,EAAEyB,KAGpBxB,EAAAA,GAAoB,CACdC,WAAY,yBACZC,cAAuB,EACvBC,MAAO,OACPC,SAAU,+BACT,gDAAiD,CAClD,QACAL,EAAEyB,KAER0B,EAAS,CACHzE,IAAK,4BACL+C,GAAI,SAEZ,GAyBF,GAAI,IACV,IACIvD,EADArI,EAAUwM,EAAMQ,uBAEpB,GAAgB,UAAZhN,EACFqI,EAAMoB,EAAAA,IAAe+D,GAAAA,GAAQ,CACvB9D,SAAU,8DAEX,GAAgB,aAAZ1J,EACTqI,EAAMoB,EAAAA,IAAe+D,GAAAA,GAAQ,CACvB9D,SAAU,2CAEX,CAEL,GAAuB,IADT8C,EAAMG,UACR5M,OAAc,CACxB,IAAIqL,EAAO,EACX,OAAQhD,EAAMmB,UACZ,IAAK,WACDlB,EAAMoB,EAAAA,KAAgBA,EAAAA,SAAqB,CACrCC,SAAU,CACRD,EAAAA,IAAe,IAAK,CACdC,SAAU,iEACVE,UAAW3B,GAAIwF,cAErBhE,EAAAA,KAAgB,MAAO,CACjBC,SAAU,CACRD,EAAAA,IAAe,QAAS,CAClBC,SAAU,wBACVE,UAAW3B,GAAIyF,QAErBjE,EAAAA,IAAekE,GAAAA,EAAe,CACxBrE,GAAI,8BACJiB,MAAOiC,EAAMM,MAAMC,QACnBa,KAAM,EACNC,YAAa,sBACbjE,UAAW3B,GAAI8E,QACfxB,SAAW,SAAUhM,GACjB,IAAIuO,EAAOtB,EAAMM,MACjBQ,EAAS,CACHzE,IAAK,SACL+C,GAAI,CACFmB,QAASxN,EAAQwO,OAAOxD,MACxBmC,WAAYoB,EAAKpB,aAG3B,KAGV9C,UAAW3B,GAAI+F,WAI7B,MACJ,IAAK,QACL,IAAK,YACD5C,EAAO,EACP,MACJ,QACE/C,EAAM,KAEV,GAAa,IAAT+C,EAAY,CACd,IACI9C,EADAgB,EAAKkD,EAAMM,MAAMJ,WAErB,QAAW3L,IAAPuI,EAAkB,CACpB,IAAI2E,EAAOpB,GAAAA,GAA0BvD,GACrChB,EAAQ4F,EAAAA,GAAe1B,EAAMG,WAAY,SAAUC,GAC3C,OAAIuB,GAAAA,GAAevB,EAAStD,GAAI2E,GACvBxE,EAAAA,KAAgB,MAAO,CAClBC,SAAU,CACRD,EAAAA,IAAe,MAAO,CAChBG,UAAW3B,GAAImG,aACfC,IAAKzB,EAAS0B,OAEpB7E,EAAAA,IAAe,QAAS,CAClBC,SAAUkD,EAAS2B,KACnB3E,UAAW3B,GAAIuG,UAGvB5E,UAAW3B,GAAIwG,eAGpB,IAEX,GACR,MACEnG,EAAQ,oBAEVD,EAAMoB,EAAAA,KAAgBA,EAAAA,SAAqB,CACrCC,SAAU,CACRD,EAAAA,IAAe,IAAK,CACdC,SAAU,kGACVE,UAAW3B,GAAIwF,cAErBhE,EAAAA,KAAgB,MAAO,CACjBC,SAAU,CACRD,EAAAA,IAAe,QAAS,CAClBC,SAAU,WACVE,UAAW3B,GAAIyF,QAErBjE,EAAAA,KAAgBiF,EAAAA,GAAe,CACzBhF,SAAU,CACRD,EAAAA,IAAeiF,EAAAA,GAAiBvG,KAAM,CAChCyB,UAAW3B,GAAI0G,gBACfC,SAAU,KACVC,UAAW,OACXnF,SAAUpB,IAEhBmB,EAAAA,IAAeiF,EAAAA,GAAcvG,KAAM,CAC7BwD,SAAU,CACR9C,IAAK,QACL+C,GAAI,YAENhC,UAAW3B,GAAI6G,aACfpF,SAAUwE,EAAAA,GAAe1B,EAAMG,WAAY,SAAUC,GAC7C,IAAItD,EAAK,oBAAsByF,GAAAA,GAAYnC,EAAStD,IACpD,OAAOG,EAAAA,IAAe,MAAO,CACjBC,SAAUD,EAAAA,KAAgBE,EAAAA,GAAc,CAClCC,UAAW3B,GAAIwG,aACf5E,QAAU,SAAUjJ,GAChB,IAAIkN,EAAOtB,EAAMM,MACjBQ,EAAS,CACHzE,IAAK,SACL+C,GAAI,CACFmB,QAASe,EAAKf,QACdL,WAAYG,GAAAA,GAAiBD,EAAStD,MAGhD,EACFI,SAAU,CACRD,EAAAA,IAAe,MAAO,CAChBG,UAAW3B,GAAImG,aACfC,IAAKzB,EAAS0B,OAEpB7E,EAAAA,IAAe,QAAS,CAClBC,SAAUkD,EAAS2B,KACnB3E,UAAW3B,GAAIuG,YAI7B5E,UAAW3B,GAAI+G,iBACd1F,EACf,UAKtBM,UAAW3B,GAAI+F,QAErBvE,EAAAA,KAAgB,MAAO,CACjBC,SAAU,CACRD,EAAAA,IAAe,QAAS,CAClBC,SAAU,wBACVE,UAAW3B,GAAIyF,QAErBjE,EAAAA,IAAekE,GAAAA,EAAe,CACxBrE,GAAI,kBACJiB,MAAOiC,EAAMM,MAAMC,QACnBa,KAAM,EACNC,YAAa,sBACbjE,UAAW3B,GAAI8E,QACfxB,SAAW,SAAUhM,GACjB,IAAIuO,EAAOtB,EAAMM,MACjBQ,EAAS,CACHzE,IAAK,SACL+C,GAAI,CACFmB,QAASxN,EAAQwO,OAAOxD,MACxBmC,WAAYoB,EAAKpB,aAG3B,KAGV9C,UAAW3B,GAAI+F,UAI/B,CAEF,MACE3F,EAAMoB,EAAAA,IAAe+D,GAAAA,GAAQ,CACvB9D,SAAU,sBAGpB,CACA,IAEInB,EAFA0G,EAAUzC,EAAMS,2BAChBiC,EAAU1C,EAAMG,UAAU5M,OAE9B,GAAgB,IAAZmP,EACF,GAAgB,IAAZA,EAAe,CACjB,IACI/F,EAAoB,KADVqD,EAAMM,MAAMC,QAEtBoC,EAAU3C,EAAMM,MAAMC,QACtBqC,EAAU5C,EAAMM,MAAMJ,WACtBlE,EAAoB,KAAZ2G,QAAoCpO,IAAZqO,EACpC7G,EAAQkB,EAAAA,IAAeK,EAAAA,GAAa,CAC9BC,KAAM,KACNC,MAAO,OACPqF,SAAUlG,EACVmG,iBAAkB9G,EAClBoB,UAAW3B,GAAIsH,WACf1F,QAAU,SAAUjJ,GAChB2M,GACF,EACF7D,SAAU,cAElB,MACEnB,EAAQkB,EAAAA,IAAeK,EAAAA,GAAa,CAC9BC,KAAM,KACNC,MAAO,OACPqF,SAAkC,KAAxB7C,EAAMM,MAAMC,QACtBuC,iBAA0C,KAAxB9C,EAAMM,MAAMC,QAC9BnD,UAAW3B,GAAIsH,WACf1F,QAAU,SAAUjJ,GAChB,IAAI4O,EAAiBtB,EAAAA,GAAe1B,EAAMG,UAAW,GACrD,QAAuB5L,IAAnByO,EAAJ,CAGA,IAAI1B,EAAOtB,EAAMM,MACjBQ,EAAS,CACHzE,IAAK,SACL+C,GAAI,CACFmB,QAASe,EAAKf,QACdL,WAAYG,GAAAA,GAAiB2C,EAAelG,OAGpDiE,GATA,CAUF,EACF7D,SAAU,oBAIlBnB,EAAQ,KAEV,OAAOkB,EAAAA,KAAgB,MAAO,CAClBC,SAAU,CACRD,EAAAA,IAAe,MAAO,CAChBG,UAAW3B,GAAIwH,aACf5F,QAAU,SAAUjJ,GAChBsM,GACF,IAERzD,EAAAA,IAAe,MAAO,CAChBC,SAAUD,EAAAA,KAAgB,MAAO,CAC3BC,SAAU,CACRD,EAAAA,IAAeE,EAAAA,GAAc,CACvBC,UAAW3B,GAAIyH,mBACf7F,QAAU,SAAUjJ,GAChBsM,GACF,EACFxD,SAAUD,EAAAA,IAAekG,GAAAA,EAAgB,CACnCnL,MAAO,QACPuF,KAAM,KACNC,MAAO,WAGnBP,EAAAA,IAAe,KAAM,CACfC,SAAUtB,EAAM5D,QAEtB6D,EACY,UAAZ4G,EAAsBxF,EAAAA,IAAe,MAAO,CACpCC,SAAUD,EAAAA,IAAe,MAAO,CAC1BC,SAAUD,EAAAA,IAAe+D,GAAAA,GAAQ,CAC3B9D,SAAU,8DAEhBE,UAAW3B,GAAI2H,SAErBhG,UAAW3B,GAAI4H,iBACZ,KACXpG,EAAAA,IAAe,MAAO,CAChBC,SAAUnB,EACVqB,UAAW3B,GAAI6H,WAGvBlG,UAAW3B,GAAI8H,gBAErBnG,UAAW3B,GAAI+H,SAGvBpG,UAAW3B,GAAIgI,gBAE7B,ECvYIhI,GAAMC,EAEV,SAASqE,GAAQC,EAAOC,GACtB,MAAe,qBAAXA,EACK,CACCyD,mBAAoB1D,EAAM0D,kBAC1BC,8BAA+B3D,EAAM2D,+BAGtC,CACCD,kBAAmB1D,EAAM0D,kBACzBC,+BAAgC3D,EAAM2D,8BAGlD,CAkQA,IAAIhI,GAhQJ,SAA4CC,GAC1C,IAWIC,EAXAkB,EAAWnB,EAAMmB,SACjB6G,EAAchI,EAAMgI,YACpB/G,EAAYjB,EAAMiB,UAClBxI,EAAQ8H,EAAAA,WAAiB4D,GAAS,CAChC2D,mBAAmB,EACnBC,+BAA+B,IAEjC7C,EAAWzM,EAAM,GACjB2L,EAAQ3L,EAAM,GACdwP,EAAQD,EAAYhH,eAGxB,OAFcgH,EAAY5G,QAGxB,IAAK,SACD,IAAI8G,EAAUF,EAAYhH,eACtBgC,EAAO,EACX,QAAgBrK,IAAZuP,GAAqC,IAAZA,EAAe,CAC1C,IAAIC,EAAmBH,EAAYG,iBACnClI,EAAMoB,EAAAA,KAAgB,MAAO,CACvBC,SAAU,CACRD,EAAAA,IAAeK,EAAAA,GAAc3B,KAAM,CAC7B0C,KAAMC,EAAAA,GAAwBC,MAAM1B,GACpCU,KAAM,KACNC,MAAO,QACPN,SAAU,wBAEK3I,IAArBwP,GAAkCA,EAAmB9G,EAAAA,KAAgBgC,EAAAA,GAAc,CAC3E/B,SAAU,CACRD,EAAAA,IAAegC,EAAAA,GAAgBtD,KAAM,CAC/ByB,UAAW3B,GAAInB,sBACf4C,SAAUD,EAAAA,IAAeiC,GAAAA,EAAe,CAClC3B,KAAM,KACNC,MAAO,WAGnBP,EAAAA,KAAgBgC,EAAAA,GAAatD,KAAM,CAC7BwD,SAAU,CACR9C,IAAK,QACL+C,GAAI,aAENhC,UAAWe,GAAAA,GAAM,CACX1C,GAAIhE,YACJgE,GAAIvB,wBACJuB,GAAItB,2BAEV+C,SAAU,CACRD,EAAAA,IAAe,MAAO,CAChBC,SAAUD,EAAAA,IAAe,MAAO,CAC1BC,SAAU,gBACVE,UAAW3B,GAAI1D,cACfsF,QAAU,SAAUjJ,GAChBiL,EAAAA,GAAUf,EAAAA,GAAwB0F,MAAMnH,GAC1C,IAERO,UAAW3B,GAAI/D,aAErBuF,EAAAA,IAAe,MAAO,CAChBC,SAAUD,EAAAA,IAAe,MAAO,CAC1BC,SAAU,uBACVE,UAAW3B,GAAI1D,cACfsF,QAAU,SAAUjJ,GAChB0M,EAAS,+BACX,IAER1D,UAAW3B,GAAI/D,aAErBuF,EAAAA,IAAe,MAAO,CAChBC,SAAUD,EAAAA,IAAe,MAAO,CAC1BC,SAAU,SACVE,UAAW3B,GAAI1D,cACfsF,QAAU,SAAUjJ,GAChB0M,EAAS,mBACX,IAER1D,UAAW3B,GAAI/D,mBAK5B,MAEb0F,UAAW3B,GAAIX,sBAEvB,MACE8D,EAAO,EAEI,IAATA,IACF/C,EAAMoB,EAAAA,KAAgB,MAAO,CACvBC,SAAU,CACRD,EAAAA,IAAeK,EAAAA,GAAc3B,KAAM,CAC7B0C,KAAMC,EAAAA,GAAwB0F,MAAMnH,GACpCU,KAAM,KACNC,MAAO,OACPyG,OAAQ,cACR/G,SAAU,kBAEhBD,EAAAA,KAAgBgC,EAAAA,GAAc,CACxB/B,SAAU,CACRD,EAAAA,IAAegC,EAAAA,GAAgBtD,KAAM,CAC/ByB,UAAW3B,GAAIpB,mBACf6C,SAAUD,EAAAA,IAAeK,EAAAA,GAAa,CAChCC,KAAM,KACNC,MAAO,OACP0G,gBAAiBzI,GAAIrB,cACrB8C,SAAUD,EAAAA,IAAeiC,GAAAA,EAAe,CAClC3B,KAAM,KACNC,MAAO,cAIzBP,EAAAA,KAAgBgC,EAAAA,GAAatD,KAAM,CAC7BwD,SAAU,CACR9C,IAAK,QACL+C,GAAI,aAENhC,UAAWe,GAAAA,GAAM,CACX1C,GAAIhE,YACJgE,GAAIvB,wBACJuB,GAAItB,2BAEV+C,SAAU,CACRD,EAAAA,IAAe,MAAO,CAChBC,SAAUD,EAAAA,IAAe,MAAO,CAC1BC,SAAU,uBACVE,UAAW3B,GAAI1D,cACfsF,QAAU,SAAUjJ,GAChB0M,EAAS,+BACX,IAER1D,UAAW3B,GAAI/D,aAErBuF,EAAAA,IAAe,MAAO,CAChBC,SAAUD,EAAAA,IAAe,MAAO,CAC1BC,SAAU,SACVE,UAAW3B,GAAI1D,cACfsF,QAAU,SAAUjJ,GAChB0M,EAAS,mBACX,IAER1D,UAAW3B,GAAI/D,oBAOvC0F,UAAW3B,GAAIX,wBAGvB,MACJ,IAAK,WACDe,EAAMoB,EAAAA,KAAgB,MAAO,CACvBC,SAAU,CACRD,EAAAA,IAAe,MAAO,CAChBC,SAAUD,EAAAA,KAAgB,MAAO,CAC3BC,SAAU,CACRD,EAAAA,IAAekH,GAAgB,CACzB5G,KAAM,KACNC,MAAO,UAEbP,EAAAA,IAAe,OAAQ,CACjBC,SAAUkH,EAAAA,GAAeC,SAAST,EAAY5G,WAGtDI,UAAW3B,GAAIzB,YAErBoD,UAAW3B,GAAIT,wBAErBiC,EAAAA,IAAeqH,EAAAA,EAAQ,CACjBjG,KAAMC,EAAAA,GAAwBC,MAAM1B,GACpCO,UAAW3B,GAAI8I,KACfrH,SAAU,oBAGlBE,UAAW3B,GAAIX,uBAErB,MACJ,IAAK,YACDe,EAAMoB,EAAAA,KAAgB,MAAO,CACvBC,SAAU,CACRD,EAAAA,IAAe,MAAO,CAChBC,SAAUD,EAAAA,KAAgB,MAAO,CAC3BC,SAAU,CACRD,EAAAA,IAAeuH,GAAAA,EAAa,CACtBjH,KAAM,KACNC,MAAO,UAEbP,EAAAA,IAAe,OAAQ,CACjBC,SAAUkH,EAAAA,GAAeC,SAAST,EAAY5G,WAGtDI,UAAW3B,GAAIzB,YAErBoD,UAAW3B,GAAIV,yBAErBkC,EAAAA,IAAeqH,EAAAA,EAAQ,CACjBjG,KAAMC,EAAAA,GAAwBC,MAAM1B,GACpCO,UAAW3B,GAAI8I,KACfrH,SAAU,oBAGlBE,UAAW3B,GAAIX,uBAErB,MACJ,IAAK,QACL,IAAK,SACDe,EAAM,KAIZ,OAAOoB,EAAAA,KAAgB,MAAO,CAClBC,SAAU,CACRD,EAAAA,KAAgB,MAAO,CACjBC,SAAU,CACRD,EAAAA,IAAe,MAAO,CAChBC,SAAU,YACVE,UAAW3B,GAAIhC,gBAErBwD,EAAAA,KAAgB,MAAO,CACjBC,SAAU,CACRD,EAAAA,IAAe,OAAQ,CACjBC,SAAUgB,YAAiB3J,IAAVsP,EAAsBA,EAAQ,KAErD,SAEFzG,UAAW3B,GAAIjB,8BAErBqB,GAEFuB,UAAW3B,GAAIhB,mBAErBuF,EAAM0D,kBAAoBzG,EAAAA,IAAewH,GAAAA,GAAiB,CAClDzM,MAAO,SACP0I,MAAQ,WACJI,EAAS,mBACX,EACFjE,UAAWA,EACXE,SAAUA,IACP,KACXiD,EAAM2D,8BAAgC1G,EAAAA,IAAeyH,GAA6B,CAC1E1M,MAAO,uBACP0I,MAAQ,WACJI,EAAS,+BACX,EACFjE,UAAWA,EACXE,SAAUA,IACP,MAEbK,UAAWe,GAAAA,GAAM,CACX1C,GAAId,6BACmB,WAAvBiJ,EAAY5G,OAAsBvB,GAAID,YAAcC,GAAI1B,eAG5E,E,wBCjRI0B,GAAMC,EA8KV,IAAIC,GA5KJ,SAA+CC,GAC7C,IAWIC,EAXAkB,EAAWnB,EAAMmB,SACjBF,EAAYjB,EAAMiB,UAClBxI,EAAQ8H,EAAAA,UAAe,WACrB,MAAO,QACT,IACAwI,EAAwBtQ,EAAM,GAC9Bb,EAAU2I,EAAAA,UAAe,WACvB,MAAO,QACT,IACAyI,EAAsCpR,EAAQ,GAC9CqR,EAAUjJ,EAAMgI,YAAYkB,gBAEhC,QAAgBvQ,IAAZsQ,EAAuB,CACzB,IAAIf,EAAUe,EAAQ7H,OACtBnB,EAAMoB,EAAAA,KAAgBA,EAAAA,SAAqB,CACrCC,SAAU,CACRD,EAAAA,IAAe8H,GAAAA,GAAoC,CAC7CC,SAAUH,EACVhI,UAAWA,EACXoI,gBAAiBrJ,EAAMqJ,gBACvB7C,SAAU,KACV8C,qBAAsBtJ,EAAMsJ,qBAC5BP,sBAAwB,SAAUQ,GAC9BR,GAAsB,SAAUvQ,GAC1B,OAAO+Q,CACT,GACN,EACF/H,UAAW3B,GAAIF,mBAET,cAAZuI,EAA0B,KAAO7G,EAAAA,KAAgB,MAAO,CAChDC,SAAU,CACRD,EAAAA,KAAgB,MAAO,CACjBC,SAAU,CACRD,EAAAA,IAAe,MAAO,CAChBC,SAAU,OACVE,UAAW3B,GAAIhC,gBAErBwD,EAAAA,IAAe,MAAO,CAChBC,SAAUkI,GAAAA,GAAaC,OAAOR,EAAQS,OAAQ,eAC9ClI,UAAW3B,GAAIP,gBAGvBkC,UAAW3B,GAAIN,wBAErB8B,EAAAA,KAAgB,MAAO,CACjBC,SAAU,CACRD,EAAAA,IAAe,MAAO,CAChBC,SAAU,UACVE,UAAW3B,GAAIhC,gBAErBwD,EAAAA,IAAe,MAAO,CAChBC,SAAUkI,GAAAA,GAAaC,OAAOR,EAAQU,UAAW,eACjDnI,UAAW3B,GAAIP,gBAGvBkC,UAAW3B,GAAIN,yBAGvBiC,UAAW3B,GAAIf,yBAIjC,MACEmB,EAAMoB,EAAAA,IAAe,MAAO,CACtBC,SAAUD,EAAAA,KAAgBA,EAAAA,SAAqB,CACzCC,SAAU,CACRD,EAAAA,IAAeK,EAAAA,GAAc3B,KAAM,CAC7B0C,KAAMC,EAAAA,GAAwB0F,MAAMnH,GACpCU,KAAM,KACNC,MAAO,OACPyG,OAAQ,cACR/G,SAAU,kBAEhBD,EAAAA,KAAgBgC,EAAAA,GAAc,CACxB/B,SAAU,CACRD,EAAAA,IAAegC,EAAAA,GAAgBtD,KAAM,CAC/ByB,UAAW3B,GAAIpB,mBACf6C,SAAUD,EAAAA,IAAeK,EAAAA,GAAa,CAChCC,KAAM,KACNC,MAAO,OACP0G,gBAAiBzI,GAAIrB,cACrB8C,SAAUD,EAAAA,IAAeiC,GAAAA,EAAe,CAClC3B,KAAM,KACNC,MAAO,cAIzBP,EAAAA,KAAgBgC,EAAAA,GAAatD,KAAM,CAC7BwD,SAAU,CACR9C,IAAK,QACL+C,GAAI,aAENhC,UAAWe,GAAAA,GAAM,CACX1C,GAAIhE,YACJgE,GAAIvB,wBACJuB,GAAItB,2BAEV+C,SAAU,CACRD,EAAAA,IAAe,MAAO,CAChBC,SAAUD,EAAAA,IAAe,MAAO,CAC1BC,SAAU,uBACVE,UAAW3B,GAAI1D,cACfsF,QAAU,SAAUjJ,GAChBwQ,GAAoC,SAAUxQ,GACxC,MAAO,OACT,GACN,IAERgJ,UAAW3B,GAAI/D,aAErBuF,EAAAA,IAAe,MAAO,CAChBC,SAAUD,EAAAA,IAAe,MAAO,CAC1BC,SAAU,SACVE,UAAW3B,GAAI1D,cACfsF,QAAU,SAAUjJ,GAChBuQ,GAAsB,SAAUvQ,GAC1B,MAAO,OACT,GACN,IAERgJ,UAAW3B,GAAI/D,sBAQ7C0F,UAAW3B,GAAIX,uBAGvB,OAAOmC,EAAAA,KAAgB,MAAO,CAClBC,SAAU,CACRD,EAAAA,KAAgB,MAAO,CACjBC,SAAU,CACRD,EAAAA,IAAe,MAAO,CAChBC,SAAU,kBACVE,UAAWe,GAAAA,GAAM,CACX1C,GAAIhC,cACJgC,GAAIuB,WAGhBnB,GAEFuB,UAAW3B,GAAIhB,mBAER,UAAbpG,EAAM,GAAiB4I,EAAAA,IAAewH,GAAAA,GAAiB,CAC/CzM,MAAO,SACP0I,MAAQ,WACJiE,GAAsB,SAAUvQ,GAC1B,MAAO,QACT,GACN,EACFyI,UAAWA,EACXE,SAAUA,IACP,KACI,UAAfvJ,EAAQ,GAAiByJ,EAAAA,IAAeyH,GAA6B,CAC7D1M,MAAO,uBACP0I,MAAQ,WACJkE,GAAoC,SAAUxQ,GACxC,MAAO,QACT,GACN,EACFyI,UAAWA,EACXE,SAAUA,IACP,MAEbK,UAAW3B,GAAId,8BAE7B,EClKIc,GAAM+J,EAMV,SAASC,GAASC,GAChB,OAAOC,GAAAA,GAAeC,MAAM,OAAQ,CACxB5R,GAAI,MACJC,GAAI,CACFD,GAAI,UACJC,GAAI,CACFD,GAAI,CACFqI,IAAK,OACL+C,GAAI,QAENnL,GAAI,CACFD,GAAI,CACFqI,IAAK,QACL+C,GAAI,KAENnL,GAAI,CACFD,GAAI,CACFqI,IAAK,SACL+C,GAAI,KAENnL,GAAY,OAKnB0R,GAAAA,GAAoBD,GACnC,CA+dA,IAAI/J,GAxdJ,SAAgCC,GAC9B,IA4CIC,EAiCAC,EA8DAC,EAQAY,EAgBAX,EAnKAiJ,EAAkBrJ,EAAMqJ,gBACxBlI,EAAWnB,EAAMmB,SACjBb,EAAUN,EAAMM,QAChBwC,EAAWvC,EAAAA,SAAe,WACtB,OAAOD,EAAQwC,QACjB,GAAI,CAACxC,IACP2J,EAAa1J,EAAAA,SAAe,WACxB,MAAoB,UAAhBD,EAAQG,IACHH,EAAQK,KAAKuJ,YAEbxH,EAAAA,GAAoBpC,EAAQY,GAEvC,GAAI,CAACZ,IACP6J,EAAe5J,EAAAA,SAAe,WAC1B,OAAQuC,EAASrC,KACf,IAAK,aACD,MAAO,yBACX,IAAK,QACD,MAAoB,eAAhBqC,EAASU,GACJ,4BAEA,6BAEb,IAAK,WACD,MAAO,uBACX,IAAK,UACD,OAAQV,EAASU,IACf,IAAK,QACD,MAAO,yBACX,IAAK,cACD,MAAO,+BACX,IAAK,OACD,MAAO,uBAGjB,IAAK,YACD,MAAO,qBAGf,GAAI,CAACV,IACPrK,EAAQ8H,EAAAA,UAAe,WACrB,MAAO,QACT,IACAC,EAA2B/H,EAAM,GAErC,GAAoB,UAAhB6H,EAAQG,IACVR,EAAMoB,EAAAA,IAAe,MAAO,CACtBC,SAAU,wEACVE,UAAW3B,GAAIrD,oBAGrB,OAAQ8D,EAAQK,KAAKS,QACnB,IAAK,QACL,IAAK,SACDnB,EAAM,KACN,MACJ,IAAK,WACDA,EAAMoB,EAAAA,IAAe,MAAO,CACtBC,SAAU,4BACVE,UAAW3B,GAAIjD,kBAErB,MACJ,IAAK,YACDqD,EAAMoB,EAAAA,IAAe,MAAO,CACtBC,SAAU,mCACVE,UAAW3B,GAAInD,mBAErB,MACJ,IAAK,SACDuD,EAAMoB,EAAAA,IAAe,MAAO,CACtBC,SAAU,gCACVE,UAAW3B,GAAI/B,gBAO7B,OAAQgF,EAASrC,KACf,IAAK,aACDP,EAAQmB,EAAAA,IAAe+I,GAAAA,GAAY,CAC7BC,UAAW,aACX7I,UAAW3B,GAAI3C,WACfoE,SAAU,eAEhB,MACJ,IAAK,QACDpB,EAAwB,eAAhB4C,EAASU,GAAsBnC,EAAAA,IAAe+I,GAAAA,GAAY,CAC1DC,UAAW,QACX7I,UAAW3B,GAAI3C,WACfoE,SAAU,sBACPD,EAAAA,IAAe+I,GAAAA,GAAY,CAC9BC,UAAW,QACX7I,UAAW3B,GAAI3C,WACfoE,SAAU,uBAElB,MACJ,IAAK,WACDpB,EAAQmB,EAAAA,IAAe+I,GAAAA,GAAY,CAC7BC,UAAW,WACX7I,UAAW3B,GAAI3C,WACfoE,SAAU,aAEhB,MACJ,IAAK,UACD,OAAQwB,EAASU,IACf,IAAK,QACDtD,EAAQmB,EAAAA,IAAe+I,GAAAA,GAAY,CAC7BC,UAAW,UACX7I,UAAW3B,GAAI3C,WACfoE,SAAU,mBAEhB,MACJ,IAAK,cACDpB,EAAQmB,EAAAA,IAAe+I,GAAAA,GAAY,CAC7BC,UAAW,UACX7I,UAAW3B,GAAI3C,WACfoE,SAAU,yBAEhB,MACJ,IAAK,OACDpB,EAAQmB,EAAAA,IAAe+I,GAAAA,GAAY,CAC7BC,UAAW,UACX7I,UAAW3B,GAAI3C,WACfoE,SAAU,iBAKtB,MACJ,IAAK,YACDpB,EAAQmB,EAAAA,IAAe+I,GAAAA,GAAY,CAC7BC,UAAW,YACX7I,UAAW3B,GAAI3C,WACfoE,SAAU,eAMtB,GAAoB,UAAhBhB,EAAQG,IAAiB,CAC3B,IAAI7I,EAAU0I,EAAQK,KACtBR,EAAQqC,GAAAA,GAA2B5K,EAAQwE,MAAO,UAAa+N,EAAgB,MAAQG,EAAAA,GAAAA,GAAO1S,EAAQ2S,UAAW,eAAiB,IACpI,KAAO,CACL,IAAIrC,EAAU5H,EAAQK,KACtBR,EAAQ+H,EAAQsC,aAAgB,KAAOtC,EAAQ9L,KACjD,CAEA,GAAoB,UAAhBkE,EAAQG,IAAiB,CAC3B,IAAIoG,EAAUvG,EAAQK,KACtBI,EAAQ,YAAcuJ,EAAAA,GAAAA,GAAOzD,EAAQ4D,UAAW,gBAAmB,MAAQjI,GAAAA,GAA2BqE,EAAQxB,YAAa,IAC7H,KAAO,CACL,IAAIyB,EAAUxG,EAAQK,KAClB8J,EAAY3D,EAAQ2D,UACpBvB,EAAkBpC,EAAQoC,gBAC1B7D,EAAcyB,EAAQzB,YAC1B,QAAwB1M,IAApBuQ,EAEFnI,EAAoB,cADNmI,EAAgB9H,OACI8H,EAAgBwB,cAAgB,YAAcJ,EAAAA,GAAAA,GAAOG,EAAW,gBAAmB,MAAQpF,OAE7HtE,EAAQ,YAAcuJ,EAAAA,GAAAA,GAAOG,EAAW,gBAAmB,MAAQpF,CAEvE,CAEA,IACIkF,EACAI,EAqBA/H,EAwGAgI,EA/HA5H,EAAO,EAGX,GAAoB,UAAhB1C,EAAQG,IAAiB,CAC3B,IAAIsG,EAAUzG,EAAQK,KAClBkK,EAAY9D,EAAQ4D,QACpBG,EAAc/D,EAAQwD,eACR5R,IAAdkS,GACFN,EAAYO,EACZH,EAAUlG,GAAAA,GAA0BoG,GACpC7H,EAAO,GAEP5C,GAAQkK,EAAAA,GAAAA,GAAOQ,EAAa,eAAiB,QAEjD,KAAO,CACL,IAAI9D,EAAU1G,EAAQK,KACtB4J,EAAYvD,EAAQuD,UACpBI,EAAU3D,EAAQ2D,QAClB3H,EAAO,CACT,CAKA,GAJa,IAATA,IACF5C,GAAQkK,EAAAA,GAAAA,GAAOC,EAAW,eAAkB,OAAQD,EAAAA,GAAAA,GAAOK,EAAS,gBAGlD,UAAhBrK,EAAQG,IAAiB,CAC3B,IAGIoC,EAHAqH,EAAc5J,EAAQK,KAAKuJ,YAC3Ba,EAAazK,EAAQwC,SACrB5B,EAAKZ,EAAQY,GAEjB,OAAQ6J,EAAWtK,KACjB,IAAK,QACDoC,EAA0B,eAAlBkI,EAAWvH,GAAsB,uBAAyB,wBAClE,MACJ,IAAK,aACL,IAAK,WACDX,EAAQ,eACR,MACJ,IAAK,UACD,OAAQkI,EAAWvH,IACjB,IAAK,QACDX,EAAQ,kBACR,MACJ,IAAK,cACDA,EAAQ,wBACR,MACJ,IAAK,OACDA,EAAQ,gBAId,MACJ,IAAK,YACDA,EAAQ,sBAIdD,EAAQvB,EAAAA,KAAgB,MAAO,CACzBC,SAAU,CACRD,EAAAA,IAAeK,EAAAA,GAAa,CACtBC,KAAM,KACNC,MAAO,OACPJ,UAAW3B,GAAIxD,eACfoF,QAAU,SAAUjJ,GAChBiL,EAAAA,GAAUyG,EACZ,EACF5I,SAAUuB,IAEhBxB,EAAAA,IAAeE,EAAAA,GAAc,CACvBC,UAAW3B,GAAIvD,aACfmF,QAAU,SAAUjJ,GAChBgI,GAAyB,SAAUhI,GAC7B,MAAO,OACT,GACN,EACF8I,SAAU,WAEH,UAAb7I,EAAM,GAAiB4I,EAAAA,IAAe,MAAO,CACrCC,SAAUD,EAAAA,KAAgB,MAAO,CAC3BC,SAAU,CACRD,EAAAA,IAAe,MAAO,CAChBC,SAAU,gBACVE,UAAW3B,GAAI5C,mBAErBoE,EAAAA,KAAgB,MAAO,CACjBC,SAAU,CACRD,EAAAA,IAAeK,EAAAA,GAAa,CACtBC,KAAM,KACNC,MAAO,OACPH,QAAU,SAAUjJ,GAChBgI,GAAyB,SAAUhI,GAC7B,MAAO,QACT,GACN,EACF8I,SAAU,WAEhBD,EAAAA,IAAeK,EAAAA,GAAa,CACtBC,KAAM,KACNC,MAAO,OACPH,QAAU,SAAUjJ,GAChBqJ,EAAAA,GAAeC,EAAAA,GAAkBZ,IAAM,SAAUa,GACzC,GAAc,OAAVA,EAAEtB,IACJ,OAAOuB,EAAAA,GAAmB,CACdC,WAAY,yBACZC,cAAuB,EACvBC,MAAO,OACPC,SAAU,+BACT,wBAEf1J,OAAOE,SAASyJ,QAClB,GACR,EACFf,SAAU,oBAGlBE,UAAW3B,GAAI/C,uBAGvB0E,UAAW3B,GAAI9C,wBAErByE,UAAW3B,GAAI7C,sBACZ,MAEbwE,UAAW3B,GAAItD,uBAEvB,MACEqG,EAAQ,KAGV,IACIoI,EAiDAC,EAlDAC,EAAS,EAEb,GAAoB,UAAhB5K,EAAQG,IAAiB,CAC3B,IAAI0K,EAAY7K,EAAQK,KAAKqK,aACXrS,IAAdwS,GACFH,EAAUG,EACVD,EAAS,GAETN,EAAQ,IAEZ,KAAO,CACL,IAAIQ,EAAY9K,EAAQK,KAAKqK,aACXrS,IAAdyS,GACFJ,EAAUI,EACVF,EAAS,GAETN,EAAQ,IAEZ,CACA,GAAe,IAAXM,EAAc,CAChB,IACIG,EADAC,EAAQN,EAAQM,MAEpBD,OAAkB1S,IAAV2S,GAAiC,KAAVA,EAAejK,EAAAA,IAAe,MAAO,CAC5D4E,IAAK4D,GAASyB,KACXjK,EAAAA,IAAekK,GAAAA,EAAqB,CACvC5J,KAAM,OAEd,IAAIvF,EAAQ4O,EAAQQ,SACpBZ,EAAQvJ,EAAAA,KAAgBA,EAAAA,SAAqB,CACvCC,SAAU,CACRD,EAAAA,IAAe,MAAO,CAChBC,SAAU+J,EACV7J,UAAW3B,GAAIlC,oBAErB0D,EAAAA,KAAgB,MAAO,CACjBC,SAAU,CACRD,EAAAA,IAAe+D,GAAAA,GAAQ,CACjB9D,SAAU0J,EAAQS,WAExBpK,EAAAA,IAAe,OAAQ,CACjBC,eACY3I,IAAVyD,EAAsBA,EAAQ,OAAS,IACrC4O,EAAQU,eAGpBlK,UAAW3B,GAAIjC,oBAI/B,CAEA,IAgDI+N,EAhDAC,EAAS,EACb,OAAQvC,GACN,IAAK,WACD4B,EAAQ5J,EAAAA,IAAewK,GAAwC,CACzDvL,QAASA,EACTD,oBAAqBL,EAAMK,oBAC3Bc,SAAUA,IAEhB,MACJ,IAAK,QACL,IAAK,UACDyK,EAAS,EAIf,GAAe,IAAXA,EACF,GAAoB,UAAhBtL,EAAQG,IACVwK,EAAQ,SACH,CACL,IAAIjD,GAAc1H,EAAQK,KACtBM,GAAYX,EAAQY,GACxB,GAAwB,UAApBmI,EACF,OAAQlI,GACN,IAAK,WACD8J,EAAQ5J,EAAAA,IAAeyK,GAA4C,CAC7D7K,UAAWA,GACX+G,YAAaA,GACb7G,SAAUA,EACVmI,qBAAsBtJ,EAAMsJ,qBAC5BD,gBAAiBA,IAEvB,MACJ,IAAK,OACL,IAAK,UACD4B,EAAQ,KACR,MACJ,QACEA,EAAQ5J,EAAAA,IAAe0K,GAAyC,CAC1D9K,UAAWA,GACX+G,YAAaA,GACb7G,SAAUA,SAIpB8J,EAAQ,IAEZ,CAGF,GAAoB,UAAhB3K,EAAQG,IACVkL,EAAS9L,GAAIpD,sBAEb,OAAQ6D,EAAQK,KAAKS,QACnB,IAAK,QACDuK,EAAS9L,GAAIpD,iBACb,MACJ,IAAK,SACDkP,EAAS,GACT,MACJ,IAAK,WACDA,EAAS9L,GAAIhD,oBACb,MACJ,IAAK,YACD8O,EAAS9L,GAAIlD,qBACb,MACJ,IAAK,SACDgP,EAAS9L,GAAI9B,kBAKrB,OAAOsD,EAAAA,KAAgB,MAAO,CAClBC,SAAU,CACRrB,EACAoB,EAAAA,KAAgB,MAAO,CACjBC,SAAU,CACRD,EAAAA,KAAgB,MAAO,CACjBC,SAAU,CACRD,EAAAA,KAAgB,MAAO,CACjBC,SAAU,CACRpB,EACAmB,EAAAA,IAAe,MAAO,CAChBC,SAAUD,EAAAA,IAAeqH,EAAAA,EAAQ,CAC3BxH,GAAI,cACJuB,KAAMwH,EACN3I,SAAUnB,IAEhBqB,UAAW3B,GAAIpC,eAErB4D,EAAAA,IAAe,MAAO,CAChBC,SAAUP,EACVS,UAAW3B,GAAI1C,sBAGvBqE,UAAW3B,GAAIrC,cAErB6D,EAAAA,KAAgB,MAAO,CACjBC,SAAU,CACRD,EAAAA,IAAe,MAAO,CAChBC,SAAU,0BACVE,UAAW3B,GAAItC,eAErB8D,EAAAA,IAAe,MAAO,CAChBC,SAAUlB,EACVoB,UAAW3B,GAAImM,eAErBpJ,EACAvB,EAAAA,IAAe,MAAO,CAChBC,SAAUsJ,EACVpJ,UAAW3B,GAAInC,kBAK/B8D,UAAW3B,GAAIzC,cAErB6N,GAEFzJ,UAAW3B,GAAIvC,wBAGvBkE,UAAWe,GAAAA,GAAM,CACX1C,GAAIxC,YACJsO,KAGpB,EC9gBI9L,GAAMoM,EAiCV,IAAIlM,GA/BJ,SAA2BC,GACzB,IAAIqJ,EAAkBrJ,EAAMqJ,gBACxBC,EAAuBtJ,EAAMsJ,qBAC7BjJ,EAAsBL,EAAMK,oBAC5Bc,EAAWnB,EAAMmB,SACrB,OAAOE,EAAAA,KAAgBA,EAAAA,SAAqB,CAChCC,SAAU,CACRD,EAAAA,IAAe,MAAO,CAChBC,SAAUwE,EAAAA,GAAe9F,EAAMkM,UAAW,SAAU5L,GAC5C,OAAOe,EAAAA,IAAe8K,GAA6B,CACvC7L,QAASA,EACTa,SAAUA,EACVd,oBAAqBA,EACrBiJ,qBAAsBA,EACtBD,gBAAiBA,GAChB/I,EAAQY,GACvB,IACNM,UAAW3B,GAAIuM,kBAErB/K,EAAAA,IAAe,MAAO,CAChBC,SAAUD,EAAAA,IAAegL,EAAAA,GAAiB,CACpCC,YAAatM,EAAMsM,YACnBC,WAAYvM,EAAMuM,WAClBC,YAAaxM,EAAMwM,cAEzBhL,UAAW3B,GAAIjE,eAIrC,E,gDCtCW,GAAS,2CACT8K,GAAe,iDACf+F,GAAsB,wDACtB7F,GAAkB,oDAClBL,GAAkB,oDAClB,GAAO,yCACP,GAAa,+CACb,GAAO,yCACP,GAAO,yCACP,GAAO,yCACP,GAAO,yCACP,GAAO,yCACPjB,GAAQ,0CACR,GAAM,wCACNoH,GAAmB,qDACnBC,GAAa,+CCVpB9M,GAAM+M,EAmCV,IAAI7M,GAjCJ,SAAiCC,GAC/B,IAGIC,EAHA4M,EAAS7M,EAAM6M,OACf9R,EAAUiF,EAAMjF,QAChB+R,EAAQ/R,EAAQ+R,MAEpB,OAAQ9M,EAAMqJ,iBACZ,IAAK,QACDpJ,EAAM,iCACN,MACJ,IAAK,WACL,IAAK,UACDA,EAAM,kBAIZ,OAAOoB,EAAAA,IAAe0L,GAAAA,EAAkB,CAC5B7L,GAAI,qCACJiB,WAAiBxJ,IAAVmU,EAAsBA,EAAQ,GACrCrH,YAAaxF,EACb+M,eAAgBnN,GAAI6M,iBACpBO,cAAepN,GAAI8M,WACnBxJ,SAAW,SAAUhM,GACjB0V,EAAO,CACDC,MAAO3V,EAAQwO,OAAOxD,MACtB+K,YAAanS,EAAQmS,YACrBC,SAAUpS,EAAQoS,SAClBC,OAAQrS,EAAQqS,OAChBC,WAAYtS,EAAQsS,YAE5B,GAEhB,E,wBC7BIxN,GAAM+M,EAEV,SAASU,GAAWnM,GAClB,OAAQA,GACN,IAAK,WACD,MAAO,CACC,SACA,WACA,aAEZ,IAAK,OACL,IAAK,UACD,MAAO,GACX,IAAK,QACL,IAAK,YACD,MAAO,CACC,SACA,SACA,WACA,YACA,SAEZ,IAAK,QACD,MAAO,CACC,SACA,SACA,WACA,aAIhB,CAiFA,IAAIpB,GA/EJ,SAAyCC,GACvC,IAGIC,EAHA4M,EAAS7M,EAAM6M,OACf9R,EAAUiF,EAAMjF,QAChBoS,EAAWpS,EAAQoS,SAEvB,QAAiBxU,IAAbwU,EAAwB,CAC1B,IAAIpL,EAAIoL,EAASxV,OACjBsI,EAAY,IAAN8B,EACI,IAANA,EAAUO,OAAOP,GAAK,YAAc,WAClC,cACR,MACE9B,EAAM,eAER,OAAOoB,EAAAA,IAAe,MAAO,CACjBC,SAAUD,EAAAA,KAAgBiF,EAAAA,GAAe,CACnChF,SAAU,CACRD,EAAAA,IAAeiF,EAAAA,GAAiBvG,KAAM,CAChCyB,UAAW3B,GAAI0G,gBACfC,SAAU,KACVC,UAAW,OACXnF,SAAUrB,IAEhBoB,EAAAA,KAAgBiF,EAAAA,GAAcvG,KAAM,CAC9BwD,SAAU,CACR9C,IAAK,QACL+C,GAAI,YAENhC,UAAW3B,GAAI6G,aACf6G,YAAY,EACZjM,SAAU,CACRD,EAAAA,IAAe,MAAO,CAChBC,SAAU,WACVE,UAAW3B,GAAI4M,sBAErB3G,EAAAA,GAAwBwH,GAAWtN,EAAMmB,WAAY,SAAUqM,EAAKzV,GAC5D,IAMiE0V,EAN7DN,EAAWpS,EAAQoS,SACvB,OAAO9L,EAAAA,KAAgB,MAAO,CAClBC,SAAU,CACRD,EAAAA,IAAeqM,GAAAA,GAAe,CACxBxM,GAAIoB,OAAOkL,GACX7L,KAAM,KACNgM,aAAsBhV,IAAbwU,IAAoCM,EAEpCN,EADMS,GAAAA,GAAkB7V,EAAM0V,IAEvCtK,SAAW,SAAUhM,GACjB,IAAIwW,EAAUxW,EAAQwO,OAAOgI,QACzBR,EAAWpS,EAAQoS,SACnBU,OAA0BlV,IAAbwU,EACbQ,EAAU7H,EAAAA,GAAkBqH,EAAU,CAACpV,IAAS+N,EAAAA,GAAgBqH,GAAW,SAAUhL,GAC3E,OAAOA,IAAUpK,CACnB,IAER4V,EAAU,CAAC5V,GAAQ,GAEvB8U,EAAO,CACDC,MAAO/R,EAAQ+R,MACfI,YAAanS,EAAQmS,YACrBC,SAAUU,EACVT,OAAQrS,EAAQqS,OAChBC,WAAYtS,EAAQsS,YAE5B,IAERhM,EAAAA,IAAe,MAAO,CAChBC,SAAUkH,EAAAA,GAAeC,SAAS1Q,GAClCyJ,UAAW3B,GAAIyF,SAGvB9D,UAAW3B,GAAI+G,iBACdtE,OAAOkL,GACtB,UAKtBhM,UAAW3B,GAAIiO,cAE7B,EC9GIjO,GAAM+M,EAENmB,GAAe,CACjB,YACA,aACA,QACA,WACA,WAkFF,IAAIhO,GA/EJ,SAA2CC,GACzC,IAGIC,EAHA4M,EAAS7M,EAAM6M,OACf9R,EAAUiF,EAAMjF,QAChBsS,EAAatS,EAAQsS,WAEzB,QAAmB1U,IAAf0U,EAA0B,CAC5B,IAAItL,EAAIsL,EAAW1V,OACnBsI,EAAY,IAAN8B,EACI,IAANA,EAAUO,OAAOP,GAAK,cAAgB,aACpC,gBACR,MACE9B,EAAM,iBAER,OAAOoB,EAAAA,IAAe,MAAO,CACjBC,SAAUD,EAAAA,KAAgBiF,EAAAA,GAAe,CACnChF,SAAU,CACRD,EAAAA,IAAeiF,EAAAA,GAAiBvG,KAAM,CAChCyB,UAAW3B,GAAI0G,gBACfC,SAAU,KACVC,UAAW,OACXnF,SAAUrB,IAEhBoB,EAAAA,KAAgBiF,EAAAA,GAAcvG,KAAM,CAC9BwD,SAAU,CACR9C,IAAK,QACL+C,GAAI,YAENhC,UAAW3B,GAAI6G,aACf6G,YAAY,EACZjM,SAAU,CACRD,EAAAA,IAAe,MAAO,CAChBC,SAAU,aACVE,UAAW3B,GAAI4M,sBAErB3G,EAAAA,GAAwBiI,IAAe,SAAUP,EAAKzV,GAC9C,IAMmE0V,EAN/DJ,EAAatS,EAAQsS,WACzB,OAAOhM,EAAAA,KAAgB,MAAO,CAClBC,SAAU,CACRD,EAAAA,IAAeqM,GAAAA,GAAe,CACxBxM,GAAIoB,OAAOkL,GACX7L,KAAM,KACNgM,aAAwBhV,IAAf0U,IAAsCI,EAEtCJ,EADMO,GAAAA,GAAkB7V,EAAM0V,IAEvCtK,SAAW,SAAUhM,GACjB,IAAIwW,EAAUxW,EAAQwO,OAAOgI,QACzBN,EAAatS,EAAQsS,WACrBW,OAA8BrV,IAAf0U,EACfM,EAAU7H,EAAAA,GAAkBuH,EAAY,CAACtV,IAAS+N,EAAAA,GAAgBuH,GAAa,SAAUlL,GAC/E,OAAOA,IAAUpK,CACnB,IAER4V,EAAU,CAAC5V,GAAQ,GAEvB8U,EAAO,CACDC,MAAO/R,EAAQ+R,MACfI,YAAanS,EAAQmS,YACrBC,SAAUpS,EAAQoS,SAClBC,OAAQrS,EAAQqS,OAChBC,WAAYW,GAEpB,IAER3M,EAAAA,IAAe,MAAO,CAChBC,SAAUkH,EAAAA,GAAoByF,QAAQlW,GACtCyJ,UAAW3B,GAAIyF,SAGvB9D,UAAW3B,GAAI+G,iBACdtE,OAAOkL,GACtB,UAKtBhM,UAAW3B,GAAIqO,gBAE7B,ECvFIrO,GAAM+M,EAwEV,IAAI7M,GAtEJ,SAA2CC,GACzC,IAGIC,EAHA4M,EAAS7M,EAAM6M,OACf9R,EAAUiF,EAAMjF,QAChBmS,EAAcnS,EAAQmS,YAE1B,QAAoBvU,IAAhBuU,EAA2B,CAC7B,IAAInL,EAAImL,EAAYvV,OACpBsI,EAAY,IAAN8B,EACI,IAANA,EAAUO,OAAOP,GAAK,aAAe,aACnC,UACR,MACE9B,EAAM,WAER,OAAOoB,EAAAA,KAAgBiF,EAAAA,GAAe,CAC1BhF,SAAU,CACRD,EAAAA,IAAeiF,EAAAA,GAAiBvG,KAAM,CAChCyB,UAAW3B,GAAI0G,gBACfC,SAAU,KACVC,UAAW,OACXnF,SAAUrB,IAEhBoB,EAAAA,IAAeiF,EAAAA,GAAcvG,KAAM,CAC7BwD,SAAU,CACR9C,IAAK,QACL+C,GAAI,YAENhC,UAAW3B,GAAI6G,aACfpF,SAAUwE,EAAAA,GAAe9F,EAAMuE,WAAY,SAAUC,GAC7C,IAOoEiJ,EAPhEvM,EAAK,sDAAwDyF,GAAAA,GAAYnC,EAAStD,IAClFgM,EAAcnS,EAAQmS,YAC1B,OAAO7L,EAAAA,KAAgB,MAAO,CAClBC,SAAU,CACRD,EAAAA,IAAeqM,GAAAA,GAAe,CACxBxM,GAAIA,EACJS,KAAM,KACNgM,aAAyBhV,IAAhBuU,IAAuCO,EAEvCP,EADMU,GAAAA,GAAkBpJ,EAAStD,GAAIuM,IAE9CtK,SAAW,SAAUhM,GACjB,IAAIwW,EAAUxW,EAAQwO,OAAOgI,QACzBT,EAAcnS,EAAQmS,YACtBiB,OAAgCxV,IAAhBuU,EAChBS,EAAU7H,EAAAA,GAAkBoH,EAAa,CAAC1I,EAAStD,KAAO4E,EAAAA,GAAgBoH,GAAc,SAAU/K,GACxF,OAAOwE,GAAAA,GAAYxE,KAAWwE,GAAAA,GAAYnC,EAAStD,GACrD,IAERyM,EAAU,CAACnJ,EAAStD,IAAM,GAE9B2L,EAAO,CACDC,MAAO/R,EAAQ+R,MACfI,YAAaiB,EACbhB,SAAUpS,EAAQoS,SAClBC,OAAQrS,EAAQqS,OAChBC,WAAYtS,EAAQsS,YAE5B,IAERhM,EAAAA,IAAe,MAAO,CAChBC,SAAUkD,EAAS2B,KACnB3E,UAAW3B,GAAIyF,SAGvB9D,UAAW3B,GAAI+G,iBACd1F,EACf,QAI5B,ECjDIrB,GAAMoM,EAEV,SAAS9H,GAAQC,EAAOC,GACtB,OAAQA,EAAO5D,KACb,IAAK,WACD,MAAO,CACCyL,SAAU9H,EAAM8H,SAChBnR,QAASqJ,EAAMrJ,QACfuR,YAAajI,EAAOb,GACpB4K,cAAehK,EAAMgK,cACrB7B,WAAYnI,EAAMmI,YAE9B,IAAK,eACD,MAAO,CACCL,SAAU9H,EAAM8H,SAChBnR,QAASsJ,EAAOb,GAChB8I,YAAa,EACb8B,cAAehK,EAAMgK,cACrB7B,WAAYnI,EAAMmI,YAE9B,IAAK,gBACD,IAAIrU,EAAMmM,EAAOb,GACjB,MAAO,CACC0I,SAAUhU,EAAIgU,SACdnR,QAASqJ,EAAMrJ,QACfuR,YAAalI,EAAMkI,YACnB8B,cAAelW,EAAIkW,cACnB7B,WAAYrU,EAAIqU,YAE5B,IAAK,sBACD,IAAIjM,EAAU+D,EAAOb,GACrB,MAAO,CACC0I,SAAUpG,EAAAA,GAAe1B,EAAM8H,UAAW,SAAUnU,GAC5C,OAAIsW,EAAAA,GAAetW,EAAMuI,GAChBA,EAEAvI,CAEX,IACNgD,QAASqJ,EAAMrJ,QACfuR,YAAalI,EAAMkI,YACnB8B,cAAehK,EAAMgK,cACrB7B,WAAYnI,EAAMmI,YAE9B,IAAK,wBACD,IAAInD,EAAW/E,EAAOiK,GAClBrN,EAAYoD,EAAOb,GACvB,MAAO,CACC0I,SAAUpG,EAAAA,GAAe1B,EAAM8H,UAAW,SAAUnU,GAC5C,GAAiB,UAAbA,EAAK0I,IACP,OAAO1I,EAET,IAAI4I,EAAO5I,EAAK4I,KACZO,EAAKnJ,EAAKmJ,GACd,OAAIsH,EAAAA,GAAW+F,IAAIrN,EAAID,GACd,CACCR,IAAK,UACLS,GAAIA,EACJ4B,SAAU/K,EAAK+K,SACfnC,KAAM,CACJvE,MAAOuE,EAAKvE,MACZiJ,YAAa1E,EAAK0E,YAClBkF,UAAW5J,EAAK4J,UAChBI,QAAShK,EAAKgK,QACdK,QAASrK,EAAKqK,QACdR,aAAc7J,EAAK6J,aACnB9J,eAAgBC,EAAKD,eACrBG,eAAgBF,EAAKE,eACrBG,eAAgBL,EAAKK,eACrBmH,iBAAkBxH,EAAKwH,iBACvB/G,OAAQT,EAAKS,OACboN,mBAAoB7N,EAAK6N,mBACzBxI,aAAcrF,EAAKqF,aACnByI,aAAc9N,EAAK8N,aACnBvF,gBAAiBE,EACjBqB,UAAW9J,EAAK8J,UAChB3H,SAAUnC,EAAKmC,WAIlB/K,CAEX,IACNgD,QAASqJ,EAAMrJ,QACfuR,YAAalI,EAAMkI,YACnB8B,cAAehK,EAAMgK,cACrB7B,WAAYnI,EAAMmI,YAIlC,CAgiBA,IAAIxM,GA9hBJ,SAAsBC,GACpB,IAkFIC,EAyCAC,EAWAC,EAoGAC,EA1OAsO,EAA0B1O,EAAM0O,wBAChCC,EAAc3O,EAAM2O,YACpBtF,EAAkBrJ,EAAMqJ,gBACxBlI,EAAWnB,EAAMmB,SACjBoD,EAAYvE,EAAMuE,UAClB9L,EAAQ8H,EAAAA,WAAiB4D,GAAS,CAChC+H,SAAUlM,EAAMkM,SAChBnR,QAASiF,EAAMjF,QACfuR,YAAatM,EAAMsM,YACnB8B,cAAepO,EAAMoO,cACrB7B,WAAYvM,EAAMuM,aAEpBrH,EAAWzM,EAAM,GACjB2L,EAAQ3L,EAAM,GAsElB,OARA8H,EAAAA,WAAiB,WACTqO,GAAAA,GAAyB,IAAMC,GAAAA,GAAiCzK,EAAMkI,YAAalI,EAAMrJ,QAASsO,EAAiBsF,IA7DzH9M,EAAAA,GAAeC,EAAAA,GAAkBsC,EAAMkI,YAAalI,EAAMrJ,QAASsO,EAAiBsF,IAAe,SAAU5M,GACrG,MAAc,OAAVA,EAAEtB,IACGyE,EAAS,CACJzE,IAAK,gBACL+C,GAAIzB,EAAEyB,KAGXxB,EAAAA,GAAoB,CACfC,WAAY,eACZC,cAAuB,EACvBC,MAAO,OACPC,SAAU,qBACT,uBAAwB,CACzB,QACAL,EAAEyB,IAGlB,GA8CF,GAAI,CACJY,EAAMkI,YACNlI,EAAMrJ,UAGJsO,GACN,IAAK,QACD,OAAQlI,GACN,IAAK,QACDlB,EAAMoB,EAAAA,IAAeyN,EAAAA,EAAqB,CACpCC,iBAAkBJ,EAAc,oBAAsB,WACtDK,SAAS,EACTL,YAAaA,EACbD,wBAAyBA,IAE/B,MACJ,IAAK,WACDzO,EAAMoB,EAAAA,IAAeyN,EAAAA,EAAqB,CACpCC,iBAAkBJ,EAAc,oBAAsB,WACtDK,SAAS,EACTL,YAAaA,EACbD,wBAAyBA,IAE/B,MACJ,IAAK,OACL,IAAK,UACDzO,EAAM,KACN,MACJ,IAAK,YACL,IAAK,QACDA,EAAM0O,EAActN,EAAAA,IAAe4N,GAAAA,GAAyB,CACpDF,iBAAkB,aACf,KAIjB,MACJ,IAAK,WACL,IAAK,UACD9O,EAAMoB,EAAAA,IAAe6N,EAAAA,GAAgB,CAC/BH,iBAAkB,aAM9B,OAAQ1F,GACN,IAAK,QACDnJ,EAAQyO,EAAc,qBAAuB,oBAC7C,MACJ,IAAK,WACL,IAAK,UACDzO,EAAQ,oBAKd,OAAQmJ,GACN,IAAK,WACD,IAAItI,EACAiC,EAAO,EACX,OAAQ7B,GACN,IAAK,QACL,IAAK,YACL,IAAK,QACD6B,EAAO,EACP,MACJ,QACEjC,EAAQ,KAEC,IAATiC,IACFjC,EAAQM,EAAAA,KAAgBA,EAAAA,SAAqB,CACvCC,SAAU,CACRD,EAAAA,IAAe,MAAO,CAChBC,SAAUD,EAAAA,IAAeE,EAAAA,GAAc,CACjCC,UAAW3B,GAAInE,0BACf+F,QAAU,SAAUjJ,GAChBiL,EAAAA,GAAUf,EAAAA,GAAwB0F,MACpC,EACF9G,SAAU,iBAEhBE,UAAW3B,GAAIpE,qBAErB4F,EAAAA,IAAe,MAAO,CAChBC,SAAUD,EAAAA,IAAeE,EAAAA,GAAc,CACjCC,UAAW3B,GAAInE,0BACf+F,QAAU,SAAUjJ,GAChBiL,EAAAA,GAAUf,EAAAA,GAAuB0F,MACnC,EACF9G,SAAU,gBAEhBE,UAAW3B,GAAIpE,yBAK/B0E,EAAQkB,EAAAA,KAAgBgC,EAAAA,GAAc,CAChC7B,UAAW3B,GAAInF,gBACf4G,SAAU,CACRD,EAAAA,IAAegC,EAAAA,GAAgBtD,KAAM,CAC/ByB,UAAW3B,GAAInF,gBACf4G,SAAUD,EAAAA,IAAeK,EAAAA,GAAa,CAChCC,KAAM,KACNC,MAAO,UACPN,SAAU,sBAGtBD,EAAAA,KAAgBiF,EAAAA,GAAcvG,KAAM,CAC9BwD,SAAU,CACR9C,IAAK,QACL+C,GAAI,aAENhC,UAAW3B,GAAIrE,eACf8F,SAAU,CACRD,EAAAA,IAAe,MAAO,CAChBC,SAAUD,EAAAA,IAAeE,EAAAA,GAAc,CACjCC,UAAW3B,GAAInE,0BACf+F,QAAU,SAAUjJ,GAChBiL,EAAAA,GAAUf,EAAAA,GAAyB0F,MACrC,EACF9G,SAAU,mBAEhBE,UAAW3B,GAAIpE,qBAErB4F,EAAAA,IAAe,MAAO,CAChBC,SAAUD,EAAAA,IAAeE,EAAAA,GAAc,CACjCC,UAAW3B,GAAInE,0BACf+F,QAAU,SAAUjJ,GAChBiL,EAAAA,GAAUf,EAAAA,GAA0B0F,MACtC,EACF9G,SAAU,mBAEhBE,UAAW3B,GAAIpE,qBAErB4F,EAAAA,IAAe,MAAO,CAChBC,SAAUD,EAAAA,IAAeE,EAAAA,GAAc,CACjCC,UAAW3B,GAAInE,0BACf+F,QAAU,SAAUjJ,GAChBiL,EAAAA,GAAUf,EAAAA,GAAqB0F,MACjC,EACF9G,SAAU,cAEhBE,UAAW3B,GAAIpE,qBAErBsF,QAKhB,MACJ,IAAK,QACL,IAAK,UACDZ,EAAQ,KAKd,GAA8B,IAA1BiE,EAAM8H,SAASvU,OAAc,CAC/B,IAEIiL,EAFAb,EAAIqC,EAAMgK,cACVxW,EAAUoI,EAAMmP,QAAUnP,EAAMoP,OAEpCxM,EAAqB,UAAbzB,GAAyBvJ,EAUtB,KAVgCyJ,EAAAA,IAAe,MAAO,CACzDC,SAAUD,EAAAA,IAAeqH,EAAAA,EAAQ,CAC3BjG,KAAMC,EAAAA,GACNpB,SAAUD,EAAAA,IAAegO,EAAAA,EAAmB,CACtCjT,MAAO,WACPuF,KAAM,KACNC,MAAO,iBAGnBJ,UAAW3B,GAAI/E,eAEvB,IACI+H,EADAuK,EAAShJ,EAAMrJ,QAAQqS,OAE3B,QAAezU,IAAXyU,GAA0C,kBAAXA,EAAqB,CACtD,IAAIkC,EAAUlC,EAAOmC,KACrB1M,EAAoB,YAAZyM,EACW,SAAflC,EAAOoC,IAAiB,SAAW,SAEvB,QAAZF,EACmB,SAAflC,EAAOoC,IAAiB,aAAe,cAE3B,UAAZF,EACmB,SAAflC,EAAOoC,IAAiB,eAAiB,gBACvC,wBAGhB,MACE3M,EAAQ,yBAEVzC,EAAQiB,EAAAA,KAAgBA,EAAAA,SAAqB,CACvCC,SAAU,CACRD,EAAAA,KAAgB,MAAO,CACjBC,SAAU,CACRD,EAAAA,IAAe,MAAO,CAChBC,SAAgB,IAANS,EAAUO,OAAOP,GAAK,YAAc,YAC9CP,UAAW3B,GAAI7D,gBAErBqF,EAAAA,IAAe,MAAO,CAChBC,SAAUD,EAAAA,KAAgBgC,EAAAA,GAAc,CAClC/B,SAAU,CACRsB,EACAvB,EAAAA,KAAgBgC,EAAAA,GAAgBtD,KAAM,CAChCyB,UAAW3B,GAAI9D,eACfuF,SAAU,CACRD,EAAAA,IAAeE,EAAAA,GAAexB,KAAM,CAC9B6B,MAAO,OACPH,QAAU,SAAUjJ,GAElB,EACF8I,SAAUuB,IAEhBxB,EAAAA,IAAeoO,EAAAA,EAAiB,CAC1B9N,KAAM,OACNC,MAAO,gBAIrBP,EAAAA,KAAgBgC,EAAAA,GAAatD,KAAM,CAC7BwD,SAAU,CACR9C,IAAK,QACL+C,GAAI,aAENhC,UAAW3B,GAAIhE,YACfyF,SAAU,CACRD,EAAAA,IAAe,MAAO,CAChBC,SAAUD,EAAAA,IAAe,MAAO,CAC1BC,SAAU,SACVE,UAAW3B,GAAI1D,cACfsF,QAAU,SAAUjJ,GAChB,IAAIkN,EAAOtB,EAAMrJ,QACjBmK,EAAS,CACHzE,IAAK,eACL+C,GAAI,CACFsJ,MAAOpH,EAAKoH,MACZI,YAAaxH,EAAKwH,YAClBC,SAAUzH,EAAKyH,SACfC,OAAQ,CACNmC,KAAM,UACNC,IAAK,QAEPnC,WAAY3H,EAAK2H,aAG3B,IAER7L,UAAW3B,GAAI/D,aAErBuF,EAAAA,IAAe,MAAO,CAChBC,SAAUD,EAAAA,IAAe,MAAO,CAC1BC,SAAU,SACVE,UAAW3B,GAAI1D,cACfsF,QAAU,SAAUjJ,GAChB,IAAIkN,EAAOtB,EAAMrJ,QACjBmK,EAAS,CACHzE,IAAK,eACL+C,GAAI,CACFsJ,MAAOpH,EAAKoH,MACZI,YAAaxH,EAAKwH,YAClBC,SAAUzH,EAAKyH,SACfC,OAAQ,CACNmC,KAAM,UACNC,IAAK,OAEPnC,WAAY3H,EAAK2H,aAG3B,IAER7L,UAAW3B,GAAI/D,aAErBuF,EAAAA,IAAe,MAAO,CAChBC,SAAUD,EAAAA,IAAe,MAAO,CAC1BC,SAAU,gBACVE,UAAW3B,GAAI1D,cACfsF,QAAU,SAAUjJ,GAChB,IAAIkN,EAAOtB,EAAMrJ,QACjBmK,EAAS,CACHzE,IAAK,eACL+C,GAAI,CACFsJ,MAAOpH,EAAKoH,MACZI,YAAaxH,EAAKwH,YAClBC,SAAUzH,EAAKyH,SACfC,OAAQ,CACNmC,KAAM,QACNC,IAAK,OAEPnC,WAAY3H,EAAK2H,aAG3B,IAER7L,UAAW3B,GAAI/D,aAErBuF,EAAAA,IAAe,MAAO,CAChBC,SAAUD,EAAAA,IAAe,MAAO,CAC1BC,SAAU,eACVE,UAAW3B,GAAI1D,cACfsF,QAAU,SAAUjJ,GAChB,IAAIkN,EAAOtB,EAAMrJ,QACjBmK,EAAS,CACHzE,IAAK,eACL+C,GAAI,CACFsJ,MAAOpH,EAAKoH,MACZI,YAAaxH,EAAKwH,YAClBC,SAAUzH,EAAKyH,SACfC,OAAQ,CACNmC,KAAM,QACNC,IAAK,QAEPnC,WAAY3H,EAAK2H,aAG3B,IAER7L,UAAW3B,GAAI/D,aAErBuF,EAAAA,IAAe,MAAO,CAChBC,SAAUD,EAAAA,IAAe,MAAO,CAC1BC,SAAU,cACVE,UAAW3B,GAAI1D,cACfsF,QAAU,SAAUjJ,GAChB,IAAIkN,EAAOtB,EAAMrJ,QACjBmK,EAAS,CACHzE,IAAK,eACL+C,GAAI,CACFsJ,MAAOpH,EAAKoH,MACZI,YAAaxH,EAAKwH,YAClBC,SAAUzH,EAAKyH,SACfC,OAAQ,CACNmC,KAAM,MACNC,IAAK,OAEPnC,WAAY3H,EAAK2H,aAG3B,IAER7L,UAAW3B,GAAI/D,aAErBuF,EAAAA,IAAe,MAAO,CAChBC,SAAUD,EAAAA,IAAe,MAAO,CAC1BC,SAAU,aACVE,UAAW3B,GAAI1D,cACfsF,QAAU,SAAUjJ,GAChB,IAAIkN,EAAOtB,EAAMrJ,QACjBmK,EAAS,CACHzE,IAAK,eACL+C,GAAI,CACFsJ,MAAOpH,EAAKoH,MACZI,YAAaxH,EAAKwH,YAClBC,SAAUzH,EAAKyH,SACfC,OAAQ,CACNmC,KAAM,MACNC,IAAK,QAEPnC,WAAY3H,EAAK2H,aAG3B,IAER7L,UAAW3B,GAAI/D,mBAMrC0F,UAAW3B,GAAI6P,WAGvBlO,UAAW3B,GAAI3D,eAErBmF,EAAAA,IAAesO,GAAwB,CACjCzD,SAAU9H,EAAM8H,SAChB/K,SAAUA,EACVoL,WAAYnI,EAAMmI,WAClBD,YAAalI,EAAMkI,YACnBjM,oBAraU,SAAUY,EAAWmC,GAC7CvB,EAAAA,GAAeC,EAAAA,GAAwBb,EAAWmC,IAAiB,SAAUrB,GACrE,MAAc,OAAVA,EAAEtB,IACGyE,EAAS,CACJzE,IAAK,sBACL+C,GAAIzB,EAAEyB,GAAGlD,UAGd0B,EAAAA,GAAoB,CACfC,WAAY,eACZC,cAAuB,EACvBC,MAAO,OACPC,SAAU,qBACT,sBAAuB,CACxB,QACAL,EAAEyB,IAGlB,GACR,EAmZgB8F,qBAlZW,SAAUrI,EAAWmI,EAAUzE,EAASnM,GACjEqJ,EAAAA,GAAeC,EAAAA,GAAgCb,EAAWmI,EAAUzE,OAAShM,IAAa,SAAUoJ,GAC5F,MAAc,OAAVA,EAAEtB,IACGyE,EAAS,CACJzE,IAAK,wBACL+C,GAAIvC,EACJqN,GAAIvM,EAAEyB,GAAG4F,WAGdpH,EAAAA,GAAoB,CACfC,WAAY,eACZC,cAAuB,EACvBC,MAAO,OACPC,SAAU,qBACT,8BAA+B,CAChC,QACAL,EAAEyB,IAGlB,GACR,EA+XgBgJ,YAAc,SAAUoD,GACpB1K,EAAS,CACHzE,IAAK,WACL+C,GAAIoM,GAEZ,EACFvG,gBAAiBA,MAIjC,MACEjJ,EAAQiB,EAAAA,IAAe,MAAO,CACxBC,SAAU,oBACVE,UAAW3B,GAAIlE,YAGvB,OAAO0F,EAAAA,KAAgB,MAAO,CAClBC,SAAU,CACRrB,EACAoB,EAAAA,KAAgB,MAAO,CACjBC,SAAU,CACRD,EAAAA,KAAgB,MAAO,CACjBC,SAAU,CACRD,EAAAA,IAAe,KAAM,CACfC,SAAUpB,EACVsB,UAAW3B,GAAIzD,QAErB+D,GAEFqB,UAAW3B,GAAItE,UAErB8F,EAAAA,KAAgB,MAAO,CACjBC,SAAU,CACRD,EAAAA,IAAewO,GAA8B,CACvC9U,QAASqJ,EAAMrJ,QACf8R,OAAS,SAAU9R,GACfmK,EAAS,CACHzE,IAAK,eACL+C,GAAIzI,GAEZ,EACFsO,gBAAiBA,IAEvB9E,EAAU5M,OAAS,EAAI0J,EAAAA,IAAeyO,GAAwC,CACtE/U,QAASqJ,EAAMrJ,QACf8R,OAAS,SAAU9R,GACfmK,EAAS,CACHzE,IAAK,eACL+C,GAAIzI,GAEZ,EACFwJ,UAAWA,IACR,KACXlD,EAAAA,IAAe0O,GAAsC,CAC/ChV,QAASqJ,EAAMrJ,QACf8R,OAAS,SAAU9R,GACfmK,EAAS,CACHzE,IAAK,eACL+C,GAAIzI,GAEZ,EACFoG,SAAUA,IAEhBE,EAAAA,IAAe2O,GAAwC,CACjDjV,QAASqJ,EAAMrJ,QACf8R,OAAS,SAAU9R,GACfmK,EAAS,CACHzE,IAAK,eACL+C,GAAIzI,GAEZ,KAGVyG,UAAW3B,GAAI9E,UAErBqF,GAEFoB,UAAW3B,GAAIhF,kBAGvB2G,UAAW3B,GAAIjF,WAE7B,E,6CC5lBA,IAAIqV,GA7CJ,SAAwCjQ,GACtC,IAAI0O,EAA0B1O,EAAM0O,wBAChCC,EAAc3O,EAAM2O,YACpBuB,EAAclQ,EAAMkQ,YACpBC,EAAenQ,EAAMmQ,aACrBC,EAAepQ,EAAMoQ,aACrBrV,EAAUiF,EAAMjF,QAChBmR,EAAWlM,EAAMkM,SACjBmE,EAAiB9P,EAAAA,SAAe,WAC5B,OAAO+P,EAAAA,EAAsBH,EAC/B,GAAI,CAACA,IACPI,EAAahQ,EAAAA,SAAe,WACxB,OAAOiQ,EAAAA,GAAmBC,GAAAA,GAAmCvE,EAAUuE,GAAAA,GAAkCpC,EAAAA,KAC3G,GAAI,CAACnC,IACP3H,EAAYhE,EAAAA,SAAe,WACvB,OAAOuF,EAAAA,GAAe/K,EAAQwJ,UAAWmM,GAAAA,GAC3C,GAAI,CAAC3V,EAAQwJ,YACfoM,EAAYpQ,EAAAA,SAAe,WACvB,OAAOqQ,GAAAA,GAAoCC,OAAOT,EACpD,GAAI,CAACA,IACP/G,EAAkB9I,EAAAA,SAAe,WAC7B,OAAOuQ,GAAAA,GAA+BZ,EACxC,GAAI,CAACA,IACPa,EAAgBxQ,EAAAA,SAAe,WAC3B,OAAOiQ,EAAAA,GAAmBC,GAAAA,GAAmC9B,EAAa8B,GAAAA,IAC5E,GAAI,CAAC9B,IACPqC,EAA4BzQ,EAAAA,SAAe,WACvC,OAAOiQ,EAAAA,GAAmBC,GAAAA,GAAmC/B,EAAyB+B,GAAAA,IACxF,GAAI,CAAC/B,IACX,OAAOrN,EAAAA,IAAe4P,GAAmB,CAC7B/E,SAAUqE,EACVhM,UAAWA,EACXxJ,QAAS4V,EACTxP,SAAUkP,EAAelP,SACzBkI,gBAAiBA,EACjB+E,cAAepO,EAAMoO,cACrB9B,YAAatM,EAAMsM,YACnBC,WAAYvM,EAAMuM,WAClBoC,YAAaoC,EACbrC,wBAAyBsC,EACzB7B,OAAQnP,EAAMmP,OACdC,OAAQpP,EAAMoP,QAE5B,E,oYCpDA,kBAAe8B,GAAA,IAAGC,EAAOD,EAAPC,QAAYnR,EAAKoR,GAAAF,EAAAG,IAAA,OAAO9Q,EAAAA,cAAC0Q,GAAYK,OAAAC,OAAA,GAAKvR,EAAK,CAAEmQ,aAAcgB,IAAW,C,yGCGxFK,EAAQ,SAMRC,EAAQ,OAWZ,IAAIC,EAAS,CACX3R,KAVF,SAAqBC,GACnB,OAAOqB,EAAAA,IAAe,OAAQ,CAClBC,SAAU,SACVqQ,MAAO,CACLC,QAAS,UAGzB,GAaA,IAAIC,EAAa,CACf9R,KARF,SAAyBC,GACvB,OAAOqB,EAAAA,IAAe,MAAO,CACjBC,SA3BF,SA4BEE,UAAWxB,EAAMwB,WAE/B,GAeA,IAAIsQ,EAAY,CACd/R,KAVF,SAAwBC,GACtB,OAAOqB,EAAAA,IAAe,MAAO,CACjBC,SAtCF,SAuCEqQ,MAAO,CACLI,UAAW,mBAG3B,GAYA,IAAIC,EAAa,CACfjS,KAPF,SAAyBC,GACvB,OAAOqB,EAAAA,IAAe,OAAQ,CAClBC,SA7CG,UA+CjB,GAYA,IAAI2Q,EAAY,CACdlS,KAPF,SAAwBC,GACtB,OAAOqB,EAAAA,IAAe,OAAQ,CAClBC,SArDE,KAuDhB,E,sEC5DA,SAASuP,EAAOqB,GACd,MAAO,CACChR,GAAIgR,EAAGhR,GACPiF,KAAM+L,EAAG/L,KAEnB,CAEcsK,EAAAA,IAAmC,SAAU7K,GACrD,MAAO,CACC1E,GAAI0E,EAAMuM,SAAS,KAAMxL,EAAAA,IACzBR,KAAMP,EAAMuM,SAAS,OAAQ1B,EAAAA,IAEvC,G,4WCfA2B,EAAQ7P,EAAAA,GAAM,CACZ,cACA,QACA,eACA,aACA,cACA,WAGF8P,EAAO9P,EAAAA,GAAM,CACX6P,EACA,cACA,kBAGFE,EAAM/P,EAAAA,GAAM,CACV6P,EACA,aACA,iBAGFG,EAAQhQ,EAAAA,GAAM,CACZ6P,EACA,eACA,mBAGFI,EAAOjQ,EAAAA,GAAM,CACX6P,EACA,cACA,kBAGFK,EAASlQ,EAAAA,GAAM,CACb6P,EACA,gBACA,oBAGFM,EAASnQ,EAAAA,GAAM,CACb6P,EACA,gBACA,oBAGFO,EAAKpQ,EAAAA,GAAM,CACT,YACA,YAGFqQ,EAAQrQ,EAAAA,GAAM,CACZ,YACA,YAGFsQ,EAAStQ,EAAAA,GAAM,CACb,YACA,cAGFuQ,EAAQvQ,EAAAA,GAAM,CACZ,YACA,YAuCFiG,EAAU,CACZuK,WArCexQ,EAAAA,GAAM,CACjB6P,EACA,cACA,kBAmCJY,SAhCazQ,EAAAA,GAAM,CACf6P,EACA,aACA,iBA8BJa,MA3BU1Q,EAAAA,GAAM,CACZ6P,EACA,eACA,mBAyBJc,QAtBY3Q,EAAAA,GAAM,CACd6P,EACA,cACA,kBAoBJe,UAjBc5Q,EAAAA,GAAM,CAChB6P,EACA,gBACA,oBAeJnC,UAZc1N,EAAAA,GAAM,CAChB6P,EACA,cACA,mBAyDFgB,EAAO,CACTC,KAVS,CACTC,MArCU/Q,EAAAA,GAAM,CACZ6P,EACA,cACA,kBAmCJmB,MAhCUhR,EAAAA,GAAM,CACZ6P,EACA,aACA,iBA8BJ5N,SA3BajC,EAAAA,GAAM,CACf6P,EACA,eACA,mBAyBJoB,KAtBSjR,EAAAA,GAAM,CACX6P,EACA,cACA,kBAoBJqB,UAjBclR,EAAAA,GAAM,CAChB6P,EACA,gBACA,oBAeJsB,QAZYnR,EAAAA,GAAM,CACd6P,EACA,cACA,oBClJK,EAAQ,sBACRuB,EAAiB,+BACjBC,EAAa,2BACbC,EAAkB,gCAClBC,EAAe,6BACfC,EAAgB,8BAChBC,EAAe,6BACfrZ,EAAS,uBACTK,EAAO,qBACPC,EAAa,2BACbC,EAAO,qBACPC,EAAO,qBACPC,EAAO,qBACPC,EAAO,qBACPC,EAAO,qBACPW,EAAM,oBACNgY,EAAU,wB,WCTjBpU,EAAMqU,EAqGV,IAAIC,EAAO,CACTC,SAAKzb,EACLoH,KA9DF,SAAoBC,GAClB,IAQIC,EAsBAC,EA9BAmU,EAAcrU,EAAMwB,UACpB8S,EAAStU,EAAM2B,KACf4S,EAAYvU,EAAMwU,QAClBC,EAAOzU,EAAMkB,GACbA,OAAcvI,IAAT8b,EAAqBA,EAAO,GACjCD,OAAwB7b,IAAd4b,GAA0BA,EACpC5S,OAAkBhJ,IAAX2b,EAAuBA,EAAS,KACvC9S,OAA4B7I,IAAhB0b,EAA4BA,EAAc,GAE1D,OAAQrU,EAAM4B,OACZ,IAAK,OACD3B,EAAMyU,EACN,MACJ,IAAK,MACDzU,EAAMyU,EACN,MACJ,IAAK,QACDzU,EAAMyU,EACN,MACJ,IAAK,OACDzU,EAAMyU,EACN,MACJ,IAAK,SACDzU,EAAMyU,EACN,MACJ,IAAK,SACDzU,EAAMyU,EAKZ,OAAQ/S,GACN,IAAK,KACDzB,EAAQwU,EACR,MACJ,IAAK,KACDxU,EAAQwU,EACR,MACJ,IAAK,KACDxU,EAAQwU,EACR,MACJ,IAAK,KACDxU,EAAQwU,EAId,OAAOrT,EAAAA,IAAe,OAAQ,CAClBC,SAAUtB,EAAMsB,SAChBE,UAAWe,EAAAA,GAAM,CACXtC,EACAC,EACAsU,EAAU,GF8Df,aE7DKhT,IAENN,GAAIA,EACJO,QAASzB,EAAMyB,SAE7B,GA4DA,IAAI+G,EAAU,CACZ4L,SAAKzb,EACLoH,KAvDF,SAAuBC,GACrB,IAMIC,EAmBAC,EAzBAmU,EAAcrU,EAAMwB,UACpB8S,EAAStU,EAAM2B,KACf8S,EAAOzU,EAAMkB,GACbA,OAAcvI,IAAT8b,EAAqBA,EAAO,GACjC9S,OAAkBhJ,IAAX2b,EAAuBA,EAAS,KACvC9S,OAA4B7I,IAAhB0b,EAA4BA,EAAc,GAE1D,OAAQrU,EAAM8C,UACZ,IAAK,aACD7C,EAAMyU,EAAiB3B,WACvB,MACJ,IAAK,QACD9S,EAAMyU,EAAiBzB,MACvB,MACJ,IAAK,WACDhT,EAAMyU,EAAiB1B,SACvB,MACJ,IAAK,UACD/S,EAAMyU,EAAiBxB,QACvB,MACJ,IAAK,YACDjT,EAAMyU,EAAiBvB,UAK7B,OAAQxR,GACN,IAAK,KACDzB,EAAQwU,EACR,MACJ,IAAK,KACDxU,EAAQwU,EACR,MACJ,IAAK,KACDxU,EAAQwU,EACR,MACJ,IAAK,KACDxU,EAAQwU,EAId,OAAOrT,EAAAA,IAAe,OAAQ,CAClBC,SAAUtB,EAAMsB,SAChBE,UAAWe,EAAAA,GAAM,CACXtC,EACAC,EACAsB,IAENN,GAAIA,GAElB,GAgEA,IAKIkS,EAAO,CACTC,KANW,CACXe,SAAKzb,EACLoH,KA3DF,SAAyBC,GACvB,IAOIC,EAsBAC,EA7BAmU,EAAcrU,EAAMwB,UACpB8S,EAAStU,EAAM2B,KACfgT,EAAO3U,EAAM2U,KACbF,EAAOzU,EAAMkB,GACbA,OAAcvI,IAAT8b,EAAqBA,EAAO,GACjC9S,OAAkBhJ,IAAX2b,EAAuBA,EAAS,KACvC9S,OAA4B7I,IAAhB0b,EAA4BA,EAAc,GAE1D,OAAQM,GACN,IAAK,QACD1U,EAAMyU,EAAcrB,KAAKC,MACzB,MACJ,IAAK,WACDrT,EAAMyU,EAAcrB,KAAK7O,SACzB,MACJ,IAAK,OACDvE,EAAMyU,EAAcrB,KAAKG,KACzB,MACJ,IAAK,UACDvT,EAAMyU,EAAcrB,KAAKK,QACzB,MACJ,IAAK,YACDzT,EAAMyU,EAAcrB,KAAKI,UACzB,MACJ,IAAK,QACDxT,EAAMyU,EAAcrB,KAAKE,MAK/B,OAAQ5R,GACN,IAAK,KACDzB,EAAQwU,EACR,MACJ,IAAK,KACDxU,EAAQwU,EACR,MACJ,IAAK,KACDxU,EAAQwU,EACR,MACJ,IAAK,KACDxU,EAAQwU,EAId,OAAOrT,EAAAA,IAAe,OAAQ,CAClBC,SAAU+R,EAAAA,GAAesB,GACzBnT,UAAWe,EAAAA,GAAM,CACXtC,EACAC,EACAsB,IAENN,GAAIA,GAElB,IAWInB,EApOJ,SAAeC,GACb,IAEIC,EAFAoU,EAAcrU,EAAMwB,UACpBA,OAA4B7I,IAAhB0b,EAA4BA,EAAc,GAE1D,OAAQrU,EAAMqK,WACZ,IAAK,aACDpK,EAAMJ,EAAIgU,gBACV,MACJ,IAAK,QACD5T,EAAMJ,EAAI+T,WACV,MACJ,IAAK,WACD3T,EAAMJ,EAAIkU,cACV,MACJ,IAAK,UACD9T,EAAMJ,EAAImU,aACV,MACJ,IAAK,YACD/T,EAAMJ,EAAI8T,eACV,MACJ,IAAK,UACD1T,EAAMJ,EAAIiU,aAIhB,OAAOzS,EAAAA,IAAe,MAAO,CACjBC,SAAUD,EAAAA,IAAe,SAAU,CAC7BC,SAAUtB,EAAMsB,SAChBE,UAAWe,EAAAA,GAAM,CACX1C,EAAIuS,MACJnS,EACAuB,IAENyF,UAAU,IAEhBzF,UAAW3B,EAAIoU,SAE7B,C,+SC9CWW,EAAS,4BACTja,EAAS,4BACTsM,EAAW,8BACXjM,EAAO,0BACPC,EAAa,gCACbC,EAAO,0BACPC,EAAO,0BACPC,EAAO,0BACPC,EAAO,0BACPC,EAAO,0BACPuZ,EAAW,8BACX5Y,EAAM,yBACN6Y,EAAS,4B,WCDhBjV,EAAMkV,EAEV,SAASC,EAAMC,EAAOC,GACpB,OAAID,EAAQC,EACK,EACND,IAAUC,EACZ,CACC9c,GAAI,CACFqI,IAAK,OACL+C,GAAIyR,GAEN5c,GAAY,GAGb,CACCD,GAAI,CACFqI,IAAK,OACL+C,GAAIyR,GAEN5c,GAAI2c,EAAMC,EAAQ,EAAI,EAAGC,GAGrC,CAqGA,SAASC,EAAcC,EAAYC,GACjC,YAAqB1c,IAAjB0c,GACKvP,EAAAA,GAAgBuP,GAAe,SAAUC,GAClC,OAAOvP,EAAAA,GAAeuP,EAAMF,EAC9B,GAIhB,CAwEA,IAAIrV,EAtEJ,SAAoBC,GAClB,IAAIuV,EAAqBvV,EAAMwV,iBAC3BH,EAAerV,EAAMqV,aACrB7I,EAAcxM,EAAMwM,YACpBD,EAAavM,EAAMuM,WACnBD,EAActM,EAAMsM,YACpBkJ,OAA0C7c,IAAvB4c,EAAmCA,EAAqB,GAC3EE,EApHN,SAA6BnJ,EAAaC,GACxC,IAAImJ,EAAYC,EAAAA,GAAa,EAAGrJ,EAAc,EAAI,GAC9CsJ,EAAUD,EAAAA,GAAapJ,EAAa,EAAI,EAAGD,EAAc,EAAI,GAC7DuJ,EAAQb,EAAMU,EAAWE,GAEzBE,GAAiBvJ,EAAaqJ,EAAU,GAAK,EACjD,OAFmBF,EAAY,EAGzBI,EACKC,EAAAA,GAAqB,CAChB,CACE3d,GAAI,YACJC,GAAI,CACFD,GAAI,CACFqI,IAAK,OACL+C,GAAI,GAENnL,GAAI,CACFD,GAAI,WACJC,GAAY,KAIlBwd,EACA,CACEzd,GAAI,WACJC,GAAI,CACFD,GAAI,CACFqI,IAAK,OACL+C,GAAI+I,GAENlU,GAAI,CACFD,GAAI,aACJC,GAAY,OAMvB0d,EAAAA,GAAiB,CACZ3d,GAAI,YACJC,GAAI,CACFD,GAAI,CACFqI,IAAK,OACL+C,GAAI,GAENnL,GAAI,CACFD,GAAI,WACJC,GAAY,KAGf,CACDD,GAAI,CACFqI,IAAK,OACL+C,GAAI+I,GAENlU,GAAI,CACFD,GAAI,aACJC,GAAY,KAInByd,EACFC,EAAAA,GAAiB,CACZ3d,GAAI,YACJC,GAAI,CACFD,GAAI,CACFqI,IAAK,OACL+C,GAAI,GAENnL,GAAY,IAEb,CACDD,GAAI,WACJC,GAAI,CACFD,GAAI,CACFqI,IAAK,OACL+C,GAAI+I,GAENlU,GAAI,CACFD,GAAI,aACJC,GAAY,MAKrB0d,EAAAA,GAAqB,CAChB,CACE3d,GAAI,YACJC,GAAY,GAEd2c,EAAM,EAAGzI,GACT,CACEnU,GAAI,aACJC,GAAY,IAI9B,CAmBoB2d,CAAoB1J,EAAaC,GACnD,OAAOlL,EAAAA,IAAe,MAAO,CACjBC,SAAUD,EAAAA,IAAe,MAAO,CAC1BC,SAAUyU,EAAAA,GAAkBA,EAAAA,GAAuBN,GAAc,SAAU9S,EAAOyS,GACtE,GAA0B,kBAAfA,EAqCJ,CACL,IACInV,EADAgW,EAASb,EAAW5R,GAGxB,OADAvD,EAA4B,kBAAfmV,GAA2BA,EAAW5R,KAAO8I,EAAc,GAAKzM,EAAI+U,OAC1EvT,EAAAA,IAAeE,EAAAA,GAAc,CACxBC,UAAWe,EAAAA,GAAM,CACX1C,EAAIgV,SACJ5U,EACAkV,EAAcc,EAAQZ,GAAgBG,EAAmB,KAE/D/T,QAAU,SAAUjJ,GAChBgU,EAAYyJ,EACd,EACF3U,SAAUgB,OAAO2T,IAChB,aAAe3T,OAAOK,GACrC,CAnDE,OAAQyS,GACN,IAAK,WACD,OAAO/T,EAAAA,IAAeE,EAAAA,GAAc,CACxBC,UAAWe,EAAAA,GAAM,CACX1C,EAAIgV,SACJhV,EAAIoH,SACJpH,EAAIiV,SAEVxT,SAAU,OACT,aAAegB,OAAOK,IACvC,IAAK,YACD,OAAOtB,EAAAA,IAAeE,EAAAA,GAAc,CACxBC,UAAWe,EAAAA,GAAM,CACX1C,EAAIgV,SACY,IAAhBvI,EAAoBzM,EAAIoH,SAAW,GACnCpH,EAAIiV,SAEVrT,QAAU,SAAUjJ,GAChBgU,EAAYF,EAAc,EAAI,EAChC,EACFhL,SAAUD,EAAAA,IAAe6U,EAAAA,GAAenW,KAAM,CAAC,IAC9C,aAAeuC,OAAOK,IACvC,IAAK,aACD,OAAOtB,EAAAA,IAAeE,EAAAA,GAAc,CACxBC,UAAWe,EAAAA,GAAM,CACX1C,EAAIgV,SACJvI,IAAgBC,EAAa1M,EAAIoH,SAAW,GAC5CpH,EAAIiV,SAEVrT,QAAU,SAAUjJ,GAChBgU,EAAYF,EAAc,EAAI,EAChC,EACFhL,SAAUD,EAAAA,IAAe6U,EAAAA,GAAgBnW,KAAM,CAAC,IAC/C,aAAeuC,OAAOK,IAmB7C,OAEhBnB,UAAWxB,EAAMwB,WAE/B,C,6DCxLA,IAAIzB,EAxBJ,SAAsBC,GACpB,IAAI2D,EAAU3D,EAAM5D,MAChBA,OAAoBzD,IAAZgL,EAAwBA,EAAU,WAC9C,OAAOtC,EAAAA,IAAeuC,EAAAA,GAAW,CACrBxH,MAAOA,EACPuF,KAAM3B,EAAM2B,KACZH,UAAWxB,EAAMwB,UACjBF,SAAUD,EAAAA,IAAe,IAAK,CACxBC,SAAUD,EAAAA,IAAe,IAAK,CACxBC,SAAUD,EAAAA,IAAe,OAAQ,CAC3B8U,EAAG,6MAETlS,KAAML,EAAAA,GAAc5D,EAAM4B,OAC1BsC,SAAU,UACV6N,UAAW,oCAEjB9N,KAAM,OACNC,SAAU,UACVkS,OAAQ,OACRC,YAAa,OAGjC,C","sources":["webpack://datacenters/./node_modules/@rescript/react/src/RescriptReactRouter.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-projects/UserProjects.scss?ddc6","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-projects/UserProjects_List_Item.scss?1c10","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-projects/UserProjects_List_Controls.scss?238e","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-projects/UserProjects_List_ControlsForUser.res.js","webpack://datacenters/./client/app/rescript/styleguide/icons/IconPause.res.js","webpack://datacenters/./client/app/rescript/styleguide/modals/PreparingProposalModal/PreparingProposalModal.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-projects/UserProjects_List_ControlsForAdmin.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-projects/UserProjects_List_ControlsForProvider.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-projects/UserProjects_List_Item.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-projects/UserProjects_List.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-projects/UserProjects_List_Filters.scss?001f","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-projects/UserProjects_List_Input.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-projects/UserProjects_List_Filter_Status.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-projects/UserProjects_List_Filter_Category.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-projects/UserProjects_List_Filter_Provider.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-projects/UserProjects.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-projects/UserProjects__JsBridge.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-projects/index.js","webpack://datacenters/./client/app/rescript/libs/Char.res.js","webpack://datacenters/./client/app/rescript/models/ProviderAsFilter.res.js","webpack://datacenters/./client/app/rescript/styleguide/components/Badge/BadgeCss.res.js","webpack://datacenters/./client/app/rescript/styleguide/components/Badge/Badge.scss?14be","webpack://datacenters/./client/app/rescript/styleguide/components/Badge/Badge.res.js","webpack://datacenters/./client/app/rescript/styleguide/components/Pagination/Pagination.scss?5bec","webpack://datacenters/./client/app/rescript/styleguide/components/Pagination/Pagination.res.js","webpack://datacenters/./client/app/rescript/styleguide/icons/IconDownload.res.js"],"sourcesContent":["// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as React from \"react\";\nimport * as Js_array from \"rescript/lib/es6/js_array.js\";\nimport * as Js_string from \"rescript/lib/es6/js_string.js\";\n\nfunction safeMakeEvent(eventName) {\n if (typeof Event === \"function\") {\n return new Event(eventName);\n }\n var $$event = document.createEvent(\"Event\");\n $$event.initEvent(eventName, true, true);\n return $$event;\n}\n\nfunction pathParse(str) {\n switch (str) {\n case \"\" :\n case \"/\" :\n return /* [] */0;\n default:\n var raw = Js_string.sliceToEnd(1, str);\n var match = raw[raw.length - 1 | 0];\n var raw$1 = match === \"/\" ? Js_string.slice(0, -1, raw) : raw;\n var match$1 = Js_string.splitAtMost(\"?\", 2, raw$1);\n var raw$2 = match$1.length !== 2 ? raw$1 : match$1[0];\n var a = Js_array.filter((function (item) {\n return item.length !== 0;\n }), Js_string.split(\"/\", raw$2));\n var _i = a.length - 1 | 0;\n var _res = /* [] */0;\n while(true) {\n var res = _res;\n var i = _i;\n if (i < 0) {\n return res;\n }\n _res = {\n hd: a[i],\n tl: res\n };\n _i = i - 1 | 0;\n continue ;\n };\n }\n}\n\nfunction path(serverUrlString, param) {\n var match = typeof window === \"undefined\" ? undefined : window;\n if (serverUrlString !== undefined) {\n return pathParse(serverUrlString);\n } else if (match !== undefined) {\n return pathParse(match.location.pathname);\n } else {\n return /* [] */0;\n }\n}\n\nfunction hash() {\n var $$window = typeof window === \"undefined\" ? undefined : window;\n if ($$window === undefined) {\n return \"\";\n }\n var raw = $$window.location.hash;\n switch (raw) {\n case \"\" :\n case \"#\" :\n return \"\";\n default:\n return Js_string.sliceToEnd(1, raw);\n }\n}\n\nfunction searchParse(str) {\n switch (str) {\n case \"\" :\n case \"?\" :\n return \"\";\n default:\n var match = Js_string.splitAtMost(\"?\", 2, str);\n if (match.length !== 2) {\n return \"\";\n } else {\n return match[1];\n }\n }\n}\n\nfunction search(serverUrlString, param) {\n var match = typeof window === \"undefined\" ? undefined : window;\n if (serverUrlString !== undefined) {\n return searchParse(serverUrlString);\n } else if (match !== undefined) {\n return searchParse(match.location.search);\n } else {\n return \"\";\n }\n}\n\nfunction push(path) {\n var match = typeof history === \"undefined\" ? undefined : history;\n var match$1 = typeof window === \"undefined\" ? undefined : window;\n if (match !== undefined && match$1 !== undefined) {\n match.pushState(null, \"\", path);\n match$1.dispatchEvent(safeMakeEvent(\"popstate\"));\n return ;\n }\n \n}\n\nfunction replace(path) {\n var match = typeof history === \"undefined\" ? undefined : history;\n var match$1 = typeof window === \"undefined\" ? undefined : window;\n if (match !== undefined && match$1 !== undefined) {\n match.replaceState(null, \"\", path);\n match$1.dispatchEvent(safeMakeEvent(\"popstate\"));\n return ;\n }\n \n}\n\nfunction urlNotEqual(a, b) {\n if (a.hash !== b.hash || a.search !== b.search) {\n return true;\n } else {\n var _aList = a.path;\n var _bList = b.path;\n while(true) {\n var bList = _bList;\n var aList = _aList;\n if (!aList) {\n if (bList) {\n return true;\n } else {\n return false;\n }\n }\n if (!bList) {\n return true;\n }\n if (aList.hd !== bList.hd) {\n return true;\n }\n _bList = bList.tl;\n _aList = aList.tl;\n continue ;\n };\n }\n}\n\nfunction url(serverUrlString, param) {\n return {\n path: path(serverUrlString, undefined),\n hash: hash(),\n search: search(serverUrlString, undefined)\n };\n}\n\nfunction watchUrl(callback) {\n var $$window = typeof window === \"undefined\" ? undefined : window;\n if ($$window === undefined) {\n return function () {\n \n };\n }\n var watcherID = function () {\n callback(url(undefined, undefined));\n };\n $$window.addEventListener(\"popstate\", watcherID);\n return watcherID;\n}\n\nfunction unwatchUrl(watcherID) {\n var $$window = typeof window === \"undefined\" ? undefined : window;\n if ($$window !== undefined) {\n $$window.removeEventListener(\"popstate\", watcherID);\n return ;\n }\n \n}\n\nfunction useUrl(serverUrl, param) {\n var match = React.useState(function () {\n if (serverUrl !== undefined) {\n return serverUrl;\n } else {\n return url(undefined, undefined);\n }\n });\n var setUrl = match[1];\n var url$1 = match[0];\n React.useEffect((function () {\n var watcherId = watchUrl(function (url) {\n setUrl(function (param) {\n return url;\n });\n });\n var newUrl = url(undefined, undefined);\n if (urlNotEqual(newUrl, url$1)) {\n setUrl(function (param) {\n return newUrl;\n });\n }\n return (function () {\n unwatchUrl(watcherId);\n });\n }), []);\n return url$1;\n}\n\nvar dangerouslyGetInitialUrl = url;\n\nexport {\n push ,\n replace ,\n watchUrl ,\n unwatchUrl ,\n dangerouslyGetInitialUrl ,\n useUrl ,\n}\n/* react Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var buttonContainer = \"UserProjects__buttonContainer__Yrfxj\";\nexport var column = \"UserProjects__column__TcN85\";\nexport var container = \"UserProjects__container__iej2w\";\nexport var contentWrapper = \"UserProjects__contentWrapper__Zifb_\";\nexport var downloadIcon = \"UserProjects__downloadIcon__R8j79\";\nexport var filters = \"UserProjects__filters__ABkgo\";\nexport var flex = \"UserProjects__flex__Tzxjh\";\nexport var flexColumn = \"UserProjects__flexColumn__QAYs8\";\nexport var gap1 = \"UserProjects__gap1__KKrDI\";\nexport var gap2 = \"UserProjects__gap2__IKTYP\";\nexport var gap3 = \"UserProjects__gap3__iFcuK\";\nexport var gap4 = \"UserProjects__gap4__vS4MX\";\nexport var gap5 = \"UserProjects__gap5__QZHgt\";\nexport var heading = \"UserProjects__heading__IKNNm\";\nexport var newProjectMenu = \"UserProjects__newProjectMenu__HzQHl\";\nexport var newProjectMenuItem = \"UserProjects__newProjectMenuItem__JZ0LG\";\nexport var newProjectMenuItemControl = \"UserProjects__newProjectMenuItemControl__oEA3l\";\nexport var noResults = \"UserProjects__noResults__MaaR5\";\nexport var pagination = \"UserProjects__pagination__NPeHV\";\nexport var popoverBody = \"UserProjects__popoverBody__AqCuu\";\nexport var popoverRow = \"UserProjects__popoverRow__lNyOf\";\nexport var popoverTrigger = \"UserProjects__popoverTrigger__luDdm\";\nexport var projectsCount = \"UserProjects__projectsCount__o7N1c\";\nexport var row = \"UserProjects__row__RFO5y\";\nexport var sortAndCount = \"UserProjects__sortAndCount__ZAmG3\";\nexport var sortSelection = \"UserProjects__sortSelection__V2DaQ\";\nexport var title = \"UserProjects__title__oX0rM\";","// extracted by mini-css-extract-plugin\nexport var column = \"UserProjects_List_Item__column__pIesK\";\nexport var continueButton = \"UserProjects_List_Item__continueButton__lAS4T\";\nexport var deleteButton = \"UserProjects_List_Item__deleteButton__mNDSS\";\nexport var draftButtonsContainer = \"UserProjects_List_Item__draftButtonsContainer__KN15M\";\nexport var draftMessage = \"UserProjects_List_Item__draftMessage__rGpRq\";\nexport var draftProjectItem = \"UserProjects_List_Item__draftProjectItem__eNXjJ\";\nexport var finalizedMessage = \"UserProjects_List_Item__finalizedMessage__zOqeo\";\nexport var finalizedProjectItem = \"UserProjects_List_Item__finalizedProjectItem__dU6tX\";\nexport var flex = \"UserProjects_List_Item__flex__nySym\";\nexport var flexColumn = \"UserProjects_List_Item__flexColumn__zPqFB\";\nexport var gap1 = \"UserProjects_List_Item__gap1__NhaHQ\";\nexport var gap2 = \"UserProjects_List_Item__gap2__c4mHr\";\nexport var gap3 = \"UserProjects_List_Item__gap3__S0l2Q\";\nexport var gap4 = \"UserProjects_List_Item__gap4__bibUB\";\nexport var gap5 = \"UserProjects_List_Item__gap5__MFiAZ\";\nexport var inactiveMessage = \"UserProjects_List_Item__inactiveMessage__Uzlfk\";\nexport var inactiveProjectItem = \"UserProjects_List_Item__inactiveProjectItem__Ewc62\";\nexport var modalMessageButtons = \"UserProjects_List_Item__modalMessageButtons__Xo9jX\";\nexport var modalMessageContainer = \"UserProjects_List_Item__modalMessageContainer__kDxgA\";\nexport var modalMessageOverlay = \"UserProjects_List_Item__modalMessageOverlay__QtJp9\";\nexport var modalMessageText = \"UserProjects_List_Item__modalMessageText__xo0Va\";\nexport var productTag = \"UserProjects_List_Item__productTag__Cyt1v\";\nexport var projectDescription = \"UserProjects_List_Item__projectDescription__FK_X2\";\nexport var projectInfo = \"UserProjects_List_Item__projectInfo__CmVPP\";\nexport var projectItem = \"UserProjects_List_Item__projectItem__WLZVx\";\nexport var projectItemContainer = \"UserProjects_List_Item__projectItemContainer__l7BNN\";\nexport var projectLabel = \"UserProjects_List_Item__projectLabel__ZqH84\";\nexport var projectName = \"UserProjects_List_Item__projectName__xMxql\";\nexport var projectTitle = \"UserProjects_List_Item__projectTitle__SbJXW\";\nexport var projectUser = \"UserProjects_List_Item__projectUser__u1e_D\";\nexport var projectUserAvatar = \"UserProjects_List_Item__projectUserAvatar__X0QSR\";\nexport var projectUserText = \"UserProjects_List_Item__projectUserText__pm52_\";\nexport var proposalLabel = \"UserProjects_List_Item__proposalLabel__w0UKh\";\nexport var reviewMessage = \"UserProjects_List_Item__reviewMessage__QkIAt\";\nexport var reviewProjectItem = \"UserProjects_List_Item__reviewProjectItem__G1Uxx\";\nexport var row = \"UserProjects_List_Item__row__tDGBM\";","// extracted by mini-css-extract-plugin\nexport var activeProposals = \"UserProjects_List_Controls__activeProposals__faN0v\";\nexport var buttonsContainer = \"UserProjects_List_Controls__buttonsContainer__ji74b\";\nexport var column = \"UserProjects_List_Controls__column__FkubY\";\nexport var deleteButton = \"UserProjects_List_Controls__deleteButton__squn2\";\nexport var draftButtonsContainer = \"UserProjects_List_Controls__draftButtonsContainer__Bi6En\";\nexport var fakeLink = \"UserProjects_List_Controls__fakeLink__fSc_4\";\nexport var flex = \"UserProjects_List_Controls__flex__yKUKz\";\nexport var flexColumn = \"UserProjects_List_Controls__flexColumn__ssxgf\";\nexport var gap1 = \"UserProjects_List_Controls__gap1__XmzbU\";\nexport var gap2 = \"UserProjects_List_Controls__gap2__fboo2\";\nexport var gap3 = \"UserProjects_List_Controls__gap3__lbETH\";\nexport var gap4 = \"UserProjects_List_Controls__gap4__Q1sch\";\nexport var gap5 = \"UserProjects_List_Controls__gap5__aYvqp\";\nexport var largeHeight = \"UserProjects_List_Controls__largeHeight__H72PJ\";\nexport var link = \"UserProjects_List_Controls__link__rgKE6\";\nexport var modalMessageButtons = \"UserProjects_List_Controls__modalMessageButtons__CXBHP\";\nexport var modalMessageContainer = \"UserProjects_List_Controls__modalMessageContainer__MGJzL\";\nexport var modalMessageOverlay = \"UserProjects_List_Controls__modalMessageOverlay___0CvW\";\nexport var modalMessageText = \"UserProjects_List_Controls__modalMessageText__BsHVc\";\nexport var pillTitle = \"UserProjects_List_Controls__pillTitle__qjVxk\";\nexport var popoverBody = \"UserProjects_List_Controls__popoverBody__FbplC\";\nexport var popoverBodyActions = \"UserProjects_List_Controls__popoverBodyActions__m5YxS\";\nexport var popoverBodyActionsAdmin = \"UserProjects_List_Controls__popoverBodyActionsAdmin__ZjkPQ\";\nexport var popoverBodyPositionAdmin = \"UserProjects_List_Controls__popoverBodyPositionAdmin__jQlA1\";\nexport var popoverButton = \"UserProjects_List_Controls__popoverButton__Ht0VO\";\nexport var popoverIconActions = \"UserProjects_List_Controls__popoverIconActions__syenn\";\nexport var popoverProjectActions = \"UserProjects_List_Controls__popoverProjectActions__J8eQv\";\nexport var popoverRow = \"UserProjects_List_Controls__popoverRow__Z2avR\";\nexport var projectActions = \"UserProjects_List_Controls__projectActions__SIlDX\";\nexport var projectLabel = \"UserProjects_List_Controls__projectLabel__A20XE\";\nexport var projectLocationAndProviders = \"UserProjects_List_Controls__projectLocationAndProviders__spe8m\";\nexport var projectLocations = \"UserProjects_List_Controls__projectLocations__PvamY\";\nexport var projectProposalDates = \"UserProjects_List_Controls__projectProposalDates__BzJNl\";\nexport var projectProviderAdminControls = \"UserProjects_List_Controls__projectProviderAdminControls__omsDP\";\nexport var projectProviderLogo = \"UserProjects_List_Controls__projectProviderLogo__m3UXr\";\nexport var projectStatusBadge = \"UserProjects_List_Controls__projectStatusBadge___yn5n\";\nexport var projectStatusControl = \"UserProjects_List_Controls__projectStatusControl__uhB1u\";\nexport var projectStatusFinalized = \"UserProjects_List_Controls__projectStatusFinalized__ygI95\";\nexport var projectStatusInactive = \"UserProjects_List_Controls__projectStatusInactive__nGCRL\";\nexport var projectUserControls = \"UserProjects_List_Controls__projectUserControls__aQLGk\";\nexport var proposalDate = \"UserProjects_List_Controls__proposalDate__vwHXz\";\nexport var proposalDateContainer = \"UserProjects_List_Controls__proposalDateContainer__f8GN6\";\nexport var proposalDropdownTrigger = \"UserProjects_List_Controls__proposalDropdownTrigger__OtnM2\";\nexport var proposalLabel = \"UserProjects_List_Controls__proposalLabel__EAJjl\";\nexport var proposalStatus = \"UserProjects_List_Controls__proposalStatus__Bj6Nr\";\nexport var proposalsButton = \"UserProjects_List_Controls__proposalsButton__CAQJ1\";\nexport var providerDropdown = \"UserProjects_List_Controls__providerDropdown__kbTmW\";\nexport var row = \"UserProjects_List_Controls__row__RsQHF\";\nexport var smallHeight = \"UserProjects_List_Controls__smallHeight__qF1om\";\nexport var sortSelection = \"UserProjects_List_Controls__sortSelection__pUZGw\";\nexport var status = \"UserProjects_List_Controls__status__yTarI\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as Api from \"../../../../api/Api.res.js\";\nimport * as Url from \"../../../../utils/Url.res.js\";\nimport * as React from \"react\";\nimport * as Button from \"../../../../styleguide/components/Button/Button.res.js\";\nimport * as Toggle from \"../../../../styleguide/forms/Toggle/Toggle.res.js\";\nimport * as Control from \"../../../../styleguide/components/Control/Control.res.js\";\nimport * as Popover from \"../../../../styleguide/components/Popover/Popover.res.js\";\nimport * as $$Promise from \"../../../../bindings/Promise.res.js\";\nimport * as IconMenu from \"../../../../styleguide/icons/IconMenu.res.js\";\nimport * as Belt_Option from \"rescript/lib/es6/belt_Option.js\";\nimport * as SentryLogger from \"../../../../loggers/SentryLogger.res.js\";\nimport * as ProjectService from \"../../../../services/ProjectService.res.js\";\nimport * as Routes_Project from \"../../../../routes/common/Routes_Project.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as UserProjects_List_ControlsScss from \"./UserProjects_List_Controls.scss\";\n\nvar css = UserProjects_List_ControlsScss;\n\nfunction UserProjects_List_ControlsForUser(props) {\n var updateProjectStatus = props.updateProjectStatus;\n var project = props.project;\n var match = React.useState(function () {\n return \"Hidden\";\n });\n var setDeleteModalVisibility = match[1];\n var tmp;\n if (project.TAG === \"Draft\") {\n var totalLocations = project.data.totalLocations;\n tmp = totalLocations !== undefined ? totalLocations : 0;\n } else {\n var totalLocations$1 = project.data.totalLocations;\n tmp = totalLocations$1 !== undefined ? totalLocations$1 : 0;\n }\n var tmp$1;\n if (project.TAG === \"Draft\") {\n var totalProviders = project.data.totalProviders;\n tmp$1 = totalProviders !== undefined ? totalProviders : 0;\n } else {\n var totalProviders$1 = project.data.totalProviders;\n tmp$1 = totalProviders$1 !== undefined ? totalProviders$1 : 0;\n }\n var tmp$2;\n if (project.TAG === \"Draft\") {\n tmp$2 = null;\n } else {\n var match$1 = project.data;\n var totalProposals = match$1.totalProposals;\n var projectId = project.id;\n if (props.userRole === \"Admin\") {\n var tmp$3;\n tmp$3 = match$1.status === \"Active\" ? JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n JsxRuntime.jsx(Control.make, {\n className: css.deleteButton,\n onClick: (function (param) {\n setDeleteModalVisibility(function (param) {\n return \"Shown\";\n });\n }),\n children: \"Delete\"\n }),\n match[0] === \"Shown\" ? JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: \"Are you sure?\",\n className: css.modalMessageText\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(Button.make, {\n size: \"SM\",\n color: \"Gray\",\n onClick: (function (param) {\n setDeleteModalVisibility(function (param) {\n return \"Hidden\";\n });\n }),\n children: \"Cancel\"\n }),\n JsxRuntime.jsx(Button.make, {\n size: \"SM\",\n color: \"Pink\",\n onClick: (function (param) {\n $$Promise.wait(Api.deleteProject(projectId), (function (x) {\n if (x.TAG !== \"Ok\") {\n return SentryLogger.error({\n rootModule: \"UserProjects_List_ControlsForUser\",\n subModulePath: /* [] */0,\n value: \"make\",\n fullPath: \"UserProjects_List_ControlsForUser.make\"\n }, \"DeleteProject::Error\");\n }\n window.location.reload();\n }));\n }),\n children: \"Yes, delete it\"\n })\n ],\n className: css.modalMessageButtons\n })\n ],\n className: css.modalMessageContainer\n }),\n className: css.modalMessageOverlay\n }) : null\n ]\n }) : null;\n tmp$2 = JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"a\", {\n children: totalProposals !== undefined && totalProposals !== 0 ? String(totalProposals) + \" Proposals\" : \"No proposals\",\n className: Cx.cx([\n css.proposalsButton,\n Belt_Option.getWithDefault(totalProposals, 0) > 0 ? css.activeProposals : \"\"\n ]),\n href: Routes_Project.Proposal.index(projectId)\n }),\n tmp$3\n ],\n className: css.buttonsContainer\n });\n } else {\n tmp$2 = JsxRuntime.jsx(\"a\", {\n children: totalProposals !== undefined && totalProposals !== 0 ? String(totalProposals) + \" Proposals\" : \"No proposals\",\n className: Cx.cx([\n css.proposalsButton,\n Belt_Option.getWithDefault(totalProposals, 0) > 0 ? css.activeProposals : \"\"\n ]),\n href: Routes_Project.Proposal.index(projectId)\n });\n }\n }\n var tmp$4;\n if (project.TAG === \"Draft\") {\n tmp$4 = null;\n } else {\n var status = project.data.status;\n var category = project.category;\n var projectId$1 = project.id;\n var tmp$5;\n var exit = 0;\n switch (status) {\n case \"Active\" :\n case \"Inactive\" :\n exit = 1;\n break;\n default:\n tmp$5 = null;\n }\n if (exit === 1) {\n var tmp$6;\n tmp$6 = status === \"Active\" ? true : false;\n tmp$5 = JsxRuntime.jsx(Toggle.make, {\n on: tmp$6,\n size: \"MD\",\n onChange: (function () {\n var tmp;\n switch (status) {\n case \"Draft\" :\n tmp = \"Draft\";\n break;\n case \"Active\" :\n tmp = \"Inactive\";\n break;\n case \"Inactive\" :\n tmp = \"Active\";\n break;\n case \"Finalized\" :\n tmp = \"Finalized\";\n break;\n case \"Review\" :\n tmp = \"Review\";\n break;\n \n }\n updateProjectStatus(projectId$1, tmp);\n })\n });\n }\n tmp$4 = JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: tmp$5,\n className: css.projectStatus\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsxs(Popover.make, {\n children: [\n JsxRuntime.jsx(Popover.Trigger.make, {\n className: css.popoverIconActions,\n children: JsxRuntime.jsx(IconMenu.make, {\n size: \"LG\",\n color: \"Teal\"\n })\n }),\n JsxRuntime.jsxs(Popover.Body.make, {\n position: {\n TAG: \"Below\",\n _0: \"RightEdge\"\n },\n className: Cx.cx([\n css.popoverBody,\n css.popoverBodyActions\n ]),\n children: [\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"div\", {\n children: \"Edit\",\n className: css.sortSelection,\n onClick: (function (param) {\n Url.visit(Routes_Project.update(projectId$1));\n })\n }),\n className: css.popoverRow\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"div\", {\n children: \"Clone project\",\n className: css.sortSelection,\n onClick: (function (param) {\n ProjectService.cloneProject(projectId$1, category);\n })\n }),\n className: css.popoverRow\n })\n ]\n })\n ]\n }),\n className: css.projectActions\n })\n ]\n });\n }\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: \"Locations\",\n className: css.projectLabel\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"span\", {\n children: String(tmp)\n }),\n \" locations, \",\n JsxRuntime.jsx(\"span\", {\n children: String(tmp$1)\n }),\n \" providers\"\n ],\n className: css.projectLocationAndProviders\n }),\n tmp$2\n ],\n className: css.projectLocations\n }),\n tmp$4\n ],\n className: css.projectUserControls\n });\n}\n\nvar make = UserProjects_List_ControlsForUser;\n\nexport {\n css ,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Icon from \"../components/Icon/Icon.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\n\nfunction IconPause(props) {\n var __title = props.title;\n var title = __title !== undefined ? __title : \"Pause\";\n return JsxRuntime.jsx(Icon.make, {\n title: title,\n size: props.size,\n className: props.className,\n children: JsxRuntime.jsxs(\"g\", {\n children: [\n JsxRuntime.jsx(\"rect\", {\n height: \"12\",\n width: \"3\",\n rx: \"1\",\n x: \"3\",\n y: \"2\"\n }),\n JsxRuntime.jsx(\"rect\", {\n height: \"12\",\n width: \"3\",\n rx: \"1\",\n x: \"10\",\n y: \"2\"\n })\n ],\n fill: Icon.mapColor(props.color),\n fillRule: \"evenodd\"\n })\n });\n}\n\nvar make = IconPause;\n\nexport {\n make ,\n}\n/* Icon Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as P from \"../../components/Paragraph/P.res.js\";\nimport * as ID from \"../../../libs/ID.res.js\";\nimport * as Api from \"../../../api/Api.res.js\";\nimport * as React from \"react\";\nimport * as Button from \"../../components/Button/Button.res.js\";\nimport * as Control from \"../../components/Control/Control.res.js\";\nimport * as $$Promise from \"../../../bindings/Promise.res.js\";\nimport * as Caml_obj from \"rescript/lib/es6/caml_obj.js\";\nimport * as Dropdown from \"../../forms/Dropdown/Dropdown.res.js\";\nimport * as Provider from \"../../../models/Provider.res.js\";\nimport * as Textarea from \"../../forms/Textarea/Textarea.res.js\";\nimport * as IconClose from \"../../icons/IconClose.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as SentryLogger from \"../../../loggers/SentryLogger.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as NoBidModalScss from \"../NoBidModal/NoBidModal.scss\";\n\nvar css = NoBidModalScss;\n\nfunction reducer(state, action) {\n switch (action.TAG) {\n case \"FetchProviders\" :\n var res = action._0;\n var match = res.providers;\n var providerId;\n if (match.length !== 1) {\n providerId = undefined;\n } else {\n var provider = match[0];\n providerId = Caml_option.some(provider.id);\n }\n var input = state.input;\n return {\n input: {\n message: input.message,\n providerId: providerId\n },\n providers: res.providers,\n fetchProviderApiStatus: \"Success\",\n preparingProposalApiStatus: state.preparingProposalApiStatus\n };\n case \"SetFetchProviderApiStatus\" :\n return {\n input: state.input,\n providers: state.providers,\n fetchProviderApiStatus: action._0,\n preparingProposalApiStatus: state.preparingProposalApiStatus\n };\n case \"Update\" :\n return {\n input: action._0,\n providers: state.providers,\n fetchProviderApiStatus: state.fetchProviderApiStatus,\n preparingProposalApiStatus: state.preparingProposalApiStatus\n };\n case \"SetPreparingProposalApiStatus\" :\n return {\n input: state.input,\n providers: state.providers,\n fetchProviderApiStatus: state.fetchProviderApiStatus,\n preparingProposalApiStatus: action._0\n };\n \n }\n}\n\nfunction PreparingProposalModal(props) {\n var projectId = props.projectId;\n var close = props.close;\n var match = React.useReducer(reducer, {\n input: Provider.Simple.NoBidInput.empty(),\n providers: [],\n fetchProviderApiStatus: \"Success\",\n preparingProposalApiStatus: \"Success\"\n });\n var dispatch = match[1];\n var state = match[0];\n var fetchProviders = function () {\n dispatch({\n TAG: \"SetFetchProviderApiStatus\",\n _0: \"Fetching\"\n });\n $$Promise.wait(Api.fetchProviders(projectId), (function (x) {\n if (x.TAG === \"Ok\") {\n return dispatch({\n TAG: \"FetchProviders\",\n _0: x._0\n });\n }\n SentryLogger.error1({\n rootModule: \"PreparingProposalModal\",\n subModulePath: /* [] */0,\n value: \"make\",\n fullPath: \"PreparingProposalModal.make\"\n }, \"PreparingProposalModal::FetchProviders::Error\", [\n \"Error\",\n x._0\n ]);\n dispatch({\n TAG: \"SetFetchProviderApiStatus\",\n _0: \"Error\"\n });\n }));\n };\n var sendSetPreparingStatus = function () {\n $$Promise.wait(Api.setStatusOfProposalToPreparingByProvider(projectId, state.input), (function (x) {\n if (x.TAG === \"Ok\") {\n window.location.reload();\n return ;\n }\n SentryLogger.error1({\n rootModule: \"PreparingProposalModal\",\n subModulePath: /* [] */0,\n value: \"make\",\n fullPath: \"PreparingProposalModal.make\"\n }, \"PreparingProposalModal::PreparingProposalStatus::Error\", [\n \"Error\",\n x._0\n ]);\n dispatch({\n TAG: \"SetPreparingProposalApiStatus\",\n _0: \"Error\"\n });\n }));\n };\n React.useEffect((function () {\n fetchProviders();\n }), []);\n var match$1 = state.fetchProviderApiStatus;\n var tmp;\n if (match$1 === \"Error\") {\n tmp = JsxRuntime.jsx(P.make, {\n children: \"Error on fetching providers. Please try again later.\"\n });\n } else if (match$1 === \"Fetching\") {\n tmp = JsxRuntime.jsx(P.make, {\n children: \"Fetching providers. Please wait...\"\n });\n } else {\n var match$2 = state.providers;\n if (match$2.length !== 0) {\n var exit = 0;\n switch (props.userRole) {\n case \"Provider\" :\n tmp = JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n JsxRuntime.jsx(\"p\", {\n children: \"Inform a project manager that you are working on the proposal.\",\n className: css.description\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"label\", {\n children: \"Message to the Client\",\n className: css.label\n }),\n JsxRuntime.jsx(Textarea.make, {\n id: \"preparing-proposal--message\",\n value: state.input.message,\n rows: 4,\n placeholder: \"Describe the reason\",\n className: css.message,\n onChange: (function ($$event) {\n var init = state.input;\n dispatch({\n TAG: \"Update\",\n _0: {\n message: $$event.target.value,\n providerId: init.providerId\n }\n });\n })\n })\n ],\n className: css.field\n })\n ]\n });\n break;\n case \"Admin\" :\n case \"Concierge\" :\n exit = 1;\n break;\n default:\n tmp = null;\n }\n if (exit === 1) {\n var id = state.input.providerId;\n var tmp$1;\n if (id !== undefined) {\n var id$1 = Caml_option.valFromOption(id);\n tmp$1 = Belt_Array.map(state.providers, (function (provider) {\n if (Caml_obj.equal(provider.id, id$1)) {\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"img\", {\n className: css.providerLogo,\n src: provider.logo\n }),\n JsxRuntime.jsx(\"label\", {\n children: provider.name,\n className: css.option\n })\n ],\n className: css.logoNamePair\n });\n } else {\n return null;\n }\n }));\n } else {\n tmp$1 = \"Select a Provider\";\n }\n tmp = JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n JsxRuntime.jsx(\"p\", {\n children: \"Select the provider for which you want to set preparing status and click the button to confirm.\",\n className: css.description\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"label\", {\n children: \"Provider\",\n className: css.label\n }),\n JsxRuntime.jsxs(Dropdown.make, {\n children: [\n JsxRuntime.jsx(Dropdown.Trigger.make, {\n className: css.dropdownTrigger,\n iconSize: \"XS\",\n iconColor: \"Gray\",\n children: tmp$1\n }),\n JsxRuntime.jsx(Dropdown.Body.make, {\n position: {\n TAG: \"Below\",\n _0: \"LeftEdge\"\n },\n className: css.dropdownBody,\n children: Belt_Array.map(state.providers, (function (provider) {\n var id = \"no-bid--provider-\" + ID.toString(provider.id);\n return JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsxs(Control.make, {\n className: css.logoNamePair,\n onClick: (function (param) {\n var init = state.input;\n dispatch({\n TAG: \"Update\",\n _0: {\n message: init.message,\n providerId: Caml_option.some(provider.id)\n }\n });\n }),\n children: [\n JsxRuntime.jsx(\"img\", {\n className: css.providerLogo,\n src: provider.logo\n }),\n JsxRuntime.jsx(\"label\", {\n children: provider.name,\n className: css.option\n })\n ]\n }),\n className: css.dropdownBodyRow\n }, id);\n }))\n })\n ]\n })\n ],\n className: css.field\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"label\", {\n children: \"Message to the Client\",\n className: css.label\n }),\n JsxRuntime.jsx(Textarea.make, {\n id: \"no-bid--message\",\n value: state.input.message,\n rows: 4,\n placeholder: \"Describe the reason\",\n className: css.message,\n onChange: (function ($$event) {\n var init = state.input;\n dispatch({\n TAG: \"Update\",\n _0: {\n message: $$event.target.value,\n providerId: init.providerId\n }\n });\n })\n })\n ],\n className: css.field\n })\n ]\n });\n }\n \n } else {\n tmp = JsxRuntime.jsx(P.make, {\n children: \"No providers found\"\n });\n }\n }\n var match$3 = state.preparingProposalApiStatus;\n var match$4 = state.providers.length;\n var tmp$2;\n if (match$4 !== 0) {\n if (match$4 !== 1) {\n var match$5 = state.input.message;\n var tmp$3 = match$5 === \"\" ? true : false;\n var match$6 = state.input.message;\n var match$7 = state.input.providerId;\n var tmp$4 = match$6 === \"\" ? true : match$7 === undefined;\n tmp$2 = JsxRuntime.jsx(Button.make, {\n size: \"SM\",\n color: \"Teal\",\n disabled: tmp$3,\n visuallyDisabled: tmp$4,\n className: css.sendButton,\n onClick: (function (param) {\n sendSetPreparingStatus();\n }),\n children: \"Set Status\"\n });\n } else {\n tmp$2 = JsxRuntime.jsx(Button.make, {\n size: \"SM\",\n color: \"Teal\",\n disabled: state.input.message === \"\",\n visuallyDisabled: state.input.message === \"\",\n className: css.sendButton,\n onClick: (function (param) {\n var uniqueProvider = Belt_Array.get(state.providers, 0);\n if (uniqueProvider === undefined) {\n return ;\n }\n var init = state.input;\n dispatch({\n TAG: \"Update\",\n _0: {\n message: init.message,\n providerId: Caml_option.some(uniqueProvider.id)\n }\n });\n sendSetPreparingStatus();\n }),\n children: \"Set Status\"\n });\n }\n } else {\n tmp$2 = null;\n }\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n className: css.modalOverlay,\n onClick: (function (param) {\n close();\n })\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(Control.make, {\n className: css.closeOverlayButton,\n onClick: (function (param) {\n close();\n }),\n children: JsxRuntime.jsx(IconClose.make, {\n title: \"Close\",\n size: \"MD\",\n color: \"Gray\"\n })\n }),\n JsxRuntime.jsx(\"h2\", {\n children: props.title\n }),\n tmp,\n match$3 === \"Error\" ? JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(P.make, {\n children: \"Error in setting Proposal Status. Please try again later.\"\n }),\n className: css.errors\n }),\n className: css.errorContainer\n }) : null,\n JsxRuntime.jsx(\"div\", {\n children: tmp$2,\n className: css.buttons\n })\n ],\n className: css.modalContents\n }),\n className: css.modal\n })\n ],\n className: css.modalContainer\n });\n}\n\nvar make = PreparingProposalModal;\n\nexport {\n css ,\n reducer ,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as A from \"../../../../styleguide/components/Link/A.res.js\";\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as Url from \"../../../../utils/Url.res.js\";\nimport * as React from \"react\";\nimport * as Button from \"../../../../styleguide/components/Button/Button.res.js\";\nimport * as IconOk from \"../../../../styleguide/icons/IconOk.res.js\";\nimport * as Popover from \"../../../../styleguide/components/Popover/Popover.res.js\";\nimport * as Project from \"../../../../models/Project.res.js\";\nimport * as IconMenu from \"../../../../styleguide/icons/IconMenu.res.js\";\nimport * as IconPause from \"../../../../styleguide/icons/IconPause.res.js\";\nimport * as NoBidModal from \"../../../../styleguide/modals/NoBidModal/NoBidModal.res.js\";\nimport * as Routes_Project from \"../../../../routes/common/Routes_Project.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as PreparingProposalModal from \"../../../../styleguide/modals/PreparingProposalModal/PreparingProposalModal.res.js\";\nimport * as UserProjects_List_ControlsScss from \"./UserProjects_List_Controls.scss\";\n\nvar css = UserProjects_List_ControlsScss;\n\nfunction reducer(state, action) {\n if (action === \"ToggleNoBidModal\") {\n return {\n isNoBidModalShown: !state.isNoBidModalShown,\n isPreparingProposalModalShown: state.isPreparingProposalModalShown\n };\n } else {\n return {\n isNoBidModalShown: state.isNoBidModalShown,\n isPreparingProposalModalShown: !state.isPreparingProposalModalShown\n };\n }\n}\n\nfunction UserProjects_List_ControlsForAdmin(props) {\n var userRole = props.userRole;\n var projectData = props.projectData;\n var projectId = props.projectId;\n var match = React.useReducer(reducer, {\n isNoBidModalShown: false,\n isPreparingProposalModalShown: false\n });\n var dispatch = match[1];\n var state = match[0];\n var total = projectData.totalProposals;\n var match$1 = projectData.status;\n var tmp;\n switch (match$1) {\n case \"Active\" :\n var match$2 = projectData.totalProposals;\n var exit = 0;\n if (match$2 !== undefined && match$2 !== 0) {\n var canSendProposals = projectData.canSendProposals;\n tmp = JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(Button.AsLink.make, {\n href: Routes_Project.Proposal.index(projectId),\n size: \"SM\",\n color: \"White\",\n children: \"View Proposals\"\n }),\n canSendProposals !== undefined && canSendProposals ? JsxRuntime.jsxs(Popover.make, {\n children: [\n JsxRuntime.jsx(Popover.Trigger.make, {\n className: css.popoverProjectActions,\n children: JsxRuntime.jsx(IconMenu.make, {\n size: \"LG\",\n color: \"Teal\"\n })\n }),\n JsxRuntime.jsxs(Popover.Body.make, {\n position: {\n TAG: \"Below\",\n _0: \"RightEdge\"\n },\n className: Cx.cx([\n css.popoverBody,\n css.popoverBodyActionsAdmin,\n css.popoverBodyPositionAdmin\n ]),\n children: [\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"div\", {\n children: \"Send Proposal\",\n className: css.sortSelection,\n onClick: (function (param) {\n Url.visit(Routes_Project.Proposal.$$new(projectId));\n })\n }),\n className: css.popoverRow\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"div\", {\n children: \"Set Preparing Status\",\n className: css.sortSelection,\n onClick: (function (param) {\n dispatch(\"TogglePreparingProposalModal\");\n })\n }),\n className: css.popoverRow\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"div\", {\n children: \"No Bid\",\n className: css.sortSelection,\n onClick: (function (param) {\n dispatch(\"ToggleNoBidModal\");\n })\n }),\n className: css.popoverRow\n })\n ]\n })\n ]\n }) : null\n ],\n className: css.projectStatusControl\n });\n } else {\n exit = 1;\n }\n if (exit === 1) {\n tmp = JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(Button.AsLink.make, {\n href: Routes_Project.Proposal.$$new(projectId),\n size: \"SM\",\n color: \"Teal\",\n margin: \"RightMargin\",\n children: \"Send Proposal\"\n }),\n JsxRuntime.jsxs(Popover.make, {\n children: [\n JsxRuntime.jsx(Popover.Trigger.make, {\n className: css.popoverIconActions,\n children: JsxRuntime.jsx(Button.make, {\n size: \"XS\",\n color: \"Teal\",\n buttonClassName: css.popoverButton,\n children: JsxRuntime.jsx(IconMenu.make, {\n size: \"LG\",\n color: \"White\"\n })\n })\n }),\n JsxRuntime.jsxs(Popover.Body.make, {\n position: {\n TAG: \"Below\",\n _0: \"RightEdge\"\n },\n className: Cx.cx([\n css.popoverBody,\n css.popoverBodyActionsAdmin,\n css.popoverBodyPositionAdmin\n ]),\n children: [\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"div\", {\n children: \"Set Preparing Status\",\n className: css.sortSelection,\n onClick: (function (param) {\n dispatch(\"TogglePreparingProposalModal\");\n })\n }),\n className: css.popoverRow\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"div\", {\n children: \"No Bid\",\n className: css.sortSelection,\n onClick: (function (param) {\n dispatch(\"ToggleNoBidModal\");\n })\n }),\n className: css.popoverRow\n })\n ]\n })\n ]\n })\n ],\n className: css.projectStatusControl\n });\n }\n break;\n case \"Inactive\" :\n tmp = JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(IconPause.make, {\n size: \"SM\",\n color: \"White\"\n }),\n JsxRuntime.jsx(\"span\", {\n children: Project.Status.toString(projectData.status)\n })\n ],\n className: css.pillTitle\n }),\n className: css.projectStatusInactive\n }),\n JsxRuntime.jsx(A.make, {\n href: Routes_Project.Proposal.index(projectId),\n className: css.link,\n children: \"View Proposals\"\n })\n ],\n className: css.projectStatusControl\n });\n break;\n case \"Finalized\" :\n tmp = JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(IconOk.make, {\n size: \"SM\",\n color: \"White\"\n }),\n JsxRuntime.jsx(\"span\", {\n children: Project.Status.toString(projectData.status)\n })\n ],\n className: css.pillTitle\n }),\n className: css.projectStatusFinalized\n }),\n JsxRuntime.jsx(A.make, {\n href: Routes_Project.Proposal.index(projectId),\n className: css.link,\n children: \"View Proposals\"\n })\n ],\n className: css.projectStatusControl\n });\n break;\n case \"Draft\" :\n case \"Review\" :\n tmp = null;\n break;\n \n }\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: \"Proposals\",\n className: css.proposalLabel\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"span\", {\n children: String(total !== undefined ? total : 0)\n }),\n \" sent\"\n ],\n className: css.projectLocationAndProviders\n }),\n tmp\n ],\n className: css.projectLocations\n }),\n state.isNoBidModalShown ? JsxRuntime.jsx(NoBidModal.make, {\n title: \"No Bid\",\n close: (function () {\n dispatch(\"ToggleNoBidModal\");\n }),\n projectId: projectId,\n userRole: userRole\n }) : null,\n state.isPreparingProposalModalShown ? JsxRuntime.jsx(PreparingProposalModal.make, {\n title: \"Set Preparing Status\",\n close: (function () {\n dispatch(\"TogglePreparingProposalModal\");\n }),\n projectId: projectId,\n userRole: userRole\n }) : null\n ],\n className: Cx.cx([\n css.projectProviderAdminControls,\n projectData.status === \"Review\" ? css.smallHeight : css.largeHeight\n ])\n });\n}\n\nvar make = UserProjects_List_ControlsForAdmin;\n\nexport {\n css ,\n reducer ,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as $$Date from \"../../../../libs/Date.res.js\";\nimport * as React from \"react\";\nimport * as Button from \"../../../../styleguide/components/Button/Button.res.js\";\nimport * as Popover from \"../../../../styleguide/components/Popover/Popover.res.js\";\nimport * as IconMenu from \"../../../../styleguide/icons/IconMenu.res.js\";\nimport * as NoBidModal from \"../../../../styleguide/modals/NoBidModal/NoBidModal.res.js\";\nimport * as Routes_Project from \"../../../../routes/common/Routes_Project.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as PreparingProposalModal from \"../../../../styleguide/modals/PreparingProposalModal/PreparingProposalModal.res.js\";\nimport * as ProjectProposalStatusDropdown from \"../_components/ProjectProposalStatusDropdown/ProjectProposalStatusDropdown.res.js\";\nimport * as UserProjects_List_ControlsScss from \"./UserProjects_List_Controls.scss\";\n\nvar css = UserProjects_List_ControlsScss;\n\nfunction UserProjects_List_ControlsForProvider(props) {\n var userRole = props.userRole;\n var projectId = props.projectId;\n var match = React.useState(function () {\n return \"Hidden\";\n });\n var setBidModalVisibility = match[1];\n var match$1 = React.useState(function () {\n return \"Hidden\";\n });\n var setPreparingProposalModalVisibility = match$1[1];\n var details = props.projectData.proposalDetails;\n var tmp;\n if (details !== undefined) {\n var match$2 = details.status;\n tmp = JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n JsxRuntime.jsx(ProjectProposalStatusDropdown.make, {\n proposal: details,\n projectId: projectId,\n userViewContext: props.userViewContext,\n iconSize: \"XS\",\n updateProposalStatus: props.updateProposalStatus,\n setBidModalVisibility: (function (visibility) {\n setBidModalVisibility(function (param) {\n return visibility;\n });\n }),\n className: css.providerDropdown\n }),\n match$2 === \"Preparing\" ? null : JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: \"Sent\",\n className: css.proposalLabel\n }),\n JsxRuntime.jsx(\"div\", {\n children: $$Date.Naive.format(details.sentAt, \"dd MMM yyyy\"),\n className: css.proposalDate\n })\n ],\n className: css.proposalDateContainer\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: \"Expires\",\n className: css.proposalLabel\n }),\n JsxRuntime.jsx(\"div\", {\n children: $$Date.Naive.format(details.expiresAt, \"dd MMM yyyy\"),\n className: css.proposalDate\n })\n ],\n className: css.proposalDateContainer\n })\n ],\n className: css.projectProposalDates\n })\n ]\n });\n } else {\n tmp = JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n JsxRuntime.jsx(Button.AsLink.make, {\n href: Routes_Project.Proposal.$$new(projectId),\n size: \"SM\",\n color: \"Teal\",\n margin: \"RightMargin\",\n children: \"Send Proposal\"\n }),\n JsxRuntime.jsxs(Popover.make, {\n children: [\n JsxRuntime.jsx(Popover.Trigger.make, {\n className: css.popoverIconActions,\n children: JsxRuntime.jsx(Button.make, {\n size: \"XS\",\n color: \"Teal\",\n buttonClassName: css.popoverButton,\n children: JsxRuntime.jsx(IconMenu.make, {\n size: \"LG\",\n color: \"White\"\n })\n })\n }),\n JsxRuntime.jsxs(Popover.Body.make, {\n position: {\n TAG: \"Below\",\n _0: \"RightEdge\"\n },\n className: Cx.cx([\n css.popoverBody,\n css.popoverBodyActionsAdmin,\n css.popoverBodyPositionAdmin\n ]),\n children: [\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"div\", {\n children: \"Set Preparing Status\",\n className: css.sortSelection,\n onClick: (function (param) {\n setPreparingProposalModalVisibility(function (param) {\n return \"Shown\";\n });\n })\n }),\n className: css.popoverRow\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"div\", {\n children: \"No Bid\",\n className: css.sortSelection,\n onClick: (function (param) {\n setBidModalVisibility(function (param) {\n return \"Shown\";\n });\n })\n }),\n className: css.popoverRow\n })\n ]\n })\n ]\n })\n ]\n }),\n className: css.projectStatusControl\n });\n }\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: \"Proposal status\",\n className: Cx.cx([\n css.proposalLabel,\n css.status\n ])\n }),\n tmp\n ],\n className: css.projectLocations\n }),\n match[0] === \"Shown\" ? JsxRuntime.jsx(NoBidModal.make, {\n title: \"No Bid\",\n close: (function () {\n setBidModalVisibility(function (param) {\n return \"Hidden\";\n });\n }),\n projectId: projectId,\n userRole: userRole\n }) : null,\n match$1[0] === \"Shown\" ? JsxRuntime.jsx(PreparingProposalModal.make, {\n title: \"Set Preparing Status\",\n close: (function () {\n setPreparingProposalModalVisibility(function (param) {\n return \"Hidden\";\n });\n }),\n projectId: projectId,\n userRole: userRole\n }) : null\n ],\n className: css.projectProviderAdminControls\n });\n}\n\nvar make = UserProjects_List_ControlsForProvider;\n\nexport {\n css ,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as A from \"../../../../styleguide/components/Link/A.res.js\";\nimport * as P from \"../../../../styleguide/components/Paragraph/P.res.js\";\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as Api from \"../../../../api/Api.res.js\";\nimport * as Url from \"../../../../utils/Url.res.js\";\nimport * as Badge from \"../../../../styleguide/components/Badge/Badge.res.js\";\nimport * as React from \"react\";\nimport * as Button from \"../../../../styleguide/components/Button/Button.res.js\";\nimport * as Control from \"../../../../styleguide/components/Control/Control.res.js\";\nimport * as $$Promise from \"../../../../bindings/Promise.res.js\";\nimport * as Cloudinary from \"../../../../libs/Cloudinary.res.js\";\nimport * as Belt_Option from \"rescript/lib/es6/belt_Option.js\";\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as SentryLogger from \"../../../../loggers/SentryLogger.res.js\";\nimport * as IconUserAvatar from \"../../../../styleguide/icons/IconUserAvatar.res.js\";\nimport * as Routes_Project from \"../../../../routes/common/Routes_Project.res.js\";\nimport Format from \"date-fns/format\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as UserProjects_List_ItemScss from \"./UserProjects_List_Item.scss\";\nimport * as UserProjects_List_ControlsForUser from \"./UserProjects_List_ControlsForUser.res.js\";\nimport * as UserProjects_List_ControlsForAdmin from \"./UserProjects_List_ControlsForAdmin.res.js\";\nimport * as UserProjects_List_ControlsForProvider from \"./UserProjects_List_ControlsForProvider.res.js\";\n\nvar css = UserProjects_List_ItemScss;\n\nfunction date(date$1) {\n return Format(date$1, \"dd MMM yyyy\");\n}\n\nfunction imageUrl(publicId) {\n return Cloudinary.Url.build(\"Auto\", {\n hd: \"Dpr\",\n tl: {\n hd: \"Quality\",\n tl: {\n hd: {\n TAG: \"Crop\",\n _0: \"Fill\"\n },\n tl: {\n hd: {\n TAG: \"Width\",\n _0: 200\n },\n tl: {\n hd: {\n TAG: \"Height\",\n _0: 200\n },\n tl: /* [] */0\n }\n }\n }\n }\n }, Cloudinary.imageUrl(publicId));\n}\n\nvar Helpers = {\n date: date,\n imageUrl: imageUrl\n};\n\nfunction UserProjects_List_Item(props) {\n var userViewContext = props.userViewContext;\n var userRole = props.userRole;\n var project = props.project;\n var category = React.useMemo((function () {\n return project.category;\n }), [project]);\n var projectUrl = React.useMemo((function () {\n if (project.TAG === \"Draft\") {\n return project.data.redirectUrl;\n } else {\n return Routes_Project.show(project.id);\n }\n }), [project]);\n var defaultTitle = React.useMemo((function () {\n switch (category.TAG) {\n case \"Colocation\" :\n return \"Colocation RFP Project\";\n case \"Cloud\" :\n if (category._0 === \"IaasServer\") {\n return \"Cloud IaaS Server Project\";\n } else {\n return \"Cloud IaaS Storage Project\";\n }\n case \"Internet\" :\n return \"Internet RFP Project\";\n case \"Network\" :\n switch (category._0) {\n case \"SdWan\" :\n return \"Network SD-WAN Project\";\n case \"PrivateLine\" :\n return \"Network Private Line Project\";\n case \"Mpls\" :\n return \"Network MPLS Project\";\n \n }\n case \"BareMetal\" :\n return \"Bare Metal Project\";\n \n }\n }), [category]);\n var match = React.useState(function () {\n return \"Hidden\";\n });\n var setDeleteModalVisibility = match[1];\n var tmp;\n if (project.TAG === \"Draft\") {\n tmp = JsxRuntime.jsx(\"div\", {\n children: \"This project is still being drafted. Click title to continue editing.\",\n className: css.draftMessage\n });\n } else {\n switch (project.data.status) {\n case \"Draft\" :\n case \"Active\" :\n tmp = null;\n break;\n case \"Inactive\" :\n tmp = JsxRuntime.jsx(\"div\", {\n children: \"This project is inactive.\",\n className: css.inactiveMessage\n });\n break;\n case \"Finalized\" :\n tmp = JsxRuntime.jsx(\"div\", {\n children: \"This project has been finalized.\",\n className: css.finalizedMessage\n });\n break;\n case \"Review\" :\n tmp = JsxRuntime.jsx(\"div\", {\n children: \"This project is under review.\",\n className: css.reviewMessage\n });\n break;\n \n }\n }\n var tmp$1;\n switch (category.TAG) {\n case \"Colocation\" :\n tmp$1 = JsxRuntime.jsx(Badge.make, {\n badgeType: \"Colocation\",\n className: css.productTag,\n children: \"Colocation\"\n });\n break;\n case \"Cloud\" :\n tmp$1 = category._0 === \"IaasServer\" ? JsxRuntime.jsx(Badge.make, {\n badgeType: \"Cloud\",\n className: css.productTag,\n children: \"Cloud IaaS Server\"\n }) : JsxRuntime.jsx(Badge.make, {\n badgeType: \"Cloud\",\n className: css.productTag,\n children: \"Cloud IaaS Storage\"\n });\n break;\n case \"Internet\" :\n tmp$1 = JsxRuntime.jsx(Badge.make, {\n badgeType: \"Internet\",\n className: css.productTag,\n children: \"Internet\"\n });\n break;\n case \"Network\" :\n switch (category._0) {\n case \"SdWan\" :\n tmp$1 = JsxRuntime.jsx(Badge.make, {\n badgeType: \"Network\",\n className: css.productTag,\n children: \"Network SD-WAN\"\n });\n break;\n case \"PrivateLine\" :\n tmp$1 = JsxRuntime.jsx(Badge.make, {\n badgeType: \"Network\",\n className: css.productTag,\n children: \"Network Private Line\"\n });\n break;\n case \"Mpls\" :\n tmp$1 = JsxRuntime.jsx(Badge.make, {\n badgeType: \"Network\",\n className: css.productTag,\n children: \"Network MPLS\"\n });\n break;\n \n }\n break;\n case \"BareMetal\" :\n tmp$1 = JsxRuntime.jsx(Badge.make, {\n badgeType: \"BareMetal\",\n className: css.productTag,\n children: \"Bare Metal\"\n });\n break;\n \n }\n var tmp$2;\n if (project.TAG === \"Draft\") {\n var match$1 = project.data;\n tmp$2 = Belt_Option.getWithDefault(match$1.title, \"Draft: \" + (defaultTitle + (\" (\" + (Format(match$1.startDate, \"dd MMM yyyy\") + \")\"))));\n } else {\n var match$2 = project.data;\n tmp$2 = match$2.businessName + (\": \" + match$2.title);\n }\n var tmp$3;\n if (project.TAG === \"Draft\") {\n var match$3 = project.data;\n tmp$3 = \"Created \" + (Format(match$3.createdAt, \"MMM dd, yyyy\") + (\" - \" + Belt_Option.getWithDefault(match$3.description, \"-\")));\n } else {\n var match$4 = project.data;\n var createdAt = match$4.createdAt;\n var proposalDetails = match$4.proposalDetails;\n var description = match$4.description;\n if (proposalDetails !== undefined) {\n var match$5 = proposalDetails.status;\n tmp$3 = match$5 === \"Preparing\" ? proposalDetails.statusMessage : \"Created \" + (Format(createdAt, \"MMM dd, yyyy\") + (\" - \" + description));\n } else {\n tmp$3 = \"Created \" + (Format(createdAt, \"MMM dd, yyyy\") + (\" - \" + description));\n }\n }\n var tmp$4;\n var exit = 0;\n var startDate;\n var endDate;\n if (project.TAG === \"Draft\") {\n var match$6 = project.data;\n var endDate$1 = match$6.endDate;\n var startDate$1 = match$6.startDate;\n if (endDate$1 !== undefined) {\n startDate = startDate$1;\n endDate = Caml_option.valFromOption(endDate$1);\n exit = 1;\n } else {\n tmp$4 = Format(startDate$1, \"dd MMM yyyy\") + \" - n/a\";\n }\n } else {\n var match$7 = project.data;\n startDate = match$7.startDate;\n endDate = match$7.endDate;\n exit = 1;\n }\n if (exit === 1) {\n tmp$4 = Format(startDate, \"dd MMM yyyy\") + (\" - \" + Format(endDate, \"dd MMM yyyy\"));\n }\n var tmp$5;\n if (project.TAG === \"Draft\") {\n var redirectUrl = project.data.redirectUrl;\n var category$1 = project.category;\n var id = project.id;\n var tmp$6;\n switch (category$1.TAG) {\n case \"Cloud\" :\n tmp$6 = category$1._0 === \"IaasServer\" ? \"Continue IaaS Server\" : \"Continue IaaS Storage\";\n break;\n case \"Colocation\" :\n case \"Internet\" :\n tmp$6 = \"Continue RFP\";\n break;\n case \"Network\" :\n switch (category$1._0) {\n case \"SdWan\" :\n tmp$6 = \"Continue SD-WAN\";\n break;\n case \"PrivateLine\" :\n tmp$6 = \"Continue Private Line\";\n break;\n case \"Mpls\" :\n tmp$6 = \"Continue MPLS\";\n break;\n \n }\n break;\n case \"BareMetal\" :\n tmp$6 = \"Continue Bare Metal\";\n break;\n \n }\n tmp$5 = JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(Button.make, {\n size: \"SM\",\n color: \"Teal\",\n className: css.continueButton,\n onClick: (function (param) {\n Url.visit(redirectUrl);\n }),\n children: tmp$6\n }),\n JsxRuntime.jsx(Control.make, {\n className: css.deleteButton,\n onClick: (function (param) {\n setDeleteModalVisibility(function (param) {\n return \"Shown\";\n });\n }),\n children: \"Delete\"\n }),\n match[0] === \"Shown\" ? JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: \"Are you sure?\",\n className: css.modalMessageText\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(Button.make, {\n size: \"SM\",\n color: \"Gray\",\n onClick: (function (param) {\n setDeleteModalVisibility(function (param) {\n return \"Hidden\";\n });\n }),\n children: \"Cancel\"\n }),\n JsxRuntime.jsx(Button.make, {\n size: \"SM\",\n color: \"Pink\",\n onClick: (function (param) {\n $$Promise.wait(Api.deleteProject(id), (function (x) {\n if (x.TAG !== \"Ok\") {\n return SentryLogger.error({\n rootModule: \"UserProjects_List_Item\",\n subModulePath: /* [] */0,\n value: \"make\",\n fullPath: \"UserProjects_List_Item.make\"\n }, \"DeleteProject::Error\");\n }\n window.location.reload();\n }));\n }),\n children: \"Yes, delete it\"\n })\n ],\n className: css.modalMessageButtons\n })\n ],\n className: css.modalMessageContainer\n }),\n className: css.modalMessageOverlay\n }) : null\n ],\n className: css.draftButtonsContainer\n });\n } else {\n tmp$5 = null;\n }\n var tmp$7;\n var exit$1 = 0;\n var contact;\n if (project.TAG === \"Draft\") {\n var contact$1 = project.data.contact;\n if (contact$1 !== undefined) {\n contact = contact$1;\n exit$1 = 1;\n } else {\n tmp$7 = null;\n }\n } else {\n var contact$2 = project.data.contact;\n if (contact$2 !== undefined) {\n contact = contact$2;\n exit$1 = 1;\n } else {\n tmp$7 = null;\n }\n }\n if (exit$1 === 1) {\n var image = contact.image;\n var tmp$8;\n tmp$8 = image !== undefined && image !== \"\" ? JsxRuntime.jsx(\"img\", {\n src: imageUrl(image)\n }) : JsxRuntime.jsx(IconUserAvatar.make, {\n size: \"XL\"\n });\n var title = contact.jobTitle;\n tmp$7 = JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: tmp$8,\n className: css.projectUserAvatar\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(P.make, {\n children: contact.fullName\n }),\n JsxRuntime.jsx(\"span\", {\n children: (\n title !== undefined ? title + \" at \" : \"\"\n ) + contact.companyName\n })\n ],\n className: css.projectUserText\n })\n ]\n });\n }\n var tmp$9;\n var exit$2 = 0;\n switch (userViewContext) {\n case \"Personal\" :\n tmp$9 = JsxRuntime.jsx(UserProjects_List_ControlsForUser.make, {\n project: project,\n updateProjectStatus: props.updateProjectStatus,\n userRole: userRole\n });\n break;\n case \"Admin\" :\n case \"Visitor\" :\n exit$2 = 1;\n break;\n \n }\n if (exit$2 === 1) {\n if (project.TAG === \"Draft\") {\n tmp$9 = null;\n } else {\n var projectData = project.data;\n var projectId = project.id;\n if (userViewContext === \"Admin\") {\n switch (userRole) {\n case \"Provider\" :\n tmp$9 = JsxRuntime.jsx(UserProjects_List_ControlsForProvider.make, {\n projectId: projectId,\n projectData: projectData,\n userRole: userRole,\n updateProposalStatus: props.updateProposalStatus,\n userViewContext: userViewContext\n });\n break;\n case \"User\" :\n case \"Visitor\" :\n tmp$9 = null;\n break;\n default:\n tmp$9 = JsxRuntime.jsx(UserProjects_List_ControlsForAdmin.make, {\n projectId: projectId,\n projectData: projectData,\n userRole: userRole\n });\n }\n } else {\n tmp$9 = null;\n }\n }\n }\n var tmp$10;\n if (project.TAG === \"Draft\") {\n tmp$10 = css.draftProjectItem;\n } else {\n switch (project.data.status) {\n case \"Draft\" :\n tmp$10 = css.draftProjectItem;\n break;\n case \"Active\" :\n tmp$10 = \"\";\n break;\n case \"Inactive\" :\n tmp$10 = css.inactiveProjectItem;\n break;\n case \"Finalized\" :\n tmp$10 = css.finalizedProjectItem;\n break;\n case \"Review\" :\n tmp$10 = css.reviewProjectItem;\n break;\n \n }\n }\n return JsxRuntime.jsxs(\"div\", {\n children: [\n tmp,\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsxs(\"div\", {\n children: [\n tmp$1,\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(A.make, {\n id: \"projectLink\",\n href: projectUrl,\n children: tmp$2\n }),\n className: css.projectTitle\n }),\n JsxRuntime.jsx(\"div\", {\n children: tmp$3,\n className: css.projectDescription\n })\n ],\n className: css.projectName\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: \"Estimated project dates\",\n className: css.projectLabel\n }),\n JsxRuntime.jsx(\"div\", {\n children: tmp$4,\n className: css.projectDates\n }),\n tmp$5,\n JsxRuntime.jsx(\"div\", {\n children: tmp$7,\n className: css.projectUser\n })\n ]\n })\n ],\n className: css.projectInfo\n }),\n tmp$9\n ],\n className: css.projectItemContainer\n })\n ],\n className: Cx.cx([\n css.projectItem,\n tmp$10\n ])\n });\n}\n\nvar make = UserProjects_List_Item;\n\nexport {\n css ,\n Helpers ,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as Pagination from \"../../../../styleguide/components/Pagination/Pagination.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as UserProjectsScss from \"./UserProjects.scss\";\nimport * as UserProjects_List_Item from \"./UserProjects_List_Item.res.js\";\n\nvar css = UserProjectsScss;\n\nfunction UserProjects_List(props) {\n var userViewContext = props.userViewContext;\n var updateProposalStatus = props.updateProposalStatus;\n var updateProjectStatus = props.updateProjectStatus;\n var userRole = props.userRole;\n return JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: Belt_Array.map(props.projects, (function (project) {\n return JsxRuntime.jsx(UserProjects_List_Item.make, {\n project: project,\n userRole: userRole,\n updateProjectStatus: updateProjectStatus,\n updateProposalStatus: updateProposalStatus,\n userViewContext: userViewContext\n }, project.id);\n })),\n className: css.projectsWrapper\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(Pagination.make, {\n currentPage: props.currentPage,\n totalPages: props.totalPages,\n onPageClick: props.onPageClick\n }),\n className: css.pagination\n })\n ]\n });\n}\n\nvar make = UserProjects_List;\n\nexport {\n css ,\n make ,\n}\n/* css Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var column = \"UserProjects_List_Filters__column__YcmNN\";\nexport var dropdownBody = \"UserProjects_List_Filters__dropdownBody__eG158\";\nexport var dropdownBodyHeading = \"UserProjects_List_Filters__dropdownBodyHeading__NQR10\";\nexport var dropdownBodyRow = \"UserProjects_List_Filters__dropdownBodyRow__N0OfM\";\nexport var dropdownTrigger = \"UserProjects_List_Filters__dropdownTrigger__z9CdD\";\nexport var flex = \"UserProjects_List_Filters__flex___Sctn\";\nexport var flexColumn = \"UserProjects_List_Filters__flexColumn__ByGoa\";\nexport var gap1 = \"UserProjects_List_Filters__gap1__DfiJ0\";\nexport var gap2 = \"UserProjects_List_Filters__gap2__mnCx_\";\nexport var gap3 = \"UserProjects_List_Filters__gap3__idqPk\";\nexport var gap4 = \"UserProjects_List_Filters__gap4__LDOiY\";\nexport var gap5 = \"UserProjects_List_Filters__gap5__C0JZr\";\nexport var label = \"UserProjects_List_Filters__label__gXoGF\";\nexport var row = \"UserProjects_List_Filters__row__aGnni\";\nexport var searchFieldInput = \"UserProjects_List_Filters__searchFieldInput__jE1iM\";\nexport var searchIcon = \"UserProjects_List_Filters__searchIcon__NPFw4\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as SearchField from \"../../../../styleguide/forms/SearchField/SearchField.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as UserProjects_List_FiltersScss from \"./UserProjects_List_Filters.scss\";\n\nvar css = UserProjects_List_FiltersScss;\n\nfunction UserProjects_List_Input(props) {\n var update = props.update;\n var filters = props.filters;\n var query = filters.query;\n var tmp;\n switch (props.userViewContext) {\n case \"Admin\" :\n tmp = \"Search by title or client name\";\n break;\n case \"Personal\" :\n case \"Visitor\" :\n tmp = \"Search by title\";\n break;\n \n }\n return JsxRuntime.jsx(SearchField.make, {\n id: \"user-projects-list-filter--address\",\n value: query !== undefined ? query : \"\",\n placeholder: tmp,\n inputClassName: css.searchFieldInput,\n iconClassName: css.searchIcon,\n onChange: (function ($$event) {\n update({\n query: $$event.target.value,\n providerIds: filters.providerIds,\n statuses: filters.statuses,\n sortBy: filters.sortBy,\n categories: filters.categories\n });\n })\n });\n}\n\nvar make = UserProjects_List_Input;\n\nexport {\n css ,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Project from \"../../../../models/Project.res.js\";\nimport * as Checkbox from \"../../../../styleguide/forms/Checkbox/Checkbox.res.js\";\nimport * as Dropdown from \"../../../../styleguide/forms/Dropdown/Dropdown.res.js\";\nimport * as Js_array from \"rescript/lib/es6/js_array.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as UserProjects_List_FiltersScss from \"./UserProjects_List_Filters.scss\";\n\nvar css = UserProjects_List_FiltersScss;\n\nfunction statusList(userRole) {\n switch (userRole) {\n case \"Provider\" :\n return [\n \"Active\",\n \"Inactive\",\n \"Finalized\"\n ];\n case \"User\" :\n case \"Visitor\" :\n return [];\n case \"Admin\" :\n case \"Concierge\" :\n return [\n \"Active\",\n \"Review\",\n \"Inactive\",\n \"Finalized\",\n \"Draft\"\n ];\n case \"Agent\" :\n return [\n \"Active\",\n \"Review\",\n \"Inactive\",\n \"Finalized\"\n ];\n \n }\n}\n\nfunction UserProjects_List_Filter_Status(props) {\n var update = props.update;\n var filters = props.filters;\n var statuses = filters.statuses;\n var tmp;\n if (statuses !== undefined) {\n var x = statuses.length;\n tmp = x !== 0 ? (\n x !== 1 ? String(x) + \" statuses\" : \"1 status\"\n ) : \"All statuses\";\n } else {\n tmp = \"All statuses\";\n }\n return JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsxs(Dropdown.make, {\n children: [\n JsxRuntime.jsx(Dropdown.Trigger.make, {\n className: css.dropdownTrigger,\n iconSize: \"XS\",\n iconColor: \"Gray\",\n children: tmp\n }),\n JsxRuntime.jsxs(Dropdown.Body.make, {\n position: {\n TAG: \"Below\",\n _0: \"LeftEdge\"\n },\n className: css.dropdownBody,\n withButton: true,\n children: [\n JsxRuntime.jsx(\"div\", {\n children: \"Statuses\",\n className: css.dropdownBodyHeading\n }),\n Belt_Array.mapWithIndex(statusList(props.userRole), (function (idx, item) {\n var statuses = filters.statuses;\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(Checkbox.make, {\n id: String(idx),\n size: \"SM\",\n checked: statuses !== undefined ? (function (__x) {\n return Js_array.includes(item, __x);\n })(statuses) : false,\n onChange: (function ($$event) {\n var checked = $$event.target.checked;\n var statuses = filters.statuses;\n var statuses$1 = statuses !== undefined ? (\n checked ? Belt_Array.concat(statuses, [item]) : Belt_Array.keep(statuses, (function (value) {\n return value !== item;\n }))\n ) : (\n checked ? [item] : []\n );\n update({\n query: filters.query,\n providerIds: filters.providerIds,\n statuses: statuses$1,\n sortBy: filters.sortBy,\n categories: filters.categories\n });\n })\n }),\n JsxRuntime.jsx(\"div\", {\n children: Project.Status.toString(item),\n className: css.label\n })\n ],\n className: css.dropdownBodyRow\n }, String(idx));\n }))\n ]\n })\n ]\n }),\n className: css.statusFilter\n });\n}\n\nvar make = UserProjects_List_Filter_Status;\n\nexport {\n css ,\n statusList ,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Project from \"../../../../models/Project.res.js\";\nimport * as Checkbox from \"../../../../styleguide/forms/Checkbox/Checkbox.res.js\";\nimport * as Dropdown from \"../../../../styleguide/forms/Dropdown/Dropdown.res.js\";\nimport * as Js_array from \"rescript/lib/es6/js_array.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as UserProjects_List_FiltersScss from \"./UserProjects_List_Filters.scss\";\n\nvar css = UserProjects_List_FiltersScss;\n\nvar categoryList = [\n \"BareMetal\",\n \"Colocation\",\n \"Cloud\",\n \"Internet\",\n \"Network\"\n];\n\nfunction UserProjects_List_Filter_Category(props) {\n var update = props.update;\n var filters = props.filters;\n var categories = filters.categories;\n var tmp;\n if (categories !== undefined) {\n var x = categories.length;\n tmp = x !== 0 ? (\n x !== 1 ? String(x) + \" categories\" : \"1 category\"\n ) : \"All categories\";\n } else {\n tmp = \"All categories\";\n }\n return JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsxs(Dropdown.make, {\n children: [\n JsxRuntime.jsx(Dropdown.Trigger.make, {\n className: css.dropdownTrigger,\n iconSize: \"XS\",\n iconColor: \"Gray\",\n children: tmp\n }),\n JsxRuntime.jsxs(Dropdown.Body.make, {\n position: {\n TAG: \"Below\",\n _0: \"LeftEdge\"\n },\n className: css.dropdownBody,\n withButton: true,\n children: [\n JsxRuntime.jsx(\"div\", {\n children: \"Categories\",\n className: css.dropdownBodyHeading\n }),\n Belt_Array.mapWithIndex(categoryList, (function (idx, item) {\n var categories = filters.categories;\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(Checkbox.make, {\n id: String(idx),\n size: \"SM\",\n checked: categories !== undefined ? (function (__x) {\n return Js_array.includes(item, __x);\n })(categories) : false,\n onChange: (function ($$event) {\n var checked = $$event.target.checked;\n var categories = filters.categories;\n var categories$1 = categories !== undefined ? (\n checked ? Belt_Array.concat(categories, [item]) : Belt_Array.keep(categories, (function (value) {\n return value !== item;\n }))\n ) : (\n checked ? [item] : []\n );\n update({\n query: filters.query,\n providerIds: filters.providerIds,\n statuses: filters.statuses,\n sortBy: filters.sortBy,\n categories: categories$1\n });\n })\n }),\n JsxRuntime.jsx(\"div\", {\n children: Project.ProjectType.toLabel(item),\n className: css.label\n })\n ],\n className: css.dropdownBodyRow\n }, String(idx));\n }))\n ]\n })\n ]\n }),\n className: css.categoryFilter\n });\n}\n\nvar make = UserProjects_List_Filter_Category;\n\nexport {\n css ,\n categoryList ,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as ID from \"../../../../libs/ID.res.js\";\nimport * as Checkbox from \"../../../../styleguide/forms/Checkbox/Checkbox.res.js\";\nimport * as Dropdown from \"../../../../styleguide/forms/Dropdown/Dropdown.res.js\";\nimport * as Js_array from \"rescript/lib/es6/js_array.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as UserProjects_List_FiltersScss from \"./UserProjects_List_Filters.scss\";\n\nvar css = UserProjects_List_FiltersScss;\n\nfunction UserProjects_List_Filter_Provider(props) {\n var update = props.update;\n var filters = props.filters;\n var providerIds = filters.providerIds;\n var tmp;\n if (providerIds !== undefined) {\n var x = providerIds.length;\n tmp = x !== 0 ? (\n x !== 1 ? String(x) + \" Providers\" : \"1 Provider\"\n ) : \"Provider\";\n } else {\n tmp = \"Provider\";\n }\n return JsxRuntime.jsxs(Dropdown.make, {\n children: [\n JsxRuntime.jsx(Dropdown.Trigger.make, {\n className: css.dropdownTrigger,\n iconSize: \"XS\",\n iconColor: \"Gray\",\n children: tmp\n }),\n JsxRuntime.jsx(Dropdown.Body.make, {\n position: {\n TAG: \"Below\",\n _0: \"LeftEdge\"\n },\n className: css.dropdownBody,\n children: Belt_Array.map(props.providers, (function (provider) {\n var id = \"user-colocation-rfp-projects-list-filter--provider-\" + ID.toString(provider.id);\n var providerIds = filters.providerIds;\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(Checkbox.make, {\n id: id,\n size: \"SM\",\n checked: providerIds !== undefined ? (function (__x) {\n return Js_array.includes(provider.id, __x);\n })(providerIds) : false,\n onChange: (function ($$event) {\n var checked = $$event.target.checked;\n var providerIds = filters.providerIds;\n var providerIds$1 = providerIds !== undefined ? (\n checked ? Belt_Array.concat(providerIds, [provider.id]) : Belt_Array.keep(providerIds, (function (value) {\n return ID.toString(value) !== ID.toString(provider.id);\n }))\n ) : (\n checked ? [provider.id] : []\n );\n update({\n query: filters.query,\n providerIds: providerIds$1,\n statuses: filters.statuses,\n sortBy: filters.sortBy,\n categories: filters.categories\n });\n })\n }),\n JsxRuntime.jsx(\"div\", {\n children: provider.name,\n className: css.label\n })\n ],\n className: css.dropdownBodyRow\n }, id);\n }))\n })\n ]\n });\n}\n\nvar make = UserProjects_List_Filter_Provider;\n\nexport {\n css ,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as A from \"../../../../styleguide/components/Link/A.res.js\";\nimport * as Api from \"../../../../api/Api.res.js\";\nimport * as Url from \"../../../../utils/Url.res.js\";\nimport * as React from \"react\";\nimport * as Button from \"../../../../styleguide/components/Button/Button.res.js\";\nimport * as Control from \"../../../../styleguide/components/Control/Control.res.js\";\nimport * as Popover from \"../../../../styleguide/components/Popover/Popover.res.js\";\nimport * as Project from \"../../../../models/Project.res.js\";\nimport * as $$Promise from \"../../../../bindings/Promise.res.js\";\nimport * as Dropdown from \"../../../../styleguide/forms/Dropdown/Dropdown.res.js\";\nimport * as TopNavbar from \"../../top-navbar/TopNavbar.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as IconSelect from \"../../../../styleguide/icons/IconSelect.res.js\";\nimport * as ProjectTile from \"../../../../models/ProjectTile.res.js\";\nimport * as IconDownload from \"../../../../styleguide/icons/IconDownload.res.js\";\nimport * as SentryLogger from \"../../../../loggers/SentryLogger.res.js\";\nimport * as AdminTopNavbar from \"../../../dashboard/common/admin-top-navbar/AdminTopNavbar.res.js\";\nimport * as Routes_Project from \"../../../../routes/common/Routes_Project.res.js\";\nimport * as UserProjects_List from \"./UserProjects_List.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ConciergeTopNavbar from \"../../../dashboard/common/concierge-top-navbar/ConciergeTopNavbar.res.js\";\nimport * as UserProjectsScss from \"./UserProjects.scss\";\nimport * as RescriptReactRouter from \"@rescript/react/src/RescriptReactRouter.res.js\";\nimport * as FetchProjectsRequest from \"../../../../api/requests/FetchProjectsRequest.res.js\";\nimport * as UserProjects_List_Input from \"./UserProjects_List_Input.res.js\";\nimport * as UserProjects_List_Filter_Status from \"./UserProjects_List_Filter_Status.res.js\";\nimport * as UserProjects_List_Filter_Category from \"./UserProjects_List_Filter_Category.res.js\";\nimport * as UserProjects_List_Filter_Provider from \"./UserProjects_List_Filter_Provider.res.js\";\n\nvar css = UserProjectsScss;\n\nfunction reducer(state, action) {\n switch (action.TAG) {\n case \"Paginate\" :\n return {\n projects: state.projects,\n filters: state.filters,\n currentPage: action._0,\n totalProjects: state.totalProjects,\n totalPages: state.totalPages\n };\n case \"UpdateFilter\" :\n return {\n projects: state.projects,\n filters: action._0,\n currentPage: 1,\n totalProjects: state.totalProjects,\n totalPages: state.totalPages\n };\n case \"FetchProjects\" :\n var res = action._0;\n return {\n projects: res.projects,\n filters: state.filters,\n currentPage: state.currentPage,\n totalProjects: res.totalProjects,\n totalPages: res.totalPages\n };\n case \"UpdateProjectStatus\" :\n var project = action._0;\n return {\n projects: Belt_Array.map(state.projects, (function (item) {\n if (ProjectTile.eq(item, project)) {\n return project;\n } else {\n return item;\n }\n })),\n filters: state.filters,\n currentPage: state.currentPage,\n totalProjects: state.totalProjects,\n totalPages: state.totalPages\n };\n case \"UpdateProjectProposal\" :\n var proposal = action._1;\n var projectId = action._0;\n return {\n projects: Belt_Array.map(state.projects, (function (item) {\n if (item.TAG === \"Draft\") {\n return item;\n }\n var data = item.data;\n var id = item.id;\n if (Project.Id.$eq(id, projectId)) {\n return {\n TAG: \"Project\",\n id: id,\n category: item.category,\n data: {\n title: data.title,\n description: data.description,\n startDate: data.startDate,\n endDate: data.endDate,\n contact: data.contact,\n businessName: data.businessName,\n totalLocations: data.totalLocations,\n totalProviders: data.totalProviders,\n totalProposals: data.totalProposals,\n canSendProposals: data.canSendProposals,\n status: data.status,\n proposalsBreakdown: data.proposalsBreakdown,\n providerLogo: data.providerLogo,\n providerName: data.providerName,\n proposalDetails: proposal,\n createdAt: data.createdAt,\n category: data.category\n }\n };\n } else {\n return item;\n }\n })),\n filters: state.filters,\n currentPage: state.currentPage,\n totalProjects: state.totalProjects,\n totalPages: state.totalPages\n };\n \n }\n}\n\nfunction UserProjects(props) {\n var isNotOnlyProviderMember = props.isNotOnlyProviderMember;\n var isConcierge = props.isConcierge;\n var userViewContext = props.userViewContext;\n var userRole = props.userRole;\n var providers = props.providers;\n var match = React.useReducer(reducer, {\n projects: props.projects,\n filters: props.filters,\n currentPage: props.currentPage,\n totalProjects: props.totalProjects,\n totalPages: props.totalPages\n });\n var dispatch = match[1];\n var state = match[0];\n var fetchProjects = function () {\n $$Promise.wait(Api.fetchProjects(state.currentPage, state.filters, userViewContext, isConcierge), (function (x) {\n if (x.TAG === \"Ok\") {\n return dispatch({\n TAG: \"FetchProjects\",\n _0: x._0\n });\n } else {\n return SentryLogger.error1({\n rootModule: \"UserProjects\",\n subModulePath: /* [] */0,\n value: \"make\",\n fullPath: \"UserProjects.make\"\n }, \"FetchProjects::Error\", [\n \"Error\",\n x._0\n ]);\n }\n }));\n };\n var updateProjectStatus = function (projectId, projectStatus) {\n $$Promise.wait(Api.updateProjectStatus(projectId, projectStatus), (function (x) {\n if (x.TAG === \"Ok\") {\n return dispatch({\n TAG: \"UpdateProjectStatus\",\n _0: x._0.project\n });\n } else {\n return SentryLogger.error1({\n rootModule: \"UserProjects\",\n subModulePath: /* [] */0,\n value: \"make\",\n fullPath: \"UserProjects.make\"\n }, \"UpdateStatus::Error\", [\n \"Error\",\n x._0\n ]);\n }\n }));\n };\n var updateProposalStatus = function (projectId, proposal, message, param) {\n $$Promise.wait(Api.updateProjectProposalStatus(projectId, proposal, message, undefined), (function (x) {\n if (x.TAG === \"Ok\") {\n return dispatch({\n TAG: \"UpdateProjectProposal\",\n _0: projectId,\n _1: x._0.proposal\n });\n } else {\n return SentryLogger.error1({\n rootModule: \"UserProjects\",\n subModulePath: /* [] */0,\n value: \"make\",\n fullPath: \"UserProjects.make\"\n }, \"UpdateProposalStatus::Error\", [\n \"Error\",\n x._0\n ]);\n }\n }));\n };\n React.useEffect((function () {\n RescriptReactRouter.push(\"?\" + FetchProjectsRequest.queryString(state.currentPage, state.filters, userViewContext, isConcierge));\n fetchProjects();\n }), [\n state.currentPage,\n state.filters\n ]);\n var tmp;\n switch (userViewContext) {\n case \"Admin\" :\n switch (userRole) {\n case \"Admin\" :\n tmp = JsxRuntime.jsx(AdminTopNavbar.make, {\n selectedCategory: isConcierge ? \"ConciergeProjects\" : \"Projects\",\n isAdmin: true,\n isConcierge: isConcierge,\n isNotOnlyProviderMember: isNotOnlyProviderMember\n });\n break;\n case \"Provider\" :\n tmp = JsxRuntime.jsx(AdminTopNavbar.make, {\n selectedCategory: isConcierge ? \"ConciergeProjects\" : \"Projects\",\n isAdmin: false,\n isConcierge: isConcierge,\n isNotOnlyProviderMember: isNotOnlyProviderMember\n });\n break;\n case \"User\" :\n case \"Visitor\" :\n tmp = null;\n break;\n case \"Concierge\" :\n case \"Agent\" :\n tmp = isConcierge ? JsxRuntime.jsx(ConciergeTopNavbar.make, {\n selectedCategory: \"Projects\"\n }) : null;\n break;\n \n }\n break;\n case \"Personal\" :\n case \"Visitor\" :\n tmp = JsxRuntime.jsx(TopNavbar.make, {\n selectedCategory: \"Projects\"\n });\n break;\n \n }\n var tmp$1;\n switch (userViewContext) {\n case \"Admin\" :\n tmp$1 = isConcierge ? \"Concierge Projects\" : \"Provider Projects\";\n break;\n case \"Personal\" :\n case \"Visitor\" :\n tmp$1 = \"Personal Projects\";\n break;\n \n }\n var tmp$2;\n switch (userViewContext) {\n case \"Personal\" :\n var tmp$3;\n var exit = 0;\n switch (userRole) {\n case \"Admin\" :\n case \"Concierge\" :\n case \"Agent\" :\n exit = 1;\n break;\n default:\n tmp$3 = null;\n }\n if (exit === 1) {\n tmp$3 = JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(Control.make, {\n className: css.newProjectMenuItemControl,\n onClick: (function (param) {\n Url.visit(Routes_Project.Internet.$$new);\n }),\n children: \"Internet RFP\"\n }),\n className: css.newProjectMenuItem\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(Control.make, {\n className: css.newProjectMenuItemControl,\n onClick: (function (param) {\n Url.visit(Routes_Project.Network.$$new);\n }),\n children: \"Network RFP\"\n }),\n className: css.newProjectMenuItem\n })\n ]\n });\n }\n tmp$2 = JsxRuntime.jsxs(Popover.make, {\n className: css.buttonContainer,\n children: [\n JsxRuntime.jsx(Popover.Trigger.make, {\n className: css.buttonContainer,\n children: JsxRuntime.jsx(Button.make, {\n size: \"SM\",\n color: \"Primary\",\n children: \"Add New Project\"\n })\n }),\n JsxRuntime.jsxs(Dropdown.Body.make, {\n position: {\n TAG: \"Below\",\n _0: \"RightEdge\"\n },\n className: css.newProjectMenu,\n children: [\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(Control.make, {\n className: css.newProjectMenuItemControl,\n onClick: (function (param) {\n Url.visit(Routes_Project.BareMetal.$$new);\n }),\n children: \"Bare Metal RFP\"\n }),\n className: css.newProjectMenuItem\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(Control.make, {\n className: css.newProjectMenuItemControl,\n onClick: (function (param) {\n Url.visit(Routes_Project.Colocation.$$new);\n }),\n children: \"Colocation RFP\"\n }),\n className: css.newProjectMenuItem\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(Control.make, {\n className: css.newProjectMenuItemControl,\n onClick: (function (param) {\n Url.visit(Routes_Project.Cloud.$$new);\n }),\n children: \"Cloud RFP\"\n }),\n className: css.newProjectMenuItem\n }),\n tmp$3\n ]\n })\n ]\n });\n break;\n case \"Admin\" :\n case \"Visitor\" :\n tmp$2 = null;\n break;\n \n }\n var tmp$4;\n if (state.projects.length !== 0) {\n var x = state.totalProjects;\n var match$1 = props.mobile || props.tablet;\n var tmp$5;\n tmp$5 = userRole === \"Admin\" && !match$1 ? JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(A.make, {\n href: Routes_Project.toCsv,\n children: JsxRuntime.jsx(IconDownload.make, {\n title: \"Download\",\n size: \"SM\",\n color: \"DarkerGray\"\n })\n }),\n className: css.downloadIcon\n }) : null;\n var sortBy = state.filters.sortBy;\n var tmp$6;\n if (sortBy !== undefined && typeof sortBy === \"object\") {\n var variant = sortBy.NAME;\n tmp$6 = variant === \"Created\" ? (\n sortBy.VAL === \"Desc\" ? \"Newest\" : \"Oldest\"\n ) : (\n variant === \"End\" ? (\n sortBy.VAL === \"Desc\" ? \"Ends later\" : \"Ends sooner\"\n ) : (\n variant === \"Start\" ? (\n sortBy.VAL === \"Desc\" ? \"Starts later\" : \"Starts sooner\"\n ) : \"Choose a sort criteria\"\n )\n );\n } else {\n tmp$6 = \"Choose a sort criteria\";\n }\n tmp$4 = JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: x !== 1 ? String(x) + \" projects\" : \"1 project\",\n className: css.projectsCount\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsxs(Popover.make, {\n children: [\n tmp$5,\n JsxRuntime.jsxs(Popover.Trigger.make, {\n className: css.popoverTrigger,\n children: [\n JsxRuntime.jsx(Control.AsLink.make, {\n color: \"Gray\",\n onClick: (function (param) {\n \n }),\n children: tmp$6\n }),\n JsxRuntime.jsx(IconSelect.make, {\n size: \"XXXS\",\n color: \"GrayText\"\n })\n ]\n }),\n JsxRuntime.jsxs(Popover.Body.make, {\n position: {\n TAG: \"Below\",\n _0: \"RightEdge\"\n },\n className: css.popoverBody,\n children: [\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"div\", {\n children: \"Newest\",\n className: css.sortSelection,\n onClick: (function (param) {\n var init = state.filters;\n dispatch({\n TAG: \"UpdateFilter\",\n _0: {\n query: init.query,\n providerIds: init.providerIds,\n statuses: init.statuses,\n sortBy: {\n NAME: \"Created\",\n VAL: \"Desc\"\n },\n categories: init.categories\n }\n });\n })\n }),\n className: css.popoverRow\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"div\", {\n children: \"Oldest\",\n className: css.sortSelection,\n onClick: (function (param) {\n var init = state.filters;\n dispatch({\n TAG: \"UpdateFilter\",\n _0: {\n query: init.query,\n providerIds: init.providerIds,\n statuses: init.statuses,\n sortBy: {\n NAME: \"Created\",\n VAL: \"Asc\"\n },\n categories: init.categories\n }\n });\n })\n }),\n className: css.popoverRow\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"div\", {\n children: \"Starts sooner\",\n className: css.sortSelection,\n onClick: (function (param) {\n var init = state.filters;\n dispatch({\n TAG: \"UpdateFilter\",\n _0: {\n query: init.query,\n providerIds: init.providerIds,\n statuses: init.statuses,\n sortBy: {\n NAME: \"Start\",\n VAL: \"Asc\"\n },\n categories: init.categories\n }\n });\n })\n }),\n className: css.popoverRow\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"div\", {\n children: \"Starts later\",\n className: css.sortSelection,\n onClick: (function (param) {\n var init = state.filters;\n dispatch({\n TAG: \"UpdateFilter\",\n _0: {\n query: init.query,\n providerIds: init.providerIds,\n statuses: init.statuses,\n sortBy: {\n NAME: \"Start\",\n VAL: \"Desc\"\n },\n categories: init.categories\n }\n });\n })\n }),\n className: css.popoverRow\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"div\", {\n children: \"Ends sooner\",\n className: css.sortSelection,\n onClick: (function (param) {\n var init = state.filters;\n dispatch({\n TAG: \"UpdateFilter\",\n _0: {\n query: init.query,\n providerIds: init.providerIds,\n statuses: init.statuses,\n sortBy: {\n NAME: \"End\",\n VAL: \"Asc\"\n },\n categories: init.categories\n }\n });\n })\n }),\n className: css.popoverRow\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"div\", {\n children: \"Ends later\",\n className: css.sortSelection,\n onClick: (function (param) {\n var init = state.filters;\n dispatch({\n TAG: \"UpdateFilter\",\n _0: {\n query: init.query,\n providerIds: init.providerIds,\n statuses: init.statuses,\n sortBy: {\n NAME: \"End\",\n VAL: \"Desc\"\n },\n categories: init.categories\n }\n });\n })\n }),\n className: css.popoverRow\n })\n ]\n })\n ]\n }),\n className: css.sorting\n })\n ],\n className: css.sortAndCount\n }),\n JsxRuntime.jsx(UserProjects_List.make, {\n projects: state.projects,\n userRole: userRole,\n totalPages: state.totalPages,\n currentPage: state.currentPage,\n updateProjectStatus: updateProjectStatus,\n updateProposalStatus: updateProposalStatus,\n onPageClick: (function (pageNum) {\n dispatch({\n TAG: \"Paginate\",\n _0: pageNum\n });\n }),\n userViewContext: userViewContext\n })\n ]\n });\n } else {\n tmp$4 = JsxRuntime.jsx(\"div\", {\n children: \"No projects found\",\n className: css.noResults\n });\n }\n return JsxRuntime.jsxs(\"div\", {\n children: [\n tmp,\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"h1\", {\n children: tmp$1,\n className: css.title\n }),\n tmp$2\n ],\n className: css.heading\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(UserProjects_List_Input.make, {\n filters: state.filters,\n update: (function (filters) {\n dispatch({\n TAG: \"UpdateFilter\",\n _0: filters\n });\n }),\n userViewContext: userViewContext\n }),\n providers.length > 1 ? JsxRuntime.jsx(UserProjects_List_Filter_Provider.make, {\n filters: state.filters,\n update: (function (filters) {\n dispatch({\n TAG: \"UpdateFilter\",\n _0: filters\n });\n }),\n providers: providers\n }) : null,\n JsxRuntime.jsx(UserProjects_List_Filter_Status.make, {\n filters: state.filters,\n update: (function (filters) {\n dispatch({\n TAG: \"UpdateFilter\",\n _0: filters\n });\n }),\n userRole: userRole\n }),\n JsxRuntime.jsx(UserProjects_List_Filter_Category.make, {\n filters: state.filters,\n update: (function (filters) {\n dispatch({\n TAG: \"UpdateFilter\",\n _0: filters\n });\n })\n })\n ],\n className: css.filters\n }),\n tmp$4\n ],\n className: css.contentWrapper\n })\n ],\n className: css.container\n });\n}\n\nvar make = UserProjects;\n\nexport {\n css ,\n reducer ,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as React from \"react\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as Belt_Result from \"rescript/lib/es6/belt_Result.js\";\nimport * as ProjectTile from \"../../../../models/ProjectTile.res.js\";\nimport * as RailsContext from \"../../../../models/RailsContext.res.js\";\nimport * as UserProjects from \"./UserProjects.res.js\";\nimport * as ProviderAsFilter from \"../../../../models/ProviderAsFilter.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ProjectsViewContext from \"../../../../models/ProjectsViewContext.res.js\";\nimport * as Json_Decode$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json_Decode.res.js\";\nimport * as UserProjects_List_Filter_Data from \"./UserProjects_List_Filter_Data.res.js\";\n\nfunction UserProjects__JsBridge$default(props) {\n var isNotOnlyProviderMember = props.isNotOnlyProviderMember;\n var isConcierge = props.isConcierge;\n var viewContext = props.viewContext;\n var railsContext = props.railsContext;\n var searchParams = props.searchParams;\n var filters = props.filters;\n var projects = props.projects;\n var railsContext$1 = React.useMemo((function () {\n return RailsContext.fromJson(railsContext);\n }), [railsContext]);\n var projects$1 = React.useMemo((function () {\n return Belt_Result.getExn(Json_Decode$JsonCombinators.decode(projects, Json_Decode$JsonCombinators.array(ProjectTile.decoder)));\n }), [projects]);\n var providers = React.useMemo((function () {\n return Belt_Array.map(filters.providers, ProviderAsFilter.fromJs);\n }), [filters.providers]);\n var filters$1 = React.useMemo((function () {\n return UserProjects_List_Filter_Data.Input.fromJs(searchParams);\n }), [searchParams]);\n var userViewContext = React.useMemo((function () {\n return ProjectsViewContext.fromString(viewContext);\n }), [viewContext]);\n var isConcierge$1 = React.useMemo((function () {\n return Belt_Result.getExn(Json_Decode$JsonCombinators.decode(isConcierge, Json_Decode$JsonCombinators.bool));\n }), [isConcierge]);\n var isNotOnlyProviderMember$1 = React.useMemo((function () {\n return Belt_Result.getExn(Json_Decode$JsonCombinators.decode(isNotOnlyProviderMember, Json_Decode$JsonCombinators.bool));\n }), [isNotOnlyProviderMember]);\n return JsxRuntime.jsx(UserProjects.make, {\n projects: projects$1,\n providers: providers,\n filters: filters$1,\n userRole: railsContext$1.userRole,\n userViewContext: userViewContext,\n totalProjects: props.totalProjects,\n currentPage: props.currentPage,\n totalPages: props.totalPages,\n isConcierge: isConcierge$1,\n isNotOnlyProviderMember: isNotOnlyProviderMember$1,\n mobile: props.mobile,\n tablet: props.tablet\n });\n}\n\nvar $$default = UserProjects__JsBridge$default;\n\nexport {\n $$default as default,\n}\n/* react Not a pure module */\n","import * as React from 'react';\n\nimport UserProjects from './UserProjects__JsBridge.res.js';\n\n// TODO: Projects refactoring. Avoid props spread. Be explicit with what you're passing\nexport default ({ context, ...props }) => <UserProjects {...props} railsContext={context} />;\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as JsxRuntime from \"react/jsx-runtime\";\n\nvar arrow = '\\u279e';\n\nvar middot = '\\u00b7';\n\nvar mdash = '\\u2014';\n\nvar rightCaret = '\\u203a';\n\nvar ampersand = '\\u0026';\n\nvar times = '\\u00D7';\n\nfunction Char$Middot(props) {\n return JsxRuntime.jsx(\"span\", {\n children: \" \" + (middot + \" \"),\n style: {\n padding: \"0 1px\"\n }\n });\n}\n\nvar Middot = {\n make: Char$Middot\n};\n\nfunction Char$RightArrow(props) {\n return JsxRuntime.jsx(\"div\", {\n children: arrow,\n className: props.className\n });\n}\n\nvar RightArrow = {\n make: Char$RightArrow\n};\n\nfunction Char$LeftArrow(props) {\n return JsxRuntime.jsx(\"div\", {\n children: arrow,\n style: {\n transform: \"rotate(180deg)\"\n }\n });\n}\n\nvar LeftArrow = {\n make: Char$LeftArrow\n};\n\nfunction Char$RightCaret(props) {\n return JsxRuntime.jsx(\"span\", {\n children: rightCaret\n });\n}\n\nvar RightCaret = {\n make: Char$RightCaret\n};\n\nfunction Char$Ampersand(props) {\n return JsxRuntime.jsx(\"span\", {\n children: ampersand\n });\n}\n\nvar Ampersand = {\n make: Char$Ampersand\n};\n\nfunction Char$Times(props) {\n return JsxRuntime.jsx(\"span\", {\n children: times\n });\n}\n\nvar Times = {\n make: Char$Times\n};\n\nexport {\n arrow ,\n middot ,\n mdash ,\n rightCaret ,\n ampersand ,\n times ,\n Middot ,\n RightArrow ,\n LeftArrow ,\n RightCaret ,\n Ampersand ,\n Times ,\n}\n/* react/jsx-runtime Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as ID from \"../libs/ID.res.js\";\nimport * as Belt_Result from \"rescript/lib/es6/belt_Result.js\";\nimport * as Json$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json.res.js\";\nimport * as Json_Decode$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json_Decode.res.js\";\n\nfunction fromJs(js) {\n return {\n id: js.id,\n name: js.name\n };\n}\n\nvar decoder = Json_Decode$JsonCombinators.object(function (field) {\n return {\n id: field.required(\"id\", ID.decoder),\n name: field.required(\"name\", Json_Decode$JsonCombinators.string)\n };\n });\n\nfunction fromJson(json) {\n return Belt_Result.getExn(Json$JsonCombinators.decode(json, decoder));\n}\n\nexport {\n fromJs ,\n decoder ,\n fromJson ,\n}\n/* decoder Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\n\nvar badge = Cx.cx([\n \"inline-flex\",\n \"gap-2\",\n \"items-center\",\n \"rounded-sm\",\n \"font-medium\",\n \"w-auto\"\n ]);\n\nvar gray = Cx.cx([\n badge,\n \"bg-gray-100\",\n \"text-gray-700\"\n ]);\n\nvar red = Cx.cx([\n badge,\n \"bg-red-100\",\n \"text-red-600\"\n ]);\n\nvar green = Cx.cx([\n badge,\n \"bg-green-100\",\n \"text-green-600\"\n ]);\n\nvar blue = Cx.cx([\n badge,\n \"bg-blue-100\",\n \"text-blue-700\"\n ]);\n\nvar yellow = Cx.cx([\n badge,\n \"bg-yellow-100\",\n \"text-yellow-900\"\n ]);\n\nvar purple = Cx.cx([\n badge,\n \"bg-purple-100\",\n \"text-purple-900\"\n ]);\n\nvar xs = Cx.cx([\n \"px-2 py-1\",\n \"text-xs\"\n ]);\n\nvar small = Cx.cx([\n \"px-2 py-1\",\n \"text-sm\"\n ]);\n\nvar medium = Cx.cx([\n \"px-3 py-2\",\n \"text-base\"\n ]);\n\nvar large = Cx.cx([\n \"px-4 py-3\",\n \"text-lg\"\n ]);\n\nvar colocation = Cx.cx([\n badge,\n \"bg-blue-100\",\n \"text-blue-700\"\n ]);\n\nvar internet = Cx.cx([\n badge,\n \"bg-red-100\",\n \"text-red-600\"\n ]);\n\nvar cloud = Cx.cx([\n badge,\n \"bg-green-100\",\n \"text-green-600\"\n ]);\n\nvar network = Cx.cx([\n badge,\n \"bg-teal-100\",\n \"text-teal-700\"\n ]);\n\nvar bareMetal = Cx.cx([\n badge,\n \"bg-purple-100\",\n \"text-purple-900\"\n ]);\n\nvar $$default = Cx.cx([\n badge,\n \"bg-gray-100\",\n \"text-gray-700\"\n ]);\n\nvar Project = {\n colocation: colocation,\n internet: internet,\n cloud: cloud,\n network: network,\n bareMetal: bareMetal,\n $$default: $$default\n};\n\nvar admin = Cx.cx([\n badge,\n \"bg-blue-100\",\n \"text-blue-700\"\n ]);\n\nvar agent = Cx.cx([\n badge,\n \"bg-red-100\",\n \"text-red-600\"\n ]);\n\nvar provider = Cx.cx([\n badge,\n \"bg-green-100\",\n \"text-green-600\"\n ]);\n\nvar user = Cx.cx([\n badge,\n \"bg-teal-100\",\n \"text-teal-700\"\n ]);\n\nvar concierge = Cx.cx([\n badge,\n \"bg-purple-100\",\n \"text-purple-900\"\n ]);\n\nvar visitor = Cx.cx([\n badge,\n \"bg-gray-100\",\n \"text-gray-700\"\n ]);\n\nvar Role = {\n admin: admin,\n agent: agent,\n provider: provider,\n user: user,\n concierge: concierge,\n visitor: visitor\n};\n\nvar User = {\n Role: Role\n};\n\nvar disabled = \"opacity-25\";\n\nexport {\n badge ,\n gray ,\n red ,\n green ,\n blue ,\n yellow ,\n purple ,\n xs ,\n small ,\n medium ,\n large ,\n disabled ,\n Project ,\n User ,\n}\n/* badge Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var badge = \"Badge__badge__EWW0H\";\nexport var colorBareMetal = \"Badge__colorBareMetal__e9uPF\";\nexport var colorCloud = \"Badge__colorCloud__ovF58\";\nexport var colorColocation = \"Badge__colorColocation__mfyy3\";\nexport var colorDefault = \"Badge__colorDefault__EtjfF\";\nexport var colorInternet = \"Badge__colorInternet__MnO94\";\nexport var colorNetwork = \"Badge__colorNetwork___y2ys\";\nexport var column = \"Badge__column__YqGMN\";\nexport var flex = \"Badge__flex__YI6i1\";\nexport var flexColumn = \"Badge__flexColumn__ZGauC\";\nexport var gap1 = \"Badge__gap1__Iv5Me\";\nexport var gap2 = \"Badge__gap2__LGpeY\";\nexport var gap3 = \"Badge__gap3__NjlH8\";\nexport var gap4 = \"Badge__gap4__HRtbm\";\nexport var gap5 = \"Badge__gap5__WuXgH\";\nexport var row = \"Badge__row__sRcbE\";\nexport var wrapper = \"Badge__wrapper__BnseJ\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as Role from \"../../../models/Role.res.js\";\nimport * as BadgeCss from \"./BadgeCss.res.js\";\nimport * as BadgeScss from \"./Badge.scss\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\n\nvar css = BadgeScss;\n\nfunction Badge(props) {\n var __className = props.className;\n var className = __className !== undefined ? __className : \"\";\n var tmp;\n switch (props.badgeType) {\n case \"Colocation\" :\n tmp = css.colorColocation;\n break;\n case \"Cloud\" :\n tmp = css.colorCloud;\n break;\n case \"Internet\" :\n tmp = css.colorInternet;\n break;\n case \"Network\" :\n tmp = css.colorNetwork;\n break;\n case \"BareMetal\" :\n tmp = css.colorBareMetal;\n break;\n case \"Default\" :\n tmp = css.colorDefault;\n break;\n \n }\n return JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"button\", {\n children: props.children,\n className: Cx.cx([\n css.badge,\n tmp,\n className\n ]),\n disabled: true\n }),\n className: css.wrapper\n });\n}\n\nfunction Badge$Span(props) {\n var __className = props.className;\n var __size = props.size;\n var __enabled = props.enabled;\n var __id = props.id;\n var id = __id !== undefined ? __id : \"\";\n var enabled = __enabled !== undefined ? __enabled : true;\n var size = __size !== undefined ? __size : \"XS\";\n var className = __className !== undefined ? __className : \"\";\n var tmp;\n switch (props.color) {\n case \"Gray\" :\n tmp = BadgeCss.gray;\n break;\n case \"Red\" :\n tmp = BadgeCss.red;\n break;\n case \"Green\" :\n tmp = BadgeCss.green;\n break;\n case \"Blue\" :\n tmp = BadgeCss.blue;\n break;\n case \"Yellow\" :\n tmp = BadgeCss.yellow;\n break;\n case \"Purple\" :\n tmp = BadgeCss.purple;\n break;\n \n }\n var tmp$1;\n switch (size) {\n case \"XS\" :\n tmp$1 = BadgeCss.xs;\n break;\n case \"SM\" :\n tmp$1 = BadgeCss.small;\n break;\n case \"MD\" :\n tmp$1 = BadgeCss.medium;\n break;\n case \"LG\" :\n tmp$1 = BadgeCss.large;\n break;\n \n }\n return JsxRuntime.jsx(\"span\", {\n children: props.children,\n className: Cx.cx([\n tmp,\n tmp$1,\n enabled ? \"\" : BadgeCss.disabled,\n className\n ]),\n id: id,\n onClick: props.onClick\n });\n}\n\nvar Span = {\n Css: undefined,\n make: Badge$Span\n};\n\nfunction Badge$Project(props) {\n var __className = props.className;\n var __size = props.size;\n var __id = props.id;\n var id = __id !== undefined ? __id : \"\";\n var size = __size !== undefined ? __size : \"XS\";\n var className = __className !== undefined ? __className : \"\";\n var tmp;\n switch (props.category) {\n case \"Colocation\" :\n tmp = BadgeCss.Project.colocation;\n break;\n case \"Cloud\" :\n tmp = BadgeCss.Project.cloud;\n break;\n case \"Internet\" :\n tmp = BadgeCss.Project.internet;\n break;\n case \"Network\" :\n tmp = BadgeCss.Project.network;\n break;\n case \"BareMetal\" :\n tmp = BadgeCss.Project.bareMetal;\n break;\n \n }\n var tmp$1;\n switch (size) {\n case \"XS\" :\n tmp$1 = BadgeCss.xs;\n break;\n case \"SM\" :\n tmp$1 = BadgeCss.small;\n break;\n case \"MD\" :\n tmp$1 = BadgeCss.medium;\n break;\n case \"LG\" :\n tmp$1 = BadgeCss.large;\n break;\n \n }\n return JsxRuntime.jsx(\"span\", {\n children: props.children,\n className: Cx.cx([\n tmp,\n tmp$1,\n className\n ]),\n id: id\n });\n}\n\nvar Project = {\n Css: undefined,\n make: Badge$Project\n};\n\nfunction Badge$User$Role(props) {\n var __className = props.className;\n var __size = props.size;\n var role = props.role;\n var __id = props.id;\n var id = __id !== undefined ? __id : \"\";\n var size = __size !== undefined ? __size : \"XS\";\n var className = __className !== undefined ? __className : \"\";\n var tmp;\n switch (role) {\n case \"Admin\" :\n tmp = BadgeCss.User.Role.admin;\n break;\n case \"Provider\" :\n tmp = BadgeCss.User.Role.provider;\n break;\n case \"User\" :\n tmp = BadgeCss.User.Role.user;\n break;\n case \"Visitor\" :\n tmp = BadgeCss.User.Role.visitor;\n break;\n case \"Concierge\" :\n tmp = BadgeCss.User.Role.concierge;\n break;\n case \"Agent\" :\n tmp = BadgeCss.User.Role.agent;\n break;\n \n }\n var tmp$1;\n switch (size) {\n case \"XS\" :\n tmp$1 = BadgeCss.xs;\n break;\n case \"SM\" :\n tmp$1 = BadgeCss.small;\n break;\n case \"MD\" :\n tmp$1 = BadgeCss.medium;\n break;\n case \"LG\" :\n tmp$1 = BadgeCss.large;\n break;\n \n }\n return JsxRuntime.jsx(\"span\", {\n children: Role.toCapital(role),\n className: Cx.cx([\n tmp,\n tmp$1,\n className\n ]),\n id: id\n });\n}\n\nvar Role$1 = {\n Css: undefined,\n make: Badge$User$Role\n};\n\nvar User = {\n Role: Role$1\n};\n\nvar make = Badge;\n\nexport {\n css ,\n make ,\n Span ,\n Project ,\n User ,\n}\n/* css Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var active = \"Pagination__active__EK2e1\";\nexport var column = \"Pagination__column__pRq2C\";\nexport var disabled = \"Pagination__disabled__FbUC6\";\nexport var flex = \"Pagination__flex__DwHSX\";\nexport var flexColumn = \"Pagination__flexColumn__Z4xK0\";\nexport var gap1 = \"Pagination__gap1__aoXRh\";\nexport var gap2 = \"Pagination__gap2__EJjiH\";\nexport var gap3 = \"Pagination__gap3__HT6F_\";\nexport var gap4 = \"Pagination__gap4__AyBux\";\nexport var gap5 = \"Pagination__gap5__tImuc\";\nexport var pageItem = \"Pagination__pageItem__NsQSw\";\nexport var row = \"Pagination__row__lF2Xq\";\nexport var symbol = \"Pagination__symbol__KHv6r\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as Caml from \"rescript/lib/es6/caml.js\";\nimport * as Char from \"../../../libs/Char.res.js\";\nimport * as Control from \"../Control/Control.res.js\";\nimport * as Caml_obj from \"rescript/lib/es6/caml_obj.js\";\nimport * as Belt_List from \"rescript/lib/es6/belt_List.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as PaginationScss from \"./Pagination.scss\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\n\nvar css = PaginationScss;\n\nfunction range(start, end_) {\n if (start > end_) {\n return /* [] */0;\n } else if (start === end_) {\n return {\n hd: {\n TAG: \"Page\",\n _0: start\n },\n tl: /* [] */0\n };\n } else {\n return {\n hd: {\n TAG: \"Page\",\n _0: start\n },\n tl: range(start + 1 | 0, end_)\n };\n }\n}\n\nfunction generatePageNumbers(currentPage, totalPages) {\n var startPage = Caml.int_max(2, currentPage - 1 | 0);\n var endPage = Caml.int_min(totalPages - 1 | 0, currentPage + 1 | 0);\n var pages = range(startPage, endPage);\n var hasLeftSpill = startPage > 2;\n var hasRightSpill = (totalPages - endPage | 0) > 1;\n if (hasLeftSpill) {\n if (hasRightSpill) {\n return Belt_List.concatMany([\n {\n hd: \"LeftArrow\",\n tl: {\n hd: {\n TAG: \"Page\",\n _0: 1\n },\n tl: {\n hd: \"Ellipsis\",\n tl: /* [] */0\n }\n }\n },\n pages,\n {\n hd: \"Ellipsis\",\n tl: {\n hd: {\n TAG: \"Page\",\n _0: totalPages\n },\n tl: {\n hd: \"RightArrow\",\n tl: /* [] */0\n }\n }\n }\n ]);\n } else {\n return Belt_List.concat({\n hd: \"LeftArrow\",\n tl: {\n hd: {\n TAG: \"Page\",\n _0: 1\n },\n tl: {\n hd: \"Ellipsis\",\n tl: /* [] */0\n }\n }\n }, {\n hd: {\n TAG: \"Page\",\n _0: totalPages\n },\n tl: {\n hd: \"RightArrow\",\n tl: /* [] */0\n }\n });\n }\n } else if (hasRightSpill) {\n return Belt_List.concat({\n hd: \"LeftArrow\",\n tl: {\n hd: {\n TAG: \"Page\",\n _0: 1\n },\n tl: /* [] */0\n }\n }, {\n hd: \"Ellipsis\",\n tl: {\n hd: {\n TAG: \"Page\",\n _0: totalPages\n },\n tl: {\n hd: \"RightArrow\",\n tl: /* [] */0\n }\n }\n });\n } else {\n return Belt_List.concatMany([\n {\n hd: \"LeftArrow\",\n tl: /* [] */0\n },\n range(1, totalPages),\n {\n hd: \"RightArrow\",\n tl: /* [] */0\n }\n ]);\n }\n}\n\nfunction isSpecialPage(pageNumber, specialPages) {\n if (specialPages !== undefined) {\n return Belt_Array.some(specialPages, (function (page) {\n return Caml_obj.equal(page, pageNumber);\n }));\n } else {\n return false;\n }\n}\n\nfunction Pagination(props) {\n var __specialClassName = props.specialClassName;\n var specialPages = props.specialPages;\n var onPageClick = props.onPageClick;\n var totalPages = props.totalPages;\n var currentPage = props.currentPage;\n var specialClassName = __specialClassName !== undefined ? __specialClassName : \"\";\n var pageNumbers = generatePageNumbers(currentPage, totalPages);\n return JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"nav\", {\n children: Belt_List.toArray(Belt_List.mapWithIndex(pageNumbers, (function (index, pageNumber) {\n if (typeof pageNumber !== \"object\") {\n switch (pageNumber) {\n case \"Ellipsis\" :\n return JsxRuntime.jsx(Control.make, {\n className: Cx.cx([\n css.pageItem,\n css.disabled,\n css.symbol\n ]),\n children: \"...\"\n }, \"pagination\" + String(index));\n case \"LeftArrow\" :\n return JsxRuntime.jsx(Control.make, {\n className: Cx.cx([\n css.pageItem,\n currentPage === 1 ? css.disabled : \"\",\n css.symbol\n ]),\n onClick: (function (param) {\n onPageClick(currentPage - 1 | 0);\n }),\n children: JsxRuntime.jsx(Char.LeftArrow.make, {})\n }, \"pagination\" + String(index));\n case \"RightArrow\" :\n return JsxRuntime.jsx(Control.make, {\n className: Cx.cx([\n css.pageItem,\n currentPage === totalPages ? css.disabled : \"\",\n css.symbol\n ]),\n onClick: (function (param) {\n onPageClick(currentPage + 1 | 0);\n }),\n children: JsxRuntime.jsx(Char.RightArrow.make, {})\n }, \"pagination\" + String(index));\n \n }\n } else {\n var number = pageNumber._0;\n var tmp;\n tmp = typeof pageNumber !== \"object\" || pageNumber._0 !== currentPage ? \"\" : css.active;\n return JsxRuntime.jsx(Control.make, {\n className: Cx.cx([\n css.pageItem,\n tmp,\n isSpecialPage(number, specialPages) ? specialClassName : \"\"\n ]),\n onClick: (function (param) {\n onPageClick(number);\n }),\n children: String(number)\n }, \"pagination\" + String(index));\n }\n })))\n }),\n className: props.className\n });\n}\n\nvar make = Pagination;\n\nexport {\n css ,\n range ,\n generatePageNumbers ,\n isSpecialPage ,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Icon from \"../components/Icon/Icon.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\n\nfunction IconDownload(props) {\n var __title = props.title;\n var title = __title !== undefined ? __title : \"Download\";\n return JsxRuntime.jsx(Icon.make, {\n title: title,\n size: props.size,\n className: props.className,\n children: JsxRuntime.jsx(\"g\", {\n children: JsxRuntime.jsx(\"g\", {\n children: JsxRuntime.jsx(\"path\", {\n d: \"M2,6 L4,6 L4,16 L16,16 L16,6 L18,6 L18,17 C18,17.5522847 17.5522847,18 17,18 L3,18 C2.44771525,18 2,17.5522847 2,17 L2,6 Z M9,2 L11,2 L11,11.5 L12.75,9.75 L14,11 L10,15 L6,11 L7.25,9.75 L9,11.5 L9,2 Z\"\n }),\n fill: Icon.mapColor(props.color),\n fillRule: \"nonzero\",\n transform: \"translate(-2.000000, -2.000000)\"\n }),\n fill: \"none\",\n fillRule: \"evenodd\",\n stroke: \"none\",\n strokeWidth: \"1\"\n })\n });\n}\n\nvar make = IconDownload;\n\nexport {\n make ,\n}\n/* Icon Not a pure module */\n"],"names":["safeMakeEvent","eventName","Event","$$event","document","createEvent","initEvent","pathParse","str","raw","raw$1","length","match$1","raw$2","a","item","_i","_res","res","i","hd","tl","path","serverUrlString","param","match","window","undefined","location","pathname","hash","$$window","searchParse","search","push","history","pushState","dispatchEvent","replace","replaceState","url","useUrl","serverUrl","setUrl","url$1","watcherId","callback","watcherID","addEventListener","watchUrl","newUrl","b","_aList","_bList","bList","aList","urlNotEqual","removeEventListener","buttonContainer","column","container","contentWrapper","downloadIcon","filters","flex","flexColumn","gap1","gap2","gap3","gap4","gap5","heading","newProjectMenu","newProjectMenuItem","newProjectMenuItemControl","noResults","pagination","popoverBody","popoverRow","popoverTrigger","projectsCount","row","sortAndCount","sortSelection","title","continueButton","deleteButton","draftButtonsContainer","draftMessage","draftProjectItem","finalizedMessage","finalizedProjectItem","inactiveMessage","inactiveProjectItem","modalMessageButtons","modalMessageContainer","modalMessageOverlay","modalMessageText","productTag","projectDescription","projectInfo","projectItem","projectItemContainer","projectLabel","projectName","projectTitle","projectUser","projectUserAvatar","projectUserText","proposalLabel","reviewMessage","reviewProjectItem","activeProposals","buttonsContainer","fakeLink","largeHeight","pillTitle","popoverBodyActions","popoverBodyActionsAdmin","popoverBodyPositionAdmin","popoverButton","popoverIconActions","popoverProjectActions","projectActions","projectLocationAndProviders","projectLocations","projectProposalDates","projectProviderAdminControls","projectProviderLogo","projectStatusBadge","projectStatusControl","projectStatusFinalized","projectStatusInactive","projectUserControls","proposalDate","proposalDateContainer","proposalDropdownTrigger","proposalStatus","proposalsButton","providerDropdown","smallHeight","css","UserProjects_List_ControlsScss","make","props","tmp","tmp$1","tmp$2","tmp$4","updateProjectStatus","project","React","setDeleteModalVisibility","TAG","totalLocations","data","totalLocations$1","totalProviders","totalProviders$1","tmp$3","totalProposals","projectId","id","userRole","status","JsxRuntime","children","Control","className","onClick","Button","size","color","$$Promise","Api","x","SentryLogger","rootModule","subModulePath","value","fullPath","reload","String","Cx","Belt_Option","href","Routes_Project","index","tmp$5","tmp$6","category","projectId$1","exit","Toggle","on","onChange","projectStatus","Popover","IconMenu","position","_0","Url","ProjectService","__title","Icon","height","width","rx","y","fill","fillRule","reducer","state","action","providerId","providers","provider","Caml_option","input","message","fetchProviderApiStatus","preparingProposalApiStatus","close","Provider","NoBidInput","empty","dispatch","sendSetPreparingStatus","P","description","label","Textarea","rows","placeholder","init","target","field","id$1","Belt_Array","Caml_obj","providerLogo","src","logo","name","option","logoNamePair","Dropdown","dropdownTrigger","iconSize","iconColor","dropdownBody","ID","dropdownBodyRow","match$3","match$4","match$6","match$7","disabled","visuallyDisabled","sendButton","uniqueProvider","modalOverlay","closeOverlayButton","IconClose","errors","errorContainer","buttons","modalContents","modal","modalContainer","isNoBidModalShown","isPreparingProposalModalShown","projectData","total","match$2","canSendProposals","$$new","margin","buttonClassName","IconPause","Project","toString","A","link","IconOk","NoBidModal","PreparingProposalModal","setBidModalVisibility","setPreparingProposalModalVisibility","details","proposalDetails","ProjectProposalStatusDropdown","proposal","userViewContext","updateProposalStatus","visibility","$$Date","format","sentAt","expiresAt","UserProjects_List_ItemScss","imageUrl","publicId","Cloudinary","build","projectUrl","redirectUrl","defaultTitle","Badge","badgeType","Format","startDate","businessName","createdAt","statusMessage","endDate","tmp$7","endDate$1","startDate$1","category$1","contact","tmp$9","exit$1","contact$1","contact$2","tmp$8","image","IconUserAvatar","jobTitle","fullName","companyName","tmp$10","exit$2","UserProjects_List_ControlsForUser","UserProjects_List_ControlsForProvider","UserProjects_List_ControlsForAdmin","projectDates","UserProjectsScss","projects","UserProjects_List_Item","projectsWrapper","Pagination","currentPage","totalPages","onPageClick","dropdownBodyHeading","searchFieldInput","searchIcon","UserProjects_List_FiltersScss","update","query","SearchField","inputClassName","iconClassName","providerIds","statuses","sortBy","categories","statusList","withButton","idx","__x","Checkbox","checked","Js_array","statuses$1","statusFilter","categoryList","categories$1","toLabel","categoryFilter","providerIds$1","totalProjects","ProjectTile","_1","$eq","proposalsBreakdown","providerName","isNotOnlyProviderMember","isConcierge","RescriptReactRouter","FetchProjectsRequest","AdminTopNavbar","selectedCategory","isAdmin","ConciergeTopNavbar","TopNavbar","mobile","tablet","IconDownload","variant","NAME","VAL","IconSelect","sorting","UserProjects_List","pageNum","UserProjects_List_Input","UserProjects_List_Filter_Provider","UserProjects_List_Filter_Status","UserProjects_List_Filter_Category","$$default","viewContext","railsContext","searchParams","railsContext$1","RailsContext","projects$1","Belt_Result","Json_Decode$JsonCombinators","ProviderAsFilter","filters$1","UserProjects_List_Filter_Data","fromJs","ProjectsViewContext","isConcierge$1","isNotOnlyProviderMember$1","UserProjects","_ref","context","_objectWithoutProperties","_excluded","Object","assign","mdash","times","Middot","style","padding","RightArrow","LeftArrow","transform","RightCaret","Ampersand","js","required","badge","gray","red","green","blue","yellow","purple","xs","small","medium","large","colocation","internet","cloud","network","bareMetal","User","Role","admin","agent","user","concierge","visitor","colorBareMetal","colorCloud","colorColocation","colorDefault","colorInternet","colorNetwork","wrapper","BadgeScss","Span","Css","__className","__size","__enabled","enabled","__id","BadgeCss","role","active","pageItem","symbol","PaginationScss","range","start","end_","isSpecialPage","pageNumber","specialPages","page","__specialClassName","specialClassName","pageNumbers","startPage","Caml","endPage","pages","hasRightSpill","Belt_List","generatePageNumbers","number","Char","d","stroke","strokeWidth"],"sourceRoot":""}