{"version":3,"file":"js/rescript-bundles-user-dashboard-projects-create-colocation-rfp-project-configuration-69ea4efa655a56143a8b.chunk.js","mappings":"kJAcA,IAAIA,EAAsB,CACxBC,QATF,SAAiBC,EAASC,EAAOC,GAC/BC,EAAAA,GAAuCJ,QAAQC,EAASC,EAAOC,EACjE,EAQEE,MANF,SAAeJ,EAASC,EAAOC,GAC7BC,EAAAA,GAAuCC,MAAMJ,EAASC,EAAOC,EAC/D,E,0YCXWG,EAAS,uDACTC,EAAO,qDACPC,EAAa,2DACbC,EAAO,qDACPC,EAAO,qDACPC,EAAO,qDACPC,EAAO,qDACPC,EAAO,qDACPC,EAAO,qDACPC,EAAwB,sEACxBC,EAAyB,uEACzBC,EAAuB,qEACvBC,EAAkB,gEAClBC,EAAmB,iEACnBC,EAAO,qDACPC,EAAM,oDACNC,EAA2B,yECTlCC,EAAMC,EAEV,SAASC,EAAWC,GAClB,OAAQA,GACN,IAAK,YACD,MAAO,YACX,IAAK,YACD,MAAO,YACX,IAAK,wBACD,MAAO,sBACX,IAAK,wBACD,MAAO,sBACX,IAAK,kCACD,MAAO,+BACX,IAAK,kCACD,MAAO,+BACX,IAAK,qCACD,MAAO,kCACX,IAAK,6BACD,MAAO,OACX,IAAK,uCACD,MAAO,eACX,IAAK,+BACD,MAAO,QACX,IAAK,4BACD,MAAO,MACX,IAAK,iBACD,MAAO,gBACX,IAAK,mBACD,MAAO,kBACX,IAAK,cACD,MAAO,aACX,IAAK,iBACD,MAAO,gBACX,IAAK,8BACD,MAAO,4BACX,IAAK,oCACD,MAAO,iCACX,IAAK,oBACD,MAAO,YACX,IAAK,oBACD,MAAO,mBACX,IAAK,kBACD,MAAO,iBACX,IAAK,kBACD,MAAO,iBACX,IAAK,sBACD,MAAO,cACX,IAAK,iBACD,MAAO,cACX,IAAK,iBACD,MAAO,cACX,IAAK,eACD,MAAO,eACX,IAAK,eACD,MAAO,cACX,IAAK,mBACD,MAAO,kBACX,IAAK,mBACD,MAAO,kBACX,IAAK,iBACD,MAAO,gBACX,IAAK,iBACD,MAAO,gBACX,IAAK,yBACD,MAAO,SACX,IAAK,eACD,MAAO,cACX,IAAK,gBACD,MAAO,eACX,IAAK,qBACD,MAAO,oBACX,IAAK,qBACD,MAAO,oBACX,IAAK,cACD,MAAO,aACX,IAAK,kBACD,MAAO,gBACX,IAAK,iCACL,IAAK,iCACD,MAAO,SACX,IAAK,iCACD,MAAO,YACX,IAAK,iCACD,MAAO,YACX,IAAK,sBACD,MAAO,gBACX,IAAK,iBACD,MAAO,gBACX,IAAK,eACD,MAAO,cACX,IAAK,mBACD,MAAO,kBACX,IAAK,cACD,MAAO,aACX,IAAK,oBACD,MAAO,YACX,QACE,MAAO,UAEb,CAEA,SAASC,EAAQD,GACf,MAAU,WAANA,EACK,8FACQ,kBAANA,EACF,uFACQ,iBAANA,EACF,qFACQ,eAANA,EACF,sGACQ,gBAANA,EACF,gFACQ,sBAANA,EACF,2EACQ,oBAANA,EACF,2EACQ,iCAANA,EACF,gGACQ,oBAANA,EACF,qGACQ,kBAANA,EACF,mGACQ,kBAANA,EACF,+EACQ,mCAANA,EACF,iHACQ,gBAANA,EACF,gFACQ,kBAANA,EACF,4EACQ,oBAANA,EACF,mGACQ,kBAANA,EACF,2FACQ,sBAANA,EACF,iHACQ,kBAANA,EACF,qFACQ,YAANA,EACF,GACQ,wBAANA,EACF,kFACQ,eAANA,EACF,6DACQ,iCAANA,EACF,qJACQ,UAANA,EACF,gHACQ,mBAANA,EACF,8KACQ,QAANA,EACF,uIACQ,eAANA,EACF,4FACQ,iBAANA,EACF,2GACQ,gBAANA,EACF,qFACQ,gBAANA,EACF,yFACQ,wBAANA,EACF,qFACQ,cAANA,EACF,gGACQ,8BAANA,GAA2C,oCAANA,EACvC,2GACQ,gBAANA,EACF,qFACQ,kBAANA,EACF,0GACQ,WAANA,EACF,gKACQ,oBAANA,EACF,oJACQ,qBAANA,EACF,wFACQ,mBAANA,EACF,0HACQ,gBAANA,EACF,gGACQ,cAANA,EACF,qEACQ,cAANA,EACF,iFACQ,cAANA,EACF,oJACQ,SAANA,EACF,iFACQ,iBAANA,EACF,sFACQ,cAANA,EACF,qFAEA,oFAEX,CAEA,SAASE,EAAaF,GACpB,MAAU,gBAANA,GAA6B,kBAANA,GAA+B,WAANA,EAC3CH,EAAIN,qBACI,kBAANS,EACF,GACQ,iBAANA,GAA8B,cAANA,GAA2B,oCAANA,GAAiD,8BAANA,GAA2C,iBAANA,GAA8B,UAANA,GAAuB,iCAANA,GAA8C,wBAANA,GAAqC,eAANA,GAA4B,iBAANA,EACrQH,EAAIR,sBACI,gBAANW,EACF,GACQ,qBAANA,GAAkC,oBAANA,GAAiC,oBAANA,GAAiC,sBAANA,EACpFH,EAAIP,uBACI,oBAANU,GAAiC,iCAANA,GAA8C,kBAANA,GAA+B,mCAANA,GAAgD,gBAANA,GAA6B,kBAANA,GAA+B,kBAANA,GAA+B,sBAANA,GAAmC,kBAANA,GAA+B,YAANA,GAAyB,eAANA,GAA4B,mBAANA,EAChT,GACQ,SAANA,GAAsB,QAANA,EAClBH,EAAIL,gBACI,eAANQ,GAA4B,gBAANA,GAA6B,gBAANA,GAA+B,cAANA,GAA2B,cAANA,GAA2B,WAANA,GAAwB,kBAANA,GAA+B,wBAANA,EAC7J,GAEAH,EAAIJ,gBAEf,CAyCA,IAAIU,EAjCJ,SAA+CC,GAC7C,IAAIC,EAAWD,EAAMC,SACjBC,EAAuBF,EAAMG,mBAC7BA,OAA8CC,IAAzBF,EAAqCA,EAAuB,GACjFG,EAAcV,EAAWK,EAAMM,OACnC,MAAoB,YAAhBD,EACKE,EAAAA,KAAgB,MAAO,CAClBN,SAAU,CACRA,EACAM,EAAAA,IAAe,MAAO,CAChBN,SAAUM,EAAAA,IAAeC,EAAAA,GAAc,CACjCC,QAASZ,EAAQQ,GACjBK,SAAU,MACVC,sBAAuBb,EAAaO,GACpCO,cAAc,EACdX,SAAUM,EAAAA,IAAeM,EAAAA,EAAsB,CACzCC,KAAM,SAGlBC,UAAWC,EAAAA,GAAM,CACXvB,EAAIT,KACJS,EAAID,yBACJW,OAIdY,UAAWtB,EAAIH,OAGpBW,CAEX,C,ylDCxQWgB,EAA0B,0EAC1BC,EAAqB,qEACrBC,EAAY,4DACZC,EAAU,0DACVC,EAAmB,mEACnBC,EAAuB,uEACvBC,EAA2B,2EAC3BC,EAA0B,0EAC1BC,EAAoB,oEACpBjD,EAAS,yDACTkD,EAAY,4DACZC,EAAiB,iEACjBC,EAAiB,iEACjBC,EAA2B,2EAC3BC,EAAgC,gFAChCC,EAAuB,uEACvBC,EAAmB,mEACnBC,EAAkB,kEAClBC,EAAc,8DACd5B,EAAQ,wDACR6B,EAAc,8DACd1D,EAAO,uDACPC,EAAa,6DACb0D,GAAY,4DACZzD,GAAO,uDACPC,GAAO,uDACPC,GAAO,uDACPC,GAAO,uDACPC,GAAO,uDACPsD,GAAa,6DACbC,GAAoB,oEACpBC,GAAgC,gFAChCC,GAAmC,mFACnCC,GAAwC,wFACxCC,GAAO,uDACPC,GAAgB,gEAChB,GAAS,yDACTC,GAAsB,sEACtBC,GAA2B,2EAC3BC,GAA6B,6EAC7BC,GAAyB,yEACzBC,GAA+B,+EAC/BC,GAAyB,yEACzBC,GAAqB,qEACrBC,GAA0B,0EAC1BC,GAAmB,mEACnBC,GAAkB,kEAClBC,GAAW,2DACX/D,GAAM,sDACNgE,GAAY,4DACZC,GAAQ,wDACRC,GAAa,6DACbC,GAAa,6DACbC,GAA2B,2EAC3BC,GAAiB,iEACjBC,GAAY,4D,oCC7CnBpE,GAAMqE,EAkHV,IAAI/D,GAhHJ,SAA2DC,GACzD,IAAI+D,EAAsB/D,EAAM+D,oBAC5BC,EAAgBhE,EAAMgE,cACtBC,EAAwBjE,EAAMiE,sBAC9BC,EAAYlE,EAAMkE,UAClBC,EAAanE,EAAMmE,WACnBC,EAAQJ,EAAcpC,eAC1B,OAAOrB,EAAAA,KAAgB,UAAW,CACtBN,SAAU,CACRM,EAAAA,KAAgB,MAAO,CACjBN,SAAU,CACRM,EAAAA,IAAe8D,GAAAA,EAAY,CACrBC,MAAOH,EAAW,qBAAsBD,OAAW9D,OAAWA,OAAWA,GACzEmE,OAAQC,EAAAA,GAAgBP,GAAwB,SAAUrE,GAClD,OAAOA,EAAE2D,SACX,IACNxC,UAAWtB,GAAI6D,SACfrD,SAAU,uBAEhBM,EAAAA,IAAekE,GAAAA,GAAiB,CAC1BC,GAAIP,EAAW,qBAAsBD,OAAW9D,OAAWA,OAAWA,GACtEgE,MAAOI,EAAAA,GAAgBR,EAAcT,WAAY,SAAUoB,GACnD,OAAOA,CACT,IACNC,aAAc,CAAC,CACXC,KAAM,IAAIC,KAAK,EAAG,GAClBC,GAAI,IAAID,OAEZP,OAAQC,EAAAA,GAAgBP,GAAwB,SAAUrE,GAClD,MAAwB,OAApBA,EAAE2D,UAAUyB,IACP,QAEA,OAEX,IACNC,YAAc,SAAUC,EAAMC,EAAOC,GACjCrB,EAAoB,CACdsB,IAAKrB,EAAcqB,IACnB9B,UAAW+B,EAAAA,GAAiBJ,GAC5BtD,eAAgBoC,EAAcpC,eAC9B2D,2BAA4BvB,EAAcuB,2BAC1CC,uBAAwBxB,EAAcwB,uBACtCC,cAAezB,EAAcyB,cAC7BC,oBAAqB1B,EAAc0B,oBACnCC,0BAA2B3B,EAAc2B,0BACzCC,mBAAoB5B,EAAc4B,mBAClCC,8BAA+B7B,EAAc6B,+BAC5C3B,EACT,EACFnD,UAAWtB,GAAI8D,aAGvBxC,UAAWtB,GAAIa,QAErBC,EAAAA,KAAgB,MAAO,CACjBN,SAAU,CACRM,EAAAA,IAAe8D,GAAAA,EAAY,CACrBC,MAAOH,EAAW,kBAAmBD,OAAW9D,OAAWA,OAAWA,GACtEmE,OAAQC,EAAAA,GAAgBP,GAAwB,SAAUrE,GAClD,OAAOA,EAAEgC,cACX,IACNb,UAAWtB,GAAI6D,SACfrD,SAAU,oBAEhBM,EAAAA,KAAgBuF,GAAAA,GAAa,CACvBpB,GAAIP,EAAW,kBAAmBD,OAAW9D,OAAWA,OAAWA,GACnEgE,WAAiBhE,IAAVgE,EAAsB2B,OAAO3B,GAAS,GAC7CG,OAAQC,EAAAA,GAAgBP,GAAwB,SAAUrE,GAClD,MAA6B,OAAzBA,EAAEgC,eAAeoD,IACZ,QAEA,OAEX,IACNgB,iBAAkBvG,GAAImC,eACtBqE,SAAU,MACVC,UAAW,WACXC,SAAW,SAAUC,GACjB,IAAIhC,EAAQgC,EAAQC,OAAOjC,MAC3BL,EAAoB,CACdsB,IAAKrB,EAAcqB,IACnB9B,UAAWS,EAAcT,UACzB3B,eAAgBwC,EAChBmB,2BAA4BvB,EAAcuB,2BAC1CC,uBAAwBxB,EAAcwB,uBACtCC,cAAezB,EAAcyB,cAC7BC,oBAAqB1B,EAAc0B,oBACnCC,0BAA2B3B,EAAc2B,0BACzCC,mBAAoB5B,EAAc4B,mBAClCC,8BAA+B7B,EAAc6B,+BAC5C3B,EACT,EACFjE,SAAU,CACRM,EAAAA,IAAeuF,GAAAA,GAAqB/F,KAAM,CACpCE,SAAU,WAEhBqG,EAAAA,GAAetG,EAAMuG,QAAQC,iBAAkB,SAAU5E,GACjD,OAAOrB,EAAAA,IAAeuF,GAAAA,GAAgB/F,KAAM,CAChCqE,MAAO2B,OAAOnE,EAAewC,OAC7BnE,SAAU2B,EAAe6E,OACxB7E,EAAe6E,MAC9B,QAIhB1F,UAAWtB,GAAIa,SAGvBS,UAAWtB,GAAI0B,WAE7B,E,oFCzGI1B,GAAMqE,EA8PV,IAAI/D,GA5PJ,SAA8DC,GAC5D,IA6BI0G,EA7BAC,EAAmB3G,EAAM2G,iBACzBC,EAAoB5G,EAAM4G,kBAC1BL,EAAUvG,EAAMuG,QAChBxC,EAAsB/D,EAAM+D,oBAC5BC,EAAgBhE,EAAMgE,cACtBC,EAAwBjE,EAAMiE,sBAC9BC,EAAYlE,EAAMkE,UAClBC,EAAanE,EAAMmE,WACnB0C,EAAsB,SAAU7C,EAAe8C,EAAc5C,EAAW6C,GAC1E,IAAItB,EAAgBa,EAAAA,GAAwBtC,EAAcyB,eAAgB,SAAUuB,EAAKC,GACjF,OAAID,IAAQD,EACHD,EAEAG,CAEX,IACNlD,EAAoB,CACdsB,IAAKrB,EAAcqB,IACnB9B,UAAWS,EAAcT,UACzB3B,eAAgBoC,EAAcpC,eAC9B2D,2BAA4BvB,EAAcuB,2BAC1CC,uBAAwBxB,EAAcwB,uBACtCC,cAAeA,EACfC,oBAAqB1B,EAAc0B,oBACnCC,0BAA2B3B,EAAc2B,0BACzCC,mBAAoB5B,EAAc4B,mBAClCC,8BAA+B7B,EAAc6B,+BAC5C3B,EACT,EA8MA,OA5MAwC,EAA4B,UAAtBE,EAAgCrG,EAAAA,KAAgBA,EAAAA,SAAqB,CACnEN,SAAU,CACRqG,EAAAA,GAAwBtC,EAAcyB,eAAgB,SAAUsB,EAAUD,GAClE,IAAII,OAAiD9G,IAA1B6D,EAAsCqC,EAAAA,GAAerC,EAAsBwB,cAAesB,QAAY3G,EAC7HgE,EAAQ0C,EAAaK,SACzB,OAAO5G,EAAAA,KAAgB,MAAO,CAClBN,SAAU,CACR8G,EAAW,EAAIxG,EAAAA,IAAe6G,GAAAA,GAAc,CACpCrG,UAAWtB,GAAIuC,iBACfqF,QAAU,SAAUlC,GAChB,IAAIM,EAAgBa,EAAAA,GAAyBtC,EAAcyB,eAAgB,SAAU6B,EAAQC,GACrF,OAAOA,IAAUR,CACnB,IACNhD,EAAoB,CACdsB,IAAKrB,EAAcqB,IACnB9B,UAAWS,EAAcT,UACzB3B,eAAgBoC,EAAcpC,eAC9B2D,2BAA4BvB,EAAcuB,2BAC1CC,uBAAwBxB,EAAcwB,uBACtCC,cAAeA,EACfC,oBAAqB1B,EAAc0B,oBACnCC,0BAA2B3B,EAAc2B,0BACzCC,mBAAoB5B,EAAc4B,mBAClCC,8BAA+B7B,EAAc6B,+BAC5C3B,EACT,EACFjE,SAAUM,EAAAA,IAAeiH,GAAAA,EAAiB,CACpC1G,KAAM,KACN2G,MAAO,gBAEV,KACXlH,EAAAA,KAAgB,MAAO,CACjBN,SAAU,CACRM,EAAAA,KAAgB,MAAO,CACjBN,SAAU,CACRM,EAAAA,IAAe8D,GAAAA,EAAY,CACrBC,MAAOH,EAAW,WAAYD,EAAW,gBAAiB6C,OAAU3G,GACpEmE,OAAQC,EAAAA,GAAgB0C,GAAuB,SAAUtH,GACjD,OAAOA,EAAEuH,QACX,IACNlH,SAAU,aAEhBM,EAAAA,IAAemH,GAAAA,GAAgB,CACzBhD,GAAIP,EAAW,WAAYD,EAAW,gBAAiB6C,OAAU3G,GACjEgE,WAAiBhE,IAAVgE,EAAsB2B,OAAO3B,GAAS,GAC7CG,OAAQC,EAAAA,GAAgB0C,GAAuB,SAAUtH,GACjD,MAAuB,OAAnBA,EAAEuH,SAASnC,IACN,QAEA,OAEX,IACNjE,UAAWtB,GAAIsC,qBACfoE,SAAW,SAAUC,GACjB,IAAIhC,EAAQgC,EAAQC,OAAOjC,MAC3ByC,EAAoB7C,EAAe,CAC7BmD,SAAU/C,EACVuD,aAAcb,EAAaa,aAC3BC,SAAUd,EAAac,SACvBC,4BAA6Bf,EAAae,6BACzC3D,EAAW6C,EACpB,KAGVhG,UAAWtB,GAAIa,QAErBC,EAAAA,KAAgB,MAAO,CACjBN,SAAU,CACRM,EAAAA,IAAeuH,GAAAA,GAA4C,CACrDxH,MAAO,8BACPL,SAAUM,EAAAA,IAAe8D,GAAAA,EAAY,CAC/BC,MAAOH,EAAW,eAAgBD,EAAW,gBAAiB6C,OAAU3G,GACxEH,SAAU,kBAGtBM,EAAAA,KAAgBuF,GAAAA,GAAa,CACvBpB,GAAIP,EAAW,eAAgBD,EAAW,gBAAiB6C,OAAU3G,GACrEgE,MAAOI,EAAAA,GAA2BsC,EAAaa,aAAc,IAC7D3B,iBAAkBvG,GAAIoC,yBACtBoE,SAAU,MACVC,UAAW,WACXC,SAAW,SAAUC,GACjB,IAAIhC,EAAQgC,EAAQC,OAAOjC,MAC3ByC,EAAoB7C,EAAe,CAC7BmD,SAAUL,EAAaK,SACvBQ,aAAcvD,EACdwD,SAAUd,EAAac,SACvBC,4BAA6Bf,EAAae,6BACzC3D,EAAW6C,EACpB,EACF9G,SAAU,CACRM,EAAAA,IAAeuF,GAAAA,GAAgB/F,KAAM,CAC/BqE,MAAO,GACPnE,SAAU,WAEhBqG,EAAAA,GAAeC,EAAQoB,cAAe,SAAUvD,GACxC,OAAO7D,EAAAA,IAAeuF,GAAAA,GAAgB/F,KAAM,CAChCqE,MAAOA,EACPnE,SAAUmE,GACTA,EACf,QAIhBrD,UAAWtB,GAAIa,QAErBC,EAAAA,KAAgB,MAAO,CACjBN,SAAU,CACRM,EAAAA,IAAeuH,GAAAA,GAA4C,CACrDxH,MAAO,oCACPL,SAAUM,EAAAA,IAAe8D,GAAAA,EAAY,CAC/BC,MAAOH,EAAW,WAAYD,EAAW,gBAAiB6C,OAAU3G,GACpEH,SAAU,yBAGtBM,EAAAA,KAAgBuF,GAAAA,GAAa,CACvBpB,GAAIP,EAAW,WAAYD,EAAW,gBAAiB6C,OAAU3G,GACjEgE,MAAOI,EAAAA,GAA2BsC,EAAac,SAAU,IACzD5B,iBAAkBvG,GAAIqC,8BACtBmE,SAAU,MACVC,UAAW,WACXC,SAAW,SAAUC,GACjB,IAAIhC,EAAQgC,EAAQC,OAAOjC,MAC3ByC,EAAoB7C,EAAe,CAC7BmD,SAAUL,EAAaK,SACvBQ,aAAcb,EAAaa,aAC3BC,SAAUxD,EACVyD,4BAA6Bf,EAAae,6BACzC3D,EAAW6C,EACpB,EACF9G,SAAU,CACRM,EAAAA,IAAeuF,GAAAA,GAAgB/F,KAAM,CAC/BqE,MAAO,GACPnE,SAAU,WAEhBqG,EAAAA,GAAeC,EAAQwB,uBAAwB,SAAU3D,GACjD,OAAO7D,EAAAA,IAAeuF,GAAAA,GAAgB/F,KAAM,CAChCqE,MAAOA,EACPnE,SAAUmE,GACTA,EACf,QAIhBrD,UAAWtB,GAAIa,SAGvBS,UAAWtB,GAAIiE,aAErBnD,EAAAA,IAAe,MAAO,CAChBN,SAAUM,EAAAA,KAAgB,MAAO,CAC3BN,SAAU,CACRM,EAAAA,IAAe8D,GAAAA,EAAY,CACrBC,MAAOH,EAAW,iCAAkCD,EAAW,gBAAiB6C,OAAU3G,GAC1FH,SAAU,mCAEhBM,EAAAA,IAAeyH,GAAAA,EAAe,CACxBtD,GAAIP,EAAW,iCAAkCD,EAAW,gBAAiB6C,OAAU3G,GACvFgE,MAAOI,EAAAA,GAA2BsC,EAAae,4BAA6B,IAC5E9G,UAAWtB,GAAIwI,iCACf9B,SAAW,SAAUC,GACjB,IAAIhC,EAAQgC,EAAQC,OAAOjC,MAC3ByC,EAAoB7C,EAAe,CAC7BmD,SAAUL,EAAaK,SACvBQ,aAAcb,EAAaa,aAC3BC,SAAUd,EAAac,SACvBC,4BAA6BzD,GAC5BF,EAAW6C,EACpB,KAGVhG,UAAWC,GAAAA,GAAM,CACXvB,GAAIa,MACJb,GAAI2C,cAGhBrB,UAAWtB,GAAIiE,cAGvB3C,UAAWtB,GAAI4D,iBACd0C,OAAOgB,GACtB,IACNxG,EAAAA,IAAe2H,EAAAA,GAAa,CACtBpH,KAAM,KACN2G,MAAO,OACPU,gBAAiB1I,GAAIyB,mBACrBmG,QAAU,SAAUlC,GAChBpB,EAAoB,CACdsB,IAAKrB,EAAcqB,IACnB9B,UAAWS,EAAcT,UACzB3B,eAAgBoC,EAAcpC,eAC9B2D,2BAA4BvB,EAAcuB,2BAC1CC,uBAAwBxB,EAAcwB,uBACtCC,cAAea,EAAAA,GAAkBtC,EAAcyB,cAAe,CAAC2C,GAAAA,GAAgEC,QAC/H3C,oBAAqB1B,EAAc0B,oBACnCC,0BAA2B3B,EAAc2B,0BACzCC,mBAAoB5B,EAAc4B,mBAClCC,8BAA+B7B,EAAc6B,+BAC5C3B,EACT,EACFjE,SAAU,qBAGf,KACJM,EAAAA,IAAe+H,EAAAA,GAAsCvI,KAAM,CACtD3B,MAAO,iBACPmK,WAAY3B,EACZD,iBAAmB,WACfA,EAAiBzC,EAAW,eAC9B,EACFrE,QAAU,SAAUI,GAChB,OAAOM,EAAAA,IAAeuH,GAAAA,GAA4C,CACtDxH,MAAO,iBACPH,mBAAoBV,GAAImE,eACxB3D,SAAUA,GAExB,EACFA,SAAUyG,GAExB,ECrQIjH,GAAMqE,EA4CV,IAEI/D,GA5CJ,SAAiEC,GAC/D,IAKI0G,EALAC,EAAmB3G,EAAM2G,iBACzBC,EAAoB5G,EAAM4G,kBAC1B7C,EAAsB/D,EAAM+D,oBAC5BC,EAAgBhE,EAAMgE,cACtBE,EAAYlE,EAAMkE,UA2BtB,OAzBAwC,EAA4B,UAAtBE,EAAgCrG,EAAAA,IAAe,MAAO,CACpDN,SAAUM,EAAAA,IAAeyH,GAAAA,EAAe,CAClCtD,GAAI1E,EAAMmE,WAAW,oCAAqCD,OAAW9D,OAAWA,OAAWA,GAC3FgE,MAAOI,EAAAA,GAA2BR,EAAc6B,8BAA+B,IAC/EM,SAAW,SAAUC,GACjB,IAAIhC,EAAQgC,EAAQC,OAAOjC,MAC3BL,EAAoB,CACdsB,IAAKrB,EAAcqB,IACnB9B,UAAWS,EAAcT,UACzB3B,eAAgBoC,EAAcpC,eAC9B2D,2BAA4BvB,EAAcuB,2BAC1CC,uBAAwBxB,EAAcwB,uBACtCC,cAAezB,EAAcyB,cAC7BC,oBAAqB1B,EAAc0B,oBACnCC,0BAA2B3B,EAAc2B,0BACzCC,mBAAoB5B,EAAc4B,mBAClCC,8BAA+BzB,GAC9BF,EACT,IAERnD,UAAWC,GAAAA,GAAM,CACXvB,GAAIa,MACJb,GAAI2C,cAEP,KACJ7B,EAAAA,IAAe+H,EAAAA,GAAsCvI,KAAM,CACtD3B,MAAO,uBACPmK,WAAY3B,EACZD,iBAAmB,WACfA,EAAiBzC,EAAW,kBAC9B,EACFjE,SAAUyG,GAExB,E,oCChCIjH,GAAMqE,EAmSV,IAAI/D,GAjSJ,SAAoEC,GAClE,IA4BI0G,EA5BAC,EAAmB3G,EAAM2G,iBACzBC,EAAoB5G,EAAM4G,kBAC1BL,EAAUvG,EAAMuG,QAChBxC,EAAsB/D,EAAM+D,oBAC5BC,EAAgBhE,EAAMgE,cACtBE,EAAYlE,EAAMkE,UAClBC,EAAanE,EAAMmE,WACnBqE,EAA4B,SAAUxE,EAAeyE,EAAoBvE,EAAW6C,GACtF,IAAIrB,EAAsBY,EAAAA,GAAwBtC,EAAc0B,qBAAsB,SAAUsB,EAAK0B,GAC7F,OAAI1B,IAAQD,EACH0B,EAEAC,CAEX,IACN3E,EAAoB,CACdsB,IAAKrB,EAAcqB,IACnB9B,UAAWS,EAAcT,UACzB3B,eAAgBoC,EAAcpC,eAC9B2D,2BAA4BvB,EAAcuB,2BAC1CC,uBAAwBxB,EAAcwB,uBACtCC,cAAezB,EAAcyB,cAC7BC,oBAAqBA,EACrBC,0BAA2B3B,EAAc2B,0BACzCC,mBAAoB5B,EAAc4B,mBAClCC,8BAA+B7B,EAAc6B,+BAC5C3B,EACT,EAoPA,OAlPAwC,EAA4B,UAAtBE,EAAgCrG,EAAAA,KAAgBA,EAAAA,SAAqB,CACnEN,SAAU,CACRqG,EAAAA,GAAwBtC,EAAc0B,qBAAsB,SAAUqB,EAAU0B,GACxE,OAAOlI,EAAAA,KAAgB,MAAO,CAClBN,SAAU,CACR8G,EAAW,EAAIxG,EAAAA,IAAe6G,GAAAA,GAAc,CACpCrG,UAAWtB,GAAIuC,iBACfqF,QAAU,SAAUlC,GAChB,IAAIO,EAAsBY,EAAAA,GAAyBtC,EAAc0B,qBAAsB,SAAU4B,EAAQC,GACjG,OAAOA,IAAUR,CACnB,IACNhD,EAAoB,CACdsB,IAAKrB,EAAcqB,IACnB9B,UAAWS,EAAcT,UACzB3B,eAAgBoC,EAAcpC,eAC9B2D,2BAA4BvB,EAAcuB,2BAC1CC,uBAAwBxB,EAAcwB,uBACtCC,cAAezB,EAAcyB,cAC7BC,oBAAqBA,EACrBC,0BAA2B3B,EAAc2B,0BACzCC,mBAAoB5B,EAAc4B,mBAClCC,8BAA+B7B,EAAc6B,+BAC5C3B,EACT,EACFjE,SAAUM,EAAAA,IAAeiH,GAAAA,EAAiB,CACpC1G,KAAM,KACN2G,MAAO,gBAEV,KACXlH,EAAAA,KAAgB,MAAO,CACjBN,SAAU,CACRM,EAAAA,KAAgB,MAAO,CACjBN,SAAU,CACRM,EAAAA,IAAeuH,GAAAA,GAA4C,CACrDxH,MAAO,qCACPL,SAAUM,EAAAA,IAAe8D,GAAAA,EAAY,CAC/BC,MAAOH,EAAW,eAAgBD,EAAW,uBAAwB6C,OAAU3G,GAC/EH,SAAU,kBAGtBM,EAAAA,KAAgBuF,GAAAA,GAAa,CACvBpB,GAAIP,EAAW,eAAgBD,EAAW,uBAAwB6C,OAAU3G,GAC5EgE,MAAOI,EAAAA,GAA2BiE,EAAmBd,aAAc,IACnE3B,iBAAkBvG,GAAI+B,wBACtByE,SAAU,MACVC,UAAW,WACXC,SAAW,SAAUC,GACjB,IAAIhC,EAAQgC,EAAQC,OAAOjC,MAC3BoE,EAA0BxE,EAAe,CACnC2D,aAAcvD,EACduE,UAAWF,EAAmBE,UAC9BC,cAAeH,EAAmBG,cAClCC,kBAAmBJ,EAAmBI,kBACtChB,4BAA6BY,EAAmBZ,6BAC/C3D,EAAW6C,EACpB,EACF9G,SAAU,CACRM,EAAAA,IAAeuF,GAAAA,GAAgB/F,KAAM,CAC/BqE,MAAO,GACPnE,SAAU,WAEhBqG,EAAAA,GAAeC,EAAQoB,cAAe,SAAUvD,GACxC,OAAO7D,EAAAA,IAAeuF,GAAAA,GAAgB/F,KAAM,CAChCqE,MAAOA,EACPnE,SAAUmE,GACTA,EACf,QAIhBrD,UAAWtB,GAAIa,QAErBC,EAAAA,KAAgB,MAAO,CACjBN,SAAU,CACRM,EAAAA,IAAeuH,GAAAA,GAA4C,CACrDxH,MAAO,kCACPL,SAAUM,EAAAA,IAAe8D,GAAAA,EAAY,CAC/BC,MAAOH,EAAW,YAAaD,EAAW,uBAAwB6C,OAAU3G,GAC5EH,SAAU,gBAGtBM,EAAAA,KAAgBuF,GAAAA,GAAa,CACvBpB,GAAIP,EAAW,YAAaD,EAAW,uBAAwB6C,OAAU3G,GACzEgE,MAAOI,EAAAA,GAA2BiE,EAAmBE,UAAW,IAChE3C,iBAAkBvG,GAAI6B,qBACtB2E,SAAU,MACVC,UAAW,WACXC,SAAW,SAAUC,GACjB,IAAIhC,EAAQgC,EAAQC,OAAOjC,MAC3BoE,EAA0BxE,EAAe,CACnC2D,aAAcc,EAAmBd,aACjCgB,UAAWvE,EACXwE,cAAeH,EAAmBG,cAClCC,kBAAmBJ,EAAmBI,kBACtChB,4BAA6BY,EAAmBZ,6BAC/C3D,EAAW6C,EACpB,EACF9G,SAAU,CACRM,EAAAA,IAAeuF,GAAAA,GAAgB/F,KAAM,CAC/BqE,MAAO,GACPnE,SAAU,WAEhBqG,EAAAA,GAAeC,EAAQuC,YAAa,SAAU1E,GACtC,OAAO7D,EAAAA,IAAeuF,GAAAA,GAAgB/F,KAAM,CAChCqE,MAAOA,EACPnE,SAAUmE,GACTA,EACf,QAIhBrD,UAAWtB,GAAIa,QAErBC,EAAAA,KAAgB,MAAO,CACjBN,SAAU,CACRM,EAAAA,IAAeuH,GAAAA,GAA4C,CACrDxH,MAAO,iBACPL,SAAUM,EAAAA,IAAe8D,GAAAA,EAAY,CAC/BC,MAAOH,EAAW,iBAAkBD,EAAW,uBAAwB6C,OAAU3G,GACjFH,SAAU,qBAGtBM,EAAAA,KAAgBuF,GAAAA,GAAa,CACvBpB,GAAIP,EAAW,iBAAkBD,EAAW,uBAAwB6C,OAAU3G,GAC9EgE,MAAOI,EAAAA,GAA2BiE,EAAmBG,cAAe,IACpE5C,iBAAkBvG,GAAI8B,yBACtB0E,SAAU,MACVC,UAAW,WACXC,SAAW,SAAUC,GACjB,IAAIhC,EAAQgC,EAAQC,OAAOjC,MAC3BoE,EAA0BxE,EAAe,CACnC2D,aAAcc,EAAmBd,aACjCgB,UAAWF,EAAmBE,UAC9BC,cAAexE,EACfyE,kBAAmBJ,EAAmBI,kBACtChB,4BAA6BY,EAAmBZ,6BAC/C3D,EAAW6C,EACpB,EACF9G,SAAU,CACRM,EAAAA,IAAeuF,GAAAA,GAAgB/F,KAAM,CAC/BqE,MAAO,GACPnE,SAAU,WAEhBqG,EAAAA,GAAeC,EAAQwC,gBAAiB,SAAU3E,GAC1C,OAAO7D,EAAAA,IAAeuF,GAAAA,GAAgB/F,KAAM,CAChCqE,MAAOA,EACPnE,SAAUmE,GACTA,EACf,QAIhBrD,UAAWtB,GAAIa,SAGvBS,UAAWtB,GAAIiE,aAErBnD,EAAAA,IAAe,MAAO,CAChBN,SAAUqG,EAAAA,GAAeC,EAAQyC,+BAAgC,SAAUC,GACnE,OAAO1I,EAAAA,IAAe2I,GAAAA,GAAmBnJ,KAAM,CACnC2E,GAAIP,EAAW,qBAAuB8E,EAAkB/E,EAAW,uBAAwB6C,OAAU3G,GACrGU,KAAM,KACNqI,SAAoBC,EAEbX,EAAmBI,kBADbQ,GAAAA,GAAkBJ,EAAkBG,IAEjDE,mBAAoB7J,GAAI8J,OACxBpD,SAAW,SAAUC,GACjB,IACIyC,EADUzC,EAAQC,OAAO8C,QACK7C,EAAAA,GAAkBmC,EAAmBI,kBAAmB,CAACI,IAAqB3C,EAAAA,GAAgBmC,EAAmBI,mBAAoB,SAAUzE,GACvK,OAAOA,IAAU6E,CACnB,IACRT,EAA0BxE,EAAe,CACnC2D,aAAcc,EAAmBd,aACjCgB,UAAWF,EAAmBE,UAC9BC,cAAeH,EAAmBG,cAClCC,kBAAmBA,EACnBhB,4BAA6BY,EAAmBZ,6BAC/C3D,EAAW6C,EACpB,EACF9G,SAAUM,EAAAA,IAAeuH,GAAAA,GAA4C,CAC/DxH,MAAO,yBAA2B2I,EAClChJ,SAAUgJ,KAEfA,GArBS,IAAUG,CAsBlC,IACNrI,UAAWtB,GAAIiE,aAErBnD,EAAAA,IAAe,MAAO,CAChBN,SAAUM,EAAAA,KAAgB,MAAO,CAC3BN,SAAU,CACRM,EAAAA,IAAe8D,GAAAA,EAAY,CACrBC,MAAOH,EAAW,iCAAkCD,EAAW,uBAAwB6C,OAAU3G,GACjGH,SAAU,mCAEhBM,EAAAA,IAAeyH,GAAAA,EAAe,CACxBtD,GAAIP,EAAW,iCAAkCD,EAAW,uBAAwB6C,OAAU3G,GAC9FgE,MAAOI,EAAAA,GAA2BiE,EAAmBZ,4BAA6B,IAClF1B,SAAW,SAAUC,GACjB,IAAIhC,EAAQgC,EAAQC,OAAOjC,MAC3BoE,EAA0BxE,EAAe,CACnC2D,aAAcc,EAAmBd,aACjCgB,UAAWF,EAAmBE,UAC9BC,cAAeH,EAAmBG,cAClCC,kBAAmBJ,EAAmBI,kBACtChB,4BAA6BzD,GAC5BF,EAAW6C,EACpB,KAGVhG,UAAWC,GAAAA,GAAM,CACXvB,GAAIa,MACJb,GAAI2C,cAGhBrB,UAAWtB,GAAIiE,cAGvB3C,UAAWtB,GAAI4D,iBACd0C,OAAOgB,GACtB,IACNxG,EAAAA,IAAe2H,EAAAA,GAAa,CACtBpH,KAAM,KACN2G,MAAO,OACPU,gBAAiB1I,GAAIyB,mBACrBmG,QAAU,SAAUlC,GAChBpB,EAAoB,CACdsB,IAAKrB,EAAcqB,IACnB9B,UAAWS,EAAcT,UACzB3B,eAAgBoC,EAAcpC,eAC9B2D,2BAA4BvB,EAAcuB,2BAC1CC,uBAAwBxB,EAAcwB,uBACtCC,cAAezB,EAAcyB,cAC7BC,oBAAqBY,EAAAA,GAAkBtC,EAAc0B,oBAAqB,CAAC8D,GAAAA,EAAsEnB,QACjJ1C,0BAA2B3B,EAAc2B,0BACzCC,mBAAoB5B,EAAc4B,mBAClCC,8BAA+B7B,EAAc6B,+BAC5C3B,EACT,EACFjE,SAAU,qBAGf,KACJM,EAAAA,IAAe+H,EAAAA,GAAsCvI,KAAM,CACtD3B,MAAO,wBACPmK,WAAY3B,EACZD,iBAAmB,WACfA,EAAiBzC,EAAW,qBAC9B,EACFrE,QAAU,SAAUI,GAChB,OAAOM,EAAAA,IAAeuH,GAAAA,GAA4C,CACtDxH,MAAO,wBACPH,mBAAoBV,GAAImE,eACxB3D,SAAUA,GAExB,EACFA,SAAUyG,GAExB,E,YCzSIjH,GAAMqE,EA8DV,IAAI/D,GA5DJ,SAAoEC,GAClE,IAWI0G,EAXA+C,EAASzJ,EAAMyJ,OACf9C,EAAmB3G,EAAM2G,iBACzBC,EAAoB5G,EAAM4G,kBAC1BL,EAAUvG,EAAMuG,QAChBxC,EAAsB/D,EAAM+D,oBAC5BC,EAAgBhE,EAAMgE,cACtBE,EAAYlE,EAAMkE,UAClBC,EAAanE,EAAMmE,WACnBuF,EAAcD,EAAS,EAAI,EAC3BE,EAAepD,EAAQqD,mBAAmBC,OAC1CC,EAAoBL,EAASE,EAAe,EAAI,EAAII,GAAAA,EAAeJ,EAAcD,GAuCrF,OArCAhD,EAA4B,UAAtBE,EAAgCN,EAAAA,GAAwBA,EAAAA,GAAiB,EAAGwD,IAAqB,SAAUvC,EAAOpC,GAC9G,OAAO5E,EAAAA,IAAe,MAAO,CACjBN,SAAUqG,EAAAA,GAAeA,EAAAA,GAAiBC,EAAQqD,mBAAoBI,KAAKC,KAAK1C,EAAOmC,GAAcA,IAAe,SAAUQ,GACtH,OAAO3J,EAAAA,IAAe2I,GAAAA,GAAmBnJ,KAAM,CACnC2E,GAAIP,EAAW,sBAAwB+F,EAAmBhG,OAAW9D,OAAWA,OAAWA,GAC3FU,KAAM,KACNqI,SAAoBC,EAEbpF,EAAc4B,mBADRyD,GAAAA,GAAkBa,EAAmBd,IAElDE,mBAAoB7J,GAAI8J,OACxBpD,SAAW,SAAUC,GACjB,IACIR,EADUQ,EAAQC,OAAO8C,QACM7C,EAAAA,GAAkBtC,EAAc4B,mBAAoB,CAACsE,IAAsB5D,EAAAA,GAAgBtC,EAAc4B,oBAAqB,SAAUxB,GACjK,OAAOA,IAAU8F,CACnB,IACRnG,EAAoB,CACdsB,IAAKrB,EAAcqB,IACnB9B,UAAWS,EAAcT,UACzB3B,eAAgBoC,EAAcpC,eAC9B2D,2BAA4BvB,EAAcuB,2BAC1CC,uBAAwBxB,EAAcwB,uBACtCC,cAAezB,EAAcyB,cAC7BC,oBAAqB1B,EAAc0B,oBACnCC,0BAA2B3B,EAAc2B,0BACzCC,mBAAoBA,EACpBC,8BAA+B7B,EAAc6B,+BAC5C3B,EACT,EACFjE,SAAUM,EAAAA,IAAeuH,GAAAA,GAA4C,CAC/DxH,MAAO4J,EACPjK,SAAUiK,KAEfA,GA1BS,IAAUd,CA2BlC,IACNrI,UAAWtB,GAAIyC,aACd,eAAiB6D,OAAOwB,GACvC,IAAM,KACPhH,EAAAA,IAAe+H,EAAAA,GAAsCvI,KAAM,CACtD3B,MAAO,uBACPmK,WAAY3B,EACZD,iBAAmB,WACfA,EAAiBzC,EAAW,qBAC9B,EACFjE,SAAUyG,GAExB,E,YCpDIjH,GAAMqE,EA6RV,IAAI/D,GA3RJ,SAAsEC,GACpE,IA4BI0G,EA5BAC,EAAmB3G,EAAM2G,iBACzBC,EAAoB5G,EAAM4G,kBAC1BL,EAAUvG,EAAMuG,QAChBxC,EAAsB/D,EAAM+D,oBAC5BC,EAAgBhE,EAAMgE,cACtBE,EAAYlE,EAAMkE,UAClBC,EAAanE,EAAMmE,WACnBgG,EAA+B,SAAUnG,EAAeoG,EAAsBlG,EAAW6C,GAC3F,IAAIvB,EAAyBc,EAAAA,GAAwBtC,EAAcwB,wBAAyB,SAAUwB,EAAKqD,GACnG,OAAIrD,IAAQD,EACHqD,EAEAC,CAEX,IACNtG,EAAoB,CACdsB,IAAKrB,EAAcqB,IACnB9B,UAAWS,EAAcT,UACzB3B,eAAgBoC,EAAcpC,eAC9B2D,2BAA4BvB,EAAcuB,2BAC1CC,uBAAwBA,EACxBC,cAAezB,EAAcyB,cAC7BC,oBAAqB1B,EAAc0B,oBACnCC,0BAA2B3B,EAAc2B,0BACzCC,mBAAoB5B,EAAc4B,mBAClCC,8BAA+B7B,EAAc6B,+BAC5C3B,EACT,EAqPA,OAnPAwC,EAA4B,UAAtBE,EAAgCrG,EAAAA,KAAgBA,EAAAA,SAAqB,CACnEN,SAAU,CACRqG,EAAAA,GAAwBtC,EAAcwB,wBAAyB,SAAUuB,EAAUqD,GAC3E,OAAO7J,EAAAA,KAAgB,MAAO,CAClBN,SAAU,CACR8G,EAAW,EAAIxG,EAAAA,IAAe6G,GAAAA,GAAc,CACpCrG,UAAWtB,GAAIuC,iBACfqF,QAAU,SAAUlC,GAChB,IAAIK,EAAyBc,EAAAA,GAAyBtC,EAAcwB,wBAAyB,SAAU8B,EAAQC,GACvG,OAAOA,IAAUR,CACnB,IACNhD,EAAoB,CACdsB,IAAKrB,EAAcqB,IACnB9B,UAAWS,EAAcT,UACzB3B,eAAgBoC,EAAcpC,eAC9B2D,2BAA4BvB,EAAcuB,2BAC1CC,uBAAwBA,EACxBC,cAAezB,EAAcyB,cAC7BC,oBAAqB1B,EAAc0B,oBACnCC,0BAA2B3B,EAAc2B,0BACzCC,mBAAoB5B,EAAc4B,mBAClCC,8BAA+B7B,EAAc6B,+BAC5C3B,EACT,EACFjE,SAAUM,EAAAA,IAAeiH,GAAAA,EAAiB,CACpC1G,KAAM,KACN2G,MAAO,gBAEV,KACXlH,EAAAA,KAAgB,MAAO,CACjBN,SAAU,CACRM,EAAAA,KAAgB,MAAO,CACjBN,SAAU,CACRM,EAAAA,IAAeuH,GAAAA,GAA4C,CACrDxH,MAAO,eACPL,SAAUM,EAAAA,IAAe8D,GAAAA,EAAY,CAC/BC,MAAOH,EAAW,eAAgBD,EAAW,WAAY6C,OAAU3G,GACnEH,SAAU,kBAGtBM,EAAAA,KAAgBuF,GAAAA,GAAa,CACvBpB,GAAIP,EAAW,eAAgBD,EAAW,WAAY6C,OAAU3G,GAChEgE,MAAOI,EAAAA,GAA2B4F,EAAqBzC,aAAc,IACrE3B,iBAAkBvG,GAAI+C,iCACtByD,SAAU,MACVC,UAAW,WACXC,SAAW,SAAUC,GACjB,IAAIhC,EAAQgC,EAAQC,OAAOjC,MAC3B+F,EAA6BnG,EAAe,CACtC2D,aAAcvD,EACduE,UAAWyB,EAAqBzB,UAChCf,SAAUwC,EAAqBxC,SAC/BiB,kBAAmBuB,EAAqBvB,kBACxChB,4BAA6BuC,EAAqBvC,6BACjD3D,EAAW6C,EACpB,EACF9G,SAAU,CACRM,EAAAA,IAAeuF,GAAAA,GAAgB/F,KAAM,CAC/BqE,MAAO,GACPnE,SAAU,WAEhBqG,EAAAA,GAAeC,EAAQoB,cAAe,SAAUvD,GACxC,OAAO7D,EAAAA,IAAeuF,GAAAA,GAAgB/F,KAAM,CAChCqE,MAAOA,EACPnE,SAAUmE,GACTA,EACf,QAIhBrD,UAAWtB,GAAIa,QAErBC,EAAAA,KAAgB,MAAO,CACjBN,SAAU,CACRM,EAAAA,IAAeuH,GAAAA,GAA4C,CACrDxH,MAAO,YACPL,SAAUM,EAAAA,IAAe8D,GAAAA,EAAY,CAC/BC,MAAOH,EAAW,YAAaD,EAAW,WAAY6C,OAAU3G,GAChEH,SAAU,gBAGtBM,EAAAA,KAAgBuF,GAAAA,GAAa,CACvBpB,GAAIP,EAAW,YAAaD,EAAW,WAAY6C,OAAU3G,GAC7DgE,MAAOI,EAAAA,GAA2B4F,EAAqBzB,UAAW,IAClE3C,iBAAkBvG,GAAI8C,8BACtB0D,SAAU,MACVC,UAAW,WACXC,SAAW,SAAUC,GACjB,IAAIhC,EAAQgC,EAAQC,OAAOjC,MAC3B+F,EAA6BnG,EAAe,CACtC2D,aAAcyC,EAAqBzC,aACnCgB,UAAWvE,EACXwD,SAAUwC,EAAqBxC,SAC/BiB,kBAAmBuB,EAAqBvB,kBACxChB,4BAA6BuC,EAAqBvC,6BACjD3D,EAAW6C,EACpB,EACF9G,SAAU,CACRM,EAAAA,IAAeuF,GAAAA,GAAgB/F,KAAM,CAC/BqE,MAAO,GACPnE,SAAU,WAEhBqG,EAAAA,GAAeC,EAAQuC,YAAa,SAAU1E,GACtC,OAAO7D,EAAAA,IAAeuF,GAAAA,GAAgB/F,KAAM,CAChCqE,MAAOA,EACPnE,SAAUmE,GACTA,EACf,QAIhBrD,UAAWtB,GAAIa,QAErBC,EAAAA,KAAgB,MAAO,CACjBN,SAAU,CACRM,EAAAA,IAAeuH,GAAAA,GAA4C,CACrDxH,MAAO,qBACPL,SAAUM,EAAAA,IAAe8D,GAAAA,EAAY,CAC/BC,MAAOH,EAAW,WAAYD,EAAW,WAAY6C,OAAU3G,GAC/DH,SAAU,yBAGtBM,EAAAA,KAAgBuF,GAAAA,GAAa,CACvBpB,GAAIP,EAAW,WAAYD,EAAW,WAAY6C,OAAU3G,GAC5DgE,MAAOI,EAAAA,GAA2B4F,EAAqBxC,SAAU,IACjE5B,iBAAkBvG,GAAIgD,sCACtBwD,SAAU,MACVC,UAAW,WACXC,SAAW,SAAUC,GACjB,IAAIhC,EAAQgC,EAAQC,OAAOjC,MAC3B+F,EAA6BnG,EAAe,CACtC2D,aAAcyC,EAAqBzC,aACnCgB,UAAWyB,EAAqBzB,UAChCf,SAAUxD,EACVyE,kBAAmBuB,EAAqBvB,kBACxChB,4BAA6BuC,EAAqBvC,6BACjD3D,EAAW6C,EACpB,EACF9G,SAAU,CACRM,EAAAA,IAAeuF,GAAAA,GAAgB/F,KAAM,CAC/BqE,MAAO,GACPnE,SAAU,WAEhBqG,EAAAA,GAAeC,EAAQ+D,WAAY,SAAUlG,GACrC,OAAO7D,EAAAA,IAAeuF,GAAAA,GAAgB/F,KAAM,CAChCqE,MAAOA,EACPnE,SAAUmE,GACTA,EACf,QAIhBrD,UAAWtB,GAAIa,SAGvBS,UAAWtB,GAAIiE,aAErBnD,EAAAA,IAAe,MAAO,CAChBN,SAAUqG,EAAAA,GAAeC,EAAQgE,gCAAiC,SAAUtB,GACpE,OAAO1I,EAAAA,IAAe2I,GAAAA,GAAmBnJ,KAAM,CACnC2E,GAAIP,EAAW,qBAAuB8E,EAAkB/E,EAAW,WAAY6C,OAAU3G,GACzFU,KAAM,KACNqI,SAAoBC,EAEbgB,EAAqBvB,kBADfQ,GAAAA,GAAkBJ,EAAkBG,IAEjDE,mBAAoB7J,GAAI8J,OACxBpD,SAAW,SAAUC,GACjB,IACIyC,EADUzC,EAAQC,OAAO8C,QACK7C,EAAAA,GAAkB8D,EAAqBvB,kBAAmB,CAACI,IAAqB3C,EAAAA,GAAgB8D,EAAqBvB,mBAAoB,SAAUzE,GAC3K,OAAOA,IAAU6E,CACnB,IACRkB,EAA6BnG,EAAe,CACtC2D,aAAcyC,EAAqBzC,aACnCgB,UAAWyB,EAAqBzB,UAChCf,SAAUwC,EAAqBxC,SAC/BiB,kBAAmBA,EACnBhB,4BAA6BuC,EAAqBvC,6BACjD3D,EAAW6C,EACpB,EACF9G,SAAUM,EAAAA,IAAeuH,GAAAA,GAA4C,CAC/DxH,MAAO2I,EACPhJ,SAAUgJ,KAEfA,GArBS,IAAUG,CAsBlC,IACNrI,UAAWtB,GAAIiE,aAErBnD,EAAAA,IAAe,MAAO,CAChBN,SAAUM,EAAAA,KAAgB,MAAO,CAC3BN,SAAU,CACRM,EAAAA,IAAe8D,GAAAA,EAAY,CACrBC,MAAOH,EAAW,iCAAkCD,EAAW,WAAY6C,OAAU3G,GACrFH,SAAU,mCAEhBM,EAAAA,IAAeyH,GAAAA,EAAe,CACxBtD,GAAIP,EAAW,iCAAkCD,EAAW,WAAY6C,OAAU3G,GAClFgE,MAAOI,EAAAA,GAA2B4F,EAAqBvC,4BAA6B,IACpF9G,UAAWtB,GAAIwI,iCACf9B,SAAW,SAAUC,GACjB,IAAIhC,EAAQgC,EAAQC,OAAOjC,MAC3B+F,EAA6BnG,EAAe,CACtC2D,aAAcyC,EAAqBzC,aACnCgB,UAAWyB,EAAqBzB,UAChCf,SAAUwC,EAAqBxC,SAC/BiB,kBAAmBuB,EAAqBvB,kBACxChB,4BAA6BzD,GAC5BF,EAAW6C,EACpB,KAGVhG,UAAWC,GAAAA,GAAM,CACXvB,GAAIa,MACJb,GAAI2C,cAGhBrB,UAAWtB,GAAIiE,cAGvB3C,UAAWtB,GAAI4D,iBACd0C,OAAOgB,GACtB,IACNxG,EAAAA,IAAe2H,EAAAA,GAAa,CACtBpH,KAAM,KACN2G,MAAO,OACPU,gBAAiB1I,GAAIyB,mBACrBmG,QAAU,SAAUlC,GAChBpB,EAAoB,CACdsB,IAAKrB,EAAcqB,IACnB9B,UAAWS,EAAcT,UACzB3B,eAAgBoC,EAAcpC,eAC9B2D,2BAA4BvB,EAAcuB,2BAC1CC,uBAAwBc,EAAAA,GAAkBtC,EAAcwB,uBAAwB,CAACgF,GAAAA,EAAwEnC,QACzJ5C,cAAezB,EAAcyB,cAC7BC,oBAAqB1B,EAAc0B,oBACnCC,0BAA2B3B,EAAc2B,0BACzCC,mBAAoB5B,EAAc4B,mBAClCC,8BAA+B7B,EAAc6B,+BAC5C3B,EACT,EACFjE,SAAU,qBAGf,KACJM,EAAAA,IAAe+H,EAAAA,GAAsCvI,KAAM,CACtD3B,MAAO,yBACPmK,WAAY3B,EACZD,iBAAmB,WACfA,EAAiBzC,EAAW,uBAC9B,EACFjE,SAAUyG,GAExB,ECnSIjH,GAAMqE,EA8DV,IAAI/D,GA5DJ,SAA2EC,GACzE,IAWI0G,EAXA+C,EAASzJ,EAAMyJ,OACf9C,EAAmB3G,EAAM2G,iBACzBC,EAAoB5G,EAAM4G,kBAC1BL,EAAUvG,EAAMuG,QAChBxC,EAAsB/D,EAAM+D,oBAC5BC,EAAgBhE,EAAMgE,cACtBE,EAAYlE,EAAMkE,UAClBC,EAAanE,EAAMmE,WACnBuF,EAAcD,EAAS,EAAI,EAC3BE,EAAepD,EAAQZ,0BAA0BkE,OACjDY,EAA0BhB,EAASE,EAAe,EAAI,EAAII,GAAAA,EAAeJ,EAAcD,GAuC3F,OArCAhD,EAA4B,UAAtBE,EAAgCN,EAAAA,GAAwBA,EAAAA,GAAiB,EAAGmE,IAA2B,SAAUlD,EAAOpC,GACpH,OAAO5E,EAAAA,IAAe,MAAO,CACjBN,SAAUqG,EAAAA,GAAeA,EAAAA,GAAiBC,EAAQZ,0BAA2BqE,KAAKC,KAAK1C,EAAOmC,GAAcA,IAAe,SAAUgB,GAC7H,OAAOnK,EAAAA,IAAe2I,GAAAA,GAAmBnJ,KAAM,CACnC2E,GAAIP,EAAW,6BAA+BuG,EAA0BxG,OAAW9D,OAAWA,OAAWA,GACzGU,KAAM,KACNqI,SAAoBC,EAEbpF,EAAc2B,0BADR0D,GAAAA,GAAkBqB,EAA0BtB,IAEzDE,mBAAoB7J,GAAI8J,OACxBpD,SAAW,SAAUC,GACjB,IACIT,EADUS,EAAQC,OAAO8C,QACa7C,EAAAA,GAAkBtC,EAAc2B,0BAA2B,CAAC+E,IAA6BpE,EAAAA,GAAgBtC,EAAc2B,2BAA4B,SAAUvB,GAC7L,OAAOA,IAAUsG,CACnB,IACR3G,EAAoB,CACdsB,IAAKrB,EAAcqB,IACnB9B,UAAWS,EAAcT,UACzB3B,eAAgBoC,EAAcpC,eAC9B2D,2BAA4BvB,EAAcuB,2BAC1CC,uBAAwBxB,EAAcwB,uBACtCC,cAAezB,EAAcyB,cAC7BC,oBAAqB1B,EAAc0B,oBACnCC,0BAA2BA,EAC3BC,mBAAoB5B,EAAc4B,mBAClCC,8BAA+B7B,EAAc6B,+BAC5C3B,EACT,EACFjE,SAAUM,EAAAA,IAAeuH,GAAAA,GAA4C,CAC/DxH,MAAOoK,EACPzK,SAAUyK,KAEfA,GA1BS,IAAUtB,CA2BlC,IACNrI,UAAWtB,GAAI4B,kBACd,qBAAuB0E,OAAOwB,GAC7C,IAAM,KACPhH,EAAAA,IAAe+H,EAAAA,GAAsCvI,KAAM,CACtD3B,MAAO,6BACPmK,WAAY3B,EACZD,iBAAmB,WACfA,EAAiBzC,EAAW,4BAC9B,EACFjE,SAAUyG,GAExB,E,YCpDIjH,GAAMqE,EA0VV,IAAI/D,GAxVJ,SAA4EC,GAC1E,IAAIuG,EAAUvG,EAAMuG,QAChBxC,EAAsB/D,EAAM+D,oBAC5BC,EAAgBhE,EAAMgE,cACtBC,EAAwBjE,EAAMiE,sBAC9BC,EAAYlE,EAAMkE,UAClBC,EAAanE,EAAMmE,WACnBwG,EAAkB,SAAU3G,EAAe4G,EAAU1G,EAAW6C,GAClE,IAAI8D,EAAevE,EAAAA,GAAwBtC,EAAcuB,4BAA6B,SAAUyB,EAAK8D,GAC7F,OAAI9D,IAAQD,EACH6D,EAEAE,CAEX,IACN/G,EAAoB,CACdsB,IAAKrB,EAAcqB,IACnB9B,UAAWS,EAAcT,UACzB3B,eAAgBoC,EAAcpC,eAC9B2D,2BAA4BsF,EAC5BrF,uBAAwBxB,EAAcwB,uBACtCC,cAAezB,EAAcyB,cAC7BC,oBAAqB1B,EAAc0B,oBACnCC,0BAA2B3B,EAAc2B,0BACzCC,mBAAoB5B,EAAc4B,mBAClCC,8BAA+B7B,EAAc6B,+BAC5C3B,EACT,EACA,OAAO3D,EAAAA,KAAgB+H,EAAAA,GAA2BvI,KAAM,CAC5C3B,MAAO,+BACP6B,SAAU,CACRqG,EAAAA,GAAwBtC,EAAcuB,4BAA6B,SAAUwB,EAAU6D,GAC/E,IAAI1D,OAAiD9G,IAA1B6D,EAAsCqC,EAAAA,GAAerC,EAAsBsB,2BAA4BwB,QAAY3G,EAC1IgE,EAAQwG,EAASzD,SACjB4D,EAAUH,EAASI,WACvB,OAAOzK,EAAAA,KAAgB,MAAO,CAClBN,SAAU,CACR8G,EAAW,EAAIxG,EAAAA,IAAe6G,GAAAA,GAAc,CACpCrG,UAAWtB,GAAIuC,iBACfqF,QAAU,SAAUlC,GAChB,IAAII,EAA6Be,EAAAA,GAAyBtC,EAAcuB,4BAA6B,SAAU+B,EAAQC,GAC/G,OAAOA,IAAUR,CACnB,IACNhD,EAAoB,CACdsB,IAAKrB,EAAcqB,IACnB9B,UAAWS,EAAcT,UACzB3B,eAAgBoC,EAAcpC,eAC9B2D,2BAA4BA,EAC5BC,uBAAwBxB,EAAcwB,uBACtCC,cAAezB,EAAcyB,cAC7BC,oBAAqB1B,EAAc0B,oBACnCC,0BAA2B3B,EAAc2B,0BACzCC,mBAAoB5B,EAAc4B,mBAClCC,8BAA+B7B,EAAc6B,+BAC5C3B,EACT,EACFjE,SAAUM,EAAAA,IAAeiH,GAAAA,EAAiB,CACpC1G,KAAM,KACN2G,MAAO,gBAEV,KACXlH,EAAAA,KAAgB,MAAO,CACjBN,SAAU,CACRM,EAAAA,KAAgB,MAAO,CACjBN,SAAU,CACRM,EAAAA,IAAe8D,GAAAA,EAAY,CACrBC,MAAOH,EAAW,WAAYD,EAAW,OAAQ6C,OAAU3G,GAC3DmE,OAAQC,EAAAA,GAAgB0C,GAAuB,SAAUtH,GACjD,OAAOA,EAAEuH,QACX,IACNpG,UAAWtB,GAAI6D,SACfrD,SAAU,aAEhBM,EAAAA,IAAemH,GAAAA,GAAgB,CACzBhD,GAAIP,EAAW,WAAYD,EAAW,OAAQ6C,OAAU3G,GACxDgE,WAAiBhE,IAAVgE,EAAsB2B,OAAO3B,GAAS,GAC7CG,OAAQC,EAAAA,GAAgB0C,GAAuB,SAAUtH,GACjD,MAAuB,OAAnBA,EAAEuH,SAASnC,IACN,QAEA,OAEX,IACNjE,UAAWtB,GAAI2D,iBACf+C,SAAW,SAAUC,GACjB,IAAIhC,EAAQgC,EAAQC,OAAOjC,MAC3BuG,EAAgB3G,EAAe,CACzBmD,SAAU/C,EACV6G,gBAAiBL,EAASK,gBAC1BC,aAAcN,EAASM,aACvBF,WAAYJ,EAASI,WACrBG,WAAYP,EAASO,WACrBtC,kBAAmB+B,EAAS/B,mBAC3B3E,EAAW6C,EACpB,KAGVhG,UAAWtB,GAAIa,QAErBC,EAAAA,KAAgB,MAAO,CACjBN,SAAU,CACRM,EAAAA,IAAeuH,GAAAA,GAA4C,CACrDxH,MAAO,mBACPL,SAAUM,EAAAA,IAAe8D,GAAAA,EAAY,CAC/BC,MAAOH,EAAW,mBAAoBD,EAAW,OAAQ6C,OAAU3G,GACnEmE,OAAQC,EAAAA,GAAgB0C,GAAuB,SAAUtH,GACjD,OAAOA,EAAEqL,eACX,IACNlK,UAAWtB,GAAI6D,SACfrD,SAAU,uBAGtBM,EAAAA,KAAgBuF,GAAAA,GAAa,CACvBpB,GAAIP,EAAW,mBAAoBD,EAAW,OAAQ6C,OAAU3G,GAChEgE,MAAOI,EAAAA,GAA2BoG,EAASK,gBAAiB,IAC5D1G,OAAQC,EAAAA,GAAgB0C,GAAuB,SAAUtH,GACjD,MAA8B,OAA1BA,EAAEqL,gBAAgBjG,IACb,QAEA,OAEX,IACNgB,iBAAkBvG,GAAI0D,wBACtB8C,SAAU,MACVC,UAAW,WACXC,SAAW,SAAUC,GACjB,IAAIhC,EAAQgC,EAAQC,OAAOjC,MAC3BuG,EAAgB3G,EAAe,CACzBmD,SAAUyD,EAASzD,SACnB8D,gBAAiB7G,EACjB8G,aAAcN,EAASM,aACvBF,WAAYJ,EAASI,WACrBG,WAAYP,EAASO,WACrBtC,kBAAmB+B,EAAS/B,mBAC3B3E,EAAW6C,EACpB,EACF9G,SAAU,CACRM,EAAAA,IAAeuF,GAAAA,GAAqB/F,KAAM,CACpCE,SAAU,WAEhBqG,EAAAA,GAAeC,EAAQ0E,iBAAkB,SAAU7G,GAC3C,OAAO7D,EAAAA,IAAeuF,GAAAA,GAAgB/F,KAAM,CAChCqE,MAAOA,EACPnE,SAAUmE,GACTA,EACf,QAIhBrD,UAAWtB,GAAIa,QAErBC,EAAAA,KAAgB,MAAO,CACjBN,SAAU,CACRM,EAAAA,IAAeuH,GAAAA,GAA4C,CACrDxH,MAAO,gBACPL,SAAUM,EAAAA,IAAe8D,GAAAA,EAAY,CAC/BC,MAAOH,EAAW,gBAAiBD,EAAW,OAAQ6C,OAAU3G,GAChEH,SAAU,mBAGtBM,EAAAA,KAAgBuF,GAAAA,GAAa,CACvBpB,GAAIP,EAAW,gBAAiBD,EAAW,OAAQ6C,OAAU3G,GAC7DgE,MAAOI,EAAAA,GAA2BoG,EAASM,aAAc,IACzDlF,iBAAkBvG,GAAIoD,yBACtBoD,SAAU,MACVC,UAAW,WACXC,SAAW,SAAUC,GACjB,IAAIhC,EAAQgC,EAAQC,OAAOjC,MAC3BuG,EAAgB3G,EAAe,CACzBmD,SAAUyD,EAASzD,SACnB8D,gBAAiBL,EAASK,gBAC1BC,aAAc9G,EACd4G,WAAYJ,EAASI,WACrBG,WAAYP,EAASO,WACrBtC,kBAAmB+B,EAAS/B,mBAC3B3E,EAAW6C,EACpB,EACF9G,SAAU,CACRM,EAAAA,IAAeuF,GAAAA,GAAqB/F,KAAM,CACpCqL,YAAY,EACZnL,SAAU,WAEhBqG,EAAAA,GAAeC,EAAQ2E,cAAe,SAAU9G,GACxC,OAAO7D,EAAAA,IAAeuF,GAAAA,GAAgB/F,KAAM,CAChCqE,MAAOA,EACPnE,SAAUmE,GACTA,EACf,QAIhBrD,UAAWC,GAAAA,GAAM,CACXvB,GAAIa,MACJb,GAAIkD,kBAGhBpC,EAAAA,IAAe,MAAO,CAChBN,SAAU,KACVc,UAAWtB,GAAImD,sBAErBrC,EAAAA,KAAgB,MAAO,CACjBN,SAAU,CACRM,EAAAA,IAAeuH,GAAAA,GAA4C,CACrDxH,MAAO,cACPL,SAAUM,EAAAA,IAAe8D,GAAAA,EAAY,CAC/BC,MAAOH,EAAW,cAAeD,EAAW,OAAQ6C,OAAU3G,GAC9DmE,OAAQC,EAAAA,GAAgB0C,GAAuB,SAAUtH,GACjD,OAAOA,EAAEoL,UACX,IACN/K,SAAU,kBAGtBM,EAAAA,KAAgB,MAAO,CACjBN,SAAU,CACRM,EAAAA,IAAemH,GAAAA,GAAgB,CACzBhD,GAAIP,EAAW,cAAeD,EAAW,OAAQ6C,OAAU3G,GAC3DgE,WAAmBhE,IAAZ2K,EAAwBhF,OAAOgF,GAAW,GACjDxG,OAAQC,EAAAA,GAAgB0C,GAAuB,SAAUtH,GACjD,MAAyB,OAArBA,EAAEoL,WAAWhG,IACR,QAEA,OAEX,IACNjE,UAAWtB,GAAIwD,uBACfkD,SAAW,SAAUC,GACjB,IAAIhC,EAAQgC,EAAQC,OAAOjC,MACvBsC,EAAgB,KAAVtC,OAAehE,EAAYgE,EACrCuG,EAAgB3G,EAAe,CACzBmD,SAAUyD,EAASzD,SACnB8D,gBAAiBL,EAASK,gBAC1BC,aAAcN,EAASM,aACvBF,WAAYtE,EACZyE,WAAYP,EAASO,WACrBtC,kBAAmB+B,EAAS/B,mBAC3B3E,EAAW6C,EACpB,IAERxG,EAAAA,KAAgBuF,GAAAA,GAAa,CACvBpB,GAAIP,EAAW,cAAeD,EAAW,OAAQ6C,OAAU3G,GAC3DgE,MAAOI,EAAAA,GAA2BoG,EAASO,WAAY,IACvD5G,OAAQC,EAAAA,GAAgB0C,GAAuB,SAAUtH,GACjD,MAAyB,OAArBA,EAAEuL,WAAWnG,IACR,QAEA,OAEX,IACNjE,UAAWtB,GAAIuD,6BACfgD,iBAAkBvG,GAAIsD,uBACtBkD,SAAU,MACVC,UAAW,WACXC,SAAW,SAAUC,GACjB,IAAIhC,EAAQgC,EAAQC,OAAOjC,MAC3BuG,EAAgB3G,EAAe,CACzBmD,SAAUyD,EAASzD,SACnB8D,gBAAiBL,EAASK,gBAC1BC,aAAcN,EAASM,aACvBF,WAAYJ,EAASI,WACrBG,WAAY/G,EACZyE,kBAAmB+B,EAAS/B,mBAC3B3E,EAAW6C,EACpB,EACF9G,SAAU,CACRM,EAAAA,IAAeuF,GAAAA,GAAgB/F,KAAM,CAC/BqE,MAAO,GACPnE,SAAU,KAEhBqG,EAAAA,GAAeC,EAAQ4E,YAAa,SAAU/G,GACtC,OAAO7D,EAAAA,IAAeuF,GAAAA,GAAgB/F,KAAM,CAChCqE,MAAOA,EACPnE,SAAUmE,GACTA,EACf,QAIhBrD,UAAWtB,GAAIqD,8BAGvB/B,UAAWtB,GAAIa,SAGvBS,UAAWtB,GAAIiE,aAErBnD,EAAAA,IAAe,MAAO,CAChBN,SAAUqG,EAAAA,GAAeC,EAAQ8E,yBAA0B,SAAUC,GAC7D,OAAO/K,EAAAA,IAAe2I,GAAAA,GAAmBnJ,KAAM,CACnC2E,GAAIP,EAAW,qBAAuBmH,EAAepH,EAAW,OAAQ6C,OAAU3G,GAClFU,KAAM,KACNqI,SAAoBC,EAEbwB,EAAS/B,kBADHQ,GAAAA,GAAkBiC,EAAelC,IAE9CE,mBAAoB7J,GAAI8J,OACxBpD,SAAW,SAAUC,GACjB,IACIyC,EADUzC,EAAQC,OAAO8C,QACK7C,EAAAA,GAAkBsE,EAAS/B,kBAAmB,CAACyC,IAAkBhF,EAAAA,GAAgBsE,EAAS/B,mBAAoB,SAAUzE,GAChJ,OAAOA,IAAUkH,CACnB,IACRX,EAAgB3G,EAAe,CACzBmD,SAAUyD,EAASzD,SACnB8D,gBAAiBL,EAASK,gBAC1BC,aAAcN,EAASM,aACvBF,WAAYJ,EAASI,WACrBG,WAAYP,EAASO,WACrBtC,kBAAmBA,GAClB3E,EAAW6C,EACpB,EACF9G,SAAUM,EAAAA,IAAeuH,GAAAA,GAA4C,CAC/DxH,MAAOgL,EACPrL,SAAUqL,KAEfA,GAtBS,IAAUlC,CAuBlC,IACNrI,UAAWtB,GAAIiE,cAGvB3C,UAAWtB,GAAI4D,iBACd0C,OAAOgB,GACtB,IACNxG,EAAAA,IAAe2H,EAAAA,GAAa,CACtBpH,KAAM,KACN2G,MAAO,OACPU,gBAAiB1I,GAAIyB,mBACrBmG,QAAU,SAAUlC,GAChBpB,EAAoB,CACdsB,IAAKrB,EAAcqB,IACnB9B,UAAWS,EAAcT,UACzB3B,eAAgBoC,EAAcpC,eAC9B2D,2BAA4Be,EAAAA,GAAkBtC,EAAcuB,2BAA4B,CAACgG,GAAAA,GAA4ElD,QACrK7C,uBAAwBxB,EAAcwB,uBACtCC,cAAezB,EAAcyB,cAC7BC,oBAAqB1B,EAAc0B,oBACnCC,0BAA2B3B,EAAc2B,0BACzCC,mBAAoB5B,EAAc4B,mBAClCC,8BAA+B7B,EAAc6B,+BAC5C3B,EACT,EACFjE,SAAU,oBAIhC,E,WC3UIR,GAAMqE,EAEN0H,GAAY,CACdC,wBAAyB,QACzBrB,qBAAsB,SACtBtD,aAAc,SACd2B,mBAAoB,SACpB9C,0BAA2B,SAC3BC,mBAAoB,SACpB8F,gBAAiB,UAyBnB,IAAIC,GAAcC,EAAAA,EAAc,KAAO,SAAUzG,GACzC,YAAiB/E,IAAb+E,EAAM,QACR,GApBS0G,EAsBQ1G,EAAM,QArB/B2G,EAAAA,GAAeC,EAAAA,GAA+CF,IAAS,SAAUjM,GACzE,GAAc,OAAVA,EAAEoF,IACJ,OAAOgH,EAAAA,GAAmC9N,QAAQ,eAAgB,GAAI,KAExE+N,EAAAA,GAAoB,CACdC,WAAY,0CACZC,cAAuB,EACvB/H,MAAO,YACPgI,SAAU,qDACT,uCAAwC,CACzC,QACAxM,EAAEyM,KAERL,EAAAA,GAAmCzN,MAAM,gDAAiD,GAAI,IAChG,KAfR,IAAmBsN,CAwBb,IAyiBN,IAAI9L,GAniBJ,SAAiDC,GAC/C,IA2WI0G,EA3WA4F,EAAgBtM,EAAMsM,cACtB7C,EAASzJ,EAAMyJ,OACf8C,EAAYvM,EAAMuM,UAClBhG,EAAUvG,EAAMuG,QAChBiG,EAA2BxM,EAAMwM,yBACjCC,EAAQC,EAAAA,UAAe,WAErB,OAAc,IADFF,EAAyB3C,OAE5B2C,EAEA,CAACG,GAAAA,GAA2EtE,QAEvF,IACAuE,EAAoBH,EAAM,GAC1BI,EAAiBJ,EAAM,GACvBK,EAAUJ,EAAAA,UAAe,WACvB,OAAOpG,EAAAA,GAAeuG,GAAiB,SAAU1H,GACnC,OAAOqG,EACT,GACd,IACAuB,EAA+BD,EAAQ,GACvCE,EAA4BF,EAAQ,GACpCG,EAAUP,EAAAA,UAAe,WACvB,MAAO,QACT,IACAQ,EAAoBD,EAAQ,GAC5BE,EAAcF,EAAQ,GACtBG,EAA+B,SAAUC,EAAYC,GACvDxB,EAAAA,GAAeC,EAAAA,GAA4Cc,EAAgBN,IAAa,SAAU3M,GAC1F,GAAc,OAAVA,EAAEoF,IACJ,YAAkB5E,IAAdmM,EACiB,gCAAfc,EACKE,EAAAA,GAAUC,EAAAA,IAEVD,EAAAA,GAAUC,EAAAA,GAA0BC,WAAWC,OAAOpI,EAAAA,GAA0BiH,KAGlFgB,EAAAA,GAAUC,EAAAA,GAA0BC,WAAWE,QAG1D1B,EAAAA,GAAoB,CACdC,WAAY,0CACZC,cAAuB,EACvB/H,MAAO,OACPgI,SAAU,gDACT,cAAe,CAChB,QACAxM,EAAEyM,KAERiB,EAAS,CACHtI,IAAK,kBACLqH,GAAI,oCAEZ,GACR,EAGIuB,EAAe,CACjBrJ,OAAQ,UACRsJ,kBAJmC,GAKnCC,iBAAiB,EACjBC,gBALiC/N,EAAM+N,gBAMvCC,kBAAc5N,GAEZ6N,EAAUC,EAAAA,GAAiBN,GAAe,SAAUO,EAAOC,GACvD,GAAsB,kBAAXA,EACT,OAAQA,GACN,IAAK,WACD,MAAO,CACCpJ,IAAK,SACLqH,GAAI,CACF9H,OAAQ4J,EAAM5J,OACdsJ,kBAAmBvH,EAAAA,GAAeuG,EAAgBF,GAAAA,GAA8E0B,KAChIP,gBAAiBK,EAAML,gBACvBC,gBAAiBI,EAAMJ,gBACvBC,aAAcG,EAAMH,eAGlC,IAAK,iBACD,MAAO,CACChJ,IAAK,SACLqH,GAAI,CACF9H,OAAQ,UACRsJ,kBAAmBM,EAAMN,kBACzBC,iBAAiB,EACjBC,gBAAiBI,EAAMJ,gBACvBC,aAAcG,EAAMH,eAGlC,IAAK,mCACD,MAAO,CACChJ,IAAK,wBACLqH,GAAI,CACF9H,OAAQ4J,EAAM5J,OACdsJ,kBAAmBvH,EAAAA,GAAeuG,GAAiB,SAAU7I,GACrD,MAAO,CACCT,UAAWoJ,GAAAA,GAA8EpJ,UAAUS,GACnGpC,eAAgB,CACdoD,IAAK,KACLqH,QAAIjM,GAENmF,2BAA4B,GAC5BE,cAAe,GAEzB,IACNqI,gBAAiBK,EAAML,gBACvBC,gBAAiBI,EAAMJ,gBACvBC,aAAcG,EAAMH,cAEtBM,GAAK,SAAUnJ,GACX,IAAImI,EAAWnI,EAAMmI,SACrB,GAAIhH,EAAAA,GAAiBnB,EAAMgJ,MAAMN,kBAAmBlB,GAAAA,GAA8E4B,OAChI,YAAkBnO,IAAdmM,EACKa,EAA6B,8BAA+BE,GAE5DxB,EAAAA,GAAeC,EAAAA,GAA+C,aAAc,CACnE/G,IAAK,aACLqH,GAAI,OACH,UAAW,SAAUzM,GACxB,GAAc,OAAVA,EAAEoF,IACJ,OAAOuI,EAAAA,GAAUC,EAAAA,IAEnBvB,EAAAA,GAAoB,CACdC,WAAY,0CACZC,cAAuB,EACvB/H,MAAO,OACPgI,SAAU,gDACT,4DAA6D,CAC9D,QACAxM,EAAEyM,KAERiB,EAAS,CACHtI,IAAK,kBACLqH,GAAI,oCAEZ,GAIlB,QAKhB,OAAQ+B,EAAOpJ,KACb,IAAK,SACD,IAAIqI,EAAae,EAAO/B,GAExB,MAAc,YADF8B,EAAM5J,OAET,CACCS,IAAK,wBACLqH,GAAI,CACF9H,OAAQ4J,EAAM5J,OACdsJ,kBAAmBvH,EAAAA,GAAeuG,EAAgBF,GAAAA,GAA8E0B,KAChIP,gBAAiBK,EAAML,gBACvBC,gBAAiBI,EAAMJ,gBACvBC,aAAcG,EAAMH,cAEtBM,GAAK,SAAUnJ,GACX,GAAImB,EAAAA,GAAiBnB,EAAMgJ,MAAMN,kBAAmBlB,GAAAA,GAA8E4B,OAChI,OAAOnB,EAA6BC,EAAYlI,EAAMmI,SAG1D,GAGH,WAEb,IAAK,oBACD,MAAO,CACCtI,IAAK,wBACLqH,GAAI,CACF9H,OAAQ4J,EAAM5J,OACdsJ,kBAAmBM,EAAMN,kBACzBC,gBAAiBK,EAAML,gBACvBC,gBAAiBK,EAAO/B,GACxB2B,aAAcG,EAAMH,cAEtBM,GAAK,SAAUnJ,GACXA,EAAMmI,SAAS,mCACjB,GAEd,IAAK,kBACD,MAAO,CACCtI,IAAK,SACLqH,GAAI,CACF9H,OAAQ4J,EAAM5J,OACdsJ,kBAAmBM,EAAMN,kBACzBC,gBAAiBK,EAAML,gBACvBC,gBAAiBI,EAAMJ,gBACvBC,aAAcI,EAAO/B,KAMzC,IACFiB,EAAWW,EAAQ,GACnBE,EAAQF,EAAQ,GAChB9J,EAAa,SAAUqK,EAAWtK,EAAWuK,EAAS1H,EAAU5B,GAClE,MAAO,4BAA+BY,OAAO7B,SACrB9D,IAAZqO,EAAwB,IAAMA,EAAU,UAEzBrO,IAAb2G,EAAyB,IAAMhB,OAAOgB,GAAY,IAC/C,KAAOyH,CAC1B,EACIzK,EAAsB,SAAUC,EAAeuD,GACjD,IAAImH,EAAoBpI,EAAAA,GAAwBuG,GAAiB,SAAU7F,EAAK2H,GACxE,OAAI3H,IAAQO,EACHvD,EAEA2K,CAEX,IACN/B,GAAkB,SAAUzH,GACtB,OAAOuJ,CACT,IACJ/C,GAAY,CACNY,EACAmC,GAER,EACI/H,EAAmB,SAAUY,EAAOqH,GACtC,IAAIC,EAAevI,EAAAA,GAAwB0G,GAA4B,SAAUhG,EAAKuB,GAC9E,OAAIhB,IAAUP,EACI,uBAAZ4H,EACK,CACCnD,wBAAyBlD,EAAWkD,wBACpCrB,qBAAsB7B,EAAW6B,qBACjCtD,aAAcyB,EAAWzB,aACzB2B,mBAAoBF,EAAWE,mBAC/B9C,0BAA2B4C,EAAW5C,0BACtCC,mBAAoBkJ,EAAAA,EAAkBvG,EAAW3C,oBACjD8F,gBAAiBnD,EAAWmD,iBAEf,oBAAZkD,EACF,CACCnD,wBAAyBlD,EAAWkD,wBACpCrB,qBAAsB7B,EAAW6B,qBACjCtD,aAAcyB,EAAWzB,aACzB2B,mBAAoBF,EAAWE,mBAC/B9C,0BAA2B4C,EAAW5C,0BACtCC,mBAAoB2C,EAAW3C,mBAC/B8F,gBAAiBoD,EAAAA,EAAkBvG,EAAWmD,kBAEjC,yBAAZkD,EACF,CACCnD,wBAAyBlD,EAAWkD,wBACpCrB,qBAAsB0E,EAAAA,EAAkBvG,EAAW6B,sBACnDtD,aAAcyB,EAAWzB,aACzB2B,mBAAoBF,EAAWE,mBAC/B9C,0BAA2B4C,EAAW5C,0BACtCC,mBAAoB2C,EAAW3C,mBAC/B8F,gBAAiBnD,EAAWmD,iBAEf,8BAAZkD,EACF,CACCnD,wBAAyBlD,EAAWkD,wBACpCrB,qBAAsB7B,EAAW6B,qBACjCtD,aAAcyB,EAAWzB,aACzB2B,mBAAoBF,EAAWE,mBAC/B9C,0BAA2BmJ,EAAAA,EAAkBvG,EAAW5C,2BACxDC,mBAAoB2C,EAAW3C,mBAC/B8F,gBAAiBnD,EAAWmD,iBAEf,uBAAZkD,EACF,CACCnD,wBAAyBlD,EAAWkD,wBACpCrB,qBAAsB7B,EAAW6B,qBACjCtD,aAAcyB,EAAWzB,aACzB2B,mBAAoBqG,EAAAA,EAAkBvG,EAAWE,oBACjD9C,0BAA2B4C,EAAW5C,0BACtCC,mBAAoB2C,EAAW3C,mBAC/B8F,gBAAiBnD,EAAWmD,iBAEf,4BAAZkD,EACF,CACCnD,wBAAyBqD,EAAAA,EAAkBvG,EAAWkD,yBACtDrB,qBAAsB7B,EAAW6B,qBACjCtD,aAAcyB,EAAWzB,aACzB2B,mBAAoBF,EAAWE,mBAC/B9C,0BAA2B4C,EAAW5C,0BACtCC,mBAAoB2C,EAAW3C,mBAC/B8F,gBAAiBnD,EAAWmD,iBAG7B,CACCD,wBAAyBlD,EAAWkD,wBACpCrB,qBAAsB7B,EAAW6B,qBACjCtD,aAAcgI,EAAAA,EAAkBvG,EAAWzB,cAC3C2B,mBAAoBF,EAAWE,mBAC/B9C,0BAA2B4C,EAAW5C,0BACtCC,mBAAoB2C,EAAW3C,mBAC/B8F,gBAAiBnD,EAAWmD,iBAI/BnD,CAEX,IACNwE,GAA6B,SAAU5H,GACjC,OAAO0J,CACT,GACN,EAqBIE,EAA4B,CAC9B,SAJgC,SAAU5J,GAhB1C2G,EAAAA,GAAeC,EAAAA,MAA8B,SAAUnM,GAC/C,MAAc,OAAVA,EAAEoF,IACGuI,EAAAA,GAAUC,EAAAA,IAEVvB,EAAAA,GAAoB,CACfC,WAAY,0CACZC,cAAuB,EACvB/H,MAAO,OACPgI,SAAU,gDACT,+BAAgC,CACjC,QACAxM,EAAEyM,IAGlB,GAIR,EAIE,WAEE2C,EAAwBtC,EAAAA,SAAe,WACnC,MAAO,MACetM,IAAdmM,EAA0B,gBAAkB,OAC3C,WAEG,MAAc,aADF4B,EAAMJ,gBAETT,EAAS,CACJtI,IAAK,SACLqH,GAAI,gBAGTa,GAAkB,SAAU/H,GACvB,OAAO2J,EAAAA,EAAkB3B,EAC3B,GAEd,EACF,UAEV,GAAI,CACJZ,EACA4B,EAAMJ,kBAERkB,EAAiCvC,EAAAA,SAAe,WAE5C,GAAc,aADFyB,EAAMJ,iBAC4B,UAAlBzB,EAC1B,MAAO,CACC,0BACC,WACGgB,EAAS,mCACX,EAId,GAAI,CAACa,EAAMJ,kBAkBjB,OAhBArH,EAAsB,UAAhByG,EAA0B5M,EAAAA,IAAe2O,EAAAA,EAA2B,CAClEC,MAAQ,WACJjC,GAAkB,SAAU/H,GACtB,OAAO2J,EAAAA,EAAkB3B,EAC3B,GACN,EACFiC,SAAW,WACP9B,EAAS,CACHtI,IAAK,oBACLqH,GAAI,aAEVkB,EAAAA,GAAUC,EAAAA,GAA0B6B,MACtC,EACFC,YAAatP,EAAMsP,YACnBC,SAAU,0DACP,KACJhP,EAAAA,KAAgBiP,EAAAA,GAAwBzP,KAAM,CACzCE,SAAU,CACRM,EAAAA,KAAgBiP,EAAAA,GAAsBzP,KAAM,CACtCE,SAAU,MACMG,IAAdmM,EAA0BhM,EAAAA,KAAgBA,EAAAA,SAAqB,CACvDN,SAAU,CACRM,EAAAA,IAAeiP,EAAAA,GAAiBzP,KAAM,CAChCE,SAAU,iBAEhBM,EAAAA,IAAeiP,EAAAA,GAAiBzP,KAAM,CAChCE,SAAU,qCAGfM,EAAAA,KAAgBA,EAAAA,SAAqB,CACxCN,SAAU,CACRM,EAAAA,IAAe,MAAO,CAChBN,SAAUM,EAAAA,IAAeiP,EAAAA,GAAiBzP,KAAM,CAC1CE,SAAU,0CAEhBc,UAAWtB,GAAIkE,2BAErBpD,EAAAA,IAAeiP,EAAAA,GAAiBzP,KAAM,CAChCE,SAAU,uDAI1BM,EAAAA,IAAe,MAAO,CAChBN,SAAU,iLACVc,UAAWtB,GAAIgE,aAErB6C,EAAAA,GAAwBuG,GAAiB,SAAU3I,EAAWF,GACtD,IAII0C,EAJA+I,EAA6BnJ,EAAAA,GAAkB0G,EAA2B9I,GAC1ED,EAAwBqC,EAAAA,GAAe6H,EAAMN,kBAAmB3J,GAChEuI,EAAQI,EAAehD,OA+E3B,OA5EAnD,EAAkB,UAFJ+I,EAA2BhE,wBAEblL,EAAAA,KAAgBA,EAAAA,SAAqB,CACzDN,SAAU,CACRM,EAAAA,IAAemP,GAAwD,CACjEvL,WAAYA,EACZD,UAAWA,EACXD,sBAAuBA,EACvBD,cAAeA,EACfD,oBAAqBA,EACrBwC,QAASA,IAEfhG,EAAAA,IAAeoP,GAAyE,CAClFxL,WAAYA,EACZD,UAAWA,EACXD,sBAAuBA,EACvBD,cAAeA,EACfD,oBAAqBA,EACrBwC,QAASA,IAEfhG,EAAAA,IAAeqP,GAAmE,CAC5EzL,WAAYA,EACZD,UAAWA,EACXF,cAAeA,EACfD,oBAAqBA,EACrBwC,QAASA,EACTK,kBAAmB6I,EAA2BrF,qBAC9CzD,iBAAkBA,IAExBpG,EAAAA,IAAesP,GAA2D,CACpE1L,WAAYA,EACZD,UAAWA,EACXD,sBAAuBA,EACvBD,cAAeA,EACfD,oBAAqBA,EACrBwC,QAASA,EACTK,kBAAmB6I,EAA2B3I,aAC9CH,iBAAkBA,IAExBpG,EAAAA,IAAeuP,GAAiE,CAC1E3L,WAAYA,EACZD,UAAWA,EACXF,cAAeA,EACfD,oBAAqBA,EACrBwC,QAASA,EACTK,kBAAmB6I,EAA2BhH,mBAC9C9B,iBAAkBA,IAExBpG,EAAAA,IAAewP,GAAwE,CACjF5L,WAAYA,EACZD,UAAWA,EACXF,cAAeA,EACfD,oBAAqBA,EACrBwC,QAASA,EACTK,kBAAmB6I,EAA2B9J,0BAC9CgB,iBAAkBA,EAClB8C,OAAQA,IAEdlJ,EAAAA,IAAeyP,GAAiE,CAC1E7L,WAAYA,EACZD,UAAWA,EACXF,cAAeA,EACfD,oBAAqBA,EACrBwC,QAASA,EACTK,kBAAmB6I,EAA2B7J,mBAC9Ce,iBAAkBA,EAClB8C,OAAQA,IAEdlJ,EAAAA,IAAe0P,GAA8D,CACvE9L,WAAYA,EACZD,UAAWA,EACXF,cAAeA,EACfD,oBAAqBA,EACrB6C,kBAAmB6I,EAA2B/D,gBAC9C/E,iBAAkBA,OAGvB,KACJpG,EAAAA,IAAe+H,EAAAA,GAAyB,CACnClK,MAAOuO,GAAAA,GAA2EvO,MAAM4F,GACxFuE,WAAYkH,EAA2BhE,wBACvC9E,iBAAmB,WACfA,EAAiBzC,EAAW,0BAC9B,EACFgM,cAAyB,IAAVzD,EAAe,WACxB,IAAI0D,EAAqB7J,EAAAA,GAAyBuG,GAAiB,SAAUvF,EAAQC,GAC7E,OAAOA,IAAUrD,CACnB,IACN0I,GAAkB,SAAUzH,GACtB,OAAOgL,CACT,IACJxE,GAAY,CACNY,EACA4D,GAER,OAAK/P,EACTH,SAAUyG,GACT1C,EAAcqB,IAC7B,IACN9E,EAAAA,IAAe2H,EAAAA,GAAa,CACtBpH,KAAM,KACN2G,MAAO,OACPU,gBAAiB1I,GAAIwB,wBACrBoG,QAAU,SAAUlC,GAChByH,GAAkB,SAAUzH,GACtB,OAAOmB,EAAAA,GAAkBuG,EAAgB,CAACF,GAAAA,GAA2EtE,SACvH,IACJ0E,GAA6B,SAAU5H,GACjC,OAAOmB,EAAAA,GAAkB0G,EAA2B,CAACxB,IACvD,GACN,EACFvL,SAAU,+CAIxBM,EAAAA,IAAe6P,EAAAA,GAA8B,CACvCC,UAAW,cACXrC,aAAcG,EAAMH,aACpBsC,SAAU,CACRtL,IAAK,kCACLtC,KAAMsM,EACNuB,SAAUxB,EACVyB,cAAevB,GAEjBxF,OAAQA,IAEdlJ,EAAAA,IAAejC,EAAAA,GAA0C,CAAC,GAC1DoI,IAGhB,EC/jBA,IAAI8E,GAlCJ,SAAmExL,GACjE,IAAIuE,EAASvE,EAAMuE,OACfkM,EAAezQ,EAAMyQ,aACrBlE,EAAYvM,EAAMuM,UAClBhG,EAAUvG,EAAMuG,QAChBiG,EAA2BxM,EAAMwM,yBACjCkE,EAAiBhE,EAAAA,SAAe,WAC5B,OAAOiE,EAAAA,EAAsBF,EAC/B,GAAI,CAACA,IACPG,EAAclE,EAAAA,SAAe,WACzB,OAAOlI,EAAAA,GAA8B,MAAb+H,OAAqBnM,EAAYkF,EAAAA,GAAiBiH,IAAa,SAAU5H,GACnF,OAAOA,CACT,GACd,GAAI,CAAC4H,IACPsE,EAA6BnE,EAAAA,SAAe,WACxC,OAAOpG,EAAAA,GAAeA,EAAAA,GAAekG,EAA0BsE,EAAAA,IAAiCnE,GAAAA,GAA2EoE,4BAC7K,GAAI,CAACvE,IACPwE,EAAYtE,EAAAA,SAAe,WACvB,OAAOuE,EAAAA,GAA0CC,SAAS3K,EAC5D,GAAI,CAACA,IACP+F,EAAgBI,EAAAA,SAAe,WAC3B,OAAOyE,EAAAA,GAAexR,WAAW4E,EACnC,GAAI,CAACA,IACX,OAAOhE,EAAAA,IAAe6Q,GAA8C,CACxD5E,yBAA0BqE,EAC1BtK,QAASyK,EACTzE,UAAWqE,EACXnH,OAAQiH,EAAejH,OACvBsE,gBAAiB2C,EAAe3C,gBAChCuB,YAAatP,EAAMqR,cAAc/B,YACjChD,cAAeA,GAE7B,E,oYCxCA,IAQMgF,IAAmDC,EAAAA,EAAAA,IACvD,MATyB,SAAAjE,GAAQ,MAAK,CACtC+D,cAAe,CACb/B,YAAa,SAAAkC,GACXlE,GAASgC,EAAAA,EAAAA,GAAYkC,GACvB,GAEH,GAEwDD,CAGvDH,IAEF,kBAAeK,GAAA,IAAGC,EAAOD,EAAPC,QAAY1R,EAAK2R,GAAAF,EAAAG,IAAA,OACjClF,EAAAA,cAACmF,EAAAA,EAAa,KACZnF,EAAAA,cAAC4E,GAAgDQ,OAAAC,OAAA,GAAK/R,EAAK,CAAEyQ,aAAciB,KAE9E,C,8HCnBGM,E,SAAUC,GAAY,CAAC,GAQvBC,GANIF,EAAQG,EAEPH,EAAQI,GAEJJ,EAAQK,OAEPL,EAAQE,S,GAEPF,EAAQd,SAENc,EAAQM,WAEbN,EAAQO,MAERP,EAAQQ,M,kBCPhBN,EAAUO,EAAAA,IAAmC,SAAUnS,GACrD,MAAO,CACCoE,GAAIpE,EAAMgD,SAAS,KAAMoP,GACzBtU,MAAOkC,EAAMgD,SAAS,QAASmP,EAAAA,IAC/BE,YAAarS,EAAMgD,SAAS,cAAemP,EAAAA,IAC3CG,SAAUtS,EAAMgD,SAAS,WAAYmP,EAAAA,IACrClO,OAAQjE,EAAMgD,SAAS,SAAU6N,EAAAA,GAAee,SAChDW,eAAgBvS,EAAMgD,SAAS,iBAAkBmP,EAAAA,GAAmCA,EAAAA,KACpFK,eAAgBxS,EAAMgD,SAAS,iBAAkBmP,EAAAA,GAAmCA,EAAAA,KACpFM,eAAgBzS,EAAMgD,SAAS,iBAAkBmP,EAAAA,GAAmCA,EAAAA,KACpFlP,UAAWjD,EAAMgD,SAAS,YAAa0P,EAAAA,GAAad,SACpDe,QAAS3S,EAAMgD,SAAS,UAAW0P,EAAAA,GAAad,SAChDgB,QAAS5S,EAAMgD,SAAS,UAAWmP,EAAAA,IACnCU,aAAc7S,EAAMgD,SAAS,eAAgBmP,EAAAA,IAC7CW,oBAAqB9S,EAAMgD,SAAS,sBAAuBmP,EAAAA,IAC3DY,oBAAqB/S,EAAMgD,SAAS,sBAAuBmP,EAAAA,IAC3Da,cAAehT,EAAMgD,SAAS,gBAAiBmP,EAAAA,IAC/Cc,cAAejT,EAAMgD,SAAS,gBAAiBmP,EAAAA,IAC/Ce,UAAWlT,EAAMgD,SAAS,YAAa0P,EAAAA,GAAad,SACpDuB,UAAWnT,EAAMgD,SAAS,YAAa0P,EAAAA,GAAad,SACpDwB,MAAOpT,EAAMgD,SAAS,QAAS6N,EAAAA,GAAce,SAC7CyB,SAAUrT,EAAMgD,SAAS,WAAYmP,EAAAA,GAAkCmB,EAAAA,KACvEC,UAAWvT,EAAMgD,SAAS,YAAamP,EAAAA,GAAkCtB,EAAAA,GAAmBe,UAC5F1F,yBAA0BlM,EAAMgD,SAAS,2BAA4BmP,EAAAA,GAAkC3B,EAAAA,KACvGxG,UAAWhK,EAAMgD,SAAS,YAAamP,EAAAA,GAAkCqB,EAAAA,KACzEC,UAAWzT,EAAMgD,SAAS,YAAamP,EAAAA,GAAkCuB,EAAAA,KAEnF,IAEJ,SAAS9C,EAAS+C,GAChB,OAAOC,EAAAA,GAAmBC,EAAAA,GAA4BF,EAAM/B,GAC9D,CAEA,IAAIkC,EAAY3B,EAAAA,IAAmC,SAAUnS,GACvD,MAAO,CACCmG,MAAOnG,EAAMgD,SAAS,QAASmP,EAAAA,IAC/BrO,MAAO9D,EAAMgD,SAAS,QAASmP,EAAAA,IAEzC,IAMJ,IAAI4B,EAAiB,CACnBnC,QAASkC,EACTlD,SANF,SAAoB+C,GAClB,OAAOC,EAAAA,GAAmBC,EAAAA,GAA4BF,EAAMG,GAC9D,GAOIE,EAAY7B,EAAAA,IAAmC,SAAUnS,GACvD,MAAO,CACCkG,gBAAiBlG,EAAMgD,SAAS,kBAAmBmP,EAAAA,GAAkC2B,IACrFnJ,gBAAiB3K,EAAMgD,SAAS,kBAAmBmP,EAAAA,GAAkCA,EAAAA,KACrFvH,aAAc5K,EAAMgD,SAAS,eAAgBmP,EAAAA,GAAkCA,EAAAA,KAC/EtH,WAAY7K,EAAMgD,SAAS,aAAcmP,EAAAA,GAAkCA,EAAAA,KAC3EpH,wBAAyB/K,EAAMgD,SAAS,0BAA2BmP,EAAAA,GAAkCA,EAAAA,KACrG9K,aAAcrH,EAAMgD,SAAS,eAAgBmP,EAAAA,GAAkCA,EAAAA,KAC/E3J,WAAYxI,EAAMgD,SAAS,aAAcmP,EAAAA,GAAkCA,EAAAA,KAC3EnI,UAAWhK,EAAMgD,SAAS,YAAamP,EAAAA,GAAkCA,EAAAA,KACzElI,+BAAgCjK,EAAMgD,SAAS,iCAAkCmP,EAAAA,GAAkCA,EAAAA,KACnH1K,sBAAuBzH,EAAMgD,SAAS,wBAAyBmP,EAAAA,GAAkCA,EAAAA,KACjGzJ,8BAA+B1I,EAAMgD,SAAS,gCAAiCmP,EAAAA,GAAkCA,EAAAA,KACjH1J,eAAgBzI,EAAMgD,SAAS,iBAAkBmP,EAAAA,GAAkCA,EAAAA,KACnF9M,0BAA2BrF,EAAMgD,SAAS,4BAA6BmP,EAAAA,GAAkCA,EAAAA,KACzG7I,mBAAoBtJ,EAAMgD,SAAS,qBAAsBmP,EAAAA,GAAkCA,EAAAA,KAErG,IAMJ,IAAI8B,EAAuB,CACzBF,eAAgBA,EAChBnC,QAASoC,EACTpD,SAPF,SAAoB+C,GAClB,OAAOC,EAAAA,GAAmBC,EAAAA,GAA4BF,EAAMK,GAC9D,E,4UClFW9V,EAAS,yBACTkD,EAAY,4BACZ8S,EAAwB,wCACxB/V,EAAO,uBACPC,EAAa,6BACbC,EAAO,uBACPC,EAAO,uBACPC,EAAO,uBACPC,EAAO,uBACPC,EAAO,uBACP0V,EAAiB,iCACjBC,EAAe,+BACfC,EAAgB,gCAChBC,EAAc,8BACdrV,EAAM,sBACNM,EAAU,0BACVgV,EAAU,0B,WCXjBpV,EAAMqV,EAEV,SAASC,EAAYnV,GACnB,OAAQA,GACN,IAAK,MACD,OAAOH,EAAImV,YACf,IAAK,SACD,OAAOnV,EAAIgV,eACf,IAAK,OACD,OAAOhV,EAAIiV,aACf,IAAK,QACD,OAAOjV,EAAIkV,cAGnB,CAkDA,IAAI5U,EA5CJ,SAAiBC,GACf,IAAIC,EAAWD,EAAMC,SACjB+U,EAAiBhV,EAAMY,aACvBqU,EAA0BjV,EAAMW,sBAChCuU,EAAclV,EAAMe,UACpBoU,EAAanV,EAAMoV,SACnB1Q,EAAK1E,EAAM0E,GAEX3D,OAA4BX,IAAhB8U,EAA4BA,EAAc,GACtDvU,OAAoDP,IAA5B6U,EAAwCA,EAA0B,GAC1FrU,OAAkCR,IAAnB4U,GAA+BA,EAClD,YAJ8B5U,IAAf+U,GAA2BA,EAKjC5U,EAAAA,IAAe,MAAO,CACjBN,SAAUA,EACVc,UAAWC,EAAAA,GAAM,CACXvB,EAAIoV,QACJ9T,MAIXR,EAAAA,KAAgB,MAAO,CAClBN,SAAU,CACRA,EACAM,EAAAA,IAAe,MAAO,CAChBN,SAAUM,EAAAA,IAAe,MAAO,CAC1BN,SAAUD,EAAMS,QAChBM,UAAWtB,EAAII,UAErBkB,UAAWC,EAAAA,GAAM,CACXJ,EAAenB,EAAI+U,sBAAwB/U,EAAIiC,UAC/CqT,EAAY/U,EAAMU,UAClBC,OAIdI,UAAWC,EAAAA,GAAM,CACXvB,EAAIoV,QACJ9T,IAEN2D,QAAWtE,IAAPsE,EAAmBA,EAAK,IAG5C,C,0DCvCA,IAAI3E,EAxBJ,SAAyBC,GACvB,IAAIqV,EAAUrV,EAAM5B,MAChBA,OAAoBgC,IAAZiV,EAAwBA,EAAU,OAC9C,OAAO9U,EAAAA,IAAe+U,EAAAA,GAAW,CACrBlX,MAAOA,EACP0C,KAAMd,EAAMc,KACZC,UAAWf,EAAMe,UACjBd,SAAUM,EAAAA,KAAgB,IAAK,CACzBN,SAAU,CACRM,EAAAA,IAAe,OAAQ,CACjBgV,EAAG,kCACHC,KAAM,YAEZjV,EAAAA,IAAe,OAAQ,CACjBgV,EAAG,qYACHC,KAAM,aAGdA,KAAM,OACNC,SAAU,aAG9B,C,kDCvBA,SAASC,EAAeC,EAASC,GAC/B,IAAIC,OAAmBzV,IAAZuV,EAAwBA,EAAU,IACzCG,EAAU,CACZC,cAAU3V,GAER4V,EAAU,CACZD,cAAU3V,GAER6V,EAAe,CACjBF,cAAU3V,GAsBR8V,EAAe,WACjB,IAAIC,EAAYL,EAAQC,cACN3V,IAAd+V,GACFC,aAAa,KAA0BD,IAEzC,IAAIE,EAAoB,EAAbvR,KAAKwR,MAChB,OA1Be,SAAUD,GACzB,IAAIE,EAAiBN,EAAaF,SAClC,QAAuB3V,IAAnBmW,EACF,OAAO,EAET,IAAIC,EAAoBH,EAAOE,EAAiB,EAChD,OAAIC,GAAqBX,GAGhBW,EAAoB,CAE/B,CAeMC,CAAWJ,GACNK,SAEPZ,EAAQC,SAAW,KAAiBY,WAAWT,EAjB/B,SAAUG,GAC5B,IAAIE,EAAiBN,EAAaF,SAClC,YAAuB3V,IAAnBmW,EACKV,EAGFA,GADiBQ,EAAOE,EAAiB,GACd,CACpC,CAUiEK,CAAcP,KAG/E,EACIK,EAAO,WACT,IAAI9W,EAAIoW,EAAQD,SAChB,YAAU3V,IAANR,GACFoW,EAAQD,cAAW3V,EACnB0V,EAAQC,cAAW3V,EACZwV,EAAG,KAA0BhW,UAEpCkW,EAAQC,cAAW3V,EAGvB,EAUIyW,EAAS,WACX,IAAIC,EAAYhB,EAAQC,SACxB,QAAkB3V,IAAd0W,EAKF,OAJAV,aAAa,KAA0BU,IACvChB,EAAQC,cAAW3V,EACnB4V,EAAQD,cAAW3V,OACnB6V,EAAaF,cAAW3V,EAI5B,EAKA,MAAO,CACC2W,OALK,SAAUnX,GACrBiX,IACAjB,EAAGhW,EACL,EAGQoX,SA1BO,SAAUpX,GACvB,IAAIyW,EAAoB,EAAbvR,KAAKwR,MAChBN,EAAQD,SAAW,KAAiBnW,GACpCqW,EAAaF,SAAWM,EACxBP,EAAQC,SAAW,KAAiBY,WAAWT,EAAcL,GAC/D,EAsBQoB,UArBQ,WACd,YAA4B7W,IAArB0V,EAAQC,QACjB,EAoBQc,OAAQA,EAElB,CAEA,SAAS9W,EAAK8V,EAAMD,GAClB,OAAOF,EAAeG,EAAMD,GAAIoB,QAClC,C,kBC1FA,SAASE,EAAItX,EAAGuX,GACd,GAAU,IAANA,EACF,KAAM,CACAC,UAAW,mBACXC,MAAO,IAAIA,OAGnB,OAAOzX,EAAIuX,EAAI,CACjB,CAEA,SAASG,EAAK1X,EAAGuX,GACf,GAAU,IAANA,EACF,KAAM,CACAC,UAAW,mBACXC,MAAO,IAAIA,OAGnB,OAAOzX,EAAIuX,CACb,C","sources":["webpack://datacenters/./client/app/rescript/bindings/Notification.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/_components/UserColocationRfpProjectWizardTooltip/UserColocationRfpProjectWizardTooltip.scss?aeb9","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/_components/UserColocationRfpProjectWizardTooltip/UserColocationRfpProjectWizardTooltip.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-colocation-rfp-project-configuration/CreateColocationRfpProjectConfiguration.scss?772f","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-colocation-rfp-project-configuration/CreateColocationRfpProjectConfiguration_BasicInfo.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-colocation-rfp-project-configuration/CreateColocationRfpProjectConfiguration_CrossConnect.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-colocation-rfp-project-configuration/CreateColocationRfpProjectConfiguration_AdditionalNotes.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-colocation-rfp-project-configuration/CreateColocationRfpProjectConfiguration_CloudDirectConnect.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-colocation-rfp-project-configuration/CreateColocationRfpProjectConfiguration_DatecenterFeatures.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-colocation-rfp-project-configuration/CreateColocationRfpProjectConfiguration_InternetConnectivity.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-colocation-rfp-project-configuration/CreateColocationRfpProjectConfiguration_CertificationRequirements.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-colocation-rfp-project-configuration/CreateColocationRfpProjectConfiguration_RackTypesAndPowerDensities.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-colocation-rfp-project-configuration/CreateColocationRfpProjectConfiguration.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-colocation-rfp-project-configuration/CreateColocationRfpProjectConfiguration__JsBridge.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-colocation-rfp-project-configuration/index.js","webpack://datacenters/./client/app/rescript/models/ColocationRfpProjectId.res.js","webpack://datacenters/./client/app/rescript/models/ColocationRfpProject.res.js","webpack://datacenters/./client/app/rescript/styleguide/components/Tooltip/Tooltip.scss?5fb2","webpack://datacenters/./client/app/rescript/styleguide/components/Tooltip/Tooltip.res.js","webpack://datacenters/./client/app/rescript/styleguide/icons/IconHelpTooltip.res.js","webpack://datacenters/./node_modules/rescript-debounce/src/Debounce.res.js","webpack://datacenters/./node_modules/rescript/lib/es6/caml_int32.js"],"sourcesContent":["// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as ReactNotifications from \"react-notifications\";\n\nvar Container = {};\n\nfunction success(message, title, timeout) {\n  ReactNotifications.NotificationManager.success(message, title, timeout);\n}\n\nfunction error(message, title, timeout) {\n  ReactNotifications.NotificationManager.error(message, title, timeout);\n}\n\nvar NotificationManager = {\n  success: success,\n  error: error\n};\n\nvar Manager = {};\n\nexport {\n  Container ,\n  NotificationManager ,\n  Manager ,\n}\n/* react-notifications Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var column = \"UserColocationRfpProjectWizardTooltip__column__BUG2w\";\nexport var flex = \"UserColocationRfpProjectWizardTooltip__flex__pB_8s\";\nexport var flexColumn = \"UserColocationRfpProjectWizardTooltip__flexColumn__AuEKn\";\nexport var gap1 = \"UserColocationRfpProjectWizardTooltip__gap1__PTGfM\";\nexport var gap2 = \"UserColocationRfpProjectWizardTooltip__gap2__iL7J1\";\nexport var gap3 = \"UserColocationRfpProjectWizardTooltip__gap3___4IHO\";\nexport var gap4 = \"UserColocationRfpProjectWizardTooltip__gap4__t3I7x\";\nexport var gap5 = \"UserColocationRfpProjectWizardTooltip__gap5___CxWo\";\nexport var icon = \"UserColocationRfpProjectWizardTooltip__icon__xZmWl\";\nexport var iconCenterLeftTooltip = \"UserColocationRfpProjectWizardTooltip__iconCenterLeftTooltip__TA3v2\";\nexport var iconCenterRightTooltip = \"UserColocationRfpProjectWizardTooltip__iconCenterRightTooltip__ZMWvB\";\nexport var iconFineRightTooltip = \"UserColocationRfpProjectWizardTooltip__iconFineRightTooltip__r7IEQ\";\nexport var iconLeftTooltip = \"UserColocationRfpProjectWizardTooltip__iconLeftTooltip__GcLIO\";\nexport var iconRightTooltip = \"UserColocationRfpProjectWizardTooltip__iconRightTooltip__DOoVJ\";\nexport var info = \"UserColocationRfpProjectWizardTooltip__info__fQ1gd\";\nexport var row = \"UserColocationRfpProjectWizardTooltip__row__rDDaN\";\nexport var tooltipPositionContainer = \"UserColocationRfpProjectWizardTooltip__tooltipPositionContainer__QwyVH\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as Tooltip from \"../../../../../styleguide/components/Tooltip/Tooltip.res.js\";\nimport * as IconHelpTooltip from \"../../../../../styleguide/icons/IconHelpTooltip.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as UserColocationRfpProjectWizardTooltipScss from \"./UserColocationRfpProjectWizardTooltip.scss\";\n\nvar css = UserColocationRfpProjectWizardTooltipScss;\n\nfunction fromString(x) {\n  switch (x) {\n    case \"Bandwidth\" :\n        return \"Bandwidth\";\n    case \"Burstable\" :\n        return \"Burstable\";\n    case \"Business Contact Name\" :\n        return \"BusinessContactName\";\n    case \"Cloud Direct Connects\" :\n        return \"CloudDirectConnects\";\n    case \"Cloud Direct Connects Bandwidth\" :\n        return \"CloudDirectConnectsBandwidth\";\n    case \"Cloud Direct Connects Burstable\" :\n        return \"CloudDirectConnectsBurstable\";\n    case \"Cloud Direct Connects Interconnect\" :\n        return \"CloudDirectConnectsInterconnect\";\n    case \"Cloud Direct Connects MPLS\" :\n        return \"MPLS\";\n    case \"Cloud Direct Connects Point to Point\" :\n        return \"PointToPoint\";\n    case \"Cloud Direct Connects SD-WAN\" :\n        return \"SDWAN\";\n    case \"Cloud Direct Connects VPN\" :\n        return \"VPN\";\n    case \"Cloud Platform\" :\n        return \"CloudPlatform\";\n    case \"Colocation space\" :\n        return \"ColocationSpace\";\n    case \"Crash Carts\" :\n        return \"CrashCarts\";\n    case \"Cross Connects\" :\n        return \"CrossConnects\";\n    case \"Cross Connects Interconnect\" :\n        return \"CrossConnectsInterconnect\";\n    case \"Cross Connects Preferred Provider\" :\n        return \"CrossConnectsPreferredProvider\";\n    case \"Deep Racks (>42\\\")\" :\n        return \"DeepRacks\";\n    case \"FEDRAMP Compliant\" :\n        return \"FEDRAMPCompliant\";\n    case \"FISMA Compliant\" :\n        return \"FISMACompliant\";\n    case \"HIPAA Compliant\" :\n        return \"HIPAACompliant\";\n    case \"Hourly Remote Hands\" :\n        return \"RemoteHands\";\n    case \"IPv4 Addresses\" :\n        return \"IPv4Address\";\n    case \"IPv6 Addresses\" :\n        return \"IPv6Address\";\n    case \"Interconnect\" :\n        return \"Interconnect\";\n    case \"Load Ramping\" :\n        return \"LoadRamping\";\n    case \"Managed Firewall\" :\n        return \"ManagedFirewall\";\n    case \"Managed Services\" :\n        return \"ManagedServices\";\n    case \"NIST Compliant\" :\n        return \"NISTCompliant\";\n    case \"Onsite Parking\" :\n        return \"OnsiteParking\";\n    case \"PCI DSS 3.2 Validation\" :\n        return \"PCIDSS\";\n    case \"PDU Provided\" :\n        return \"PduProvided\";\n    case \"Power circuit\" :\n        return \"PowerCircuit\";\n    case \"Preferred Provider\" :\n        return \"PreferredProvider\";\n    case \"Redundant Circuits\" :\n        return \"RedundantCircuits\";\n    case \"Roof Rights\" :\n        return \"RoofRights\";\n    case \"SOC 3 Compliant\" :\n        return \"SOC3Compliant\";\n    case \"SSAE 16 SOC 1 Type 1 Compliant\" :\n    case \"SSAE 16 SOC 1 Type 2 Compliant\" :\n        return \"SSAE16\";\n    case \"SSAE 18 SOC 1 Type 1 Compliant\" :\n        return \"SOC1Type1\";\n    case \"SSAE 18 SOC 1 Type 2 Compliant\" :\n        return \"SOC1Type2\";\n    case \"Secure Storage Area\" :\n        return \"SecureStorage\";\n    case \"Shelving Units\" :\n        return \"ShelvingUnits\";\n    case \"Staging Area\" :\n        return \"StagingArea\";\n    case \"Submetered Power\" :\n        return \"SubmeteredPower\";\n    case \"Total Power\" :\n        return \"TotalPower\";\n    case \"Wide Racks (>24\\\")\" :\n        return \"WideRacks\";\n    default:\n      return \"Default\";\n  }\n}\n\nfunction tooltip(x) {\n  if (x === \"PCIDSS\") {\n    return \"PCI Data Security Standard is for safe handling customer account data such as credit cards.\";\n  } else if (x === \"ShelvingUnits\") {\n    return \"Metal shelves that attach to racks for tower servers or hardware not rack mountable.\";\n  } else if (x === \"PowerCircuit\") {\n    return \"Denoted by Amps (A) and Volts (V). If unsure, skip ahead to the total power field.\";\n  } else if (x === \"TotalPower\") {\n    return \"Total power utilization of your IT equipment. Kilowatts (kW), kilovolt-amp (kVA) or megawatts (MW).\";\n  } else if (x === \"PduProvided\") {\n    return \"Power strip used to plug in servers, routers, switches and other IT hardware.\";\n  } else if (x === \"RedundantCircuits\") {\n    return \"Primary and secondary power feed for additional redundancy capabilities.\";\n  } else if (x === \"ManagedFirewall\") {\n    return \"Protects IT equipment and applications from vulnerabilities and attacks.\";\n  } else if (x === \"CloudDirectConnectsBurstable\") {\n    return \"On-demand bandwidth required when network traffic hits the limits of the dedicated bandwidth.\";\n  } else if (x === \"ManagedServices\") {\n    return \"Technical support for monitoring and management of the IT equipment, network, applications and OS.\";\n  } else if (x === \"NISTCompliant\") {\n    return \"National Institute of Standards and Technology outlines nine steps toward compliance with FISMA.\";\n  } else if (x === \"SecureStorage\") {\n    return \"Designated area where customers ship their IT equipment to for safe keeping.\";\n  } else if (x === \"CrossConnectsPreferredProvider\") {\n    return \"Telecom carriers, ISPs and network provider preferences for connecting to the internet or an existing network.\";\n  } else if (x === \"StagingArea\") {\n    return \"Designated area to organize and build IT hardware for deployment in facility.\";\n  } else if (x === \"OnsiteParking\") {\n    return \"Parking within the confines of the data center or within close proximity.\";\n  } else if (x === \"SubmeteredPower\") {\n    return \"Consumption data on customer power usage within a multi-tenant data center for billing purposes.\";\n  } else if (x === \"SOC3Compliant\") {\n    return \"Auditor's opinion of SOC 2 components.  Less detailed and technical than a SOC 2 report.\";\n  } else if (x === \"PreferredProvider\") {\n    return \"Telecom carriers, ISPs and network provider preferences for connecting to the internet or an existing network.\";\n  } else if (x === \"CloudPlatform\") {\n    return \"A platform or service provided by a cloud provider. AWS, Azure, Google Cloud, etc.\";\n  } else if (x === \"Default\") {\n    return \"\";\n  } else if (x === \"BusinessContactName\") {\n    return \"The name of the person who is the main contact at the company for this project.\";\n  } else if (x === \"RoofRights\") {\n    return \"Roof access for the installation of antennas and/or masts.\";\n  } else if (x === \"CloudDirectConnectsBandwidth\") {\n    return \"Maximum amount of data that can be transmitted over an Internet connection. Measured in Megabits per second (Mbps) or Gigabits per second (Gbps). \";\n  } else if (x === \"SDWAN\") {\n    return \"Virtual WAN architecture that uses MPLS and broadband to securely connect users to networks and applications.\";\n  } else if (x === \"FISMACompliant\") {\n    return \"Federal Information Security Management Act defines a comprehensive framework to protect government information, operations and assets against natural or man-made threats.\";\n  } else if (x === \"VPN\") {\n    return \"Encrypted private connection that reduces network costs, increases bandwidth throughput, and provides additional layers of security.\";\n  } else if (x === \"CrashCarts\") {\n    return \"Console furniture with a monitor, keyboards and cables for diagnosis and troubleshooting.\";\n  } else if (x === \"Interconnect\") {\n    return \"Connect IT equipment to the internet or network through physical links such as fiber, coax, copper, etc.\";\n  } else if (x === \"IPv6Address\") {\n    return \"Assigned to each device connected to a network that uses the IP for communication.\";\n  } else if (x === \"LoadRamping\") {\n    return \"Customers that anticipate that their power utilization will ramp up or down over time.\";\n  } else if (x === \"CloudDirectConnects\") {\n    return \"Secure private connection between customer IT infrastructure and a cloud provider.\";\n  } else if (x === \"Burstable\") {\n    return \"On-demand bandwidth required when network traffic hits the limits of the dedicated bandwidth.\";\n  } else if (x === \"CrossConnectsInterconnect\" || x === \"CloudDirectConnectsInterconnect\") {\n    return \"Connect IT equipment to the internet or network through physical links such as fiber, coax, copper, etc.\";\n  } else if (x === \"IPv4Address\") {\n    return \"Assigned to each device connected to a network that uses the IP for communication.\";\n  } else if (x === \"CrossConnects\") {\n    return \"Dedicated connectivity to telecom carriers, ISPs and network providers within the data center facility.\";\n  } else if (x === \"SSAE16\") {\n    return \"Audit measuring the controls relevant to financial reporting. Provides guidance for auditors assessing financial statement controls at service organizations.\";\n  } else if (x === \"ColocationSpace\") {\n    return \"Enter quantity (optional) and select colocation space. Select \\\"Unsure\\\" if unsure as to how much space is required. Skip to the total power field.\";\n  } else if (x === \"FEDRAMPCompliant\") {\n    return \"Standardizes security requirements for use of cloud services for government agencies.\";\n  } else if (x === \"HIPAACompliant\") {\n    return \"Health Insurance Portability and Accountability for health information (PHI), or patient health data (medical records).\";\n  } else if (x === \"RemoteHands\") {\n    return \"Service for delegation of IT management and maintenance tasks to onsite facility technicians.\";\n  } else if (x === \"SOC1Type1\") {\n    return \"Description and assertion of controls, as reported by the company.\";\n  } else if (x === \"SOC1Type2\") {\n    return \"Auditors test of the accuracy of the controls over a specified period of time.\";\n  } else if (x === \"Bandwidth\") {\n    return \"Maximum amount of data that can be transmitted over an Internet connection. Measured in Megabits per second (Mbps) or Gigabits per second (Gbps).\";\n  } else if (x === \"MPLS\") {\n    return \"Routing technology and WAN architecture for VPNs, traffic engineering and QoS.\";\n  } else if (x === \"PointToPoint\") {\n    return \"High-performance, secure connections between two sites with Class of Service (CoS).\";\n  } else if (x === \"WideRacks\") {\n    return \"Width greater than 24\\\" and are used for special IT infrastructure such as servers.\";\n  } else {\n    return \"Depth greater than 42\\\" and are used for special IT infrastructure such as servers.\";\n  }\n}\n\nfunction tooltipClass(x) {\n  if (x === \"RemoteHands\" || x === \"SecureStorage\" || x === \"PCIDSS\") {\n    return css.iconFineRightTooltip;\n  } else if (x === \"ShelvingUnits\") {\n    return \"\";\n  } else if (x === \"PointToPoint\" || x === \"Bandwidth\" || x === \"CloudDirectConnectsInterconnect\" || x === \"CrossConnectsInterconnect\" || x === \"Interconnect\" || x === \"SDWAN\" || x === \"CloudDirectConnectsBandwidth\" || x === \"BusinessContactName\" || x === \"TotalPower\" || x === \"PowerCircuit\") {\n    return css.iconCenterLeftTooltip;\n  } else if (x === \"PduProvided\") {\n    return \"\";\n  } else if (x === \"FEDRAMPCompliant\" || x === \"SubmeteredPower\" || x === \"ManagedServices\" || x === \"RedundantCircuits\") {\n    return css.iconCenterRightTooltip;\n  } else if (x === \"ManagedFirewall\" || x === \"CloudDirectConnectsBurstable\" || x === \"NISTCompliant\" || x === \"CrossConnectsPreferredProvider\" || x === \"StagingArea\" || x === \"OnsiteParking\" || x === \"SOC3Compliant\" || x === \"PreferredProvider\" || x === \"CloudPlatform\" || x === \"Default\" || x === \"RoofRights\" || x === \"FISMACompliant\") {\n    return \"\";\n  } else if (x === \"MPLS\" || x === \"VPN\") {\n    return css.iconLeftTooltip;\n  } else if (x === \"CrashCarts\" || x === \"IPv6Address\" || x === \"LoadRamping\" || !(x === \"SOC1Type2\" || x === \"SOC1Type1\" || x === \"SSAE16\" || x === \"CrossConnects\" || x === \"CloudDirectConnects\")) {\n    return \"\";\n  } else {\n    return css.iconRightTooltip;\n  }\n}\n\nvar Field = {\n  fromString: fromString,\n  tooltip: tooltip,\n  tooltipClass: tooltipClass\n};\n\nfunction UserColocationRfpProjectWizardTooltip(props) {\n  var children = props.children;\n  var __iconContainerClass = props.iconContainerClass;\n  var iconContainerClass = __iconContainerClass !== undefined ? __iconContainerClass : \"\";\n  var fieldEntity = fromString(props.field);\n  if (fieldEntity !== \"Default\") {\n    return JsxRuntime.jsxs(\"div\", {\n                children: [\n                  children,\n                  JsxRuntime.jsx(\"div\", {\n                        children: JsxRuntime.jsx(Tooltip.make, {\n                              content: tooltip(fieldEntity),\n                              position: \"Top\",\n                              tooltipContainerClass: tooltipClass(fieldEntity),\n                              withoutArrow: true,\n                              children: JsxRuntime.jsx(IconHelpTooltip.make, {\n                                    size: \"SM\"\n                                  })\n                            }),\n                        className: Cx.cx([\n                              css.icon,\n                              css.tooltipPositionContainer,\n                              iconContainerClass\n                            ])\n                      })\n                ],\n                className: css.info\n              });\n  } else {\n    return children;\n  }\n}\n\nvar make = UserColocationRfpProjectWizardTooltip;\n\nexport {\n  css ,\n  Field ,\n  make ,\n}\n/* css Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var addColocationSectionBtn = \"CreateColocationRfpProjectConfiguration__addColocationSectionBtn__KLebP\";\nexport var addRepeatedSection = \"CreateColocationRfpProjectConfiguration__addRepeatedSection__oJnVa\";\nexport var basicInfo = \"CreateColocationRfpProjectConfiguration__basicInfo__cg4ff\";\nexport var buttons = \"CreateColocationRfpProjectConfiguration__buttons__qYVTL\";\nexport var certificationRow = \"CreateColocationRfpProjectConfiguration__certificationRow__dqfQw\";\nexport var cloudDirectBandwidth = \"CreateColocationRfpProjectConfiguration__cloudDirectBandwidth__ECwWJ\";\nexport var cloudDirectCloudPlatform = \"CreateColocationRfpProjectConfiguration__cloudDirectCloudPlatform__q33uV\";\nexport var cloudDirectInterconnect = \"CreateColocationRfpProjectConfiguration__cloudDirectInterconnect__lCU1R\";\nexport var colocationSection = \"CreateColocationRfpProjectConfiguration__colocationSection__JjE1f\";\nexport var column = \"CreateColocationRfpProjectConfiguration__column__Xa20u\";\nexport var container = \"CreateColocationRfpProjectConfiguration__container__u4aKh\";\nexport var contentWrapper = \"CreateColocationRfpProjectConfiguration__contentWrapper__AsT4C\";\nexport var contractLength = \"CreateColocationRfpProjectConfiguration__contractLength__XgTB7\";\nexport var crossConnectInterconnect = \"CreateColocationRfpProjectConfiguration__crossConnectInterconnect__Of7bR\";\nexport var crossConnectPreferredProvider = \"CreateColocationRfpProjectConfiguration__crossConnectPreferredProvider__ZhIOn\";\nexport var crossConnectQuantity = \"CreateColocationRfpProjectConfiguration__crossConnectQuantity__LWoK_\";\nexport var deleteSubSection = \"CreateColocationRfpProjectConfiguration__deleteSubSection__zF0Pf\";\nexport var descriptionText = \"CreateColocationRfpProjectConfiguration__descriptionText__ZNSF5\";\nexport var featuresRow = \"CreateColocationRfpProjectConfiguration__featuresRow__Edovl\";\nexport var field = \"CreateColocationRfpProjectConfiguration__field__Ci6wb\";\nexport var fieldHeight = \"CreateColocationRfpProjectConfiguration__fieldHeight__AsVdj\";\nexport var flex = \"CreateColocationRfpProjectConfiguration__flex__dxTnh\";\nexport var flexColumn = \"CreateColocationRfpProjectConfiguration__flexColumn__kntJo\";\nexport var fullWidth = \"CreateColocationRfpProjectConfiguration__fullWidth__SvyPw\";\nexport var gap1 = \"CreateColocationRfpProjectConfiguration__gap1__H1A3a\";\nexport var gap2 = \"CreateColocationRfpProjectConfiguration__gap2__kqVs6\";\nexport var gap3 = \"CreateColocationRfpProjectConfiguration__gap3__s6BDH\";\nexport var gap4 = \"CreateColocationRfpProjectConfiguration__gap4__KBHZ4\";\nexport var gap5 = \"CreateColocationRfpProjectConfiguration__gap5__RtewT\";\nexport var headerInfo = \"CreateColocationRfpProjectConfiguration__headerInfo__s2SZw\";\nexport var howItWorksTooltip = \"CreateColocationRfpProjectConfiguration__howItWorksTooltip__iK1N2\";\nexport var internetConnectivityBandwidth = \"CreateColocationRfpProjectConfiguration__internetConnectivityBandwidth__9gLDy\";\nexport var internetConnectivityInterconnect = \"CreateColocationRfpProjectConfiguration__internetConnectivityInterconnect__z4iVq\";\nexport var internetConnectivityPreferredProvider = \"CreateColocationRfpProjectConfiguration__internetConnectivityPreferredProvider__RQy99\";\nexport var next = \"CreateColocationRfpProjectConfiguration__next__ct3A4\";\nexport var noRightMargin = \"CreateColocationRfpProjectConfiguration__noRightMargin__AkvSx\";\nexport var option = \"CreateColocationRfpProjectConfiguration__option__HTVNc\";\nexport var powerDensityOrLabel = \"CreateColocationRfpProjectConfiguration__powerDensityOrLabel__s_qXQ\";\nexport var powerDensityPowerCircuit = \"CreateColocationRfpProjectConfiguration__powerDensityPowerCircuit__RkTCL\";\nexport var powerDensityPowerContainer = \"CreateColocationRfpProjectConfiguration__powerDensityPowerContainer__GtiNc\";\nexport var powerDensityPowerUnits = \"CreateColocationRfpProjectConfiguration__powerDensityPowerUnits__bW6_o\";\nexport var powerDensityPowerUnitsSelect = \"CreateColocationRfpProjectConfiguration__powerDensityPowerUnitsSelect__KcYgG\";\nexport var powerDensityPowerValue = \"CreateColocationRfpProjectConfiguration__powerDensityPowerValue__SpOd5\";\nexport var powerOptionsFields = \"CreateColocationRfpProjectConfiguration__powerOptionsFields__gGhEK\";\nexport var rackTypeColocationSpace = \"CreateColocationRfpProjectConfiguration__rackTypeColocationSpace__fl_Ob\";\nexport var rackTypeQuantity = \"CreateColocationRfpProjectConfiguration__rackTypeQuantity__OHLKj\";\nexport var repeatedSection = \"CreateColocationRfpProjectConfiguration__repeatedSection__M7leW\";\nexport var required = \"CreateColocationRfpProjectConfiguration__required__uuJlO\";\nexport var row = \"CreateColocationRfpProjectConfiguration__row__aflj8\";\nexport var startDate = \"CreateColocationRfpProjectConfiguration__startDate__MEm8S\";\nexport var steps = \"CreateColocationRfpProjectConfiguration__steps__DWXR7\";\nexport var subHeading = \"CreateColocationRfpProjectConfiguration__subHeading__anVFN\";\nexport var subSection = \"CreateColocationRfpProjectConfiguration__subSection__hLeAL\";\nexport var tooltipAndHeadingWrapper = \"CreateColocationRfpProjectConfiguration__tooltipAndHeadingWrapper__ov9lO\";\nexport var tooltipToRight = \"CreateColocationRfpProjectConfiguration__tooltipToRight__Hlq8F\";\nexport var videoLink = \"CreateColocationRfpProjectConfiguration__videoLink__St9Mr\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Label from \"../../../../styleguide/forms/Label/Label.res.js\";\nimport * as Select from \"../../../../styleguide/forms/Select/Select.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as DatePicker from \"../../../../styleguide/forms/DatePicker/DatePicker.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 JsxRuntime from \"react/jsx-runtime\";\nimport * as CreateColocationRfpProjectConfigurationScss from \"./CreateColocationRfpProjectConfiguration.scss\";\n\nvar css = CreateColocationRfpProjectConfigurationScss;\n\nfunction CreateColocationRfpProjectConfiguration_BasicInfo(props) {\n  var updateConfiguration = props.updateConfiguration;\n  var configuration = props.configuration;\n  var mainValidationResults = props.mainValidationResults;\n  var mainIndex = props.mainIndex;\n  var generateId = props.generateId;\n  var value = configuration.contractLength;\n  return JsxRuntime.jsxs(\"section\", {\n              children: [\n                JsxRuntime.jsxs(\"div\", {\n                      children: [\n                        JsxRuntime.jsx(Label.make, {\n                              forId: generateId(\"service-start-date\", mainIndex, undefined, undefined, undefined),\n                              status: Belt_Option.map(mainValidationResults, (function (x) {\n                                      return x.startDate;\n                                    })),\n                              className: css.required,\n                              children: \"Service Start date\"\n                            }),\n                        JsxRuntime.jsx(DatePicker.make, {\n                              id: generateId(\"service-start-date\", mainIndex, undefined, undefined, undefined),\n                              value: Belt_Option.map(configuration.startDate, (function (prim) {\n                                      return prim;\n                                    })),\n                              disabledDays: [{\n                                  from: new Date(0, 0),\n                                  to: new Date()\n                                }],\n                              status: Belt_Option.map(mainValidationResults, (function (x) {\n                                      if (x.startDate.TAG === \"Ok\") {\n                                        return \"Valid\";\n                                      } else {\n                                        return \"Error\";\n                                      }\n                                    })),\n                              onDayChange: (function (date, param, param$1) {\n                                  updateConfiguration({\n                                        key: configuration.key,\n                                        startDate: Caml_option.some(date),\n                                        contractLength: configuration.contractLength,\n                                        rackTypesAndPowerDensities: configuration.rackTypesAndPowerDensities,\n                                        internetConnectivities: configuration.internetConnectivities,\n                                        crossConnects: configuration.crossConnects,\n                                        cloudDirectConnects: configuration.cloudDirectConnects,\n                                        certificationRequirements: configuration.certificationRequirements,\n                                        datacenterFeatures: configuration.datacenterFeatures,\n                                        additionalNotesOrRequirements: configuration.additionalNotesOrRequirements\n                                      }, mainIndex);\n                                }),\n                              className: css.startDate\n                            })\n                      ],\n                      className: css.field\n                    }),\n                JsxRuntime.jsxs(\"div\", {\n                      children: [\n                        JsxRuntime.jsx(Label.make, {\n                              forId: generateId(\"contract-length\", mainIndex, undefined, undefined, undefined),\n                              status: Belt_Option.map(mainValidationResults, (function (x) {\n                                      return x.contractLength;\n                                    })),\n                              className: css.required,\n                              children: \"Contract Length\"\n                            }),\n                        JsxRuntime.jsxs(Select.make, {\n                              id: generateId(\"contract-length\", mainIndex, undefined, undefined, undefined),\n                              value: value !== undefined ? String(value) : \"\",\n                              status: Belt_Option.map(mainValidationResults, (function (x) {\n                                      if (x.contractLength.TAG === \"Ok\") {\n                                        return \"Valid\";\n                                      } else {\n                                        return \"Error\";\n                                      }\n                                    })),\n                              wrapperClassName: css.contractLength,\n                              iconSize: \"XXS\",\n                              iconColor: \"GrayText\",\n                              onChange: (function ($$event) {\n                                  var value = $$event.target.value;\n                                  updateConfiguration({\n                                        key: configuration.key,\n                                        startDate: configuration.startDate,\n                                        contractLength: value,\n                                        rackTypesAndPowerDensities: configuration.rackTypesAndPowerDensities,\n                                        internetConnectivities: configuration.internetConnectivities,\n                                        crossConnects: configuration.crossConnects,\n                                        cloudDirectConnects: configuration.cloudDirectConnects,\n                                        certificationRequirements: configuration.certificationRequirements,\n                                        datacenterFeatures: configuration.datacenterFeatures,\n                                        additionalNotesOrRequirements: configuration.additionalNotesOrRequirements\n                                      }, mainIndex);\n                                }),\n                              children: [\n                                JsxRuntime.jsx(Select.DefaultOption.make, {\n                                      children: \"Select\"\n                                    }),\n                                Belt_Array.map(props.options.contractLengths, (function (contractLength) {\n                                        return JsxRuntime.jsx(Select.$$Option.make, {\n                                                    value: String(contractLength.value),\n                                                    children: contractLength.label\n                                                  }, contractLength.label);\n                                      }))\n                              ]\n                            })\n                      ],\n                      className: css.field\n                    })\n              ],\n              className: css.basicInfo\n            });\n}\n\nvar make = CreateColocationRfpProjectConfiguration_BasicInfo;\n\nexport {\n  css ,\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 Label from \"../../../../styleguide/forms/Label/Label.res.js\";\nimport * as Button from \"../../../../styleguide/components/Button/Button.res.js\";\nimport * as Select from \"../../../../styleguide/forms/Select/Select.res.js\";\nimport * as Control from \"../../../../styleguide/components/Control/Control.res.js\";\nimport * as Textarea from \"../../../../styleguide/forms/Textarea/Textarea.res.js\";\nimport * as TextField from \"../../../../styleguide/forms/TextField/TextField.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as IconDelete from \"../../../../styleguide/icons/IconDelete.res.js\";\nimport * as Belt_Option from \"rescript/lib/es6/belt_Option.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ProjectWizardPanel from \"../_components/ProjectWizardPanel/ProjectWizardPanel.res.js\";\nimport * as UserColocationRfpProjectWizardTooltip from \"../_components/UserColocationRfpProjectWizardTooltip/UserColocationRfpProjectWizardTooltip.res.js\";\nimport * as CreateColocationRfpProjectConfigurationScss from \"./CreateColocationRfpProjectConfiguration.scss\";\nimport * as CreateColocationRfpProjectConfiguration_Data_CrossConnect from \"./CreateColocationRfpProjectConfiguration_Data_CrossConnect.res.js\";\n\nvar css = CreateColocationRfpProjectConfigurationScss;\n\nfunction CreateColocationRfpProjectConfiguration_CrossConnect(props) {\n  var toggleVisibility = props.toggleVisibility;\n  var sectionVisibility = props.sectionVisibility;\n  var options = props.options;\n  var updateConfiguration = props.updateConfiguration;\n  var configuration = props.configuration;\n  var mainValidationResults = props.mainValidationResults;\n  var mainIndex = props.mainIndex;\n  var generateId = props.generateId;\n  var updateCrossConnects = function (configuration, crossConnect, mainIndex, subIndex) {\n    var crossConnects = Belt_Array.mapWithIndex(configuration.crossConnects, (function (idx, oldCrossConnect) {\n            if (idx === subIndex) {\n              return crossConnect;\n            } else {\n              return oldCrossConnect;\n            }\n          }));\n    updateConfiguration({\n          key: configuration.key,\n          startDate: configuration.startDate,\n          contractLength: configuration.contractLength,\n          rackTypesAndPowerDensities: configuration.rackTypesAndPowerDensities,\n          internetConnectivities: configuration.internetConnectivities,\n          crossConnects: crossConnects,\n          cloudDirectConnects: configuration.cloudDirectConnects,\n          certificationRequirements: configuration.certificationRequirements,\n          datacenterFeatures: configuration.datacenterFeatures,\n          additionalNotesOrRequirements: configuration.additionalNotesOrRequirements\n        }, mainIndex);\n  };\n  var tmp;\n  tmp = sectionVisibility === \"Shown\" ? JsxRuntime.jsxs(JsxRuntime.Fragment, {\n          children: [\n            Belt_Array.mapWithIndex(configuration.crossConnects, (function (subIndex, crossConnect) {\n                    var subValidationResults = mainValidationResults !== undefined ? Belt_Array.get(mainValidationResults.crossConnects, subIndex) : undefined;\n                    var value = crossConnect.quantity;\n                    return JsxRuntime.jsxs(\"div\", {\n                                children: [\n                                  subIndex > 0 ? JsxRuntime.jsx(Control.make, {\n                                          className: css.deleteSubSection,\n                                          onClick: (function (param) {\n                                              var crossConnects = Belt_Array.keepWithIndex(configuration.crossConnects, (function (_value, index) {\n                                                      return index !== subIndex;\n                                                    }));\n                                              updateConfiguration({\n                                                    key: configuration.key,\n                                                    startDate: configuration.startDate,\n                                                    contractLength: configuration.contractLength,\n                                                    rackTypesAndPowerDensities: configuration.rackTypesAndPowerDensities,\n                                                    internetConnectivities: configuration.internetConnectivities,\n                                                    crossConnects: crossConnects,\n                                                    cloudDirectConnects: configuration.cloudDirectConnects,\n                                                    certificationRequirements: configuration.certificationRequirements,\n                                                    datacenterFeatures: configuration.datacenterFeatures,\n                                                    additionalNotesOrRequirements: configuration.additionalNotesOrRequirements\n                                                  }, mainIndex);\n                                            }),\n                                          children: JsxRuntime.jsx(IconDelete.make, {\n                                                size: \"SM\",\n                                                color: \"LightGray\"\n                                              })\n                                        }) : null,\n                                  JsxRuntime.jsxs(\"div\", {\n                                        children: [\n                                          JsxRuntime.jsxs(\"div\", {\n                                                children: [\n                                                  JsxRuntime.jsx(Label.make, {\n                                                        forId: generateId(\"quantity\", mainIndex, \"cross-connect\", subIndex, undefined),\n                                                        status: Belt_Option.map(subValidationResults, (function (x) {\n                                                                return x.quantity;\n                                                              })),\n                                                        children: \"Quantity\"\n                                                      }),\n                                                  JsxRuntime.jsx(TextField.make, {\n                                                        id: generateId(\"quantity\", mainIndex, \"cross-connect\", subIndex, undefined),\n                                                        value: value !== undefined ? String(value) : \"\",\n                                                        status: Belt_Option.map(subValidationResults, (function (x) {\n                                                                if (x.quantity.TAG === \"Ok\") {\n                                                                  return \"Valid\";\n                                                                } else {\n                                                                  return \"Error\";\n                                                                }\n                                                              })),\n                                                        className: css.crossConnectQuantity,\n                                                        onChange: (function ($$event) {\n                                                            var value = $$event.target.value;\n                                                            updateCrossConnects(configuration, {\n                                                                  quantity: value,\n                                                                  interconnect: crossConnect.interconnect,\n                                                                  provider: crossConnect.provider,\n                                                                  specialNotesAndRequirements: crossConnect.specialNotesAndRequirements\n                                                                }, mainIndex, subIndex);\n                                                          })\n                                                      })\n                                                ],\n                                                className: css.field\n                                              }),\n                                          JsxRuntime.jsxs(\"div\", {\n                                                children: [\n                                                  JsxRuntime.jsx(UserColocationRfpProjectWizardTooltip.make, {\n                                                        field: \"Cross Connects Interconnect\",\n                                                        children: JsxRuntime.jsx(Label.make, {\n                                                              forId: generateId(\"interconnect\", mainIndex, \"cross-connect\", subIndex, undefined),\n                                                              children: \"Access Type\"\n                                                            })\n                                                      }),\n                                                  JsxRuntime.jsxs(Select.make, {\n                                                        id: generateId(\"interconnect\", mainIndex, \"cross-connect\", subIndex, undefined),\n                                                        value: Belt_Option.getWithDefault(crossConnect.interconnect, \"\"),\n                                                        wrapperClassName: css.crossConnectInterconnect,\n                                                        iconSize: \"XXS\",\n                                                        iconColor: \"GrayText\",\n                                                        onChange: (function ($$event) {\n                                                            var value = $$event.target.value;\n                                                            updateCrossConnects(configuration, {\n                                                                  quantity: crossConnect.quantity,\n                                                                  interconnect: value,\n                                                                  provider: crossConnect.provider,\n                                                                  specialNotesAndRequirements: crossConnect.specialNotesAndRequirements\n                                                                }, mainIndex, subIndex);\n                                                          }),\n                                                        children: [\n                                                          JsxRuntime.jsx(Select.$$Option.make, {\n                                                                value: \"\",\n                                                                children: \"Select\"\n                                                              }),\n                                                          Belt_Array.map(options.interconnect, (function (value) {\n                                                                  return JsxRuntime.jsx(Select.$$Option.make, {\n                                                                              value: value,\n                                                                              children: value\n                                                                            }, value);\n                                                                }))\n                                                        ]\n                                                      })\n                                                ],\n                                                className: css.field\n                                              }),\n                                          JsxRuntime.jsxs(\"div\", {\n                                                children: [\n                                                  JsxRuntime.jsx(UserColocationRfpProjectWizardTooltip.make, {\n                                                        field: \"Cross Connects Preferred Provider\",\n                                                        children: JsxRuntime.jsx(Label.make, {\n                                                              forId: generateId(\"provider\", mainIndex, \"cross-connect\", subIndex, undefined),\n                                                              children: \"Preferred Provider\"\n                                                            })\n                                                      }),\n                                                  JsxRuntime.jsxs(Select.make, {\n                                                        id: generateId(\"provider\", mainIndex, \"cross-connect\", subIndex, undefined),\n                                                        value: Belt_Option.getWithDefault(crossConnect.provider, \"\"),\n                                                        wrapperClassName: css.crossConnectPreferredProvider,\n                                                        iconSize: \"XXS\",\n                                                        iconColor: \"GrayText\",\n                                                        onChange: (function ($$event) {\n                                                            var value = $$event.target.value;\n                                                            updateCrossConnects(configuration, {\n                                                                  quantity: crossConnect.quantity,\n                                                                  interconnect: crossConnect.interconnect,\n                                                                  provider: value,\n                                                                  specialNotesAndRequirements: crossConnect.specialNotesAndRequirements\n                                                                }, mainIndex, subIndex);\n                                                          }),\n                                                        children: [\n                                                          JsxRuntime.jsx(Select.$$Option.make, {\n                                                                value: \"\",\n                                                                children: \"Select\"\n                                                              }),\n                                                          Belt_Array.map(options.crossConnectProviders, (function (value) {\n                                                                  return JsxRuntime.jsx(Select.$$Option.make, {\n                                                                              value: value,\n                                                                              children: value\n                                                                            }, value);\n                                                                }))\n                                                        ]\n                                                      })\n                                                ],\n                                                className: css.field\n                                              })\n                                        ],\n                                        className: css.subSection\n                                      }),\n                                  JsxRuntime.jsx(\"div\", {\n                                        children: JsxRuntime.jsxs(\"div\", {\n                                              children: [\n                                                JsxRuntime.jsx(Label.make, {\n                                                      forId: generateId(\"special-notes-and-requirements\", mainIndex, \"cross-connect\", subIndex, undefined),\n                                                      children: \"Special Notes and Requirements\"\n                                                    }),\n                                                JsxRuntime.jsx(Textarea.make, {\n                                                      id: generateId(\"special-notes-and-requirements\", mainIndex, \"cross-connect\", subIndex, undefined),\n                                                      value: Belt_Option.getWithDefault(crossConnect.specialNotesAndRequirements, \"\"),\n                                                      className: css.internetConnectivitySpecialNotes,\n                                                      onChange: (function ($$event) {\n                                                          var value = $$event.target.value;\n                                                          updateCrossConnects(configuration, {\n                                                                quantity: crossConnect.quantity,\n                                                                interconnect: crossConnect.interconnect,\n                                                                provider: crossConnect.provider,\n                                                                specialNotesAndRequirements: value\n                                                              }, mainIndex, subIndex);\n                                                        })\n                                                    })\n                                              ],\n                                              className: Cx.cx([\n                                                    css.field,\n                                                    css.fullWidth\n                                                  ])\n                                            }),\n                                        className: css.subSection\n                                      })\n                                ],\n                                className: css.repeatedSection\n                              }, String(subIndex));\n                  })),\n            JsxRuntime.jsx(Button.make, {\n                  size: \"MD\",\n                  color: \"Gray\",\n                  buttonClassName: css.addRepeatedSection,\n                  onClick: (function (param) {\n                      updateConfiguration({\n                            key: configuration.key,\n                            startDate: configuration.startDate,\n                            contractLength: configuration.contractLength,\n                            rackTypesAndPowerDensities: configuration.rackTypesAndPowerDensities,\n                            internetConnectivities: configuration.internetConnectivities,\n                            crossConnects: Belt_Array.concat(configuration.crossConnects, [CreateColocationRfpProjectConfiguration_Data_CrossConnect.Input.empty]),\n                            cloudDirectConnects: configuration.cloudDirectConnects,\n                            certificationRequirements: configuration.certificationRequirements,\n                            datacenterFeatures: configuration.datacenterFeatures,\n                            additionalNotesOrRequirements: configuration.additionalNotesOrRequirements\n                          }, mainIndex);\n                    }),\n                  children: \"+ Add Another\"\n                })\n          ]\n        }) : null;\n  return JsxRuntime.jsx(ProjectWizardPanel.CollapsableSection.make, {\n              title: \"Cross Connects\",\n              visibility: sectionVisibility,\n              toggleVisibility: (function () {\n                  toggleVisibility(mainIndex, \"CrossConnect\");\n                }),\n              tooltip: (function (children) {\n                  return JsxRuntime.jsx(UserColocationRfpProjectWizardTooltip.make, {\n                              field: \"Cross Connects\",\n                              iconContainerClass: css.tooltipToRight,\n                              children: children\n                            });\n                }),\n              children: tmp\n            });\n}\n\nvar make = CreateColocationRfpProjectConfiguration_CrossConnect;\n\nexport {\n  css ,\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 Textarea from \"../../../../styleguide/forms/Textarea/Textarea.res.js\";\nimport * as Belt_Option from \"rescript/lib/es6/belt_Option.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ProjectWizardPanel from \"../_components/ProjectWizardPanel/ProjectWizardPanel.res.js\";\nimport * as CreateColocationRfpProjectConfigurationScss from \"./CreateColocationRfpProjectConfiguration.scss\";\n\nvar css = CreateColocationRfpProjectConfigurationScss;\n\nfunction CreateColocationRfpProjectConfiguration_AdditionalNotes(props) {\n  var toggleVisibility = props.toggleVisibility;\n  var sectionVisibility = props.sectionVisibility;\n  var updateConfiguration = props.updateConfiguration;\n  var configuration = props.configuration;\n  var mainIndex = props.mainIndex;\n  var tmp;\n  tmp = sectionVisibility === \"Shown\" ? JsxRuntime.jsx(\"div\", {\n          children: JsxRuntime.jsx(Textarea.make, {\n                id: props.generateId(\"additional-notes-and-requirements\", mainIndex, undefined, undefined, undefined),\n                value: Belt_Option.getWithDefault(configuration.additionalNotesOrRequirements, \"\"),\n                onChange: (function ($$event) {\n                    var value = $$event.target.value;\n                    updateConfiguration({\n                          key: configuration.key,\n                          startDate: configuration.startDate,\n                          contractLength: configuration.contractLength,\n                          rackTypesAndPowerDensities: configuration.rackTypesAndPowerDensities,\n                          internetConnectivities: configuration.internetConnectivities,\n                          crossConnects: configuration.crossConnects,\n                          cloudDirectConnects: configuration.cloudDirectConnects,\n                          certificationRequirements: configuration.certificationRequirements,\n                          datacenterFeatures: configuration.datacenterFeatures,\n                          additionalNotesOrRequirements: value\n                        }, mainIndex);\n                  })\n              }),\n          className: Cx.cx([\n                css.field,\n                css.fullWidth\n              ])\n        }) : null;\n  return JsxRuntime.jsx(ProjectWizardPanel.CollapsableSection.make, {\n              title: \"Add Additional Notes\",\n              visibility: sectionVisibility,\n              toggleVisibility: (function () {\n                  toggleVisibility(mainIndex, \"AdditionalNotes\");\n                }),\n              children: tmp\n            });\n}\n\nvar itemsPerRow = 3;\n\nvar make = CreateColocationRfpProjectConfiguration_AdditionalNotes;\n\nexport {\n  css ,\n  itemsPerRow ,\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 Label from \"../../../../styleguide/forms/Label/Label.res.js\";\nimport * as Button from \"../../../../styleguide/components/Button/Button.res.js\";\nimport * as Select from \"../../../../styleguide/forms/Select/Select.res.js\";\nimport * as Control from \"../../../../styleguide/components/Control/Control.res.js\";\nimport * as Checkbox from \"../../../../styleguide/forms/Checkbox/Checkbox.res.js\";\nimport * as Js_array from \"rescript/lib/es6/js_array.js\";\nimport * as Textarea from \"../../../../styleguide/forms/Textarea/Textarea.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as IconDelete from \"../../../../styleguide/icons/IconDelete.res.js\";\nimport * as Belt_Option from \"rescript/lib/es6/belt_Option.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ProjectWizardPanel from \"../_components/ProjectWizardPanel/ProjectWizardPanel.res.js\";\nimport * as UserColocationRfpProjectWizardTooltip from \"../_components/UserColocationRfpProjectWizardTooltip/UserColocationRfpProjectWizardTooltip.res.js\";\nimport * as CreateColocationRfpProjectConfigurationScss from \"./CreateColocationRfpProjectConfiguration.scss\";\nimport * as CreateColocationRfpProjectConfiguration_Data_CloudDirectConnect from \"./CreateColocationRfpProjectConfiguration_Data_CloudDirectConnect.res.js\";\n\nvar css = CreateColocationRfpProjectConfigurationScss;\n\nfunction CreateColocationRfpProjectConfiguration_CloudDirectConnect(props) {\n  var toggleVisibility = props.toggleVisibility;\n  var sectionVisibility = props.sectionVisibility;\n  var options = props.options;\n  var updateConfiguration = props.updateConfiguration;\n  var configuration = props.configuration;\n  var mainIndex = props.mainIndex;\n  var generateId = props.generateId;\n  var updateCloudDirectConnects = function (configuration, cloudDirectConnect, mainIndex, subIndex) {\n    var cloudDirectConnects = Belt_Array.mapWithIndex(configuration.cloudDirectConnects, (function (idx, oldCloudDirectConnect) {\n            if (idx === subIndex) {\n              return cloudDirectConnect;\n            } else {\n              return oldCloudDirectConnect;\n            }\n          }));\n    updateConfiguration({\n          key: configuration.key,\n          startDate: configuration.startDate,\n          contractLength: configuration.contractLength,\n          rackTypesAndPowerDensities: configuration.rackTypesAndPowerDensities,\n          internetConnectivities: configuration.internetConnectivities,\n          crossConnects: configuration.crossConnects,\n          cloudDirectConnects: cloudDirectConnects,\n          certificationRequirements: configuration.certificationRequirements,\n          datacenterFeatures: configuration.datacenterFeatures,\n          additionalNotesOrRequirements: configuration.additionalNotesOrRequirements\n        }, mainIndex);\n  };\n  var tmp;\n  tmp = sectionVisibility === \"Shown\" ? JsxRuntime.jsxs(JsxRuntime.Fragment, {\n          children: [\n            Belt_Array.mapWithIndex(configuration.cloudDirectConnects, (function (subIndex, cloudDirectConnect) {\n                    return JsxRuntime.jsxs(\"div\", {\n                                children: [\n                                  subIndex > 0 ? JsxRuntime.jsx(Control.make, {\n                                          className: css.deleteSubSection,\n                                          onClick: (function (param) {\n                                              var cloudDirectConnects = Belt_Array.keepWithIndex(configuration.cloudDirectConnects, (function (_value, index) {\n                                                      return index !== subIndex;\n                                                    }));\n                                              updateConfiguration({\n                                                    key: configuration.key,\n                                                    startDate: configuration.startDate,\n                                                    contractLength: configuration.contractLength,\n                                                    rackTypesAndPowerDensities: configuration.rackTypesAndPowerDensities,\n                                                    internetConnectivities: configuration.internetConnectivities,\n                                                    crossConnects: configuration.crossConnects,\n                                                    cloudDirectConnects: cloudDirectConnects,\n                                                    certificationRequirements: configuration.certificationRequirements,\n                                                    datacenterFeatures: configuration.datacenterFeatures,\n                                                    additionalNotesOrRequirements: configuration.additionalNotesOrRequirements\n                                                  }, mainIndex);\n                                            }),\n                                          children: JsxRuntime.jsx(IconDelete.make, {\n                                                size: \"SM\",\n                                                color: \"LightGray\"\n                                              })\n                                        }) : null,\n                                  JsxRuntime.jsxs(\"div\", {\n                                        children: [\n                                          JsxRuntime.jsxs(\"div\", {\n                                                children: [\n                                                  JsxRuntime.jsx(UserColocationRfpProjectWizardTooltip.make, {\n                                                        field: \"Cloud Direct Connects Interconnect\",\n                                                        children: JsxRuntime.jsx(Label.make, {\n                                                              forId: generateId(\"interconnect\", mainIndex, \"cloud-direct-connect\", subIndex, undefined),\n                                                              children: \"Access Type\"\n                                                            })\n                                                      }),\n                                                  JsxRuntime.jsxs(Select.make, {\n                                                        id: generateId(\"interconnect\", mainIndex, \"cloud-direct-connect\", subIndex, undefined),\n                                                        value: Belt_Option.getWithDefault(cloudDirectConnect.interconnect, \"\"),\n                                                        wrapperClassName: css.cloudDirectInterconnect,\n                                                        iconSize: \"XXS\",\n                                                        iconColor: \"GrayText\",\n                                                        onChange: (function ($$event) {\n                                                            var value = $$event.target.value;\n                                                            updateCloudDirectConnects(configuration, {\n                                                                  interconnect: value,\n                                                                  bandwidth: cloudDirectConnect.bandwidth,\n                                                                  cloudPlatform: cloudDirectConnect.cloudPlatform,\n                                                                  additionalOptions: cloudDirectConnect.additionalOptions,\n                                                                  specialNotesAndRequirements: cloudDirectConnect.specialNotesAndRequirements\n                                                                }, mainIndex, subIndex);\n                                                          }),\n                                                        children: [\n                                                          JsxRuntime.jsx(Select.$$Option.make, {\n                                                                value: \"\",\n                                                                children: \"Select\"\n                                                              }),\n                                                          Belt_Array.map(options.interconnect, (function (value) {\n                                                                  return JsxRuntime.jsx(Select.$$Option.make, {\n                                                                              value: value,\n                                                                              children: value\n                                                                            }, value);\n                                                                }))\n                                                        ]\n                                                      })\n                                                ],\n                                                className: css.field\n                                              }),\n                                          JsxRuntime.jsxs(\"div\", {\n                                                children: [\n                                                  JsxRuntime.jsx(UserColocationRfpProjectWizardTooltip.make, {\n                                                        field: \"Cloud Direct Connects Bandwidth\",\n                                                        children: JsxRuntime.jsx(Label.make, {\n                                                              forId: generateId(\"bandwidth\", mainIndex, \"cloud-direct-connect\", subIndex, undefined),\n                                                              children: \"Bandwidth\"\n                                                            })\n                                                      }),\n                                                  JsxRuntime.jsxs(Select.make, {\n                                                        id: generateId(\"bandwidth\", mainIndex, \"cloud-direct-connect\", subIndex, undefined),\n                                                        value: Belt_Option.getWithDefault(cloudDirectConnect.bandwidth, \"\"),\n                                                        wrapperClassName: css.cloudDirectBandwidth,\n                                                        iconSize: \"XXS\",\n                                                        iconColor: \"GrayText\",\n                                                        onChange: (function ($$event) {\n                                                            var value = $$event.target.value;\n                                                            updateCloudDirectConnects(configuration, {\n                                                                  interconnect: cloudDirectConnect.interconnect,\n                                                                  bandwidth: value,\n                                                                  cloudPlatform: cloudDirectConnect.cloudPlatform,\n                                                                  additionalOptions: cloudDirectConnect.additionalOptions,\n                                                                  specialNotesAndRequirements: cloudDirectConnect.specialNotesAndRequirements\n                                                                }, mainIndex, subIndex);\n                                                          }),\n                                                        children: [\n                                                          JsxRuntime.jsx(Select.$$Option.make, {\n                                                                value: \"\",\n                                                                children: \"Select\"\n                                                              }),\n                                                          Belt_Array.map(options.bandwidths, (function (value) {\n                                                                  return JsxRuntime.jsx(Select.$$Option.make, {\n                                                                              value: value,\n                                                                              children: value\n                                                                            }, value);\n                                                                }))\n                                                        ]\n                                                      })\n                                                ],\n                                                className: css.field\n                                              }),\n                                          JsxRuntime.jsxs(\"div\", {\n                                                children: [\n                                                  JsxRuntime.jsx(UserColocationRfpProjectWizardTooltip.make, {\n                                                        field: \"Cloud Platform\",\n                                                        children: JsxRuntime.jsx(Label.make, {\n                                                              forId: generateId(\"cloud-platform\", mainIndex, \"cloud-direct-connect\", subIndex, undefined),\n                                                              children: \"Cloud Platform\"\n                                                            })\n                                                      }),\n                                                  JsxRuntime.jsxs(Select.make, {\n                                                        id: generateId(\"cloud-platform\", mainIndex, \"cloud-direct-connect\", subIndex, undefined),\n                                                        value: Belt_Option.getWithDefault(cloudDirectConnect.cloudPlatform, \"\"),\n                                                        wrapperClassName: css.cloudDirectCloudPlatform,\n                                                        iconSize: \"XXS\",\n                                                        iconColor: \"GrayText\",\n                                                        onChange: (function ($$event) {\n                                                            var value = $$event.target.value;\n                                                            updateCloudDirectConnects(configuration, {\n                                                                  interconnect: cloudDirectConnect.interconnect,\n                                                                  bandwidth: cloudDirectConnect.bandwidth,\n                                                                  cloudPlatform: value,\n                                                                  additionalOptions: cloudDirectConnect.additionalOptions,\n                                                                  specialNotesAndRequirements: cloudDirectConnect.specialNotesAndRequirements\n                                                                }, mainIndex, subIndex);\n                                                          }),\n                                                        children: [\n                                                          JsxRuntime.jsx(Select.$$Option.make, {\n                                                                value: \"\",\n                                                                children: \"Select\"\n                                                              }),\n                                                          Belt_Array.map(options.cloudPlatforms, (function (value) {\n                                                                  return JsxRuntime.jsx(Select.$$Option.make, {\n                                                                              value: value,\n                                                                              children: value\n                                                                            }, value);\n                                                                }))\n                                                        ]\n                                                      })\n                                                ],\n                                                className: css.field\n                                              })\n                                        ],\n                                        className: css.subSection\n                                      }),\n                                  JsxRuntime.jsx(\"div\", {\n                                        children: Belt_Array.map(options.additionalCloudDirectConnects, (function (additionalOption) {\n                                                return JsxRuntime.jsx(Checkbox.WithLabel.make, {\n                                                            id: generateId(\"additional-option-\" + additionalOption, mainIndex, \"cloud-direct-connect\", subIndex, undefined),\n                                                            size: \"SM\",\n                                                            checked: (function (__x) {\n                                                                  return Js_array.includes(additionalOption, __x);\n                                                                })(cloudDirectConnect.additionalOptions),\n                                                            containerClassName: css.option,\n                                                            onChange: (function ($$event) {\n                                                                var checked = $$event.target.checked;\n                                                                var additionalOptions = checked ? Belt_Array.concat(cloudDirectConnect.additionalOptions, [additionalOption]) : Belt_Array.keep(cloudDirectConnect.additionalOptions, (function (value) {\n                                                                          return value !== additionalOption;\n                                                                        }));\n                                                                updateCloudDirectConnects(configuration, {\n                                                                      interconnect: cloudDirectConnect.interconnect,\n                                                                      bandwidth: cloudDirectConnect.bandwidth,\n                                                                      cloudPlatform: cloudDirectConnect.cloudPlatform,\n                                                                      additionalOptions: additionalOptions,\n                                                                      specialNotesAndRequirements: cloudDirectConnect.specialNotesAndRequirements\n                                                                    }, mainIndex, subIndex);\n                                                              }),\n                                                            children: JsxRuntime.jsx(UserColocationRfpProjectWizardTooltip.make, {\n                                                                  field: \"Cloud Direct Connects \" + additionalOption,\n                                                                  children: additionalOption\n                                                                })\n                                                          }, additionalOption);\n                                              })),\n                                        className: css.subSection\n                                      }),\n                                  JsxRuntime.jsx(\"div\", {\n                                        children: JsxRuntime.jsxs(\"div\", {\n                                              children: [\n                                                JsxRuntime.jsx(Label.make, {\n                                                      forId: generateId(\"special-notes-and-requirements\", mainIndex, \"cloud-direct-connect\", subIndex, undefined),\n                                                      children: \"Special Notes and Requirements\"\n                                                    }),\n                                                JsxRuntime.jsx(Textarea.make, {\n                                                      id: generateId(\"special-notes-and-requirements\", mainIndex, \"cloud-direct-connect\", subIndex, undefined),\n                                                      value: Belt_Option.getWithDefault(cloudDirectConnect.specialNotesAndRequirements, \"\"),\n                                                      onChange: (function ($$event) {\n                                                          var value = $$event.target.value;\n                                                          updateCloudDirectConnects(configuration, {\n                                                                interconnect: cloudDirectConnect.interconnect,\n                                                                bandwidth: cloudDirectConnect.bandwidth,\n                                                                cloudPlatform: cloudDirectConnect.cloudPlatform,\n                                                                additionalOptions: cloudDirectConnect.additionalOptions,\n                                                                specialNotesAndRequirements: value\n                                                              }, mainIndex, subIndex);\n                                                        })\n                                                    })\n                                              ],\n                                              className: Cx.cx([\n                                                    css.field,\n                                                    css.fullWidth\n                                                  ])\n                                            }),\n                                        className: css.subSection\n                                      })\n                                ],\n                                className: css.repeatedSection\n                              }, String(subIndex));\n                  })),\n            JsxRuntime.jsx(Button.make, {\n                  size: \"MD\",\n                  color: \"Gray\",\n                  buttonClassName: css.addRepeatedSection,\n                  onClick: (function (param) {\n                      updateConfiguration({\n                            key: configuration.key,\n                            startDate: configuration.startDate,\n                            contractLength: configuration.contractLength,\n                            rackTypesAndPowerDensities: configuration.rackTypesAndPowerDensities,\n                            internetConnectivities: configuration.internetConnectivities,\n                            crossConnects: configuration.crossConnects,\n                            cloudDirectConnects: Belt_Array.concat(configuration.cloudDirectConnects, [CreateColocationRfpProjectConfiguration_Data_CloudDirectConnect.Input.empty]),\n                            certificationRequirements: configuration.certificationRequirements,\n                            datacenterFeatures: configuration.datacenterFeatures,\n                            additionalNotesOrRequirements: configuration.additionalNotesOrRequirements\n                          }, mainIndex);\n                    }),\n                  children: \"+ Add Another\"\n                })\n          ]\n        }) : null;\n  return JsxRuntime.jsx(ProjectWizardPanel.CollapsableSection.make, {\n              title: \"Cloud Direct Connects\",\n              visibility: sectionVisibility,\n              toggleVisibility: (function () {\n                  toggleVisibility(mainIndex, \"CloudDirectConnect\");\n                }),\n              tooltip: (function (children) {\n                  return JsxRuntime.jsx(UserColocationRfpProjectWizardTooltip.make, {\n                              field: \"Cloud Direct Connects\",\n                              iconContainerClass: css.tooltipToRight,\n                              children: children\n                            });\n                }),\n              children: tmp\n            });\n}\n\nvar make = CreateColocationRfpProjectConfiguration_CloudDirectConnect;\n\nexport {\n  css ,\n  make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Checkbox from \"../../../../styleguide/forms/Checkbox/Checkbox.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 Caml_int32 from \"rescript/lib/es6/caml_int32.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ProjectWizardPanel from \"../_components/ProjectWizardPanel/ProjectWizardPanel.res.js\";\nimport * as UserColocationRfpProjectWizardTooltip from \"../_components/UserColocationRfpProjectWizardTooltip/UserColocationRfpProjectWizardTooltip.res.js\";\nimport * as CreateColocationRfpProjectConfigurationScss from \"./CreateColocationRfpProjectConfiguration.scss\";\n\nvar css = CreateColocationRfpProjectConfigurationScss;\n\nfunction CreateColocationRfpProjectConfiguration_DatecenterFeatures(props) {\n  var mobile = props.mobile;\n  var toggleVisibility = props.toggleVisibility;\n  var sectionVisibility = props.sectionVisibility;\n  var options = props.options;\n  var updateConfiguration = props.updateConfiguration;\n  var configuration = props.configuration;\n  var mainIndex = props.mainIndex;\n  var generateId = props.generateId;\n  var itemsPerRow = mobile ? 1 : 3;\n  var totalOptions = options.dataCenterFeatures.length;\n  var featuresNumOfRows = mobile ? totalOptions - 1 | 0 : Caml_int32.div(totalOptions, itemsPerRow);\n  var tmp;\n  tmp = sectionVisibility === \"Shown\" ? Belt_Array.mapWithIndex(Belt_Array.range(0, featuresNumOfRows), (function (index, param) {\n            return JsxRuntime.jsx(\"div\", {\n                        children: Belt_Array.map(Belt_Array.slice(options.dataCenterFeatures, Math.imul(index, itemsPerRow), itemsPerRow), (function (dataCenterFeature) {\n                                return JsxRuntime.jsx(Checkbox.WithLabel.make, {\n                                            id: generateId(\"datacenter-feature-\" + dataCenterFeature, mainIndex, undefined, undefined, undefined),\n                                            size: \"SM\",\n                                            checked: (function (__x) {\n                                                  return Js_array.includes(dataCenterFeature, __x);\n                                                })(configuration.datacenterFeatures),\n                                            containerClassName: css.option,\n                                            onChange: (function ($$event) {\n                                                var checked = $$event.target.checked;\n                                                var datacenterFeatures = checked ? Belt_Array.concat(configuration.datacenterFeatures, [dataCenterFeature]) : Belt_Array.keep(configuration.datacenterFeatures, (function (value) {\n                                                          return value !== dataCenterFeature;\n                                                        }));\n                                                updateConfiguration({\n                                                      key: configuration.key,\n                                                      startDate: configuration.startDate,\n                                                      contractLength: configuration.contractLength,\n                                                      rackTypesAndPowerDensities: configuration.rackTypesAndPowerDensities,\n                                                      internetConnectivities: configuration.internetConnectivities,\n                                                      crossConnects: configuration.crossConnects,\n                                                      cloudDirectConnects: configuration.cloudDirectConnects,\n                                                      certificationRequirements: configuration.certificationRequirements,\n                                                      datacenterFeatures: datacenterFeatures,\n                                                      additionalNotesOrRequirements: configuration.additionalNotesOrRequirements\n                                                    }, mainIndex);\n                                              }),\n                                            children: JsxRuntime.jsx(UserColocationRfpProjectWizardTooltip.make, {\n                                                  field: dataCenterFeature,\n                                                  children: dataCenterFeature\n                                                })\n                                          }, dataCenterFeature);\n                              })),\n                        className: css.featuresRow\n                      }, \"features-row\" + String(index));\n          })) : null;\n  return JsxRuntime.jsx(ProjectWizardPanel.CollapsableSection.make, {\n              title: \"Data Center Features\",\n              visibility: sectionVisibility,\n              toggleVisibility: (function () {\n                  toggleVisibility(mainIndex, \"DatacenterFeatures\");\n                }),\n              children: tmp\n            });\n}\n\nvar make = CreateColocationRfpProjectConfiguration_DatecenterFeatures;\n\nexport {\n  css ,\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 Label from \"../../../../styleguide/forms/Label/Label.res.js\";\nimport * as Button from \"../../../../styleguide/components/Button/Button.res.js\";\nimport * as Select from \"../../../../styleguide/forms/Select/Select.res.js\";\nimport * as Control from \"../../../../styleguide/components/Control/Control.res.js\";\nimport * as Checkbox from \"../../../../styleguide/forms/Checkbox/Checkbox.res.js\";\nimport * as Js_array from \"rescript/lib/es6/js_array.js\";\nimport * as Textarea from \"../../../../styleguide/forms/Textarea/Textarea.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as IconDelete from \"../../../../styleguide/icons/IconDelete.res.js\";\nimport * as Belt_Option from \"rescript/lib/es6/belt_Option.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ProjectWizardPanel from \"../_components/ProjectWizardPanel/ProjectWizardPanel.res.js\";\nimport * as UserColocationRfpProjectWizardTooltip from \"../_components/UserColocationRfpProjectWizardTooltip/UserColocationRfpProjectWizardTooltip.res.js\";\nimport * as CreateColocationRfpProjectConfigurationScss from \"./CreateColocationRfpProjectConfiguration.scss\";\nimport * as CreateColocationRfpProjectConfiguration_Data_InternetConnectivity from \"./CreateColocationRfpProjectConfiguration_Data_InternetConnectivity.res.js\";\n\nvar css = CreateColocationRfpProjectConfigurationScss;\n\nfunction CreateColocationRfpProjectConfiguration_InternetConnectivity(props) {\n  var toggleVisibility = props.toggleVisibility;\n  var sectionVisibility = props.sectionVisibility;\n  var options = props.options;\n  var updateConfiguration = props.updateConfiguration;\n  var configuration = props.configuration;\n  var mainIndex = props.mainIndex;\n  var generateId = props.generateId;\n  var updateInternetConnectivities = function (configuration, internetConnectivity, mainIndex, subIndex) {\n    var internetConnectivities = Belt_Array.mapWithIndex(configuration.internetConnectivities, (function (idx, oldinternetConnectivity) {\n            if (idx === subIndex) {\n              return internetConnectivity;\n            } else {\n              return oldinternetConnectivity;\n            }\n          }));\n    updateConfiguration({\n          key: configuration.key,\n          startDate: configuration.startDate,\n          contractLength: configuration.contractLength,\n          rackTypesAndPowerDensities: configuration.rackTypesAndPowerDensities,\n          internetConnectivities: internetConnectivities,\n          crossConnects: configuration.crossConnects,\n          cloudDirectConnects: configuration.cloudDirectConnects,\n          certificationRequirements: configuration.certificationRequirements,\n          datacenterFeatures: configuration.datacenterFeatures,\n          additionalNotesOrRequirements: configuration.additionalNotesOrRequirements\n        }, mainIndex);\n  };\n  var tmp;\n  tmp = sectionVisibility === \"Shown\" ? JsxRuntime.jsxs(JsxRuntime.Fragment, {\n          children: [\n            Belt_Array.mapWithIndex(configuration.internetConnectivities, (function (subIndex, internetConnectivity) {\n                    return JsxRuntime.jsxs(\"div\", {\n                                children: [\n                                  subIndex > 0 ? JsxRuntime.jsx(Control.make, {\n                                          className: css.deleteSubSection,\n                                          onClick: (function (param) {\n                                              var internetConnectivities = Belt_Array.keepWithIndex(configuration.internetConnectivities, (function (_value, index) {\n                                                      return index !== subIndex;\n                                                    }));\n                                              updateConfiguration({\n                                                    key: configuration.key,\n                                                    startDate: configuration.startDate,\n                                                    contractLength: configuration.contractLength,\n                                                    rackTypesAndPowerDensities: configuration.rackTypesAndPowerDensities,\n                                                    internetConnectivities: internetConnectivities,\n                                                    crossConnects: configuration.crossConnects,\n                                                    cloudDirectConnects: configuration.cloudDirectConnects,\n                                                    certificationRequirements: configuration.certificationRequirements,\n                                                    datacenterFeatures: configuration.datacenterFeatures,\n                                                    additionalNotesOrRequirements: configuration.additionalNotesOrRequirements\n                                                  }, mainIndex);\n                                            }),\n                                          children: JsxRuntime.jsx(IconDelete.make, {\n                                                size: \"SM\",\n                                                color: \"LightGray\"\n                                              })\n                                        }) : null,\n                                  JsxRuntime.jsxs(\"div\", {\n                                        children: [\n                                          JsxRuntime.jsxs(\"div\", {\n                                                children: [\n                                                  JsxRuntime.jsx(UserColocationRfpProjectWizardTooltip.make, {\n                                                        field: \"Interconnect\",\n                                                        children: JsxRuntime.jsx(Label.make, {\n                                                              forId: generateId(\"interconnect\", mainIndex, \"internet\", subIndex, undefined),\n                                                              children: \"Access Type\"\n                                                            })\n                                                      }),\n                                                  JsxRuntime.jsxs(Select.make, {\n                                                        id: generateId(\"interconnect\", mainIndex, \"internet\", subIndex, undefined),\n                                                        value: Belt_Option.getWithDefault(internetConnectivity.interconnect, \"\"),\n                                                        wrapperClassName: css.internetConnectivityInterconnect,\n                                                        iconSize: \"XXS\",\n                                                        iconColor: \"GrayText\",\n                                                        onChange: (function ($$event) {\n                                                            var value = $$event.target.value;\n                                                            updateInternetConnectivities(configuration, {\n                                                                  interconnect: value,\n                                                                  bandwidth: internetConnectivity.bandwidth,\n                                                                  provider: internetConnectivity.provider,\n                                                                  additionalOptions: internetConnectivity.additionalOptions,\n                                                                  specialNotesAndRequirements: internetConnectivity.specialNotesAndRequirements\n                                                                }, mainIndex, subIndex);\n                                                          }),\n                                                        children: [\n                                                          JsxRuntime.jsx(Select.$$Option.make, {\n                                                                value: \"\",\n                                                                children: \"Select\"\n                                                              }),\n                                                          Belt_Array.map(options.interconnect, (function (value) {\n                                                                  return JsxRuntime.jsx(Select.$$Option.make, {\n                                                                              value: value,\n                                                                              children: value\n                                                                            }, value);\n                                                                }))\n                                                        ]\n                                                      })\n                                                ],\n                                                className: css.field\n                                              }),\n                                          JsxRuntime.jsxs(\"div\", {\n                                                children: [\n                                                  JsxRuntime.jsx(UserColocationRfpProjectWizardTooltip.make, {\n                                                        field: \"Bandwidth\",\n                                                        children: JsxRuntime.jsx(Label.make, {\n                                                              forId: generateId(\"bandwidth\", mainIndex, \"internet\", subIndex, undefined),\n                                                              children: \"Bandwidth\"\n                                                            })\n                                                      }),\n                                                  JsxRuntime.jsxs(Select.make, {\n                                                        id: generateId(\"bandwidth\", mainIndex, \"internet\", subIndex, undefined),\n                                                        value: Belt_Option.getWithDefault(internetConnectivity.bandwidth, \"\"),\n                                                        wrapperClassName: css.internetConnectivityBandwidth,\n                                                        iconSize: \"XXS\",\n                                                        iconColor: \"GrayText\",\n                                                        onChange: (function ($$event) {\n                                                            var value = $$event.target.value;\n                                                            updateInternetConnectivities(configuration, {\n                                                                  interconnect: internetConnectivity.interconnect,\n                                                                  bandwidth: value,\n                                                                  provider: internetConnectivity.provider,\n                                                                  additionalOptions: internetConnectivity.additionalOptions,\n                                                                  specialNotesAndRequirements: internetConnectivity.specialNotesAndRequirements\n                                                                }, mainIndex, subIndex);\n                                                          }),\n                                                        children: [\n                                                          JsxRuntime.jsx(Select.$$Option.make, {\n                                                                value: \"\",\n                                                                children: \"Select\"\n                                                              }),\n                                                          Belt_Array.map(options.bandwidths, (function (value) {\n                                                                  return JsxRuntime.jsx(Select.$$Option.make, {\n                                                                              value: value,\n                                                                              children: value\n                                                                            }, value);\n                                                                }))\n                                                        ]\n                                                      })\n                                                ],\n                                                className: css.field\n                                              }),\n                                          JsxRuntime.jsxs(\"div\", {\n                                                children: [\n                                                  JsxRuntime.jsx(UserColocationRfpProjectWizardTooltip.make, {\n                                                        field: \"Preferred Provider\",\n                                                        children: JsxRuntime.jsx(Label.make, {\n                                                              forId: generateId(\"provider\", mainIndex, \"internet\", subIndex, undefined),\n                                                              children: \"Preferred Provider\"\n                                                            })\n                                                      }),\n                                                  JsxRuntime.jsxs(Select.make, {\n                                                        id: generateId(\"provider\", mainIndex, \"internet\", subIndex, undefined),\n                                                        value: Belt_Option.getWithDefault(internetConnectivity.provider, \"\"),\n                                                        wrapperClassName: css.internetConnectivityPreferredProvider,\n                                                        iconSize: \"XXS\",\n                                                        iconColor: \"GrayText\",\n                                                        onChange: (function ($$event) {\n                                                            var value = $$event.target.value;\n                                                            updateInternetConnectivities(configuration, {\n                                                                  interconnect: internetConnectivity.interconnect,\n                                                                  bandwidth: internetConnectivity.bandwidth,\n                                                                  provider: value,\n                                                                  additionalOptions: internetConnectivity.additionalOptions,\n                                                                  specialNotesAndRequirements: internetConnectivity.specialNotesAndRequirements\n                                                                }, mainIndex, subIndex);\n                                                          }),\n                                                        children: [\n                                                          JsxRuntime.jsx(Select.$$Option.make, {\n                                                                value: \"\",\n                                                                children: \"Select\"\n                                                              }),\n                                                          Belt_Array.map(options.providers, (function (value) {\n                                                                  return JsxRuntime.jsx(Select.$$Option.make, {\n                                                                              value: value,\n                                                                              children: value\n                                                                            }, value);\n                                                                }))\n                                                        ]\n                                                      })\n                                                ],\n                                                className: css.field\n                                              })\n                                        ],\n                                        className: css.subSection\n                                      }),\n                                  JsxRuntime.jsx(\"div\", {\n                                        children: Belt_Array.map(options.additionalInternetConnectivity, (function (additionalOption) {\n                                                return JsxRuntime.jsx(Checkbox.WithLabel.make, {\n                                                            id: generateId(\"additional-option-\" + additionalOption, mainIndex, \"internet\", subIndex, undefined),\n                                                            size: \"SM\",\n                                                            checked: (function (__x) {\n                                                                  return Js_array.includes(additionalOption, __x);\n                                                                })(internetConnectivity.additionalOptions),\n                                                            containerClassName: css.option,\n                                                            onChange: (function ($$event) {\n                                                                var checked = $$event.target.checked;\n                                                                var additionalOptions = checked ? Belt_Array.concat(internetConnectivity.additionalOptions, [additionalOption]) : Belt_Array.keep(internetConnectivity.additionalOptions, (function (value) {\n                                                                          return value !== additionalOption;\n                                                                        }));\n                                                                updateInternetConnectivities(configuration, {\n                                                                      interconnect: internetConnectivity.interconnect,\n                                                                      bandwidth: internetConnectivity.bandwidth,\n                                                                      provider: internetConnectivity.provider,\n                                                                      additionalOptions: additionalOptions,\n                                                                      specialNotesAndRequirements: internetConnectivity.specialNotesAndRequirements\n                                                                    }, mainIndex, subIndex);\n                                                              }),\n                                                            children: JsxRuntime.jsx(UserColocationRfpProjectWizardTooltip.make, {\n                                                                  field: additionalOption,\n                                                                  children: additionalOption\n                                                                })\n                                                          }, additionalOption);\n                                              })),\n                                        className: css.subSection\n                                      }),\n                                  JsxRuntime.jsx(\"div\", {\n                                        children: JsxRuntime.jsxs(\"div\", {\n                                              children: [\n                                                JsxRuntime.jsx(Label.make, {\n                                                      forId: generateId(\"special-notes-and-requirements\", mainIndex, \"internet\", subIndex, undefined),\n                                                      children: \"Special Notes and Requirements\"\n                                                    }),\n                                                JsxRuntime.jsx(Textarea.make, {\n                                                      id: generateId(\"special-notes-and-requirements\", mainIndex, \"internet\", subIndex, undefined),\n                                                      value: Belt_Option.getWithDefault(internetConnectivity.specialNotesAndRequirements, \"\"),\n                                                      className: css.internetConnectivitySpecialNotes,\n                                                      onChange: (function ($$event) {\n                                                          var value = $$event.target.value;\n                                                          updateInternetConnectivities(configuration, {\n                                                                interconnect: internetConnectivity.interconnect,\n                                                                bandwidth: internetConnectivity.bandwidth,\n                                                                provider: internetConnectivity.provider,\n                                                                additionalOptions: internetConnectivity.additionalOptions,\n                                                                specialNotesAndRequirements: value\n                                                              }, mainIndex, subIndex);\n                                                        })\n                                                    })\n                                              ],\n                                              className: Cx.cx([\n                                                    css.field,\n                                                    css.fullWidth\n                                                  ])\n                                            }),\n                                        className: css.subSection\n                                      })\n                                ],\n                                className: css.repeatedSection\n                              }, String(subIndex));\n                  })),\n            JsxRuntime.jsx(Button.make, {\n                  size: \"MD\",\n                  color: \"Gray\",\n                  buttonClassName: css.addRepeatedSection,\n                  onClick: (function (param) {\n                      updateConfiguration({\n                            key: configuration.key,\n                            startDate: configuration.startDate,\n                            contractLength: configuration.contractLength,\n                            rackTypesAndPowerDensities: configuration.rackTypesAndPowerDensities,\n                            internetConnectivities: Belt_Array.concat(configuration.internetConnectivities, [CreateColocationRfpProjectConfiguration_Data_InternetConnectivity.Input.empty]),\n                            crossConnects: configuration.crossConnects,\n                            cloudDirectConnects: configuration.cloudDirectConnects,\n                            certificationRequirements: configuration.certificationRequirements,\n                            datacenterFeatures: configuration.datacenterFeatures,\n                            additionalNotesOrRequirements: configuration.additionalNotesOrRequirements\n                          }, mainIndex);\n                    }),\n                  children: \"+ Add Another\"\n                })\n          ]\n        }) : null;\n  return JsxRuntime.jsx(ProjectWizardPanel.CollapsableSection.make, {\n              title: \"Bandwidth Requirements\",\n              visibility: sectionVisibility,\n              toggleVisibility: (function () {\n                  toggleVisibility(mainIndex, \"InternetConnectivity\");\n                }),\n              children: tmp\n            });\n}\n\nvar make = CreateColocationRfpProjectConfiguration_InternetConnectivity;\n\nexport {\n  css ,\n  make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Checkbox from \"../../../../styleguide/forms/Checkbox/Checkbox.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 Caml_int32 from \"rescript/lib/es6/caml_int32.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ProjectWizardPanel from \"../_components/ProjectWizardPanel/ProjectWizardPanel.res.js\";\nimport * as UserColocationRfpProjectWizardTooltip from \"../_components/UserColocationRfpProjectWizardTooltip/UserColocationRfpProjectWizardTooltip.res.js\";\nimport * as CreateColocationRfpProjectConfigurationScss from \"./CreateColocationRfpProjectConfiguration.scss\";\n\nvar css = CreateColocationRfpProjectConfigurationScss;\n\nfunction CreateColocationRfpProjectConfiguration_CertificationRequirements(props) {\n  var mobile = props.mobile;\n  var toggleVisibility = props.toggleVisibility;\n  var sectionVisibility = props.sectionVisibility;\n  var options = props.options;\n  var updateConfiguration = props.updateConfiguration;\n  var configuration = props.configuration;\n  var mainIndex = props.mainIndex;\n  var generateId = props.generateId;\n  var itemsPerRow = mobile ? 1 : 3;\n  var totalOptions = options.certificationRequirements.length;\n  var certificationsNumOfRows = mobile ? totalOptions - 1 | 0 : Caml_int32.div(totalOptions, itemsPerRow);\n  var tmp;\n  tmp = sectionVisibility === \"Shown\" ? Belt_Array.mapWithIndex(Belt_Array.range(0, certificationsNumOfRows), (function (index, param) {\n            return JsxRuntime.jsx(\"div\", {\n                        children: Belt_Array.map(Belt_Array.slice(options.certificationRequirements, Math.imul(index, itemsPerRow), itemsPerRow), (function (certificationRequirement) {\n                                return JsxRuntime.jsx(Checkbox.WithLabel.make, {\n                                            id: generateId(\"certification-requirement-\" + certificationRequirement, mainIndex, undefined, undefined, undefined),\n                                            size: \"SM\",\n                                            checked: (function (__x) {\n                                                  return Js_array.includes(certificationRequirement, __x);\n                                                })(configuration.certificationRequirements),\n                                            containerClassName: css.option,\n                                            onChange: (function ($$event) {\n                                                var checked = $$event.target.checked;\n                                                var certificationRequirements = checked ? Belt_Array.concat(configuration.certificationRequirements, [certificationRequirement]) : Belt_Array.keep(configuration.certificationRequirements, (function (value) {\n                                                          return value !== certificationRequirement;\n                                                        }));\n                                                updateConfiguration({\n                                                      key: configuration.key,\n                                                      startDate: configuration.startDate,\n                                                      contractLength: configuration.contractLength,\n                                                      rackTypesAndPowerDensities: configuration.rackTypesAndPowerDensities,\n                                                      internetConnectivities: configuration.internetConnectivities,\n                                                      crossConnects: configuration.crossConnects,\n                                                      cloudDirectConnects: configuration.cloudDirectConnects,\n                                                      certificationRequirements: certificationRequirements,\n                                                      datacenterFeatures: configuration.datacenterFeatures,\n                                                      additionalNotesOrRequirements: configuration.additionalNotesOrRequirements\n                                                    }, mainIndex);\n                                              }),\n                                            children: JsxRuntime.jsx(UserColocationRfpProjectWizardTooltip.make, {\n                                                  field: certificationRequirement,\n                                                  children: certificationRequirement\n                                                })\n                                          }, certificationRequirement);\n                              })),\n                        className: css.certificationRow\n                      }, \"certifications-row\" + String(index));\n          })) : null;\n  return JsxRuntime.jsx(ProjectWizardPanel.CollapsableSection.make, {\n              title: \"Certification Requirements\",\n              visibility: sectionVisibility,\n              toggleVisibility: (function () {\n                  toggleVisibility(mainIndex, \"CertificationRequirements\");\n                }),\n              children: tmp\n            });\n}\n\nvar make = CreateColocationRfpProjectConfiguration_CertificationRequirements;\n\nexport {\n  css ,\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 Label from \"../../../../styleguide/forms/Label/Label.res.js\";\nimport * as Button from \"../../../../styleguide/components/Button/Button.res.js\";\nimport * as Select from \"../../../../styleguide/forms/Select/Select.res.js\";\nimport * as Control from \"../../../../styleguide/components/Control/Control.res.js\";\nimport * as Checkbox from \"../../../../styleguide/forms/Checkbox/Checkbox.res.js\";\nimport * as Js_array from \"rescript/lib/es6/js_array.js\";\nimport * as TextField from \"../../../../styleguide/forms/TextField/TextField.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as IconDelete from \"../../../../styleguide/icons/IconDelete.res.js\";\nimport * as Belt_Option from \"rescript/lib/es6/belt_Option.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ProjectWizardPanel from \"../_components/ProjectWizardPanel/ProjectWizardPanel.res.js\";\nimport * as UserColocationRfpProjectWizardTooltip from \"../_components/UserColocationRfpProjectWizardTooltip/UserColocationRfpProjectWizardTooltip.res.js\";\nimport * as CreateColocationRfpProjectConfigurationScss from \"./CreateColocationRfpProjectConfiguration.scss\";\nimport * as CreateColocationRfpProjectConfiguration_Data_RackTypesAndPowerDensity from \"./CreateColocationRfpProjectConfiguration_Data_RackTypesAndPowerDensity.res.js\";\n\nvar css = CreateColocationRfpProjectConfigurationScss;\n\nfunction CreateColocationRfpProjectConfiguration_RackTypesAndPowerDensities(props) {\n  var options = props.options;\n  var updateConfiguration = props.updateConfiguration;\n  var configuration = props.configuration;\n  var mainValidationResults = props.mainValidationResults;\n  var mainIndex = props.mainIndex;\n  var generateId = props.generateId;\n  var updateRackTypes = function (configuration, rackType, mainIndex, subIndex) {\n    var newRackTypes = Belt_Array.mapWithIndex(configuration.rackTypesAndPowerDensities, (function (idx, oldRackType) {\n            if (idx === subIndex) {\n              return rackType;\n            } else {\n              return oldRackType;\n            }\n          }));\n    updateConfiguration({\n          key: configuration.key,\n          startDate: configuration.startDate,\n          contractLength: configuration.contractLength,\n          rackTypesAndPowerDensities: newRackTypes,\n          internetConnectivities: configuration.internetConnectivities,\n          crossConnects: configuration.crossConnects,\n          cloudDirectConnects: configuration.cloudDirectConnects,\n          certificationRequirements: configuration.certificationRequirements,\n          datacenterFeatures: configuration.datacenterFeatures,\n          additionalNotesOrRequirements: configuration.additionalNotesOrRequirements\n        }, mainIndex);\n  };\n  return JsxRuntime.jsxs(ProjectWizardPanel.Section.make, {\n              title: \"Space and Power Requirements\",\n              children: [\n                Belt_Array.mapWithIndex(configuration.rackTypesAndPowerDensities, (function (subIndex, rackType) {\n                        var subValidationResults = mainValidationResults !== undefined ? Belt_Array.get(mainValidationResults.rackTypesAndPowerDensities, subIndex) : undefined;\n                        var value = rackType.quantity;\n                        var value$1 = rackType.powerValue;\n                        return JsxRuntime.jsxs(\"div\", {\n                                    children: [\n                                      subIndex > 0 ? JsxRuntime.jsx(Control.make, {\n                                              className: css.deleteSubSection,\n                                              onClick: (function (param) {\n                                                  var rackTypesAndPowerDensities = Belt_Array.keepWithIndex(configuration.rackTypesAndPowerDensities, (function (_value, index) {\n                                                          return index !== subIndex;\n                                                        }));\n                                                  updateConfiguration({\n                                                        key: configuration.key,\n                                                        startDate: configuration.startDate,\n                                                        contractLength: configuration.contractLength,\n                                                        rackTypesAndPowerDensities: rackTypesAndPowerDensities,\n                                                        internetConnectivities: configuration.internetConnectivities,\n                                                        crossConnects: configuration.crossConnects,\n                                                        cloudDirectConnects: configuration.cloudDirectConnects,\n                                                        certificationRequirements: configuration.certificationRequirements,\n                                                        datacenterFeatures: configuration.datacenterFeatures,\n                                                        additionalNotesOrRequirements: configuration.additionalNotesOrRequirements\n                                                      }, mainIndex);\n                                                }),\n                                              children: JsxRuntime.jsx(IconDelete.make, {\n                                                    size: \"SM\",\n                                                    color: \"LightGray\"\n                                                  })\n                                            }) : null,\n                                      JsxRuntime.jsxs(\"div\", {\n                                            children: [\n                                              JsxRuntime.jsxs(\"div\", {\n                                                    children: [\n                                                      JsxRuntime.jsx(Label.make, {\n                                                            forId: generateId(\"quantity\", mainIndex, \"rack\", subIndex, undefined),\n                                                            status: Belt_Option.map(subValidationResults, (function (x) {\n                                                                    return x.quantity;\n                                                                  })),\n                                                            className: css.required,\n                                                            children: \"Quantity\"\n                                                          }),\n                                                      JsxRuntime.jsx(TextField.make, {\n                                                            id: generateId(\"quantity\", mainIndex, \"rack\", subIndex, undefined),\n                                                            value: value !== undefined ? String(value) : \"\",\n                                                            status: Belt_Option.map(subValidationResults, (function (x) {\n                                                                    if (x.quantity.TAG === \"Ok\") {\n                                                                      return \"Valid\";\n                                                                    } else {\n                                                                      return \"Error\";\n                                                                    }\n                                                                  })),\n                                                            className: css.rackTypeQuantity,\n                                                            onChange: (function ($$event) {\n                                                                var value = $$event.target.value;\n                                                                updateRackTypes(configuration, {\n                                                                      quantity: value,\n                                                                      colocationSpace: rackType.colocationSpace,\n                                                                      powerCircuit: rackType.powerCircuit,\n                                                                      powerValue: rackType.powerValue,\n                                                                      powerUnits: rackType.powerUnits,\n                                                                      additionalOptions: rackType.additionalOptions\n                                                                    }, mainIndex, subIndex);\n                                                              })\n                                                          })\n                                                    ],\n                                                    className: css.field\n                                                  }),\n                                              JsxRuntime.jsxs(\"div\", {\n                                                    children: [\n                                                      JsxRuntime.jsx(UserColocationRfpProjectWizardTooltip.make, {\n                                                            field: \"Colocation space\",\n                                                            children: JsxRuntime.jsx(Label.make, {\n                                                                  forId: generateId(\"colocation-space\", mainIndex, \"rack\", subIndex, undefined),\n                                                                  status: Belt_Option.map(subValidationResults, (function (x) {\n                                                                          return x.colocationSpace;\n                                                                        })),\n                                                                  className: css.required,\n                                                                  children: \"Colocation Space\"\n                                                                })\n                                                          }),\n                                                      JsxRuntime.jsxs(Select.make, {\n                                                            id: generateId(\"colocation-space\", mainIndex, \"rack\", subIndex, undefined),\n                                                            value: Belt_Option.getWithDefault(rackType.colocationSpace, \"\"),\n                                                            status: Belt_Option.map(subValidationResults, (function (x) {\n                                                                    if (x.colocationSpace.TAG === \"Ok\") {\n                                                                      return \"Valid\";\n                                                                    } else {\n                                                                      return \"Error\";\n                                                                    }\n                                                                  })),\n                                                            wrapperClassName: css.rackTypeColocationSpace,\n                                                            iconSize: \"XXS\",\n                                                            iconColor: \"GrayText\",\n                                                            onChange: (function ($$event) {\n                                                                var value = $$event.target.value;\n                                                                updateRackTypes(configuration, {\n                                                                      quantity: rackType.quantity,\n                                                                      colocationSpace: value,\n                                                                      powerCircuit: rackType.powerCircuit,\n                                                                      powerValue: rackType.powerValue,\n                                                                      powerUnits: rackType.powerUnits,\n                                                                      additionalOptions: rackType.additionalOptions\n                                                                    }, mainIndex, subIndex);\n                                                              }),\n                                                            children: [\n                                                              JsxRuntime.jsx(Select.DefaultOption.make, {\n                                                                    children: \"Select\"\n                                                                  }),\n                                                              Belt_Array.map(options.colocationSpace, (function (value) {\n                                                                      return JsxRuntime.jsx(Select.$$Option.make, {\n                                                                                  value: value,\n                                                                                  children: value\n                                                                                }, value);\n                                                                    }))\n                                                            ]\n                                                          })\n                                                    ],\n                                                    className: css.field\n                                                  }),\n                                              JsxRuntime.jsxs(\"div\", {\n                                                    children: [\n                                                      JsxRuntime.jsx(UserColocationRfpProjectWizardTooltip.make, {\n                                                            field: \"Power circuit\",\n                                                            children: JsxRuntime.jsx(Label.make, {\n                                                                  forId: generateId(\"power-circuit\", mainIndex, \"rack\", subIndex, undefined),\n                                                                  children: \"Circuit Type\"\n                                                                })\n                                                          }),\n                                                      JsxRuntime.jsxs(Select.make, {\n                                                            id: generateId(\"power-circuit\", mainIndex, \"rack\", subIndex, undefined),\n                                                            value: Belt_Option.getWithDefault(rackType.powerCircuit, \"\"),\n                                                            wrapperClassName: css.powerDensityPowerCircuit,\n                                                            iconSize: \"XXS\",\n                                                            iconColor: \"GrayText\",\n                                                            onChange: (function ($$event) {\n                                                                var value = $$event.target.value;\n                                                                updateRackTypes(configuration, {\n                                                                      quantity: rackType.quantity,\n                                                                      colocationSpace: rackType.colocationSpace,\n                                                                      powerCircuit: value,\n                                                                      powerValue: rackType.powerValue,\n                                                                      powerUnits: rackType.powerUnits,\n                                                                      additionalOptions: rackType.additionalOptions\n                                                                    }, mainIndex, subIndex);\n                                                              }),\n                                                            children: [\n                                                              JsxRuntime.jsx(Select.DefaultOption.make, {\n                                                                    selectable: true,\n                                                                    children: \"Select\"\n                                                                  }),\n                                                              Belt_Array.map(options.powerCircuit, (function (value) {\n                                                                      return JsxRuntime.jsx(Select.$$Option.make, {\n                                                                                  value: value,\n                                                                                  children: value\n                                                                                }, value);\n                                                                    }))\n                                                            ]\n                                                          })\n                                                    ],\n                                                    className: Cx.cx([\n                                                          css.field,\n                                                          css.noRightMargin\n                                                        ])\n                                                  }),\n                                              JsxRuntime.jsx(\"div\", {\n                                                    children: \"or\",\n                                                    className: css.powerDensityOrLabel\n                                                  }),\n                                              JsxRuntime.jsxs(\"div\", {\n                                                    children: [\n                                                      JsxRuntime.jsx(UserColocationRfpProjectWizardTooltip.make, {\n                                                            field: \"Total Power\",\n                                                            children: JsxRuntime.jsx(Label.make, {\n                                                                  forId: generateId(\"power-value\", mainIndex, \"rack\", subIndex, undefined),\n                                                                  status: Belt_Option.map(subValidationResults, (function (x) {\n                                                                          return x.powerValue;\n                                                                        })),\n                                                                  children: \"Total Power\"\n                                                                })\n                                                          }),\n                                                      JsxRuntime.jsxs(\"div\", {\n                                                            children: [\n                                                              JsxRuntime.jsx(TextField.make, {\n                                                                    id: generateId(\"power-value\", mainIndex, \"rack\", subIndex, undefined),\n                                                                    value: value$1 !== undefined ? String(value$1) : \"\",\n                                                                    status: Belt_Option.map(subValidationResults, (function (x) {\n                                                                            if (x.powerValue.TAG === \"Ok\") {\n                                                                              return \"Valid\";\n                                                                            } else {\n                                                                              return \"Error\";\n                                                                            }\n                                                                          })),\n                                                                    className: css.powerDensityPowerValue,\n                                                                    onChange: (function ($$event) {\n                                                                        var value = $$event.target.value;\n                                                                        var tmp = value === \"\" ? undefined : value;\n                                                                        updateRackTypes(configuration, {\n                                                                              quantity: rackType.quantity,\n                                                                              colocationSpace: rackType.colocationSpace,\n                                                                              powerCircuit: rackType.powerCircuit,\n                                                                              powerValue: tmp,\n                                                                              powerUnits: rackType.powerUnits,\n                                                                              additionalOptions: rackType.additionalOptions\n                                                                            }, mainIndex, subIndex);\n                                                                      })\n                                                                  }),\n                                                              JsxRuntime.jsxs(Select.make, {\n                                                                    id: generateId(\"power-units\", mainIndex, \"rack\", subIndex, undefined),\n                                                                    value: Belt_Option.getWithDefault(rackType.powerUnits, \"\"),\n                                                                    status: Belt_Option.map(subValidationResults, (function (x) {\n                                                                            if (x.powerUnits.TAG === \"Ok\") {\n                                                                              return \"Valid\";\n                                                                            } else {\n                                                                              return \"Error\";\n                                                                            }\n                                                                          })),\n                                                                    className: css.powerDensityPowerUnitsSelect,\n                                                                    wrapperClassName: css.powerDensityPowerUnits,\n                                                                    iconSize: \"XXS\",\n                                                                    iconColor: \"GrayText\",\n                                                                    onChange: (function ($$event) {\n                                                                        var value = $$event.target.value;\n                                                                        updateRackTypes(configuration, {\n                                                                              quantity: rackType.quantity,\n                                                                              colocationSpace: rackType.colocationSpace,\n                                                                              powerCircuit: rackType.powerCircuit,\n                                                                              powerValue: rackType.powerValue,\n                                                                              powerUnits: value,\n                                                                              additionalOptions: rackType.additionalOptions\n                                                                            }, mainIndex, subIndex);\n                                                                      }),\n                                                                    children: [\n                                                                      JsxRuntime.jsx(Select.$$Option.make, {\n                                                                            value: \"\",\n                                                                            children: \"\"\n                                                                          }),\n                                                                      Belt_Array.map(options.powerUnits, (function (value) {\n                                                                              return JsxRuntime.jsx(Select.$$Option.make, {\n                                                                                          value: value,\n                                                                                          children: value\n                                                                                        }, value);\n                                                                            }))\n                                                                    ]\n                                                                  })\n                                                            ],\n                                                            className: css.powerDensityPowerContainer\n                                                          })\n                                                    ],\n                                                    className: css.field\n                                                  })\n                                            ],\n                                            className: css.subSection\n                                          }),\n                                      JsxRuntime.jsx(\"div\", {\n                                            children: Belt_Array.map(options.additionalSpaceAndPower, (function (spaceAndPower) {\n                                                    return JsxRuntime.jsx(Checkbox.WithLabel.make, {\n                                                                id: generateId(\"additional-option-\" + spaceAndPower, mainIndex, \"rack\", subIndex, undefined),\n                                                                size: \"SM\",\n                                                                checked: (function (__x) {\n                                                                      return Js_array.includes(spaceAndPower, __x);\n                                                                    })(rackType.additionalOptions),\n                                                                containerClassName: css.option,\n                                                                onChange: (function ($$event) {\n                                                                    var checked = $$event.target.checked;\n                                                                    var additionalOptions = checked ? Belt_Array.concat(rackType.additionalOptions, [spaceAndPower]) : Belt_Array.keep(rackType.additionalOptions, (function (value) {\n                                                                              return value !== spaceAndPower;\n                                                                            }));\n                                                                    updateRackTypes(configuration, {\n                                                                          quantity: rackType.quantity,\n                                                                          colocationSpace: rackType.colocationSpace,\n                                                                          powerCircuit: rackType.powerCircuit,\n                                                                          powerValue: rackType.powerValue,\n                                                                          powerUnits: rackType.powerUnits,\n                                                                          additionalOptions: additionalOptions\n                                                                        }, mainIndex, subIndex);\n                                                                  }),\n                                                                children: JsxRuntime.jsx(UserColocationRfpProjectWizardTooltip.make, {\n                                                                      field: spaceAndPower,\n                                                                      children: spaceAndPower\n                                                                    })\n                                                              }, spaceAndPower);\n                                                  })),\n                                            className: css.subSection\n                                          })\n                                    ],\n                                    className: css.repeatedSection\n                                  }, String(subIndex));\n                      })),\n                JsxRuntime.jsx(Button.make, {\n                      size: \"SM\",\n                      color: \"Gray\",\n                      buttonClassName: css.addRepeatedSection,\n                      onClick: (function (param) {\n                          updateConfiguration({\n                                key: configuration.key,\n                                startDate: configuration.startDate,\n                                contractLength: configuration.contractLength,\n                                rackTypesAndPowerDensities: Belt_Array.concat(configuration.rackTypesAndPowerDensities, [CreateColocationRfpProjectConfiguration_Data_RackTypesAndPowerDensity.Input.empty]),\n                                internetConnectivities: configuration.internetConnectivities,\n                                crossConnects: configuration.crossConnects,\n                                cloudDirectConnects: configuration.cloudDirectConnects,\n                                certificationRequirements: configuration.certificationRequirements,\n                                datacenterFeatures: configuration.datacenterFeatures,\n                                additionalNotesOrRequirements: configuration.additionalNotesOrRequirements\n                              }, mainIndex);\n                        }),\n                      children: \"+ Add Another\"\n                    })\n              ]\n            });\n}\n\nvar make = CreateColocationRfpProjectConfiguration_RackTypesAndPowerDensities;\n\nexport {\n  css ,\n  make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Api from \"../../../../api/Api.res.js\";\nimport * as Url from \"../../../../utils/Url.res.js\";\nimport * as Hooks from \"../../../../libs/Hooks.res.js\";\nimport * as React from \"react\";\nimport * as Button from \"../../../../styleguide/components/Button/Button.res.js\";\nimport * as $$Promise from \"../../../../bindings/Promise.res.js\";\nimport * as Debounce from \"rescript-debounce/src/Debounce.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as Visibility from \"../../../../libs/Visibility.res.js\";\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as $$Notification from \"../../../../bindings/Notification.res.js\";\nimport * as SentryLogger from \"../../../../loggers/SentryLogger.res.js\";\nimport * as ProjectWizard from \"../_components/ProjectWizard/ProjectWizard.res.js\";\nimport * as Routes_Project from \"../../../../routes/common/Routes_Project.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ProjectWizardPanel from \"../_components/ProjectWizardPanel/ProjectWizardPanel.res.js\";\nimport * as ReactNotifications from \"react-notifications\";\nimport * as SignInModalContainer from \"../../../../styleguide/modals/SignInModal/SignInModalContainer.res.js\";\nimport * as ProjectWizardNavigation from \"../_components/ProjectWizardNavigation/ProjectWizardNavigation.res.js\";\nimport * as CreateColocationRfpProjectConfigurationScss from \"./CreateColocationRfpProjectConfiguration.scss\";\nimport * as CreateColocationRfpProjectConfiguration_BasicInfo from \"./CreateColocationRfpProjectConfiguration_BasicInfo.res.js\";\nimport * as CreateColocationRfpProjectConfiguration_CrossConnect from \"./CreateColocationRfpProjectConfiguration_CrossConnect.res.js\";\nimport * as CreateColocationRfpProjectConfiguration_AdditionalNotes from \"./CreateColocationRfpProjectConfiguration_AdditionalNotes.res.js\";\nimport * as CreateColocationRfpProjectConfiguration_CloudDirectConnect from \"./CreateColocationRfpProjectConfiguration_CloudDirectConnect.res.js\";\nimport * as CreateColocationRfpProjectConfiguration_DatecenterFeatures from \"./CreateColocationRfpProjectConfiguration_DatecenterFeatures.res.js\";\nimport * as CreateColocationRfpProjectConfiguration_InternetConnectivity from \"./CreateColocationRfpProjectConfiguration_InternetConnectivity.res.js\";\nimport * as CreateColocationRfpProjectConfiguration_CertificationRequirements from \"./CreateColocationRfpProjectConfiguration_CertificationRequirements.res.js\";\nimport * as CreateColocationRfpProjectConfiguration_RackTypesAndPowerDensities from \"./CreateColocationRfpProjectConfiguration_RackTypesAndPowerDensities.res.js\";\nimport * as CreateColocationRfpProjectConfiguration_Data_ColocationConfiguration from \"./CreateColocationRfpProjectConfiguration_Data_ColocationConfiguration.res.js\";\n\nvar css = CreateColocationRfpProjectConfigurationScss;\n\nvar $$default = {\n  colocationConfiguration: \"Shown\",\n  internetConnectivity: \"Hidden\",\n  crossConnect: \"Hidden\",\n  cloudDirectConnect: \"Hidden\",\n  certificationRequirements: \"Hidden\",\n  datacenterFeatures: \"Hidden\",\n  additionalNotes: \"Hidden\"\n};\n\nvar VisibilityState = {\n  $$default: $$default\n};\n\nfunction saveDraft(input) {\n  $$Promise.wait(Api.saveColocationRfpProjectConfigurationDraft(input), (function (x) {\n          if (x.TAG === \"Ok\") {\n            return $$Notification.NotificationManager.success(\"Draft saved!\", \"\", 1000);\n          }\n          SentryLogger.error1({\n                rootModule: \"CreateColocationRfpProjectConfiguration\",\n                subModulePath: /* [] */0,\n                value: \"saveDraft\",\n                fullPath: \"CreateColocationRfpProjectConfiguration.saveDraft\"\n              }, \"SaveProjectConfigurationDraft::Error\", [\n                \"Error\",\n                x._0\n              ]);\n          $$Notification.NotificationManager.error(\"Something went wrong trying to save the draft\", \"\", 1000);\n        }));\n}\n\nvar saveDraft$1 = Debounce.make(1000, (function (param) {\n        if (param[0] !== undefined) {\n          return ;\n        } else {\n          return saveDraft(param[1]);\n        }\n      }));\n\nvar Handlers = {\n  saveDraft: saveDraft$1\n};\n\nfunction CreateColocationRfpProjectConfiguration(props) {\n  var projectStatus = props.projectStatus;\n  var mobile = props.mobile;\n  var projectId = props.projectId;\n  var options = props.options;\n  var colocationConfigurations = props.colocationConfigurations;\n  var match = React.useState(function () {\n        var match = colocationConfigurations.length;\n        if (match !== 0) {\n          return colocationConfigurations;\n        } else {\n          return [CreateColocationRfpProjectConfiguration_Data_ColocationConfiguration.Input.empty()];\n        }\n      });\n  var setConfigurations = match[1];\n  var configurations = match[0];\n  var match$1 = React.useState(function () {\n        return Belt_Array.map(configurations, (function (param) {\n                      return $$default;\n                    }));\n      });\n  var setConfigurationVisibilities = match$1[1];\n  var configurationVisibilities = match$1[0];\n  var match$2 = React.useState(function () {\n        return \"Hidden\";\n      });\n  var toggleSignInModal = match$2[1];\n  var signInModal = match$2[0];\n  var saveColocationConfigurations = function (userAction, dispatch) {\n    $$Promise.wait(Api.createColocationRfpProjectConfiguration(configurations, projectId), (function (x) {\n            if (x.TAG === \"Ok\") {\n              if (projectId !== undefined) {\n                if (userAction === \"ClickOnSaveAndContinueLater\") {\n                  return Url.visit(Routes_Project.index);\n                } else {\n                  return Url.visit(Routes_Project.Colocation.$$Location.update(Caml_option.valFromOption(projectId)));\n                }\n              } else {\n                return Url.visit(Routes_Project.Colocation.$$Location.select);\n              }\n            }\n            SentryLogger.error1({\n                  rootModule: \"CreateColocationRfpProjectConfiguration\",\n                  subModulePath: /* [] */0,\n                  value: \"make\",\n                  fullPath: \"CreateColocationRfpProjectConfiguration.make\"\n                }, \"Save::Error\", [\n                  \"Error\",\n                  x._0\n                ]);\n            dispatch({\n                  TAG: \"SetErrorMessage\",\n                  _0: \"Validation failed, please verify\"\n                });\n          }));\n  };\n  var initialState_validationResults = [];\n  var initialState_userLoginStatus = props.userLoginStatus;\n  var initialState = {\n    status: \"Editing\",\n    validationResults: initialState_validationResults,\n    submissionError: false,\n    userLoginStatus: initialState_userLoginStatus,\n    errorMessage: undefined\n  };\n  var match$3 = Hooks.useReducer(initialState, (function (state, action) {\n          if (typeof action !== \"object\") {\n            switch (action) {\n              case \"Validate\" :\n                  return {\n                          TAG: \"Update\",\n                          _0: {\n                            status: state.status,\n                            validationResults: Belt_Array.map(configurations, CreateColocationRfpProjectConfiguration_Data_ColocationConfiguration.Validate.all),\n                            submissionError: state.submissionError,\n                            userLoginStatus: state.userLoginStatus,\n                            errorMessage: state.errorMessage\n                          }\n                        };\n              case \"FailSubmission\" :\n                  return {\n                          TAG: \"Update\",\n                          _0: {\n                            status: \"Editing\",\n                            validationResults: state.validationResults,\n                            submissionError: true,\n                            userLoginStatus: state.userLoginStatus,\n                            errorMessage: state.errorMessage\n                          }\n                        };\n              case \"SaveDraftProjectAndContinueLater\" :\n                  return {\n                          TAG: \"UpdateWithSideEffects\",\n                          _0: {\n                            status: state.status,\n                            validationResults: Belt_Array.map(configurations, (function (configuration) {\n                                    return {\n                                            startDate: CreateColocationRfpProjectConfiguration_Data_ColocationConfiguration.Validate.startDate(configuration),\n                                            contractLength: {\n                                              TAG: \"Ok\",\n                                              _0: undefined\n                                            },\n                                            rackTypesAndPowerDensities: [],\n                                            crossConnects: []\n                                          };\n                                  })),\n                            submissionError: state.submissionError,\n                            userLoginStatus: state.userLoginStatus,\n                            errorMessage: state.errorMessage\n                          },\n                          _1: (function (param) {\n                              var dispatch = param.dispatch;\n                              if (Belt_Array.every(param.state.validationResults, CreateColocationRfpProjectConfiguration_Data_ColocationConfiguration.Validate.valid)) {\n                                if (projectId !== undefined) {\n                                  return saveColocationConfigurations(\"ClickOnSaveAndContinueLater\", dispatch);\n                                } else {\n                                  return $$Promise.wait(Api.saveColocationDraftProjectAndContinueLater(\"Colocation\", {\n                                                  TAG: \"Colocation\",\n                                                  _0: \"Rfp\"\n                                                }, \"Draft\"), (function (x) {\n                                                if (x.TAG === \"Ok\") {\n                                                  return Url.visit(Routes_Project.index);\n                                                }\n                                                SentryLogger.error1({\n                                                      rootModule: \"CreateColocationRfpProjectConfiguration\",\n                                                      subModulePath: /* [] */0,\n                                                      value: \"make\",\n                                                      fullPath: \"CreateColocationRfpProjectConfiguration.make\"\n                                                    }, \"saveDraftProjectAndContinueLater::saveProjectDraft::Error\", [\n                                                      \"Error\",\n                                                      x._0\n                                                    ]);\n                                                dispatch({\n                                                      TAG: \"SetErrorMessage\",\n                                                      _0: \"Validation failed, please verify\"\n                                                    });\n                                              }));\n                                }\n                              }\n                              \n                            })\n                        };\n              \n            }\n          } else {\n            switch (action.TAG) {\n              case \"Submit\" :\n                  var userAction = action._0;\n                  var match = state.status;\n                  if (match === \"Editing\") {\n                    return {\n                            TAG: \"UpdateWithSideEffects\",\n                            _0: {\n                              status: state.status,\n                              validationResults: Belt_Array.map(configurations, CreateColocationRfpProjectConfiguration_Data_ColocationConfiguration.Validate.all),\n                              submissionError: state.submissionError,\n                              userLoginStatus: state.userLoginStatus,\n                              errorMessage: state.errorMessage\n                            },\n                            _1: (function (param) {\n                                if (Belt_Array.every(param.state.validationResults, CreateColocationRfpProjectConfiguration_Data_ColocationConfiguration.Validate.valid)) {\n                                  return saveColocationConfigurations(userAction, param.dispatch);\n                                }\n                                \n                              })\n                          };\n                  } else {\n                    return \"NoUpdate\";\n                  }\n              case \"ToggleLoginStatus\" :\n                  return {\n                          TAG: \"UpdateWithSideEffects\",\n                          _0: {\n                            status: state.status,\n                            validationResults: state.validationResults,\n                            submissionError: state.submissionError,\n                            userLoginStatus: action._0,\n                            errorMessage: state.errorMessage\n                          },\n                          _1: (function (param) {\n                              param.dispatch(\"SaveDraftProjectAndContinueLater\");\n                            })\n                        };\n              case \"SetErrorMessage\" :\n                  return {\n                          TAG: \"Update\",\n                          _0: {\n                            status: state.status,\n                            validationResults: state.validationResults,\n                            submissionError: state.submissionError,\n                            userLoginStatus: state.userLoginStatus,\n                            errorMessage: action._0\n                          }\n                        };\n              \n            }\n          }\n        }));\n  var dispatch = match$3[1];\n  var state = match$3[0];\n  var generateId = function (fieldName, mainIndex, subType, subIndex, param) {\n    return \"colocation-configuration-\" + (String(mainIndex) + ((\n                subType !== undefined ? \"-\" + subType : \"\"\n              ) + ((\n                  subIndex !== undefined ? \"-\" + String(subIndex) : \"\"\n                ) + (\"--\" + fieldName))));\n  };\n  var updateConfiguration = function (configuration, index) {\n    var newConfigurations = Belt_Array.mapWithIndex(configurations, (function (idx, oldConfiguration) {\n            if (idx === index) {\n              return configuration;\n            } else {\n              return oldConfiguration;\n            }\n          }));\n    setConfigurations(function (param) {\n          return newConfigurations;\n        });\n    saveDraft$1([\n          projectId,\n          newConfigurations\n        ]);\n  };\n  var toggleVisibility = function (index, section) {\n    var visibilities = Belt_Array.mapWithIndex(configurationVisibilities, (function (idx, visibility) {\n            if (index === idx) {\n              if (section === \"DatacenterFeatures\") {\n                return {\n                        colocationConfiguration: visibility.colocationConfiguration,\n                        internetConnectivity: visibility.internetConnectivity,\n                        crossConnect: visibility.crossConnect,\n                        cloudDirectConnect: visibility.cloudDirectConnect,\n                        certificationRequirements: visibility.certificationRequirements,\n                        datacenterFeatures: Visibility.toggle(visibility.datacenterFeatures),\n                        additionalNotes: visibility.additionalNotes\n                      };\n              } else if (section === \"AdditionalNotes\") {\n                return {\n                        colocationConfiguration: visibility.colocationConfiguration,\n                        internetConnectivity: visibility.internetConnectivity,\n                        crossConnect: visibility.crossConnect,\n                        cloudDirectConnect: visibility.cloudDirectConnect,\n                        certificationRequirements: visibility.certificationRequirements,\n                        datacenterFeatures: visibility.datacenterFeatures,\n                        additionalNotes: Visibility.toggle(visibility.additionalNotes)\n                      };\n              } else if (section === \"InternetConnectivity\") {\n                return {\n                        colocationConfiguration: visibility.colocationConfiguration,\n                        internetConnectivity: Visibility.toggle(visibility.internetConnectivity),\n                        crossConnect: visibility.crossConnect,\n                        cloudDirectConnect: visibility.cloudDirectConnect,\n                        certificationRequirements: visibility.certificationRequirements,\n                        datacenterFeatures: visibility.datacenterFeatures,\n                        additionalNotes: visibility.additionalNotes\n                      };\n              } else if (section === \"CertificationRequirements\") {\n                return {\n                        colocationConfiguration: visibility.colocationConfiguration,\n                        internetConnectivity: visibility.internetConnectivity,\n                        crossConnect: visibility.crossConnect,\n                        cloudDirectConnect: visibility.cloudDirectConnect,\n                        certificationRequirements: Visibility.toggle(visibility.certificationRequirements),\n                        datacenterFeatures: visibility.datacenterFeatures,\n                        additionalNotes: visibility.additionalNotes\n                      };\n              } else if (section === \"CloudDirectConnect\") {\n                return {\n                        colocationConfiguration: visibility.colocationConfiguration,\n                        internetConnectivity: visibility.internetConnectivity,\n                        crossConnect: visibility.crossConnect,\n                        cloudDirectConnect: Visibility.toggle(visibility.cloudDirectConnect),\n                        certificationRequirements: visibility.certificationRequirements,\n                        datacenterFeatures: visibility.datacenterFeatures,\n                        additionalNotes: visibility.additionalNotes\n                      };\n              } else if (section === \"ColocationConfiguration\") {\n                return {\n                        colocationConfiguration: Visibility.toggle(visibility.colocationConfiguration),\n                        internetConnectivity: visibility.internetConnectivity,\n                        crossConnect: visibility.crossConnect,\n                        cloudDirectConnect: visibility.cloudDirectConnect,\n                        certificationRequirements: visibility.certificationRequirements,\n                        datacenterFeatures: visibility.datacenterFeatures,\n                        additionalNotes: visibility.additionalNotes\n                      };\n              } else {\n                return {\n                        colocationConfiguration: visibility.colocationConfiguration,\n                        internetConnectivity: visibility.internetConnectivity,\n                        crossConnect: Visibility.toggle(visibility.crossConnect),\n                        cloudDirectConnect: visibility.cloudDirectConnect,\n                        certificationRequirements: visibility.certificationRequirements,\n                        datacenterFeatures: visibility.datacenterFeatures,\n                        additionalNotes: visibility.additionalNotes\n                      };\n              }\n            } else {\n              return visibility;\n            }\n          }));\n    setConfigurationVisibilities(function (param) {\n          return visibilities;\n        });\n  };\n  var cancelCreation = function () {\n    $$Promise.wait(Api.cancelProjectCreation(), (function (x) {\n            if (x.TAG === \"Ok\") {\n              return Url.visit(Routes_Project.index);\n            } else {\n              return SentryLogger.error1({\n                          rootModule: \"CreateColocationRfpProjectConfiguration\",\n                          subModulePath: /* [] */0,\n                          value: \"make\",\n                          fullPath: \"CreateColocationRfpProjectConfiguration.make\"\n                        }, \"CancelProjectCreation::Error\", [\n                          \"Error\",\n                          x._0\n                        ]);\n            }\n          }));\n  };\n  var navigationPreviousControl_1 = function (param) {\n    cancelCreation();\n  };\n  var navigationPreviousControl = [\n    \"Cancel\",\n    navigationPreviousControl_1,\n    \"Enabled\"\n  ];\n  var navigationNextControl = React.useMemo((function () {\n          return [\n                  projectId !== undefined ? \"Save and Next\" : \"Next\",\n                  (function () {\n                      var match = state.userLoginStatus;\n                      if (match === \"LoggedIn\") {\n                        return dispatch({\n                                    TAG: \"Submit\",\n                                    _0: \"ClickOnNext\"\n                                  });\n                      } else {\n                        return toggleSignInModal(function (param) {\n                                    return Visibility.toggle(signInModal);\n                                  });\n                      }\n                    }),\n                  \"Enabled\"\n                ];\n        }), [\n        projectId,\n        state.userLoginStatus\n      ]);\n  var navigationContinueLaterControl = React.useMemo((function () {\n          var match = state.userLoginStatus;\n          if (match === \"LoggedIn\" && projectStatus === \"Draft\") {\n            return [\n                    \"Save and Continue Later\",\n                    (function () {\n                        dispatch(\"SaveDraftProjectAndContinueLater\");\n                      })\n                  ];\n          }\n          \n        }), [state.userLoginStatus]);\n  var tmp;\n  tmp = signInModal === \"Shown\" ? JsxRuntime.jsx(SignInModalContainer.make, {\n          close: (function () {\n              toggleSignInModal(function (param) {\n                    return Visibility.toggle(signInModal);\n                  });\n            }),\n          callback: (function () {\n              dispatch({\n                    TAG: \"ToggleLoginStatus\",\n                    _0: \"LoggedIn\"\n                  });\n              Url.visit(Routes_Project.Colocation.$$new);\n            }),\n          setUserData: props.setUserData,\n          subTitle: \"Sign In to save the project detail and continue later\"\n        }) : null;\n  return JsxRuntime.jsxs(ProjectWizard.Container.make, {\n              children: [\n                JsxRuntime.jsxs(ProjectWizard.Content.make, {\n                      children: [\n                        projectId !== undefined ? JsxRuntime.jsxs(JsxRuntime.Fragment, {\n                                children: [\n                                  JsxRuntime.jsx(ProjectWizard.H1.make, {\n                                        children: \"Edit Project\"\n                                      }),\n                                  JsxRuntime.jsx(ProjectWizard.H2.make, {\n                                        children: \"Add Colocation Configurations\"\n                                      })\n                                ]\n                              }) : JsxRuntime.jsxs(JsxRuntime.Fragment, {\n                                children: [\n                                  JsxRuntime.jsx(\"div\", {\n                                        children: JsxRuntime.jsx(ProjectWizard.H1.make, {\n                                              children: \"Step 1: Configure Your Colocation RFP\"\n                                            }),\n                                        className: css.tooltipAndHeadingWrapper\n                                      }),\n                                  JsxRuntime.jsx(ProjectWizard.H2.make, {\n                                        children: \"Select Your Space, Power, and Bandwidth Options\"\n                                      })\n                                ]\n                              }),\n                        JsxRuntime.jsx(\"div\", {\n                              children: \"Complete this easy 3-Step Colocation RFP form to get multiple quotes and proposals directly from colocation providers. Choose the pricing and service that works best for you.\",\n                              className: css.subHeading\n                            }),\n                        Belt_Array.mapWithIndex(configurations, (function (mainIndex, configuration) {\n                                var currentSectionVisibilities = Belt_Array.getExn(configurationVisibilities, mainIndex);\n                                var mainValidationResults = Belt_Array.get(state.validationResults, mainIndex);\n                                var match = configurations.length;\n                                var match$1 = currentSectionVisibilities.colocationConfiguration;\n                                var tmp;\n                                tmp = match$1 === \"Shown\" ? JsxRuntime.jsxs(JsxRuntime.Fragment, {\n                                        children: [\n                                          JsxRuntime.jsx(CreateColocationRfpProjectConfiguration_BasicInfo.make, {\n                                                generateId: generateId,\n                                                mainIndex: mainIndex,\n                                                mainValidationResults: mainValidationResults,\n                                                configuration: configuration,\n                                                updateConfiguration: updateConfiguration,\n                                                options: options\n                                              }),\n                                          JsxRuntime.jsx(CreateColocationRfpProjectConfiguration_RackTypesAndPowerDensities.make, {\n                                                generateId: generateId,\n                                                mainIndex: mainIndex,\n                                                mainValidationResults: mainValidationResults,\n                                                configuration: configuration,\n                                                updateConfiguration: updateConfiguration,\n                                                options: options\n                                              }),\n                                          JsxRuntime.jsx(CreateColocationRfpProjectConfiguration_InternetConnectivity.make, {\n                                                generateId: generateId,\n                                                mainIndex: mainIndex,\n                                                configuration: configuration,\n                                                updateConfiguration: updateConfiguration,\n                                                options: options,\n                                                sectionVisibility: currentSectionVisibilities.internetConnectivity,\n                                                toggleVisibility: toggleVisibility\n                                              }),\n                                          JsxRuntime.jsx(CreateColocationRfpProjectConfiguration_CrossConnect.make, {\n                                                generateId: generateId,\n                                                mainIndex: mainIndex,\n                                                mainValidationResults: mainValidationResults,\n                                                configuration: configuration,\n                                                updateConfiguration: updateConfiguration,\n                                                options: options,\n                                                sectionVisibility: currentSectionVisibilities.crossConnect,\n                                                toggleVisibility: toggleVisibility\n                                              }),\n                                          JsxRuntime.jsx(CreateColocationRfpProjectConfiguration_CloudDirectConnect.make, {\n                                                generateId: generateId,\n                                                mainIndex: mainIndex,\n                                                configuration: configuration,\n                                                updateConfiguration: updateConfiguration,\n                                                options: options,\n                                                sectionVisibility: currentSectionVisibilities.cloudDirectConnect,\n                                                toggleVisibility: toggleVisibility\n                                              }),\n                                          JsxRuntime.jsx(CreateColocationRfpProjectConfiguration_CertificationRequirements.make, {\n                                                generateId: generateId,\n                                                mainIndex: mainIndex,\n                                                configuration: configuration,\n                                                updateConfiguration: updateConfiguration,\n                                                options: options,\n                                                sectionVisibility: currentSectionVisibilities.certificationRequirements,\n                                                toggleVisibility: toggleVisibility,\n                                                mobile: mobile\n                                              }),\n                                          JsxRuntime.jsx(CreateColocationRfpProjectConfiguration_DatecenterFeatures.make, {\n                                                generateId: generateId,\n                                                mainIndex: mainIndex,\n                                                configuration: configuration,\n                                                updateConfiguration: updateConfiguration,\n                                                options: options,\n                                                sectionVisibility: currentSectionVisibilities.datacenterFeatures,\n                                                toggleVisibility: toggleVisibility,\n                                                mobile: mobile\n                                              }),\n                                          JsxRuntime.jsx(CreateColocationRfpProjectConfiguration_AdditionalNotes.make, {\n                                                generateId: generateId,\n                                                mainIndex: mainIndex,\n                                                configuration: configuration,\n                                                updateConfiguration: updateConfiguration,\n                                                sectionVisibility: currentSectionVisibilities.additionalNotes,\n                                                toggleVisibility: toggleVisibility\n                                              })\n                                        ]\n                                      }) : null;\n                                return JsxRuntime.jsx(ProjectWizardPanel.make, {\n                                            title: CreateColocationRfpProjectConfiguration_Data_ColocationConfiguration.Input.title(configuration),\n                                            visibility: currentSectionVisibilities.colocationConfiguration,\n                                            toggleVisibility: (function () {\n                                                toggleVisibility(mainIndex, \"ColocationConfiguration\");\n                                              }),\n                                            deleteControl: match !== 1 ? (function () {\n                                                  var nextConfigurations = Belt_Array.keepWithIndex(configurations, (function (_value, index) {\n                                                          return index !== mainIndex;\n                                                        }));\n                                                  setConfigurations(function (param) {\n                                                        return nextConfigurations;\n                                                      });\n                                                  saveDraft$1([\n                                                        projectId,\n                                                        nextConfigurations\n                                                      ]);\n                                                }) : undefined,\n                                            children: tmp\n                                          }, configuration.key);\n                              })),\n                        JsxRuntime.jsx(Button.make, {\n                              size: \"SM\",\n                              color: \"Teal\",\n                              buttonClassName: css.addColocationSectionBtn,\n                              onClick: (function (param) {\n                                  setConfigurations(function (param) {\n                                        return Belt_Array.concat(configurations, [CreateColocationRfpProjectConfiguration_Data_ColocationConfiguration.Input.empty()]);\n                                      });\n                                  setConfigurationVisibilities(function (param) {\n                                        return Belt_Array.concat(configurationVisibilities, [$$default]);\n                                      });\n                                }),\n                              children: \"+ Add One More Colocation Configuration\"\n                            })\n                      ]\n                    }),\n                JsxRuntime.jsx(ProjectWizardNavigation.make, {\n                      stepLabel: \"Step 1 of 3\",\n                      errorMessage: state.errorMessage,\n                      controls: {\n                        TAG: \"PreviousAndNextAndContinueLater\",\n                        next: navigationNextControl,\n                        previous: navigationPreviousControl,\n                        continueLater: navigationContinueLaterControl\n                      },\n                      mobile: mobile\n                    }),\n                JsxRuntime.jsx(ReactNotifications.NotificationContainer, {}),\n                tmp\n              ]\n            });\n}\n\nvar make = CreateColocationRfpProjectConfiguration;\n\nexport {\n  css ,\n  VisibilityState ,\n  saveDraft ,\n  Handlers ,\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 Project from \"../../../../models/Project.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.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 RailsContext from \"../../../../models/RailsContext.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ColocationRfpProject from \"../../../../models/ColocationRfpProject.res.js\";\nimport * as ColocationConfiguration from \"../../../../models/ColocationConfiguration.res.js\";\nimport * as CreateColocationRfpProjectConfiguration from \"./CreateColocationRfpProjectConfiguration.res.js\";\nimport * as CreateColocationRfpProjectConfiguration_Data_ColocationConfiguration from \"./CreateColocationRfpProjectConfiguration_Data_ColocationConfiguration.res.js\";\n\nfunction CreateColocationRfpProjectConfiguration__JsBridge$default(props) {\n  var status = props.status;\n  var railsContext = props.railsContext;\n  var projectId = props.projectId;\n  var options = props.options;\n  var colocationConfigurations = props.colocationConfigurations;\n  var railsContext$1 = React.useMemo((function () {\n          return RailsContext.fromJson(railsContext);\n        }), [railsContext]);\n  var projectId$1 = React.useMemo((function () {\n          return Belt_Option.map((projectId == null) ? undefined : Caml_option.some(projectId), (function (prim) {\n                        return prim;\n                      }));\n        }), [projectId]);\n  var colocationConfigurations$1 = React.useMemo((function () {\n          return Belt_Array.map(Belt_Array.map(colocationConfigurations, ColocationConfiguration.fromJs), CreateColocationRfpProjectConfiguration_Data_ColocationConfiguration.Input.fromColocationConfiguration);\n        }), [colocationConfigurations]);\n  var options$1 = React.useMemo((function () {\n          return ColocationRfpProject.ConfigurationOptions.fromJson(options);\n        }), [options]);\n  var projectStatus = React.useMemo((function () {\n          return Project.Status.fromString(status);\n        }), [status]);\n  return JsxRuntime.jsx(CreateColocationRfpProjectConfiguration.make, {\n              colocationConfigurations: colocationConfigurations$1,\n              options: options$1,\n              projectId: projectId$1,\n              mobile: railsContext$1.mobile,\n              userLoginStatus: railsContext$1.userLoginStatus,\n              setUserData: props.reduxfunction.setUserData,\n              projectStatus: projectStatus\n            });\n}\n\nvar $$default = CreateColocationRfpProjectConfiguration__JsBridge$default;\n\nexport {\n  $$default as default,\n}\n/* react Not a pure module */\n","import * as React from 'react';\nimport ReduxProvider from 'ReduxProvider';\nimport { connect } from 'react-redux';\nimport { setUserData } from 'Client/common/actions/userActions';\nimport CreateColocationRfpProjectConfiguration from './CreateColocationRfpProjectConfiguration__JsBridge.res.js';\n\nconst mapDispatchToProps = dispatch => ({\n  reduxfunction: {\n    setUserData: userData => {\n      dispatch(setUserData(userData));\n    },\n  },\n});\n\nconst CreateColocationRfpProjectConfigurationContainer = connect(\n  null,\n  mapDispatchToProps,\n)(CreateColocationRfpProjectConfiguration);\n\nexport default ({ context, ...props }) => (\n  <ReduxProvider>\n    <CreateColocationRfpProjectConfigurationContainer {...props} railsContext={context} />\n  </ReduxProvider>\n);\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as ID from \"../libs/ID.res.js\";\n\nvar include = ID.$$String({});\n\nvar T = include.T;\n\nvar eq = include.eq;\n\nvar toJson = include.toJson;\n\nvar decoder = include.decoder;\n\nvar fromJson = include.fromJson;\n\nvar Comparable = include.Comparable;\n\nvar $$Map = include.$$Map;\n\nvar $$Set = include.$$Set;\n\nexport {\n  T ,\n  eq ,\n  toJson ,\n  decoder ,\n  fromJson ,\n  Comparable ,\n  $$Map ,\n  $$Set ,\n}\n/* include Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as $$Date from \"../libs/Date.res.js\";\nimport * as Project from \"./Project.res.js\";\nimport * as Belt_Result from \"rescript/lib/es6/belt_Result.js\";\nimport * as UserContact from \"./UserContact.res.js\";\nimport * as LocationForProject from \"./LocationForProject.res.js\";\nimport * as ProviderForProject from \"./ProviderForProject.res.js\";\nimport * as Json$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json.res.js\";\nimport * as ColocationRfpProjectId from \"./ColocationRfpProjectId.res.js\";\nimport * as ColocationConfiguration from \"./ColocationConfiguration.res.js\";\nimport * as Json_Decode$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json_Decode.res.js\";\n\nvar decoder = Json_Decode$JsonCombinators.object(function (field) {\n      return {\n              id: field.required(\"id\", ColocationRfpProjectId.decoder),\n              title: field.required(\"title\", Json_Decode$JsonCombinators.string),\n              description: field.required(\"description\", Json_Decode$JsonCombinators.string),\n              category: field.required(\"category\", Json_Decode$JsonCombinators.string),\n              status: field.required(\"status\", Project.Status.decoder),\n              totalLocations: field.required(\"totalLocations\", Json_Decode$JsonCombinators.option(Json_Decode$JsonCombinators.$$int)),\n              totalProviders: field.required(\"totalProviders\", Json_Decode$JsonCombinators.option(Json_Decode$JsonCombinators.$$int)),\n              totalProposals: field.required(\"totalProposals\", Json_Decode$JsonCombinators.option(Json_Decode$JsonCombinators.$$int)),\n              startDate: field.required(\"startDate\", $$Date.Naive.decoder),\n              endDate: field.required(\"endDate\", $$Date.Naive.decoder),\n              isAgent: field.required(\"isAgent\", Json_Decode$JsonCombinators.bool),\n              businessName: field.required(\"businessName\", Json_Decode$JsonCombinators.string),\n              businessContactName: field.required(\"businessContactName\", Json_Decode$JsonCombinators.string),\n              headquartersAddress: field.required(\"headquartersAddress\", Json_Decode$JsonCombinators.string),\n              businessEmail: field.required(\"businessEmail\", Json_Decode$JsonCombinators.string),\n              businessPhone: field.required(\"businessPhone\", Json_Decode$JsonCombinators.string),\n              createdAt: field.required(\"createdAt\", $$Date.Naive.decoder),\n              updatedAt: field.required(\"updatedAt\", $$Date.Naive.decoder),\n              owner: field.required(\"owner\", Project.Owner.decoder),\n              contacts: field.required(\"contacts\", Json_Decode$JsonCombinators.array(UserContact.decoder)),\n              documents: field.required(\"documents\", Json_Decode$JsonCombinators.array(Project.$$Document.decoder)),\n              colocationConfigurations: field.required(\"colocationConfigurations\", Json_Decode$JsonCombinators.array(ColocationConfiguration.decoder)),\n              providers: field.required(\"providers\", Json_Decode$JsonCombinators.array(ProviderForProject.decoder)),\n              locations: field.required(\"locations\", Json_Decode$JsonCombinators.array(LocationForProject.decoder))\n            };\n    });\n\nfunction fromJson(json) {\n  return Belt_Result.getExn(Json$JsonCombinators.decode(json, decoder));\n}\n\nvar decoder$1 = Json_Decode$JsonCombinators.object(function (field) {\n      return {\n              label: field.required(\"label\", Json_Decode$JsonCombinators.string),\n              value: field.required(\"value\", Json_Decode$JsonCombinators.$$int)\n            };\n    });\n\nfunction fromJson$1(json) {\n  return Belt_Result.getExn(Json$JsonCombinators.decode(json, decoder$1));\n}\n\nvar ContractLength = {\n  decoder: decoder$1,\n  fromJson: fromJson$1\n};\n\nvar decoder$2 = Json_Decode$JsonCombinators.object(function (field) {\n      return {\n              contractLengths: field.required(\"contractLengths\", Json_Decode$JsonCombinators.array(decoder$1)),\n              colocationSpace: field.required(\"colocationSpace\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string)),\n              powerCircuit: field.required(\"powerCircuit\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string)),\n              powerUnits: field.required(\"powerUnits\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string)),\n              additionalSpaceAndPower: field.required(\"additionalSpaceAndPower\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string)),\n              interconnect: field.required(\"interconnect\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string)),\n              bandwidths: field.required(\"bandwidths\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string)),\n              providers: field.required(\"providers\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string)),\n              additionalInternetConnectivity: field.required(\"additionalInternetConnectivity\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string)),\n              crossConnectProviders: field.required(\"crossConnectProviders\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string)),\n              additionalCloudDirectConnects: field.required(\"additionalCloudDirectConnects\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string)),\n              cloudPlatforms: field.required(\"cloudPlatforms\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string)),\n              certificationRequirements: field.required(\"certificationRequirements\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string)),\n              dataCenterFeatures: field.required(\"dataCenterFeatures\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string))\n            };\n    });\n\nfunction fromJson$2(json) {\n  return Belt_Result.getExn(Json$JsonCombinators.decode(json, decoder$2));\n}\n\nvar ConfigurationOptions = {\n  ContractLength: ContractLength,\n  decoder: decoder$2,\n  fromJson: fromJson$2\n};\n\nexport {\n  decoder ,\n  fromJson ,\n  ConfigurationOptions ,\n}\n/* decoder Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var column = \"Tooltip__column__Odw27\";\nexport var container = \"Tooltip__container__NdZkO\";\nexport var containerWithoutArrow = \"Tooltip__containerWithoutArrow__JZCkC\";\nexport var flex = \"Tooltip__flex__GChXK\";\nexport var flexColumn = \"Tooltip__flexColumn__cPKrR\";\nexport var gap1 = \"Tooltip__gap1__IWo6u\";\nexport var gap2 = \"Tooltip__gap2__ni_iY\";\nexport var gap3 = \"Tooltip__gap3__xCt4A\";\nexport var gap4 = \"Tooltip__gap4__d6PQK\";\nexport var gap5 = \"Tooltip__gap5__lsS19\";\nexport var positionBottom = \"Tooltip__positionBottom__rj_Mm\";\nexport var positionLeft = \"Tooltip__positionLeft__v4glT\";\nexport var positionRight = \"Tooltip__positionRight__sQBLD\";\nexport var positionTop = \"Tooltip__positionTop__qJKl0\";\nexport var row = \"Tooltip__row__zvQN6\";\nexport var tooltip = \"Tooltip__tooltip__HPk6d\";\nexport var trigger = \"Tooltip__trigger__x8V7Y\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as TooltipScss from \"./Tooltip.scss\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\n\nvar css = TooltipScss;\n\nfunction toClassName(x) {\n  switch (x) {\n    case \"Top\" :\n        return css.positionTop;\n    case \"Bottom\" :\n        return css.positionBottom;\n    case \"Left\" :\n        return css.positionLeft;\n    case \"Right\" :\n        return css.positionRight;\n    \n  }\n}\n\nvar Position = {\n  toClassName: toClassName\n};\n\nfunction Tooltip(props) {\n  var children = props.children;\n  var __withoutArrow = props.withoutArrow;\n  var __tooltipContainerClass = props.tooltipContainerClass;\n  var __className = props.className;\n  var __hideWhen = props.hideWhen;\n  var id = props.id;\n  var hideWhen = __hideWhen !== undefined ? __hideWhen : false;\n  var className = __className !== undefined ? __className : \"\";\n  var tooltipContainerClass = __tooltipContainerClass !== undefined ? __tooltipContainerClass : \"\";\n  var withoutArrow = __withoutArrow !== undefined ? __withoutArrow : false;\n  if (hideWhen) {\n    return JsxRuntime.jsx(\"div\", {\n                children: children,\n                className: Cx.cx([\n                      css.trigger,\n                      className\n                    ])\n              });\n  } else {\n    return JsxRuntime.jsxs(\"div\", {\n                children: [\n                  children,\n                  JsxRuntime.jsx(\"div\", {\n                        children: JsxRuntime.jsx(\"div\", {\n                              children: props.content,\n                              className: css.tooltip\n                            }),\n                        className: Cx.cx([\n                              withoutArrow ? css.containerWithoutArrow : css.container,\n                              toClassName(props.position),\n                              tooltipContainerClass\n                            ])\n                      })\n                ],\n                className: Cx.cx([\n                      css.trigger,\n                      className\n                    ]),\n                id: id !== undefined ? id : \"\"\n              });\n  }\n}\n\nvar make = Tooltip;\n\nexport {\n  css ,\n  Position ,\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 IconHelpTooltip(props) {\n  var __title = props.title;\n  var title = __title !== undefined ? __title : \"Help\";\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(\"path\", {\n                            d: \"M8 16A8 8 0 108 0a8 8 0 000 16z\",\n                            fill: \"#C4F0EE\"\n                          }),\n                      JsxRuntime.jsx(\"path\", {\n                            d: \"M5.5 6.2c0-.3.1-.7.3-1 .2-.4.5-.6.9-.9.4-.2.8-.3 1.4-.3.4 0 .9 0 1.2.3.4.2.7.4.9.8a2 2 0 01.1 1.8 30.6 30.6 0 01-1.7 2V9l-.1.4c0 .4-.3.5-.6.5l-.5-.1-.1-.6.1-.7c0-.3.2-.4.3-.6l.6-.6.5-.4.2-.4.1-.4a1 1 0 00-.3-.7 1 1 0 00-.7-.3c-.4 0-.7.1-.8.3-.2.2-.4.5-.5.9-.1.4-.3.6-.6.6l-.5-.2a.7.7 0 01-.2-.5zM7.9 12c-.2 0-.3 0-.5-.2a.8.8 0 01-.2-.6c0-.2 0-.4.2-.6l.5-.2.6.2.2.6c0 .3 0 .4-.2.6l-.6.2z\",\n                            fill: \"#099891\"\n                          })\n                    ],\n                    fill: \"none\",\n                    fillRule: \"nonzero\"\n                  })\n            });\n}\n\nvar make = IconHelpTooltip;\n\nexport {\n  make ,\n}\n/* Icon Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\n\nfunction makeControlled(waitOpt, fn) {\n  var wait = waitOpt !== undefined ? waitOpt : 100;\n  var timerId = {\n    contents: undefined\n  };\n  var lastArg = {\n    contents: undefined\n  };\n  var lastCallTime = {\n    contents: undefined\n  };\n  var shouldCall = function (time) {\n    var lastCallTime$1 = lastCallTime.contents;\n    if (lastCallTime$1 === undefined) {\n      return true;\n    }\n    var timeSinceLastCall = time - lastCallTime$1 | 0;\n    if (timeSinceLastCall >= wait) {\n      return true;\n    } else {\n      return timeSinceLastCall < 0;\n    }\n  };\n  var remainingWait = function (time) {\n    var lastCallTime$1 = lastCallTime.contents;\n    if (lastCallTime$1 === undefined) {\n      return wait;\n    }\n    var timeSinceLastCall = time - lastCallTime$1 | 0;\n    return wait - timeSinceLastCall | 0;\n  };\n  var timerExpired = function () {\n    var timerId$1 = timerId.contents;\n    if (timerId$1 !== undefined) {\n      clearTimeout(Caml_option.valFromOption(timerId$1));\n    }\n    var time = Date.now() | 0;\n    if (shouldCall(time)) {\n      return call();\n    } else {\n      timerId.contents = Caml_option.some(setTimeout(timerExpired, remainingWait(time)));\n      return ;\n    }\n  };\n  var call = function () {\n    var x = lastArg.contents;\n    if (x !== undefined) {\n      lastArg.contents = undefined;\n      timerId.contents = undefined;\n      return fn(Caml_option.valFromOption(x));\n    } else {\n      timerId.contents = undefined;\n      return ;\n    }\n  };\n  var schedule = function (x) {\n    var time = Date.now() | 0;\n    lastArg.contents = Caml_option.some(x);\n    lastCallTime.contents = time;\n    timerId.contents = Caml_option.some(setTimeout(timerExpired, wait));\n  };\n  var scheduled = function () {\n    return timerId.contents !== undefined;\n  };\n  var cancel = function () {\n    var timerId$p = timerId.contents;\n    if (timerId$p !== undefined) {\n      clearTimeout(Caml_option.valFromOption(timerId$p));\n      timerId.contents = undefined;\n      lastArg.contents = undefined;\n      lastCallTime.contents = undefined;\n      return ;\n    }\n    \n  };\n  var invoke = function (x) {\n    cancel();\n    fn(x);\n  };\n  return {\n          invoke: invoke,\n          schedule: schedule,\n          scheduled: scheduled,\n          cancel: cancel\n        };\n}\n\nfunction make(wait, fn) {\n  return makeControlled(wait, fn).schedule;\n}\n\nexport {\n  make ,\n  makeControlled ,\n}\n/* No side effect */\n","\n\n\nfunction div(x, y) {\n  if (y === 0) {\n    throw {\n          RE_EXN_ID: \"Division_by_zero\",\n          Error: new Error()\n        };\n  }\n  return x / y | 0;\n}\n\nfunction mod_(x, y) {\n  if (y === 0) {\n    throw {\n          RE_EXN_ID: \"Division_by_zero\",\n          Error: new Error()\n        };\n  }\n  return x % y;\n}\n\nexport {\n  div ,\n  mod_ ,\n}\n/* No side effect */\n"],"names":["NotificationManager","success","message","title","timeout","ReactNotifications","error","column","flex","flexColumn","gap1","gap2","gap3","gap4","gap5","icon","iconCenterLeftTooltip","iconCenterRightTooltip","iconFineRightTooltip","iconLeftTooltip","iconRightTooltip","info","row","tooltipPositionContainer","css","UserColocationRfpProjectWizardTooltipScss","fromString","x","tooltip","tooltipClass","make","props","children","__iconContainerClass","iconContainerClass","undefined","fieldEntity","field","JsxRuntime","Tooltip","content","position","tooltipContainerClass","withoutArrow","IconHelpTooltip","size","className","Cx","addColocationSectionBtn","addRepeatedSection","basicInfo","buttons","certificationRow","cloudDirectBandwidth","cloudDirectCloudPlatform","cloudDirectInterconnect","colocationSection","container","contentWrapper","contractLength","crossConnectInterconnect","crossConnectPreferredProvider","crossConnectQuantity","deleteSubSection","descriptionText","featuresRow","fieldHeight","fullWidth","headerInfo","howItWorksTooltip","internetConnectivityBandwidth","internetConnectivityInterconnect","internetConnectivityPreferredProvider","next","noRightMargin","powerDensityOrLabel","powerDensityPowerCircuit","powerDensityPowerContainer","powerDensityPowerUnits","powerDensityPowerUnitsSelect","powerDensityPowerValue","powerOptionsFields","rackTypeColocationSpace","rackTypeQuantity","repeatedSection","required","startDate","steps","subHeading","subSection","tooltipAndHeadingWrapper","tooltipToRight","videoLink","CreateColocationRfpProjectConfigurationScss","updateConfiguration","configuration","mainValidationResults","mainIndex","generateId","value","Label","forId","status","Belt_Option","DatePicker","id","prim","disabledDays","from","Date","to","TAG","onDayChange","date","param","param$1","key","Caml_option","rackTypesAndPowerDensities","internetConnectivities","crossConnects","cloudDirectConnects","certificationRequirements","datacenterFeatures","additionalNotesOrRequirements","Select","String","wrapperClassName","iconSize","iconColor","onChange","$$event","target","Belt_Array","options","contractLengths","label","tmp","toggleVisibility","sectionVisibility","updateCrossConnects","crossConnect","subIndex","idx","oldCrossConnect","subValidationResults","quantity","Control","onClick","_value","index","IconDelete","color","TextField","interconnect","provider","specialNotesAndRequirements","UserColocationRfpProjectWizardTooltip","crossConnectProviders","Textarea","internetConnectivitySpecialNotes","Button","buttonClassName","CreateColocationRfpProjectConfiguration_Data_CrossConnect","empty","ProjectWizardPanel","visibility","updateCloudDirectConnects","cloudDirectConnect","oldCloudDirectConnect","bandwidth","cloudPlatform","additionalOptions","bandwidths","cloudPlatforms","additionalCloudDirectConnects","additionalOption","Checkbox","checked","__x","Js_array","containerClassName","option","CreateColocationRfpProjectConfiguration_Data_CloudDirectConnect","mobile","itemsPerRow","totalOptions","dataCenterFeatures","length","featuresNumOfRows","Caml_int32","Math","imul","dataCenterFeature","updateInternetConnectivities","internetConnectivity","oldinternetConnectivity","providers","additionalInternetConnectivity","CreateColocationRfpProjectConfiguration_Data_InternetConnectivity","certificationsNumOfRows","certificationRequirement","updateRackTypes","rackType","newRackTypes","oldRackType","value$1","powerValue","colocationSpace","powerCircuit","powerUnits","selectable","additionalSpaceAndPower","spaceAndPower","CreateColocationRfpProjectConfiguration_Data_RackTypesAndPowerDensity","$$default","colocationConfiguration","additionalNotes","saveDraft$1","Debounce","input","$$Promise","Api","$$Notification","SentryLogger","rootModule","subModulePath","fullPath","_0","projectStatus","projectId","colocationConfigurations","match","React","CreateColocationRfpProjectConfiguration_Data_ColocationConfiguration","setConfigurations","configurations","match$1","setConfigurationVisibilities","configurationVisibilities","match$2","toggleSignInModal","signInModal","saveColocationConfigurations","userAction","dispatch","Url","Routes_Project","$$Location","update","select","initialState","validationResults","submissionError","userLoginStatus","errorMessage","match$3","Hooks","state","action","all","_1","valid","fieldName","subType","newConfigurations","oldConfiguration","section","visibilities","Visibility","navigationPreviousControl","navigationNextControl","navigationContinueLaterControl","SignInModalContainer","close","callback","$$new","setUserData","subTitle","ProjectWizard","currentSectionVisibilities","CreateColocationRfpProjectConfiguration_BasicInfo","CreateColocationRfpProjectConfiguration_RackTypesAndPowerDensities","CreateColocationRfpProjectConfiguration_InternetConnectivity","CreateColocationRfpProjectConfiguration_CrossConnect","CreateColocationRfpProjectConfiguration_CloudDirectConnect","CreateColocationRfpProjectConfiguration_CertificationRequirements","CreateColocationRfpProjectConfiguration_DatecenterFeatures","CreateColocationRfpProjectConfiguration_AdditionalNotes","deleteControl","nextConfigurations","ProjectWizardNavigation","stepLabel","controls","previous","continueLater","railsContext","railsContext$1","RailsContext","projectId$1","colocationConfigurations$1","ColocationConfiguration","fromColocationConfiguration","options$1","ColocationRfpProject","fromJson","Project","CreateColocationRfpProjectConfiguration","reduxfunction","CreateColocationRfpProjectConfigurationContainer","connect","userData","_ref","context","_objectWithoutProperties","_excluded","ReduxProvider","Object","assign","include","ID","decoder","T","eq","toJson","Comparable","$$Map","$$Set","Json_Decode$JsonCombinators","ColocationRfpProjectId","description","category","totalLocations","totalProviders","totalProposals","$$Date","endDate","isAgent","businessName","businessContactName","headquartersAddress","businessEmail","businessPhone","createdAt","updatedAt","owner","contacts","UserContact","documents","ProviderForProject","locations","LocationForProject","json","Belt_Result","Json$JsonCombinators","decoder$1","ContractLength","decoder$2","ConfigurationOptions","containerWithoutArrow","positionBottom","positionLeft","positionRight","positionTop","trigger","TooltipScss","toClassName","__withoutArrow","__tooltipContainerClass","__className","__hideWhen","hideWhen","__title","Icon","d","fill","fillRule","makeControlled","waitOpt","fn","wait","timerId","contents","lastArg","lastCallTime","timerExpired","timerId$1","clearTimeout","time","now","lastCallTime$1","timeSinceLastCall","shouldCall","call","setTimeout","remainingWait","cancel","timerId$p","invoke","schedule","scheduled","div","y","RE_EXN_ID","Error","mod_"],"sourceRoot":""}