{"version":3,"file":"formCompression.js","mappings":"0BAAC,SAASA,EAAK,CACd,IAAIC,EAAQD,EAAI,QAAUA,EAAI,MAAQ,CAAC,GACnCE,EAAYD,EAAM,YAAcA,EAAM,UAAY,CAAC,GAEvDC,EAAU,YAAc,CAAC,0CAA4C,IAAI,YAAc,GAAG,8BAAgC,IAAI,qBAAuB,IAAI,uCAAyC,IAAI,wBAA0B,GAAG,iBAAmB,GAAG,sBAAwB,IAAI,yCAA2C,IAAI,wBAA0B,GAAG,6BAA+B,IAAI,qCAAuC,IAAI,iBAAmB,GAAG,cAAgB,KAAK,uBAAyB,IAAI,aAAe,IAAI,iBAAmB,IAAI,OAAS,IAAI,sCAAwC,IAAI,uBAAyB,IAAI,4BAA8B,IAAI,iBAAmB,GAAG,kBAAoB,IAAI,4CAA8C,IAAI,cAAgB,KAAK,uBAAyB,IAAI,gCAAkC,IAAI,iBAAmB,IAAI,6CAA+C,IAAI,kBAAoB,GAAG,mBAAqB,GAAG,2BAA6B,IAAI,8CAAgD,IAAI,mBAAqB,GAAG,6BAA+B,IAAI,uBAAyB,IAAI,0BAA4B,GAAG,WAAa,IAAI,yBAA2B,IAAI,2BAA6B,IAAI,oBAAsB,IAAI,4BAA8B,IAAI,wBAA0B,IAAI,8CAAgD,IAAI,oBAAsB,GAAG,wBAA0B,IAAI,gCAAkC,IAAI,gBAAkB,GAAG,2CAA6C,IAAI,cAAgB,GAAG,kCAAoC,IAAI,mBAAqB,EAAE,kCAAoC,IAAI,6BAA+B,IAAI,gBAAkB,GAAG,YAAc,KAAK,oBAAsB,IAAI,mBAAqB,IAAI,wCAA0C,IAAI,iBAAmB,GAAG,0BAA4B,IAAI,yBAA2B,IAAI,cAAgB,GAAG,sBAAwB,GAAG,YAAc,GAAG,wBAA0B,IAAI,YAAc,GAAG,oBAAsB,IAAI,qCAAuC,IAAI,0CAA4C,IAAI,yDAA2D,IAAI,mBAAqB,IAAI,sBAAwB,IAAI,0BAA4B,IAAI,yBAA2B,IAAI,YAAc,KAAK,kBAAoB,IAAI,wBAA0B,IAAI,qBAAuB,IAAI,cAAgB,KAAK,2BAA6B,IAAI,mBAAqB,GAAG,sBAAwB,IAAI,wBAA0B,GAAG,aAAe,GAAG,uBAAyB,IAAI,4BAA8B,IAAI,sCAAwC,IAAI,qDAAuD,IAAI,YAAc,KAAK,oBAAsB,IAAI,qBAAuB,IAAI,KAAO,GAAG,sBAAwB,IAAI,4CAA8C,IAAI,kCAAoC,IAAI,6BAA+B,IAAI,sCAAwC,IAAI,4BAA8B,IAAI,eAAiB,GAAG,uCAAyC,IAAI,4BAA8B,IAAI,gCAAkC,IAAI,iCAAmC,IAAI,6CAA+C,IAAI,+BAAiC,IAAI,uBAAyB,IAAI,mBAAqB,IAAI,+BAAiC,IAAI,oCAAsC,IAAI,mBAAqB,IAAI,6BAA+B,GAAG,cAAgB,GAAG,0CAA4C,IAAI,wBAA0B,GAAG,qBAAuB,GAAG,2BAA6B,IAAI,2CAA6C,IAAI,0BAA4B,IAAI,2BAA6B,IAAI,mCAAqC,IAAI,qBAAuB,GAAG,iBAAmB,GAAG,yBAA2B,IAAI,wCAA0C,IAAI,aAAe,IAAI,oBAAsB,GAAG,mBAAqB,KAAK,4BAA8B,IAAI,mCAAqC,IAAI,sCAAwC,IAAI,4BAA8B,IAAI,4BAA8B,IAAI,cAAgB,IAAI,iBAAmB,IAAI,4BAA8B,IAAI,qCAAuC,IAAI,wBAA0B,GAAG,iDAAmD,IAAI,iBAAmB,IAAI,uCAAyC,IAAI,oBAAsB,IAAI,wBAA0B,GAAG,8BAAgC,IAAI,uEAAyE,IAAI,8BAAgC,GAAG,yBAA2B,IAAI,mDAAqD,IAAI,8BAAgC,KAAK,aAAe,GAAG,UAAY,GAAG,iCAAmC,IAAI,+BAAiC,IAAI,wBAA0B,IAAI,oBAAsB,KAAK,kCAAoC,IAAI,iCAAmC,IAAI,aAAe,GAAG,mBAAqB,GAAG,sCAAwC,IAAI,6BAA+B,IAAI,wBAA0B,GAAG,YAAc,IAAI,gCAAkC,IAAI,yBAA2B,IAAI,qBAAuB,GAAG,gCAAkC,IAAI,6BAA+B,IAAI,MAAQ,EAAE,2CAA6C,IAAI,sCAAwC,IAAI,qBAAuB,IAAI,uBAAyB,IAAI,sCAAwC,IAAI,yBAA2B,IAAI,8BAAgC,IAAI,YAAc,IAAI,iBAAmB,IAAI,wBAA0B,IAAI,kCAAoC,IAAI,aAAe,IAAI,wBAA0B,IAAI,qBAAuB,IAAI,6BAA+B,IAAI,oBAAsB,IAAI,qBAAuB,IAAI,mBAAqB,GAAG,sBAAwB,IAAI,8BAAgC,IAAI,YAAc,GAAG,YAAc,IAAI,yBAA2B,IAAI,2BAA6B,IAAI,sCAAwC,IAAI,mBAAqB,GAAG,oBAAsB,IAAI,yBAA2B,GAAG,kBAAoB,GAAG,YAAc,GAAG,aAAe,GAAG,iBAAmB,IAAI,uBAAyB,IAAI,iBAAmB,GAAG,mBAAqB,IAAI,yBAA2B,IAAI,qBAAuB,IAAI,0CAA4C,IAAI,wBAA0B,IAAI,oBAAsB,KAAK,cAAgB,EAAE,sBAAwB,IAAI,iBAAmB,GAAG,iBAAmB,IAAI,mDAAqD,IAAI,oDAAsD,IAAI,WAAa,GAAG,WAAa,IAAI,mBAAqB,EAAE,2BAA6B,IAAI,cAAgB,IAAI,WAAa,GAAG,4BAA8B,IAAI,oBAAsB,IAAI,kBAAoB,IAAI,4BAA8B,IAAI,yBAA2B,IAAI,YAAc,GAAG,uBAAyB,GAAG,2BAA6B,IAAI,yBAA2B,IAAI,qBAAuB,IAAI,KAAO,GAAG,2CAA6C,IAAI,mDAAqD,IAAI,qBAAuB,IAAI,sBAAwB,GAAG,iBAAmB,GAAG,wDAA0D,IAAI,wBAA0B,IAAI,6BAA+B,IAAI,2BAA6B,IAAI,4BAA8B,IAAI,qBAAuB,IAAI,iCAAmC,IAAI,sCAAwC,IAAI,cAAgB,GAAG,kEAAoE,IAAI,kCAAoC,IAAI,oBAAsB,KAAK,0BAA4B,GAAG,UAAY,IAAI,MAAQ,GAAG,qBAAuB,IAAI,sCAAwC,IAAI,mCAAqC,IAAI,kBAAoB,IAAI,iBAAmB,EAAE,4BAA8B,IAAI,0BAA4B,IAAI,gCAAkC,IAAI,sBAAwB,GAAG,gCAAkC,IAAI,4BAA8B,IAAI,yBAA2B,IAAI,gEAAkE,IAAI,mBAAqB,IAAI,kBAAoB,GAAG,mBAAqB,GAAG,gEAAkE,IAAI,kDAAoD,IAAI,cAAgB,GAAG,4BAA8B,IAAI,8DAAgE,IAAI,IAAM,GAAG,2BAA6B,IAAI,kBAAoB,GAAG,oBAAsB,IAAI,qBAAuB,GAAG,mDAAqD,IAAI,yBAA2B,IAAI,gCAAkC,IAAI,8BAAgC,IAAI,2CAA6C,IAAI,wCAA0C,IAAI,iBAAmB,IAAI,6BAA+B,IAAI,iBAAmB,EAAE,yBAA2B,GAAG,0CAA4C,IAAI,qCAAuC,IAAI,2CAA6C,IAAI,wBAA0B,IAAI,sCAAwC,IAAI,yBAA2B,IAAI,iBAAmB,IAAI,6BAA+B,IAAI,qCAAuC,IAAI,oBAAsB,IAAI,sBAAwB,IAAI,wBAA0B,IAAI,4BAA8B,IAAI,aAAe,EAAE,gBAAkB,IAAI,6CAA+C,IAAI,sCAAwC,IAAI,4CAA8C,IAAI,OAAS,EAAE,yCAA2C,IAAI,6BAA+B,IAAI,mBAAqB,KAAK,8CAAgD,IAAI,2BAA6B,IAAI,yBAA2B,IAAI,4BAA8B,IAAI,sCAAwC,IAAI,0BAA4B,IAAI,iBAAmB,IAAI,sBAAwB,IAAI,6BAA+B,GAAG,4BAA8B,IAAI,WAAa,GAAG,kCAAoC,IAAI,gBAAkB,GAAG,uBAAyB,IAAI,wBAA0B,IAAI,QAAU,IAAI,qBAAuB,IAAI,uBAAyB,IAAI,4BAA8B,IAAI,gCAAkC,IAAI,qCAAuC,IAAI,cAAgB,KAAK,sBAAwB,IAAI,kBAAoB,IAAI,sCAAwC,IAAI,uBAAyB,IAAI,6BAA+B,IAAI,WAAa,GAAG,kBAAoB,GAAG,+CAAiD,IAAI,+BAAiC,IAAI,kBAAoB,KAAK,kBAAoB,IAAI,YAAc,IAAI,oBAAsB,IAAI,6BAA+B,IAAI,sBAAwB,IAAI,kBAAoB,IAAI,gBAAkB,IAAI,MAAQ,GAAG,sCAAwC,IAAI,gCAAkC,IAAI,mBAAqB,IAAI,WAAa,GAAG,8DAAgE,IAAI,qCAAuC,IAAI,6BAA+B,IAAI,cAAgB,KAAK,gCAAkC,IAAI,oDAAsD,IAAI,0BAA4B,IAAI,uCAAyC,IAAI,kBAAoB,EAAE,4CAA8C,IAAI,2BAA6B,IAAI,wBAA0B,IAAI,yCAA2C,IAAI,gCAAkC,IAAI,uCAAyC,IAAI,4BAA8B,IAAI,iBAAmB,GAAG,0CAA4C,IAAI,iCAAmC,IAAI,wBAA0B,IAAI,8BAAgC,KAAK,qCAAuC,IAAI,oBAAsB,IAAI,4BAA8B,IAAI,2BAA6B,IAAI,oBAAsB,IAAI,qBAAuB,GAAG,0BAA4B,IAAI,0BAA4B,GAAG,mCAAqC,IAAI,kCAAoC,IAAI,gCAAkC,IAAI,mBAAqB,GAAG,iCAAmC,IAAI,qCAAuC,IAAI,6BAA+B,IAAI,gCAAkC,IAAI,YAAc,IAAI,cAAgB,KAAK,0CAA4C,IAAI,uBAAyB,GAAG,+BAAiC,IAAI,KAAO,GAAG,oDAAsD,IAAI,4BAA8B,IAAI,yBAA2B,IAAI,gCAAkC,IAAI,aAAe,IAAI,0BAA4B,IAAI,iCAAmC,IAAI,sCAAwC,IAAI,YAAc,GAAG,oBAAsB,KAAK,2CAA6C,IAAI,iBAAmB,GAAG,gBAAkB,IAAI,kBAAoB,KAAK,eAAiB,IAAI,kBAAoB,GAAG,4BAA8B,IAAI,wBAA0B,IAAI,WAAa,IAAI,qBAAuB,IAAI,oCAAsC,IAAI,uCAAyC,IAAI,qCAAuC,IAAI,YAAc,KAAK,kBAAoB,IAAI,gCAAkC,IAAI,eAAiB,KAAK,uCAAyC,IAAI,cAAgB,GAAG,WAAa,EAAE,kBAAoB,IAAI,aAAe,GAAG,qBAAuB,IAAI,kCAAoC,IAAI,0CAA4C,IAAI,kDAAoD,IAAI,YAAc,GAAG,6BAA+B,IAAI,wBAA0B,IAAI,8DAAgE,IAAI,WAAa,IAAI,2BAA6B,IAAI,uBAAyB,IAAI,0CAA4C,IAAI,cAAgB,IAAI,0BAA4B,IAAI,wBAA0B,IAAI,mCAAqC,IAAI,eAAiB,IAAI,mCAAqC,IAAI,8CAAgD,IAAI,wBAA0B,IAAI,kBAAoB,GAAG,wBAA0B,IAAI,8BAAgC,GAAG,EAChtcA,EAAU,aAAe,CAAC,UAAY,WAAW,WAAa,YAAY,gBAAkB,iBAAiB,wBAA0B,yBAAyB,oBAAsB,oBAAoB,4BAA8B,sBAAsB,WAAa,YAAY,gBAAkB,gBAAgB,SAAW,UAAU,YAAc,aAAa,eAAiB,gBAAgB,UAAY,WAAW,iBAAmB,WAAW,SAAW,WAAW,UAAY,WAAW,eAAiB,iBAAiB,2BAA6B,wBAAwB,SAAW,UAAU,SAAW,WAAW,iBAAmB,kBAAkB,UAAY,WAAW,UAAY,WAAW,qBAAuB,oBAAoB,KAAO,OAAO,OAAS,SAAS,eAAiB,gBAAgB,UAAY,WAAW,KAAO,OAAO,sBAAwB,sBAAsB,eAAiB,gBAAgB,oBAAsB,kBAAkB,oBAAsB,oBAAoB,aAAe,cAAc,SAAW,UAAU,UAAY,WAAW,qBAAuB,qBAAqB,SAAW,UAAU,aAAe,cAAc,MAAQ,QAAQ,WAAa,YAAY,cAAgB,eAAe,IAAM,MAAM,kBAAoB,YAAY,gBAAkB,gBAAgB,kBAAoB,kBAAkB,UAAY,WAAW,OAAS,SAAS,aAAe,aAAa,aAAe,cAAc,UAAY,YAAY,KAAO,OAAO,QAAU,UAAU,iBAAmB,iBAAiB,eAAiB,gBAAgB,YAAc,cAAc,cAAgB,eAAe,SAAW,UAAU,SAAW,UAAU,oBAAsB,oBAAoB,OAAS,QAAQ,eAAiB,gBAAgB,WAAa,YAAY,OAAS,SAAS,aAAe,cAAc,cAAgB,eAAe,gBAAkB,gBAAgB,eAAiB,eAAe,QAAU,UAAU,UAAY,WAAW,UAAY,WAAW,WAAa,YAAY,oBAAsB,qBAAqB,eAAiB,gBAAgB,WAAa,YAAY,iBAAmB,iBAAiB,gBAAkB,kBAAkB,WAAa,YAAY,aAAe,cAAc,SAAW,UAAU,kBAAoB,kBAAkB,WAAa,YAAY,WAAa,YAAY,YAAc,aAAa,UAAY,WAAW,mBAAqB,mBAAmB,eAAiB,gBAAgB,UAAY,WAAW,SAAW,UAAU,WAAa,YAAY,cAAgB,cAAc,YAAc,aAAa,aAAe,cAAc,WAAa,aAAa,WAAa,YAAY,gBAAkB,iBAAiB,gBAAkB,iBAAiB,MAAQ,QAAQ,UAAY,WAAW,uBAAyB,uBAAuB,gBAAkB,iBAAiB,eAAiB,SAAS,gBAAkB,gBAAgB,kBAAoB,kBAAkB,MAAQ,QAAQ,WAAa,WAAW,UAAY,WAAW,MAAQ,QAAQ,qBAAuB,qBAAqB,QAAU,UAAU,WAAa,YAAY,gBAAkB,iBAAiB,eAAiB,iBAAiB,aAAe,aAAa,eAAiB,iBAAiB,qBAAuB,qBAAqB,cAAgB,eAAe,SAAW,WAAW,QAAU,UAAU,YAAc,aAAa,UAAY,WAAW,aAAe,eAAe,QAAU,UAAU,KAAO,OAAO,oBAAsB,sBAAsB,aAAe,cAAc,eAAiB,eAAe,WAAa,YAAY,iBAAmB,eAAe,OAAS,SAAS,UAAY,YAAY,wBAA0B,wBAAwB,WAAa,YAAY,SAAW,UAAU,eAAiB,iBAAiB,cAAgB,cAAc,gBAAkB,iBAAiB,oBAAsB,oBAAoB,iBAAmB,kBAAkB,QAAU,SAAS,uCAAyC,qCAAqC,MAAQ,QAAQ,UAAY,WAAW,UAAY,IAAI,OAAS,SAAS,iBAAmB,iBAAiB,mCAAqC,gCAAgC,aAAe,cAAc,WAAa,YAAY,oCAAsC,mCAAmC,aAAe,aAAa,SAAW,WAAW,WAAa,YAAY,YAAc,aAAa,aAAe,YAAY,4BAA8B,4BAA4B,IAAM,MAAM,kBAAoB,kBAAkB,gBAAkB,iBAAiB,WAAa,YAAY,WAAa,YAAY,OAAS,SAAS,iBAAmB,kBAAkB,YAAc,aAAa,YAAc,aAAa,aAAe,aAAa,MAAQ,QAAQ,OAAS,SAAS,aAAe,cAAc,kBAAoB,oBAAoB,+BAAiC,8BAA8B,mBAAqB,iBAAiB,iBAAmB,kBAAkB,UAAY,WAAW,aAAe,cAAc,cAAgB,eAAe,WAAa,YAAY,WAAa,YAAY,WAAa,WAAW,WAAa,YAAY,aAAe,aAAa,SAAW,UAAU,UAAY,YAAY,gBAAkB,iBAAiB,KAAO,OAAO,kBAAoB,mBAAmB,OAAS,SAAS,OAAS,SAAS,UAAY,WAAW,eAAiB,iBAAiB,oBAAsB,qBAAqB,OAAS,SAAS,QAAU,SAAS,4BAA8B,0BAA0B,sBAAwB,sBAAsB,gCAAkC,+BAA+B,QAAU,SAAS,mBAAqB,mBAAmB,OAAS,QAAQ,UAAY,WAAW,kBAAoB,kBAAkB,iBAAmB,iBAAiB,OAAS,QAAQ,UAAY,WAAW,YAAc,cAAc,MAAQ,QAAQ,WAAa,YAAY,iBAAmB,iBAAiB,cAAgB,gBAAgB,gBAAkB,kBAAkB,QAAU,SAAS,mBAAqB,mBAAmB,aAAe,cAAc,YAAc,aAAa,gBAAkB,iBAAiB,0BAA4B,0BAA0B,WAAa,aAAa,iBAAmB,iBAAiB,YAAc,aAAa,cAAgB,gBAAgB,MAAQ,QAAQ,MAAQ,QAAQ,IAAM,MAAM,YAAc,aAAa,iBAAmB,kBAAkB,MAAQ,QAAQ,4BAA8B,2BAA2B,QAAU,UAAU,UAAY,WAAW,SAAW,WAAW,aAAe,cAAc,OAAS,SAAS,sBAAwB,oBAAoB,YAAc,aAAa,QAAU,UAAU,WAAa,YAAY,UAAY,WAAW,kCAAoC,+BAA+B,QAAU,UAAU,kBAAoB,kBAAkB,8BAAgC,6BAA6B,oBAAsB,iBAAiB,QAAU,SAAS,sCAAwC,oCAAoC,eAAiB,iBAAiB,gBAAkB,iBAAiB,YAAc,aAAa,aAAe,aAAa,gBAAkB,gBAAgB,qBAAuB,qBAAqB,OAAS,SAAS,KAAO,OAAO,KAAO,OAAO,MAAQ,QAAQ,iBAAmB,iBAAiB,kBAAoB,iBAAiB,aAAe,cAAc,UAAY,WAAW,sBAAwB,sBAAsB,OAAS,SAAS,gCAAkC,8BAA8B,YAAc,YAAY,oBAAsB,gBAAgB,mBAAqB,oBAAoB,qBAAuB,qBAAqB,MAAQ,QAAQ,oBAAsB,sBAAsB,qBAAuB,qBAAqB,sBAAwB,qBAAqB,eAAiB,gBAAgB,kCAAoC,+BAA+B,UAAY,WAAW,gBAAkB,gBAAgB,WAAa,aAAa,OAAS,SAAS,oBAAsB,mBAAmB,iBAAmB,kBAAkB,SAAW,UAAU,QAAU,SAAS,KAAO,OAAO,WAAa,aAAa,WAAa,aAAa,SAAW,WAAW,KAAO,OAAO,OAAS,SAAS,kBAAoB,kBAAkB,kBAAoB,eAAe,4BAA8B,4BAA4B,cAAgB,eAAe,IAAM,MAAM,YAAc,aAAa,WAAa,aAAa,WAAa,aAAa,aAAe,cAAc,kBAAoB,mBAAmB,SAAW,UAAU,gBAAkB,iBAAiB,MAAQ,QAAQ,gBAAkB,iBAAiB,wBAA0B,wBAAwB,SAAW,WAAW,kBAAoB,kBAAkB,kBAAoB,kBAAkB,YAAc,aAAa,UAAY,WAAW,sBAAwB,UAAU,mBAAqB,mBAAmB,SAAW,UAAU,gBAAkB,iBAAiB,OAAS,SAAS,YAAc,aAAa,eAAiB,gBAAgB,gBAAkB,iBAAiB,UAAY,WAAW,UAAY,WAAW,aAAe,cAAc,UAAY,WAAW,gBAAkB,iBAAiB,eAAiB,eAAe,QAAU,UAAU,SAAW,UAAU,cAAgB,cAAc,EACh5SA,EAAU,cAAgB,CAAC,WAAa,aAAa,gBAAkB,kBAAkB,cAAgB,gBAAgB,QAAU,UAAU,QAAU,UAAU,mBAAqB,qBAAqB,gBAAkB,kBAAkB,YAAc,cAAc,iBAAmB,WAAW,aAAe,eAAe,iBAAmB,mBAAmB,gBAAkB,kBAAkB,gBAAkB,kBAAkB,oBAAsB,sBAAsB,mBAAqB,qBAAqB,qBAAuB,uBAAuB,iBAAmB,kBAAkB,OAAS,SAAS,WAAa,YAAY,OAAS,SAAS,KAAO,OAAO,eAAiB,iBAAiB,QAAU,UAAU,eAAiB,UAAU,aAAe,eAAe,MAAQ,QAAQ,gBAAkB,kBAAkB,cAAgB,IAAI,eAAiB,iBAAiB,kBAAoB,YAAY,YAAc,cAAc,sCAAwC,wCAAwC,KAAO,OAAO,qBAAuB,uBAAuB,WAAa,aAAa,aAAe,eAAe,SAAW,IAAI,6BAA+B,+BAA+B,KAAO,OAAO,QAAU,UAAU,UAAY,IAAI,SAAW,WAAW,KAAO,OAAO,gBAAkB,kBAAkB,QAAU,UAAU,iBAAmB,mBAAmB,kBAAoB,oBAAoB,qBAAuB,uBAAuB,OAAS,SAAS,WAAa,YAAY,WAAa,aAAa,qBAAuB,QAAQ,UAAY,YAAY,QAAU,UAAU,mBAAqB,qBAAqB,QAAU,UAAU,WAAa,aAAa,cAAgB,gBAAgB,OAAS,SAAS,WAAa,aAAa,4BAA8B,8BAA8B,cAAgB,gBAAgB,cAAgB,cAAc,MAAQ,QAAQ,aAAe,eAAe,MAAQ,QAAQ,OAAS,SAAS,gBAAkB,kBAAkB,eAAiB,SAAS,aAAe,eAAe,MAAQ,QAAQ,wBAA0B,0BAA0B,kBAAoB,oBAAoB,aAAe,eAAe,sBAAwB,wBAAwB,eAAiB,iBAAiB,eAAiB,iBAAiB,SAAW,WAAW,aAAe,eAAe,oBAAsB,sBAAsB,aAAe,eAAe,WAAa,aAAa,aAAe,eAAe,eAAiB,iBAAiB,qCAAuC,uCAAuC,KAAO,OAAO,MAAQ,QAAQ,sBAAwB,wBAAwB,QAAU,UAAU,YAAc,cAAc,aAAe,cAAc,qBAAuB,uBAAuB,QAAU,UAAU,OAAS,SAAS,WAAa,aAAa,aAAe,eAAe,MAAQ,QAAQ,OAAS,SAAS,KAAO,OAAO,4BAA8B,2BAA2B,cAAgB,gBAAgB,aAAe,eAAe,kBAAoB,kBAAkB,kCAAoC,oCAAoC,QAAU,UAAU,kBAAoB,YAAY,cAAgB,gBAAgB,OAAS,SAAS,mCAAqC,qCAAqC,WAAa,aAAa,WAAa,aAAa,cAAgB,gBAAgB,8BAAgC,gCAAgC,2BAA6B,6BAA6B,YAAc,cAAc,gBAAkB,aAAa,aAAe,eAAe,iBAAmB,iBAAiB,2BAA6B,6BAA6B,wBAA0B,8BAA8B,GAAK,KAAK,IAAM,MAAM,WAAa,aAAa,cAAgB,gBAAgB,SAAW,WAAW,kBAAoB,oBAAoB,UAAY,YAAY,OAAS,SAAS,cAAgB,gBAAgB,UAAY,YAAY,aAAe,eAAe,WAAa,aAAa,UAAY,YAAY,QAAU,UAAU,OAAS,SAAS,SAAW,WAAW,oBAAsB,QAAQ,YAAc,cAAc,iBAAmB,mBAAmB,aAAe,eAAe,cAAgB,gBAAgB,YAAc,cAAc,gBAAkB,kBAAkB,iBAAmB,iBAAiB,uBAAyB,yBAAyB,wBAA0B,0BAA0B,UAAY,YAAY,MAAQ,QAAQ,QAAU,UAAU,oCAAsC,sCAAsC,IAAM,MAAM,gBAAkB,kBAAkB,YAAc,cAAc,QAAU,UAAU,yBAA2B,2BAA2B,QAAU,UAAU,+BAAiC,iCAAiC,aAAe,eAAe,OAAS,SAAS,mBAAqB,OAAO,aAAe,eAAe,KAAO,OAAO,SAAW,WAAW,YAAc,cAAc,WAAa,aAAa,KAAO,OAAO,UAAY,YAAY,sBAAwB,wBAAwB,OAAS,SAAS,QAAU,UAAU,wBAA0B,0BAA0B,UAAY,YAAY,wCAA0C,0BAA0B,eAAiB,iBAAiB,iCAAmC,mCAAmC,gBAAkB,kBAAkB,MAAQ,QAAQ,cAAgB,gBAAgB,IAAM,MAAM,YAAc,cAAc,aAAe,eAAe,KAAO,OAAO,OAAS,SAAS,KAAO,OAAO,aAAe,eAAe,UAAY,YAAY,MAAQ,QAAQ,YAAc,cAAc,sBAAwB,wBAAwB,aAAe,eAAe,kBAAoB,oBAAoB,OAAS,SAAS,OAAS,SAAS,0BAA4B,4BAA4B,qBAAuB,uBAAuB,gBAAkB,kBAAkB,UAAY,YAAY,KAAO,OAAO,WAAa,aAAa,WAAa,aAAa,WAAa,aAAa,eAAiB,eAAe,WAAa,aAAa,YAAc,cAAc,OAAS,SAAS,qBAAuB,uBAAuB,SAAW,WAAW,mBAAqB,qBAAqB,KAAO,OAAO,OAAS,SAAS,uBAAyB,yBAAyB,UAAY,YAAY,IAAM,MAAM,OAAS,SAAS,KAAO,OAAO,gBAAkB,kBAAkB,kBAAoB,oBAAoB,UAAY,MAAM,WAAa,aAAa,SAAW,WAAW,4BAA8B,8BAA8B,WAAa,OAAO,QAAU,UAAU,UAAY,YAAY,UAAY,YAAY,OAAS,SAAS,cAAgB,cAAc,SAAW,WAAW,qBAAuB,uBAAuB,0BAA4B,4BAA4B,gBAAkB,kBAAkB,eAAiB,iBAAiB,KAAO,OAAO,YAAc,cAAc,UAAY,YAAY,aAAe,eAAe,UAAY,YAAY,gBAAkB,kBAAkB,gBAAkB,kBAAkB,QAAU,UAAU,MAAQ,QAAQ,qBAAuB,uBAAuB,gBAAkB,aAAa,KAAO,OAAO,gBAAkB,kBAAkB,QAAU,UAAU,wBAA0B,0BAA0B,WAAa,aAAa,MAAQ,IAAI,SAAW,WAAW,QAAU,UAAU,kBAAoB,oBAAoB,gBAAkB,kBAAkB,gBAAkB,kBAAkB,gBAAkB,kBAAkB,OAAS,SAAS,SAAW,WAAW,MAAQ,QAAQ,kBAAoB,oBAAoB,eAAiB,iBAAiB,uBAAyB,yBAAyB,iBAAmB,mBAAmB,mBAAqB,qBAAqB,YAAc,cAAc,MAAQ,QAAQ,SAAW,WAAW,SAAW,WAAW,UAAY,YAAY,KAAO,OAAO,MAAQ,QAAQ,eAAiB,UAAU,UAAY,YAAY,MAAQ,QAAQ,OAAS,SAAS,WAAa,aAAa,YAAc,cAAc,cAAgB,gBAAgB,iBAAmB,mBAAmB,IAAM,MAAM,sBAAwB,wBAAwB,4BAA8B,cAAc,+BAAiC,gBAAgB,kBAAoB,oBAAoB,OAAS,SAAS,mBAAqB,qBAAqB,uBAAyB,yBAAyB,UAAY,YAAY,aAAe,eAAe,UAAY,YAAY,YAAc,cAAc,YAAc,cAAc,QAAU,UAAU,MAAQ,QAAQ,OAAS,SAAS,eAAiB,iBAAiB,YAAc,cAAc,eAAiB,gBAAgB,oBAAsB,sBAAsB,0BAA4B,4BAA4B,OAAS,SAAS,mBAAqB,qBAAqB,cAAgB,gBAAgB,eAAiB,iBAAiB,oBAAsB,sBAAsB,WAAa,aAAa,cAAgB,gBAAgB,WAAa,aAAa,kBAAoB,oBAAoB,UAAY,YAAY,eAAiB,iBAAiB,WAAa,aAAa,iBAAmB,mBAAmB,iBAAmB,mBAAmB,QAAU,UAAU,UAAY,YAAY,UAAY,YAAY,GAAK,KAAK,YAAc,cAAc,SAAW,WAAW,cAAgB,gBAAgB,iBAAmB,mBAAmB,cAAgB,gBAAgB,aAAe,eAAe,YAAc,cAAc,UAAY,YAAY,qBAAuB,oBAAoB,KAAO,OAAO,oBAAsB,sBAAsB,MAAQ,QAAQ,UAAY,YAAY,YAAc,cAAc,UAAY,YAAY,oBAAsB,sBAAsB,4BAA8B,8BAA8B,qBAAuB,uBAAuB,cAAgB,gBAAgB,QAAU,UAAU,WAAa,aAAa,WAAa,aAAa,gBAAkB,kBAAkB,aAAe,eAAe,aAAe,eAAe,SAAW,WAAW,YAAc,cAAc,KAAO,OAAO,iBAAmB,mBAAmB,aAAe,eAAe,UAAY,YAAY,YAAc,aAAa,yBAA2B,2BAA2B,UAAY,YAAY,aAAe,eAAe,MAAQ,QAAQ,QAAU,UAAU,2BAA6B,6BAA6B,cAAgB,gBAAgB,UAAY,YAAY,SAAW,WAAW,MAAQ,QAAQ,cAAgB,gBAAgB,WAAa,aAAa,KAAO,IAAI,YAAc,cAAc,aAAe,eAAe,WAAa,aAAa,SAAW,WAAW,SAAW,WAAW,SAAW,WAAW,KAAO,OAAO,qBAAuB,uBAAuB,UAAY,YAAY,MAAQ,QAAQ,MAAQ,QAAQ,YAAc,cAAc,cAAgB,gBAAgB,iBAAmB,mBAAmB,mBAAqB,qBAAqB,uBAAyB,8BAA8B,MAAQ,QAAQ,SAAW,UAAU,WAAa,aAAa,aAAe,eAAe,YAAc,cAAc,iBAAmB,mBAAmB,aAAe,eAAe,sBAAwB,wBAAwB,UAAY,YAAY,eAAiB,iBAAiB,MAAQ,QAAQ,KAAO,OAAO,KAAO,OAAO,UAAY,YAAY,MAAQ,QAAQ,cAAgB,gBAAgB,gBAAkB,kBAAkB,WAAa,aAAa,aAAe,eAAe,kBAAoB,oBAAoB,QAAU,UAAU,gBAAkB,kBAAkB,KAAO,OAAO,MAAQ,QAAQ,2BAA6B,6BAA6B,mBAAqB,MAAM,QAAU,UAAU,iBAAmB,mBAAmB,QAAU,UAAU,YAAc,cAAc,iBAAmB,mBAAmB,kBAAoB,oBAAoB,UAAY,YAAY,eAAiB,UAAU,MAAQ,QAAQ,SAAW,WAAW,kBAAoB,oBAAoB,UAAY,YAAY,cAAgB,gBAAgB,iBAAmB,mBAAmB,MAAQ,QAAQ,cAAgB,gBAAgB,MAAQ,QAAQ,OAAS,SAAS,YAAc,cAAc,OAAS,SAAS,SAAW,WAAW,cAAgB,gBAAgB,6BAA+B,+BAA+B,OAAS,SAAS,YAAc,cAAc,YAAc,cAAc,iBAAmB,mBAAmB,QAAU,UAAU,iBAAmB,mBAAmB,KAAO,OAAO,SAAW,WAAW,IAAM,MAAM,kBAAoB,oBAAoB,OAAS,cAAc,eAAiB,iBAAiB,eAAiB,eAAe,wBAA0B,0BAA0B,UAAY,YAAY,YAAc,cAAc,IAAM,MAAM,YAAc,cAAc,WAAa,aAAa,iBAAmB,WAAW,SAAW,WAAW,KAAO,OAAO,MAAQ,QAAQ,gBAAkB,kBAAkB,iBAAmB,mBAAmB,aAAe,eAAe,sBAAwB,wBAAwB,UAAY,YAAY,sBAAwB,wBAAwB,wBAA0B,0BAA0B,QAAU,UAAU,aAAe,eAAe,MAAQ,QAAQ,SAAW,WAAW,qBAAuB,uBAAuB,cAAgB,gBAAgB,2BAA6B,6BAA6B,eAAiB,iBAAiB,gBAAkB,kBAAkB,WAAa,aAAa,aAAe,aAAa,gBAAkB,kBAAkB,YAAc,cAAc,eAAiB,iBAAiB,iBAAmB,mBAAmB,KAAO,OAAO,SAAW,WAAW,WAAa,aAAa,iBAAmB,iBAAiB,KAAO,OAAO,aAAe,eAAe,KAAO,OAAO,sBAAwB,wBAAwB,OAAS,SAAS,yBAA2B,2BAA2B,QAAU,UAAU,YAAc,cAAc,UAAY,YAAY,WAAa,aAAa,YAAc,cAAc,kBAAoB,oBAAoB,QAAU,UAAU,aAAe,eAAe,cAAgB,gBAAgB,UAAY,YAAY,aAAe,eAAe,WAAa,aAAa,YAAc,cAAc,cAAgB,gBAAgB,SAAW,WAAW,WAAa,aAAa,QAAU,UAAU,KAAO,OAAO,WAAa,aAAa,YAAc,cAAc,UAAY,YAAY,mCAAqC,qCAAqC,UAAY,YAAY,WAAa,YAAY,8BAAgC,gCAAgC,KAAO,OAAO,OAAS,SAAS,oBAAsB,sBAAsB,sBAAwB,wBAAwB,OAAS,IAAI,YAAc,cAAc,gBAAkB,kBAAkB,gBAAkB,kBAAkB,yBAA2B,2BAA2B,OAAS,SAAS,iBAAmB,kBAAkB,EACjneA,EAAU,KAAO,CAAC,iBAAmB,EAAE,iBAAmB,EAAE,eAAiB,EAAE,eAAiB,EAAE,aAAe,EAAE,YAAc,EAAE,YAAc,EAAE,mBAAqB,EAAE,YAAc,EAAE,oBAAsB,EAAE,aAAe,EAAE,aAAe,EAAE,kBAAoB,CAAC,EACzQA,EAAU,WAAa,CAAC,WAAa,GAAG,aAAe,EAAE,YAAc,EAAE,cAAgB,GAAG,WAAa,GAAG,YAAc,EAAE,SAAW,GAAG,aAAe,GAAG,SAAW,GAAG,SAAW,GAAG,WAAa,GAAG,SAAW,GAAG,UAAY,GAAG,aAAe,GAAG,SAAW,GAAG,WAAa,GAAG,aAAe,GAAG,WAAa,GAAG,UAAY,GAAG,iBAAmB,GAAG,eAAiB,GAAG,UAAY,GAAG,eAAiB,GAAG,cAAgB,GAAG,aAAe,GAAG,UAAY,GAAG,QAAU,GAAG,WAAa,GAAG,QAAU,EAAE,SAAW,GAAG,eAAiB,GAAG,UAAY,GAAG,SAAW,GAAG,QAAU,GAAG,gBAAkB,GAAG,YAAc,EAAE,cAAgB,EAAE,aAAe,GAAG,cAAgB,EAAE,YAAc,GAAG,cAAgB,GAAG,WAAa,GAAG,QAAU,GAAG,aAAe,GAAG,UAAY,GAAG,SAAW,GAAG,cAAgB,GAAG,WAAa,GAAG,WAAa,EAAE,SAAW,GAAG,gBAAkB,GAAG,YAAc,GAAG,UAAY,GAAG,SAAW,EAAE,aAAe,GAAG,WAAa,GAAG,eAAiB,GAAG,SAAW,EAAE,YAAc,EAAE,EAC59BA,EAAU,cAAgB,CAAC,YAAc,EAAE,aAAe,EAAE,aAAe,EAAE,cAAgB,CAAC,EAC9FA,EAAU,2BAA6B,CAAC,eAAiB,IAAI,WAAa,IAAI,WAAa,GAAG,EAC9FA,EAAU,iBAAmB,CAAC,mBAAqB,EAAE,mBAAqB,EAAE,mBAAqB,EAAE,mBAAqB,EAAE,mBAAqB,EAAE,mBAAqB,CAAC,EACvKA,EAAU,gBAAkB,CAAC,iBAAmB,EAAE,iBAAmB,EAAE,iBAAmB,CAAC,EAC3FA,EAAU,iBAAmB,CAAC,aAAe,EAAE,YAAc,EAAE,UAAY,CAAC,EAC5EA,EAAU,aAAe,CAAC,eAAiB,EAAE,eAAiB,EAAE,eAAiB,CAAC,EAClFA,EAAU,WAAa,CAAC,aAAe,EAAE,YAAc,EAAE,WAAa,CAAC,EACvEA,EAAU,cAAgB,CAAC,IAAM,EAAE,KAAO,CAAC,EAC3CA,EAAU,wBAA0B,CAAC,mCAAqC,gCAAgC,iBAAmB,iBAAiB,WAAa,YAAY,MAAQ,QAAQ,4BAA8B,0BAA0B,sBAAwB,oBAAoB,cAAgB,cAAc,KAAO,OAAO,6BAA+B,yBAAyB,EAC/XA,EAAU,sBAAwB,CAAC,YAAc,EAAE,OAAS,EAAE,YAAc,EAAE,aAAe,EAAE,UAAY,EAAE,WAAa,EAAE,cAAgB,EAAE,UAAY,CAAC,EACxJA,EAAU,YAAc,CAAC,aAAe,GAAG,qBAAuB,EAAE,kBAAoB,EAAE,kBAAoB,EAAE,cAAgB,EAAE,WAAa,EAAE,cAAgB,EAAE,YAAc,EAAE,aAAe,EAAE,YAAc,EAAE,kBAAoB,CAAC,EACzOA,EAAU,mCAAqC,CAAC,wBAA0B,yBAAyB,qBAAuB,qBAAqB,2BAA6B,4BAA4B,qBAAuB,SAAS,EACxOA,EAAU,oCAAsC,CAAC,kBAAoB,mBAAmB,wBAA0B,yBAAyB,2BAA6B,2BAA2B,EACnMA,EAAU,sBAAwB,CAAC,aAAe,EAAE,kBAAoB,GAAG,6BAA+B,EAAE,YAAc,EAAE,WAAa,GAAG,0BAA4B,GAAG,gBAAkB,EAAE,kBAAoB,EAAE,sBAAwB,GAAG,SAAW,EAAE,+BAAiC,EAAE,IAAM,EAAE,2BAA6B,CAAC,EACtUA,EAAU,wBAA0B,CAAC,aAAe,EAAE,QAAU,EAAE,eAAiB,CAAC,EACpFA,EAAU,qCAAuC,CAAC,iBAAmB,EAAE,4BAA8B,EAAE,cAAgB,EAAE,kBAAoB,EAAE,mBAAqB,EAAE,eAAiB,EAAE,mBAAqB,EAAE,yBAA2B,EAAE,oBAAsB,CAAC,EACpQA,EAAU,iBAAmB,CAAC,GAAK,mCAAmC,IAAM,8CAA8C,IAAM,wDAAwD,GAAK,+CAA+C,GAAK,kDAAkD,GAAK,6CAA6C,GAAK,oCAAoC,GAAK,gCAAgC,GAAK,yCAAyC,GAAK,4CAA4C,GAAK,iCAAiC,GAAK,iCAAiC,GAAK,mCAAmC,IAAM,sCAAsC,IAAM,yCAAyC,EAAI,oCAAoC,EAAI,2BAA2B,EAAI,wCAAwC,IAAM,wDAAwD,IAAM,mCAAmC,IAAM,+BAA+B,IAAM,+BAA+B,IAAM,6BAA6B,IAAM,4CAA4C,IAAM,iDAAiD,IAAM,iDAAiD,IAAM,8CAA8C,IAAM,8CAA8C,IAAM,8CAA8C,IAAM,6BAA6B,IAAM,6BAA6B,IAAM,4BAA4B,IAAM,4BAA4B,IAAM,sCAAsC,IAAM,6CAA6C,IAAM,yCAAyC,IAAM,uCAAuC,IAAM,0CAA0C,GAAK,6BAA6B,IAAM,qCAAqC,IAAM,wCAAwC,IAAM,8CAA8C,IAAM,4CAA4C,IAAM,+CAA+C,IAAM,0CAA0C,IAAM,+CAA+C,IAAM,yDAAyD,IAAM,gDAAgD,IAAM,kDAAkD,IAAM,oDAAoD,IAAM,oDAAoD,IAAM,qDAAqD,IAAM,+DAA+D,GAAK,gCAAgC,GAAK,mCAAmC,GAAK,+BAA+B,GAAK,sCAAsC,GAAK,kCAAkC,GAAK,6BAA6B,GAAK,yCAAyC,GAAK,0CAA0C,IAAM,kCAAkC,IAAM,+BAA+B,IAAM,qCAAqC,IAAM,yCAAyC,IAAM,yCAAyC,IAAM,yCAAyC,IAAM,oCAAoC,IAAM,0CAA0C,IAAM,gDAAgD,IAAM,wCAAwC,IAAM,gDAAgD,IAAM,6CAA6C,IAAM,0CAA0C,IAAM,yCAAyC,IAAM,wCAAwC,IAAM,yCAAyC,IAAM,4FAA4F,IAAM,8DAA8D,IAAM,iEAAiE,IAAM,+DAA+D,IAAM,8DAA8D,IAAM,6DAA6D,IAAM,4DAA4D,IAAM,6DAA6D,IAAM,8DAA8D,IAAM,8DAA8D,IAAM,yDAAyD,IAAM,sCAAsC,IAAM,2DAA2D,IAAM,iCAAiC,IAAM,0DAA0D,IAAM,iCAAiC,IAAM,6DAA6D,IAAM,mCAAmC,IAAM,+DAA+D,IAAM,mEAAmE,IAAM,iEAAiE,IAAM,uEAAuE,GAAK,4CAA4C,IAAM,sEAAsE,GAAK,+CAA+C,IAAM,kEAAkE,GAAK,sCAAsC,GAAK,sCAAsC,GAAK,yCAAyC,GAAK,qCAAqC,GAAK,qCAAqC,GAAK,uCAAuC,EAC15KA,EAAU,uBAAyB,CAAC,WAAa,aAAa,MAAQ,QAAQ,OAAS,QAAQ,EAC/FA,EAAU,6BAA+B,CAAC,+BAAiC,GAAG,4BAA8B,EAAE,8BAAgC,GAAG,0BAA4B,EAAE,yBAA2B,EAAE,oCAAsC,EAAE,2BAA6B,EAAE,8BAAgC,EAAE,6BAA+B,EAAE,8BAAgC,GAAG,6BAA+B,GAAG,6BAA+B,GAAG,sCAAwC,GAAG,+BAAiC,EAAE,2BAA6B,EAAE,qCAAuC,GAAG,4BAA8B,GAAG,8BAAgC,EAAE,EACvpBA,EAAU,wBAA0B,CAAC,gBAAkB,GAAG,OAAS,EAAE,KAAO,CAAC,EAC7EA,EAAU,uBAAyB,CAAC,YAAc,EAAE,SAAW,EAAE,KAAO,EAAE,MAAQ,CAAC,EACnFA,EAAU,uBAAyB,CAAC,IAAM,EAAE,MAAQ,EAAE,QAAU,CAAC,EACjEA,EAAU,qBAAuB,CAAC,kCAAoC,oCAAoC,kBAAoB,oBAAoB,0BAA4B,4BAA4B,SAAW,WAAW,eAAiB,iBAAiB,kBAAoB,oBAAoB,sCAAwC,wCAAwC,sCAAwC,wCAAwC,kCAAoC,oCAAoC,wDAA0D,0DAA0D,sDAAwD,wDAAwD,iBAAmB,mBAAmB,eAAiB,iBAAiB,oCAAsC,sCAAsC,iCAAmC,mCAAmC,0BAA4B,4BAA4B,+BAAiC,iCAAiC,yBAA2B,2BAA2B,8BAAgC,gCAAgC,8BAAgC,gCAAgC,qBAAuB,uBAAuB,kBAAoB,oBAAoB,sBAAwB,wBAAwB,0CAA4C,4CAA4C,kBAAoB,oBAAoB,0BAA4B,4BAA4B,eAAiB,iBAAiB,uBAAyB,yBAAyB,oBAAsB,sBAAsB,iCAAmC,mCAAmC,qBAAuB,uBAAuB,OAAS,SAAS,oCAAsC,sCAAsC,iCAAmC,mCAAmC,iCAAmC,mCAAmC,4BAA8B,8BAA8B,YAAc,cAAc,mBAAqB,qBAAqB,UAAY,YAAY,iCAAmC,mCAAmC,uBAAyB,yBAAyB,gBAAkB,kBAAkB,uBAAyB,yBAAyB,iBAAmB,mBAAmB,yBAA2B,2BAA2B,oCAAsC,sCAAsC,oBAAsB,sBAAsB,mBAAqB,qBAAqB,eAAiB,iBAAiB,YAAc,cAAc,kCAAoC,oCAAoC,gBAAkB,kBAAkB,iBAAmB,mBAAmB,8BAAgC,gCAAgC,uBAAyB,yBAAyB,2BAA6B,6BAA6B,0BAA4B,4BAA4B,4BAA8B,8BAA8B,cAAgB,gBAAgB,uBAAyB,yBAAyB,yBAA2B,2BAA2B,sBAAwB,wBAAwB,oBAAsB,sBAAsB,aAAe,eAAe,kBAAoB,oBAAoB,wBAA0B,0BAA0B,eAAiB,iBAAiB,sBAAwB,wBAAwB,YAAc,cAAc,kCAAoC,oCAAoC,uBAAyB,yBAAyB,iBAAmB,mBAAmB,iBAAmB,mBAAmB,uCAAyC,yCAAyC,iCAAmC,mCAAmC,uBAAyB,yBAAyB,uBAAyB,yBAAyB,mBAAqB,qBAAqB,UAAY,YAAY,WAAa,aAAa,oBAAsB,sBAAsB,iBAAmB,mBAAmB,6BAA+B,+BAA+B,WAAa,aAAa,MAAQ,QAAQ,wDAA0D,0DAA0D,WAAa,aAAa,kCAAoC,oCAAoC,KAAO,OAAO,4BAA8B,8BAA8B,iBAAmB,mBAAmB,wBAA0B,0BAA0B,oBAAsB,sBAAsB,wBAA0B,0BAA0B,gBAAkB,kBAAkB,YAAc,cAAc,sBAAwB,wBAAwB,SAAW,WAAW,qBAAuB,uBAAuB,mBAAqB,qBAAqB,+CAAiD,iDAAiD,kBAAoB,oBAAoB,gBAAkB,kBAAkB,+BAAiC,iCAAiC,iBAAmB,mBAAmB,6BAA+B,+BAA+B,eAAiB,iBAAiB,yBAA2B,2BAA2B,gBAAkB,kBAAkB,wBAA0B,0BAA0B,2BAA6B,6BAA6B,sBAAwB,wBAAwB,2CAA6C,6CAA6C,qCAAuC,uCAAuC,yCAA2C,2CAA2C,0BAA4B,4BAA4B,4BAA8B,8BAA8B,cAAgB,gBAAgB,2BAA6B,6BAA6B,yBAA2B,2BAA2B,uBAAyB,yBAAyB,YAAc,cAAc,gBAAkB,kBAAkB,iBAAmB,mBAAmB,qBAAuB,uBAAuB,WAAa,aAAa,cAAgB,gBAAgB,gDAAkD,kDAAkD,eAAiB,iBAAiB,0BAA4B,4BAA4B,8BAAgC,gCAAgC,iCAAmC,mCAAmC,kCAAoC,oCAAoC,iBAAmB,mBAAmB,mBAAqB,qBAAqB,qBAAuB,uBAAuB,iCAAmC,mCAAmC,gBAAkB,kBAAkB,8BAAgC,gCAAgC,iBAAmB,mBAAmB,mBAAqB,qBAAqB,uBAAyB,yBAAyB,iBAAmB,mBAAmB,6BAA+B,+BAA+B,6BAA+B,+BAA+B,mCAAqC,qCAAqC,kCAAoC,oCAAoC,gCAAkC,kCAAkC,mBAAqB,qBAAqB,iCAAmC,mCAAmC,oBAAsB,sBAAsB,gCAAkC,kCAAkC,eAAiB,iBAAiB,iBAAmB,mBAAmB,gBAAkB,kBAAkB,oCAAsC,sCAAsC,qBAAuB,uBAAuB,0BAA4B,4BAA4B,+BAAiC,iCAAiC,8BAAgC,gCAAgC,oCAAsC,sCAAsC,2BAA6B,6BAA6B,uBAAyB,yBAAyB,mBAAqB,qBAAqB,qCAAuC,uCAAuC,eAAiB,iBAAiB,0BAA4B,4BAA4B,8BAAgC,gCAAgC,YAAc,cAAc,UAAY,YAAY,WAAa,aAAa,6CAA+C,+CAA+C,YAAc,cAAc,uBAAyB,yBAAyB,sBAAwB,wBAAwB,mBAAqB,qBAAqB,sBAAwB,wBAAwB,sCAAwC,wCAAwC,yBAA2B,2BAA2B,+BAAiC,iCAAiC,KAAO,OAAO,qBAAuB,uBAAuB,wBAA0B,0BAA0B,0BAA4B,4BAA4B,0BAA4B,4BAA4B,iBAAmB,mBAAmB,qCAAuC,uCAAuC,UAAY,YAAY,eAAiB,iBAAiB,yDAA2D,2DAA2D,iCAAmC,mCAAmC,mBAAqB,qBAAqB,4CAA8C,8CAA8C,oCAAsC,sCAAsC,kBAAoB,oBAAoB,2BAA6B,6BAA6B,qCAAuC,uCAAuC,sBAAwB,wBAAwB,SAAW,WAAW,yCAA2C,2CAA2C,UAAY,YAAY,0CAA4C,4CAA4C,qBAAuB,uBAAuB,cAAgB,gBAAgB,aAAe,eAAe,mBAAqB,qBAAqB,gCAAkC,kCAAkC,yBAA2B,2BAA2B,gBAAkB,kBAAkB,sDAAwD,wDAAwD,oBAAsB,sBAAsB,mBAAqB,qBAAqB,oBAAsB,sBAAsB,UAAY,YAAY,6CAA+C,+CAA+C,uBAAyB,yBAAyB,mBAAqB,qBAAqB,yBAA2B,2BAA2B,0BAA4B,4BAA4B,cAAgB,gBAAgB,sBAAwB,wBAAwB,6CAA+C,+CAA+C,qBAAuB,uBAAuB,0BAA4B,4BAA4B,gBAAkB,kBAAkB,wCAA0C,0CAA0C,SAAW,WAAW,qCAAuC,uCAAuC,IAAM,MAAM,eAAiB,iBAAiB,cAAgB,gBAAgB,cAAgB,gBAAgB,2BAA6B,6BAA6B,+BAAiC,iCAAiC,wBAA0B,0BAA0B,2BAA6B,6BAA6B,wBAA0B,0BAA0B,iBAAmB,mBAAmB,iCAAmC,mCAAmC,2CAA6C,6CAA6C,wBAA0B,0BAA0B,eAAiB,iBAAiB,0BAA4B,4BAA4B,8BAAgC,gCAAgC,0BAA4B,4BAA4B,wBAA0B,0BAA0B,gCAAkC,kCAAkC,oCAAsC,sCAAsC,0BAA4B,4BAA4B,oBAAsB,sBAAsB,cAAgB,gBAAgB,eAAiB,iBAAiB,yBAA2B,2BAA2B,yBAA2B,2BAA2B,mCAAqC,qCAAqC,gBAAkB,kBAAkB,iCAAmC,mCAAmC,gBAAkB,kBAAkB,8BAAgC,gCAAgC,0BAA4B,4BAA4B,4BAA8B,8BAA8B,mBAAqB,qBAAqB,mBAAqB,qBAAqB,0BAA4B,4BAA4B,oCAAsC,sCAAsC,qBAAuB,uBAAuB,6BAA+B,+BAA+B,qBAAuB,uBAAuB,qBAAuB,uBAAuB,gCAAkC,kCAAkC,sCAAwC,wCAAwC,uBAAyB,yBAAyB,wBAA0B,0BAA0B,gCAAkC,kCAAkC,mBAAqB,qBAAqB,0BAA4B,4BAA4B,sBAAwB,wBAAwB,4CAA8C,8CAA8C,mCAAqC,qCAAqC,YAAc,cAAc,sBAAwB,wBAAwB,4CAA8C,8CAA8C,OAAS,SAAS,iBAAmB,mBAAmB,uBAAyB,yBAAyB,WAAa,aAAa,qBAAuB,uBAAuB,mBAAqB,qBAAqB,uBAAyB,yBAAyB,eAAiB,iBAAiB,gBAAkB,kBAAkB,oCAAsC,sCAAsC,oCAAsC,sCAAsC,qBAAuB,uBAAuB,gBAAkB,kBAAkB,sCAAwC,wCAAwC,qBAAuB,uBAAuB,4BAA8B,8BAA8B,iCAAmC,mCAAmC,kCAAoC,oCAAoC,iCAAmC,mCAAmC,mCAAqC,qCAAqC,iCAAmC,mCAAmC,oCAAsC,sCAAsC,YAAc,cAAc,0BAA4B,4BAA4B,6BAA+B,+BAA+B,uCAAyC,yCAAyC,sBAAwB,wBAAwB,oCAAsC,sCAAsC,oBAAsB,sBAAsB,mCAAqC,qCAAqC,kDAAoD,oDAAoD,kCAAoC,oCAAoC,qBAAuB,uBAAuB,qCAAuC,uCAAuC,oCAAsC,sCAAsC,oBAAsB,sBAAsB,qBAAuB,uBAAuB,kBAAoB,oBAAoB,4BAA8B,8BAA8B,YAAc,cAAc,SAAW,WAAW,uCAAyC,yCAAyC,gBAAkB,kBAAkB,sBAAwB,wBAAwB,kCAAoC,oCAAoC,iBAAmB,mBAAmB,uBAAyB,yBAAyB,wBAA0B,0BAA0B,qCAAuC,uCAAuC,uBAAyB,yBAAyB,oCAAsC,sCAAsC,uBAAyB,yBAAyB,+BAAiC,iCAAiC,iBAAmB,mBAAmB,KAAO,OAAO,qBAAuB,uBAAuB,qCAAuC,uCAAuC,8BAAgC,gCAAgC,4BAA8B,8BAA8B,kCAAoC,oCAAoC,mBAAqB,qBAAqB,uBAAyB,yBAAyB,kCAAoC,oCAAoC,sBAAwB,wBAAwB,oBAAsB,sBAAsB,0BAA4B,4BAA4B,6BAA+B,+BAA+B,gBAAkB,kBAAkB,MAAQ,QAAQ,cAAgB,gBAAgB,WAAa,aAAa,yBAA2B,2BAA2B,sDAAwD,wDAAwD,yBAA2B,2BAA2B,8CAAgD,gDAAgD,eAAiB,iBAAiB,uBAAyB,yBAAyB,mBAAqB,qBAAqB,0BAA4B,4BAA4B,QAAU,UAAU,qBAAuB,uBAAuB,iBAAmB,mBAAmB,mBAAqB,qBAAqB,oBAAsB,sBAAsB,8DAAgE,gEAAgE,kCAAoC,oCAAoC,4BAA8B,8BAA8B,2BAA6B,6BAA6B,8BAAgC,gCAAgC,iBAAmB,mBAAmB,iBAAmB,mBAAmB,gCAAkC,kCAAkC,oBAAsB,sBAAsB,iCAAmC,mCAAmC,aAAe,eAAe,uCAAyC,yCAAyC,yBAA2B,2BAA2B,qBAAuB,uBAAuB,4CAA8C,8CAA8C,cAAgB,gBAAgB,gCAAkC,kCAAkC,SAAW,WAAW,sBAAwB,wBAAwB,yCAA2C,2CAA2C,cAAgB,gBAAgB,WAAa,aAAa,uBAAyB,yBAAyB,uBAAyB,yBAAyB,MAAQ,QAAQ,2CAA6C,6CAA6C,qBAAuB,uBAAuB,kCAAoC,oCAAoC,UAAY,YAAY,cAAgB,gBAAgB,oBAAsB,sBAAsB,UAAY,YAAY,wBAA0B,0BAA0B,sCAAwC,uCAAuC,EAC7vpBA,EAAU,mCAAqC,CAAC,EAAI,uCAAuC,EAAI,8DAA8D,EAAI,4DAA4D,EAAI,2DAA2D,EAAI,4DAA4D,EAAI,6DAA6D,CAEja,GAAG,UAAU,EClCN,MAAMC,GAAe,eCAfC,GAAsB,aACtBC,GAAsB,YACtBC,GAAsB,yBACtB,GAAsB,mBACtBC,GAAsB,2BACtBC,GAAsB,sBACtBC,GAAsB,YACtBC,GAAsB,aACtBC,GAAsB,YACtBC,GAAsB,gBACtBC,GAAsB,aACtBC,GAAsB,oCCX7BC,GAA2B,UAC3BC,GAAsB,EACtBC,GAAgB,CAAC,IAAK,GAAG,EACxB,MAAMC,CAAY,CACrB,aAAc,CACV,KAAK,eAAiB,KACtB,KAAK,eAAiB,CAAC,EACvB,KAAK,uBAAyB,CAAC,EAC/B,KAAK,QAAU,GACf,KAAK,OAASC,EAAO,IACrB,KAAK,IAAM,KACX,KAAK,QAAU,CAAC,EAChB,KAAK,SAAW,CAAC,EACjB,KAAK,aAAe,IAAI,SACxB,KAAK,aAAe,OACpB,KAAK,gBAAkB,KACvB,KAAK,QAAU,KACf,KAAK,WAAaH,GAClB,KAAK,gBAAkB,EAC3B,CAEA,iBAAiBI,EAAWC,EAAU,CAClC,OAAQD,EAAW,CAGf,KAAKE,EAAO,gBAAiB,EACC,KAAK,uBAAuBF,CAAS,IAAM,KAAK,uBAAuBA,CAAS,EAAI,CAAC,IAC7F,KAAKC,CAAQ,EAC/B,KACJ,CACA,KAAKC,EAAO,QACZ,KAAKA,EAAO,QACZ,KAAKA,EAAO,UACZ,KAAKA,EAAO,gBACZ,KAAKA,EAAO,SAAU,EACA,KAAK,eAAeF,CAAS,IAAM,KAAK,eAAeA,CAAS,EAAI,CAAC,IAC7E,KAAKC,CAAQ,EACvB,KACJ,CACA,QACI,KAAO,eACf,CAEJ,CAEA,OAAQ,CACJ,KAAK,eAAe,MAAM,CAC9B,CAEA,SAASE,EAAO,CACZ,KAAK,QAAUA,CACnB,CAEA,UAAUC,EAAQ,CACd,OAAQA,EAAQ,CACZ,KAAKL,EAAO,IACZ,KAAKA,EAAO,KACZ,KAAKA,EAAO,KACZ,KAAKA,EAAO,IACZ,KAAKA,EAAO,OACR,KAAK,OAASK,EACd,MACJ,QACI,KAAO,qBACf,CACJ,CAEA,OAAOC,EAAK,CACR,KAAK,IAAMA,CACf,CAEA,gBAAgBC,EAAKH,EAAO,CACxB,KAAK,aAAa,OAAOG,EAAKH,CAAK,CACvC,CAEA,yBAA0B,CACtB,KAAK,WAAW,KAAK,YAAY,CACrC,CAEA,YAAYI,EAAOJ,EAAO,CACtB,KAAK,SAASI,CAAK,EAAIJ,CAC3B,CAEA,MAAO,CACH,MAAMK,EAAO,KACb,KAAK,iBAAmB,KAAK,eAAe,mBAAqB,MACjE,WAAW,OAAS,WAAW,MAAM,QAAU,WAAW,MAAM,OAAO,QAAU,WAAW,MAAM,OAAO,OAAO,0BAA4B,KAAK,iBAAiB,2BAA4B,WAAW,MAAM,OAAO,OAAO,wBAAwB,EACrP,KAAK,eAAiB,IAAI,eAC1B,KAAK,eAAe,KAAK,KAAK,OAAQ,KAAK,IAAK,KAAK,OAAO,EAC5D,KAAK,eAAe,gBAAkB,KAAK,gBAC3C,KAAK,cAAgB,KAAK,UAAY,KAAK,eAAe,aAAe,KAAK,cAC9E,KAAK,wBAA0BC,GAA2B,IAAI,EAE9D,KAAK,2BAA6B,GAClC,KAAK,eAAe,mBAAqB,SAAUC,EAAI,CAAEC,GAAmB,KAAKH,EAAM,KAAME,CAAE,CAAG,EAClG,KAAK,eAAe,QAAY,SAAUA,EAAI,CAAEE,GAAiB,KAAKJ,EAAM,KAAME,CAAE,CAAG,EACvF,KAAK,eAAe,UAAY,SAAUA,EAAI,CAAEE,GAAiB,KAAKJ,EAAM,KAAME,CAAE,CAAG,EACvFG,GAAmC,IAAI,EACvC,MAAMC,EAAcC,GAAmB,IAAI,EAC1C,KAAK,SAAWhB,EAAO,IAAO,KAAK,eAAe,KAAK,EAAI,KAAK,eAAe,KAAKe,CAAW,CACpG,CAEA,iBAAiBE,EAAMb,EAAO,CAC1B,KAAK,QAAQa,CAAI,EAAIb,CACzB,CAEA,cAAcc,EAAM,CAChB,KAAK,WAAaA,CACtB,CAEA,gBAAgB,CACZ,KAAK,gBAAkB,EAC3B,CAEA,gBAAgBd,EAAO,CACnB,OAAQA,EAAO,CACX,IAAK,cACL,IAAK,OACL,IAAK,WACL,IAAK,OACL,IAAK,OACL,IAAK,GACD,KAAK,aAAeA,EACpB,MACJ,QACI,KAAO,mCACf,CACJ,CAEA,uBAAwB,CACpB,GAAI,KAAK,kBAAoB,KAAM,CAE/B,MAAMe,EADU,KAAK,eAAe,sBAAsB,EACtC,KAAK,EAAE,MAAMvB,EAAwB,EAEnDwB,EAAY,CAAC,EACnB,QAASC,EAAI,EAAGA,EAAIF,EAAI,OAAQE,IAAK,CACjC,MAAMC,EAAQH,EAAIE,CAAC,EAAE,MAAM,IAAI,EACzBE,EAASD,EAAM,MAAM,EACrBlB,EAAQkB,EAAM,KAAK,IAAI,EAC7BF,EAAUG,EAAO,YAAY,CAAC,EAAInB,CACtC,CACA,KAAK,gBAAkBgB,CAC3B,CACA,OAAO,KAAK,eAChB,CAEA,WAAWI,EAAS,CAChB,KAAK,QAAUA,CACnB,CACJ,CAEO,MAAMxB,EAAS,CAClB,IAAK,MACL,KAAM,OACN,KAAM,OACN,IAAK,MACL,OAAQ,QACZ,EAEAD,EAAY,OAASC,EAEd,MAAMG,EAAS,CAClB,QAAS,UACT,QAAS,UACT,SAAU,WACV,QAAS,UACT,SAAU,WACV,gBAAiB,kBACjB,UAAW,YACX,gBAAiB,iBACrB,EAEAJ,EAAY,OAASI,EAErB,SAASS,GAAmBa,EAASd,EAAI,CACrC,MAAMe,EAAiBf,EAAG,QAAU,KAAK,eACnCgB,EAAaD,EAAe,WAC5BE,EAASF,EAAe,OACxBG,EAAaD,EAAS,IAI5B,GAFoB9B,GAAc,SAAS4B,EAAe,MAAM,GAAM,KAAK,WAAa,EAEvE,CACb,KAAK,aACL,KAAK,KAAK,EACV,MACJ,CAEA,OAAQC,EAAY,CAChB,KAAK,eAAe,OAChB,MACJ,KAAK,eAAe,iBAChB,MACJ,KAAK,eAAe,QAChB,MACJ,KAAK,eAAe,KAAM,CACtB,MAAMG,EAAWJ,EAAe,SAEhC,KAAK,eAAevB,EAAO,OAAO,GAAKyB,GAAU,KAAOA,GAAU,KAAOG,GAAkB,KAAK,eAAe5B,EAAO,OAAO,EAAGsB,EAASd,EAAI,IAAIqB,GAAyBH,EAAWD,EAAQF,EAAgBI,CAAQ,CAAC,EACtN,KAAK,eAAe3B,EAAO,SAAS,GAAKyB,IAAW,KAAOG,GAAkB,KAAK,eAAe5B,EAAO,SAAS,EAAGsB,EAASd,EAAI,IAAIqB,GAAyBH,EAAWD,EAAQF,EAAgBI,CAAQ,CAAC,EAC1M,KAAK,eAAe3B,EAAO,eAAe,GAAKyB,IAAW,KAAOG,GAAkB,KAAK,eAAe5B,EAAO,eAAe,EAAGsB,EAASd,EAAI,IAAIqB,GAAyBH,EAAWD,EAAQF,EAAgBI,CAAQ,CAAC,EACtN,KAAK,eAAe3B,EAAO,OAAO,GAAKyB,GAAU,KAAOA,GAAU,KAAOG,GAAkB,KAAK,eAAe5B,EAAO,OAAO,EAAGsB,EAASd,EAAI,IAAIqB,GAAyBH,EAAWD,EAAQF,EAAgBI,CAAQ,CAAC,EACtN,KAAK,eAAe3B,EAAO,QAAQ,GAAK4B,GAAkB,KAAK,eAAe5B,EAAO,QAAQ,EAAGsB,EAASd,EAAI,IAAIqB,GAAyBH,EAAWD,EAAQF,EAAgBI,CAAQ,CAAC,EACtL,KACJ,CACJ,CACJ,CAEA,SAASjB,GAAiBY,EAASd,EAAI,CACnC,MAAMe,EAAiBf,EAAG,QAAU,KAAK,eACnCiB,EAASF,EAAe,OAC1B,KAAK,6BACT,KAAK,2BAA6B,GAClC,KAAK,eAAevB,EAAO,OAAO,GAAK4B,GAAkB,KAAK,eAAe5B,EAAO,OAAO,EAAGsB,EAASd,EAAI,IAAIqB,GAAyB,GAAOJ,EAAQF,EAAgBA,EAAe,QAAQ,CAAC,EACnM,CAEA,SAASK,GAAkBE,EAAWR,EAASd,EAAIuB,EAA0B,CACzE,QAASb,EAAI,EAAGA,EAAIY,EAAU,OAAQZ,IAClCY,EAAUZ,CAAC,EAAE,KAAKI,EAASd,EAAIuB,CAAwB,CAE/D,CAEA,SAASxB,GAA2B,CAAC,uBAAAyB,EAAwB,eAAAT,CAAc,EAAG,CAC1E,UAAWzB,KAAakC,EAAwB,CAC5C,MAAMF,EAAYE,EAAuBlC,CAAS,EAClD,QAASoB,EAAI,EAAGA,EAAIY,EAAU,OAAQZ,IAClCK,EAAe,OAAO,iBAAiB,WAAYO,EAAUZ,CAAC,CAAC,CAEvE,CACJ,CAEA,SAASP,GAAmC,CAAC,QAAAsB,EAAS,eAAAV,CAAc,EAAG,CACnE,UAAWW,KAAcD,EAAS,CAC9B,MAAME,EAAcF,EAAQC,CAAU,EACtCX,EAAe,iBAAiBW,EAAYC,CAAW,CAC3D,CACJ,CAEA,SAAStB,GAAmB,CAAC,QAAAQ,EAAS,SAAAe,CAAQ,EAAG,CAC7C,IAAIC,EAAkB,GACtB,GAAIhB,aAAmB,SACnBgB,EAAkBhB,UACXA,aAAmBiB,GAAoB,CAC9C,MAAMC,EAAqBlB,EAC3B,IAAIgB,EAAkB,GACtB,MAAMG,EAAOD,EAAmB,KAAK,EAErC,QAASrB,EAAI,EAAGA,EAAIsB,EAAK,OAAQtB,IAAK,CAClC,MAAMd,EAAMoC,EAAKtB,CAAC,EAClB,IAAIjB,EAAQsC,EAAmB,IAAInC,CAAG,EAClCqC,EAAkB,mBAAmBrC,CAAG,EAAE,OAAO,GAAG,EAAE,OAAO,mBAAmBH,CAAK,CAAC,EAC1FoC,EAAoBA,EAAgB,OAA4BA,EAAgB,OAAO,GAAG,EAAE,OAAOI,CAAe,EAApEA,CAClD,CACA,OAAOJ,CACX,CACA,UAAWhC,KAAS+B,EAAU,CAC1B,IAAInC,EAAQmC,EAAS/B,CAAK,EACtBoC,EAAkB,mBAAmBpC,CAAK,EAAE,OAAO,GAAG,EAAE,OAAO,mBAAmBJ,CAAK,CAAC,EAC5FoC,EAAoBA,EAAgB,OAA4BA,EAAgB,OAAO,GAAG,EAAE,OAAOI,CAAe,EAApEA,CAClD,CACA,OAAOJ,CACX,CAEO,MAAMC,EAAmB,CAC5B,aAAc,CACV,KAAK,OAAS,CAAC,CACnB,CAEA,OAAOlC,EAAKH,EAAO,CACf,KAAK,OAAOG,CAAG,EAAIH,CACvB,CAEA,MAAO,CACH,OAAO,OAAO,KAAK,KAAK,MAAM,CAClC,CAEA,IAAIG,EAAK,CACL,MAAMsC,EAAS,KAAK,OAAOtC,CAAG,EAC9B,OAAQsC,IAAW,OAAa,KAAOA,CAC3C,CACJ,CAEA,SAASb,GAAyBH,EAAWiB,EAAcpB,EAAgBI,EAAU,CACjF,KAAK,UAAYD,EACjB,KAAK,aAAeiB,EACpB,KAAK,eAAiBpB,EACtB,KAAK,SAAWI,EAChB,OAAO,OAAO,IAAI,CACtB,CC/RO,SAASiB,GAAgB,CAC/B,OAAOC,GAAW,WAAW,CAC9B,CAEA,SAASA,GAAW/B,EAAM,CACzB,MAAMgC,EAAS,GAAGhC,CAAI,IAChBiC,EAAY,SAAS,OAAO,MAAM,GAAG,EAE3C,QAAS7B,EAAI,EAAGA,EAAI6B,EAAU,OAAQ7B,IAAK,CAC1C,MAAM8B,EAASD,EAAU7B,CAAC,EAAE,KAAK,EACjC,GAAI8B,EAAO,QAAQF,CAAM,IAAM,EAC9B,OAAOE,EAAO,UAAUF,EAAO,MAAM,CAEvC,CACD,CCZO,MAAMG,EAAa,CAIzB,aAAc,CACb,KAAK,IAAM,IAAI,GAChB,CAEA,cAAcC,EAAc,CAC3B,OAAO,KAAK,IAAI,IAAIA,CAAK,CAC1B,CAEA,cAAcA,EAAcC,EAAwB,CACnD,KAAK,IAAI,IAAID,EAAOC,CAAU,CAC/B,CAEA,iBAAiBD,EAAc,CAC9B,OAAO,KAAK,IAAI,OAAOA,CAAK,CAC7B,CAEA,kBAAkBnD,EAA0D,CAE3E,KAAK,IAAI,QAAQ,CAACoD,EAAYD,IAAUnD,EAASoD,EAAYD,CAAK,CAAC,CACpE,CAEA,UAAW,CACV,KAAK,IAAM,IAAI,GAChB,CACD,CC9BA,MAAME,GAAU,WAAW,QAE3B,IAAIC,GAAU,CACb,IAAU,oEACV,MAAU,oEACV,QAAU,gEACX,EAEG,aACFA,GAAU,CACT,IAAU,qFACV,MAAU,qFACV,QAAU,iFACX,GAGD,SAASC,GAAMC,EAAMjC,EAASkC,EAAM,CACnC,MAAMC,EAASJ,GAAQE,CAAI,GAAKF,GAAQ,QAClCK,EAASN,GAAQG,CAAI,GAAKH,GAAQ,IACxC,IAAIV,EAAS,CAAC,KAAKpB,CAAO,GAAImC,CAAK,EACnCf,EAAaA,EAAO,OAAOc,CAAI,EAC/BE,EAAI,GAAGhB,CAAM,CACd,CAMA,MAAMiB,EAAQ,CACb,IAAIrC,EAAS,CACZ,MAAMkC,EAAO,CAAC,EAAE,MAAM,KAAK,UAAW,CAAC,EACvCF,GAAM,MAAOhC,EAASkC,CAAI,CAC3B,CAEA,MAAMlC,EAAS,CACd,MAAMkC,EAAO,CAAC,EAAE,MAAM,KAAK,UAAW,CAAC,EACvCF,GAAM,QAAShC,EAASkC,CAAI,CAC7B,CAEA,KAAKlC,EAAS,CACb,MAAMkC,EAAO,CAAC,EAAE,MAAM,KAAK,UAAW,CAAC,EACvCF,GAAM,OAAQhC,EAASkC,CAAI,CAC5B,CAMD,CAEO,MAAMI,GAAS,IAAID,GAE1B,WAAW,wCAA0C,G,iNCnD9C,MAAME,GAAgB,CAC5B,uBAAuBC,EAAQC,EAAS,CACvC,GAAG,OAAO,QAAW,YACpBH,GAAO,MAAMG,EAASD,CAAM,MACvB,CACL,MAAME,EAAgB,CAAC,EACvBA,EAAc,KAAO,eACrBA,EAAc,QAAU,KAAK,UAAUF,CAAM,EAC7C,OAAO,kBAAkBE,CAAa,EACtC,MAAMC,EAAS,CACd,sBAAsB,EACvB,EACA,OAAO,MAAM,IAAI,MAAMF,CAAO,EAAG,OAAWE,CAAO,CACpD,CAED,EACA,cAAc7D,EAAKH,EAAO,CACtB,OAAO,QAAW,cACrB,WAAW,KAAKG,CAAG,EAAIH,EACvB,OAAO,QAAQ,IAAM,WAAW,KAAM,EAAI,EAC3C,CACD,EAEO,SAAeiE,GAAYjE,EAAO,iCACxC,GAAG,CAACA,EAAO,OAEX,MAAMkE,EADU,IAAI,YAAY,EACX,OAAOlE,CAAK,EAC3BmE,EAAa,MAAM,OAAO,OAAO,OAAO,UAAWD,CAAI,EAG7D,OAFkB,MAAM,KAAK,IAAI,WAAWC,CAAU,CAAC,EAC7B,IAAIC,GAAKA,EAAE,SAAS,EAAE,EAAE,SAAS,EAAG,GAAG,CAAC,EAAE,KAAK,EAAE,CAE5E,CAAC,CAAD,CAEO,MAAMC,GAAW,CAACC,EAAOR,EAASS,IAAa,CACrD,GAAI,OAAO,QAAW,YACrB,GAAO,MAAMA,EAAUT,EAASQ,CAAK,MAC/B,CACN,MAAME,EAAc,CAAC,EACrBA,EAAU,KAAUD,EACpBC,EAAU,QAAU,KAAK,UAAUV,CAAO,EAC1C,OAAO,kBAAkBU,CAAS,EAClC,MAAMC,EAAY,CACjB,sBAAuB,GACvB,eAAgB,CACf,OAAQ,GACR,kBAAmBF,CACpB,CACD,EACA,OAAO,MAAM,IAAI,MAAMT,CAAO,EAAG,OAAWW,CAAS,CACtD,CACD,ECpDA,IAAIC,GAAW,EAKR,MAAMC,GAAmB,CAC/B,oCAAqCD,KAGrC,MAAOA,IACR,ECVO,MAAM,EAAI,CAChB,IAAIvE,EAAK,CACR,OAAO,KAAKA,CAAG,CAChB,CAEA,IAAIA,EAAKH,EAAO,CACf,OAAO,KAAKG,CAAG,EAAIH,CACpB,CAEA,OAAOG,EAAK,CACX,OAAO,KAAKA,CAAG,CAChB,CACA,IAAIA,EAAK,CACR,OAAO,KAAKA,CAAG,IAAM,MACtB,CACA,MAAO,CACN,OAAO,OAAO,KAAK,IAAI,CACxB,CACD,CClBO,MAAMyE,EAAc,CACvB,YAAYC,EAASC,EAAS,CAC1B,KAAK,QAAWD,EAChB,KAAK,SAAWC,CACpB,CACA,YAAYA,EAAS,CACvB,KAAK,SAAWA,CACjB,CACA,aAAa,CACZ,OAAO,KAAK,QACb,CACG,WAAWD,EAAQ,CACrB,KAAK,QAAUA,CAChB,CACA,YAAY,CACX,OAAO,KAAK,OACb,CAED,CCfO,MAAME,EAAU,CACtB,aAAc,CACb,KAAK,eAAiB,KACtB,KAAK,gBAAiB,CAAC,EACvB,KAAK,eAAiB,CAAC,EACvB,KAAK,WAAiB,GACtB,KAAK,aAAiB,CAAC,CACxB,CAEA,kBAAkBD,EAAS,CAC1B,KAAK,eAAiBA,CACvB,CAEA,mBAAmB,CAClB,OAAO,KAAK,cACb,CAEG,mBAAmBD,EAAQC,EAAS,CAChC,MAAME,EAAiB,IAAIJ,GAAeC,EAAQC,CAAQ,EAC1D,KAAK,gBAAgB,KAAKE,CAAc,CAC5C,CAEH,mBAAmB,CAClB,OAAO,KAAK,gBAAgB,IAAI,CACjC,CAEA,cAAe,CACd,KAAK,eAAiB,CAAC,CACxB,CAEA,aAAaF,EAAU,CAGvB,CAEA,UAAUA,EAAU,CAEnB,OADc,KAAK,eAAe,QAAQA,CAAQ,EACtC,EAKb,CAEA,kBAAkBA,EAAU,CAC3B,MAAMG,EAAQ,KAAK,eAAe,QAAQH,CAAQ,EAClDG,GAAS,IAAM,KAAK,eAAe,OAAOA,EAAO,CAAC,CACnD,CAEA,cAAcC,EAAMC,EAAW,CAM/B,CAEA,cAAe,CACd,OAAO,KAAK,UACb,CAEA,iBAAkB,CACjB,OAAO,KAAK,eAAe,MAC5B,CAEA,gBAAgBC,EAAS,CACxB,KAAK,aAAeA,CACrB,CAEA,iBAAkB,CACjB,OAAO,KAAK,YACb,CACD,CCzEO,MAAMC,EAAW,CACvB,aAAc,CACb,KAAK,QAAoB,CAAC,EAC1B,KAAK,aAAoB,KACzB,KAAK,kBAAoB,EAC1B,CAEA,gBAAgBC,EAAQ,CACvB,CAAC,KAAK,QAAQA,CAAM,IAAM,KAAK,QAAQA,CAAM,EAAI,IAAIP,IACrD,KAAK,aAAeO,CACrB,CAEA,iBAAkB,CACjB,OAAO,KAAK,YACb,CAEA,aAAaA,EAAQ,CACpB,OAAO,KAAK,QAAQA,CAAM,CAC3B,CAEA,qBAAqBJ,EAAM,CAC1B,KAAK,kBAAoBA,CAC1B,CAEA,sBAAuB,CACtB,OAAO,KAAK,iBACb,CACD,CC3BO,MAAMK,EAAU,CACtB,aAAc,CACb,KAAK,SAAW,CAAC,EACjB,KAAK,cAAgB,KACrB,KAAK,mBAAqB,KAC1B,KAAK,OACN,CAEA,iBAAiBV,EAAS,CACzB,CAAC,KAAK,SAASA,CAAO,IAAM,KAAK,SAASA,CAAO,EAAI,IAAIQ,IACzD,KAAK,cAAgBR,CACtB,CAEA,kBAAmB,CAClB,OAAO,KAAK,aACb,CAEA,sBAAsBW,EAAc,CACnC,KAAK,mBAAqBA,CAC3B,CAEA,uBAAwB,CACvB,OAAO,KAAK,kBACb,CAEA,cAAcX,EAAS,CACtB,OAAO,KAAK,SAASA,CAAO,CAC7B,CAEA,YAAa,CACZ,OAAO,KAAK,OACb,CAEA,WAAWY,EAAS,CACnB,KAAK,QAAUA,CAChB,CACD,CCtCO,MAAMC,GAA+B,OAAO,MAAM,EAC5CC,GAA+B,OAAO,UAAU,EAChDC,GAA+B,OAAO,SAAS,EAC/CC,GAA+B,OAAO,QAAQ,EAC9CC,GAA+B,KCJrC,MAAMC,EAAkB,CAC9B,aAAc,CACb,KAAK,kBAAoB,EAC1B,CACD,CCDO,MAAMC,WAA8BD,EAAiB,CACxD,aAAc,CACV,MAAM,EACZ,KAAK,kBAAoBJ,GACnB,KAAK,SAAoB,KACzB,KAAK,MAAoB,IAC7B,CAEA,UAAW,CACb,OAAO,KAAK,KACb,CAEG,SAASM,EAAO,CAClB,KAAK,MAAQA,CACd,CACD,CCfO,MAAMC,WAA6BH,EAAkB,CAC3D,aAAc,CACb,MAAM,EACN,KAAK,kBAAoBH,GACzB,KAAK,SAAoB,IAC1B,CACD,CCPO,MAAMO,EAAe,CAE3B,aAAc,CACb,KAAK,OAAS,IAAI,IAClB,KAAK,QAAU,IAAI,IACnB,KAAK,cAAgB,IAAI,MACzB,KAAK,iBAAmB,KACxB,KAAK,eAAiB,KACtB,KAAK,WAAa,CAAC,KAAM,IAAI,EAC7B,KAAK,KAAO,IACb,CACA,WAAY,CACX,OAAO,MAAM,KAAK,KAAK,MAAM,CAC9B,CACA,YAAa,CACZ,OAAO,MAAM,KAAK,KAAK,OAAO,CAC/B,CACA,SAASC,EAAS,CACjB,KAAK,OAAO,IAAIA,CAAO,CACxB,CACA,gBAAgBtB,EAAS,CACxB,KAAK,cAAc,KAAKA,CAAQ,CACjC,CACA,UAAUA,EAAU,CACnB,KAAK,QAAQ,IAAIA,CAAQ,CAC1B,CACA,mBAAmBA,EAAU,CAC5B,MAAMG,EAAQ,KAAK,cAAc,QAAQH,CAAQ,EAChDG,GAAQ,IAAO,KAAK,cAAc,OAAOA,EAAO,CAAC,CAEnD,CACA,aAAaH,EAAU,CACtB,KAAK,QAAQ,OAAOA,CAAQ,CAC7B,CACA,aAAaA,EAAS,CAErB,OADc,KAAK,cAAc,QAAQA,CAAQ,GACjC,EACjB,CACA,oBAAoBA,EAAS,CAC5B,KAAK,iBAAmBA,CACzB,CACA,qBAAqB,CACpB,OAAO,KAAK,gBACb,CACA,kBAAkBA,EAAS,CAC1B,KAAK,eAAiBA,CACvB,CACA,mBAAmB,CAClB,OAAO,KAAK,cACb,CACA,QAAQxB,EAAM,CACb,KAAK,KAAOA,CACb,CACA,oBAAqB,CACpB,OAAQ,KAAK,OAAO,MAAQ,GAAO,KAAK,QAAQ,MAAQ,CACzD,CACA,sBAAuB,CACtB,OAAQ,KAAK,QAAQ,MAAQ,GAAO,KAAK,OAAO,MAAQ,CACzD,CACA,SAAU,CACT,OAAO,KAAK,IACb,CACA,cAAcwB,EAAUsB,EAAS,CAChC,KAAK,WAAW,CAAC,EAAItB,EACrB,KAAK,WAAW,CAAC,EAAIsB,CACtB,CACA,eAAgB,CACf,OAAO,KAAK,UACb,CACA,iBAAiBtB,EAAU,CAC1B,OAAQ,KAAK,OAAS,GAAoB,KAAK,QAAQ,IAAIA,CAAQ,CACpE,CACA,OAAQ,CACP,KAAK,oBAAoB,EACzB,KAAK,QAAQ,IAAI,CAClB,CACA,qBAAsB,CACrB,KAAK,OAAO,MAAM,EAClB,KAAK,QAAQ,MAAM,CACpB,CACA,iBAAkB,CACjB,KAAK,WAAW,CAAC,EAAI,KAAK,WAAW,CAAC,EAAI,IAC3C,CACA,OAAQ,CACP,IAAIuB,EAAiB,IAAIF,GACzB,OAAAE,EAAe,QAAU,IAAI,IAAI,KAAK,OAAO,EAC7CA,EAAe,OAAS,IAAI,IAAI,KAAK,MAAM,EAC3CA,EAAe,WAAW,CAAC,EAAI,KAAK,WAAW,CAAC,EAChDA,EAAe,WAAW,CAAC,EAAI,KAAK,WAAW,CAAC,EAChDA,EAAe,KAAO,KAAK,KAEpBA,CACR,CACA,oBAAqB,CACpB,MAAI,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,GAAK,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAK5D,CACD,CAGO,SAASC,IAAwB,CAEvC,IAAID,EAAoB,KAAK,eAAe,MAAM,EAC9CE,EAAwB,KAAK,qBAC7BC,EAAc,KAAK,cAAc,EAAE,UAAU,EAC7C3B,EAAc,KAAK,cAAc,EAAE,WAAW,EAC9CS,EAAc,KAAK,cAAc,EAAE,UAAU,EAC7CmB,EAAiBC,GAAeF,EAAQ3B,EAASS,CAAM,EAEvDqB,EAA0BJ,EAAqB,iBAAiB,EAChEK,EAAgCD,EAAqB,SAAWF,EAAcA,EAAc,EAAIE,EAAqB,SACrHE,EAAgCF,EAAqB,SACrDG,EAA+BH,EAAqB,OACpDI,EAA+BJ,EAAqB,OAEpDrD,EAAO+C,EAAe,QAAQ,EAKlC,GAJA,KAAK,oBAAoB,EACzBE,EAAqB,wBAAwB,EAC7CA,EAAqB,oBAAoBA,EAAqB,YAAY,CAAC,EAExEE,IAAgB,EAClB,GAAG,KAAK,cAAc,EAAE,YAAY,IAAM,EACzCJ,EAAe,UAAU,EAAE,MAE3B,QAIF,OAAQ/C,EAAM,CACb,IAAK,GAQJ,QANI0D,EAAWX,EAAe,UAAU,EAEpCY,EAAmB,EACnBC,EAAkB,IAClBC,EAA4B,GAEvBlG,EAAI,EAAGA,EAAI+F,EAAS,OAAQ/F,IAAK,CACzC,IAAImF,EAAUY,EAAS/F,CAAC,EACpBmG,EAAaC,GAAcb,EAAQ3B,EAASS,EAAQc,CAAO,EAE/D,GAAIgB,IAAe,OAAW,CAC7B,IAAIE,EAAUrG,EACVsG,EAAW,EACXC,EAAS,EACTC,EAAWL,EACXM,EAASN,EAEbb,EAAqB,oBAAoBe,EAASC,EAAUE,EAAUD,EAAQE,EAAQpE,CAAI,EAC1F6D,EAA4B,GAE5BD,EAAkB,KAAK,IAAIA,EAAiBO,CAAQ,CACrD,CACD,CAEIP,IAAoB,MACvBA,EAAkB,GAGnB,IAAIS,EAAqBtB,EAAe,cAAc,EAAE,CAAC,EACrDuB,EAAoBvB,EAAe,cAAc,EAAE,CAAC,EAEpDwB,EAAwB,KAExBF,IAAuB,GAC1BE,EAAwBnB,GAAeF,EAAQ3B,EAASS,CAAM,EACpDqC,IAAuB,KACjCE,EAAwB,EAExBA,EAAwBC,GAAetB,EAAQ3B,EAASS,EAAQqC,CAAkB,EAGnF,IAAII,EAAuBV,GAAcb,EAAQ3B,EAASS,EAAQsC,CAAiB,EAI/EC,IAA0B,SAC7BA,EAAwBZ,GAGrBc,IAAyB,SAC5BA,EAAuBb,GAInBC,EAIJZ,EAAqB,mBAAmB,EAAGsB,EAAuBE,CAAoB,GAHtFxB,EAAqB,oBAAoB,EAAGK,EAA8BC,EAA8BC,EAA4BC,EAA4B,CAAe,EAC/KR,EAAqB,mBAAmB,EAAGK,EAA8BC,CAA4B,GAKtG,MAED,IAAK,GAQJ,QANI1B,EAAYkB,EAAe,WAAW,EAEtCY,EAAmB,IACnBC,EAAkB,EAClBC,EAA4B,GAEvBlG,EAAI,EAAGA,EAAIkE,EAAU,OAAQlE,IAAK,CAC1C,IAAI6D,EAAWK,EAAUlE,CAAC,EACtB+G,EAAcF,GAAetB,EAAQ3B,EAASS,EAAQR,CAAQ,EAGlE,GAAIkD,IAAgB,OAAW,CAC9B,IAAIV,EAAUrG,EACVsG,EAAWS,EACXR,EAASQ,EACTP,EAAW,EACXC,EAAS,EAEbnB,EAAqB,oBAAoBe,EAASC,EAAUE,EAAUD,EAAQE,EAAQpE,CAAI,EAC1F6D,EAA4B,GAE5BF,EAAmB,KAAK,IAAIA,EAAkBM,CAAQ,CAGvD,CAED,CAEIN,IAAqB,MACxBA,EAAmB,GAGpB,IAAIU,EAAqBtB,EAAe,cAAc,EAAE,CAAC,EACrDuB,EAAoBvB,EAAe,cAAc,EAAE,CAAC,EAEpDwB,EAAwBC,GAAetB,EAAQ3B,EAASS,EAAQqC,CAAkB,EAClFI,EAAuBV,GAAcb,EAAQ3B,EAASS,EAAQsC,CAAiB,EAI/EC,IAA0B,SAC7BA,EAAwBZ,GAGrBc,IAAyB,SAC5BA,EAAuBb,GAInBC,EAIJZ,EAAqB,mBAAmB,EAAGsB,EAAuBE,CAAoB,GAHtFxB,EAAqB,oBAAoB,EAAGK,EAA8BC,EAA8BC,EAA4BC,EAA4B,CAAe,EAC/KR,EAAqB,mBAAmB,EAAGK,EAA8BC,CAA4B,GAKtG,MAED,IAAK,GAEJ,IAAI1B,EAAYkB,EAAe,WAAW,EACtCW,EAAWX,EAAe,UAAU,EAEpCY,EAAmB,IACnBC,EAAkB,IAClBC,EAA4B,GAE5Bc,EAAgBZ,GAAcb,EAAQ3B,EAASS,EAAQ0B,EAAS,CAAC,CAAC,EAClEkB,EAAgBD,EAChBE,EAAiBL,GAAetB,EAAQ3B,EAASS,EAAQH,EAAU,CAAC,CAAC,EACrEiD,EAAiBD,EAErB,GAAIF,IAAkB,QAAaE,IAAmB,OAAW,CAChE,QAASlH,EAAI,EAAGA,EAAIkE,EAAU,OAAQlE,IAAK,CAC1C,IAAI6D,EAAWK,EAAUlE,CAAC,EACtB+G,EAAcF,GAAetB,EAAQ3B,EAASS,EAAQR,CAAQ,EAC9DkD,EAAcI,IACjBA,EAAiBJ,GAEdA,EAAcG,IACjBA,EAAiBH,EAEnB,CAEA,QAAS/G,EAAI,EAAGA,EAAI+F,EAAS,OAAQ/F,IAAK,CACzC,IAAImF,EAAUY,EAAS/F,CAAC,EACpBmG,EAAaC,GAAcb,EAAQ3B,EAASS,EAAQc,CAAO,EAC3DgB,EAAac,IAChBA,EAAgBd,GAEbA,EAAaa,IAChBA,EAAgBb,EAElB,CAEA,IAAIE,EAAU,EACVC,EAAWY,EACXV,EAAWQ,EACXT,EAASY,EACTV,EAASQ,EAEb3B,EAAqB,oBAAoBe,EAASC,EAAUE,EAAUD,EAAQE,EAAQpE,CAAI,EAC1F6D,EAA4B,GAE5BF,EAAmB,KAAK,IAAIA,EAAkBM,CAAQ,EACtDL,EAAkB,KAAK,IAAIA,EAAiBO,CAAQ,CAIrD,CAEIR,IAAqB,MACxBA,EAAmB,GAGhBC,IAAoB,MACvBA,EAAkB,GAGnB,IAAIS,EAAqBtB,EAAe,cAAc,EAAE,CAAC,EACrDuB,EAAoBvB,EAAe,cAAc,EAAE,CAAC,EAEpDwB,EAAwB,KAE5B,GAAIF,IAAuB,GAAI,CAE9B,MAAMU,GAAiB,KAAK,WAAW,YAAY,IAAM,EAAI,EAAI,EACjER,EAAwBnB,GAAeF,EAAQ3B,EAASS,CAAM,EAAI+C,EACnE,MAAWV,IAAuB,KACjCE,EAAwB,EAExBA,EAAwBC,GAAetB,EAAQ3B,EAASS,EAAQqC,CAAkB,EAInF,IAAII,EAAuBV,GAAcb,EAAQ3B,EAASS,EAAQsC,CAAiB,EAI/EC,IAA0B,SAC7BA,EAAwBZ,GAGrBc,IAAyB,SAC5BA,EAAuBb,GAGxBX,EAAqB,mBAAmB,EAAGsB,EAAuBE,CAAoB,EAEjFZ,GACJZ,EAAqB,oBAAoB,EAAG,EAAG,EAAG,EAAG,EAAG,CAAe,EAGxE,MAED,QACD,CACD,CAEA,SAASG,GAAeF,EAAQ3B,EAASS,EAAQ,CAChD,IAAIgD,EAAO,MAAM,KAAK,UAAU,IAAI9B,CAAM,EACtC+B,EAAQD,EAAK,SAASzD,CAAO,EAC7B2D,EAAOD,EAAM,QAAQjD,CAAM,EAC3BmD,EAAaD,EAAK,cAAc,EACpC,OAAOC,EAAW,KACnB,CAEA,SAASX,GAAetB,EAAQ3B,EAASS,EAAQR,EAAU,CAC1D,IAAI2B,EAAcC,GAAeF,EAAQ3B,EAASS,CAAM,EACxD,GAAIR,IAAa,IAAM2B,IAAgB,EACtC,OAAOA,EAER,IAAI6B,EAAO,MAAM,KAAK,UAAU,IAAI9B,CAAM,EACtC+B,EAAQD,EAAK,SAASzD,CAAO,EAC7B2D,EAAOD,EAAM,QAAQjD,CAAM,EAC3BmD,EAAaD,EAAK,cAAc,EACpC,OAAOC,EAAW,cAAc3D,CAAQ,CACzC,CAEA,SAASuC,GAAcb,EAAQ3B,EAASS,EAAQc,EAAS,CACxD,IAAIkC,EAAO,MAAM,KAAK,UAAU,IAAI9B,CAAM,EACtC+B,EAAQD,EAAK,SAASzD,CAAO,EAC7B2D,EAAOD,EAAM,QAAQjD,CAAM,EAC3BoD,EAAYF,EAAK,aAAa,EAClC,OAAOE,EAAU,cAActC,CAAO,CACvC,CAGA,WAAW,sBAAwBE,GCjY5B,MAAMqC,WAA0B5C,EAAiB,CACvD,aAAc,CACb,MAAM,EACN,KAAK,kBAAoBL,GACzB,KAAK,WAAoB,IAAIkD,GAC7B,KAAK,eAAoB,IAAIC,GAC7B,KAAK,eAAoB,IAAI1C,EAC9B,CAEA,kBAAmB,CAClB,OAAO,KAAK,UACb,CAKA,mBAAoB,CACnB,OAAO,KAAK,cACb,CAEA,sBAAuB,CACtB,OAAO,KAAK,iBACb,CACD,CAEA,MAAM0C,EAAS,CACd,aAAc,CACb,KAAK,IAAW,IAAI,IACpB,KAAK,SAAW,IACjB,CAEA,IAAIC,EAAIC,EAAO,CACd,KAAK,IAAI,IAAID,EAAIC,CAAK,CACvB,CAEA,IAAID,EAAI,CACP,OAAO,KAAK,IAAI,IAAIA,CAAE,CACvB,CAEA,OAAOA,EAAI,CACV,OAAO,KAAK,IAAI,OAAOA,CAAE,CAC1B,CAEA,WAAY,CACX,KAAK,IAAI,MAAM,CAChB,CAEA,MAAO,CACN,OAAO,KAAK,IAAI,IACjB,CAEA,YAAY3I,EAAK,CAChB,OAAO,KAAK,IAAI,IAAIA,CAAG,CACxB,CAEA,gBAAgB8E,EAAO,CACtB,OAAO,MAAM,KAAK,KAAK,IAAI,KAAK,CAAC,EAAEA,CAAK,CACzC,CAEA,mBAAoB,CACnB,YAAK,SAAW,KAAK,IAAI,QAAQ,EAC1B,KAAK,SAAS,KAAK,EAAE,MAAM,CAAC,CACpC,CAEA,kBAAmB,CAClB,OAAO,KAAK,SAAS,KAAK,EAAE,MAAM,CAAC,CACpC,CAEA,YAAY6D,EAAI,CACf,IAAIE,EAAc,KAClB,MAAMC,EAAY,KAAK,IAAI,QAAQ,EACnC,IAAIC,EAAcD,EAAU,KAAK,EAAE,MAEnC,QAAS,EAAI,EAAG,EAAI,KAAK,KAAK,EAAG,IAAK,CAErC,GAAIH,GAAMI,EAAI,CAAC,EACd,OAAOF,EAERA,EAAME,EACNA,EAAMD,EAAU,KAAK,EAAE,KACxB,CACA,OAAOD,CACR,CAEA,YAAa,CACZ,MAAMG,EAAQ,CAAC,EACTF,EAAY,KAAK,IAAI,QAAQ,EAEnC,QAAShI,EAAI,EAAGA,EAAI,KAAK,KAAK,EAAGA,IAChCkI,EAAM,KAAKF,EAAU,KAAK,EAAE,MAAM,CAAC,CAAC,EAGrC,OAAOE,CACR,CACD,CAEA,MAAMP,EAAc,CACnB,aAAc,CACb,KAAK,GAAK,IACV,KAAK,MAAQ,CACZ,SAAU,EACV,SAAU,EACV,OAAQ,EACR,OAAQ,CACT,CACD,CACD,CC3GO,MAAMQ,WAAoBrD,EAAiB,CACjD,aAAc,CACb,MAAM,EACN,KAAK,kBAA2BF,GAChC,KAAK,kBAA2B,IAAI,IACpC,KAAK,SAA2B,KAChC,KAAK,yBAA2B,CACjC,CAEA,6BAA8B,CAC7B,OAAO,KAAK,wBACb,CAEA,4BAA4BwD,EAAM,CACjC,KAAK,yBAA2BA,CACjC,CAEA,cAAcC,EAASC,EAAY,CAClC,KAAK,kBAAkBD,CAAO,EAAIC,CACnC,CAEA,iBAAiBD,EAAS,CACzB,OAAO,KAAK,kBAAkBA,CAAO,GAAK,EAC3C,CAEA,YAAYA,EAAS,CACpB,KAAK,kBAAkB,OAAOA,CAAO,CACtC,CAEA,sBAAuB,CACtB,OAAO,KAAK,iBACb,CACD,CC7BA,SAASE,GAAaC,EAAU,CAC/B,OAAOA,EAAU,CAChB,IAAK,GACJ,OAAO,IAAId,GACZ,IAAK,GACJ,OAAO,IAAIzC,GACZ,IAAK,GACJ,OAAO,IAAIkD,GACZ,IAAK,GACJ,OAAO,IAAIpD,GAGZ,QACC,KAAM,iDACR,CACD,CAEO,MAAM0D,EAAU,CACtB,YAAYlD,EAAQ3B,EAASS,EAAQmE,EAAU,CAC9C,KAAK,OAAYjD,EACjB,KAAK,QAAY3B,EACjB,KAAK,OAAYS,EACjB,KAAK,UAAYkE,GAAaC,CAAQ,CACvC,CAEA,cAAe,CACd,OAAO,KAAK,SACb,CAEA,WAAY,CACX,OAAO,KAAK,MACb,CAEA,YAAa,CACZ,OAAO,KAAK,OACb,CAEA,WAAY,CACX,OAAO,KAAK,MACb,CACD,CC3CA,MAAME,GAAgB,IAEf,MAAMC,EAAe,CAC3B,aAAc,CACb,KAAK,QAAkB,IAAI,GAC3B,KAAK,gBAAkB,IACxB,CAEA,gBAAgBpD,EAAQ3B,EAASS,EAAQmE,EAAU,CAClD,MAAMtJ,EAAY0J,GAAgBrD,EAAQ3B,EAASS,CAAM,EACnDwE,EAAY,IAAIJ,GAAUlD,EAAQ3B,EAASS,EAAQmE,CAAQ,EACjE,YAAK,QAAQ,IAAItJ,EAAK2J,CAAS,EACxBA,CACR,CAEA,oBAAoBtD,EAAQ3B,EAASS,EAAQmE,EAAU,CACtD,MAAMtJ,EAAa0J,GAAgBrD,EAAQ3B,EAASS,CAAM,EAC1D,IAAIwE,EAAe,KAAK,QAAQ,IAAI3J,CAAG,EACvC,OAAA2J,IAAcA,EAAY,KAAK,gBAAgBtD,EAAQ3B,EAASS,EAAQmE,CAAQ,GACzEK,EAAU,aAAa,CAC/B,CAEA,wBAAyB,CACxB,OAAO,KAAK,gBAAgB,aAAa,CAC1C,CAEA,iBAAiBtD,EAAQ3B,EAASS,EAAQ,CACzC,MAAMnF,EAAU0J,GAAgBrD,EAAQ3B,EAASS,CAAM,EACvD,IAAIwE,EAAY,KAAK,QAAQ,IAAI3J,CAAG,EACpC,OAAO2J,EAAYA,EAAU,aAAa,EAAI,IAC/C,CAEA,cAActD,EAAQ3B,EAASS,EAAQ,CACtC,MAAMnF,EAAY0J,GAAgBrD,EAAQ3B,EAASS,CAAM,EACnDwE,EAAY,KAAK,QAAQ,IAAI3J,CAAG,EACtC,KAAK,gBAAkB2J,CACxB,CAEA,iBAAiBhK,EAAU,CAC1B,MAAMyC,EAAO,KAAK,QAAQ,KAAK,EAC/B,QAAQtB,EAAI,EAAGA,EAAIsB,EAAK,OAAQtB,IAAK,CACpC,MAAM6I,EAAY,KAAK,QAAQ,IAAIvH,EAAKtB,CAAC,CAAC,EAC1CnB,EAASgK,CAAS,CACnB,CACD,CACD,CAEO,MAAMD,GAAkB,CAACrD,EAAQ3B,EAASS,IACzCkB,EAASmD,GAAgB9E,EAAU8E,GAAgBrE,EC9C9CyE,GAAqB,WAAW,iBAAmB,QAChE,WAAW,mBAAuB,UAElC,MAAMC,GAA0B,WAAW,qBAA4B,YAGvE,MAAMC,EAAM,CACX,aAAc,CACb,KAAK,IAAS,IAAI,GAClB,KAAK,QAAY,CAAC,EAClB,KAAK,SAAiB,KACtB,KAAK,WAAiB,GACtB,KAAK,aAAgB,KACrB,KAAK,WAAiB,GACtB,KAAK,gBAAiB,GACtB,KAAK,sBAAwB,KAC7B,KAAK,2BAA6B,IACnC,CAEA,cAAcC,EAAU1D,EAAQ3B,EAASS,EAAQ,CAChD,KAAK,IAAI,IAAI4E,CAAQ,EAAE,cAAc1D,EAAQ3B,EAASS,CAAM,CAE7D,CAEA,uBAAuB4E,EAAU,CAChC,OAAO,KAAK,IAAI,IAAIA,CAAQ,EAAE,uBAAuB,CAEtD,CAEA,iBAAiBA,EAAU1D,EAAQ3B,EAASS,EAAQ,CACnD,MAAM6E,EAAiB,KAAK,IAAI,IAAID,CAAQ,EAC5C,OAAQC,EAAkBA,EAAe,iBAAiB3D,EAAQ3B,EAASS,CAAM,EAAI,IACtF,CAEA,oBAAoB4E,EAAU1D,EAAQ3B,EAASS,EAAQmE,EAAU,CAChE,IAAIU,EAAiB,KAAK,IAAI,IAAID,CAAQ,EAC1C,OAAIC,IACHA,EAAiB,IAAIP,GACrB,KAAK,IAAI,IAAIM,EAAUC,CAAc,GAE/BA,EAAe,oBAAoB3D,EAAQ3B,EAASS,EAAQmE,CAAQ,CAC5E,CAEA,aAAajD,EAAQ,CACpB,OAAO,KAAK,QAAQA,CAAM,CAC3B,CAEA,gBAAgBA,EAAQ,CACvB,KAAK,aAAeA,CACrB,CAEA,UAAUA,EAAQ,CACjB,CAAC,KAAK,QAAQA,CAAM,IAAO,KAAK,QAAQA,CAAM,EAAI,IAAIjB,GACvD,CAEA,mBAAmBL,EAAM,CACxB,KAAK,gBAAkBA,CACxB,CAEA,oBAAqB,CACpB,OAAO,KAAK,eACb,CAEA,0BAA2B,CAC1B,OAAO,KAAK,qBACb,CAEA,yBAAyBhF,EAAK,CAC7B,KAAK,sBAAwBA,CAC9B,CAEA,sCAAuC,CACtC,OAAO,KAAK,0BACb,CAEA,qCAAqCA,EAAK,CACzC,KAAK,2BAA6BA,CACnC,CAEA,YAAYkK,EAAU,CACrB,KAAK,SAAWA,CACjB,CAEA,aAAc,CACb,OAAO,KAAK,QACb,CACA,cAAcvJ,EAAK,CAClB,KAAK,WAAaA,CACnB,CACA,eAAe,CACd,OAAO,KAAK,UACb,CACA,kBAAmB,CAClB,MAAMyH,EAAa,MAAM,KAAK,UAAU,IAAI,KAAK,YAAY,EACvD+B,EAAa/B,EAAK,kBAAkB,EACpCgC,EAAahC,EAAK,QAAQ,EAEhC,OAAO+B,IAAe,GAAiBC,IAAS,CACjD,CAEA,iBAAkB,CACjB,OAAO,KAAK,YACb,CAEA,iBAAiBxK,EAAU,CAC1B,MAAMyK,EAAY,KAAK,IAAI,KAAK,EAChC,QAAQtJ,EAAI,EAAGA,EAAIsJ,EAAU,OAAQtJ,IAClB,KAAK,IAAI,IAAIsJ,EAAUtJ,CAAC,CAAC,EACjC,iBAAiBnB,CAAQ,CAGrC,CAEA,UAAW,CACV,KAAK,WAAa,EACnB,CAEA,SAAU,CACT,KAAK,WAAa,EACnB,CAEA,cAAe,CACd,OAAO,KAAK,UACb,CAEA,OAAQ,CACP,KAAK,IAAM,IAAI,GACf,KAAK,QAAU,CAAC,EAChB,KAAK,SAAW,KAChB,KAAK,WAAa,GAClB,KAAK,aAAe,KACpB,KAAK,WAAa,GAClB,KAAK,gBAAkB,EACxB,CACD,CAEO,MAAM0K,GAAQ,IAAIP,GAEzB,WAAW,QAAU,WAAW,MAAQ,CAAC,GACzC,WAAW,MAAM,MAAQO,GChJzB,MAAMC,GAAc,8BACdC,GAAc,aAEb,MAAMC,EAAmB,CAE/B,aAAc,CACb,KAAK,KAAOD,GAAQ,QAAQD,EAAW,EAAI,KAAK,MAAMC,GAAQ,QAAQD,EAAW,CAAC,EAAI,CAAC,CACxF,CAEA,IAAItK,EAAKH,EAAO,CACf,KAAK,KAAKG,CAAG,EAAIH,EACjB0K,GAAQ,QAAQD,GAAa,KAAK,UAAU,KAAK,IAAI,CAAC,CACvD,CAEA,IAAItK,EAAK,CACR,OAAO,KAAK,KAAKA,CAAG,CACrB,CAEA,OAAQ,CACP,KAAK,KAAO,CAAC,EACbuK,GAAQ,MAAM,CACf,CACD,CCVA,MAAME,GAAa,CAAC,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,QAAQ,EAE1N,MAAMC,EAAY,CACjB,aAAc,CACb,KAAK,GAAsB,KAC3B,KAAK,oBAAsB,CAAC,EAC5B,KAAK,oBAAsB,EAC3B,KAAK,aAAsB,GAI3B,KAAK,gBAAwB,IAAI,IACjC,KAAK,iBAAwB7H,IAAgB,IAAIA,GACjD,KAAK,kBAAwB,GAC7B,KAAK,eAAwB,EAC7B,KAAK,mBAAwB,IAAI2H,GACjC,KAAK,YAAkB,KACvB,KAAK,mBAAwB,GAE7BG,GAAgB,KAAK,IAAI,CAC1B,CAEA,uBAAwB,CACvB,OAAO,KAAK,kBACb,CAEA,sBAAsB5F,EAAM,CAC3B,KAAK,mBAAqBA,CAC3B,CAEA,SAASpF,EAAU,CAClB,aAAa,KAAK,WAAW,EAC7B,KAAK,YAAc,WAAW,IAAM,CACnCA,GAAYA,EAAS,CACtB,EAAG,GAAK,CACT,CAEA,YAAa,CACZ,aAAa,KAAK,WAAW,CAC9B,CAEA,MAAMiL,EAAI,CACTnH,GAAc,cAAc,QAASmH,CAAE,EACjC,KAAK,GAASA,EACpB,MAAMC,EAAc,IAAIC,GAAwB,KAAM,KAAK,EAAE,EACvDC,EAAc,KAAK,oBACzB,QAASjK,EAAI,EAAGA,EAAIiK,EAAY,OAAQjK,IACvCiK,EAAYjK,CAAC,EAAE+J,CAAK,CAEtB,CAEA,SAASD,EAAI,CACZ,KAAK,GAASA,CACf,CAEA,uBAAwB,CACvB,KAAK,iBAAwB/H,IAAgB,IAAIA,GACjD,KAAK,gBAAwB,IAAI,IACjC,KAAK,eAAwB,CAC9B,CAEA,OAAQ,CACP,OAAO,KAAK,EACb,CAEA,uBAAuBlC,EAAO,CAC7B,KAAK,oBAAsBA,CAC5B,CAEA,wBAAyB,CACxB,OAAO,KAAK,mBACb,CAEA,oBAAoBhB,EAAU,CAC7B,KAAK,oBAAoB,KAAKA,CAAQ,CACvC,CAEA,kBAAkBS,EAAI,CACrB,MAAMuD,EAAUvD,EAAG,QACnB,GAAQuD,EAAQ,OACV,qBAAqB,CACzB,MAAMqH,EAAerH,EAAQ,QACvB0C,EAAe2E,EAAQ,QACvBtG,EAAesG,EAAQ,SAE7B,OADqBX,GAAM,aAAahE,CAAM,EAAE,cAAc3B,CAAO,EAAE,gBAAgB,CAExF,CAIF,CAEA,eAAe5B,EAAO,CACrB,IAAImI,EAAQ,KAAK,gBAAgB,IAAInI,CAAK,EAC1C,OAAKmI,IAEJA,EAAQ,KAAK,oBAAoB,EACjC,KAAK,gBAAgB,IAAInI,EAAOmI,CAAK,GAE/BA,CACR,CAEA,qBAAsB,CACrB,OAAO,KAAK,gBACb,CAEA,YAAYlG,EAAM,CACjB,KAAK,kBAAoBA,CAC1B,CAEA,kBAAmB,CAClB,OAAO,KAAK,iBACb,CAEA,qBAAsB,CACrB,MAAO,IAAI0F,GAAW,KAAK,iBAAmBA,GAAW,MAAM,CAAC,EACjE,CAEA,oBAAoBzK,EAAK,CACxB,OAAO,KAAK,mBAAmB,IAAIA,CAAG,CACvC,CAEA,oBAAoBA,EAAKH,EAAO,CAC/B,OAAO,KAAK,mBAAmB,IAAIG,EAAKH,CAAK,CAC9C,CACD,CAEA,SAAS8K,IAAkB,CAC1B,MAAMO,EAAqB,KAAK,mBAChCC,GAAsCD,EAAoB1G,GAAiB,oCAAqC,EAAI,CACrH,CAEA,SAAS2G,GAAsCD,EAAoBlL,EAAKoL,EAAc,CACjFF,EAAmB,IAAIlL,CAAG,IAAM,QACnCkL,EAAmB,IAAIlL,EAAKoL,CAAY,CAE1C,CAEA,MAAMN,EAAwB,CAC1B,YAAYO,EAAQxL,EAAO,CACvB,KAAK,OAASwL,EACd,KAAK,MAAQxL,CACjB,CACJ,CAEO,MAAMyL,GAAa,IAAIZ,GCvJxBa,GAAoB,GAAGnM,EAAgB,iBAEtC,MAAM,EAAY,CACrB,YAAYoM,EAAK,CACb,KAAK,IAAeA,EACpB,KAAK,YAAe,IAAIhM,EACxB,KAAK,SAAe,CAAC,EACrB,KAAK,aAAe,IACxB,CAEA,YAAYS,EAAOJ,EAAO,CAC5B,KAAK,SAASI,CAAK,EAAIJ,CACxB,CAEG,UAAU4L,EAAY,CACxB,MAAMC,EAASD,EAAW,OACpBE,EAASF,EAAW,OAC1B,QAAS3K,EAAI,EAAGA,EAAI4K,EAAO,OAAQ5K,IAClC,KAAK,SAAS4K,EAAO5K,CAAC,CAAC,EAAI6K,EAAO7K,CAAC,CAErC,CAEG,MAAO,CACT,MAAMgC,EAAQ8I,GAAS,EACvB,UAAW3L,KAAS,KAAK,SAAU,CAClC,MAAMJ,EAAQ,KAAK,SAASI,CAAK,EACjC,KAAK,YAAY,YAAYA,EAAOJ,CAAK,CAC1C,CACA,KAAK,YAAY,UAAUJ,EAAO,IAAI,EACtC,KAAK,YAAY,YAAY,WAAY+C,EAAc,CAAC,EACxD,KAAK,YAAY,YAAY,MAAO,KAAK,GAAG,EAC5CM,GAAS,KAAK,YAAY,YAAY,QAASA,CAAK,EACpD,KAAK,YAAY,iBAAiBrE,GAAc8M,EAAiB,EACjE,KAAK,YAAY,OAAO,QAAQ,KAAK,GAAG,EAAE,EAC1C,KAAK,aAAe,KAAK,YAAY,gBAAgB,KAAK,YAAY,EAAI,KAAK,YAAY,gBAAgB,MAAM,EACjH,KAAK,YAAY,KAAK,CACvB,CAEG,cAAe,CACjB,MAAMzI,EAAQ8I,GAAS,EACvB,KAAK,YAAY,WAAYpJ,EAAc,CAAC,EAC5C,KAAK,YAAY,MAAO,KAAK,GAAG,EAChCM,GAAS,KAAK,YAAY,QAASA,CAAK,EACxC,MAAM+I,EAAO,IAAI,KAAK,CAAC,GAAmB,IAAI,CAAC,EAAG,CAAE,KAAMN,EAAkB,CAAC,EAC7E,UAAU,WAAW,QAAQ,KAAK,GAAG,GAAIM,CAAI,CAC9C,CAEG,iBAAiBnM,EAAWC,EAAU,CACxC,KAAK,YAAY,iBAAiBD,EAAWC,CAAQ,CACtD,CAEG,OAAQ,CACV,KAAK,YAAY,MAAM,CACxB,CAEG,SAASE,EAAO,CAClB,OAAO,KAAK,YAAY,SAASA,CAAK,CACvC,CAEG,gBAAgBA,EAAO,CACzB,KAAK,aAAeA,CACrB,CAEG,uBAAwB,CAC1B,OAAO,KAAK,YAAY,sBAAsB,CAC/C,CACD,CAEA,SAAS,GAAmB,CAAC,SAAAmC,CAAQ,EAAG,CACvC,IAAIC,EAAkB,GACtB,UAAWhC,KAAS+B,EAAU,CAC7B,MAAMnC,EAAQmC,EAAS/B,CAAK,EACtBoC,EAAkB,mBAAmBpC,CAAK,EAAE,OAAO,GAAG,EAAE,OAAO,mBAAmBJ,CAAK,CAAC,EAC9FoC,EAAoBA,EAAgB,OAA4BA,EAAgB,OAAO,GAAG,EAAE,OAAOI,CAAe,EAApEA,CAC/C,CACA,OAAOJ,CACR,CAEA,SAAS2J,IAAW,CACnB,OAAON,GAAW,MAAM,CACzB,CCtFO,MAAMQ,GAA0BC,GAAM,CAC5C,GAAI,SAAS,YAAa,CACzB,MAAMnD,EAAQ,SAAS,YAAY,EACnCA,EAAM,mBAAmBmD,CAAE,EAC3BnD,EAAM,SAAS,EAAK,EACpB,MAAMoD,EAAY,OAAO,aAAa,EACtCA,EAAU,gBAAgB,EAC1BA,EAAU,SAASpD,CAAK,CACzB,CACD,EACaqD,GAAwB,IAAM,CAC1C,MAAMC,EAAS,SAAS,OAClBC,EAAQ,SAAS,SAAS,MAAM,GAAG,EAEzC,OAAOD,EAAS,IAAMC,EAAM,CAAC,CAC9B,EAGaC,GAA0B,IAAM,CAC5C,MAAMD,EAAQ,SAAS,SAAS,MAAM,GAAG,EACzC,OAAIA,EAAM,CAAC,EAAE,OAAS,GACRA,EAAM,CAAC,EAAE,MAAM,KAAK,EACrB,CAAC,EAEP,IACR,EAEaE,GAA2B,IAAM,CAC7C,GAAI,WAAW,MAAM,WAAY,CAChC,MAAMF,EAAQ,SAAS,SAAS,MAAM,GAAG,EACnCG,EAAkB,EACxB,OAAIH,EAAMG,CAAe,EAAE,SAAS,KAAK,EACxBH,EAAMG,CAAe,EAAE,MAAM,KAAK,EAC7B,CACM,EAErB,IACR,CACA,OAAO,IACR,EAEaC,GAA0B,IAAM,CAC5C,GAAI,WAAW,MAAM,WAAY,CAChC,MAAMJ,EAAQ,SAAS,SAAS,MAAM,GAAG,EACnCK,EAAiB,EACvB,OAAIL,EAAMK,CAAc,EAAE,SAAS,KAAK,EACvBL,EAAMK,CAAc,EAAE,MAAM,KAAK,EAC7B,CACM,EAEpB,IACR,CACA,OAAO,IACR,EAEaC,GAAgC,IAAM,CAClD,MAAMN,EAAQ,SAAS,SAAS,MAAM,GAAG,EACzC,OAAOA,EAAMA,EAAM,OAAS,CAAC,CAC9B,EAEO,SAASO,IAAkB,CACjC,OAAO,SAAS,IACjB,CAEO,SAASC,GAAgBC,EAAUzJ,EAAM,CAE/C,GAAI,MAAM,eAAgB,CAEzB,IAAI0J,EAAS,MAAM,YAAY,QAC3BC,EAAY,MAAM,UAAU,YAChC,OAAOD,EAASC,EAAUF,CAAQ,CAEnC,KAEC,QAAO,SAAS,SAAS,OAAS,IAAMA,CAE1C,CACO,SAASG,IAAiB,CAChC,MAAM9C,EAAqB,MAAM,MAAM,YAAY,EAC7C+C,EAAqB,MAAM,UAAU,MAAM,UAC3CC,EAAqB,MAAM,UAAU,MAAM,eAC3CC,EAAqB,MAAM,UAAU,MAAM,mBAGjD,OAF2B,MAAM,MAAM,iBAAiB,EACb,GAAGD,CAAc,cAAcD,CAAS,aAAa/C,CAAQ,GAAKiD,CAE9G,CAEA,SAASC,GAAkBC,EAAK1B,EAAQ,CAEvC,SAAS2B,EAAY3B,EAAQ,CAC5B,MAAM4B,EAAQ,OAAO,KAAK5B,CAAM,EAC1B6B,EAAO,OAAO,OAAO7B,CAAM,EACjC,OAAO,IAAI,SAAS,GAAG4B,EAAO,YAAY,IAAI,KAAK,EAAE,GAAGC,CAAI,CAC7D,CACA,OAAOF,EAAY,KAAKD,EAAK1B,CAAM,CACpC,CAEO,SAAS8B,GAAkB7J,EAAS8J,EAAgB,CAE1D,OAAON,GAAkBxJ,EAAS8J,CAAc,CACjD,CAOA,MAAMC,GAAuB,KACvBC,GAAqB,KAEpB,SAASC,GAAuBjK,EAASkK,EAAe,CAE9D,IAAIC,EAAc,EACdC,EAAW,SAAS,uBAAuB,EAC/C,UAAW/N,KAAO6N,EAAe,CAChC,IAAIG,EAAOrK,EAAQ,QAAQ+J,GAAsBI,CAAW,EACxDG,EAAOtK,EAAQ,QAAQgK,GAAoBG,EAAc,CAAC,EAE1DI,EAAU,SAAS,cAAc,MAAM,EAC3CA,EAAQ,YAAcvK,EAAQ,UAAUmK,EAAaE,CAAI,EACzDD,EAAS,YAAYG,CAAO,EAC5BH,EAAS,YAAYF,EAAc7N,CAAG,CAAC,EAEvC8N,EAAcG,EAAO,CACtB,CACA,OAAOF,CACR,CAEO,SAASI,GAA0BxK,EAASkK,EAAe,CACjE,SAASO,EAAYC,KAAYjM,EAAM,CACtC,MAAMkM,EAAkBC,GAAS,SAAS,eAAeA,CAAI,EAEvDjM,EAAS,SAAS,uBAAuB,EAC/C,OAAAA,EAAO,YAAYgM,EAAeD,EAAQ,CAAC,CAAC,CAAC,EAC7CjM,EAAK,QAAQ,CAACpC,EAAKc,IAAM,CACxBwB,EAAO,YAAYtC,aAAe,YAAcA,EAAMsO,EAAetO,CAAG,CAAC,EACzEsC,EAAO,YAAYgM,EAAeD,EAAQvN,EAAI,CAAC,CAAC,CAAC,CAClD,CAAC,EACMwB,CACR,CAEA,SAAS+K,EAAY3B,EAAQ,CAC5B,MAAM4B,EAAQ,OAAO,KAAK5B,CAAM,EAC1B6B,EAAO,OAAO,OAAO7B,CAAM,EACjC,OAAO,IAAI,SAAS,GAAG4B,EAAO,UAAUc,CAAW,KAAK,IAAI,KAAK,EAAE,GAAGb,CAAI,CAC3E,CACA,OAAOF,EAAY,KAAK1J,EAASkK,CAAa,CAC/C,CAEA,MAAM3M,GAAU,KC9IVsN,GAAU9B,GAAgB,EAE1B,GAAoB,GAAGtN,EAAgB,iBAEtC,MAAMqP,WAAoB,EAAoB,CACpD,KAAK1O,EAAK,CACT,UAAWE,KAAS,KAAK,SAAU,CAClC,MAAMJ,EAAQ,KAAK,SAASI,CAAK,EACjC,KAAK,YAAY,YAAYA,EAAOJ,CAAK,CAC1C,CACA,KAAK,YAAY,UAAUJ,EAAO,IAAI,EACtC,KAAK,YAAY,YAAY,WAAY+C,EAAc,CAAC,EACxD,KAAK,YAAY,iBAAiB/D,GAAc,EAAiB,EACjEsB,EAAM,KAAK,YAAY,OAAOA,CAAG,EAAI,KAAK,YAAY,OAAOyO,EAAO,EACpE,KAAK,aAAe,KAAK,YAAY,gBAAgB,KAAK,YAAY,EAAI,KAAK,YAAY,gBAAgB,MAAM,EACjH,KAAK,YAAY,KAAK,CACvB,CACD,CCtBO,SAASE,GAAoBC,EAAUC,EAAUC,EAAW,CAClE,MAAMC,EAAS,IAAIL,GACnBK,EAAO,UAAU,CAChB,OAAQ,CAAC,KAAK,EACd,OAAQ,CAACH,CAAQ,CAClB,CAAC,EAEDG,EAAO,iBAAiB,UAAW,CAAC,CAAC,OAAAzD,CAAM,EAAG,CAAC,eAAAlK,CAAc,IAAM,CAClE,MAAMI,EAAcJ,EAAe,UAAYkK,EAAO,SAChDuD,GAAYA,EAASrN,CAAQ,CAEpC,CAAC,EAEDuN,EAAO,iBAAiB,UAAW,SAAS1O,EAAI,CAC/CyO,GAAaA,EAAU,CAOxB,CAAC,EACD,MAAME,EAAaJ,EAAS,QAAQ,WAAW,GAAK,GAAI,0BAA4B,oBACpFG,EAAO,KAAKC,CAAU,CACvB,CCxBO,SAASC,GAAqBL,EAAUM,EAAUL,EAAUC,EAAW,CAC7E,MAAMC,EAAS,IAAIL,GACnBK,EAAO,UAAU,CAChB,OAAQ,CAAC,MAAO,UAAU,EAC1B,OAAQ,CAACH,EAAUM,CAAQ,CAC5B,CAAC,EAEDH,EAAO,iBAAiB,UAAW,CAAC,CAAC,OAAAzD,CAAM,EAAG,CAAC,eAAAlK,CAAc,IAAM,CAClE,MAAMI,EAAcJ,EAAe,UAAYkK,EAAO,SAChDuD,GAAYA,EAASrN,CAAQ,CAEpC,CAAC,EAEDuN,EAAO,iBAAiB,UAAW,SAAS1O,EAAI,CAC/CyO,GAAaA,EAAU,CAQxB,CAAC,EACD,MAAME,EAAaJ,EAAS,QAAQ,WAAW,GAAK,GAAI,0BAA4B,oBACpFG,EAAO,KAAKC,CAAU,CACvB,CC3BO,MAAMG,GAA6B,YAC7BC,GAA6B,QAC7BC,GAA6B,mBAC7BC,GAA6B,uBAC7BC,GAA6B,yBAC7BC,GAA6B,wBAC7BC,GAA6B,kBAC7BC,GAA6B,YAE7BC,GAA+B,+BAE/BC,GAAgC,gBAChCC,GAAgC,UAChCC,GAAgC,KAChCC,GAAgC,YAChCC,GAAgC,YAChCC,GAAgC,YAChCC,GAAgC,cAChCC,GAAgC,QAChCC,GAAgC,OAChCC,GAAgC,cAChCC,GAAgC,aAChCC,GAAgC,mBAChCC,GAAgC,iBAGhCC,GAAsB,YAEtBC,GAAuB,SACvBC,GAAuB,OACvBC,GAAuB,OACvBC,GAAuB,aAEvBC,GAAiC,OACjCC,GAAiC,cACjCC,GAAiC,OACjCC,GAAiC,MACjCC,GAAiC,OACjCC,GAAiC,aACjCC,GAAiC,OACjCC,GAAiC,cACjCC,GAAiC,YACjCC,GAAiC,YACjCC,GAAiC,kBACjCC,GAAiC,mBACjCC,GAAiC,kBACjCC,GAAiC,cACjCC,GAAiC,gBACjCC,GAAiC,WACjCC,GAAiC,eACjCC,GAAiC,uBACjCC,GAAiC,cACjCC,GAAiC,UACjCC,GAAiC,WACjCC,GAAiC,WACjCC,GAAiC,iBACjCC,GAAiC,UAEjCC,GAAqB,WACrBC,GAAqB,UACrBC,GAAqB,UAErBC,GAA6C,WAC7CC,GAA6C,eAC7CC,GAA6C,OAC7CC,GAA6C,OAC7CC,GAA6C,eAC7CC,GAA6C,oBAC7CC,GAA6C,yBAC7CC,GAAoD,+BACpDC,GAA6C,iBAC7CC,GAA+C,uBAC/CC,GAA6C,qBAC7CC,GAA6C,+BAC7CC,GAA6C,qCAC7CC,GAA6C,kCAC7CC,GAA6C,mDAC7CC,GAA6C,MAC7CC,GAA6C,UAC7CC,GAA6C,WAC7CC,GAA6C,SAC7CC,GAA6C,gBAC7CC,GAA6C,eAC7CC,GAA6C,OAC7CC,GAA6C,WAC7CC,GAA6C,aAC7CC,GAA6C,2BAC7CC,GAA6C,8BCtFpDC,GAAY,SAAS,eAAe,WAAW,EAE9C,SAAS,EAAYC,EAAY,CAEvC,IAAIC,EAAW,SAAS,eAAeD,CAAU,EACjD,OAAAC,EAAWA,EAAS,QAAQ,UAAU,EAAI,EACnCA,CACR,CAEO,SAAS,GAAgBD,EAAYE,EAAY,CAGvD,OAFiB,SAAS,cAAc,IAAIF,CAAU,EAAE,EAC/B,QAAQ,UAAU,EAAI,EAChC,cAAc,IAAIE,CAAU,EAAE,CAC9C,CAEO,SAASC,GAAuBH,EAAYI,EAAmB,CAGrE,OAFiB,SAAS,cAAc,IAAIJ,CAAU,EAAE,EAC/B,QAAQ,UAAU,EAAI,EAChC,cAAc,IAAII,CAAiB,EAAE,CACrD,CCnBO,MAAMC,EAAK,CACd,aAAc,CACV,KAAK,GAAgB,KACrB,KAAK,KAAgB,KACrB,KAAK,KAAgB,KACrB,KAAK,QAAgB,KACrB,KAAK,MAAgB,KACrB,KAAK,WAAgB,KACrB,KAAK,OAAgB,KACrB,KAAK,cAAgB,KACrB,KAAK,sBAAwB,GAC7B,KAAK,wBAA0B,GAC/B,KAAK,KAAgB,CAAC,CAC1B,CAEA,MAAMC,EAAQ,CACV,KAAK,GAAKA,CACd,CAEA,QAAQ/T,EAAM,CACV,KAAK,KAAOA,CAChB,CAEA,WAAWgU,EAAS,CAChB,KAAK,QAAUA,CACnB,CAEA,cAAcC,EAAY,CACtB,KAAK,WAAaA,CACtB,CAEA,QAAS,CACL,KAAK,sBAAwB,EACjC,CAEA,SAAU,CACN,KAAK,sBAAwB,EACjC,CAEA,OAAQ,CACJ,OAAO,KAAK,EAChB,CAEA,SAAU,CACN,OAAO,KAAK,IAChB,CAEA,YAAa,CACT,OAAO,KAAK,OAChB,CAEA,eAAgB,CACZ,OAAO,KAAK,UAChB,CAEA,WAAY,CACR,OAAO,KAAK,MAChB,CAEA,UAAUC,EAAQ,CACd,KAAK,OAASA,CAClB,CAEA,cAAc,CACV,OAAO,KAAK,qBAChB,CAEA,gBAAiB,CACb,KAAK,wBAA0B,EACnC,CAEA,iBAAkB,CACd,KAAK,wBAA0B,EACnC,CAEA,yBAA0B,CACtB,OAAO,KAAK,uBAChB,CAEA,WAAWlQ,EAASmQ,EAAS,CACzB,KAAK,KAAKnQ,CAAO,EAAImQ,CACzB,CAEA,iBAAiBnQ,EAASS,EAAQ,CAC9B,KAAK,KAAKT,CAAO,EAAE,KAAKS,CAAM,CAClC,CAEA,iBAAiBT,EAASS,EAAQ,CAC9B,MAAM0P,EAAU,KAAK,KAAKnQ,CAAO,EAC3BoQ,EAAcD,EAAQ,QAAQ1P,CAAM,EAC1C2P,IAAc,IAAMD,EAAQ,OAAOC,EAAa,CAAC,EACjD,KAAK,KAAKpQ,CAAO,EAAImQ,CACzB,CAEA,kBAAkBnQ,EAAS,CACvB,OAAO,KAAK,KAAKA,CAAO,CAC5B,CAEA,WAAY,CACR,KAAK,KAAO,CAAC,CACjB,CAEA,SAAU,CACN,OAAO,KAAK,IAChB,CAEA,QAAQqQ,EAAM,CACV,KAAK,KAAOA,CAChB,CACJ,CC3GA,MAAMC,GAAiB,4BACjBC,GAAiB,iBAEhB,MAAMC,EAAa,CACtB,YAAYC,EAAcC,EAAmB,CACrC,KAAK,aAAoBD,EACzB,KAAK,kBAAoBC,EACzB,KAAK,YAAoB,CAAC,EAC1B,KAAK,cAAoB,CAAC,EAC1B,KAAK,aAAoB,CAAC,EAC1B,KAAK,eAAoB,CAAC,EAC1B,KAAK,YAAoB,IAAI,GACjC,CAEJ,OAAQ,CACJ,KAAK,YAAgB,CAAC,EACtB,KAAK,cAAgB,CAAC,EACtB,KAAK,aAAgB,CAAC,EACtB,KAAK,eAAgB,CAAC,CAC1B,CAEA,cAAexK,EAAI6J,EAAQY,EAAUC,EAAaC,EAAgBC,EAAgBC,EAAeC,EAAgB,CAC7G,MAAMC,EAAO,IAAInB,GACjB,KAAK,YAAY5J,CAAE,EAAI+K,EAEvBA,EAAK,MAAMlB,CAAM,EACjBkB,EAAK,QAAQN,CAAQ,EACrBM,EAAK,WAAWL,CAAW,EAC3BK,EAAK,cAAcJ,CAAc,EACjCI,EAAK,UAAUH,CAAc,EAC7BC,EAAgBE,EAAK,OAAO,EAAIA,EAAK,QAAQ,EAC7CD,EAAiBC,EAAK,eAAe,EAAGA,EAAK,gBAAgB,CACjE,CAEA,sBAAsB/K,EAAIlG,EAASS,EAAQ,CAC1B,KAAK,YAAYyF,CAAE,EAC3B,WAAWlG,EAASS,CAAM,CACnC,CAEA,yBAAyByF,EAAIlG,EAASmQ,EAAS,CAC3C,MAAMc,EAAO,KAAK,YAAY/K,CAAE,EAChCiK,EAAQ,QAAS1P,GAAW,CACxBwQ,EAAK,iBAAiBjR,EAASS,CAAM,CACzC,CAAC,CACL,CAEA,yBAAyByF,EAAIlG,EAASS,EAAQ,CAC7B,KAAK,YAAYyF,CAAE,EAC3B,iBAAiBlG,EAASS,CAAM,CACzC,CAEA,0BAA0ByF,EAAIlG,EAAS,CACtB,KAAK,YAAYkG,CAAE,EAC3B,kBAAkBlG,CAAO,CAClC,CAEA,oBAAoBkG,EAAI,CACP,KAAK,YAAYA,CAAE,EAC3B,UAAU,CACnB,CAEA,kBAAkBA,EAAI,CAElB,OADa,KAAK,YAAYA,CAAE,EACpB,QAAQ,CACxB,CAEA,kBAAkBA,EAAImK,EAAM,CACX,KAAK,YAAYnK,CAAE,EAC3B,QAAQmK,CAAI,CACrB,CAEA,gBAAgBnK,EAAI6J,EAAQY,EAAUC,EAAaC,EAAgBC,EAAgBC,EAAeC,EAAgB,CAC9G,MAAMC,EAAO,IAAInB,GACjB,KAAK,cAAc5J,CAAE,EAAI+K,EAEzBA,EAAK,MAAMlB,CAAM,EACjBkB,EAAK,QAAQN,CAAQ,EACrBM,EAAK,WAAWL,CAAW,EAC3BK,EAAK,cAAcJ,CAAc,EACjCI,EAAK,UAAUH,CAAc,EAC7BC,EAAgBE,EAAK,OAAO,EAAIA,EAAK,QAAQ,EAC7CD,EAAiBC,EAAK,eAAe,EAAGA,EAAK,gBAAgB,CACjE,CAEA,wBAAwB/K,EAAIlG,EAASS,EAAQ,CAC5B,KAAK,cAAcyF,CAAE,EAC7B,WAAWlG,EAASS,CAAM,CACnC,CAEA,2BAA2ByF,EAAIlG,EAASmQ,EAAS,CAC7C,MAAMc,EAAO,KAAK,cAAc/K,CAAE,EAClCiK,EAAQ,QAAS1P,GAAW,CACxBwQ,EAAK,iBAAiBjR,EAASS,CAAM,CACzC,CAAC,CACL,CAEA,2BAA2ByF,EAAIlG,EAASS,EAAQ,CAC/B,KAAK,cAAcyF,CAAE,EAC7B,iBAAiBlG,EAASS,CAAM,CACzC,CAEA,4BAA4ByF,EAAIlG,EAAS,CACxB,KAAK,cAAckG,CAAE,EAC7B,kBAAkBlG,CAAO,CAClC,CAEA,sBAAsBkG,EAAI,CACT,KAAK,cAAcA,CAAE,EAC7B,UAAU,CACnB,CAEA,oBAAoBA,EAAI,CAEpB,OADa,KAAK,cAAcA,CAAE,EACtB,QAAQ,CACxB,CAEA,oBAAoBA,EAAImK,EAAM,CACb,KAAK,cAAcnK,CAAE,EAC7B,QAAQmK,CAAI,CACrB,CAEA,eAAenK,EAAI6J,EAAQY,EAAUC,EAAaC,EAAgB,CAC9D,MAAMI,EAAO,IAAInB,GACjB,KAAK,aAAa5J,CAAE,EAAI+K,EAExBA,EAAK,MAAMlB,CAAM,EACjBkB,EAAK,QAAQN,CAAQ,EACrBM,EAAK,WAAWL,CAAW,EAC3BK,EAAK,cAAcJ,CAAc,CACrC,CAEA,iBAAiB3K,EAAI6J,EAAQY,EAAUC,EAAaC,EAAgBC,EAAgB,CAChF,MAAMG,EAAO,IAAInB,GACjB,KAAK,eAAe5J,CAAE,EAAI+K,EAE1BA,EAAK,MAAMlB,CAAM,EACjBkB,EAAK,QAAQN,CAAQ,EACrBM,EAAK,WAAWL,CAAW,EAC3BK,EAAK,cAAcJ,CAAc,EACjCI,EAAK,UAAUH,CAAc,CACjC,CAEA,cAAcI,EAAgBnB,EAAQY,EAAUC,EAAaC,EAAgBC,EAAgB,CACzF,MAAMG,EAAO,IAAInB,GAEjBmB,EAAK,MAAMlB,CAAM,EACjBkB,EAAK,QAAQN,CAAQ,EACrBM,EAAK,WAAWL,CAAW,EAC3BK,EAAK,cAAcJ,CAAc,EACjCI,EAAK,UAAUH,CAAc,EAE7B,KAAK,YAAY,IAAII,EAAgBD,CAAI,CAC7C,CAEA,iBAAiB/K,EAAI6J,EAAQY,EAAUC,EAAaC,EAAgBC,EAAgBE,EAAgB,CAChG,MAAMC,EAAO,KAAK,YAAY/K,CAAE,EAEhC+K,EAAK,MAAMlB,CAAM,EACjBkB,EAAK,QAAQN,CAAQ,EACrBM,EAAK,WAAWL,CAAW,EAC3BK,EAAK,cAAcJ,CAAc,EACjCI,EAAK,UAAUH,CAAc,EAC7BE,EAAiBC,EAAK,eAAe,EAAGA,EAAK,gBAAgB,CACjE,CAEA,mBAAmB/K,EAAI6J,EAAQY,EAAUC,EAAaC,EAAgBC,EAAgBE,EAAgB,CAClG,MAAMC,EAAO,KAAK,cAAc/K,CAAE,EAElC+K,EAAK,MAAMlB,CAAM,EACjBkB,EAAK,QAAQN,CAAQ,EACrBM,EAAK,WAAWL,CAAW,EAC3BK,EAAK,cAAcJ,CAAc,EACjCI,EAAK,UAAUH,CAAc,EAC7BE,EAAiBC,EAAK,eAAe,EAAGA,EAAK,gBAAgB,CACjE,CAEA,kBAAkB/K,EAAI6J,EAAQY,EAAUQ,EAAUP,EAAaQ,EAAWP,EAAgBQ,EAAY,CAClG,MAAMJ,EAAO,KAAK,aAAa/K,CAAE,EAEjC+K,EAAK,MAAMlB,CAAM,EACjBkB,EAAK,QAAQN,CAAQ,EACrBM,EAAK,WAAWL,CAAW,EAC3BK,EAAK,cAAcJ,CAAc,CACrC,CAEA,oBAAoB3K,EAAI6J,EAAQY,EAAUC,EAAaQ,EAAW,CAC9D,MAAMH,EAAO,KAAK,cAAc/K,CAAE,EAElC+K,EAAK,MAAMlB,CAAM,EACjBkB,EAAK,QAAQN,CAAQ,EACrBM,EAAK,WAAWL,CAAW,EAC3BK,EAAK,SAASG,CAAS,CAC3B,CAEA,iBAAiBF,EAAgBnB,EAAQY,EAAUC,EAAaQ,EAAW,CACvE,MAAMH,EAAO,KAAK,YAAY,IAAIC,CAAc,EAChDD,EAAK,MAAMlB,CAAM,EACjBkB,EAAK,QAAQN,CAAQ,EACrBM,EAAK,WAAWL,CAAW,EAC3BK,EAAK,SAASG,CAAS,CAC3B,CAEA,iBAAiBrB,EAAQ,CACrB,OAAO,KAAK,YAAYA,CAAM,CAClC,CAEA,mBAAmBA,EAAQ,CACvB,OAAO,KAAK,cAAcA,CAAM,CACpC,CAEA,kBAAkBA,EAAQ,CACtB,OAAO,KAAK,aAAaA,CAAM,CACnC,CAEA,oBAAoBA,EAAQ,CACxB,OAAO,KAAK,eAAeA,CAAM,CACrC,CAEA,iBAAiBmB,EAAgB,CAC7B,KAAK,YAAY,OAAOA,CAAc,CAC1C,CAEA,UAAW,CACP,OAAO,KAAK,aAAa,CAC7B,CAEA,gBAAgBjN,EAAI,CAChB,OAAO,KAAK,YAAYA,CAAE,EAAE,MAAM,CACtC,CAEA,sBAAsB8L,EAAQ,CAE1B,MAAM7J,EADO,KAAK,YAAY6J,CAAM,EAClB,MAAM,EAExB,OAAO,KAAK,kBAAkB,EAAIO,GAAWpK,CACjD,CAEA,wBAAwB6J,EAAQ,CAE5B,MAAM7J,EADO,KAAK,cAAc6J,CAAM,EACpB,MAAM,EAExB,OAAO,KAAK,kBAAkB,EAAIO,GAAWpK,CACjD,CAEA,uBAAuB6J,EAAQ,CAE3B,MAAM7J,EADO,KAAK,aAAa6J,CAAM,EACnB,MAAM,EAGxB,MAAO,yBACX,CAEA,yBAAyBA,EAAQ,CAE7B,MAAM7J,EADO,KAAK,eAAe6J,CAAM,EACrB,MAAM,EAGxB,MAAO,yBACX,CAEA,sBAAsBmB,EAAgB,CAElC,MAAMhL,EADO,KAAK,YAAY,IAAIgL,CAAc,EAC9B,MAAM,EAGxB,MAAO,yBACX,CAEA,kBAAkBnB,EAAQ,CACtB,OAAO,KAAK,YAAYA,CAAM,EAAE,QAAQ,CAC5C,CAEA,oBAAoBA,EAAQ,CACxB,OAAO,KAAK,cAAcA,CAAM,EAAE,QAAQ,CAC9C,CAEA,kBAAkBmB,EAAgB,CAC9B,OAAO,KAAK,YAAY,IAAIA,CAAc,EAAE,QAAQ,CACxD,CAEA,wBAAwBnB,EAAQ,CAC5B,OAAO,KAAK,YAAYA,CAAM,EAAE,UAAU,CAC9C,CAEA,0BAA0BA,EAAQ,CAC9B,OAAO,KAAK,cAAcA,CAAM,EAAE,UAAU,CAChD,CAEA,kBAAkBA,EAAQ,CACtB,OAAO,KAAK,YAAYA,CAAM,EAAE,cAAc,CAClD,CAEA,oBAAoBA,EAAQ,CACxB,OAAO,KAAK,cAAcA,CAAM,EAAE,cAAc,CACpD,CAEA,qBAAqBA,EAAQ,CACzB,OAAO,KAAK,YAAYA,CAAM,EAAE,WAAW,CAC/C,CAEA,uBAAuBA,EAAQ,CAC3B,OAAO,KAAK,cAAcA,CAAM,EAAE,WAAW,CACjD,CAEA,sBAAsBA,EAAQ,CAC1B,OAAO,KAAK,aAAaA,CAAM,EAAE,WAAW,CAChD,CAEA,qBAAqBmB,EAAgB,CACjC,OAAO,KAAK,YAAY,IAAIA,CAAc,EAAE,WAAW,CAC3D,CAEA,mBAAmBnB,EAAQ,CACvB,MAAMuB,EAAkB,KAAK,aAAavB,CAAM,EAAE,QAAQ,EAC1D,OAAIuB,GACOf,EAGf,CAEA,sBAAuB,CACnB,OAAOA,EACX,CAEA,mBAAoB,CAChB,OAAO,OAAO,KAAK,KAAK,WAAW,CACvC,CAEA,qBAAsB,CAClB,OAAO,OAAO,KAAK,KAAK,aAAa,CACzC,CAEA,mBAAoB,CAChB,OAAO,MAAM,KAAK,KAAK,YAAY,KAAK,CAAC,CAC7C,CAEA,oBAAqB,CACjB,OAAO,OAAO,KAAK,KAAK,YAAY,CACxC,CAEA,qBAAsB,CAClB,OAAO,KAAK,kBAAkB,EAAE,MACpC,CAEA,uBAAwB,CACpB,OAAO,KAAK,oBAAoB,EAAE,MACtC,CAEA,sBAAuB,CACnB,OAAO,KAAK,mBAAmB,EAAE,MACrC,CAEA,sBAAuB,CACzB,MAAMgB,EAAgB,OAAO,OAAO,KAAK,WAAW,EAAE,OAAO,OAAO,OAAO,KAAK,aAAa,CAAC,EAElFC,EAAoB,OAAO,QAAQD,EAAeN,GAAOA,EAAK,cAAc,CAAC,CAE1F,CAGG,aAAahN,EAAI,CACb,MAAO,CAAC,CAAC,KAAK,YAAYA,CAAE,CAChC,CAEA,eAAeA,EAAI,CACf,MAAO,CAAC,CAAC,KAAK,cAAcA,CAAE,CAClC,CAEA,cAAcA,EAAI,CACd,MAAO,CAAC,CAAC,KAAK,aAAaA,CAAE,CACjC,CAEA,gBAAgBA,EAAI,CAChB,MAAO,CAAC,CAAC,KAAK,eAAgBA,CAAE,CACpC,CAEA,aAAaiN,EAAgB,CACzB,OAAO,KAAK,YAAY,IAAIA,CAAc,CAC9C,CAEA,cAAcjN,EAAI,CACd,OAAO,KAAK,YAAYA,CAAE,CAC9B,CAEA,gBAAgBA,EAAI,CAChB,OAAO,KAAK,cAAcA,CAAE,CAChC,CAEA,eAAeA,EAAI,CACf,OAAO,KAAK,aAAaA,CAAE,CAC/B,CAEA,iBAAiBA,EAAI,CACjB,OAAO,KAAK,eAAeA,CAAE,CACjC,CAEA,cAAciN,EAAgB,CAC1B,OAAO,KAAK,YAAY,IAAIA,CAAc,CAC9C,CAEA,sBAAsBlB,EAAS,CAC3B,MAAMyB,EAAmBzB,EAAQ,YAAY,EAC7C,QAAQ9J,KAAM,KAAK,YAAa,CAC5B,MAAMwL,EAAiB,KAAK,qBAAqBxL,CAAE,EAAE,YAAY,EACjE,GAAGuL,IAAqBC,EACpB,MAAO,EAEf,CAEA,QAAQxL,KAAM,KAAK,cAAe,CAC9B,MAAMwL,EAAiB,KAAK,uBAAuBxL,CAAE,EAAE,YAAY,EACnE,GAAGuL,IAAqBC,EACpB,MAAO,EAEf,CAEA,MAAO,EACX,CACJ,CCraO,MAAMC,EAAM,CACf,aAAc,CACV,KAAK,YAAc,KAAK,KAAO,KAAK,KAAO,KAAK,OAAS,KAAK,WAAa,KAC3E,KAAK,iBAAmB,EAC5B,CAEA,eAAeC,EAAM,CACjB,KAAK,YAAcA,CACvB,CAEA,gBAAiB,CACb,OAAO,KAAK,WAChB,CAEA,QAAQ5V,EAAM,CACV,KAAK,KAAOA,CAChB,CAEA,QAAQ6V,EAAS,CACb,KAAK,KAAOA,CAChB,CAEA,SAAU,CACN,OAAO,KAAK,IAChB,CAEA,SAAU,CACN,OAAO,KAAK,IAChB,CAEA,UAAUlV,EAAQ,CACd,KAAK,OAASA,CAClB,CAEA,WAAY,CACR,OAAO,KAAK,MAChB,CAEA,cAAcmV,EAAY,CACtB,KAAK,WAAaA,CACtB,CAEA,eAAgB,CACZ,OAAO,KAAK,UAChB,CAEA,iBAAiBC,EAAiB,CAC9B,KAAK,iBAAmBA,CAC5B,CAEA,iBAAkB,CACd,OAAO,KAAK,gBAChB,CACJ,CCpDO,MAAMC,EAAqB,CAC9B,aAAc,CACV,KAAK,GAAK,KAAK,UAAY,KAAK,KAAO,KAAK,WAAa,IAC7D,CAEA,OAAQ,CACJ,OAAO,KAAK,EAChB,CAEA,cAAe,CACX,OAAO,KAAK,SAChB,CAEA,SAAU,CACN,OAAO,KAAK,IAChB,CAEA,eAAgB,CACZ,OAAO,KAAK,UAChB,CAEA,MAAM9L,EAAI,CACN,KAAK,GAAKA,CACd,CAEA,aAAa+L,EAAW,CACpB,KAAK,UAAYA,CACrB,CAEA,QAAQjW,EAAM,CACV,KAAK,KAAOA,CAChB,CAEA,cAAckW,EAAY,CACtB,KAAK,WAAaA,CACtB,CAEJ,CCrCO,MAAMC,EAAe,CACxB,aAAc,CACV,KAAK,GAAK,KAAK,UAAY,KAAK,KAAO,KAAK,KAAO,KAAK,UAAY,KAAK,WAAa,IAC1F,CAEA,OAAQ,CACJ,OAAO,KAAK,EAChB,CAEA,cAAe,CACX,OAAO,KAAK,SAChB,CAEA,SAAU,CACN,OAAO,KAAK,IAChB,CAEA,SAAU,CACN,OAAO,KAAK,IAChB,CAEA,cAAe,CACX,OAAO,KAAK,SAChB,CAEA,eAAgB,CACZ,OAAO,KAAK,UAChB,CAEA,MAAMjM,EAAI,CACN,KAAK,GAAKA,CACd,CAEA,aAAa+L,EAAW,CACpB,KAAK,UAAYA,CACrB,CAEA,QAAQjW,EAAM,CACV,KAAK,KAAOA,CAChB,CAEA,QAAQoW,EAAM,CACV,KAAK,KAAOA,CAChB,CAEA,aAAaC,EAAW,CACpB,KAAK,UAAYA,CACrB,CAEA,cAAcH,EAAY,CACtB,KAAK,WAAaA,CACtB,CAEJ,CCrDO,MAAMI,EAAyB,CAClC,aAAc,CACV,KAAK,KAAO,KAAK,UAAY,KAAK,WAAa,IACnD,CAEA,SAAU,CACN,OAAO,KAAK,IAChB,CAEA,cAAe,CACX,OAAO,KAAK,SAChB,CAEA,eAAgB,CACZ,OAAO,KAAK,UAChB,CAEA,QAAQF,EAAM,CACV,KAAK,KAAOA,CAChB,CAEA,aAAaC,EAAW,CACpB,KAAK,UAAYA,CACrB,CAEA,cAAcH,EAAY,CACtB,KAAK,WAAaA,CACtB,CAEJ,CC7BO,MAAMK,EAAuB,CAChC,aAAc,CACV,KAAK,WAAa,IACtB,CAEA,eAAgB,CACZ,OAAO,KAAK,UAChB,CAEA,cAAcL,EAAY,CACtB,KAAK,WAAaA,CACtB,CACJ,CCXO,MAAMM,EAAiB,CAQ1B,aAAc,CACV,KAAK,QAAe,KAAK,KAAO,KAAK,YAAc,KAAK,SAAW,KAAK,cAAgB,KAAK,KAAO,KACpG,KAAK,aAAe,CAAC,EACrB,KAAK,QAAe,CAAC,CACzB,CAGA,YAAa,CACT,OAAO,KAAK,OAChB,CAEA,SAAU,CACN,OAAO,KAAK,IAChB,CAEA,gBAAiB,CACb,OAAO,KAAK,WAChB,CAEA,aAAc,CACV,OAAO,KAAK,QAChB,CAEA,SAAU,CACN,OAAO,KAAK,IAChB,CAEA,kBAAmB,CACf,OAAO,KAAK,aAChB,CAGA,UAAUC,EAAU,CAChB,OAAO,KAAK,QAAQA,CAAQ,CAChC,CAGA,iBAAkB,CACd,OAAO,KAAK,YAChB,CAEA,iBAAkB,CACd,OAAO,KAAK,aAAa,MAC7B,CAEA,qBAAqBrS,EAAO,CACxB,OAAO,KAAK,aAAaA,CAAK,CAClC,CAGA,WAAWmB,EAAS,CAChB,KAAK,QAAUA,CACnB,CAEA,QAAQvF,EAAM,CACV,KAAK,KAAOA,CAChB,CAEA,eAAe0W,EAAa,CACxB,KAAK,YAAcA,CACvB,CAEA,YAAYC,EAAe,CACvB,KAAK,SAAWA,CACpB,CAEA,QAAQlU,EAAM,CACV,KAAK,KAAOA,CAChB,CAEA,iBAAiBmU,EAAe,CAC5B,KAAK,cAAgBA,CACzB,CAGA,aAAaH,EAAU,CACnB,MAAMI,EAAS,IAAIN,GACnB,KAAK,QAAQE,CAAQ,EAAII,CAC7B,CAEA,aAAaJ,EAAU,CACnB,OAAO,KAAK,QAAQA,CAAQ,CAChC,CAEA,cAAe,CACX,KAAK,QAAU,CAAC,CACpB,CAGA,gBAAgBK,EAAc,CAC1B,KAAK,aAAe,CAAC,EAAE,OAAOA,CAAY,CAC9C,CAEA,mBAAmBL,EAAU,CACzB,KAAK,aAAa,KAAKA,CAAQ,CACnC,CAEA,oBAAoBA,EAAUM,EAAkB,CAC5C,IAAI3S,EAAQ,KAAK,aAAa,QAAQ2S,CAAgB,EACtD,KAAK,aAAa,OAAO,EAAE3S,EAAO,EAAGqS,CAAQ,CACjD,CAEA,qBAAqBA,EAAUM,EAAkB,CAC7C,MAAM3S,EAAQ,KAAK,aAAa,QAAQ2S,CAAgB,EACxD,KAAK,aAAa,OAAO3S,EAAO,EAAGqS,CAAQ,CAC/C,CAEA,mBAAoB,CAChB,KAAK,aAAe,CAAC,CACzB,CAEA,eAAeA,EAAU,CACrB,MAAMrS,EAAQ,KAAK,aAAa,QAAQqS,CAAQ,EAChD,KAAK,aAAa,OAAOrS,EAAO,CAAC,CACrC,CAEJ,CC9HA,MAAM4S,GAAiB,6CAEhB,MAAMC,EAAO,CAChB,aAAc,CACV,KAAK,QAAc,CAAC,EACpB,KAAK,YAAc,CAAC,EACpB,KAAK,QAAc,GACnB,KAAK,UAAc,IACvB,CAEA,OAAOC,EAAU,CACnB,OAAO,KAAK,QAAQA,CAAQ,EAC5B,MAAM9S,EAAQ,KAAK,YAAY,QAAQ8S,CAAQ,EAC/C9S,GAAS,GAAK,KAAK,YAAY,OAAOA,EAAO,CAAC,CAC/C,CAEG,OAAO8S,EAAU3R,EAAS4R,EAAWlM,EAAQ,CAC/C,CAAC,KAAK,YAAYiM,CAAQ,GAAK,KAAK,KAAKA,CAAQ,EACjD,KAAK,QAAQA,CAAQ,EAAI,CAAC3R,EAAS4R,EAAWlM,CAAM,CACrD,CAEG,WAAWmM,EAAe,CAC5B,KAAK,QAAcA,EACnB,KAAK,YAAcC,GAASD,CAAa,CAC1C,CAEG,iBAAiBA,EAAe,CAClC,KAAK,QAAUA,CAChB,CAEG,QAAQE,EAAa,CACvB,KAAK,YAAc,CAAC,EAAE,OAAOA,CAAW,CACzC,CAEG,UAAW,CACb,OAAO,KAAK,WACb,CAEG,qBAAsB,CACxB,OAAO,KAAK,OACb,CAEG,WAAWJ,EAAU,CACvB,OAAO,KAAK,QAAQA,CAAQ,EAAE,CAAC,CAChC,CAEG,aAAaA,EAAU,CACzB,OAAO,KAAK,QAAQA,CAAQ,EAAE,CAAC,CAChC,CAEG,UAAUA,EAAU,CACtB,OAAO,KAAK,QAAQA,CAAQ,EAAE,CAAC,CAChC,CAEG,OAAQ,CACV,KAAK,QAAc,CAAC,EACpB,KAAK,YAAc,CAAC,CACrB,CAEG,KAAKA,EAAU3R,EAAS4R,EAAWlM,EAAQ,CAC7C,KAAK,QAAQiM,CAAQ,EAAI,CAAC3R,EAAS4R,EAAWlM,CAAM,EACpD,KAAK,KAAKiM,CAAQ,CACnB,CAEG,eAAe3R,EAAS,CACpB,IAAItF,EAAoB,EACxB,MAAMqX,EAAoB,KAAK,SAAS,EAClCC,EAAoBD,EAAY,OACtC,IAAIJ,EACAM,EACJ,QAAQpX,EAAI,EAAGA,EAAImX,EAAmBnX,IAC3C8W,EAAiBI,EAAYlX,CAAC,EAC9BoX,EAAiB,KAAK,WAAWN,CAAQ,EACtCM,IAAmBjS,GACrB,EAAEtF,EAGE,OAAOA,CACX,CAEA,YAAYiX,EAAU,CACxB,OAAO,KAAK,YAAY,SAASA,CAAQ,CAC1C,CAEG,KAAKA,EAAU,CACjB,KAAK,YAAY,KAAKA,CAAQ,CAC/B,CAEG,aAAaC,EAAW,CAC1B,KAAK,UAAYA,CAClB,CAEG,cAAe,CACjB,OAAO,KAAK,SACb,CAEG,UAAW,CACb,OAAO,KAAK,YAAY,MACzB,CACD,CAEA,SAASE,GAASD,EAAe,CAChC,MAAMK,EAAQ,CAAC,EACf,GAAI,CAACL,EAAc,OAClB,OAAOK,EAGR,MAAM7V,EAASwV,EAAc,MAAMJ,EAAc,EAEjD,QAAS5W,EAAI,EAAGA,EAAIwB,EAAO,OAAQxB,IAClCqX,EAAM,KAAK7V,EAAOxB,CAAC,CAAC,EAErB,OAAOqX,CACR,CC/GO,MAAMC,EAAkB,CAC9B,aAAc,CACb,KAAK,KAAgB,KACrB,KAAK,WAAgB,CAAC,EACtB,KAAK,MAAgB,CAAC,EACtB,KAAK,cAAgB,KACrB,KAAK,iBAAmB,IACzB,CAEA,SAAU,CACT,OAAO,KAAK,IACb,CAEA,QAAQjV,EAAM,CACb,KAAK,KAAOA,CACb,CAEA,oBAAoBkV,EAAkB,CACrC,KAAK,iBAAmBA,CACzB,CAEA,qBAAsB,CACrB,OAAO,KAAK,gBACb,CAEA,YAAY1P,EAAIsC,EAAO,CACtB,KAAK,WAAWtC,CAAE,EAAI,IAAI2P,GAAUrN,CAAK,EACzC,KAAK,MAAM,KAAKtC,CAAE,CACnB,CAEA,YAAYA,EAAIsC,EAAO,CACtB,KAAK,WAAWtC,CAAE,EAAE,SAASsC,CAAK,CACnC,CAEA,UAAW,CACV,OAAO,KAAK,KACb,CAEA,SAAStC,EAAI,CACZ,OAAO,KAAK,WAAWA,CAAE,CAC1B,CAEA,YAAYA,EAAI,CAEf,GADA,OAAO,KAAK,WAAWA,CAAE,EACrB,KAAK,MAAM,SAASA,CAAE,EAAG,CAC5B,MAAM7D,EAAQ,KAAK,MAAM,QAAQ6D,CAAE,EACnC,KAAK,MAAM,OAAO7D,EAAO,CAAC,CAC3B,CACD,CAEA,QAAQqT,EAAO,CACd,KAAK,MAAQ,CAAC,EAAE,OAAOA,CAAK,CAC7B,CAEA,iBAAiBlN,EAAO,CACvB,KAAK,cAAgBA,CACtB,CAEA,kBAAmB,CAClB,OAAO,KAAK,aACb,CAEA,uBAAwB,CACvB,KAAK,iBAAmB,IACzB,CAEA,iBAAkB,CACjB,KAAK,WAAgB,CAAC,EACtB,KAAK,MAAgB,CAAC,EACtB,KAAK,cAAgB,IACtB,CAEA,OAAQ,CACP,KAAK,WAAgB,CAAC,EACtB,KAAK,MAAgB,CAAC,EACtB,KAAK,cAAgB,KACrB,KAAK,iBAAmB,IACzB,CACD,CAEO,MAAMqN,EAAU,CACtB,YAAYrN,EAAO,CAClB,KAAK,MAASA,EACd,KAAK,OAAS,IAAI0M,EACnB,CAEA,UAAW,CACV,OAAO,KAAK,KACb,CAEA,WAAY,CACX,OAAO,KAAK,MACb,CAEA,SAAS1M,EAAO,CACf,KAAK,MAAQA,CACd,CACD,CC9FO,MAAMsN,EAAU,CAGnB,aAAc,CACV,KAAK,cAAgB,CAAC,EACtB,KAAK,YAAc,IAAI,GAC3B,CAEA,eAAeC,EAAoB,CAC/B,KAAK,cAAgBA,CACzB,CAEA,aAAwB,CACpB,OAAO,KAAK,aAChB,CAEA,yBAA0B,CAEtB,OADiB,KAAK,YAAY,EAClB,IAAIC,GACH,KAAK,eAAeA,CAAO,EAC3B,OAChB,CACL,CAEA,iBAAiBA,EAAiB,CAC9B,KAAK,cAAc,KAAKA,CAAO,CACnC,CAEA,YAAYA,EAAiB,CACzB,MAAM3T,EAAQ,KAAK,cAAc,QAAQ2T,CAAO,EAC5C3T,EAAQ,IACR,KAAK,cAAc,OAAOA,EAAO,CAAC,EAEtC,KAAK,YAAY,OAAO2T,CAAO,CACnC,CAEA,eAAeA,EAAiBxS,EAAiByS,EAAoBC,EAAyB,CAC1F,KAAK,YAAY,IAAIF,EAAS,CAAE,QAAAxS,EAAS,SAAAyS,EAAU,UAAAC,CAAU,CAAC,CAClE,CAEA,eAAeF,EAAiB,CAC5B,OAAO,KAAK,YAAY,IAAIA,CAAO,CACvC,CAEA,8BAA8BA,EAAiBG,EAAyB,CACpE,MAAMC,EAAU,KAAK,cAAc,QAAQD,CAAe,EACtDC,EAAU,IACV,KAAK,cAAc,OAAOA,EAAS,EAAGJ,CAAO,CAErD,CAEA,6BAA6BA,EAAiBG,EAAyB,CACnE,MAAMC,EAAU,KAAK,cAAc,QAAQD,CAAe,EACtDC,EAAU,IACV,KAAK,cAAc,OAAOA,EAAQ,EAAG,EAAGJ,CAAO,CAEvD,CAEA,wBAAwBK,EAAuBF,EAAyBG,EAAkB,CACnFH,IAAoB,KACnB,KAAK,iBAAiBE,CAAa,EAE9BC,IAAa,EAClB,KAAK,8BAA8BD,EAAeF,CAAe,EAGjE,KAAK,6BAA6BE,EAAeF,CAAe,CAExE,CAEA,gBAAgBE,EAAuBF,EAAyBG,EAAkB,CAC9E,MAAMC,EAAY,KAAK,cAAc,QAAQF,CAAa,EAC1D,GAAIE,EAAY,GAAI,CAChB,MAAMrQ,EAAK,KAAK,cAAc,OAAOqQ,EAAW,CAAC,EAAE,CAAC,EAChDD,IAAa,EACb,KAAK,8BAA8BpQ,EAAIiQ,CAAe,EAGtD,KAAK,6BAA6BjQ,EAAIiQ,CAAe,CAE7D,CACJ,CAEA,OAAQ,CACJ,KAAK,cAAgB,CAAC,EACtB,KAAK,YAAc,IAAI,GAC3B,CAEJ,CC1FO,MAAMK,EAAmB,CAE5B,aAAc,CACV,KAAK,cAAgB,CAAC,CAC1B,CAEA,eAAeC,EAAqB,CAChC,KAAK,cAAgBA,CACzB,CAEA,QAAS,CACL,OAAO,KAAK,aAChB,CAEA,iBAAiBT,EAAkB,CAC/B,KAAK,cAAc,KAAKA,CAAO,CACnC,CAEA,8BAA8BK,EAAwBF,EAA0B,CAC5E,MAAMC,EAAU,KAAK,cAAc,QAAQD,CAAe,EACvDC,GAAW,IACV,KAAK,cAAc,OAAOA,EAAS,EAAGC,CAAa,CAE3D,CAEA,6BAA6BA,EAAwBF,EAA0B,CAC3E,MAAMC,EAAU,KAAK,cAAc,QAAQD,CAAe,EACvDC,GAAW,IACV,KAAK,cAAc,OAAOA,EAAQ,EAAG,EAAGC,CAAa,CAE7D,CAEA,cAAcL,EAAkB,CAC5B,MAAM3T,EAAQ,KAAK,cAAc,QAAQ2T,CAAO,EAC7C3T,GAAS,IACR,KAAK,cAAc,OAAOA,EAAO,CAAC,CAE1C,CAEA,YAAY2T,EAAyB,CACjC,OAAO,KAAK,cAAc,QAAQA,CAAO,CAC7C,CAEA,0BAA0BA,EAA4D,CAClF,MAAM3T,EAAQ,KAAK,cAAc,QAAQ2T,CAAO,EAChD,GAAG3T,IAAU,GAEb,IAAGA,EAAQ,EACP,MAAO,CACH,cAAe,KAAK,cAAcA,EAAQ,CAAC,EAC3C,SAAU,OACd,EAGJ,GAAGA,EAAQ,KAAK,cAAc,OAAS,EACnC,MAAO,CACH,cAAe,KAAK,cAAcA,EAAQ,CAAC,EAC3C,SAAU,QACd,EAER,CACJ,CClDO,MAAMqU,EAAqB,CAE9B,aAAc,CACV,KAAK,YAAc,IAAI,GAC3B,CAEA,aAAaV,EAAkBW,EAA2B,CACtD,KAAK,YAAY,IAAIX,EAASW,CAAW,CAC7C,CAEA,qBAAqBX,EAAkBY,EAAiC,CACpE,MAAMtE,EAAO,KAAK,YAAY,IAAI0D,CAAO,EACtC1D,IACCA,EAAK,eAAiBsE,EAE9B,CAEA,kBAAkBZ,EAAkB,CAChC,MAAM1D,EAAO,KAAK,YAAY,IAAI0D,CAAO,EACzC,OAAG1D,GAAQA,EAAK,eACLA,EAAK,eAET,CAAC,CACZ,CAEA,kBAAkB0D,EAAkB5Y,EAAe,CAC/C,MAAMkV,EAAO,KAAK,YAAY,IAAI0D,CAAO,EACtC1D,IACCA,EAAK,MAAQlV,EAErB,CAEA,kBAAkB4Y,EAAkB9X,EAAe,CAC/C,MAAMoU,EAAO,KAAK,YAAY,IAAI0D,CAAO,EACtC1D,IACCA,EAAK,MAAQpU,EAErB,CAEA,mBAAmB8X,EAAkBa,EAAiB,CAClD,MAAMvE,EAAO,KAAK,YAAY,IAAI0D,CAAO,EACtC1D,IACCA,EAAK,OAASuE,EAEtB,CAEA,oBAAoBb,EAAkBc,EAAyBC,EAAqBC,EAAsB,CACtG,MAAM1E,EAAO,KAAK,YAAY,IAAI0D,CAAO,EACtC1D,GACCA,EAAK,QAAQ,IAAIwE,EAAgB,CAACC,EAAaC,CAAY,CAAC,CAEpE,CAEA,4BAA4BhB,EAAkB9T,EAAoB,CAC9D,MAAMoQ,EAAO,KAAK,YAAY,IAAI0D,CAAO,EACzC,GAAG1D,GAAQA,EAAK,eAAgB,CAC5B,MAAMjQ,EAAQiQ,EAAK,eAAe,QAAQpQ,CAAQ,EAC/CG,GAAS,IACRiQ,EAAK,eAAe,OAAOjQ,EAAO,CAAC,CAE3C,CACJ,CAEA,aAAa2T,EAAkB,CAC3B,OAAO,KAAK,YAAY,IAAIA,CAAO,CACvC,CAEA,SAASA,EAAkB,CAjF/B,MAkFQ,OAAO,OAAK,YAAY,IAAIA,CAAO,IAA5B,cAA+B,KAC1C,CAEA,+BAA+BA,EAAkBiB,EAAoBC,EAAsB,CACvF,MAAM5E,EAAO,KAAK,YAAY,IAAI0D,CAAO,EACzC,GAAG1D,GAAQA,EAAK,gBAAkB,CAACA,EAAK,eAAe,SAAS2E,CAAQ,EAAG,CACvE,MAAMb,EAAU9D,EAAK,eAAe,QAAQ4E,CAAU,EACnDd,GAAW,IACV9D,EAAK,eAAe,OAAO8D,EAAS,EAAGa,CAAQ,CAEvD,CACJ,CAEA,8BAA8BjB,EAAkBiB,EAAoBC,EAAsB,CACtF,MAAM5E,EAAO,KAAK,YAAY,IAAI0D,CAAO,EACzC,GAAG1D,GAAQA,EAAK,gBAAkB,CAACA,EAAK,eAAe,SAAS2E,CAAQ,EAAG,CACvE,MAAMb,EAAU9D,EAAK,eAAe,QAAQ4E,CAAU,EACnDd,GAAW,IACV9D,EAAK,eAAe,OAAO8D,EAAU,EAAG,EAAGa,CAAQ,CAE3D,CACJ,CAEA,kBAAkBjB,EAAkB9T,EAAoB,CACpD,MAAMoQ,EAAO,KAAK,YAAY,IAAI0D,CAAO,EACtC1D,IACMA,EAAK,iBACNA,EAAK,eAAiB,CAAC,GAEvBA,EAAK,eAAe,SAASpQ,CAAQ,GACrCoQ,EAAK,eAAe,KAAKpQ,CAAQ,EAG7C,CACJ,CChHO,MAAMiV,EAAc,CAGvB,aAAc,CACV,KAAK,iBAAmB,IAAIX,GAC5B,KAAK,eAAiB,IAAIE,EAC9B,CAGA,eAAeU,EAA2BrB,EAA0B,CAChE,KAAK,kBAAkBqB,CAAS,EAAE,eAAerB,CAAQ,CAC7D,CAEA,eAAeqB,EAA2B,CACtC,OAAO,KAAK,kBAAkBA,CAAS,EAAE,OAAO,CACpD,CAEA,+BAA+BA,EAA2BpB,EAAkB,CACxE,OAAO,KAAK,kBAAkBoB,CAAS,EAAE,0BAA0BpB,CAAO,CAC9E,CAEA,cAAcoB,EAA2Bf,EAAwBF,EAA0BG,EAAkB,CACzG,MAAMe,EAAU,KAAK,kBAAkBD,CAAS,EAC7Cd,IAAa,EACZe,EAAQ,8BAA8BhB,EAAeF,CAAe,EAGpEkB,EAAQ,6BAA6BhB,EAAeF,CAAe,CAE3E,CAEA,iBAAiBiB,EAA2BpB,EAAkB,CAC1C,KAAK,kBAAkBoB,CAAS,EACxC,iBAAiBpB,CAAO,CACpC,CAEA,cAAcoB,EAA2BpB,EAAkB,CACvC,KAAK,kBAAkBoB,CAAS,EACxC,cAAcpB,CAAO,CACjC,CAEA,sBAAsBoB,EAA0C,CAC5D,MAAME,EAAyB,CAAC,EAChC,QAAQjZ,EAAE,EAAGA,EAAE+Y,EAAU,OAAQ/Y,IAAK,CAClC,MAAMkZ,EAAmBH,EAAU,MAAM,EAAG/Y,CAAC,EAEvCiY,EADU,KAAK,kBAAkBiB,CAAgB,EAC9B,YAAYH,EAAU/Y,CAAC,CAAC,EACjDiZ,EAAQ,KAAKhB,CAAQ,CACzB,CACA,OAAOgB,CACX,CAEA,kBAAkBF,EAA+C,CAC7D,GAAGA,EAAU,SAAW,EACpB,OAAO,KAAK,iBAEX,CACD,IAAII,EAAQ,KAAK,eAAe,aAAaJ,EAAU,CAAC,CAAC,EACzD,QAAQ/Y,EAAE,EAAGA,EAAE+Y,EAAU,OAAQ/Y,IAC7BmZ,EAAQA,EAAM,KAAM,aAAaJ,EAAU/Y,CAAC,CAAC,EAEjD,OAAOmZ,EAAM,KACjB,CACJ,CAKA,aAAaJ,EAA2Bha,EAAgBc,EAAe2Y,EAAiBY,EAAyC,CAC7H,MAAMd,EAA4B,CAC9B,MAAAvZ,EACA,MAAAc,EACA,OAAA2Y,EACA,QAAAY,EACA,MAAO,IAAIjB,GACX,KAAM,IAAIE,EACd,EACA,KAAK,iBAAiBU,EAAU,MAAM,EAAGA,EAAU,OAAO,CAAC,CAAC,EAAE,aAAaA,EAAUA,EAAU,OAAO,CAAC,EAAGT,CAAW,CACzH,CAEA,qBAAqBS,EAA2BR,EAAiC,CAC7E,KAAK,iBAAiBQ,EAAU,MAAM,EAAGA,EAAU,OAAO,CAAC,CAAC,EAAE,qBAAqBA,EAAUA,EAAU,OAAO,CAAC,EAAGR,CAAc,CACpI,CAEA,6BAA6BQ,EAA2BH,EAAoBC,EAAsBZ,EAAkB,CAChH,MAAMoB,EAAY,KAAK,iBAAiBN,EAAU,MAAM,EAAGA,EAAU,OAAO,CAAC,CAAC,EAC3Ed,IAAa,EACZoB,EAAU,+BAA+BN,EAAUA,EAAU,OAAO,CAAC,EAAGH,EAAUC,CAAU,EAG5FQ,EAAU,8BAA8BN,EAAUA,EAAU,OAAO,CAAC,EAAGH,EAAUC,CAAU,CAEnG,CAEA,qBAAqBE,EAA2Bha,EAAe,CACzC,KAAK,iBAAiBga,EAAU,MAAM,EAAGA,EAAU,OAAO,CAAC,CAAC,EACpE,kBAAkBA,EAAUA,EAAU,OAAO,CAAC,EAAGha,CAAK,CACpE,CAEA,qBAAqBga,EAA2BlZ,EAAe,CACzC,KAAK,iBAAiBkZ,EAAU,MAAM,EAAGA,EAAU,OAAO,CAAC,CAAC,EACpE,kBAAkBA,EAAUA,EAAU,OAAO,CAAC,EAAGlZ,CAAK,CACpE,CAEA,sBAAsBkZ,EAA2BP,EAAiB,CAC5C,KAAK,iBAAiBO,EAAU,MAAM,EAAGA,EAAU,OAAO,CAAC,CAAC,EACpE,mBAAmBA,EAAUA,EAAU,OAAO,CAAC,EAAGP,CAAM,CACtE,CAEA,uBAAuBO,EAA2BN,EAAyBC,EAAqBC,EAAsB,CAChG,KAAK,iBAAiBI,EAAU,MAAM,EAAGA,EAAU,OAAO,CAAC,CAAC,EACpE,oBAAoBA,EAAUA,EAAU,OAAO,CAAC,EAAGN,EAAgBC,EAAaC,CAAY,CAC1G,CAEA,wBAAwBI,EAA2BlV,EAAoB,CACjD,KAAK,iBAAiBkV,EAAU,MAAM,EAAGA,EAAU,OAAO,CAAC,CAAC,EACpE,4BAA4BA,EAAUA,EAAU,OAAO,CAAC,EAAGlV,CAAQ,CACjF,CAEA,yBAAyByV,EAA+BC,EAA0BC,EAA4BvB,EAAkBwB,EAA6B,CACzJ,MAAMC,EAAgB,KAAK,iBAAiBJ,EAAc,MAAM,EAAGA,EAAc,OAAO,CAAC,CAAC,EACpFK,EAAc,KAAK,iBAAiBF,EAAY,MAAM,EAAGA,EAAY,OAAO,CAAC,CAAC,EACpFC,EAAc,4BAA4BJ,EAAcA,EAAc,OAAO,CAAC,EAAGC,CAAc,EAC5FtB,IAAa,EACZ0B,EAAY,+BAA+BF,EAAYA,EAAY,OAAO,CAAC,EAAGF,EAAgBC,CAAgB,EAG9GG,EAAY,8BAA8BF,EAAYA,EAAY,OAAO,CAAC,EAAGF,EAAgBC,CAAgB,CAErH,CAEA,wBAAwBF,EAA+BC,EAA0BE,EAA6B,CAC1G,MAAMC,EAAgB,KAAK,iBAAiBJ,EAAc,MAAM,EAAGA,EAAc,OAAO,CAAC,CAAC,EACpFK,EAAc,KAAK,iBAAiBF,EAAY,MAAM,EAAGA,EAAY,OAAO,CAAC,CAAC,EACpFC,EAAc,4BAA4BJ,EAAcA,EAAc,OAAO,CAAC,EAAGC,CAAc,EAC/FI,EAAY,kBAAkBF,EAAYA,EAAY,OAAO,CAAC,EAAGF,CAAc,CACnF,CAEA,mBAAmBR,EAA2BlV,EAAoB,CAC5C,KAAK,iBAAiBkV,EAAU,MAAM,EAAGA,EAAU,OAAO,CAAC,CAAC,EACpE,kBAAkBA,EAAUA,EAAU,OAAO,CAAC,EAAGlV,CAAQ,CACvE,CAEA,iBAAiBkV,EAA2B,CAExC,OADkB,KAAK,iBAAiBA,EAAU,MAAM,EAAGA,EAAU,OAAO,CAAC,CAAC,EAC7D,SAASA,EAAUA,EAAU,OAAO,CAAC,CAAC,CAC3D,CAEA,0BAA0BA,EAA2B,CAEjD,OADkB,KAAK,iBAAiBA,EAAU,MAAM,EAAGA,EAAU,OAAO,CAAC,CAAC,EAC7D,kBAAkBA,EAAUA,EAAU,OAAO,CAAC,CAAC,CACpE,CAEA,sBAAuB,CACnB,MAAM7U,EAA6B,CAAC,EACpC,YAAK,iBAAiB,KAAK,iBAAkB,KAAK,eAAgBA,CAAS,EACpEA,CACX,CAEQ,iBAAiBmT,EAA2BuC,EAA2B1V,EAA4B,CACvG,MAAMwT,EAAWL,EAAM,OAAO,EAC9B,UAAWM,KAAWD,EAAU,CAC5B,MAAM2B,EAAYO,EAAI,aAAajC,CAAO,EACtC0B,IACIA,EAAU,gBACVnV,EAAU,KAAK,GAAGmV,EAAU,cAAc,EAE1CA,EAAU,OAASA,EAAU,MAC7B,KAAK,iBAAiBA,EAAU,MAAOA,EAAU,KAAMnV,CAAS,EAG5E,CACJ,CAEA,iBAAiB6U,EAAiD,CAC9D,GAAGA,EAAU,SAAW,EACpB,OAAO,KAAK,eAEX,CACD,IAAII,EAAQ,KAAK,eAAe,aAAaJ,EAAU,CAAC,CAAC,EACzD,QAAQ/Y,EAAE,EAAGA,EAAG+Y,EAAU,OAAQ/Y,IAC9BmZ,EAAQA,EAAM,KAAM,aAAaJ,EAAU/Y,CAAC,CAAC,EAEjD,OAAOmZ,EAAM,IACjB,CACJ,CAIA,OAAQ,CACJ,KAAK,iBAAmB,IAAIhB,GAC5B,KAAK,eAAiB,IAAIE,EAC9B,CACJ,CCrMO,MAAMwB,EAAS,CACrB,aAAc,CACb,KAAK,IAA4B,KACjC,KAAK,iBAA4B,KACjC,KAAK,YAA4B,KACjC,KAAK,0BAA4B,KACjC,KAAK,WAA4B,KACjC,KAAK,OAA4B,IAClC,CAEA,OAAO5a,EAAK,CACX,KAAK,IAAMA,CACZ,CAEA,QAAS,CACR,OAAO,KAAK,GACb,CAEA,oBAAoBoD,EAAM,CACzB,KAAK,iBAAmBA,CACzB,CAEA,qBAAsB,CACrB,OAAO,KAAK,gBACb,CAEA,cAAcyX,EAAW,CACxB,KAAK,WAAaA,CACnB,CAEA,eAAgB,CACf,OAAO,KAAK,UACb,CAEA,UAAU7V,EAAM,CACf,KAAK,OAASA,CACf,CAEA,WAAY,CACX,OAAO,KAAK,MACb,CAEA,YAAYA,EAAM,CACjB,KAAK,YAAcA,CACpB,CAEA,kBAAmB,CAClB,OAAO,KAAK,WACb,CAEA,6BAA6BA,EAAM,CAClC,KAAK,0BAA4BA,CAClC,CAEA,8BAA+B,CAC9B,OAAO,KAAK,yBACb,CACD,CCxDO,MAAM8V,EAAK,CACd,aAAc,CACV,KAAK,MAAY,CAAC,EAClB,KAAK,UAAY,CAAC,CACtB,CAEA,OAAOC,EAAQ,CACX,OAAO,KAAK,MAAMA,CAAM,EACxB,MAAMhW,EAAQ,KAAK,UAAU,QAAQgW,CAAM,EAC3C,KAAK,UAAU,OAAOhW,EAAO,CAAC,CAClC,CAEA,OAAOgW,EAAQ7U,EAASyS,EAAU,CAC9B,KAAK,MAAMoC,CAAM,EAAI,CAAC7U,EAASyS,CAAQ,CAC3C,CAEA,QAAQqC,EAAW,CACf,KAAK,UAAY,CAAC,EAClB,KAAK,UAAY,KAAK,UAAU,OAAOA,CAAS,CACpD,CAEA,YAAa,CACT,OAAO,KAAK,SAChB,CAEA,WAAWD,EAAQ,CACf,OAAO,KAAK,MAAMA,CAAM,EAAE,CAAC,CAC/B,CAEA,QAAQA,EAAQ,CACZ,OAAO,KAAK,MAAMA,CAAM,EAAE,CAAC,CAC/B,CAEA,OAAQ,CACJ,KAAK,MAAY,CAAC,EAClB,KAAK,UAAY,CAAC,CACtB,CAEA,KAAKA,EAAQ7U,EAASyS,EAAU,CAC5B,KAAK,MAAMoC,CAAM,EAAI,CAAC7U,EAASyS,CAAQ,EACvC,KAAK,UAAU,KAAKoC,CAAM,CAC9B,CAEA,UAAW,CACP,OAAO,KAAK,UAAU,MAC1B,CAEA,YAAa,CACT,MAAO,CAAC,CAAC,KAAK,SAAS,CAC3B,CAEA,qBAAqB7U,EAAS,CAC1B,UAAU6U,KAAU,KAAK,MACrB,GAAG,KAAK,MAAMA,CAAM,EAAE,CAAC,IAAM7U,EACzB,OAAO6U,EAGf,OAAO,IACX,CAEA,gBAAgB7U,EAAS,CACrB,MAAO,CAAC,CAAC,KAAK,qBAAqBA,CAAO,CAC9C,CACJ,CChEO,MAAM+U,EAAiB,CAQ1B,YAAYvG,EAAgBY,EAAkBX,EAAiBuG,EAAc/Q,EAAoBgR,EAAwBC,EAAyB,CAC9I,KAAK,OAAS1G,EACd,KAAK,SAAWY,EAChB,KAAK,QAAUX,EACf,KAAK,KAAOuG,EACZ,KAAK,WAAa/Q,EAClB,KAAK,cAAgBgR,EACrB,KAAK,eAAiBC,CAC1B,CAEA,WAAY,CACR,OAAO,KAAK,MAChB,CAEA,UAAU1G,EAAgB,CACtB,KAAK,OAASA,CAClB,CAEA,aAAc,CACV,OAAO,KAAK,QAChB,CAEA,YAAYY,EAAkB,CAC1B,KAAK,SAAWA,CACpB,CAEA,YAAa,CACT,OAAO,KAAK,OAChB,CAEA,WAAWX,EAAiB,CACxB,KAAK,QAAUA,CACnB,CAEA,SAAU,CACN,OAAO,KAAK,IAChB,CAEA,QAAQuG,EAAc,CAClB,KAAK,KAAOA,CAChB,CAEA,eAAgB,CACZ,OAAO,KAAK,UAChB,CAEA,cAAc/Q,EAAoB,CAC9B,KAAK,WAAaA,CACtB,CAEA,kBAAmB,CACf,OAAO,KAAK,aAChB,CAEA,iBAAiBnF,EAAe,CAC5B,KAAK,cAAgBA,CACzB,CAEA,mBAAoB,CAChB,OAAO,KAAK,cAChB,CAEA,kBAAkBA,EAAe,CAC7B,KAAK,eAAiBA,CAC1B,CACJ,CCzEO,MAAMqW,EAAmB,CAO5B,YAAY/F,EAAkBX,EAAiBuG,EAAc/Q,EAAoBgR,EAAwBC,EAAyB,CAC9H,KAAK,QAAUzG,EACf,KAAK,SAAWW,EAChB,KAAK,KAAO4F,EACZ,KAAK,WAAa/Q,EAClB,KAAK,cAAgBgR,EACrB,KAAK,eAAiBC,CAC1B,CAEA,aAAc,CACV,OAAO,KAAK,QAChB,CAEA,YAAY9F,EAAkB,CAC1B,KAAK,SAAWA,CACpB,CAEA,YAAa,CACT,OAAO,KAAK,OAChB,CAEA,WAAWX,EAAiB,CACxB,KAAK,QAAUA,CACnB,CAEA,SAAU,CACN,OAAO,KAAK,IAChB,CAEA,QAAQuG,EAAc,CAClB,KAAK,KAAOA,CAChB,CAEA,eAAgB,CACZ,OAAO,KAAK,UAChB,CAEA,cAAc/Q,EAAoB,CAC9B,KAAK,WAAaA,CACtB,CAEA,kBAAmB,CACf,OAAO,KAAK,aAChB,CAEA,iBAAiBnF,EAAe,CAC5B,KAAK,cAAgBA,CACzB,CAEA,mBAAoB,CAChB,OAAO,KAAK,cAChB,CAEA,kBAAkBA,EAAe,CAC7B,KAAK,eAAiBA,CAC1B,CACJ,CC5DO,MAAMsW,EAAmB,CAG5B,aAAc,CACV,KAAK,YAAoB,IAAI,IAC7B,KAAK,cAAoB,IAAI,GACjC,CAEA,cAAcC,EAAkB7G,EAAgBY,EAAkBX,EAAiBuG,EAAc/Q,EAAoBgR,EAAwBC,EAAyB,CAClK,MAAMxF,EAAO,IAAIqF,GAAiBvG,EAAQY,EAAUX,EAASuG,EAAM/Q,EAAYgR,EAAeC,CAAc,EAC5G,KAAK,YAAY,IAAIG,EAAU3F,CAAI,CACvC,CAEA,qBAAsB,CAClB,OAAO,MAAM,KAAK,KAAK,YAAY,KAAK,CAAC,CAC7C,CAEA,cAAc2F,EAAkB,CAC5B,OAAO,KAAK,YAAY,IAAIA,CAAQ,CACxC,CAEA,gBAAgBA,EAAkBjG,EAAkBX,EAAiBuG,EAAc/Q,EAAoBgR,EAAwBC,EAAyB,CACpJ,MAAMxF,EAAO,IAAIyF,GAAmB/F,EAAUX,EAASuG,EAAM/Q,EAAYgR,EAAeC,CAAc,EACtG,KAAK,cAAc,IAAIG,EAAU3F,CAAI,CACzC,CAEA,uBAAwB,CACpB,OAAO,MAAM,KAAK,KAAK,cAAc,KAAK,CAAC,CAC/C,CAEA,gBAAgB2F,EAAkB,CAC9B,OAAO,KAAK,cAAc,IAAIA,CAAQ,CAC1C,CAEA,iBAAiBA,EAAkB7G,EAAgBY,EAAkBX,EAAiBuG,EAAc/Q,EAAoBiR,EAAyB,CAC7I,MAAMxF,EAAO,KAAK,YAAY,IAAI2F,CAAQ,EACtC3F,IACAA,EAAK,UAAUlB,CAAM,EACrBkB,EAAK,YAAYN,CAAQ,EACzBM,EAAK,WAAWjB,CAAO,EACvBiB,EAAK,QAAQsF,CAAI,EACjBtF,EAAK,cAAczL,CAAU,EAC7ByL,EAAK,kBAAkBwF,CAAc,EAE7C,CAEA,mBAAmBG,EAAkBjG,EAAkBX,EAAiBuG,EAAc/Q,EAAoBiR,EAAyB,CAC/H,MAAMxF,EAAO,KAAK,cAAc,IAAI2F,CAAQ,EACxC3F,IACAA,EAAK,YAAYN,CAAQ,EACzBM,EAAK,WAAWjB,CAAO,EACvBiB,EAAK,QAAQsF,CAAI,EACjBtF,EAAK,cAAczL,CAAU,EAC7ByL,EAAK,kBAAkBwF,CAAc,EAE7C,CAEA,iBAAiBG,EAAkB,CAC/B,KAAK,YAAY,OAAOA,CAAQ,CACpC,CAEA,mBAAmBA,EAAkB,CACjC,KAAK,cAAc,OAAOA,CAAQ,CACtC,CACJ,CC1DO,MAAMC,GAAW,GAEjB,MAAMC,EAAO,CAChB,aAAc,CACV,KAAK,KAAS,IAAIX,GAClB,KAAK,OAAS,IAAIlD,GAClB,KAAK,kBAAoB,IAAIS,GACnC,KAAK,UAAY,IAAIuC,GACrB,KAAK,iBAAmB,IAAIU,GAC5B,KAAK,QAAU,IAAI9C,GACnB,KAAK,YAAc,IAAIqB,GAEvB,KAAK,gBAAkB,KAEvB,KAAK,OAAS,EACd,KAAK,oBAAsB,GAE3B,KAAK,qBAAuB,GACtB,KAAK,IAAS,CAClB,CAEA,SAAU,CACZ,OAAO,KAAK,QACb,CAEG,QAAQ6B,EAAU,CACpB,KAAK,SAAWA,CACjB,CAEG,gBAAiB,CACnB,OAAO,KAAK,WACb,CAEG,eAAenF,EAAM,CACvB,KAAK,YAAcA,CACpB,CAUG,WAAY,CACd,OAAO,KAAK,MACb,CAEG,SAAU,CACZ,OAAO,KAAK,IACb,CAEG,sBAAuB,CACzB,OAAO,KAAK,iBACb,CAEA,iBAAkB,CACjB,OAAO,KAAK,SACb,CAEG,QAAQnT,EAAM,CAChB,KAAK,KAAOA,CACb,CAEG,SAAU,CACZ,OAAO,KAAK,IACb,CAEG,OAAOuY,EAAKvW,EAAQ,CACtB,KAAK,IAAOuW,EAAI,IAAOvW,CACxB,CAEG,QAAS,CACX,OAAO,KAAK,GACb,CAEA,mBAAmB8V,EAAM,CACxB,KAAK,gBAAkBA,CACxB,CAEA,oBAAqB,CACpB,OAAO,KAAK,eACb,CAEA,sBAAsBK,EAAU7G,EAAQY,EAAUX,EAASuG,EAAM/Q,EAAYgR,EAAeC,EAAgB,CAC3G,KAAK,iBAAiB,cAAcG,EAAU7G,EAAQY,EAAUX,EAASuG,EAAM/Q,EAAYgR,EAAeC,CAAc,CACzH,CAEA,wBAAwBG,EAAUjG,EAAUX,EAASuG,EAAM/Q,EAAYgR,EAAeC,EAAgB,CACrG,KAAK,iBAAiB,gBAAgBG,EAAUjG,EAAUX,EAASuG,EAAM/Q,EAAYgR,EAAeC,CAAc,CACnH,CAEA,iBAAiBG,EAAU7G,EAAQY,EAAUX,EAASuG,EAAM/Q,EAAYiR,EAAgB,CACvF,KAAK,iBAAiB,iBAAiBG,EAAU7G,EAAQY,EAAUX,EAASuG,EAAM/Q,EAAYiR,CAAc,CAC7G,CAEA,mBAAmBG,EAAUjG,EAAUX,EAASuG,EAAM/Q,EAAYiR,EAAgB,CACjF,KAAK,iBAAiB,mBAAmBG,EAAUjG,EAAUX,EAASuG,EAAM/Q,EAAYiR,CAAc,CACvG,CAEG,iBAAiBG,EAAU,CACvB,KAAK,iBAAiB,iBAAiBA,CAAQ,CACnD,CAEA,mBAAmBA,EAAU,CACzB,KAAK,iBAAiB,mBAAmBA,CAAQ,CACrD,CAEH,qBAAsB,CACrB,OAAO,KAAK,iBAAiB,oBAAoB,CAClD,CAEA,uBAAwB,CACvB,OAAO,KAAK,iBAAiB,sBAAsB,CACpD,CAEA,cAAcA,EAAU,CACvB,OAAO,KAAK,iBAAiB,cAAcA,CAAQ,CACpD,CAEA,gBAAgBA,EAAU,CACzB,OAAO,KAAK,iBAAiB,gBAAgBA,CAAQ,CACtD,CAEA,eAAe9C,EAAU,CACxB,KAAK,QAAQ,eAAeA,CAAQ,CACrC,CAEA,iBAAiBC,EAAS,CACzB,KAAK,QAAQ,iBAAiBA,CAAO,CACtC,CAEA,eAAeA,EAASxS,EAASyS,EAAUiD,EAAoB,CAC9D,KAAK,QAAQ,eAAelD,EAASxS,EAASyS,EAAUiD,CAAkB,CAC3E,CAEA,wBAAwB7C,EAAeF,EAAiBG,EAAU,CACjE,KAAK,QAAQ,wBAAwBD,EAAeF,EAAiBG,CAAQ,CAC9E,CAEA,YAAYN,EAAS,CACpB,KAAK,QAAQ,YAAYA,CAAO,CACjC,CAEA,gBAAgBK,EAAeF,EAAiBG,EAAU,CACzD,KAAK,QAAQ,gBAAgBD,EAAeF,EAAiBG,CAAQ,CACtE,CAEA,WAAY,CACX,OAAO,KAAK,QAAQ,YAAY,EAAE,SAAW,CAC9C,CAEA,iBAAkB,CACjB,OAAO,KAAK,QAAQ,YAAY,EAAE,MACnC,CAEA,kBAAmB,CAClB,OAAO,KAAK,QAAQ,YAAY,EAAE,KAAK,gBAAgB,EAAE,CAAC,CAC3D,CAEA,oBAAoBN,EAAS,CAC5B,OAAO,KAAK,QAAQ,eAAeA,CAAO,EAAE,OAC7C,CAEA,qBAAqBA,EAAS,CAC7B,OAAO,KAAK,QAAQ,eAAeA,CAAO,EAAE,QAC7C,CAEA,sBAAsBA,EAAS,CAC9B,OAAO,KAAK,QAAQ,eAAeA,CAAO,EAAE,SAC7C,CAEA,gBAAiB,CAChB,OAAO,KAAK,QAAQ,YAAY,CACjC,CAEA,yBAA0B,CACzB,OAAO,KAAK,QAAQ,wBAAwB,CAC7C,CAEA,kBAAmB,CAClB,OAAO,KAAK,QAAQ,YAAY,EAAE,OAAS,CAC5C,CAEA,wBAAwBoB,EAAWrB,EAAU,CAC5C,KAAK,YAAY,eAAeqB,EAAWrB,CAAQ,CACpD,CAEA,uBAAuBqB,EAAWf,EAAeF,EAAiBG,EAAU,CAC3E,KAAK,YAAY,cAAcc,EAAWf,EAAeF,EAAiBG,CAAQ,CACnF,CAEA,qBAAqBc,EAAWpB,EAAS,CACxC,KAAK,YAAY,iBAAiBoB,EAAWpB,CAAO,CACrD,CAEA,uBAAuBoB,EAAWpB,EAAS,CAC1C,KAAK,YAAY,cAAcoB,EAAWpB,CAAO,CAClD,CAEA,aAAaoB,EAAWha,EAAOc,EAAO2Y,EAAQY,EAAS,CACtD,MAAMQ,EAAM,IAAI,IACVkB,EAAqB,OAAO,KAAK1B,CAAO,EAC9C,QAAQ2B,EAAE,EAAGA,EAAED,EAAgB,OAAQC,IAAK,CAC3C,MAAMtC,EAAiBqC,EAAgBC,CAAC,EAClCrC,EAAiBU,EAAQX,CAAc,EAAE,CAAC,EAC1CE,EAAiBS,EAAQX,CAAc,EAAE,CAAC,EAChDmB,EAAI,IAAInB,EAAgB,CAACC,EAAaC,CAAY,CAAC,CACpD,CACA,KAAK,YAAY,aAAaI,EAAWha,EAAOc,EAAO2Y,EAAQoB,CAAG,CACnE,CAEA,qBAAqBb,EAAW7U,EAAW,CAC1C,KAAK,YAAY,qBAAqB6U,EAAW7U,CAAS,CAC3D,CAEA,6BAA6B6U,EAAWH,EAAUC,EAAYZ,EAAU,CACvE,KAAK,YAAY,6BAA6Bc,EAAWH,EAAUC,EAAYZ,CAAQ,CACxF,CAEA,mBAAmBc,EAAWlV,EAAU,CACvC,KAAK,YAAY,mBAAmBkV,EAAWlV,CAAQ,CACxD,CAEA,qBAAqBkV,EAAWha,EAAO,CACtC,KAAK,YAAY,qBAAqBga,EAAWha,CAAK,CACvD,CAEA,qBAAqBga,EAAWlZ,EAAO,CACtC,KAAK,YAAY,qBAAqBkZ,EAAWlZ,CAAK,CACvD,CAEA,sBAAsBkZ,EAAWP,EAAQ,CACxC,KAAK,YAAY,sBAAsBO,EAAWP,CAAM,CACzD,CAEA,uBAAuBO,EAAWN,EAAgBC,EAAaC,EAAc,CAC5E,KAAK,YAAY,uBAAuBI,EAAWN,EAAgBC,EAAaC,CAAY,CAC7F,CAEA,wBAAwBI,EAAWlV,EAAU,CAC5C,KAAK,YAAY,wBAAwBkV,EAAWlV,CAAQ,CAC7D,CAEA,8BAA8ByV,EAAeC,EAAgBC,EAAkBvB,EAAUwB,EAAa,CACrGD,IAAqB,GAAK,KAAK,YAAY,yBAAyBF,EAAeC,EAAgBC,EAAkBvB,EAAUwB,CAAW,EAAI,KAAK,YAAY,wBAAwBH,EAAeC,EAAgBE,CAAW,CAClO,CAEA,0BAA0BV,EAAW,CACpC,OAAO,KAAK,YAAY,0BAA0BA,CAAS,CAC5D,CAEA,4BAA4BA,EAAW,CACtC,OAAO,KAAK,YAAY,iBAAiBA,CAAS,CACnD,CAEA,2BAA2BlV,EAAU,CACpC,MAAMmX,EAAqBjC,GAAc,CA3Q3C,MA4QG,MAAMrB,EAAW,KAAK,YAAY,eAAeqB,CAAS,EAE1D,UAAWpB,KAAWD,EAAU,CAC/B,MAAMuD,EAAc,CAAC,GAAGlC,EAAWpB,CAAO,EACpC1D,EAAO,KAAK,YAAY,iBAAiB8E,CAAS,EAAE,aAAapB,CAAO,EAG9E,IAAI,EAAA1D,EAAK,iBAAL,QAAqB,SAASpQ,CAAQ,EACzC,MAAO,CAACoQ,EAAK,eAAe,QAAQpQ,CAAQ,EAAGoX,CAAW,EAI3D,GAAIhH,EAAK,MAAO,CACf,MAAMzS,EAASwZ,EAAkBC,CAAW,EAC5C,GAAIzZ,EACH,OAAOA,CAET,CACD,CACA,OAAO,IACR,EAEA,OAAOwZ,EAAkB,CAAC,CAAC,CAC5B,CAEA,gBAAgBjC,EAAW,CAC1B,OAAO,KAAK,YAAY,sBAAsBA,CAAS,CACxD,CAEA,4BAA4BlV,EAAUkV,EAAW,CAChD,OAAO,KAAK,YAAY,0BAA0BA,CAAS,EAAE,QAAQlV,CAAQ,CAC9E,CAEA,8BAA+B,CAC9B,OAAO,KAAK,YAAY,qBAAqB,CAC9C,CAEA,4BAA4BkV,EAAW,CACtC,OAAO,KAAK,YAAY,eAAeA,CAAS,CACjD,CAEA,iBAAiBA,EAAW,CAC3B,OAAO,KAAK,YAAY,iBAAiBA,CAAS,CACnD,CAEA,iCAAiCA,EAAWpB,EAAS,CACpD,OAAO,KAAK,YAAY,+BAA+BoB,EAAWpB,CAAO,CAC1E,CAEA,yBAA0B,CACzB,OAAO,KAAK,oBACb,CAEA,wBAAwBuD,EAAW,CAClC,KAAK,qBAAuBA,CAC7B,CAEA,oBAAqB,CACpB,KAAK,QAAQ,MAAM,CACpB,CAEA,gBAAiB,CAChB,KAAK,YAAY,MAAM,CACxB,CAEA,aAAaC,EAAY,CACxB,KAAK,OAAS,KAAK,OAASA,CAC7B,CAEA,WAAY,CACX,OAAO,KAAK,MACb,CAEA,uBAAuBC,EAAa,CACnC,KAAK,oBAAsBA,CAC5B,CAEA,wBAAyB,CACxB,OAAO,KAAK,mBACb,CACD,CCpVO,MAAMC,WAAmBX,EAAO,CACnC,YAAYY,EAAU,CAClB,MAAM,EACN,KAAK,KAAOA,EAEZ,KAAK,WAAiB,IAAI1F,GAC1B,KAAK,KAAiB,IAAIG,GAC1B,KAAK,eAAiB,IAAIG,GAC1B,KAAK,SAAiB,KAAK,gBAAkB,KAAK,eAAiB,KAAK,WAAa,KAAK,iBAAmB,KAAK,SAAW,KAAK,YAAc,KAAK,mBAAqB,KAC1K,KAAK,QAAiB,CAAC,EAEvB,KAAK,WAAc,CAAC,EACpB,KAAK,YAAc,CAAC,EAEpB,KAAK,iBAAmB,CAAC,EAEzB,KAAK,OAAS,EACpB,KAAK,gBAAkB,IACrB,CAGA,eAAgB,CACZ,OAAO,KAAK,UAChB,CAEH,mBAAmBiE,EAAM,CACxB,KAAK,gBAAkBA,CACxB,CAEA,oBAAqB,CACpB,OAAO,KAAK,eACb,CAEG,SAAU,CACN,OAAO,KAAK,IAChB,CAEA,aAAc,CACV,OAAO,KAAK,QAChB,CAEA,oBAAqB,CACjB,OAAO,KAAK,eAChB,CAEA,mBAAoB,CAChB,OAAO,KAAK,cAChB,CAEA,mBAAoB,CAChB,OAAO,KAAK,cAChB,CAEA,eAAgB,CACZ,OAAO,KAAK,UAChB,CAEA,qBAAsB,CAClB,OAAO,KAAK,gBAChB,CAEA,aAAc,CACV,OAAO,KAAK,QAChB,CAEA,gBAAiB,CACb,OAAO,KAAK,WAChB,CAEA,uBAAwB,CACpB,OAAO,KAAK,kBAChB,CAGA,UAAUoB,EAAU,CAChB,OAAO,KAAK,QAAQA,CAAQ,CAChC,CAGA,eAAgB,CACZ,OAAO,KAAK,UAChB,CAEA,gBAAiB,CACb,OAAO,KAAK,WAAW,MAC3B,CAEA,oBAAoBvX,EAAO,CACvB,OAAO,KAAK,WAAWA,CAAK,CAChC,CAEA,oBAAoBmB,EAAS,CACzB,OAAO,KAAK,WAAW,QAAQA,CAAO,CAC1C,CAGA,cAAcA,EAAS,CACnB,OAAO,KAAK,YAAYA,CAAO,CACnC,CAGA,uBAAuBA,EAAS,CAC5B,OAAO,KAAK,iBAAiBA,CAAO,CACxC,CAGA,YAAYqW,EAAU,CAClB,KAAK,SAAWA,CACpB,CAEA,mBAAmBC,EAAiB,CAChC,KAAK,gBAAkBA,CAC3B,CAEA,kBAAkBC,EAAgB,CAC9B,KAAK,eAAiBA,CAC1B,CAEA,cAAcC,EAAY,CACtB,KAAK,WAAaA,CACtB,CAEA,oBAAoBC,EAAkB,CAClC,KAAK,iBAAmBA,CAC5B,CAEA,YAAYC,EAAU,CAClB,KAAK,SAAWA,CACpB,CAEA,eAAe5c,EAAK,CAChB,KAAK,YAAcA,CACvB,CAEA,sBAAsB4D,EAAS,CAC3B,KAAK,mBAAqBA,CAC9B,CAGA,aAAa0Y,EAAU,CACnB,MAAMO,EAAS,IAAI1F,GACnB,KAAK,QAAQmF,CAAQ,EAAIO,CAC7B,CAEA,aAAaP,EAAU,CACnB,OAAO,KAAK,QAAQA,CAAQ,CAChC,CAEA,cAAe,CACX,KAAK,QAAU,CAAC,CACpB,CAGA,cAAcQ,EAAY,CACtB,KAAK,WAAa,CAAC,EAAE,OAAOA,CAAU,CAC1C,CAEA,kBAAkB5W,EAAS,CACvB,KAAK,WAAW,KAAKA,CAAO,CAChC,CAEA,mBAAmBA,EAAS6W,EAAiB,CACzC,MAAMhY,EAAQ,KAAK,WAAW,QAAQgY,CAAe,EACrD,KAAK,WAAW,OAAOhY,EAAM,EAAG,EAAGmB,CAAO,CAC9C,CAEA,oBAAoBA,EAAS6W,EAAiB,CAC1C,MAAMhY,EAAQ,KAAK,WAAW,QAAQgY,CAAe,EACrD,KAAK,WAAW,OAAOhY,EAAO,EAAGmB,CAAO,CAC5C,CAEA,gBAAgBA,EAAS6W,EAAiB,CACtC,MAAMC,EAAc,KAAK,WAAW,QAAQ9W,CAAO,EACnD,KAAK,WAAW,OAAO8W,EAAa,CAAC,EAErC,MAAMC,EAAgB,KAAK,WAAW,QAAQF,CAAe,EAC7D,KAAK,WAAW,OAAOE,EAAc,EAAG,EAAG/W,CAAO,CACtD,CAEA,iBAAiBA,EAAS6W,EAAiB,CACvC,MAAMC,EAAc,KAAK,WAAW,QAAQ9W,CAAO,EACnD,KAAK,WAAW,OAAO8W,EAAa,CAAC,EAErC,MAAMC,EAAgB,KAAK,WAAW,QAAQF,CAAe,EAC7D,KAAK,WAAW,OAAOE,EAAe,EAAG/W,CAAO,CACpD,CAEA,iBAAkB,CACd,KAAK,WAAa,CAAC,CACvB,CAEA,cAAcA,EAAS,CACnB,MAAMnB,EAAQ,KAAK,WAAW,QAAQmB,CAAO,EAC7C,KAAK,WAAW,OAAOnB,EAAO,CAAC,CACnC,CAGA,cAAcmB,EAASgX,EAAY,CAC/B,KAAK,YAAYhX,CAAO,EAAIgX,CAChC,CAEA,iBAAiBhX,EAAS,CACtB,MAAMgX,EAAa,KAAK,cAAchX,CAAO,EAC7C,KAAK,cAAcA,EAAS,GAAKgX,CAAU,CAC/C,CAEA,iBAAiBhX,EAAS,CACtB,OAAO,KAAK,YAAYA,CAAO,CACnC,CAEA,kBAAmB,CACf,KAAK,YAAc,CAAC,CACxB,CAEA,eAAeA,EAAS,CAEpB,MAAG,EADgB,KAAK,cAAcA,CAAO,GAC5B,EAIrB,CAGA,sBAAsBA,EAASoW,EAAU,CACrC,KAAK,iBAAiBpW,CAAO,EAAIoW,CACrC,CAEA,sBAAsBpW,EAAS,CAC3B,OAAO,KAAK,iBAAiBA,CAAO,CACxC,CAEA,uBAAwB,CACpB,KAAK,iBAAmB,CAAC,CAC7B,CAEA,wBAAyB,CACrB,IAAItF,EAAQ,EACZ,YAAK,WAAW,QAASsF,GAAY,CAC9B,KAAK,YAAYA,CAAO,EAAI,GAC3B,EAAEtF,CAEV,CAAC,EACMA,CACX,CAGA,SAAU,CACN,MAAO,MACX,CAEA,eAAgB,CACZ,MAAO,EACX,CAEA,aAAasb,EAAY,CACrB,KAAK,OAAS,KAAK,OAASA,CAChC,CAEA,WAAY,CACR,OAAO,KAAK,MAChB,CAEA,YAAYiB,EAAe,CAEvB,MAAMC,EADmB,MAAM,UAAU,WAAW,KACdD,EACtC,KAAK,QAAUC,CACnB,CAGA,YAAYxU,EAAI,CAAC,CACjB,cAAc1C,EAAS,CACzB,KAAK,cAAcA,CAAO,EAC1B,KAAK,iBAAiBA,CAAO,EAC7B,KAAK,sBAAsBA,CAAO,CAChC,CACA,oBAAqB,CAAC,CACtB,qBAAsB,CAAC,CAEvB,eAAgB,CAClB,MAAO,EACR,CACD,CChSO,MAAMmX,EAAY,CACrB,aAAc,CACV,KAAK,MAAS,CAAC,EACf,KAAK,OAAS,CAAC,CACnB,CAEA,QAAQjF,EAAO,CACX,KAAK,MAAQ,CAAC,EACd,KAAK,MAAQ,KAAK,MAAM,OAAOA,CAAK,CACxC,CAEA,OAAOxP,EAAI,CACP,OAAO,KAAK,OAAOA,CAAE,EACrB,MAAM7D,EAAQ,KAAK,MAAM,QAAQ6D,CAAE,EACnC,KAAK,MAAM,OAAO7D,EAAO,CAAC,CAC9B,CAEA,OAAO6D,EAAIsC,EAAOvK,EAAM,CACpB,KAAK,OAAOiI,CAAE,EAAI,CAACsC,EAAOvK,CAAI,CAClC,CAEA,UAAW,CACP,OAAO,KAAK,KAChB,CAEA,UAAW,CACP,OAAO,KAAK,MAAM,MACtB,CAEA,MAAMoE,EAAO,CACT,OAAO,KAAK,MAAMA,CAAK,CAC3B,CAEA,SAAS6D,EAAI,CACT,OAAO,KAAK,OAAOA,CAAE,EAAE,CAAC,CAC5B,CAEA,QAAQA,EAAI,CACR,OAAO,KAAK,OAAOA,CAAE,EAAE,CAAC,CAC5B,CAEA,OAAQ,CACJ,KAAK,MAAS,CAAC,EACf,KAAK,OAAS,CAAC,CACnB,CAEA,KAAKA,EAAI,CACL,KAAK,MAAM,KAAKA,CAAE,CACtB,CAEA,UAAUA,EAAI,CACV,MAAO,OAAK,OAAOA,CAAE,CACzB,CACJ,CChDO,MAAM0U,EAAc,CAE1B,aAAc,CACb,KAAK,0BAA4B,KACjC,KAAK,mBAAuB,KAC5B,KAAK,qBAAuB,KAC5B,KAAK,oBAAuB,KAC5B,KAAK,eAAuB,KAC5B,KAAK,SAAuB,KAC5B,KAAK,UAAuB,KAC5B,KAAK,QAAuB,KAC5B,KAAK,eAAuB,KAE5B,KAAK,eAAkB,IAAInI,GAAa,IAChC,KAAK,UACV,IACK,KAAK,cACZ,EAED,KAAK,WAAkB,IAAIiH,GAC3B,KAAK,aAAkB,CAAC,EACxB,KAAK,SAAkB,CAAC,EACxB,KAAK,gBAAkB,CAAC,EACxB,KAAK,SAAkB,IACxB,CAEA,6BAA6BmB,EAA2B,CACvD,KAAK,0BAA4BA,CAClC,CAEA,sBAAsBC,EAAoB,CACzC,KAAK,mBAAqBA,CAC3B,CAEA,wBAAwBC,EAAsB,CAC7C,KAAK,qBAAuBA,CAC7B,CAEA,uBAAuBC,EAAqB,CAC3C,KAAK,oBAAsBA,CAC5B,CAEA,kBAAkBC,EAAgB,CACjC,KAAK,eAAiBA,CACvB,CAEA,eAAeC,EAAgB,CAC9B,KAAK,eAAiBA,CACvB,CAEA,YAAYC,EAAU,CACrB,KAAK,SAAWA,CACjB,CAEA,aAAaC,EAAW,CACvB,KAAK,UAAYA,CAClB,CAEA,YAAYC,EAAU,CACrB,KAAK,SAAWA,CACjB,CAEA,cAAclT,EAAI6J,EAAQY,EAAUC,EAAaC,EAAgBrL,EAAYuL,EAAeC,EAAgB,CAC3G,KAAK,eAAe,cAAc9K,EAAI6J,EAAQY,EAAUC,EAAaC,EAAgBrL,EAAYuL,EAAeC,CAAc,CAC/H,CAEA,sBAAsBqI,EAAaC,EAAUC,EAAaC,EAAY,CACjE,KAAK,aAAaH,CAAW,IAChC,KAAK,aAAaA,CAAW,EAAI,IAAIX,IAGtC,KAAK,aAAaW,CAAW,EAAE,OAAOC,EAAUC,EAAaC,CAAU,EACvE,KAAK,aAAaH,CAAW,EAAE,KAAKC,CAAQ,CAC7C,CAEA,YAAY/X,EAASkY,EAAWC,EAAWC,EAAiB,CAE3D,MAAMC,EAAU,IAAIjI,GACpBiI,EAAQ,QAAQH,CAAS,EACzBG,EAAQ,QAAQF,CAAS,EACzBE,EAAQ,cAAcD,CAAe,EAErC,KAAK,SAASpY,CAAO,EAAIqY,CAC1B,CAEA,cAAcC,EAAcC,EAAqBC,EAAgBC,EAAsB,CACtF,MAAMC,EAAe,KAAK,WAAW,cAAc,EACnDA,EAAa,MAAMJ,CAAY,EAC/BI,EAAa,aAAaH,CAAmB,EAC7CG,EAAa,QAAQF,CAAc,EACnCE,EAAa,cAAcD,CAAoB,CAChD,CAEA,QAAQE,EAAQC,EAAeC,EAAUC,EAAgBC,EAAUC,EAAe,CACjF,MAAMC,EAAS,KAAK,WAAW,QAAQ,EACvCA,EAAO,MAAMN,CAAM,EACnBM,EAAO,aAAaL,CAAa,EACjCK,EAAO,QAAQJ,CAAQ,EACvBI,EAAO,QAAQF,CAAQ,EACvBE,EAAO,aAAaD,CAAa,EACjCC,EAAO,cAAcH,CAAc,CACpC,CAEA,YAAYzC,EAAUC,EAAiBC,EAAgBC,EAAYC,EAAkBC,EAAUwC,EAAaC,EAAoBvC,EAAY,CAC3I,KAAK,WAAW,YAAYP,CAAQ,EACpC,KAAK,WAAW,mBAAmBC,CAAe,EAElD,KAAK,WAAW,kBAAkBC,CAAc,EAChD,KAAK,WAAW,cAAcC,CAAU,EACxC,KAAK,WAAW,oBAAoBC,CAAgB,EACpD,KAAK,WAAW,YAAYC,CAAQ,EACpC,KAAK,WAAW,eAAewC,CAAW,EAC1C,KAAK,WAAW,sBAAsBC,CAAkB,EAExD,KAAK,WAAW,cAAcvC,CAAU,CACzC,CAEA,kBAAkBwC,EAAoBC,EAAyBC,EAA0B,CACxF,MAAMC,EAAmB,KAAK,WAAW,kBAAkB,EAC3DA,EAAiB,QAAQH,CAAkB,EAC3CG,EAAiB,aAAaF,CAAuB,EACrDE,EAAiB,cAAcD,CAAwB,CACxD,CAEA,aAAalD,EAAUpW,EAASwZ,EAAYC,EAAmBC,EAAUrI,EAAesI,EAAS,CAChG,KAAK,WAAW,sBAAsB3Z,EAASoW,CAAQ,EACvD,KAAK,WAAW,aAAaA,CAAQ,EAErC,MAAMwD,EAAW,KAAK,WAAW,UAAUxD,CAAQ,EACnDwD,EAAS,WAAW5Z,CAAO,EAC3B4Z,EAAS,QAAQJ,CAAU,EAC3BI,EAAS,eAAeH,CAAiB,EACzCG,EAAS,YAAYF,CAAQ,EAC7BE,EAAS,iBAAiBvI,CAAa,EAEvCsI,GAAWC,EAAS,gBAAgBD,CAAO,CAC5C,CAEA,mBAAmB3Z,EAAS,CAC3B,KAAK,gBAAgB,KAAKA,CAAO,CAClC,CAEA,WAAWuI,EAAS,CACnB,KAAK,QAAUA,CAChB,CAEA,8BAA+B,CAC9B,OAAO,KAAK,yBACb,CAEA,uBAAwB,CACvB,OAAO,KAAK,kBACb,CAEA,yBAA0B,CACzB,OAAO,KAAK,oBACb,CAEA,wBAAyB,CACxB,OAAO,KAAK,mBACb,CAEA,aAAc,CACb,OAAO,KAAK,QACb,CAEA,mBAAoB,CACnB,OAAO,KAAK,cACb,CAEA,gBAAiB,CAChB,OAAO,KAAK,YACb,CAEA,YAAa,CACZ,OAAO,KAAK,QACb,CAEA,eAAgB,CACf,OAAO,KAAK,UACb,CAEA,YAAa,CACZ,OAAO,KAAK,OACb,CAEA,oBAAqB,CACpB,OAAO,KAAK,eACb,CAEA,gBAAiB,CAChB,OAAO,KAAK,cACb,CAEA,aAAc,CACb,OAAO,KAAK,QACb,CACD,CC1MO,MAAMsR,GAAkB,CAC3B,KAAM,OACN,OAAQ,SACR,WAAY,YACZ,mBAAoB,mBAEpB,iBAA0B,iBAC1B,gBAA0B,iBAC1B,cAA0B,eAC1B,kBAA0B,kBAC1B,mBAA0B,mBAC1B,cAA0B,eAC1B,eAA0B,WAC1B,WAA0B,YAC1B,wBAA0B,kBAC1B,YAA0B,aAC1B,aAA0B,cAC1B,kBAA0B,kBAC1B,YAA0B,aAC1B,sBAA0B,mBAC1B,UAA0B,WAC1B,SAA0B,UAC1B,yBAA0B,mBAC1B,iBAA0B,WAC1B,UAA0B,WAC1B,gBAA0B,gBAC1B,iBAA0B,iBAC1B,aAA0B,cAC1B,YAA0B,aAC1B,eAA0B,gBAC1B,qBAA0B,qBAC1B,qBAA0B,qBAC1B,SAA0B,WAC1B,qBAA0B,UAC1B,iBAA0B,kBAC1B,uBAA0B,cAC1B,uBAA0B,cAC1B,OAA0B,oBAC9B,EAEaC,GAAmB,CAC5B,KAAM,OACN,MAAO,QACP,KAAM,OACN,MAAO,QACP,IAAK,MACL,OAAQ,SACR,OAAQ,KACR,MAAO,KACP,KAAgB,OAChB,OAAgB,SAChB,SAAgB,WAChB,eAAgB,eAChB,UAAgB,YAChB,OAAgB,SAChB,WAAgB,aAChB,SAAgB,WAChB,OAAgB,SAChB,WAAgB,YACpB,EAGaC,GAAuC,mBACvCC,GAAuC,OACvCC,GAAuC,OACvCC,GAAuC,eACvCC,GAAsC,yBACtCC,GAAuC,SACvCC,GAAuC,WACvCC,GAAuC,aACvCC,GAAsC,WACtCC,GAAuC,QACvCC,GAAuC,aACvCC,GAAuC,gBACvCC,GAAsC,yBACtCC,GAAuC,eACvCC,GAAsC,WACtCC,GAAsC,gBACtCC,GAAsC,iBACtCC,GAAsC,2BACtCC,GAAsC,4BACtCC,GAAsC,yBACtCC,GAAsC,OACtCC,GAAsC,SACtCC,GAAsC,QACtCC,GAAsC,OACtCC,GAAsC,OACtCC,GAAsC,OACtCC,GAAsC,gBACtCC,GAAsC,YACtCC,GAAsC,YACtCC,GAAsC,YACtCC,GAAsC,iBACtCC,GAAsC,kBACtCC,GAAsC,mBACtCC,GAAsC,gBACtCC,GAAsC,WACtCC,GAAqC,cACrCC,GAAqC,uBACrCC,GAAsC,WACtCC,GAAqC,mBACrCC,GAAqC,uBACrCC,GAAsC,wBACtCC,GAAsC,kBACtCC,GAAsC,gBACtCC,GAAsC,YACtCC,GAAsC,SACtCC,GAAsC,QACtCC,GAAsC,oBACtCC,GAAsC,6BACtCC,GAAsC,4BACtCC,GAAsC,sBACtCC,GAAsC,iBACtCC,GAAsC,iBACtCC,GAAsC,iBACtCC,GAAsC,uBACtCC,GAAsC,yBACtCC,GAAsC,iCACtCC,GAAsC,qCACtCC,GAAsC,qCACtCC,GAAsC,mBACtCC,GAAsC,2BACtCC,GAAsC,+BACtCC,GAAsC,+BAEtCC,GAA+C,cAC/CC,GAA+C,eAC/CC,GAA+C,gBAC/CC,GAA+C,oBAC/CC,GAA+C,mBAC/CC,GAA+C,qBAE/CC,GAAoB,iBAGpBC,GAAmB,YACnBC,GAAmB,YACnBC,GAAmB,mBACnBC,GAAmB,WACnBC,GAAmB,iBAGnBC,GAAkC,eAClCC,GAAkC,UAClCC,GAAkC,sBAClCC,GAAkC,0BAClCC,GAAkC,aAClCC,GAAkC,aAGlCC,GAA+B,qBAC/BC,GAA4B,mBAC5BC,GAAoC,0BAGpCC,GAA6B,qBAG7BC,GAA4B,IAC5BC,GAA4B,KAC5BC,GAA4B,IAC5BC,GAA4B,QAC5B,GAA4B,OAC5BC,GAA4B,QAC5BC,GAA4B,YAC5BC,GAA4B,mBAC5BC,GAA4B,yBAG5BC,GAAiB,OACjBC,GAAiB,SACjBC,GAAiB,WACjBC,GAAiB,eACjBC,GAAiB,YACjBC,GAAiB,OACjBC,GAAiB,SACjBC,GAAiB,QACjBC,GAAiB,aACjBC,GAAiB,WACjBC,GAAiB,MACjBC,GAAiB,SACjBC,GAAiB,SACjBC,GAAiB,OAEjBC,GAAyB,OAGzBC,GAA2B,SAC3BC,GAA2B,SAE3BC,GAAwB,SAGxBC,GAAyB,iBAGzBC,GAAa,YACbC,GAAsB,oBAGtBC,GAAyC,qCACzCC,GAAyC,qCAGzCC,GAAoB,kBACpBC,GAAoB,gBACpBC,GAAoB,mBACpBC,GAAoB,WACpBC,GAAoB,cACpBC,GAAoB,kBACpBC,GAAoB,QAGpBC,GAAuB,qBAEvBC,GAAiB,WACjBC,GAAiB,iBACjBC,GAAiB,cACjBC,GAAiB,eAGjBC,GAA2B,QAE3BC,GAA2B,SAC3BC,GAA2B,cAC3BC,GAA2B,IAC3BC,GAA2B,UAC3BC,GAA2B,UAC3BC,GAA2B,kBAC3BC,GAA2B,mBAC3BC,GAA2B,wBAC3BC,GAA2B,kBAC3BC,GAA2B,cAC3BC,GAA2B,gBAC3BC,GAA2B,WAC3BC,GAA2B,UAC3BC,GAA2B,eAC3BC,GAA2B,qBAC3BC,GAA2B,qBAC3BC,GAA2B,oBAC3BC,GAA2B,qBAG3BC,GAAqB,WACrBC,GAAqB,cACrBC,GAAqB,qBAGlC,OAAO,OAAOtJ,EAAe,EAC7B,OAAO,OAAOC,EAAgB,EC1PvB,SAASsJ,EAAcC,EAAc,CAC3C,MAAMC,EAAY,OAAO,oBAAoBD,CAAM,EACnD,UAAW5oB,KAAQ6oB,EAAW,CAC7B,MAAM1pB,EAASypB,EAAe5oB,CAAI,EAClCb,GAAS,OAAOA,GAAU,UAAY,CAAC,OAAO,SAASA,CAAK,GAAKwpB,EAAWxpB,CAAK,CAClF,CACA,OAAO,OAAO,OAAOypB,CAAM,CAC5B,CCJA,MAAME,EAA2B,CAE7B,SAAU,CAAE,MAAO,OAAc,UAAW,QAAS,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAChJ,OAAU,CAAE,MAAO,OAAc,UAAW,QAAS,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAChJ,SAAU,CAAE,MAAO,OAAc,UAAW,QAAS,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAChJ,SAAU,CAAE,MAAO,OAAc,UAAW,QAAS,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAChJ,OAAU,CAAE,MAAO,OAAc,UAAW,QAAS,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAChJ,SAAU,CAAE,MAAO,OAAc,UAAW,QAAS,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAChJ,OAAU,CAAE,MAAO,OAAc,UAAW,QAAS,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAChJ,SAAU,CAAE,MAAO,OAAc,UAAW,QAAS,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAChJ,OAAU,CAAE,MAAO,OAAc,UAAW,QAAS,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAChJ,OAAU,CAAE,MAAO,OAAc,UAAW,QAAS,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAChJ,OAAU,CAAE,MAAO,OAAc,UAAW,QAAS,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAChJ,OAAU,CAAE,MAAO,OAAc,UAAW,OAAS,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,2BAA4B,EACzK,SAAU,CAAE,MAAO,OAAc,UAAW,QAAS,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAChJ,SAAU,CAAE,MAAO,OAAc,UAAW,OAAS,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,2BAA4B,EACzK,OAAU,CAAE,MAAO,OAAc,UAAW,QAAS,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAChJ,SAAU,CAAE,MAAO,OAAc,UAAW,QAAS,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAChJ,OAAU,CAAE,MAAO,OAAc,UAAW,QAAS,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAChJ,SAAU,CAAE,MAAO,OAAc,UAAW,OAAS,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,2BAA4B,EACzK,OAAU,CAAE,MAAO,OAAc,UAAW,OAAS,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,2BAA4B,EACzK,SAAU,CAAE,MAAO,OAAc,UAAW,QAAS,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAGhJ,OAAU,CAAE,MAAO,QAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,QAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,QAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,QAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,QAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,QAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,QAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,QAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,QAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,QAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,QAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,QAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,4BAA6B,EACzK,OAAU,CAAE,MAAO,QAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,QAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,4BAA6B,EACzK,OAAU,CAAE,MAAO,QAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,QAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,QAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,QAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,4BAA6B,EACzK,OAAU,CAAE,MAAO,QAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,4BAA6B,EACzK,OAAU,CAAE,MAAO,QAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAG/I,OAAU,CAAE,MAAO,aAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,aAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,aAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,aAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,aAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,aAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,aAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,aAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,aAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,aAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,aAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,aAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,aAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,aAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,aAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,aAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,aAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,aAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,aAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,EAC/I,OAAU,CAAE,MAAO,aAAc,UAAW,OAAQ,UAAW,SAAU,WAAY,SAAU,gBAAiB,SAAU,iBAAkB,EAAG,CACnJ,EAGMC,EAA0C,CAE5C,OAAU,CAAE,MAAO,OAAc,UAAW,OAAQ,YAAa,SAAU,YAAa,SAAU,YAAa,SAAU,UAAW,SAAU,eAAgB,SAAU,eAAgB,QAAS,EACjM,OAAU,CAAE,MAAO,OAAc,UAAW,OAAQ,YAAa,SAAU,YAAa,SAAU,YAAa,SAAU,UAAW,SAAU,eAAgB,SAAU,eAAgB,QAAS,EACjM,SAAU,CAAE,MAAO,OAAc,UAAW,OAAQ,YAAa,SAAU,YAAa,SAAU,YAAa,SAAU,UAAW,SAAU,eAAgB,SAAU,eAAgB,QAAS,EACjM,SAAU,CAAE,MAAO,OAAc,UAAW,OAAQ,YAAa,SAAU,YAAa,SAAU,YAAa,SAAU,UAAW,SAAU,eAAgB,SAAU,eAAgB,QAAS,EACjM,OAAU,CAAE,MAAO,OAAc,UAAW,OAAQ,YAAa,SAAU,YAAa,SAAU,YAAa,SAAU,UAAW,SAAU,eAAgB,SAAU,eAAgB,QAAS,EACjM,OAAU,CAAE,MAAO,OAAc,UAAW,OAAQ,YAAa,SAAU,YAAa,SAAU,YAAa,SAAU,UAAW,SAAU,eAAgB,SAAU,eAAgB,QAAS,EACjM,OAAU,CAAE,MAAO,OAAc,UAAW,OAAQ,YAAa,SAAU,YAAa,SAAU,YAAa,SAAU,UAAW,SAAU,eAAgB,SAAU,eAAgB,QAAS,EACjM,SAAU,CAAE,MAAO,OAAc,UAAW,OAAQ,YAAa,SAAU,YAAa,SAAU,YAAa,SAAU,UAAW,SAAU,eAAgB,SAAU,eAAgB,QAAS,EACjM,OAAU,CAAE,MAAO,OAAc,UAAW,OAAQ,YAAa,SAAU,YAAa,SAAU,YAAa,SAAU,UAAW,SAAU,eAAgB,SAAU,eAAgB,QAAS,EACjM,OAAU,CAAE,MAAO,OAAc,UAAW,OAAQ,YAAa,SAAU,YAAa,SAAU,YAAa,SAAU,UAAW,SAAU,eAAgB,SAAU,eAAgB,QAAS,EAGjM,OAAU,CAAE,MAAO,QAAc,UAAW,OAAQ,YAAa,SAAU,YAAa,SAAU,YAAa,SAAU,UAAW,SAAU,eAAgB,SAAU,eAAgB,QAAS,EACjM,OAAU,CAAE,MAAO,QAAc,UAAW,OAAQ,YAAa,SAAU,YAAa,SAAU,YAAa,SAAU,UAAW,SAAU,eAAgB,SAAU,eAAgB,QAAS,EACjM,OAAU,CAAE,MAAO,QAAc,UAAW,OAAQ,YAAa,SAAU,YAAa,SAAU,YAAa,SAAU,UAAW,SAAU,eAAgB,SAAU,eAAgB,QAAS,EACjM,OAAU,CAAE,MAAO,QAAc,UAAW,OAAQ,YAAa,SAAU,YAAa,SAAU,YAAa,SAAU,UAAW,SAAU,eAAgB,SAAU,eAAgB,QAAS,EACjM,OAAU,CAAE,MAAO,QAAc,UAAW,OAAQ,YAAa,SAAU,YAAa,SAAU,YAAa,SAAU,UAAW,SAAU,eAAgB,SAAU,eAAgB,QAAS,EACjM,OAAU,CAAE,MAAO,QAAc,UAAW,OAAQ,YAAa,SAAU,YAAa,SAAU,YAAa,SAAU,UAAW,SAAU,eAAgB,SAAU,eAAgB,QAAS,EACjM,OAAU,CAAE,MAAO,QAAc,UAAW,OAAQ,YAAa,SAAU,YAAa,SAAU,YAAa,SAAU,UAAW,SAAU,eAAgB,SAAU,eAAgB,QAAS,EACjM,OAAU,CAAE,MAAO,QAAc,UAAW,OAAQ,YAAa,SAAU,YAAa,SAAU,YAAa,SAAU,UAAW,SAAU,eAAgB,SAAU,eAAgB,QAAS,EACjM,OAAU,CAAE,MAAO,QAAc,UAAW,OAAQ,YAAa,SAAU,YAAa,SAAU,YAAa,SAAU,UAAW,SAAU,eAAgB,SAAU,eAAgB,QAAS,EACjM,OAAU,CAAE,MAAO,QAAc,UAAW,OAAQ,YAAa,SAAU,YAAa,SAAU,YAAa,SAAU,UAAW,SAAU,eAAgB,SAAU,eAAgB,QAAS,EAGjM,OAAU,CAAE,MAAO,aAAc,UAAW,OAAQ,YAAa,SAAU,YAAa,SAAU,YAAa,SAAU,UAAW,SAAU,eAAgB,SAAU,eAAgB,QAAS,EACjM,OAAU,CAAE,MAAO,aAAc,UAAW,OAAQ,YAAa,SAAU,YAAa,SAAU,YAAa,SAAU,UAAW,SAAU,eAAgB,SAAU,eAAgB,QAAS,EACjM,OAAU,CAAE,MAAO,aAAc,UAAW,OAAQ,YAAa,SAAU,YAAa,SAAU,YAAa,SAAU,UAAW,SAAU,eAAgB,SAAU,eAAgB,QAAS,EACjM,OAAU,CAAE,MAAO,aAAc,UAAW,OAAQ,YAAa,SAAU,YAAa,SAAU,YAAa,SAAU,UAAW,SAAU,eAAgB,SAAU,eAAgB,QAAS,EACjM,OAAU,CAAE,MAAO,aAAc,UAAW,OAAQ,YAAa,SAAU,YAAa,SAAU,YAAa,SAAU,UAAW,SAAU,eAAgB,SAAU,eAAgB,QAAS,EACjM,OAAU,CAAE,MAAO,aAAc,UAAW,OAAQ,YAAa,SAAU,YAAa,SAAU,YAAa,SAAU,UAAW,SAAU,eAAgB,SAAU,eAAgB,QAAS,EACjM,OAAU,CAAE,MAAO,aAAc,UAAW,OAAQ,YAAa,SAAU,YAAa,SAAU,YAAa,SAAU,UAAW,SAAU,eAAgB,SAAU,eAAgB,QAAS,EACjM,OAAU,CAAE,MAAO,aAAc,UAAW,OAAQ,YAAa,SAAU,YAAa,SAAU,YAAa,SAAU,UAAW,SAAU,eAAgB,SAAU,eAAgB,QAAS,EACjM,OAAU,CAAE,MAAO,aAAc,UAAW,OAAQ,YAAa,SAAU,YAAa,SAAU,YAAa,SAAU,UAAW,SAAU,eAAgB,SAAU,eAAgB,QAAS,EACjM,OAAU,CAAE,MAAO,aAAc,UAAW,OAAQ,YAAa,SAAU,YAAa,SAAU,YAAa,SAAU,UAAW,SAAU,eAAgB,SAAU,eAAgB,QAAS,EAGjM,OAAU,CAAE,MAAO,OAAc,UAAW,OAAQ,YAAa,SAAU,YAAa,SAAU,YAAa,SAAU,UAAW,SAAU,eAAgB,SAAU,eAAgB,QAAS,EAGjM,OAAU,CAAE,MAAO,QAAc,UAAW,OAAQ,YAAa,SAAU,YAAa,SAAU,YAAa,SAAU,UAAW,SAAU,eAAgB,SAAU,eAAgB,QAAS,CACrM,EAGMC,GAAoB,CAAC,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,QAAQ,EAC3NC,GAAoB,CAAC,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,QAAQ,EAO3NC,GAAgC,CAAC,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,QAAQ,EACnIC,GAAgC,CAAC,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,QAAQ,EACnIC,GAAgC,CAAC,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,QAAQ,EAGnIC,GAAyB,CAAC,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,QAAQ,EAGhOC,GAAgB,CAAC,6BAA8B,2BAA2B,EAIhFX,EAAWG,CAAwB,EACnCH,EAAWK,EAAgB,EAC3BL,EAAWM,EAAiB,EAC5BN,EAAWU,EAAsB,EACjCV,EAAWI,CAAuC,EAClDJ,EAAWO,EAAuB,EAClCP,EAAWQ,EAAwB,EACnCR,EAAWS,EAA6B,EACxCT,EAAWW,EAAa,EAajB,MAAMC,GAAgC,SAGtC,SAASC,GAAiBjf,EAA8C,CAC3E,MAAMkf,EAAiBlf,EAAM,YAAY,EAEzC,OADuBue,EAAyBW,CAAc,EAAE,YAC3C,OAAS,MAAQ,KAC1C,CAEO,SAASC,GAAiBnf,EAA8C,CAC3E,MAAMkf,EAAiBlf,EAAM,YAAY,EAEzC,OADuBue,EAAyBW,CAAc,EAAE,YAC3C,OACzB,CAEO,SAASE,GAAkBpf,EAA8C,CAC5E,MAAMkf,EAAiBlf,EAAM,YAAY,EACzC,OAAOue,EAAyBW,CAAc,EAAE,SACpD,CAEO,SAASG,GAAmBrf,EAA8C,CAC7E,MAAMkf,EAAiBlf,EAAM,YAAY,EAC5C,OAAOue,EAAyBW,CAAc,EAAE,UACjD,CAEO,SAASI,GAAwBtf,EAA8C,CAClF,MAAMkf,EAAiBlf,EAAM,YAAY,EACzC,OAAOue,EAAyBW,CAAc,EAAE,eACpD,CAEO,SAASK,GAAiBvf,EAA8C,CAC3E,MAAMkf,EAAiBlf,EAAM,YAAY,EACzC,OAAOue,EAAyBW,CAAc,EAAE,QAAU,MAC9D,CAEO,SAASM,GAA8Bxf,EAA6D,CAC1G,MAAMkf,EAAiBlf,EAAM,YAAY,EACzC,OAAOwe,EAAwCU,CAAc,EAAE,WAChE,CAEO,SAASO,GAA8Bzf,EAA6D,CAC1G,MAAMkf,EAAiBlf,EAAM,YAAY,EACzC,OAAOwe,EAAwCU,CAAc,EAAE,WAChE,CAEO,SAASQ,GAAuB1f,EAA6D,CAChG,MAAMkf,EAAiBlf,EAAM,YAAY,EAEzC,OADuBwe,EAAwCU,CAAc,EAAE,YAC1D,OAAS,MAAQ,KAC1C,CAEO,SAASS,GAA6B3f,EAA8C,CACvF,MAAMkf,EAAmBlf,EAAM,YAAY,EACrC4f,EAAmBrB,EAAyBW,CAAc,EAAE,iBAElE,OAAOU,EAAkB,CACrB,IAAK,6BACD,MAAO,CACH,IAAQ,CAAC,4BAA4B,EACrC,OAAQb,GAAc,OAAOc,GAAOA,IAAQ,4BAA4B,CAC5E,EAEJ,IAAK,4BACD,MAAO,CACH,IAAQ,CAAC,2BAA2B,EACpC,OAAQd,GAAc,OAAOc,GAAOA,IAAQ,2BAA2B,CAC3E,EAEJ,IAAK,GACD,MAAO,CACH,IAAQ,CAAC,EACT,OAAQd,EACZ,EAEJ,QACI,KAAM,gCAAkCa,CAChD,CACJ,CAEO,SAASE,GAAe9f,EAA6D,CACxF,MAAMkf,EAAiBlf,EAAM,YAAY,EACzC,OAAOwe,EAAwCU,CAAc,EAAE,WACnE,CAEO,SAASa,GAAa/f,EAA6D,CACtF,MAAMkf,EAAiBlf,EAAM,YAAY,EACzC,OAAOwe,EAAwCU,CAAc,EAAE,SACnE,CAEO,SAASc,GAAkBhgB,EAA6D,CAC3F,MAAMkf,EAAiBlf,EAAM,YAAY,EACzC,OAAOwe,EAAwCU,CAAc,EAAE,cACnE,CAEO,SAASe,GAAkBjgB,EAA6D,CAC3F,MAAMkf,EAAiBlf,EAAM,YAAY,EACzC,OAAOwe,EAAwCU,CAAc,EAAE,cACnE,CAEO,SAASgB,GAA6BlgB,EAA8C,CACvF,OAAOqf,GAAmBrf,CAA8C,CAC5E,CC/PA,MAAMmgB,EAAkD,WAAW,oBAC7DC,EAAkDD,EAAoB,WACtEE,GAAkDF,EAAoB,SACtEG,GAAkDH,EAAoB,OACtE,GAAkDA,EAAoB,YACtEI,GAAkDJ,EAAoB,aACtEK,GAAkDL,EAAoB,KACtEM,GAAkDN,EAAoB,eACtEO,GAAkDP,EAAoB,eACtEQ,GAAkDR,EAAoB,qBAAqB,oBAC3FS,GAAkDR,EAAW,eAC7DS,GAAkDT,EAAW,UAC7DU,GAAkDV,EAAW,eAC7DW,GAAoDX,EAAW,wCAC/DY,GAAkDZ,EAAW,gBAC7Da,GAAkDb,EAAW,yBAC7Dc,GAAkDd,EAAW,sCAC7De,GAAkD,GAAY,gBAC9DC,GAAkD,GAAY,4BAC9DC,GAAkDd,GAAa,yBAC/De,GAAkDf,GAAa,eAC/DgB,GAAkDd,GAAe,mBACjEe,GAAkDrB,EAAoB,WAEtEsB,GAAyB,UAAU,QACnCC,GAAyB,yBACzBC,GAAyB,uBAEzBC,GAAS,WAAW,SAAW,WAAW,OAAS,CAAC,GAC1DA,GAAO,cAAgBH,GAAQ,cAC/BG,GAAO,cAAgBH,GAAQ,cAE/B,MAAMI,EAAgB,CAAE,OAAQ,kBAAmB,mBAAoB,WAAY,kBAAmB,SAAU,EAEzG,SAASC,GAAmBnP,EAAU,CAEzC6N,GAAW,YAAY,UAAU,SAAW7N,EAE5C6N,GAAW,sBAAsB,UAAU,MAAQ,UAAW,CAC1D,KAAK,WAAW,EAChB,KAAK,UAAU,WAAW,CAC9B,EAEAe,GAA2C,UAAU,uBAAyB,UAAW,CAKrF,QAJIxhB,EAAU,CAAC,EACXyJ,EAAQxJ,EAAOoK,EAAUC,EAAa0X,EAAcC,EAEpDC,EAAW,KAAK,YAAY,EACvBpsB,EAAI,EAAGA,EAAIosB,EAAS,OAAQpsB,IAEjC2T,EAASyY,EAASpsB,CAAC,EACnBmK,EAAQ,KAAK,eAAe,SAAS,EAEjC,KAAK,eAAe,aAAawJ,CAAM,GACvCY,EAAW,KAAK,eAAe,kBAAkBZ,CAAM,EACvDuY,EAAe,KAAK,eAAe,sBAAsBvY,CAAM,EAC/Da,EAAc,KAAK,eAAe,qBAAqBb,CAAM,GACtD,KAAK,eAAe,eAAeA,CAAM,GAChDY,EAAW,KAAK,eAAe,oBAAoBZ,CAAM,EACzDuY,EAAe,KAAK,eAAe,wBAAwBvY,CAAM,EACjEa,EAAc,KAAK,eAAe,uBAAuBb,CAAM,GACxD,KAAK,eAAe,cAAcA,CAAM,IAC/CY,EAAW,KAAK,eAAe,mBAAmBZ,CAAM,EACxD,CAACY,IAAaA,EAAW,KAAK,qBAAqB,GACnD2X,EAAe,KAAK,eAAe,uBAAuBvY,CAAM,EAChEa,EAAc,KAAK,eAAe,sBAAsBb,CAAM,GAGlEwY,EAAS,IAAId,GAAgD1X,CAAM,EACnEwY,EAAO,SAAShiB,CAAK,EACrBgiB,EAAO,QAAQ5X,CAAQ,EACvB4X,EAAO,WAAW3X,CAAW,EAC7B2X,EAAO,eAAeD,CAAY,EAClChiB,EAAQyJ,CAAM,EAAIwY,EAGtB,OAAOjiB,CACX,EAEA,GAAY,mBAAmB,UAAU,6BAA+B,UAAW,CAC/E,MAAMA,EAAiB,CAAC,EAClBkiB,EAAiB,KAAK,+BAA+B,EAE3D,GADuB,KAAK,kBAAkB,EAa1C,QAAQpsB,EAAI,EAAGA,EAAIosB,EAAS,OAAQpsB,IAAK,CACrC,MAAM6H,EAASukB,EAASpsB,CAAC,EACnBmK,EAAS,KAAK,cAAc,SAAStC,CAAE,EACvCjI,EAAS,KAAK,cAAc,QAAQiI,CAAE,EACtCskB,EAAS,IAAIlB,GAAyBpjB,CAAE,EAC9CskB,EAAO,SAAS,IAAUhiB,CAAK,EAAE,EACjCgiB,EAAO,QAAQvsB,CAAI,EACnBsK,EAAQrC,CAAE,EAAIskB,CAClB,KApBgB,CAEhB,MAAMhiB,EAAQ,SACd,QAAQnK,EAAI,EAAGA,EAAIosB,EAAS,OAAQpsB,IAAK,CACrC,MAAM6H,EAASukB,EAASpsB,CAAC,EACnBJ,EAAS,KAAK,cAAc,QAAQiI,CAAE,EACtCskB,EAAS,IAAIlB,GAAyBpjB,CAAE,EAC9CskB,EAAO,SAAS,IAAUhiB,CAAK,EAAE,EACjCgiB,EAAO,QAAQvsB,CAAI,EACnBsK,EAAQrC,CAAE,EAAIskB,CAClB,CACJ,CAYA,QAAQnsB,EAAI,EAAGA,EAAI,KAAK,YAAY,OAAQA,IAAK,CAC7C,MAAM6H,EAAS,KAAK,YAAY7H,CAAC,EAC3BmsB,EAASjiB,EAAQrC,CAAE,EACzBskB,GAAUA,EAAO,UAAU,CAC/B,CAEA,OAAOjiB,CACX,EAEA,GAAY,mBAAmB,UAAU,uBAAyB,UAAW,CACzE,MAAMA,EAAiB,CAAC,EAExB,GADuB,KAAK,kBAAkB,EAa1C,QAAQlK,EAAI,EAAGA,EAAI,KAAK,YAAY,OAAQA,IAAK,CAC7C,MAAM6H,EAAc,KAAK,YAAY7H,CAAC,EAEhCmK,EAAc,KAAK,cAAc,SAAStC,CAAE,EAC5CjI,EAAc,KAAK,cAAc,QAAQiI,CAAE,EAC3CskB,EAAc,IAAIb,GAA2BzjB,CAAE,EACrDskB,EAAO,SAAS,IAAUhiB,CAAK,EAAE,EACjCgiB,EAAO,QAAQvsB,CAAI,EACnBsK,EAAQrC,CAAE,EAAIskB,CAClB,KArBgB,CAEhB,MAAMhiB,EAAQ,SACd,QAAQnK,EAAI,EAAGA,EAAI,KAAK,YAAY,OAAQA,IAAK,CAC7C,MAAM6H,EAAc,KAAK,YAAY7H,CAAC,EAChCJ,EAAc,KAAK,cAAc,QAAQiI,CAAE,EAC3CskB,EAAc,IAAIb,GAA2BzjB,CAAE,EACrDskB,EAAO,SAAS,IAAUhiB,CAAK,EAAE,EACjCgiB,EAAO,QAAQvsB,CAAI,EACnBsK,EAAQrC,CAAE,EAAIskB,CAClB,CACJ,CAYA,OAAOjiB,CACX,EAEA,GAAY,mBAAmB,UAAU,mCAAqC,UAAW,CACrF,MAAMA,EAAiB,CAAC,EAClBkiB,EAAiB,KAAK,YAAY,EAExC,GADuB,KAAK,kBAAkB,EAY1C,QAAQpsB,EAAI,EAAGA,EAAIosB,EAAS,OAAQpsB,IAAK,CACrC,MAAM6H,EAASukB,EAASpsB,CAAC,EACnBmK,EAAS,KAAK,cAAc,SAAStC,CAAE,EACvCjI,EAAS,KAAK,cAAc,QAAQiI,CAAE,EACtCskB,EAAS,IAAIZ,GAAuC1jB,CAAE,EAC5DskB,EAAO,SAAShiB,CAAK,EACrBgiB,EAAO,QAAQvsB,CAAI,EACnBsK,EAAQrC,CAAE,EAAIskB,CAClB,KAnBgB,CAChB,MAAMhiB,EAAQ,SACd,QAAQnK,EAAI,EAAGA,EAAIosB,EAAS,OAAQpsB,IAAK,CACrC,MAAM6H,EAASukB,EAASpsB,CAAC,EACnBJ,EAAS,KAAK,cAAc,QAAQiI,CAAE,EACtCskB,EAAS,IAAIZ,GAAuC1jB,CAAE,EAC5DskB,EAAO,SAAShiB,CAAK,EACrBgiB,EAAO,QAAQvsB,CAAI,EACnBsK,EAAQrC,CAAE,EAAIskB,CAClB,CACJ,CAWA,OAAOjiB,CACX,EAEA8gB,GAAoB,UAAU,YAAc,UAAW,CACnD,KAAK,SAAW,IAAID,GAAyB,KAAM,KAAK,UAAW,KAAK,QAAQ,EAChF,KAAK,SAAS,aAAa,KAAK,SAAS,EAC/C,KAAK,QAAQ,OAAO,EAAG,EAAG,KAAK,QAAQ,CACrC,EAEAC,GAAoB,UAAU,eAAiB,SAASqB,EAAa,CACjE,KAAK,OAAO,YAAcA,CAC9B,EAEApB,GAAyB,UAAU,QAAU,SAASrrB,EAAM,CACxD,KAAK,KAAK,YAAcA,EACxB,KAAK,KAAK,MAAcA,CAC5B,EAEAsrB,GAAkD,UAAU,QAAU,SAAStrB,EAAM,CACjF,KAAK,KAAK,YAAcA,EACxB,KAAK,KAAK,MAAcA,CAC5B,EAEAqrB,GAAyB,UAAU,SAAW,SAAU9gB,EAAO,CAC3D,KAAK,cAAc,MAAM,YAAY6hB,EAAc,mBAAoB7hB,CAAK,CAChF,EAEAghB,GAA0B,UAAU,SAAW,SAAUhhB,EAAO,CAC5D,MAAMmiB,EAA2BniB,EAAM,QAAQ,IAAK,EAAE,EAChDoiB,EAA2BX,GAAQ,SAAS,SAAUU,EAAU,EAAE,EACxE,KAAK,IAAI,MAAM,gBAAkBC,CACrC,EAEA7B,GAAa,mBAAmB,UAAU,6BAA+B,UAAW,CAChF,MAAMxgB,EAAW,CAAC,EACZkiB,EAAW,KAAK,YAAY,EAElC,GADuB,KAAK,kBAAkB,EAY1C,QAAQpsB,EAAI,EAAGA,EAAIosB,EAAS,OAAQpsB,IAAK,CACrC,MAAM6H,EAAcukB,EAASpsB,CAAC,EACxBmK,EAAc,KAAK,eAAe,SAAStC,CAAE,EAC7CjI,EAAc,KAAK,eAAe,QAAQiI,CAAE,EAC5CskB,EAAc,IAAIX,GAAqC3jB,CAAE,EAC/DskB,EAAO,SAAShiB,CAAK,EACrBgiB,EAAO,QAAQvsB,CAAI,EACnBsK,EAAQrC,CAAE,EAAIskB,CAClB,KAnBgB,CAChB,MAAMhiB,EAAQ,SACd,QAAQnK,EAAI,EAAGA,EAAIosB,EAAS,OAAQpsB,IAAK,CACrC,MAAM6H,EAASukB,EAASpsB,CAAC,EACnBJ,EAAS,KAAK,eAAe,QAAQiI,CAAE,EACvCskB,EAAS,IAAIX,GAAqC3jB,CAAE,EAC1DskB,EAAO,SAAShiB,CAAK,EACrBgiB,EAAO,QAAQvsB,CAAI,EACnBsK,EAAQrC,CAAE,EAAIskB,CAClB,CACJ,CAWA,OAAOjiB,CACX,EAEAwgB,GAAa,mBAAmB,UAAU,gBAAkB,UAAW,CACnE,MAAM0B,EAAW,KAAK,YAAY,EAC5BliB,EAAW,CAAC,EAElB,GADuB,KAAK,kBAAkB,EAY1C,QAAQlK,EAAI,EAAGA,EAAIosB,EAAS,OAAQpsB,IAAK,CACrC,MAAM6H,EAASukB,EAASpsB,CAAC,EACnBmK,EAAS,KAAK,eAAe,SAAStC,CAAE,EACxCjI,EAAS,KAAK,eAAe,QAAQiI,CAAE,EACvCskB,EAAS,IAAIf,GAAmCvjB,CAAE,EACxDskB,EAAO,SAAShiB,CAAK,EACrBgiB,EAAO,QAAQvsB,CAAI,EACnBsK,EAAQrC,CAAE,EAAIskB,CAClB,KAnBgB,CAChB,MAAMhiB,EAAQ,SACd,QAAQnK,EAAI,EAAGA,EAAIosB,EAAS,OAAQpsB,IAAK,CACrC,MAAM6H,EAASukB,EAASpsB,CAAC,EACnBJ,EAAS,KAAK,eAAe,QAAQiI,CAAE,EACvCskB,EAAS,IAAIf,GAAmCvjB,CAAE,EACxDskB,EAAO,SAAShiB,CAAK,EACrBgiB,EAAO,QAAQvsB,CAAI,EACnBsK,EAAQrC,CAAE,EAAIskB,CAClB,CACJ,CAWA,OAAOjiB,CACX,EAEAwgB,GAAa,mBAAmB,UAAU,gBAAkB,UAAW,CACnE,MAAMxgB,EAAU,CAAC,EACjB,GAAG,KAAK,MAAO,CACX,MAAMsiB,EAAiB,KAAK,kBAAkB,EACxCL,EAAiB,IAAIV,GACrBthB,EAAmBqiB,EAAsC,KAAK,eAAe,SAAS,KAAK,KAAK,EAA3D,SACrC5sB,EAAiB,KAAK,eAAe,QAAQ,KAAK,KAAK,EAC7DusB,EAAO,SAAShiB,CAAK,EACrBgiB,EAAO,QAAQvsB,CAAI,EACnBsK,EAAQ,KAAK,KAAK,EAAIiiB,CAC1B,CACA,OAAOjiB,CACX,EAEA4gB,GAAwC,UAAU,SAAW,SAAU3gB,EAAO,CAC1E,MAAMmiB,EAAaniB,EAAM,QAAQ,IAAK,EAAE,EAClCoiB,EAAaX,GAAQ,SAAS,SAAUU,EAAU,EAAE,EAC1D,KAAK,IAAI,MAAM,YAAYN,EAAc,mBAAoBO,CAAU,CAC3E,EAEA/B,GAAS,gBAAgB,UAAU,SAAW,SAAUrgB,EAAO,CAC3D,MAAMmiB,EAAWG,GAAiBtiB,CAAK,EACvC,KAAK,IAAI,MAAM,YAAY6hB,EAAc,OAAQM,CAAQ,CAC7D,EAEA9B,GAAS,YAAcnoB,GAAQ,CAC3B,IAAIiR,EAEJ,OAAQjR,EAAM,CACV,IAAK,GACDiR,EAAW,gBAAgB,sBAAuB,OAAO,EACzD,MAEJ,IAAK,GACDA,EAAW,gBAAgB,2BAA4B,OAAO,EAC9D,MAEJ,IAAK,GACDA,EAAW,gBAAgB,8BAA+B,OAAO,EACjE,MAEJ,IAAK,GACDA,EAAW,gBAAgB,0BAA2B,OAAO,EAC7D,MAEJ,IAAK,GACDA,EAAW,gBAAgB,8BAA+B,OAAO,EACjE,MAEJ,IAAK,GACDA,EAAW,gBAAgB,2BAA4B,OAAO,EAC9D,MAEJ,IAAK,GACDA,EAAW,gBAAgB,+BAAgC,OAAO,EAClE,MAEJ,IAAK,GACDA,EAAW,gBAAgB,4BAA6B,OAAO,EAC/D,MAEJ,IAAK,GACDA,EAAW,gBAAgB,4BAA6B,OAAO,EAC/D,MAEJ,QACI,MAAOuY,EACf,CAEA,OAAOvY,CACX,EAEAmX,GAAO,oBAAoB,UAAU,SAAW,SAAStgB,EAAO,CAC5DA,EAAQsiB,GAAiBtiB,CAAK,EAC9B,KAAK,IAAI,MAAM,YAAY6hB,EAAc,OAAQ7hB,CAAK,CAC1D,EAEAsgB,GAAO,YAAcpoB,GAAQ,CACzB,IAAIiR,EAEJ,OAAQjR,EAAK,CACT,IAAK,GACDiR,EAAW,gBAAgB,sBAAuB,OAAO,EACzD,MAEJ,IAAK,GACDA,EAAW,gBAAgB,2BAA4B,OAAO,EAC9D,MAEJ,IAAK,GACDA,EAAW,gBAAgB,8BAA+B,OAAO,EACjE,MAEJ,IAAK,GACDA,EAAW,gBAAgB,0BAA2B,OAAO,EAC7D,MAEJ,IAAK,GACDA,EAAW,gBAAgB,8BAA+B,OAAO,EACjE,MAEJ,IAAK,GACDA,EAAW,gBAAgB,2BAA4B,OAAO,EAC9D,MAEJ,IAAK,GACDA,EAAW,gBAAgB,+BAAgC,OAAO,EAClE,MAEJ,IAAK,GACDA,EAAW,gBAAgB,4BAA6B,OAAO,EAC/D,MAEJ,IAAK,GACDA,EAAW,gBAAgB,4BAA6B,OAAO,EAC/D,MAEJ,QACI,MAAOwY,EACf,CAEA,OAAOxY,CACX,EAEAqY,GAAW,oBAAoB,UAAU,aAAe,UAAW,CAC/D,OAAO,KAAK,SAChB,EAEAA,GAAW,uBAAuB,UAAU,SAAW,SAASe,EAAW,CACvE,KAAK,IAAI,UAAU,IAAIA,CAAS,CACpC,EAEAf,GAAW,uBAAuB,UAAU,YAAc,SAASe,EAAW,CAC1E,KAAK,IAAI,UAAU,OAAOA,CAAS,CACvC,EAEAf,GAAW,YAAY,UAAU,qBAAuB,SAAS1sB,EAAK,CAClE,OAAO,KAAK,eAAeA,CAAG,CAClC,EAEA0sB,GAAW,YAAY,UAAU,uBAAyB,SAAS1sB,EAAK0tB,EAAa,CACjF,KAAK,eAAe1tB,CAAG,EAAE,SAAW0tB,CACxC,EAEAvB,GAAmC,UAAU,SAAW,SAAUjhB,EAAO,CACrE,MAAMyiB,EAAmBjD,GAA8Bxf,CAAK,EAC5D,KAAK,cAAc,MAAM,YAAY6hB,EAAc,mBAAoB,IAAU7hB,CAAK,EAAE,EACxF,KAAK,cAAc,MAAM,YAAY6hB,EAAc,kBAAoB,IAAUY,CAAgB,EAAE,CACvG,EAEAnB,GAA2B,UAAU,SAAW,SAAUthB,EAAO,CAC7D,MAAMyiB,EAAmBjD,GAA8Bxf,CAAK,EAC5D,KAAK,IAAI,MAAM,YAAY6hB,EAAc,mBAAoB,IAAU7hB,CAAK,EAAE,EAC9E,KAAK,IAAI,MAAM,YAAY6hB,EAAc,kBAAoB,IAAUY,CAAgB,EAAE,CAC7F,EAEApB,GAAqC,UAAU,SAAW,SAAUrhB,EAAO,CACvE,MAAMyiB,EAAmBjD,GAA8Bxf,CAAK,EAC5D,KAAK,IAAI,MAAM,YAAY6hB,EAAc,mBAAoB,IAAU7hB,CAAK,EAAE,EAC9E,KAAK,IAAI,MAAM,YAAY6hB,EAAc,kBAAoB,IAAUY,CAAgB,EAAE,CAC7F,EAEArB,GAAuC,UAAU,SAAW,SAAUphB,EAAO,CACzE,KAAK,IAAI,MAAM,YAAY6hB,EAAc,mBAAoB,IAAU7hB,CAAK,EAAE,CAClF,EAEAogB,EAAW,sCAAsC,UAAU,SAAW,SAAUpgB,EAAO,CACnF,MAAM0iB,EAAkBpD,GAAwBtf,CAAK,EACrD,KAAK,cAAc,MAAM,YAAY6hB,EAAc,mBAAoB,IAAUa,CAAe,EAAE,CACtG,EAEA3B,GAAkD,UAAU,SAAW,SAAU/gB,EAAO,CACpF,MAAM0iB,EAAkBpD,GAAwBtf,CAAK,EACrD,KAAK,cAAc,MAAM,YAAY6hB,EAAc,mBAAoB,IAAUa,CAAe,EAAE,CACtG,EAEAjC,GAAe,oCAAoC,UAAU,SAAW,SAASzgB,EAAO,CACpF,MAAM0iB,EAAkBpD,GAAwBtf,CAAK,EACrD,KAAK,IAAI,MAAM,YAAY6hB,EAAc,mBAAoB,IAAUa,CAAe,EAAE,CAC5F,EAEAjC,GAAe,eAAe,UAAU,SAAW,SAASzgB,EAAO,CAC/D,MAAM0iB,EAAkBpD,GAAwBtf,CAAK,EACrD,KAAK,IAAI,MAAM,YAAY6hB,EAAc,mBAAoB,IAAUa,CAAe,EAAE,CAC5F,EAEAhC,GAAe,0CAA0C,UAAU,SAAW,SAAS1gB,EAAO,CAC1F,MAAM0iB,EAAkBpD,GAAwBtf,CAAK,EACrD,KAAK,IAAI,MAAM,YAAY6hB,EAAc,mBAAoB,IAAUa,CAAe,EAAE,CAC5F,EAEAhC,GAAe,gBAAgB,UAAU,SAAW,SAAS1gB,EAAO,CAChE,MAAM0iB,EAAkBpD,GAAwBtf,CAAK,EACrD,KAAK,IAAI,MAAM,YAAY6hB,EAAc,mBAAoB,IAAUa,CAAe,EAAE,CAC5F,CACJ,CAEA,SAASC,GAAc3iB,EAAO,CAC1B,OAAOyhB,GAAQ,SAAS,SAAUzhB,EAAO,EAAE,CAC/C,CAEA,SAASsiB,GAAiBtiB,EAAO,CAC7B,GAAGA,EAAM,OAAS,EAAE,CAChB,MAAM4iB,EAAgB5iB,EAAM,MAAM,GAAG,EAC/BmiB,EAAgBS,EAAM,CAAC,EACvBC,EAAgB,SAASD,EAAM,CAAC,CAAC,EAEvC,OADsBnB,GAAQ,SAAS,SAAUU,EAAUU,EAAQ,GAAG,CAE1E,CACA,MAAO,IAAI7iB,CAAK,EACpB,CCrdA,MAAM8iB,GAAsB,EACtBC,GAAsB,EACtBC,GAAsB,EACtBC,GAAsB,EACtBC,GAAsB,EAGrB,SAASC,GAAe7sB,EAAU8sB,EAAW,CAwCnD,GAtCAtB,GAAmB,EAEhBxrB,EAAS,eAAemO,EAA4B,GACtD2e,EAAU,6BAA6B9sB,EAASmO,EAA4B,CAAC,EAG1EnO,EAAS,eAAe8N,EAAoB,GAC/Cgf,EAAU,sBAAsB9sB,EAAS8N,EAAoB,CAAC,EAG3D9N,EAAS,eAAe+N,EAAsB,GACjD+e,EAAU,wBAAwB9sB,EAAS+N,EAAsB,CAAC,EAG/D/N,EAAS,eAAegO,EAAqB,GAChD8e,EAAU,uBAAuB9sB,EAASgO,EAAqB,CAAC,EAG7DhO,EAAS,eAAe6N,EAA0B,GACrDif,EAAU,kBAAkB9sB,EAAS6N,EAA0B,CAAC,EAG7D7N,EAAS,eAAe2N,EAAmB,GAC9Cmf,EAAU,YAAY9sB,EAAS2N,EAAmB,CAAC,EAGhD3N,EAAS,eAAe,OAAe,GAC1C8sB,EAAU,aAAa9sB,EAAS,KAAgB,EAG9CA,EAAS,eAAeiO,EAAe,GACzC6e,EAAU,eAAe9sB,EAASiO,EAAe,CAAC,EAGhDjO,EAAS,eAAekO,EAAS,GACnC4e,EAAU,YAAY9sB,EAASkO,EAAS,CAAC,EAGtClO,EAAS,eAAe,CAACoO,EAAuB,CAAC,EAAG,CACvD,MAAMsG,EAAgB1U,EAASoO,EAAuB,EAEtD,QAAQ3P,KAAOiW,EAAe,CAC7B,MAAMJ,EAAWI,EAAcjW,CAAG,EAElC,QAAS4K,KAAMiL,EAAU,CACxB,MAAMF,EAAoBE,EAASjL,CAAE,EAC/B6J,EAAoBkB,EAAK/F,EAAiB,EAC1CyF,EAAoBM,EAAK5F,EAAmB,EAC5CuF,EAAoBK,EAAK,MACzBJ,EAAoBI,EAAK,KACzBH,EAAoBG,EAAKvF,EAAqB,EAC9CqF,EAAiBE,EAAKtF,EAAoB,EAC1Cie,EAAoB3Y,EAAKrF,EAA0B,EAEzD+d,EAAU,cAAczjB,EAAI6J,EAAQY,EAAUC,EAAaC,EAAgBC,EAAgBC,EAAe6Y,CAAkB,CAC7H,CACD,CAGD,CAEA,GAAI/sB,EAAS,eAAeiP,EAAmB,EAAG,CACjD,MAAMxE,EAAYzK,EAASiP,EAAmB,EAE9C,QAASuN,KAAe/R,EAAW,CAClC,MAAMuiB,EAAiBviB,EAAU+R,CAAW,EAE5C,QAASjd,EAAI,EAAGA,EAAIytB,EAAe,OAAQztB,IAAK,CAC/C,MAAMkI,EAAculB,EAAeztB,CAAC,EAC9Bkd,EAAchV,EAAM+kB,EAAS,EAC7B7P,EAAclV,EAAMglB,EAAW,EAC/B/P,EAAcjV,EAAMilB,EAAY,EACtCI,EAAU,sBAAsBtQ,EAAaC,EAAUC,EAAaC,CAAU,CAC/E,CACD,CACD,CAEA,GAAI3c,EAAS,eAAe,QAAgB,EAAG,CAC9C,MAAMitB,EAASjtB,EAAS,OAExB,QAAS0E,KAAWuoB,EAAQ,CAE3B,MAAMC,EAAkBD,EAAOvoB,CAAO,EAChCkY,EAAkBsQ,EAAM,KACxBzlB,EAAkBylB,EAAM,KACxBrQ,EAAkBpV,EAAM,CAAC,EACzBqV,EAAkBrV,EAAM,CAAC,EAE/BqlB,EAAU,YAAYpoB,EAASkY,EAAWC,EAAWC,CAAe,CACrE,CACD,CAEA,GAAI9c,EAAS,eAAe,MAAc,EAAG,CAE5C,MAAMmtB,EAAOntB,EAAS,KAEtB,GAAGmtB,EAAK,eAAe5d,EAAqB,EAAG,CAE9C,MAAM6d,EADuBD,EAAK5d,EAAqB,EACf,KAClCyN,EAAuBoQ,EAAqB,GAC5CnQ,EAAuBmQ,EAAqB7e,EAAuB,EACnE2O,EAAuBkQ,EAAqB,KAClDN,EAAU,cAAc9P,EAAcC,EAAqBC,EAAgB,CAAC,CAC7E,MACC4P,EAAU,cAAc,GAAI,GAAI,GAAI,CAAC,EAGtC,GAAGK,EAAK,eAAe,MAAc,EAAG,CACvC,MAAME,EAAiBF,EAAK,KACtB1P,EAAiB4P,EAAK,KACtB3P,EAAiB2P,EAAKvd,EAAmB,EACzCwd,EAAiBD,EAAK,KACtBhQ,EAAiBiQ,EAAe,GAChChQ,EAAiBgQ,EAAe/e,EAAuB,EACvDgP,EAAiB+P,EAAe,KACtCR,EAAU,QAAQzP,EAAQC,EAAeC,EAAU,EAAGE,EAAUC,CAAa,CAC9E,MACCoP,EAAU,QAAQ,GAAI,GAAI,GAAI,EAAG,KAAM,IAAI,EAG5C,MAAMS,EAAiBJ,EAAKnd,EAAyB,EACrD,GAAGud,EAAgB,CAClB,MAAMzP,EAA2ByP,EAAe,KAC1CxP,EAA2BwP,EAAezd,EAAmB,EACnEgd,EAAU,kBAAkBhP,EAAoBC,EAAyB4O,EAAkB,CAC5F,MACCG,EAAU,kBAAkB,KAAM,KAAMF,EAAmB,EAG5D,MAAM7R,EAAkBoS,EAAKpd,EAAmB,EAC1CiL,EAAkBmS,EAAKld,EAA0B,EAEjDgL,EAAiBkS,EAAKjd,EAAyB,EAC/CgL,EAAiBiS,EAAKhd,EAAqB,EAE3CgL,EAAqBgS,EAAK/c,EAAuB,EACjDgL,EAAqB+R,EAAK9c,EAAkB,EAC5CuN,EAAqBuP,EAAK7c,EAAsB,EAChDuN,EAAqBsP,EAAK5c,EAA8B,EAExD+K,EAAa6R,EAAK3c,EAAqB,EACvCgd,EAAaL,EAAK1c,EAAiB,EAEzCqc,EAAU,YAAY/R,EAAUC,EAAiBC,EAAgBC,EAAYC,EAAkBC,EAAUwC,EAAaC,EAAoBvC,CAAU,EAEpJ,UAAWR,KAAY0S,EAAS,CAC/B,MAAMnS,EAAoBmS,EAAQ1S,CAAQ,EACpCpW,EAAoB2W,EAAO3K,EAAkB,EAC7CwN,EAAoB7C,EAAO,KAC3B8C,EAAoB9C,EAAOxL,EAAqB,EAChDuO,EAAoB/C,EAAO1K,EAAkB,EAC7CoF,EAAoBsF,EAAOzK,EAAwB,EACnDyN,EAAoBhD,EAAOxK,EAAiB,EAElDic,EAAU,aAAahS,EAAUpW,EAASwZ,EAAYC,EAAmBC,EAAUrI,EAAesI,CAAO,EAEzGD,GAAY0O,EAAU,mBAAmBpoB,CAAO,CACjD,CACD,CAEA,MAAMuI,EAAU,OAAO,SAAS,SAAS,QAAQ,IAAK,EAAE,EACxD6f,EAAU,WAAW7f,CAAO,CAE7B,CC/KO,MAAMwgB,GAAiC,IACjCC,GAAiC,IACjCC,GAAiC,IACjCC,GAAiC,IACjCC,GAAiC,IACjCC,GAAiC,IACjCC,GAAiC,IACjCC,GAAiC,IACjCC,GAAiC,IACjCC,GAAiC,KACjCC,GAAiC,KACjCC,GAAiC,KACjCC,GAAiC,KACjCC,GAAiC,KACjCC,GAAiC,KACjC,GAAiC,KACjCC,GAAiC,KACjCC,GAAiC,KACjCC,GAAiC,KACjCC,GAAiC,KACjCC,GAAiC,KACjCC,GAAiC,KACjC,GAAiC,KACjC,GAAiC,KACjCC,GAAiC,KACjCC,GAAiC,KACjCC,GAAiC,KACjCC,GAAiC,KACjCC,GAAiC,KACjCC,GAAyB,KACzBC,GAAyB,KACzBC,GAAwB,KACxBC,GAAwB,KAExBC,GAAiC,KACjCC,GAAiC,KACjCC,GAAiC,KACjCC,GAAiC,KACjCC,GAAiC,KACjCC,GAAiC,KACjCC,GAAiC,KACjCC,GAAiC,KACjCC,GAAiC,KACjCC,GAAiC,KAExCC,GAAuC,CAAC,EAC9CA,GAAsB5B,EAAkB,EAAK,EAC7C4B,GAAsBrB,EAAgB,EAAO,EAC7CqB,GAAsBxB,EAAmB,EAAI,EAC7CwB,GAAsBvC,EAAU,EAAa,EAC7CuC,GAAsBf,EAAI,EAAmB,EAE7C,MAAMgB,GAA6B,CAAC,EACpCA,GAA2B7B,EAAkB,EAAK,EAClD6B,GAA2BtB,EAAgB,EAAO,EAClDsB,GAA2BzB,EAAmB,EAAI,EAE3C,MAAM0B,GAAoB,KAIpBC,GAA+B,CAC3C,cAAe,EACf,aAAc,CACf,EAEaC,GAAyB,SAAUxT,EAAW,CAa1D,MAZ8B,CAC7B8Q,GACAmB,GACAjB,GACAK,GACAa,GACAX,GACAY,GACAI,GACAC,GACAJ,EACD,EAC6B,SAASpS,CAAS,CAChD,EAEayT,GAA6B,SAAUzT,EAAW,CAc9D,MAb8B,CAC7B8Q,GACAmB,GACAjB,GACAK,GACAa,GACAX,GACAY,GACAC,GACAE,GACAC,GACAC,EACD,EAC6B,SAASxS,CAAS,CAChD,EAEa0T,GAAmB,SAAU1T,EAAW,CACpD,OACCA,IAAc4R,IACd5R,IAAcwR,IACdxR,IAAc+R,IACd/R,IAAcsS,EAEhB,EAEaqB,GAAiC3T,GACP,CAACqR,GAASgB,GAAMF,GAAQC,GAAQE,GAAsBC,GAAoBC,EAAiB,EAC5F,SAASxS,CAAS,EAG3C4T,GAAuB,SAAU5T,EAAW,CACxD,OAAOoT,GAAsBpT,CAAS,CACvC,EAEO,SAAS6T,GAAyB7T,EAAW,CACnD,OAAOqT,GAA2BrT,CAAS,CAC5C,CAEO,MAAM8T,GAA2C,SAAU9T,EAAW,CAC5E,OACCA,IAAc8Q,IACd9Q,IAAciS,IACdjS,IAAcgR,IACdhR,IAAcqR,IACdrR,IAAckS,IACdlS,IAAcuR,IACdvR,IAAcmS,IACdnS,IAAcoS,IACdpS,IAAcsS,IACdtS,IAAcuS,IACdvS,IAAcwS,EAEhB,EA+BauB,GAAyC,KACzCC,GAAyC,KACzCC,GAAyC,KACzCC,GAAyC,KACzCC,GAAyC,KACzCC,GAAyC,KACzCC,GAAyC,KAEzCC,GAA6C,KAC7CC,GAA6C,KAC7CC,GAA6C,KAC7CC,GAA6C,KAC7CC,GAA6C,KAC7CC,GAA6C,KAC7CC,GAA6C,KAE7CC,GAAkC,KAElCC,GAAqB,qBCtL5B,GAAqB,oBAErBC,GAAS,CACX,iBAAuB,UACvB,MAAuB,QACvB,YAAuB,OACvB,UAAuB,OACvB,KAAuB,OACvB,OAAuB,SACvB,SAAuB,WACvB,cAAuB,gBACvB,UAAuB,YACvB,qBAAuB,sBACvB,mBAAuB,oBACvB,aAAuB,aAC3B,EAEMC,GAAe,CACpB,WAAY,CACX,iBAAkB,OAClB,MAAO,UACP,YAAa,mBACb,UAAW,KACX,KAAM,GACN,OAAQ,GACR,SAAU,GACV,cAAe,GACf,UAAW,GACX,qBAAsB,EACtB,mBAAoB,CACrB,EAEA,YAAa,CACZ,iBAAkB,OAClB,MAAO,UACP,YAAa,mBACb,UAAW,KACX,KAAM,GACN,OAAQ,GACR,SAAU,GACV,cAAe,GACf,UAAW,GACX,qBAAsB,EACtB,mBAAoB,CACrB,EAEA,aAAc,CACb,iBAAkB,OAClB,MAAO,UACP,YAAa,mBACb,UAAW,KACX,KAAM,GACN,OAAQ,GACR,SAAU,GACV,cAAe,GACf,UAAW,GACX,qBAAsB,EACtB,mBAAoB,CACrB,EAEA,SAAU,CACT,iBAAkB,OAClB,MAAO,UACP,YAAa,mBACb,UAAW,KACX,KAAM,GACN,OAAQ,GACR,SAAU,GACV,cAAe,GACf,UAAW,GACX,qBAAsB,EACtB,mBAAoB,CACrB,EAEA,UAAW,CACV,iBAAkB,OAClB,MAAO,UACP,YAAa,mBACb,UAAW,KACX,KAAM,GACN,OAAQ,GACR,SAAU,GACV,cAAe,GACf,UAAW,GACX,qBAAsB,EACtB,mBAAoB,CACrB,EAEA,MAAO,CACN,iBAAkB,OAClB,MAAO,UACP,YAAa,mBACb,UAAW,KACX,KAAM,GACN,OAAQ,GACR,SAAU,GACV,cAAe,GACf,UAAW,GACX,qBAAsB,EACtB,mBAAoB,EACpB,aAAc,SACf,EAEA,cAAe,CACd,iBAAkB,OAClB,MAAO,UACP,YAAa,mBACb,UAAW,KACX,KAAM,GACN,OAAQ,GACR,SAAU,GACV,cAAe,GACf,UAAW,GACX,qBAAsB,EACtB,mBAAoB,CACrB,EAEA,OAAQ,CACP,iBAAkB,OAClB,MAAO,UACP,YAAa,mBACb,UAAW,KACX,KAAM,GACN,OAAQ,GACR,SAAU,GACV,cAAe,GACf,UAAW,GACX,qBAAsB,EACtB,mBAAoB,CACrB,EAEA,QAAS,CACR,iBAAkB,OAClB,MAAO,UACP,YAAa,mBACb,UAAW,KACX,KAAM,GACN,OAAQ,GACR,SAAU,GACV,cAAe,GACf,UAAW,GACX,qBAAsB,EACtB,mBAAoB,CACrB,EAEA,aAAc,CACb,iBAAkB,OAClB,MAAO,UACP,YAAa,mBACb,UAAW,KACX,KAAM,GACN,OAAQ,GACR,SAAU,GACV,cAAe,GACf,UAAW,GACX,qBAAsB,EACtB,mBAAoB,EACpB,aAAc,SACf,EAEA,KAAM,CACL,iBAAkB,OAClB,MAAO,UACP,YAAa,mBACb,UAAW,KACX,KAAM,GACN,OAAQ,GACR,SAAU,GACV,cAAe,GACf,UAAW,GACX,qBAAsB,EACtB,mBAAoB,CACrB,EAEA,IAAK,CACJ,iBAAkB,OAClB,MAAO,UACP,YAAa,mBACb,UAAW,KACX,KAAM,GACN,OAAQ,GACR,SAAU,GACV,cAAe,GACf,UAAW,GACX,qBAAsB,EACtB,mBAAoB,EACpB,aAAc,SACf,EAEA,mBAAoB,CACnB,iBAAkB,OAClB,MAAO,UACP,YAAa,mBACb,UAAW,KACX,KAAM,GACN,OAAQ,GACR,SAAU,GACV,cAAe,GACf,UAAW,GACX,qBAAsB,EACtB,mBAAoB,CACrB,EAEA,iBAAkB,CACjB,iBAAkB,OAClB,MAAO,UACP,YAAa,mBACb,UAAW,KACX,KAAM,GACN,OAAQ,GACR,SAAU,GACV,cAAe,GACf,UAAW,GACX,qBAAsB,EACtB,mBAAoB,CACrB,EAEA,OAAQ,CACP,iBAAkB,OAClB,MAAO,UACP,YAAa,mBACb,UAAW,KACX,KAAM,GACN,OAAQ,GACR,SAAU,GACV,cAAe,GACf,UAAW,GACX,qBAAsB,EACtB,mBAAoB,CACrB,EAEA,SAAU,CACT,iBAAkB,OAClB,MAAO,UACP,YAAa,mBACb,UAAW,KACX,KAAM,GACN,OAAQ,GACR,SAAU,GACV,cAAe,GACf,UAAW,GACX,qBAAsB,EACtB,mBAAoB,CACrB,EAEA,SAAU,CACT,iBAAkB,OAClB,MAAO,UACP,YAAa,mBACb,UAAW,KACX,KAAM,GACN,OAAQ,GACR,SAAU,GACV,cAAe,GACf,UAAW,GACX,qBAAsB,EACtB,mBAAoB,CACrB,EAEA,WAAY,CACX,iBAAkB,OAClB,MAAO,UACP,YAAa,mBACb,UAAW,KACX,KAAM,GACN,OAAQ,GACR,SAAU,GACV,cAAe,GACf,UAAW,GACX,qBAAsB,EACtB,mBAAoB,CACrB,EAEA,QAAS,CACR,iBAAkB,OAClB,MAAO,UACP,YAAa,mBACb,UAAW,KACX,KAAM,GACN,OAAQ,GACR,SAAU,GACV,cAAe,GACf,UAAW,GACX,qBAAsB,EACtB,mBAAoB,CACrB,EAEA,aAAc,CACb,iBAAkB,OAClB,MAAO,UACP,YAAa,mBACb,UAAW,KACX,KAAM,GACN,OAAQ,GACR,SAAU,GACV,cAAe,GACf,UAAW,GACX,qBAAsB,EACtB,mBAAoB,CACrB,EAEA,WAAY,CACX,iBAAkB,OAClB,MAAO,UACP,YAAa,mBACb,UAAW,KACX,KAAM,GACN,OAAQ,GACR,SAAU,GACV,cAAe,GACf,UAAW,GACX,qBAAsB,EACtB,mBAAoB,CACrB,EAEA,YAAa,CACZ,iBAAkB,OAClB,MAAO,UACP,YAAa,mBACb,UAAW,KACX,KAAM,GACN,OAAQ,GACR,SAAU,GACV,cAAe,GACf,UAAW,GACX,qBAAsB,EACtB,mBAAoB,CACrB,EAEA,KAAM,CACL,iBAAkB,OAClB,MAAO,UACP,YAAa,mBACb,UAAW,KACX,KAAM,GACN,OAAQ,GACR,SAAU,GACV,cAAe,GACf,UAAW,GACX,qBAAsB,EACtB,mBAAoB,EACpB,aAAc,QACf,EAEA,OAAQ,CACP,iBAAkB,OAClB,MAAO,UACP,YAAa,mBACb,UAAW,KACX,KAAM,GACN,OAAQ,GACR,SAAU,GACV,cAAe,GACf,UAAW,GACX,qBAAsB,EACtB,mBAAoB,EACpB,aAAc,QACf,EAEA,OAAQ,CACP,iBAAkB,OAClB,MAAO,UACP,YAAa,mBACb,UAAW,KACX,KAAM,GACN,OAAQ,GACR,SAAU,GACV,cAAe,GACf,UAAW,GACX,qBAAsB,EACtB,mBAAoB,EACpB,aAAc,QACf,CACD,EAEO,SAASC,GAAqBjV,EAAW,CAC/C,OAAOkV,GAAelV,EAAWgV,EAAY,CAC9C,CAGA,SAASE,GAAelV,EAAWmV,EAAQ,CAC1C,IAAIC,EACJ,OAAQpV,EAAW,CAClB,IAAK,IACJoV,EAAcD,EAAO,WACrB,MAED,IAAK,IACJC,EAAcD,EAAO,SACrB,MAED,IAAK,IACJC,EAAcD,EAAO,SACrB,MAED,IAAK,IACJC,EAAcD,EAAO,UACrB,MAED,IAAK,IACJC,EAAcD,EAAO,MACrB,MAED,IAAK,KACJC,EAAcD,EAAO,mBACrB,MAED,IAAK,KACJC,EAAcD,EAAO,OACrB,MAED,IAAK,KACJC,EAAcD,EAAO,QACrB,MAED,IAAK,KACJC,EAAcD,EAAO,aACrB,MAED,IAAK,KACJC,EAAcD,EAAO,OACrB,MAED,IAAK,KACJC,EAAcD,EAAO,iBACrB,MAED,IAAK,KACJC,EAAcD,EAAO,KACrB,MAED,IAAK,KACJC,EAAcD,EAAO,IACrB,MAED,IAAK,KACJC,EAAcD,EAAO,aACrB,MAED,IAAK,KACL,IAAK,KACJC,EAAcD,EAAO,KACrB,MAED,IAAK,KACJC,EAAcD,EAAO,OACrB,MAED,IAAK,KACJC,EAAcD,EAAO,OACrB,MACD,QACC,MAAM,EAER,CACA,MAAME,EAAc,CAAC,EACrB,UAAW7oB,KAAM4oB,EAChBC,EAAYN,GAAOvoB,CAAE,CAAC,EAAI4oB,EAAY5oB,CAAE,EAEzC,OAAO6oB,CACR,CC7cO,MAAMC,EAAwB,CACjC,OAAQ,CAAE,CACV,SAASC,EAAW,CAAE,CACtB,aAAc,CAAE,CAChB,gBAAiB,CAAE,CACnB,QAAQlU,EAAY,CAAE,CACtB,eAAeC,EAAmB,CAAE,CACpC,mBAAoB,CAAE,CACtB,SAASkU,EAAW,CAAE,CACtB,UAAW,CAAE,CAEb,kBAAmB,CAAE,CACrB,kBAAmB,CAAE,CACzB,CCVO,MAAMC,WAAuBH,EAAwB,CAC3D,aAAc,CACb,MAAM,EACN,KAAK,IAAuB,GAAgB,yBAA0B,QAAQ,EAC9E,KAAK,KAAuB,KAAK,IAAI,cAAc,aAAa,EAChE,KAAK,qBAAuB,KAAK,IAAI,cAAc,6BAA6B,EAChF,KAAK,YAAuB,KAAK,IAAI,cAAc,oBAAoB,EACvE,KAAK,eAAuB,KAAK,IAAI,cAAc,uBAAuB,EAC1E,KAAK,UAAuB,IAC7B,CAEA,OAAQ,CACP,KAAK,UAAU,MAAM,CACtB,CAEA,SAASC,EAAW,CACnBA,EAAU,YAAY,KAAK,GAAG,CAC/B,CAEA,aAAc,CACb,KAAK,IAAI,UAAU,IAAInT,EAAiB,CACzC,CAEA,gBAAiB,CAChB,KAAK,IAAI,UAAU,OAAOA,EAAiB,CAC5C,CAEA,QAAQf,EAAY,CACnB,KAAK,KAAK,YAAcA,EACxB,KAAK,KAAK,MAAcA,CACzB,CAEA,eAAeC,EAAmB,CACjC,KAAK,YAAY,YAAcA,CAChC,CAEA,mBAAoB,CACnB,KAAK,qBAAqB,OAAO,CAClC,CAEA,SAASkU,EAAW,CACnB,KAAK,UAAYA,EACjB,KAAK,eAAe,YAAYA,EAAU,OAAO,CAAC,CACnD,CAEA,UAAW,CACV,OAAO,KAAK,SACb,CACD,CCjDO,MAAME,WAAgDJ,EAAwB,CACjF,kBAAmB,CAAE,CACrB,kBAAmB,CAAE,CACrB,gBAAgBK,EAAc,CAAE,CAChC,sBAAuB,CAAE,CACzB,kBAAmB,CAAE,CACrB,oBAAqB,CAAE,CAC3B,CCNO,MAAMC,WAAuCF,EAAwC,CAC3F,aAAc,CACb,MAAM,EACN,KAAK,IAAuB,GAAgB,yCAA0C,QAAQ,EAC9F,KAAK,KAAuB,KAAK,IAAI,cAAc,aAAa,EAChE,KAAK,qBAAuB,KAAK,IAAI,cAAc,6BAA6B,EAChF,KAAK,YAAuB,KAAK,IAAI,cAAc,oBAAoB,EACvE,KAAK,eAAuB,KAAK,IAAI,cAAc,uBAAuB,EAC1E,KAAK,aAAuB,KAAK,IAAI,cAAc,eAAe,EAClE,KAAK,UAAuB,KAAK,mBAAqB,IACvD,CAEA,OAAQ,CACP,KAAK,UAAU,MAAM,CACtB,CAEA,SAASH,EAAW,CACnBA,EAAU,YAAY,KAAK,GAAG,CAC/B,CAEA,aAAc,CACb,KAAK,IAAI,UAAU,IAAInT,EAAiB,CACzC,CAEA,gBAAiB,CAChB,KAAK,IAAI,UAAU,OAAOA,EAAiB,CAC5C,CAEA,QAAQf,EAAY,CACnB,KAAK,KAAK,YAAcA,CACzB,CAEA,eAAeC,EAAmB,CACjC,KAAK,YAAY,YAAcA,CAChC,CAEA,mBAAoB,CACnB,KAAK,qBAAqB,OAAO,CAClC,CAEA,SAASkU,EAAW,CACnB,KAAK,UAAYA,EACjB,KAAK,eAAe,YAAYA,EAAU,OAAO,CAAC,CACnD,CAEA,UAAW,CACV,OAAO,KAAK,SACb,CAEG,kBAAmB,CACf,KAAK,IAAI,UAAU,IAAIxP,EAAiB,CAC5C,CAEA,kBAAmB,CACf,KAAK,IAAI,UAAU,OAAOA,EAAiB,CAC/C,CAEA,gBAAgB2P,EAAc,CAC1B,KAAK,aAAa,YAAcA,CACpC,CAEH,sBAAuB,CACtB,OAAO,KAAK,kBACb,CAEA,kBAAmB,CAClB,KAAK,mBAAqB,EAC3B,CAEA,oBAAqB,CACpB,KAAK,mBAAqB,EAC3B,CACD,CC5EA,MAAM,GAA0B,sBAC1BE,GAA0B,4BAC1BC,GAA0B,0BAEnBC,GAA2B,EAC3BC,GAA2B,EAC3BC,GAA2B,EAC3BC,GAA2B,EAC3BC,GAA2B,EAC3BC,GAA2B,EAC3BC,GAA2B,EAC3BC,GAA2B,EAC3BC,GAA2B,EAC3BC,GAA2B,GAC3BC,GAA2B,GAE3BC,GAAuC,EACvCC,GAAuC,EACvCC,GAAuC,EACvCC,GAAuC,EAEvCC,GAA0C,EAC1CC,GAA0C,EAC1CC,GAA0C,EAC1CC,GAA0C,EAE1CC,GAAuC,EACvCC,GAAuC,EACvCC,GAAuC,EACvCC,GAAuC,EACvCC,GAAuC,EAGvCC,GAA+B,EAE/BC,GAAqD,aACrDC,GAAqD,eACrDC,GAAqD,eACrDC,GAAqD,eACrDC,GAAqD,iBACrDC,GAAqD,eAErDC,GAAqC,EACrCC,GAAqC,EACrCC,GAAqC,EACrCC,GAAqC,EAErCC,GAAkC,EAClCC,GAAkC,EAClCC,GAAkC,EAElCC,GAAwC,EACxCC,GAAwC,EACxCC,GAAwC,EACxCC,GAAwC,EACxCC,GAAwC,EACxCC,GAAsC,EACtCC,GAA4C,EAC5CC,GAAuC,EACvCC,GAAuC,EAEvCC,GAA6B,EAC7BC,GAA6B,EAC7BC,GAA6B,EAC7BC,GAA6B,EAC7BC,GAA6B,EAC7BC,GAA6B,EAC7BC,GAA6B,EAC7BC,GAA6B,EAC7BC,GAA6B,EAC7BC,GAA6B,GAE7BC,GAA2C,EAC3CC,GAA2C,GAE3CC,GAAuB,WACvBC,GAAqC,gBACrCC,GAAqC,aACrCC,GAAqC,aACrCC,GAAqC,aAErCC,GAAoC,EACpCC,GAAoC,MACpCC,GAAoC,MAEpCC,GAAuC,IACvCC,GAAuC,SACvCC,GAAuC,OACvCC,GAAuC,OACvCC,GAAuC,IACvCC,GAAuC,IACvCC,GAAuC,OACvCC,GAAuC,MACvCC,GAAuC,IACvCC,GAAuC,SACvCC,GAAuC,IAEvCC,GAA4B,CACrC,qCAAAX,GACA,qCAAAC,GACA,qCAAAC,GACA,qCAAAC,GACA,qCAAAC,GACA,qCAAAC,GACA,qCAAAC,GACA,qCAAAC,GACA,qCAAAC,GACA,sCAAAC,GACA,sCAAAC,EACJ,EAEaE,GAAwB,CACjC,kCAAAf,GACA,kCAAAC,GACA,kCAAAC,EACJ,EAEac,GAAyB,CAClC,mCAAApB,GACA,mCAAAC,GACA,mCAAAC,GACA,mCAAAC,EACJ,EAEO,SAASkB,GAAcC,EAAY,CACtC,IAAIC,EAEJ,OAAOD,EAAY,CACf,KAAKnD,GACDoD,EAAsBvB,GACtB,MAEJ,KAAK5B,GACDmD,EAAsBtB,GACtB,MAEJ,KAAK5B,GACDkD,EAAsBrB,GACtB,MAEJ,KAAK5B,GACDiD,EAAsBpB,GACtB,MAEJ,QACI,MAAM,EACd,CACA,OAAOoB,CACX,CAEO,SAASC,GAAaC,EAAW,CACpC,IAAIC,EAEJ,OAAOD,EAAW,CACd,KAAKlD,GACDmD,EAAqBtB,GACrB,MAEJ,KAAK5B,GACDkD,EAAqBrB,GACrB,MAEJ,KAAK5B,GACDiD,EAAqBpB,GACrB,MAEJ,QACI,MAAM,EACd,CACA,OAAOoB,CACX,CAEO,SAASC,GAAYC,EAAU,CAClC,IAAIC,EAEJ,OAAOD,EAAU,CACb,KAAKxF,GACDyF,EAAoBtB,GACpB,MAEJ,KAAKlE,GACDwF,EAAoBrB,GACpB,MAEJ,KAAKlE,GACDuF,EAAoBpB,GACpB,MAEJ,KAAKlE,GACDsF,EAAoBnB,GACpB,MAEJ,KAAKlE,GACDqF,EAAoBlB,GACpB,MAEJ,KAAKlE,GACDoF,EAAoBjB,GACpB,MAEJ,KAAKlE,GACDmF,EAAoBhB,GACpB,MAEJ,KAAKlE,GACDkF,EAAoBf,GACpB,MAEJ,KAAKlE,GACDiF,EAAoBd,GACpB,MAEJ,KAAKlE,GACDgF,EAAoBb,GACpB,MAEJ,KAAKlE,GACD+E,EAAoBZ,GACpB,MAEJ,QACI,MAAM9E,EACd,CACA,OAAO0F,CACX,CAGA,OAAO,OAAOX,EAAyB,EACvC,OAAO,OAAOC,EAAqB,EACnC,OAAO,OAAOC,EAAsB,ECrO7B,MAAMU,GAAsC,CAClD,gBAAkB,gBAClB,aAAkB,aAClB,aAAkB,aAClB,aAAkB,YACnB,EAEaC,GAAsC,CAClD,MAAQ,WACR,MAAQ,aACT,EAEaC,GAAkD,CAC9D,gBAAkB,CAAC,KAAM,IAAK,MAAO,QAAS,KAAM,MAAM,EAC1D,aAAkB,CAAC,KAAM,KAAM,MAAO,KAAM,KAAM,MAAM,EACxD,aAAkB,CAAC,KAAM,KAAM,MAAO,KAAM,KAAM,MAAM,EACxD,aAAkB,CAAC,KAAM,KAAM,MAAO,KAAM,KAAM,MAAM,CACzD,EAEaC,GAAkD,CAC9D,MAAQ,CAAC,KAAM,KAAM,OAAQ,KAAM,OAAQ,IAAI,EAC/C,MAAQ,CAAC,KAAM,KAAM,OAAQ,KAAM,OAAQ,KAAM,OAAQ,IAAI,CAC9D,EAEaC,GAA0B,WCxBvC,IAAIC,GACG,SAASC,IAAa,CAC5B,OAAOD,EACR,CAEA,SAASE,GAAWC,EAAQ,CAC3BH,GAAcG,CACf,CAEO,MAAMC,GAAS,CAAE,MAAO,QAAS,MAAO,OAAQ,EAEvDF,GAAU,OAAO,EAMjB,IAAIG,GACG,SAASC,IAAkB,CACjC,OAAOD,EACR,CAEO,SAASE,GAAgBC,EAAe,CAC9CH,GAAeG,CAChB,C,OCpBO,SAASC,IAAc,CAC1B,KAAK,QAAQ,CACjB,CAEO,SAASC,GAAc/6B,EAAO,CACjC,OAAIA,GACO,EAGf,CAEO,SAASg7B,GAAeC,EAAQ,CACnC,MAAMC,EAASD,EAAO,MAAM,GAAG,EAC/B,IAAIE,EAAO,GACPC,EAAO,GACX,GAAIF,EAAO,CAAC,EAAG,CACXC,GAAQD,EAAO,CAAC,EAAE,UAAU,EAAGA,EAAO,CAAC,EAAE,OAAS,CAAC,EACnD,MAAMG,EAAa,GAAGH,EAAO,CAAC,CAAC,IAAIA,EAAO,CAAC,CAAC,GACtCI,EAAYJ,EAAO,CAAC,EAAE,UAAUA,EAAO,CAAC,EAAE,OAAS,EAAGA,EAAO,CAAC,EAAE,MAAM,EAC5EE,GAAQ,GAAGE,CAAS,IAAID,CAAU,EACtC,MACIF,GAAQF,EAEZ,MAAO,CAACE,EAAK,KAAK,EAAGC,EAAK,KAAK,CAAC,CACpC,CAEO,SAASG,GAAeC,EAAY,CACvC,CAACA,IAAeA,EAAa,IAC7B,IAAIC,EAAcD,EAAW,MAAM,GAAG,EAClCE,EACJ,QAASz6B,EAAI,EAAGA,EAAIw6B,EAAY,OAAQx6B,IAEpC,GADAy6B,EAAaD,EAAYx6B,CAAC,EACrBy6B,EAIDD,EAAYx6B,CAAC,EAAIy6B,MAJJ,CACbD,EAAc,CAAC,EACf,KACJ,CAIJ,OAAOA,CACX,CAEO,SAASE,GAAcH,EAAY,CACtC,IAAIE,EACJ,OAAIF,IAAe,OACfE,EAAa,MAEbA,EAAaF,EACb,CAACE,IAAeA,EAAa,OAE1BA,CACX,CAEO,SAASE,GAAWJ,EAAY,CAEnC,OADgB,WAAW,QAAQA,CAAU,CAEjD,CAEO,SAASK,GAAUL,EAAY,CAClC,IAAIM,EAAS,WAAW,OAAON,CAAU,EACzC,OAACM,IAAWA,EAAS,GACdA,CACX,CAEO,SAASC,GAAYP,EAAYQ,EAAwB,CAC5D,OAAQA,EAAwB,CAC5B,IAAK,GACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACD,OAAAR,EAAa,EACNA,EACX,IAAK,GACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACD,OAAAA,EAAa,EACNA,EAEX,QACI,OAAOK,GAAUL,CAAU,CACnC,CACJ,CAEO,SAASS,GAAiBC,EAAa,CAC1C,MAAM11B,EAAS21B,GAAU,EAEzB,OADa,MAAM,KAAK,UAAU,IAAI31B,CAAM,EAChC,yBAAyB01B,CAAW,CACpD,CAEO,SAASE,GAAiB51B,EAAQ61B,EAAe,CACpD,MAAMC,EAAe,IAAI,IACzB,GAAID,EAAc,OAAQ,CACtB,MAAM/zB,EAAO,MAAM,KAAK,UAAU,IAAI9B,CAAM,EAC5C61B,EAAc,QAAQE,GAAgB,CAClC,MAAMC,EAAal0B,EAAK,gBAAgBi0B,CAAY,EACpDD,EAAa,IAAIC,EAAcC,CAAU,CAC7C,CAAC,CACL,CACA,OAAOF,CACX,CAEO,SAASG,GAAkBjB,EAAY,CAC1C,MAAMx7B,EAAQw7B,EAAa,KAAK,MAAMA,CAAU,EAAI,CAAC,EAC/CkB,EAAiB,CAAC,EAClBC,EAAgB,CAAC,EACvB,GAAI38B,EAAM,OAAQ,CACd,MAAMwG,EAAS21B,GAAU,EACnB7zB,EAAO,MAAM,KAAK,UAAU,IAAI9B,CAAM,EAE5C,QAASo2B,KAAkB58B,EAAO,CAC9B,MAAMu8B,EAAeK,EAAe,CAAC,EACrCD,EAAc,KAAKJ,CAAY,EAC/B,MAAMC,EAAal0B,EAAK,gBAAgBi0B,CAAY,EACpD,GAAIC,EAAY,CACZA,EAAW,YAAYI,EAAe,CAAC,CAAC,EAExC,MAAM18B,EAAMs8B,GAAcA,EAAW,OACjCt8B,GAAOA,IAAQ,IACfw8B,EAAe,KAAKx8B,CAAG,CAE/B,CACJ,CACJ,CACA,MAAO,CAACy8B,EAAeD,CAAc,CACzC,CAEO,SAASG,GAAiBC,EAAe,CAC5C,MAAMt2B,EAAS21B,GAAU,EAEzB,OADa,MAAM,KAAK,UAAU,IAAI31B,CAAM,EAChC,iBAAiBs2B,CAAa,CAC9C,CAEO,SAASX,IAAY,CACxB,OAAO,GAAM,gBAAgB,CACjC,CAEO,SAASY,GAAWv2B,EAAQ,CAC/B,OAAO,GAAM,aAAaA,CAAM,EAAE,iBAAiB,CACvD,CAEO,SAASw2B,IAAoB,CAChC,MAAMx2B,EAAS21B,GAAU,EAEzB,OADa,MAAM,KAAK,UAAU,IAAI31B,CAAM,EAChC,kBAAkB,CAClC,CAEO,SAASy2B,GAAiB/e,EAAa,CAC1C,OAAOA,EAAY,MAAM,IAAI,CACjC,CAEO,SAASgf,GAAwBC,EAAgBC,EAAuB,CAC9E,MAAM52B,EAAgB21B,GAAU,EAE1BkB,EADgB,MAAM,KAAK,UAAU,IAAI72B,CAAM,EAC1B,gBAAgB22B,CAAc,EACnDG,EAAgBD,EAAa,4BAA4B,EACzDE,EAAgBF,EAAa,iCAAiC,EAEpE,MAAO,CAACC,EAAeC,CAAa,CACrC,CAEO,SAASC,GAAkB1xB,EAAQ,CACtC,MAAM3C,EAAQ2C,EAAO,MAAM,GAAG,EAC9B,OAAI3C,EAAM,SAAW,GAAKA,EAAM,CAAC,IAAM,GAC5B,CAAC,EAELA,CACX,CC5KO,MAAMs0B,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KAEJC,GAAO,KACP,GAAM,KACNC,GAAM,KACNC,GAAQ,KACRC,GAAO,KACPC,GAAO,KACPC,GAAM,KACNC,GAAQ,KACRC,GAAQ,KACRC,GAAO,KAEPC,GAAK,MACLC,GAAK,MACLC,GAAK,MACLC,GAAK,MACLC,GAAK,MACLC,GAAK,MACLC,GAAK,MACLC,GAAK,MACLC,GAAK,MACLC,GAAM,MACNC,GAAM,MACNC,GAAM,MAENC,GAAM,KAENC,GAAQ,MACRC,GAAY,IACZC,GAAS,KAETC,GAAM,IACNC,GAAc,MACdC,GAAe,MACfC,GAAY,MAEZC,GAAW,KACXC,GAAc,MACdC,GAAQ,KAERC,GAAQ,KACRC,GAAQ,MACRC,GAAM,MACNC,GAAQ,MAERC,GAAQ,KACRC,GAAO,KACPC,GAAM,KACNC,GAAc,KACdC,GAAe,KACfC,GAAU,MAEV,GAAO,KACPC,GAAK,KACL,GAAQ,KACRC,GAAO,KAEPC,GAAO,KACPC,GAAM,KACNC,GAAS,KACTC,GAAW,KAEXC,GAAc,KACdC,GAAa,KACbC,GAAa,KACbC,GAAe,KACfC,GAAc,MACdC,GAAc,MACdC,GAAa,MACbC,GAAe,MACfC,GAAe,MACfC,GAAc,MAEdC,GAAU,KACVC,GAAU,MACVC,GAAW,MACXC,GAAM,MACNC,GAAW,MACXC,GAAS,MAGTC,GAAsB,IAEnC,IAAIC,GAAa,MACbC,GAAa,MACbC,GAAY,MACZC,GAAiB,MACjBC,GAAmB,MAEL,WAAW,UAAU,UAEzB,SAAS,SAAS,IAC/BJ,GAAa,MACbE,GAAY,KACZD,GAAa,KACbE,GAAiB,KACjBC,GAAmB,MAGb,MAAMC,GAAQL,GACRM,GAAQL,GACRM,GAAO,KACPC,GAAYL,GACZM,GAAc,KAIdC,GAAY,KAGlB,IAAIC,GACP,WAAW,UAAU,SAAS,YAAY,EAAE,SAAS,KAAK,EAC7DA,GAAQnC,GAERmC,GAAQvC,G,OC1IF,MAAM,EAAY,CACxB,UAAc,EACd,aAAc,EACd,aAAc,EACd,WAAc,EACd,SAAc,EACd,SAAc,CACf,EAEO,SAASwC,GAAY/lB,EAAoB,CAC/C,OAAQA,EAAU,CACjB,KAAK,EAAU,aACd,MAAO,GAAG,MAAM,UAAU,MAAM,iDAAiD,CAAC,IAAI,MAAM,UAAU,MAAM,0CAA0C,CAAC,GAExJ,KAAK,EAAU,WACd,OAAO,MAAM,UAAU,MAAM,+CAA+C,EAE7E,KAAK,EAAU,aACd,MAAO,GAAG,MAAM,UAAU,MAAM,kDAAkD,CAAC,IAAI,MAAM,UAAU,MAAM,0CAA0C,CAAC,GAEzJ,KAAK,EAAU,SACd,MAAO,GAAG,MAAM,UAAU,MAAM,6CAA6C,CAAC,KAAK,MAAM,UAAU,MAAM,0CAA0C,CAAC,GAErJ,KAAK,EAAU,UACd,OAAO,MAAM,UAAU,MAAM,8CAA8C,EAE5E,KAAK,EAAU,SACd,MAAO,GAAG,MAAM,UAAU,MAAM,6CAA6C,CAAC,IAAI,MAAM,UAAU,MAAM,0CAA0C,CAAC,GAEpJ,KAAK,EAAU,SACd,MAAO,GAAG,MAAM,UAAU,MAAM,8CAA8C,CAAC,IAAI,MAAM,UAAU,MAAM,0CAA0C,CAAC,GAErJ,QACC,GAAc,uBAAuB,CAAE,UAAaA,CAAS,EAAG,8BAA8B,CAChG,CACD,CClCO,MAAMgmB,EAAe,CAC3B,YAAYC,EAAiBC,EAAqBC,EAAmBC,EAAmBC,EAA0BrmB,EAAUsmB,EAA6B,CACxJ,KAAK,oBAA2BJ,EAChC,KAAK,kBAA2BC,EAChC,KAAK,kBAA2BC,EAChC,KAAK,yBAA2BC,EAChC,KAAK,SAA2BrmB,EAChC,KAAK,4BAA8BsmB,EAEnC,MAAMhwB,EAAwB,EAAY,2BAA2B,EACrE,KAAK,IAAyBA,EAAS,cAAc,wBAAwB,EAC7E,KAAK,oBAAyB,KAAK,IAAI,cAAc,0BAA0B,EAC/E,KAAK,gBAAyB,KAAK,IAAI,cAAc,cAAc,EACnE,KAAK,uBAAyB,KAAK,IAAI,cAAc,yBAAyB,EAC9E,KAAK,SAAyB,KAAK,IAAI,cAAc,eAAe,EACpE,KAAK,WAAyB,KAAK,IAAI,cAAc,uBAAuB,EAC5E,KAAK,uBAAyB,KAAK,IAAI,cAAc,8DAA8D,EACnH,KAAK,UAAyB,KAAK,IAAI,cAAc,aAAa,EAClE,KAAK,qBAAyB,KAAK,IAAI,cAAc,eAAe,EACpE,KAAK,kBAAqB,KAAK,IAAI,cAAc,mBAAmB,EACpE,KAAK,WAAyB,KAAK,IAAI,cAAc,cAAc,EACnE,KAAK,aAAiB,KAAK,IAAI,cAAc,mBAAmB,EAChE,KAAK,aAAiB,KAAK,IAAI,cAAc,eAAe,EAE5D,KAAK,oBAAsB,EAAY,0BAA0B,EAAE,cAAc,aAAa,EAC9F,KAAK,gBAAmB,KAAK,oBAAoB,cAAc,mBAAmB,EAClF,KAAK,cAAkB,KAAK,oBAAoB,cAAc,aAAa,EAE3E,KAAK,oBAAsB,EAAY,6BAA6B,EAAE,cAAc,2BAA2B,EAC/G,KAAK,gBAAsB,EAAY,yBAAyB,EAAE,cAAc,uBAAuB,EACvG,KAAK,sBAAwB,EAAY,+BAA+B,EAAE,cAAc,6BAA6B,EACrH,KAAK,uBAAyB,KAAK,sBAAsB,cAAc,aAAa,EAEpF,KAAK,wCAA4C,EAAY,sCAAsC,EAAE,cAAc,2BAA2B,EAC9I,KAAK,oCAA4C,EAAY,kCAAkC,EAAE,cAAc,uBAAuB,EACtI,KAAK,0CAA4C,EAAY,wCAAwC,EAAE,cAAc,6BAA6B,EAClJ,KAAK,uCAA4C,KAAK,0CAA0C,cAAc,aAAa,EAE3H,KAAK,uCAA2C,EAAY,qCAAqC,EAAE,cAAc,2BAA2B,EAC5I,KAAK,mCAA2C,EAAY,iCAAiC,EAAE,cAAc,uBAAuB,EACpI,KAAK,yCAA2C,EAAY,uCAAuC,EAAE,cAAc,6BAA6B,EAChJ,KAAK,sCAA2C,KAAK,yCAAyC,cAAc,aAAa,EAEzH,KAAK,2CAA+C,EAAY,yCAAyC,EAAE,cAAc,2BAA2B,EACpJ,KAAK,uCAA+C,EAAY,qCAAqC,EAAE,cAAc,uBAAuB,EAC5I,KAAK,6CAA+C,EAAY,2CAA2C,EAAE,cAAc,6BAA6B,EACxJ,KAAK,0CAA+C,KAAK,6CAA6C,cAAc,aAAa,EAGjI,KAAK,uCAA2C,EAAY,qCAAqC,EAAE,cAAc,2BAA2B,EAC5I,KAAK,mCAA2C,EAAY,iCAAiC,EAAE,cAAc,uBAAuB,EACpI,KAAK,yCAA2C,EAAY,uCAAuC,EAAE,cAAc,6BAA6B,EAChJ,KAAK,sCAA2C,KAAK,yCAAyC,cAAc,aAAa,EAEzH,KAAK,oBAAsB,EAAY,6BAA6B,EAAE,cAAc,sBAAsB,EAE1G,MAAMiwB,EAAmB,EAAY,0BAA0B,EAC/D,KAAK,cAAoBA,EAAe,cAAc,gBAAgB,EACtE,KAAK,aAAiBA,EAAe,cAAc,mBAAmB,EACtE,KAAK,UAAyB,KAAK,cAAc,cAAc,gBAAgB,EAC/E,KAAK,UAAyB,KAAK,cAAc,cAAc,gBAAgB,EAE/E,KAAK,kBAAqBC,GAAkB,KAAK,IAAI,EACrD,KAAK,gBAAsBP,EAC3B,KAAK,YAAgB,KACrB,KAAK,YAAoB,CAAC,EAE1B,KAAK,eAAmB,EACxB,KAAK,kBAAqB,EAC1B,KAAK,aAAiB,EACtB,KAAK,WAAgB,EACrB,KAAK,kBAAqB,EAE1B,KAAK,qBAAqB,OAAO,KAAK,aAAa,EACnDQ,GAAK,KAAK,IAAI,EACdC,GAAY,KAAK,IAAI,CACtB,CAEA,SAAS7Q,EAAW,CACnB,KAAK,SAAS,EACdA,EAAU,OAAO,KAAK,GAAG,EACzB,KAAK,gBAAgB,aAAa,YAAY,KAAK,mBAAmB,CACvE,CAEA,QAAS,CACR,KAAK,IAAI,OAAO,EAChB,SAAS,oBAAoB,QAAS,KAAK,iBAAiB,CAC7D,CAEA,UAAW,CACV,KAAK,eAAoB,EACzB,KAAK,kBAAsB,EAC3B,KAAK,UAAU,MAAU,GACzB,KAAK,YAAiB,KACtB,KAAK,aAAkB,EACvB,KAAK,WAAgB,EACrB,KAAK,kBAAsB,EAC3B,KAAK,WAAW,SAAY,GAC5B,KAAK,UAAU,SAAY,GAC3B,KAAK,SAAS,UAAU,IAAI,MAAM,EAClC,KAAK,WAAW,UAAU,OAAO,MAAM,EACvC,KAAK,qBAAqB,UAAU,IAAI,MAAM,EAC9C,KAAK,gBAAgB,UAAU,OAAO,MAAM,CAC7C,CAEA,oBAAoB,CACnB,KAAK,YAAc,CAAC,CACrB,CAEA,eAAe8Q,EAAY,CAC1B,KAAK,YAAcA,CACpB,CACD,CAEA,SAASF,IAAO,CAEf,OADiB,KAAK,SACN,CACf,KAAK,EAAU,WACf,KAAK,EAAU,aACf,KAAK,EAAU,SACd,KAAK,uBAAuB,YAAc,MAAM,UAAU,MAAM,qCAAqC,EACrG,MACD,KAAK,EAAU,UACd,KAAK,uBAAuB,YAAc,MAAM,UAAU,MAAM,qCAAqC,EACrG,MACD,KAAK,EAAU,SACd,KAAK,uBAAuB,YAAc,MAAM,UAAU,MAAM,qCAAqC,EACrG,MACD,KAAK,EAAU,aACd,KAAK,uBAAuB,YAAc,MAAM,UAAU,MAAM,8CAA8C,EAC9G,MACK,QACI,KAAM,mBACjB,CACD,CAEA,SAASC,IAAc,CACtB,SAAS,iBAAiB,QAAS,KAAK,iBAAiB,EAEzD,KAAK,uBAAuB,iBAAiB,QAAU35B,GAAU,CAChEA,EAAM,eAAe,EACrB,KAAK,UAAU,MAAM,EACrB,KAAK,oBAAoB,qCAAuC,KAAK,oBAAoB,oCAAoC,KAAK,IAAI,CACvI,CAAC,EAED,KAAK,uBAAuB,iBAAiB,WAAaA,GAAU,CACnEA,EAAM,eAAe,EACrB,KAAK,oBAAoB,wCAA0C,KAAK,oBAAoB,uCAAuC,KAAK,IAAI,CAC7I,CAAC,EAED,KAAK,uBAAuB,iBAAiB,YAAcA,GAAU,CACpEA,EAAM,eAAe,EACrB,KAAK,iBACL,KAAK,oBAAoB,UAAU,IAAI,mBAAmB,EAC1D,KAAK,oBAAoB,yCAA2C,KAAK,oBAAoB,wCAAwC,KAAK,IAAI,CAC/I,CAAC,EAED,KAAK,uBAAuB,iBAAiB,YAAcA,GAAU,CACpEA,EAAM,eAAe,EACrB,KAAK,iBACL,KAAK,iBAAmB,GAAK,KAAK,oBAAoB,UAAU,OAAO,mBAAmB,EAC1F,KAAK,oBAAoB,yCAA2C,KAAK,oBAAoB,wCAAwC,KAAK,IAAI,CAC/I,CAAC,EAED,KAAK,uBAAuB,iBAAiB,OAASA,GAAU,CAC/DA,EAAM,eAAe,EACrB,KAAK,eAAkB,EACvB,KAAK,oBAAoB,UAAU,OAAO,mBAAmB,EAC7D,KAAK,oBAAoB,oCAAsC,KAAK,oBAAoB,mCAAmC,KAAK,KAAMA,CAAK,CAC5I,CAAC,EAED,KAAK,UAAU,iBAAiB,SAAWA,GAAU,CACpD,KAAK,oBAAoB,yBAA2B,KAAK,oBAAoB,wBAAwB,KAAK,KAAMA,CAAK,CACtH,CAAC,EAED,KAAK,aAAa,iBAAiB,SAAWA,GAAU,CACvD,KAAK,oBAAoB,4BAA8B,KAAK,oBAAoB,2BAA2B,KAAK,KAAMA,CAAK,CAC5H,CAAC,EAED,KAAK,UAAU,iBAAiB,QAAS,IAAM,CAC9C,KAAK,gBAAgB,MAAM,EAC3B,KAAK,oBAAoB,wBAA0B,KAAK,oBAAoB,uBAAuB,KAAK,IAAI,CAC7G,CAAC,EAED,KAAK,UAAU,iBAAiB,QAAS,IAAM,CAC9C,KAAK,gBAAgB,MAAM,EAC3B,KAAK,oBAAoB,wBAA0B,KAAK,oBAAoB,uBAAuB,KAAK,IAAI,CAC7G,CAAC,EAED,KAAK,aAAa,iBAAiB,QAAS,IAAM,CACjD,KAAK,oBAAoB,2BAA6B,KAAK,oBAAoB,0BAA0B,KAAK,IAAI,CACnH,CAAC,EAED,KAAK,cAAc,iBAAiB,QAAS,IAAM,CAClD,KAAK,oBAAoB,UAAU,IAAI,MAAM,EAC7C,KAAK,oBAAoB,4BAA8B,KAAK,oBAAoB,2BAA2B,KAAK,IAAI,CACrH,CAAC,CACF,CAEA,SAASy5B,GAAkBz5B,EAAM,CAChCA,EAAM,eAAe,EACrB,KAAK,oBAAoB,oBAAsB,KAAK,oBAAoB,mBAAmB,KAAK,KAAMA,CAAK,CAC5G,CCzMA,MAAM65B,GAAuB,MAAM,UAAU,aACvCC,GAAqB,YAAYniC,EAAc,CAAC,GAChDoiC,GAAmB,aACnBC,GAAqBplC,EAAO,KAC5BqlC,GAAc,MAEb,MAAMC,EAAc,CAC1B,YAAYC,EAAgB,CAC3B,MAAM5wB,EAAiB,EAAY,2BAA2B,EAC9D,KAAK,IAAkBA,EAAS,cAAc,oBAAoB,EAClE,KAAK,SAAkB,KAAK,IAAI,cAAc,WAAW,EACzD,KAAK,SAAkB,KAAK,IAAI,cAAc,eAAe,EAE7D,MAAMiwB,EAAiB,EAAY,0BAA0B,EAC7D,KAAK,cAAkBA,EAAe,cAAc,gBAAgB,EACpE,KAAK,UAAkB,KAAK,cAAc,cAAc,gBAAgB,EACxE,KAAK,UAAkB,KAAK,cAAc,cAAc,gBAAgB,EAExE,KAAK,gBAAkBW,EACvB,KAAK,WAAkB,GACvB,KAAK,YAAe,KAEpB,KAAK,IAAI,OAAO,KAAK,aAAa,EAClC,GAAY,KAAK,IAAI,CACtB,CAEA,SAASrR,EAAW,CACnBA,EAAU,OAAO,KAAK,GAAG,CAC1B,CAEA,QAAS,CACR,KAAK,SAAS,MAAQ,GACtB,KAAK,IAAI,OAAO,CACjB,CAEA,eAAe8Q,EAAY,CAC1B,KAAK,YAAcA,CACpB,CACD,CAEA,SAAS,IAAc,CACtB,KAAK,UAAU,iBAAiB,QAAS,IAAM,CAC9C,KAAK,gBAAgB,MAAM,CAC5B,CAAC,EACD,KAAK,UAAU,iBAAiB,QAAS,IAAM,CAC9CQ,GAAY,KAAK,IAAI,CACtB,CAAC,CAEF,CAEA,SAASA,IAAc,CACtB,MAAMR,EAAc,KAAK,YACnBS,EAAQ,IAAI,eAClBA,EAAM,KAAKL,GAAaD,EAAU,EAClC,MAAMO,EAAW,IAAI,SACrBA,EAAS,OAAOT,GAAa,QAASD,EAAY,MAAM,EACxDU,EAAS,OAAOT,GAAa,SAAUD,EAAY,OAAO,EAC1DU,EAAS,OAAOT,GAAa,SAAUD,EAAY,OAAO,EAC1DU,EAAS,OAAOT,GAAa,UAAWD,EAAY,QAAQ,EAC5DU,EAAS,OAAOL,GAAU,KAAK,SAAS,KAAK,EAC7CK,EAAS,OAAO,mBAAoBR,EAAiB,EACrDO,EAAM,KAAKC,CAAQ,CACpB,CC3DA,MAAMC,EAAqB,CAC1B,OAAS,SACT,MAAS,OACV,EAEO,MAAMC,EAAW,CACvB,YAAYZ,EAAaT,EAAqBC,EAAmBC,EAAmBC,EAA0BrmB,EAAUsmB,EAA4B,CACnJ,KAAK,oBAA2BJ,EAChC,KAAK,kBAA2BC,EAChC,KAAK,kBAA2BC,EAChC,KAAK,yBAA2BC,EAChC,KAAK,4BAA8BC,EAEnC,MAAMhwB,EAAkB,EAAY,wBAAwB,EAC5D,KAAK,OAAqBA,EAAS,cAAc,SAAS,EAC1D,KAAK,IAAkB,KAAK,OAAO,cAAc,kBAAkB,EACnE,KAAK,gBAAmB,KAAK,IAAI,cAAc,uBAAuB,EACtE,KAAK,aAAgB,KAAK,IAAI,cAAc,eAAe,EAC3D,KAAK,YAAkB,KAAK,gBAAgB,cAAc,uBAAuB,EACjF,KAAK,SAAkB,KAAK,gBAAgB,cAAc,eAAe,EACzE,KAAK,UAAkB,KAAK,gBAAgB,cAAc,YAAY,EACtE,KAAK,YAAkB,KAAK,gBAAgB,cAAc,QAAQ,EAElE,MAAMkxB,EAAoB,EAAY,yCAAyC,EAC/E,KAAK,uBAAyBA,EAAiB,cAAc,SAAS,EACtE,KAAK,oBAAsB,KAAK,uBAAuB,cAAc,mBAAmB,EACxF,KAAK,uBAAyB,KAAK,oBAAoB,cAAc,iBAAiB,EACtF,KAAK,mBAAsB,KAAK,oBAAoB,cAAc,mBAAmB,EACrF,KAAK,kBAAqB,KAAK,oBAAoB,cAAc,mBAAmB,EACpF,KAAK,mBAAsB,KAAK,oBAAoB,cAAc,gBAAgB,EAElF,KAAK,sBAAyB,KAAK,oBAAoB,cAAc,qBAAqB,EAC1F,KAAK,4BAAiC,EAAY,+CAA+C,EAAE,cAAc,2BAA2B,EAC5I,KAAK,2BAAgC,KAAK,4BAA4B,cAAc,uBAAuB,EAC3G,KAAK,8BAAgC,EAAY,uDAAuD,EAAE,cAAc,6BAA6B,EACrJ,KAAK,8BAAiC,EAAY,iDAAiD,EAAE,cAAc,6BAA6B,EAChJ,KAAK,6BAAiC,KAAK,8BAA8B,cAAc,oBAAoB,EAC3G,KAAK,4BAAiC,EAAY,+CAA+C,EAAE,cAAc,2BAA2B,EAC5I,KAAK,4BAAiC,EAAY,+CAA+C,EAAE,cAAc,2BAA2B,EAE5I,KAAK,YAAeb,EACpB,KAAK,iBAAoB,KACzB,KAAK,SAAoB,KACzB,KAAK,SAAqB3mB,EAC1B,KAAK,gBAAkB,KAAK,cAAgB,KAE5C,KAAK,WAAc1d,GAAO,CACtBA,EAAG,SAAW,MAChB,KAAK,MAAM,CAEb,EAEA,KAAK,iCAAoCA,GAAO,CAC5CA,EAAG,SAAW,MAChB,KAAK,2BAA2B,CAElC,EAEA,GAAK,KAAK,IAAI,EACd,GAAY,KAAK,IAAI,CACtB,CAEA,MAAQ,CACP,SAAS,KAAK,iBAAiB,YAAa,KAAK,mBAAoB,EAAI,EACzE,SAAS,KAAK,YAAY,KAAK,MAAM,EAErC,OAAO,iBAAiB,UAAW,KAAK,WAAY,EAAI,EACrD,SAAS,KAAK,cAAc,mBAAmB,GAC7B,SAAS,KAAK,cAAc,mBAAmB,EACvD,OAAO,CAGrB,CAEA,OAAQ,CACPmlC,GAAS,KAAK,IAAI,EAElB,KAAK,OAAO,OAAO,EACnB,OAAO,oBAAoB,UAAW,KAAK,WAAY,EAAI,EAC3D,KAAK,SAAW,KAChB,KAAK,iBAAmB,KACxB,KAAK,YAAc,IACpB,CAEA,oBAAoB,CACpB,CAEA,MAAO,CACN,KAAK,IAAI,UAAU,IAAI,MAAM,CAC9B,CAEA,MAAO,CACN,KAAK,IAAI,UAAU,OAAO,MAAM,CACjC,CAEA,YAAY34B,EAAU,CACrB,KAAK,SAAWA,CACjB,CAEA,YAAa,CACZ,KAAK,OAAO,UAAU,IAAI,MAAM,CACjC,CAEA,qBAAqB44B,EAAc,CAClC,OAAQA,EAAc,CACrB,KAAKJ,EAAc,OAClB,CAAC,KAAK,SAAS,UAAU,SAAS,cAAc,GAAK,KAAK,SAAS,UAAU,IAAI,cAAc,EAC/F,KAAK,gBAAgB,SAAS,KAAK,WAAW,EAC9C,KAAK,gBAAgB,eAAe,KAAK,WAAW,EACpD,MACD,KAAKA,EAAc,MAClB,CAAC,KAAK,UAAU,UAAU,SAAS,cAAc,GAAK,KAAK,UAAU,UAAU,IAAI,cAAc,EACjG,KAAK,cAAc,SAAS,KAAK,WAAW,EAC5C,KAAK,cAAc,eAAe,KAAK,WAAW,EAClD,MACD,QACC,MAAMI,CACR,CACA,KAAK,iBAAmBA,CACzB,CAEA,cAAc7kC,EAAM,CACnB,KAAK,6BAA6B,YAAcA,CACjD,CAEA,uBAAuBgzB,EAAW,CACjC,KAAK,sBAAsB,YAAc,GACzC,KAAK,sBAAsB,YAAYA,CAAS,CACjD,CAEA,2BAA4B,CAC3B,KAAK,oBAAoB,UAAU,OAAO,MAAM,EAChD,SAAS,KAAK,YAAY,KAAK,sBAAsB,EAErD,OAAO,iBAAiB,UAAW,KAAK,iCAAkC,EAAI,CAC/E,CAEA,4BAA6B,CAC5B,KAAK,oBAAoB,UAAU,IAAI,MAAM,EAE7C,KAAK,uBAAuB,OAAO,EACnC,OAAO,oBAAoB,UAAW,KAAK,iCAAkC,EAAI,CAClF,CACD,CAEA,SAAS,IAAM,CACd,KAAK,gBAAkB,IAAImQ,GAAgB,KAAM,KAAK,oBAAqB,KAAK,kBAAmB,KAAK,kBAAmB,KAAK,yBAA0B,KAAK,SAAU,KAAK,2BAA2B,EACzM,KAAK,cAAoB,IAAIiB,GAAc,IAAI,CAChD,CAEA,SAAS,IAAc,CACtB,KAAK,SAAS,iBAAiB,QAAS,IAAM,CACzC,KAAK,mBAAqBK,EAAc,SAC3C,KAAK,mBAAqB,MAAQG,GAAS,KAAK,IAAI,EACpD,KAAK,qBAAqBH,EAAc,MAAM,EAEhD,CAAC,EACD,KAAK,UAAU,iBAAiB,QAAS,IAAM,CAC1C,KAAK,mBAAqBA,EAAc,QAC3C,KAAK,mBAAqB,MAAQG,GAAS,KAAK,IAAI,EACpD,KAAK,qBAAqBH,EAAc,KAAK,EAE/C,CAAC,EACD,KAAK,YAAY,iBAAiB,QAAS,IAAM,CAChD,KAAK,MAAM,CACZ,CAAC,EAED,KAAK,kBAAkB,iBAAiB,QAAS,IAAM,CACtD,KAAK,2BAA2B,CACjC,CAAC,EAED,KAAK,mBAAmB,iBAAiB,QAAS,IAAM,CACvD,KAAK,mBAAmB,UAAU,OAAO,QAAQ,EACjD,KAAK,mBAAmB,UAAU,OAAO,MAAM,CAChD,CAAC,CACF,CAEA,SAASG,IAAU,CAClB,OAAQ,KAAK,iBAAkB,CAC9B,KAAKH,EAAc,OAClB,KAAK,gBAAgB,OAAO,EAC5B,KAAK,SAAS,UAAU,SAAS,cAAc,GAAK,KAAK,SAAS,UAAU,OAAO,cAAc,EACjG,MACD,KAAKA,EAAc,MAClB,KAAK,cAAc,OAAO,EAC1B,KAAK,UAAU,UAAU,SAAS,cAAc,GAAK,KAAK,UAAU,UAAU,OAAO,cAAc,EACnG,MACD,QACC,MAAM,KAAK,gBACb,CACD,CCnMA,MAAMK,GAAwB,CAAC,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,SAAU,IAAI,EAChHC,GAAwB,sCAEvB,MAAMC,EAAgB,CACzB,YAAYC,EAAOj9B,EAAIk9B,EAAQlmC,EAAS,CACpC,MAAMmmC,EAAwB,EAAY,2BAA2B,EACrE,KAAK,WAAgBA,EAAsB,cAAc,iBAAiB,EAC1E,KAAK,gBAAmB,KAAK,WAAW,cAAc,SAAS,EAC/D,KAAK,iBAAyB,KAAK,WAAW,cAAc,kBAAkB,EAC9E,KAAK,eAAyB,KAAK,WAAW,cAAc,sBAAsB,EAElF,KAAK,MAAyBF,EAC9B,KAAK,GAAyBj9B,EAC9B,KAAK,OAAyBk9B,EAE9B,GAAK,KAAK,IAAI,EACdE,GAAa,KAAK,KAAMpmC,CAAQ,CACpC,CAEA,QAAQ,CACJ,OAAO,KAAK,UAChB,CACJ,CAEA,SAAS,IAAM,CACX,MAAMqmC,EAAgB,KAAK,MAAM,MAAM,GAAG,EAAE,IAAI,EAChD,KAAK,gBAAgB,IAAOP,GAAiB,SAASO,CAAa,EAAK,KAAK,OAASN,GACtF,KAAK,iBAAiB,YAAiB,KAAK,MAC5C,KAAK,iBAAiB,MAAS,KAAK,KACxC,CAEA,SAASK,GAAapmC,EAAS,CAC3B,KAAK,eAAe,iBAAiB,QAAS,IAAM,CAChD,KAAK,WAAW,OAAO,EACvBA,EAAS,KAAK,EAAE,CACpB,CAAC,CACL,CCpCA,MAAM,GAAwB,CAAC,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,SAAU,IAAI,EAChH,GAAwB,sCAEvB,MAAMsmC,EAAmB,CAC5B,YAAYt9B,EAAIu9B,EAAaC,EAAeC,EAAc,CACtD,MAAMC,EAAyB,EAAY,4BAA4B,EACvE,KAAK,YAAuBA,EAAuB,cAAc,mBAAmB,EACpF,KAAK,aAAyB,KAAK,YAAY,cAAc,qBAAqB,EAClF,KAAK,WAAyB,KAAK,YAAY,cAAc,qBAAqB,EAClF,KAAK,gBAAmB,KAAK,YAAY,cAAc,eAAe,EACtE,KAAK,gBAAmB,KAAK,YAAY,cAAc,eAAe,EACtE,KAAK,YAAgB,KAAK,YAAY,cAAc,kBAAkB,EACtE,KAAK,YAAgB,KAAK,YAAY,cAAc,kBAAkB,EACtE,KAAK,kBAAqB,KAAK,YAAY,cAAc,qBAAqB,EAC9E,KAAK,eAAyB,KAAK,YAAY,cAAc,iBAAiB,EAE9E,KAAK,GAAiB19B,EACtB,KAAK,KAAiBu9B,EAEtB,GAAK,KAAK,IAAI,EACd,GAAa,KAAK,KAAMC,EAAeC,CAAa,CACxD,CAEA,QAAQ,CACJ,OAAO,KAAK,WAChB,CAEA,iBAAiBE,EAAc,CAC3B,KAAK,kBAAkB,MAAM,MAAQA,EAAgB,GACzD,CAEA,kBAAkB,CACV,KAAK,aAAa,UAAU,SAAS,WAAW,GAChD,KAAK,aAAa,UAAU,IAAI,WAAW,CAEnD,CAEA,gBAAgB,CACT,KAAK,WAAW,UAAU,SAAS,MAAM,GACxC,KAAK,WAAW,UAAU,OAAO,MAAM,EAEvC,KAAK,kBAAkB,UAAU,SAAS,OAAO,GACjD,KAAK,kBAAkB,UAAU,IAAI,OAAO,CAEpD,CAEA,kBAAkB,CACV,KAAK,WAAW,UAAU,SAAS,MAAM,GACzC,KAAK,WAAW,UAAU,IAAI,MAAM,EAErC,KAAK,kBAAkB,UAAU,SAAS,OAAO,GAChD,KAAK,kBAAkB,UAAU,OAAO,OAAO,CAEvD,CACJ,CAEA,SAAS,IAAM,CACX,MAAMJ,EAAiB,KAAK,KACtBxlC,EAAiBwlC,EAAY,KAC7BpvB,EAAiByvB,GAAYL,EAAY,IAAI,EAC7CM,EAAiB,IAAI,gBAAgBN,CAAW,EAEhDF,EAAgBtlC,EAAK,MAAM,GAAG,EAAE,IAAI,EAC1C,KAAK,eAAe,IAAO,GAAiB,SAASslC,CAAa,EAAKQ,EAAa,GACpF,KAAK,YAAY,YAAe9lC,EAChC,KAAK,YAAY,YAAeoW,CACpC,CAEA,SAAS,GAAaqvB,EAAeC,EAAc,CAC/C,KAAK,gBAAgB,iBAAiB,QAAS,IAAM,CACjD,KAAK,YAAY,OAAO,EACxBA,EAAc,CAClB,CAAC,EAED,KAAK,gBAAgB,iBAAiB,QAAS,IAAM,CACjDD,EAAc,GAAM,KAAK,EAAE,CAC/B,CAAC,CACL,CAEA,SAASI,GAAYE,EAAOC,EAAW,EAAG,CACtC,GAAID,IAAU,EAAI,MAAO,UAEzB,MAAME,EAAI,KACJC,EAAKF,EAAW,EAAI,EAAIA,EACxBG,EAAQ,CAAC,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAI,EAEhE,EAAI,KAAK,MAAM,KAAK,IAAIJ,CAAK,EAAI,KAAK,IAAIE,CAAC,CAAC,EAClD,OAAO,YAAYF,EAAQ,KAAK,IAAIE,EAAG,CAAC,GAAG,QAAQC,CAAE,CAAC,EAAI,IAAMC,EAAM,CAAC,CAC3E,CCnFA,MAAM,GAAqBrkC,EAAc,EACnC,GAAuB,WACvB,GAAqB/C,EAAO,KAC5B,GAAc,QAIdqnC,GAD0C,MAAM,UAAU,MACV,uDAAuD,EAGtG,SAASC,GAAuBjpB,EAAS,CAC5C,MAAMkpB,EAAY,CACd,mCAAmCn8B,EAAM,CACrC,MAAMo8B,EAAQp8B,EAAM,aAAa,MACjCq8B,EAAkB,KAAK,KAAMD,EAAOnpB,CAAQ,EAClD,KAAK,UAAU,MAAQmpB,CACrB,EAEA,mBAAmBp8B,EAAM,CACrB,MAAMo8B,GAASp8B,EAAM,eAAiBA,EAAM,cAAc,eAAe,MACzEq8B,EAAkB,KAAK,KAAMD,EAAOnpB,CAAQ,CAChD,EAEA,wBAAwBjT,EAAM,CAC1Bq8B,EAAkB,KAAK,KAAMr8B,EAAM,OAAO,MAAOiT,CAAQ,CAC7D,EAEA,2BAA2BjT,EAAM,CAC7Bq8B,EAAkB,KAAK,KAAMr8B,EAAM,OAAO,MAAOiT,CAAQ,CAC7D,EAEA,wBAAwB,CACpBqpB,EAAiB,KAAK,KAAM,GAAO,CAAC,CACxC,EAEA,2BAA2B,CACvB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,UAAY,GACnC,KAAK,kBAAkB,YAAY,KAAK,UAAU,EAC/C,KAAK,YAAY,SAAW,IAC3B,KAAK,UAAU,SAAW,GAElC,CACJ,EAEA,SAASD,EAAkBD,EAAOnpB,EAAS,CAEvC,IAAIspB,EAAkB,GAGlBC,EAAmB,EACvB,KAAK,kBAAoB,EACzB,KAAK,gBAAgB,YAAc,GAC/B,KAAK,oBAAoB,UAAU,SAAS,MAAM,GAClD,KAAK,oBAAoB,UAAU,IAAI,MAAM,EAGjD,IAAIC,EACJ,OAAOxpB,EAAS,CACZ,KAAK,EAAU,WACf,KAAK,EAAU,aACf,KAAK,EAAU,SACXwpB,EAAgB,IAChB,MACJ,KAAK,EAAU,UACXA,EAAgB,IAChB,MACJ,KAAK,EAAU,SACXA,EAAgB,IAChB,MACJ,KAAK,EAAU,aACXA,EAAgB,GAChB,KACR,CAEA,GAAIL,EAAM,OAAQ,CACd,QAAQnmC,EAAI,EAAIA,EAAImmC,EAAM,QAAUI,IAAqB,EAAIvmC,IAAI,CAS7D,MAAMymC,EADQN,EAAMnmC,CAAC,EAAE,KACD,KAKtB,GAHAsmC,EADc,KAAK,KAAKG,EAAQ,IAAI,GACTD,EAGxBF,GAAmB,KAAK,YAAY,OAAS,IAAuB,CACnE,MAAMI,EAAOP,EAAMnmC,CAAC,EACpB,KAAK,YAAY,KAAK,CAAC,GAAI,KAAK,kBAAmB,KAAA0mC,CAAU,CAAC,EAE9D,MAAMC,EADa,IAAI9B,GAAiB6B,EAAK,KAAM,KAAK,kBAAmB,IAAI,gBAAgBA,CAAI,EAAGE,EAAmB,KAAK,IAAI,CAAC,EAC5G,OAAO,EAC9B,KAAK,kBAAkB,aAAaD,EAAK,KAAK,UAAU,EACxD,KAAK,oBAEL,KAAK,gBAAgB,UAAU,IAAI,MAAM,EACzC,KAAK,qBAAqB,UAAU,OAAO,MAAM,EAC9C,KAAK,YAAY,QAAU,MAC1B,KAAK,WAAW,SAAW,IAE5B,KAAK,YAAY,OAAS,IACzB,KAAK,UAAU,SAAW,GAElC,MACKL,EAA6CC,IAA3B,KAAK,oBACrB,KAAK,oBAAoB,UAAU,SAAS,MAAM,GACjD,KAAK,oBAAoB,UAAU,OAAO,MAAM,CAG5D,CACA,GAAG,KAAK,mBAAqB,EAAE,CAC3B,IAAIM,EACJ,GAAGV,EAAM,SAAW,GAAK,KAAK,oBAAsB,EAChD,OAAOnpB,EAAS,CACZ,KAAK,EAAU,WACX6pB,EAAa,KAAK,wCAClB,MACJ,KAAK,EAAU,aACf,KAAK,EAAU,SACXA,EAAa,KAAK,2CAClB,MACJ,KAAK,EAAU,SACXA,EAAa,KAAK,uCAClB,MACJ,KAAK,EAAU,UACXA,EAAa,KAAK,uCAClB,MACJ,KAAK,EAAU,aACXA,EAAa,KAAK,oBAClB,KACR,SACOV,EAAM,OAAS,EACtB,GAAG,KAAK,oBAAsB,EAC1B,OAAOnpB,EAAS,CACZ,KAAK,EAAU,WACX6pB,EAAa,KAAK,oCAClB,MACJ,KAAK,EAAU,aACf,KAAK,EAAU,SACXA,EAAa,KAAK,uCAClB,MACJ,KAAK,EAAU,SACXA,EAAa,KAAK,mCAClB,MACJ,KAAK,EAAU,UACXA,EAAa,KAAK,mCAClB,MACJ,KAAK,EAAU,aACXA,EAAa,KAAK,gBAClB,KACR,KAEA,QAAO7pB,EAAS,CACZ,KAAK,EAAU,WACX,KAAK,uCAAuC,YAAc,KAAK,kBAC/D6pB,EAAa,KAAK,0CAClB,MACJ,KAAK,EAAU,aACf,KAAK,EAAU,SACX,KAAK,0CAA0C,YAAc,KAAK,kBAClEA,EAAa,KAAK,6CAClB,MACJ,KAAK,EAAU,SACX,KAAK,sCAAsC,YAAc,KAAK,kBAC9DA,EAAa,KAAK,yCAClB,MACJ,KAAK,EAAU,UACX,KAAK,sCAAsC,YAAc,KAAK,kBAC9DA,EAAa,KAAK,yCAClB,MACJ,KAAK,EAAU,aACX,KAAK,uBAAuB,YAAc,KAAK,kBAC/CA,EAAa,KAAK,sBAClB,KACR,CAGR,KAAK,gBAAgB,YAAYA,CAAU,CAC/C,CACGN,EAAmB,GAClB,KAAK,gBAAgB,YAAY,KAAK,mBAAmB,CAEjE,CACJ,CAEA,SAASK,EAAmB/+B,EAAG,CAC3B,MAAM7D,EAAQ,KAAK,YAAY,UAAW0iC,GAASA,EAAK,KAAO7+B,CAAE,EACjE,KAAK,YAAY,OAAO7D,EAAO,CAAC,EAC7B,KAAK,YAAY,OAAS,MACzB,KAAK,WAAW,SAAW,IAE5B,KAAK,YAAY,SAAW,IAC3B,KAAK,UAAU,SAAW,GAElC,CAMA,SAASqiC,EAAiBS,EAASj/B,EAAI,CACnC,GAAGi/B,EACC,KAAK,aACL,KAAK,YAAYj/B,CAAE,EAAE,YAAY,iBAAiB,MAElD,SAAQ7H,EAAI,EAAIA,EAAI,KAAK,YAAY,OAASA,IAAI,CAC9C,MAAM+mC,EAAsB,IAAI5B,GAAoB,KAAK,YAAYnlC,CAAC,EAAE,GAAI,KAAK,YAAYA,CAAC,EAAE,KAAMqmC,EAAiB,KAAK,IAAI,EAAGW,GAAyB,KAAK,IAAI,CAAC,EACtK,KAAK,YAAYhnC,CAAC,EAAE,YAAc+mC,EAClC,KAAK,gBAAgB,mBAAmB,YAAYA,EAAoB,OAAO,CAAC,EAC7E,KAAK,gBAAgB,oBAAoB,UAAU,SAAS,MAAM,GACjE,KAAK,gBAAgB,0BAA0B,EAEhD,KAAK,YAAY,SAAW,EAC3B,KAAK,gBAAgB,uBAAuB,KAAK,gBAAgB,6BAA6B,GAE9F,KAAK,gBAAgB,uBAAuB,KAAK,gBAAgB,6BAA6B,EAC9FE,GAAqB,KAAK,KAAM,KAAK,YAAY,MAAM,EAE/D,CAEJ,GAAY,KAAK,IAAI,CACzB,CAEA,OAAOf,CACX,CAEA,SAASc,IAA0B,CAChB,KAAK,gBAAgB,mBAAmB,iBAAiB,mBAAmB,EACjF,SAAW,GACjB,KAAK,gBAAgB,oBAAoB,UAAU,IAAI,MAAM,CAErE,CAEA,SAAS,IAAa,CACrB,MAAMn5B,EAAW,WAAW,SAAS,KAC/BI,EAAaJ,EAAS,QAAQ,WAAW,GAAK,GAAKyE,GAAsCD,GAE5F,QAAQxK,EAAK,EAAGA,EAAK,KAAK,YAAY,OAAQA,IAAK,CAC/C,MAAMk/B,EAAsB,KAAK,YAAYl/B,CAAE,EAAE,YAC3Cq/B,EAAsB,IAAIxoC,EAChCwoC,EAAY,UAAU,EAAW,EACjCA,EAAY,OAAOj5B,CAAU,EAE7B,MAAMo2B,EAAW,IAAI,SACrBA,EAAS,OAAO,GAAU,KAAK,YAAYx8B,CAAE,EAAE,IAAI,EACnDw8B,EAAS,OAAO,GAAoB,EAAiB,EACrDA,EAAS,OAAO,MAA2Bx2B,CAAQ,EAEnDq5B,EAAY,WAAW7C,CAAQ,EAC/B6C,EAAY,iBAAiB,kBAAmB,CAACn9B,EAAOlJ,IAA6B,CACjF,MAAMsmC,EAAYp9B,EAAM,OAAOA,EAAM,MAAS,IAC3C,KAAK,gBAAgB,oBAAoB,UAAU,SAAS,MAAM,GACjE,KAAK,gBAAgB,oBAAoB,UAAU,OAAO,MAAM,EAEjE,KAAK,gBAAgB,uBAAuB,UAAU,SAAS,MAAM,GACpE,KAAK,gBAAgB,uBAAuB,UAAU,OAAO,MAAM,EAEvEg9B,EAAoB,iBAAiBI,CAAQ,EAC7C,KAAK,0BAA4B,KAAK,yBAAyBp9B,EAAOlJ,CAAwB,EAE9F,KAAK,4BAA4B,oBAAoB,EACrD,KAAK,4BAA4B,oBAAoBmlC,EAAuC,CAChG,CAAC,EAEDkB,EAAY,iBAAiB,UAAW,CAACn9B,EAAOlJ,IAA6B,CAEzE,KAAK,eACLkmC,EAAoB,iBAAiB,EACrC,MAAMK,EAAiB,KAAK,YAAY,OAAS,KAAK,aAAe,KAAK,WAQ1E,GAPGA,IAAmB,EAClB,KAAK,gBAAgB,uBAAuB,KAAK,gBAAgB,6BAA6B,EAE9FH,GAAqB,KAAK,KAAMG,CAAc,EAI/C,KAAK,aAAe,KAAK,aAAe,KAAK,YAAY,OAAO,CAG/D,GAFA,KAAK,gBAAgB,uBAAuB,UAAU,IAAI,MAAM,EAE7D,KAAK,eAAiB,KAAK,YAAY,OAAQ,CAC9C,MAAMnkC,EAAO,KAAK,aAAe,IAAO,KAAK,YAAY,OACzD,KAAK,gBAAgB,2BAA2B,YAAcA,EAC9D,KAAK,gBAAgB,uBAAuB,KAAK,gBAAgB,2BAA2B,CAChG,CAEA,KAAK,4BAA4B,mBAAmB,EACpD,KAAK,4BAA4B,oBAAoB,EAAE,CAC3D,CAGG,KAAK,eAAiB,KAAK,YAAY,SACtC,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,uBAAuB,KAAK,gBAAgB,2BAA2B,EAE5F,KAAK,4BAA4B,mBAAmB,EACpD,KAAK,4BAA4B,oBAAoB,EAAE,GAG3D,KAAK,mBAAqB,KAAK,kBAAkB8G,EAAOlJ,CAAwB,CACpF,CAAC,EAEDqmC,EAAY,iBAAiB,UAAW,CAACn9B,EAAOlJ,IAA6B,CACzEkmC,EAAoB,eAAe,EACnC,KAAK,aACL,MAAMK,EAAiB,KAAK,YAAY,OAAS,KAAK,aAAe,KAAK,WAO1E,GANGA,IAAmB,EAClB,KAAK,gBAAgB,uBAAuB,KAAK,gBAAgB,6BAA6B,EAE9FH,GAAqB,KAAK,KAAMG,CAAc,EAG/C,KAAK,aAAe,KAAK,aAAe,KAAK,YAAY,OAAO,CAG/D,GAFA,KAAK,gBAAgB,uBAAuB,UAAU,IAAI,MAAM,EAE7D,KAAK,aAAe,KAAK,YAAY,OAAQ,CAC5C,MAAMnkC,EAAO,IAAM,KAAK,aAAe,IAAO,KAAK,YAAY,OAAS,IACxE,KAAK,gBAAgB,2BAA2B,YAAcA,EAC9D,KAAK,gBAAgB,uBAAuB,KAAK,gBAAgB,2BAA2B,CAChG,CAEA,KAAK,4BAA4B,mBAAmB,EACpD,KAAK,4BAA4B,oBAAoB,EAAE,CAC3D,CAGG,KAAK,aAAe,KAAK,YAAY,SACpC,KAAK,gBAAgB,uBAAuB,KAAK,gBAAgB,2BAA2B,EAE5F,KAAK,4BAA4B,mBAAmB,EACpD,KAAK,4BAA4B,oBAAoB,EAAE,GAE3D,KAAK,mBAAqB,KAAK,kBAAkB8G,EAAOlJ,CAAwB,CACpF,CAAC,EACDqmC,EAAY,KAAK,CACrB,CACJ,CAEA,SAASD,GAAqBG,EAAe,CACzC,KAAK,gBAAgB,cAAcA,CAAc,CACrD,CC7VA,MAAMC,EAAQ,CACV,aAAa,CACT,KAAK,aAAe,KACpB,KAAK,WAAe,KACpB,KAAK,YAAe,IACxB,CAEA,SAASpoC,EAAK,CACV,KAAK,aAAeA,CACxB,CAEA,cAAcA,EAAK,CACf,KAAK,WAAaA,CACtB,CAEA,eAAeA,EAAK,CAChB,KAAK,YAAcA,CACvB,CAEA,aAAa,CACT,OAAO,KAAK,YAChB,CAEA,eAAe,CACX,OAAO,KAAK,UAChB,CAEA,gBAAiB,CACb,OAAO,KAAK,WAChB,CACJ,CAEO,MAAMqoC,GAAS,IAAID,GChC1B,MAAME,EAAe,CACpB,YAAYC,EAAI58B,EAAQ,CACvB,KAAK,GAAK48B,EACV,KAAK,OAAS58B,CACf,CAEA,eAAeA,EAAQ,CACtB,OAAO,KAAK,OAAO,IAAIzL,GAASyL,EAAOzL,CAAK,CAAC,CAC9C,CAEA,QAAQyL,EAAQ,CACf,KAAK,GAAG,MAAM,KAAM,KAAK,eAAeA,CAAM,CAAC,CAEhD,CACD,CAEO,MAAM68B,EAAO,CACnB,aAAc,CACb,KAAK,YAAc,CAAC,EACpB,KAAK,MAAQ,CAAC,aAAc,OAAQ,IAAI,CACzC,CAEA,UAAUC,EAAK39B,EAAOlL,EAAU+L,EAAQ,CAElC,KAAK,YAAYb,CAAK,IAC1B,KAAK,YAAYA,CAAK,EAAI,CAAC,GAExB,KAAK,YAAYA,CAAK,EAAE29B,CAAG,IAC9B,KAAK,YAAY39B,CAAK,EAAE29B,CAAG,EAAI,CAAC,GAGjC,MAAMC,EAAe,IAAIJ,GAAe1oC,EAAU+L,CAAM,EAExD,KAAK,YAAYb,CAAK,EAAE29B,CAAG,EAAE,KAAKC,CAAY,CAC/C,CAEA,QAAQ59B,EAAOa,EAAQ,CACjB,KAAK,YAAYb,CAAK,GAC3B,KAAK,MACH,IAAI69B,GAAK,KAAK,YAAY79B,CAAK,EAAE69B,CAAC,CAAC,EACnC,OAAOA,GAAKA,IAAM,MAAS,EAC3B,QAAQA,GAAKA,CAAC,EACd,QAAQC,GAAkBA,EAAe,QAAQj9B,CAAM,CAAC,CAC3D,CAEA,YAAY88B,EAAKI,EAAKC,EAAS,CAE9B,MAAM99B,EAAc,KAAK,YAAY69B,CAAG,EAAEJ,CAAG,EAC7C,QAAS,EAAI,EAAG,EAAIz9B,EAAY,OAAQ,IACtCA,EAAY,CAAC,EAAE,KAAO89B,GAAa99B,EAAY,OAAO,EAAG,CAAC,CAE7D,CAEA,SAASy9B,EAAKI,EAAKC,EAASn9B,EAAQ,CACnC,MAAMxL,EAAO,KACb,SAAS4oC,EAAKp9B,EAAO,CAEpBm9B,EAAQ,MAAM,KAAM,SAAS,EAC7B3oC,EAAK,YAAYsoC,EAAKI,EAAKE,CAAI,CAChC,CACA5oC,EAAK,UAAUsoC,EAAKI,EAAKE,EAAMp9B,CAAM,CACtC,CACD,CAEO,MAAMq9B,GAAW,IAAIR,G,eC1D5B,MAAM,GAAWzoB,GAAgB,SAC3B,EAAS,KAER,SAAS,GAAiB/B,EAAa,CAC1C,OAAOA,EAAY,MAAM,IAAI,CACjC,CAEO,SAASirB,GAAsCC,EAAMC,EAAqBC,EAAoB,CACjG,MAAMjpC,EAAO,KACb,IAAIkpC,EACAC,EAEJ,SAASC,EAAajjC,EAAQ3B,EAASX,EAAMwlC,EAAY,CACrD,GAAIA,EAAW,aAAaN,CAAI,EAAG,CAC/B,EAAS,YAAY,KAAMO,GAA0BF,CAAY,EAEjE,MAAMtgC,EAAQjF,EAAK,CAAC,EACd8C,EAAWmC,EAAM,CAAC,EAClBygC,EAAazgC,EAAM,CAAC,EAC1B,IAAI2C,EACJ,UAAW+9B,KAAUD,EAAY,CAC7B,MAAME,EAAeF,EAAWC,CAAM,EACtC,UAAW/kC,KAAYglC,EACnB,GAAGhlC,IAAaukC,EAAqB,CACjCv9B,EAASg+B,EAAahlC,CAAQ,EAC9B,KACJ,CAER,CACA,IAAIsB,EACApG,EACAue,EACJ,QAAStd,EAAI,EAAGA,EAAI+F,EAAS,OAAQ/F,IAIjC,GAHAmF,EAAUY,EAAS/F,CAAC,EACpBjB,EAAQ8L,EAAO7K,CAAC,EAChBsd,EAAYwrB,GAAavjC,EAAQ3B,EAASuB,CAAO,EAC7CmY,IAAc,MAAsBnY,IAAYkjC,EAAoB,CACpEC,EAAevpC,EACf,KACJ,CAEJgqC,EAAgB,CACpB,CACJ,CAEA,SAASC,EAAwBzjC,EAAQ0X,EAAa/R,EAAWu9B,EAAY,CACrEA,EAAW,aAAaN,CAAI,IAC5B,EAAS,YAAY,KAAMc,GAAqCD,CAAuB,EAEvFT,EAAgB,GAAiBhjC,EAAQ0X,CAAW,EACpD8rB,EAAgB,EAExB,CAEA,SAASA,GAAkB,CACvB,GAAIT,GAAgBC,EAAe,CAC/B,MAAMW,EAAc9pC,EAAK,QAAQ,EAC3B8I,EAAQogC,EAAa,MAAM,GAAG,EACpCY,EAAY,eAAeX,CAAa,EACxCW,EAAY,eAAehhC,CAAK,EAEhC9I,EAAK,YAAY8pC,CAAW,EAC5B9pC,EAAK,SAAS,EAAQ,EACtBA,EAAK,gBAAgB,CACzB,CACJ,CAEA,EAAS,UAAU,KAAMspC,GAA0BF,EAAc,CAAC,SAAU,UAAW,OAAQ,YAAY,CAAC,EAC5G,EAAS,UAAU,KAAMS,GAAqCD,EAAyB,CAAC,SAAU,cAAe,YAAa,YAAY,CAAC,CAC/I,CAEO,SAASG,GAAuChB,EAAMiB,EAA8ChB,EAAqBC,EAAoB,CAChJ,MAAMjpC,EAAO,KACb,IAAIiqC,EACAC,EAEJ,SAASd,EAAajjC,EAAQ3B,EAASX,EAAMwlC,EAAY,CACrD,GAAIA,EAAW,aAAaN,CAAI,EAAG,CAC/B,EAAS,YAAY,KAAMO,GAA0BF,CAAY,EACjE,IAAIrjC,EACInF,EAAE+a,EACFuC,EAER,IAAKtd,EAAI,EAAEA,EAAEiD,EAAK,OAAOjD,IAAI,CACzB,MAAM2oC,EAAa1lC,EAAKjD,CAAC,EACnB+F,EAAW4iC,EAAW,CAAC,EAE7B,IAAK5tB,EAAI,EAAGA,EAAIhV,EAAS,SACrBZ,EAAUY,EAASgV,CAAC,EACpBuC,EAAYwrB,GAAavjC,EAAQ3B,EAASuB,CAAO,EAC7C,EAAAmY,IAAc,MAAoBnY,IAAYkjC,IAHrBttB,IAG7B,CAMR,MAAMwuB,EAAeZ,EAAW,CAAC,EAC3Ba,EAA+B,GAAKzuB,EACtC,UAAW6tB,KAAUW,EAAc,CAC/B,MAAME,EAAa,SAASb,CAAM,EAAIY,EACtC,GAAGC,EAAU,CACT,MAAMC,EAAoB,KAAK,MAAM,KAAK,KAAKD,CAAS,CAAC,EACnDZ,EAAeU,EAAaX,CAAM,EACxC,UAAW/kC,KAAYglC,EACnB,GAAGhlC,IAAaukC,EAAqB,CACjCiB,EAAcR,EAAahlC,CAAQ,EAAE6lC,CAAiB,EACtDX,EAAgB,EAChB,KACJ,CAER,CAEJ,CAEJ,CAGJ,CACJ,CAEA,SAASC,EAAwBzjC,EAAQ0X,EAAa/R,EAAWu9B,EAAY,CACrEA,EAAW,aAAaN,CAAI,IAC5B,EAAS,YAAY,KAAMc,GAAqCD,CAAuB,EAEvFM,EAAiB,GAAiB/jC,EAAQ0X,CAAW,EACrD8rB,EAAgB,EAExB,CAEA,SAASA,GAAkB,CACvB,GAAIM,GAAeC,EAAgB,CAC/B,MAAMJ,EAAc9pC,EAAK,QAAQ,EACjC8pC,EAAY,eAAeI,CAAc,EACzCJ,EAAY,SAASG,CAAW,EAChCjqC,EAAK,QAAQ8pC,CAAW,EACxBE,EAA6C,CACjD,CACJ,CAEA,EAAS,UAAU,KAAMV,GAA0BF,EAAc,CAAC,SAAU,UAAW,OAAQ,YAAY,CAAC,EAC5G,EAAS,UAAU,KAAMS,GAAqCD,EAAyB,CAAC,SAAU,cAAe,YAAa,YAAY,CAAC,CAC/I,CAEO,SAASW,GAAmB3P,EAAQ,CACvC,MAAMjwB,EAAQ,IAAI,MAAM,QAAS,CAC7B,QAAS,GACT,WAAY,EAChB,CAAC,EAEK9G,EAAO,CAAC,EACdA,EAAK,EAAO,KAAK,EAAI+2B,EAErB,MAAM4P,EAAQ,CAAC,EACf,OAAAA,EAAM,EAAO,KAAK,EAAI5P,EAAO,WAAW,CAAC,EAEzC,OAAO,eAAejwB,EAAO,EAAO,KAAM9G,CAAI,EAC9C,OAAO,eAAe8G,EAAO,EAAO,MAAO6/B,CAAK,EAEzC7/B,CACX,CAEO,SAAS8/B,GAAqB7P,EAAQ,CACzC,MAAMjwB,EAAQ,IAAI,MAAM,UAAW,CAC/B,QAAS,GACT,WAAY,EAChB,CAAC,EAEK9G,EAAO,CAAC,EACdA,EAAK,EAAO,KAAK,EAAI+2B,EAErB,MAAM4P,EAAQ,CAAC,EACf,OAAAA,EAAM,EAAO,KAAK,EAAI5P,EAAO,WAAW,CAAC,EAEzC,OAAO,eAAejwB,EAAO,EAAO,IAAK9G,CAAI,EAC7C,OAAO,eAAe8G,EAAO,EAAO,MAAO6/B,CAAK,EAEzC7/B,CACX,CAGO,SAAS+/B,GAAmB9P,EAAQ+P,EAAc,CACrD,MAAMhgC,EAAQ,IAAI,MAAM,QAAS,CAC7B,QAAS,GACT,WAAY,EAChB,CAAC,EAEK9G,EAAO,CAAC,EACdA,EAAK,EAAO,KAAK,EAAI+2B,EAErB,MAAM4P,EAAQ,CAAC,EACfA,EAAM,EAAO,KAAK,EAAIG,EAAa,MAEnC,MAAMC,EAAU,CAAC,EACjB,OAAAA,EAAQ,EAAO,KAAK,EAAID,EAAa,QAErC,OAAO,eAAehgC,EAAO,EAAO,IAAK9G,CAAI,EAC7C,OAAO,eAAe8G,EAAO,EAAO,MAAO6/B,CAAK,EAChD,OAAO,eAAe7/B,EAAO,EAAO,QAASigC,CAAO,EAE7CjgC,CACX,CAGO,SAASkgC,GAAmB1kC,EAAQ22B,EAAgBC,EAAuB,CAEjF,MAAMC,EADqB,MAAM,KAAK,UAAU,IAAI72B,CAAM,EAC1B,gBAAgB22B,CAAc,EACxDgO,EAAqB9N,EAAa,iBAAiB,EACnD+N,EAAqB/N,EAAa,sBAAsB,EAE9D,OAAOD,IAA0BiO,GAAiCD,EAAqBD,CACxF,CAEO,SAASG,GAAS9kC,EAAQ3B,EAAS,CAGtC,OAFa,MAAM,KAAK,UAAU,QAAQ,IAAI2B,CAAM,EACjC,OAAO,IAAI3B,CAAO,CAEzC,CAEO,SAAS0mC,GAA4BC,EAAchlC,EAAQ3B,EAASX,EAAM,CAC7E,MAAMiF,EAAQjF,EAAK,CAAC,EACdunC,EAActiC,EAAM,CAAC,EACrBygC,EAAazgC,EAAM,CAAC,EAC1B,IAAI2C,EACJ,UAAW+9B,KAAUD,EAAY,CAC7B,MAAME,EAAeF,EAAWC,CAAM,EACtC,UAAW/kC,KAAYglC,EACnBh+B,EAASg+B,EAAahlC,CAAQ,CAEtC,CACA,QAAS7D,EAAI,EAAGA,EAAIwqC,EAAY,OAAQxqC,IAEpC,GADkB8oC,GAAavjC,EAAQ3B,EAAS4mC,EAAYxqC,CAAC,CAAC,IAC5C,IAAY,CAC1B,MAAMyqC,EAAc,KAAK,MAAM5/B,EAAO7K,CAAC,CAAC,EACxC,IAAIo7B,EAAgB,CAAC,EACrB,MAAM/zB,EAAO,MAAM,KAAK,UAAU,IAAI9B,CAAM,EAC5C,QAASvF,EAAI,EAAGA,EAAIyqC,EAAY,OAAQzqC,IACpCo7B,EAAc,KAAKqP,EAAYzqC,CAAC,EAAE,CAAC,CAAC,EACnBqH,EAAK,gBAAgBojC,EAAYzqC,CAAC,EAAE,CAAC,CAAC,EAC5C,YAAYyqC,EAAYzqC,CAAC,EAAE,CAAC,CAAC,EAG5CuqC,EAAa,eAAenP,CAAa,CAC7C,CAER,CAEO,SAASsP,GAAmB5X,EAAWvtB,EAAQolC,EAAa,CAC/D,MAAMxlC,EAAU,OAAO,KAAKwlC,CAAW,EAAE,CAAC,EACpC9mC,EAAW,OAAO,KAAK8mC,EAAYxlC,CAAO,CAAC,EAAE,CAAC,EAC9Ci2B,EAAgBuP,EAAYxlC,CAAO,EAAEtB,CAAQ,EACnD,QAAS7D,EAAI,EAAGA,EAAIo7B,EAAc,OAAQp7B,IAAK,CAC3C,MAAMq7B,EAAeuP,GAAgBrlC,EAAQ61B,EAAcp7B,CAAC,CAAC,EACvD6qC,EAAc/X,EAAU,QAAQ,EACtC+X,EAAY,OAAOxP,EAAa,MAAM,EACtCvI,EAAU,QAAQ+X,CAAW,CACjC,CACJ,CAEO,SAASC,GAAkBvlC,EAAQ61B,EAAe,CACxD,IAAMO,EAAiB,CAAC,EACxB,MAAMt0B,EAAiB,MAAM,KAAK,UAAU,IAAI9B,CAAM,EACtD,QAASvF,EAAI,EAAGA,EAAIo7B,EAAc,OAAQp7B,IAAK,CAC9C,IAAe+qC,EAAe1jC,EAAK,gBAAgB+zB,EAAcp7B,CAAC,CAAC,EACnE27B,EAAeoP,EAAK,MAAM,EAAI,CAAE,YAAaA,EAAK,YAAa,SAAUA,EAAK,SAAU,cAAeA,EAAK,aAAc,CAC3H,CACA,OAAOpP,CACR,CAEO,SAASqP,GAAmBlY,EAAWvtB,EAAQolC,EAAa,CAC/D,QAASzrC,KAAOyrC,EAAa,CACzB,MAAMtP,EAAeuP,GAAgBrlC,EAAQrG,CAAG,EAC1C2rC,EAAc/X,EAAU,QAAQ,EACtC+X,EAAY,OAAOxP,EAAa,MAAM,EAE5C,MAAMM,EAAiBmP,GAAkBvlC,EAAQ,CAACrG,CAAG,CAAC,EACtD4zB,EAAU,mBAAqBA,EAAU,kBAAkB6I,CAAc,EACnE7I,EAAU,QAAQ+X,CAAW,CACjC,CACJ,CAWO,SAASI,GAAe1lC,EAAQ2lC,EAAe,CAClD,IAAIP,EAAc,CAAC,EAEnB,MAAMtP,EADO,MAAM,KAAK,UAAU,IAAI91B,CAAM,EAClB,aAC1B,OAAA2lC,EAAc,QAAQxE,GAAQ,CAC1B,QAASxnC,KAAOm8B,EACRqL,IAASrL,EAAan8B,CAAG,EAAE,QAC3ByrC,EAAY,KAAKzrC,CAAG,CAGhC,CAAC,EACMyrC,CACX,CAEA,SAASC,GAAgBrlC,EAAQ+1B,EAAc,CAE3C,OADa,MAAM,KAAK,UAAU,IAAI/1B,CAAM,EAChC,gBAAgB+1B,CAAY,CAC5C,CAEA,SAAS,GAAiB/1B,EAAQ0X,EAAa,CAE3C,OADa,MAAM,KAAK,UAAU,IAAI1X,CAAM,EAChC,iBAAiB0X,CAAW,CAC5C,CAEA,SAAS6rB,GAAavjC,EAAQ3B,EAASuB,EAAS,CAI5C,OAHa,MAAM,KAAK,UAAU,IAAII,CAAM,EACzB,SAAS3B,CAAO,EACf,SAASuB,CAAO,EACvB,QAAQ,EAAE,QAAQ,CACnC,CAEO,MAAMgmC,GAAkB,EAClBC,GAAiB,EACjBC,GAAkB,EAClBhP,GAAgB,EClUvBiP,GAAoB,UACpB,GAAoB,IACpBC,GAAoB,IAEpBC,GAA6B,4BAC7BC,GAA6B,2BAC7BC,GAAoC,kCACpCC,GAAoC,iCACpCC,GAA6B,IAC7BC,GAA6B,IAC7B,GAA6B,MAC7BC,GAA6B,IAC7BC,GAA6B,mBAC7BC,GAA6B,OAC7BC,GAA6B,IAE5B,SAASC,GAAsBx+B,EAAS+O,EAAoBC,EAAsBC,EAAqBH,EAA2BQ,EAAUsmB,EAA6B,CAwG5K,MAvGiB,CAEb,QAAS,KAET,kBAAkBhkC,EAAI6sC,EAAqB,CACvC,MAAMC,EAAa,IAAI7H,GAAW,CAAC,EAAG0B,GAAuBjpB,CAAQ,EAAG,CAACjT,EAAOlJ,IAA6B,CACzGsiC,GAAkBp5B,EAAOlJ,EAA0B4b,EAAoBC,EAAsBC,EAAqBwvB,CAAmB,CACzI,EAAG,CAACpiC,EAAOlJ,IAA6B,CAExC,EAAG,CAACkJ,EAAOlJ,IAA6B,CAExC,EAAGmc,EAAUsmB,CAA2B,EACxC8I,EAAW,KAAKpB,GAAmB,KAAK,KAAMmB,CAAmB,CAAC,EAClEC,EAAW,qBAAqB,QAAQ,CAC5C,EAEA,iBAAiB9sC,EAAI+sC,EAAkBF,EAAqB7Q,EAAc,CACtE,MAAMuP,EAAesB,EAAoB,QAAQ,EAC3CG,EAAeD,EAAiB,OAAO,EACtDxB,EAAY,UAAUyB,CAAG,EAChBzB,EAAY,SAASvP,CAAY,EACjCuP,EAAY,qBAAqByB,CAAG,EAC7CD,EAAiB,OAAO,CACzB,EAEM,mBAAmB/sC,EAAI+sC,EAAkBF,EAAqB,CAC9D,EAEA,eAAe7sC,EAAI+sC,EAAkBF,EAAqB,CACtD,MAAMI,EAAUF,EAAiB,YAAY,EACtD,KAAK,QAAWE,EAChBF,EAAiB,QAAQE,CAAO,CACjC,EAEM,aAAaxiC,EAAOsiC,EAAkB/Q,EAAa,CACpDvxB,EAAM,SAAW,MACpByiC,GAAgBH,CAAgB,EAChCA,EAAiB,QAAQ,KAAK,OAAO,GAE7BtiC,EAAM,SAAW,MACzB,KAAK,mCAAmCsiC,CAAgB,CAE1D,EAEA,eAAetiC,EAAOsiC,EAAkB/Q,EAAa,EACvCvxB,EAAM,MAAQA,EAAM,aAAa,GACtC,QAAQsiC,EAAiB,SAAS,GAAK,EAC9C,KAAK,mCAAmCA,CAAgB,EAGxDtiC,EAAM,gBAAgB,CAExB,EAEM,mCAAmCsiC,EAAkB,CACjDG,GAAgBH,CAAgB,EAChC,MAAMI,EAAaJ,EAAiB,UAAU,MAAM,KAAK,EACzDA,EAAiB,QAAQI,CAAU,EAGnC,MAAM5B,EADcwB,EAAiB,aAAa,EACpB,QAAQ,EAChCptC,EAAcotC,EAAiB,OAAO,EAC5CxB,EAAY,uBAAuB5rC,EAAKwtC,CAAU,CACtD,EAEA,kBAAkBJ,EAAkB,CAChCA,EAAiB,SAASlpB,EAA4C,CAC1E,EAEA,iBAAiBkpB,EAAkB,CAC/BA,EAAiB,YAAYlpB,EAA4C,CAC7E,EAEA,kBAAkB7jB,EAAIotC,EAAkB5Z,EAAW,CAC/C,GAAG,CAACtW,EACA,OAEJ,MAAMvd,EAAyBytC,EAAiB,OAAO,EACjDC,EAAyB,KAAK,cAAc1tC,CAAG,EAC/C2tC,EAAyB,CAAC,EAC1BC,EAAyB/Z,EAAU,QAAQ,EAAE,OAAO,EAE1D,QAAQ9yB,EAAI,EAAIA,EAAI6sC,EAAK,OAAS7sC,IAAI,CAClC,MAAM8sC,EAAkBD,EAAK7sC,CAAC,EACxB+sC,EAAkB,KAAK,cAAcD,CAAU,EACrDF,EAAoB,KAAKG,CAAe,CAC5C,CACA,MAAMC,EAAY1F,KAAW,qBAAAA,EAAA,UAAS,CAAC,GACrB,IAAI,UAAU,EACtB,oBAAoB,CAC1B,QAAW,aACX,YAAe0F,EAAO,aACtB,WAAcL,EACd,eAAkBC,EAClB,YAAe,EACnB,CAAC,CACL,EAEA,cAAc3tC,EAAK,CAEf,OAAO,mBAAmBA,EAAI,QAAQ,OAAO,SAAS,OAAS,GAAO,EAAE,EAAE,QAAQwsC,GAAyB,EAAE,EAAE,MAAM,GAAG,EAAE,CAAC,EAAE,QAAQM,GAAqBD,GAAQ,EAAE,CAAC,CACzK,CACJ,CAEJ,CAEA,SAASU,GAAgBH,EAAiB,CACzCA,EAAiB,YAAY,UAAU,OAAO,MAAM,EACpDA,EAAiB,UAAU,SAAW,GACtCA,EAAiB,UAAU,KAAK,EAChCA,EAAiB,UAAU,oBAAoB,UAAWA,EAAiB,iBAAkB,EAAI,EACjG,SAAS,KAAK,oBAAoB,QAASA,EAAiB,mBAAoB,EAAI,CACrF,CAEA,SAASlJ,GAAkBp5B,EAAOlJ,EAA0B4b,EAAoBC,EAAsBC,EAAqBwvB,EAAqBc,EAAQ,CACpJ,GAAGpsC,EAAyB,SAAU,CAClC,MAAMJ,EAAW,KAAK,MAAMI,EAAyB,QAAQ,EAC7D,QAAQy6B,KAAgB76B,EAAU,CAC9B,MAAMwT,EAAmBxT,EAAS66B,CAAY,EACxC4R,EAAmBj5B,EAAK,iBACxB4B,EAAmB5B,EAAK,cACxBnI,EAAmBmI,EAAK,SAEjCpG,EAAW,OAAO,SAAS,KAC3Bs/B,EAAOt/B,EAAS,QAAQ,WAAW,GAAK,GAAI69B,GAAkCF,GAC9E4B,EAAOv/B,EAAS,QAAQ,WAAW,GAAK,GAAI89B,GAAiCF,GAEpE4B,EAAc,OAAO,SAAS,OAAS,GAAQF,EAAOvB,GAAc,GAAME,GAAS,mBAAmBj+B,CAAQ,EAAIg+B,GAAYE,GAAqBD,GAAS,mBAAmBoB,CAAgB,EAC/LI,EAAc,OAAO,SAAS,OAAS,GAAQF,EAAOxB,GAAc,GAAME,GAAS,mBAAmBj+B,CAAQ,EAAIg+B,GAAYE,GAAqBD,GAAS,mBAAmBoB,CAAgB,EAAIrB,GAAYG,GAAuBF,GAASG,GAI/OtQ,EAAiB,CAAE,YAAA0R,EAA0B,SAAAvhC,EAAoB,cAAe+J,CAAU,EAE1Fg1B,EAAcsB,EAAoB,QAAQ,EAChDtB,EAAY,kBAAkByC,EAAY3R,CAAc,EACxDkP,EAAY,MAAMvP,CAAY,EAC9BuP,EAAY,OAAOyC,CAAU,EAC7BnB,EAAoB,QAAQtB,CAAW,EAEvC,MAAM0C,EAAU,YAAY,IAAM,CAC9B,MAAMC,EAAcrB,EAAoB,YAAY,EAC9CjiC,EAAciiC,EAAoB,mBAAmB,EAErDsB,EADctB,EAAoB,QAAQ,EAChB,OAAO,EAEvC,QAAQnsC,EAAI,EAAGA,EAAIytC,EAAK,OAAQztC,IAAK,CACjC,MAAMssC,EAASmB,EAAKztC,CAAC,EACfmsB,EAASjiB,EAAQoiC,CAAG,EAE1B,GAAIngB,EAAO,iBAMP,GADAqhB,EAAS,OAAOxtC,EAAG,CAAC,EACjB,CAACwtC,EAAS,OAAQ,CACjB,cAAcD,CAAO,EACrB,KACJ,MATwB,CACxB,MAAMG,EAAavhB,EAAO,UAAUmgB,CAAG,EACvCoB,EAAW,KAAK,IAAM,CAAC,CAAC,EAAE,MAAM,IAAM,CAAC,CAAC,EACxCF,EAASxtC,CAAC,EAAI0tC,CAClB,CAOJ,CACJ,EAAGnC,EAAK,CACZ,CACJ,CACJ,CAEA,SAASnI,GAAkBr5B,EAAOlJ,EAA0B,CAE5D,CAEA,SAASwiC,GAAyBt5B,EAAOlJ,EAA0B,CAEnE,CCtMO,SAAS8sC,IAAsB,CAarC,MAXiB,CAEhB,SAASzE,EAAa0E,EAAU,CAEhC,EAEA,SAAU,CAEV,CAED,CAED,CCbA,MAAM,GADc,WACY,MAAM,UAAU,MAEnCC,GAA4C,GAAM,uFAAuF,EACzIC,GAA4C,GAAM,mFAAmF,EACrIC,GAA4C,GAAM,6BAA6B,EAC/EC,GAA4C,GAAM,6BAA6B,ECNrF,MAAMC,EAAa,CACtB,YAAYC,EAAkBC,EAAuB,CACjD,KAAK,gBAAkB,CAAC,EACxB,KAAK,iBAAoBD,GAAuC,KAChE,KAAK,sBAAyBC,GAAiD,IACnF,CAEA,iBAAiBvvC,EAAWC,EAAU,CACxCuvC,GAAkB,KAAK,KAAMxvC,CAAS,GACpB,KAAK,gBAAgBA,CAAS,IAAM,KAAK,gBAAgBA,CAAS,EAAI,CAAC,IAC/E,KAAKC,CAAQ,CACxB,CAEG,oBAAoBD,EAAWC,EAAU,CAC3C,GAAI,KAAK,gBAAgBD,CAAS,EAAG,CACpC,MAAMoF,EAAQ,KAAK,gBAAgBpF,CAAS,EAAE,QAAQC,CAAQ,EAC7DmF,GAAS,GAAM,KAAK,gBAAgBpF,CAAS,EAAE,OAAOoF,EAAO,CAAC,CAChE,CACD,CAEG,cAAcpF,EAAWmL,EAAO,CAClC,MAAMnJ,EAAY,KAAK,gBAAgBhC,CAAS,EAChD,GAAIgC,EACH,QAASZ,EAAI,EAAGA,EAAIY,EAAU,OAAQZ,IACpC,KAAK,iBAAoBY,EAAUZ,CAAC,EAAE,KAAK,KAAK,iBAAkB+J,CAAK,EAAInJ,EAAUZ,CAAC,EAAE+J,CAAK,CAGjG,CACD,CAEA,SAASqkC,GAAkBxvC,EAAW,CACrC,GAAI,OAAK,uBAAyB,KAAK,sBAAsB,SAASA,CAAS,GAG/E,KAAM,eACP,CChCA,MAAMyvC,EAAQ,CAAE,OAAQ,KAAM,QAAS,GAAI,EACrC,GAAS,CAAE,KAAM,OAAQ,MAAO,OAAQ,EAEvC,MAAMC,WAAwBL,EAAa,CACjD,YAAYM,EAAaC,EAAY,CACpC,MAAM,KAAM,CAAC,GAAO,KAAM,GAAO,KAAK,CAAC,EACvC,CAACA,IAAeA,EAAa,CAAC,GAE9B,KAAK,WAAiBA,EACtB,KAAK,aAAiB,KACtB,KAAK,cAAiB,CAAC,EACvB,KAAK,eAAiB,KACtB,KAAK,OAAiB,GACtB,KAAK,IAAiB,EAAY,6BAA6B,EAAE,cAAc,SAAS,EACxF,KAAK,WAAclvC,GAAO,CACtBA,EAAG,SAAW,IAChBivC,EAAY,YAAY,IAAI,CAE9B,CACD,CAEA,eAAgB,CACf,OAAO,KAAK,UACb,CAEA,OAAQ,CACP,KAAK,IAAI,UAAY,EACtB,CAEA,OAAO5H,EAAK,CACX,KAAK,IAAI,YAAYA,CAAG,CACzB,CAEA,OAAQ,CACP,KAAK,IAAI,KAAO,GAChB,KAAK,IAAI,OAAO,EAChB,KAAK,OAAS,GACd,KAAK,cAAc,GAAO,MAAO,CAAC,CAAC,EACnC,OAAO,oBAAoB,UAAW,KAAK,WAAY,EAAI,CAC5D,CAEA,QAAS,CACR,OAAO,KAAK,GACb,CAEA,UAAW,CACV,OAAO,KAAK,MACb,CAEA,MAAO,CACN,SAAS,KAAK,YAAY,KAAK,GAAG,EAClC,KAAK,IAAI,KAAO,GAChB,KAAK,OAAS,GACd,KAAK,cAAc,GAAO,KAAM,CAAC,CAAC,EAClC,OAAO,iBAAiB,UAAW,KAAK,WAAY,EAAI,CACzD,CAEA,iBAAiB8H,EAAO,CACvB,KAAK,IAAI,MAAM,MAAQA,EAAQJ,EAAM,MACtC,CAEA,gBAAgBjmC,EAAM,CACrB,KAAK,IAAI,MAAM,KAAOA,EAAOimC,EAAM,MACpC,CAEA,iBAAiBK,EAAO,CACvB,KAAK,IAAI,MAAM,MAAQA,EAAQL,EAAM,MACtC,CAEA,eAAeM,EAAK,CACnB,KAAK,IAAI,MAAM,IAAMA,EAAMN,EAAM,MAClC,CAEA,kBAAkBO,EAAQ,CACzB,KAAK,IAAI,MAAM,OAASA,EAASP,EAAM,MACxC,CAEA,iBAAiBjmC,EAAM,CACtB,KAAK,IAAI,MAAM,KAAOA,EAAOimC,EAAM,OACpC,CAEA,kBAAkBK,EAAO,CACxB,KAAK,IAAI,MAAM,MAAQA,EAAQL,EAAM,OACtC,CAEA,gBAAgBM,EAAK,CACpB,KAAK,IAAI,MAAM,IAAMA,EAAMN,EAAM,OAClC,CAEA,mBAAmBO,EAAQ,CAC1B,KAAK,IAAI,MAAM,OAASA,EAASP,EAAM,OACxC,CAEA,QAAQjmC,EAAM,CACb,KAAK,IAAI,MAAM,KAAOA,CACvB,CAEA,SAASsmC,EAAO,CACf,KAAK,IAAI,MAAM,MAAQA,CACxB,CAEA,OAAOC,EAAK,CACX,KAAK,IAAI,MAAM,IAAMA,CACtB,CAEA,UAAUC,EAAQ,CACjB,KAAK,IAAI,MAAM,OAASA,CACzB,CAEA,gBAAgBC,EAAc,CAC7B,KAAK,aAAeA,CACrB,CAEA,iBAAiBC,EAAe,CAC/B,KAAK,cAAgB,CAAC,EAAE,OAAOA,CAAa,CAC7C,CAEA,iBAAkB,CACjB,OAAO,KAAK,YACb,CAEA,kBAAmB,CAClB,OAAO,KAAK,aACb,CAEA,mBAAoB,CACnB,OAAO,KAAK,cACb,CAEA,kBAAkBC,EAAgB,CACjC,KAAK,eAAiBA,CACvB,CAEA,YAAY92B,EAAU,CACrB,KAAK,IAAI,UAAU,IAAIA,CAAQ,CAChC,CAEA,uBAAwB,CACvB,OAAO,KAAK,IAAI,sBAAsB,CACvC,CAEA,mBAAoB,CACnB,KAAK,IAAI,MAAM,UAAY,uBAC5B,CAEA,iCAAiC+2B,EAAYC,EAAe,CAC3D,MAAMC,EAAeF,EAAW,OAC1BG,EAAUH,EAAW,EACrBI,EAAcJ,EAAW,MACzBK,EAAUL,EAAW,EAErBM,EAAiBL,EAAc,EAErC,GAAGI,EAAUD,GAAe,WAAW,WAAY,CAClD,MAAMG,EAASF,EAAUD,EAAc,WAAW,WAC5CI,EAAQH,EAAUE,EACxB,KAAK,gBAAgBC,CAAI,CAC1B,CAEGL,EAAUD,GAAgB,WAAW,cAGvC,KAAK,OAAO,IAAI,EAChB,KAAK,kBAAkB,WAAW,YAAcI,CAAc,EAEhE,CACD,CCvKA,MAAMG,GAA2B,CAAE,QAAS,GAAM,QAAS,EAAM,EAC3DC,GAA2B,sBAEjC,MAAMC,EAAY,CACjB,aAAc,CACb,KAAK,YAAmB,CAAC,EACzB,KAAK,iBAAmB,GAExB,KAAK,gBAAkBrwC,GAAM,CACxB,KAAK,kBACRswC,GAAgB,KAAK,KAAMtwC,CAAE,CAE/B,EAEA,KAAK,YAAcA,GAAM,CACxBuwC,GAAY,KAAK,KAAMvwC,CAAE,CAC1B,CACD,CAEA,aAAakvC,EAAY,CACxB,OAAO,IAAIF,GAAgB,KAAME,CAAU,CAC5C,CAEA,qBAAsB,CACrB,OAAO,KAAK,gBACb,CAEA,oBAAoBvqC,EAAM,CACzB,KAAK,iBAAmBA,CACzB,CAEA,WAAW6rC,EAAQ,CACd,KAAK,YAAY,SAAW,IAC/B,SAAS,KAAK,iBAAiB,YAAa,KAAK,gBAAiB,EAAI,EACtE,SAAS,KAAK,iBAAiB,QAAS,KAAK,YAAaL,EAAwB,GAEnF,KAAK,YAAY,KAAKK,CAAM,EAC5BA,EAAO,KAAK,CACb,CAEA,iBAAkB,CACjB,QAAS9vC,EAAI,KAAK,YAAY,OAAS,EAAGA,GAAK,EAAGA,IACjD,KAAK,YAAYA,CAAC,GAAK,KAAK,YAAYA,CAAC,EAAE,MAAM,EAGlD,SAAS,KAAK,oBAAoB,YAAa,KAAK,gBAAiB,EAAI,EACzE,SAAS,KAAK,oBAAoB,QAAS,KAAK,YAAayvC,EAAwB,EACrF,KAAK,YAAc,CAAC,CACrB,CAEA,kBAAkBK,EAAQ,CACzB,MAAM9rC,EAAQ,KAAK,YAAY,QAAQ8rC,CAAM,EAAI,EACjD,GAAI9rC,EAAQ,GACX,QAAShE,EAAI,KAAK,YAAY,OAAS,EAAGA,GAAKgE,EAAOhE,IACrD,KAAK,YAAYA,CAAC,GAAK,KAAK,YAAYA,CAAC,EAAE,MAAM,EACjD,KAAK,YAAY,OAAOA,EAAG,CAAC,CAG/B,CAEA,uBAAwB,CACvB,MAAMgE,EAAQ,KAAK,YAAY,OAAS,EACpCA,EAAQ,KACX,KAAK,YAAYA,CAAK,EAAE,MAAM,EAC9B,KAAK,YAAY,OAAOA,EAAO,CAAC,GAG7B,KAAK,YAAY,QAAU,IAC9B,SAAS,KAAK,oBAAoB,YAAa,KAAK,gBAAiB,EAAI,EACzE,SAAS,KAAK,oBAAoB,QAAS,KAAK,YAAayrC,EAAwB,EAEvF,CAEA,YAAYK,EAAQ,CACnB,MAAM9rC,EAAQ,KAAK,YAAY,QAAQ8rC,CAAM,EAC7C,GAAI9rC,EAAQ,GACX,QAAShE,EAAI,KAAK,YAAY,OAAS,EAAGA,GAAKgE,EAAOhE,IACrD,KAAK,YAAYA,CAAC,GAAK,KAAK,YAAYA,CAAC,EAAE,MAAM,EACjD,KAAK,YAAY,OAAOA,EAAG,CAAC,EAI1B,KAAK,YAAY,QAAU,IAC9B,SAAS,KAAK,oBAAoB,YAAa,KAAK,gBAAiB,EAAI,EACzE,SAAS,KAAK,oBAAoB,QAAS,KAAK,YAAayvC,EAAwB,EAEvF,CACD,CAEA,SAASG,GAAgBtwC,EAAI,CAC5B,MAAMywC,EAAOzwC,EAAG,MAAQA,EAAG,aAAa,EACxC,IAAIwwC,EACAE,EACAC,EACAC,EAEAC,EACJ,QAASnwC,EAAI,EAAGA,EAAI,KAAK,YAAY,OAAQA,IAc5C,GAbA8vC,EAAS,KAAK,YAAY9vC,CAAC,EAE3BmwC,EAA0BJ,EAAK,SAASD,EAAO,kBAAkB,CAAC,EAC9DK,IAICH,IACJA,EAAkBD,EAAK,SAASD,EAAO,OAAO,CAAC,EAC/CE,IAAoBE,EAAeJ,IAEpCG,EAAwBF,EAAK,SAASD,EAAO,gBAAgB,CAAC,EAEzDE,GAAmBC,GAA2B,CAACD,GAAmBC,GACtE,OAIF,MAAMG,EAAgBC,GAAsBN,CAAI,EAE5C,CAACC,GAAmB,CAACC,GAAyB,CAACG,EAClD,KAAK,gBAAgB,EACXJ,GAAmB,CAACC,GAAyB,CAACG,GACxD,KAAK,kBAAkBF,CAAY,CAErC,CAEA,SAASL,GAAYvwC,EAAI,CACxB,MAAMywC,EAAsBzwC,EAAG,MAAQA,EAAG,aAAa,EACjDgxC,EAAsB,KAAK,YAAY,KAAK,YAAY,OAAS,CAAC,EAClEC,EAAsBR,EAAK,SAASO,EAAW,OAAO,CAAC,EACvDF,EAAsBC,GAAsBN,CAAI,EAGhDS,EADkBF,EAAW,cAAc,EACd,UAE/B,CAACC,GAAuB,CAACH,GAAiB,CAACI,IAC9ClxC,EAAG,eAAe,EAClBA,EAAG,gBAAgB,EAErB,CAEA,SAAS+wC,GAAsBN,EAAM,CACpC,IAAIU,EACJ,QAASzwC,EAAI,EAAGA,EAAI+vC,EAAK,OAAQ/vC,IAEhC,GADAywC,EAAUV,EAAK/vC,CAAC,EACZywC,EAAQ,WAAaA,EAAQ,UAAU,SAASf,EAAoB,EACvE,MAAO,GAGT,MAAO,EACR,CAEO,MAAMnB,EAAc,IAAIoB,GCzJzBe,GAA2B,gBAC3BC,GAA2B,aAC3BC,GAA2B,aAC3BC,GAA2B,aAE3B,GAAgB,WAChBC,GAAgB,GAAY,UAAU,QAAQ,cAC9CC,GAAgB,GAAY,UAAU,QAAQ,cAC9CC,GAAgB,MAEf,SAASC,GAAuBC,EAAkB,CACrD,OAAO,KAAK,IAAIA,EAAW,YAAY,EAAGA,EAAW,SAAS,EAAGA,EAAW,QAAQ,EAAGA,EAAW,SAAS,EAAGA,EAAW,WAAW,EAAGA,EAAW,WAAW,EAAG,CAAC,CAErK,CAEO,SAASC,GAAqBr3B,EAAgB,CACjD,GAAGA,IAAc,GACb,OAAO,KAGX,MAAMo3B,EAAa,IAAI,KAAK,OAAOp3B,CAAS,CAAC,EAC7C,MAAO,CACH,KAAMo3B,EAAW,eAAe,EAChC,WAAYA,EAAW,YAAY,EACnC,KAAMA,EAAW,WAAW,EAC5B,MAAOA,EAAW,YAAY,EAC9B,QAASA,EAAW,cAAc,EAClC,QAASA,EAAW,cAAc,EAClC,aAAcA,EAAW,mBAAmB,CAChD,CACJ,CAEO,SAASE,GAA0BC,EAAmB9X,EAAahB,EAAiB,CACvF,GAAG,CAAC8Y,EACA,MAAO,GAIX,MAAMC,EAAe,KAAK,IAAID,EAAa,KAAMA,EAAa,WAAYA,EAAa,IAAI,EAC3F,OAAOP,GAAcQ,EAAc/X,EAAQhB,EAAYyY,EAAa,CACxE,CAEO,SAASO,GAA0BF,EAAmB9X,EAAaiY,EAAiB9Y,EAAgB,CACvG,GAAG,CAAC2Y,EACA,MAAO,GAIX,MAAMC,EAAe,KAAK,IAAID,EAAa,KAAMA,EAAa,WAAYA,EAAa,KAAMA,EAAa,MAAOA,EAAa,QAASA,EAAa,QAASA,EAAa,YAAY,EACtL,OAAON,GAAcO,EAAc/X,EAAQiY,EAAY9Y,EAAWsY,EAAa,CACnF,CC5CA,MAAM,GAAgB,WAAW,OAAO,cAGlC,GAAS,CACd,YAAa,aACb,YAAa,YACd,EACMS,GAAsB,CAAE,OAAQ,QAAS,EACzC,GAAsB,sBAOrB,MAAMC,WAAkBzD,EAAa,CAC3C,YAAY0D,EAAY73B,EAAWyf,EAAQzc,EAAUyb,EAAY15B,EAAU,CAC1E,MAAM,KAAM,CAAC,GAAO,YAAa,GAAO,WAAW,CAAC,EACpD,KAAK,cAAgB,SAAS,cAAc,KAAK,EACjD,KAAK,WAAa8yC,EAClB,KAAK,UAAY73B,EACjB,KAAK,OAASyf,EACd,KAAK,SAAWzc,EAChB,KAAK,WAAayb,EAClB,KAAK,SAAW15B,EAChB,KAAK,SAAW,KAChB,KAAK,aAAe,EACrB,CAEA,MAAO,CAEN,MAAM+yC,EAAwB,KAAK,yBAAyB,EAE5D,IAAIxyC,EAAO,KACX,MAAM8K,EAAU,CACf,WAAY,KAAK,cACjB,KAAKH,EAAO9G,EAAM,CAEjB7D,EAAK,aAAa2K,EAAO9G,EAAMA,EAAK,SAAS,EAC7C7D,EAAK,MAAM,CACZ,EACA,MAAM2K,EAAO9G,EAAM,CAElB7D,EAAK,cAAc2K,EAAO9G,EAAMA,EAAK,SAAS,CAC/C,EACA,iBAAkB8G,EAAO9G,EAAO,CAC/B7D,EAAK,mBAAmB2K,EAAO9G,EAAMA,EAAK,SAAS,CACpD,EACA,OAAO8G,EAAO9G,EAAM,CAEnB7D,EAAK,SAAS2K,EAAO9G,EAAMA,EAAK,UAAW,GAAO,WAAW,CAC9D,EACA,iBAAiB8G,EAAO9G,EAAM,CAE7B7D,EAAK,mBAAmB2K,EAAO9G,EAAMA,EAAK,MAAO,GAAO,WAAW,CACpE,EAIA,MAAO,SAAS8G,EAAO,CACtB3K,EAAK,SAAS2K,EAAO,GAAI,GAAI,GAAO,WAAW,CAChD,EACA,WAAWA,EAAO9G,EAAM,CAEvB7D,EAAK,aAAe,EACrB,EACA,YAAY2K,EAAO9G,EAAM,CAExB7D,EAAK,aAAe,GACpBA,EAAK,cAAc2K,EAAO9G,EAAMA,EAAK,SAAS,CAC/C,EACA,MAAO,KAAK,SAAS,EACrB,OAAQ,KAAK,cAAc,EAC3B,OAAQ,KAAK,OACb,SAAU,KAAK,SACf,OAAQ,GACR,SAAU,KAAK,WAEf,gBAAiBwuC,GAAU,OAC3B,YAAa,CACZ,KAAMG,EAAsB,KAC5B,MAAOA,EAAsB,MAC7B,KAAMA,EAAsB,IAC7B,CACD,EAEA,KAAK,SAAW,WAAW,aAAa,UAAU,KAAK,cAAe1nC,CAAO,CAC9E,CAEA,gBAAiB,CAChB,OAAO,KAAK,YACb,CAEA,cAAe,CACT,KAAK,eAAe,EAGxB,KAAK,MAAM,EAFX,KAAK,KAAK,CAIZ,CAEA,0BAA2B,CAC1B,OAAO+uB,GAAgD,KAAK,UAAU,CACvE,CAEA,mBAAmBlvB,EAAO9G,EAAMi3B,EAAMt7B,EAAW,CAChD,KAAK,SAASmL,EAAO9G,EAAMi3B,EAAMt7B,CAAS,CAC3C,CAEA,mBAAmBmL,EAAO9G,EAAMi3B,EAAM,CACrC,KAAK,UAAY,GAEjBA,IAAS,KAAK,UAAY,KAAK,gBAAgBj3B,EAAMi3B,CAAI,GACzD,KAAK,UAAY,KAAK,SAAS,oBAAsB,KAAK,SAAS,mBAAmB,KAAK,SAAS,CACrG,CAEA,cAAcnwB,EAAO9G,EAAMi3B,EAAM,CAChC,KAAK,UAAY,GAEjBA,IAAS,KAAK,UAAY,KAAK,gBAAgBj3B,EAAMi3B,CAAI,GACzD,KAAK,UAAY,KAAK,SAAS,SAAW,KAAK,SAAS,QAAQ,KAAK,SAAS,CAC/E,CAEA,aAAanwB,EAAO9G,EAAMi3B,EAAM,CAC/B,KAAK,UAAY,GAEjBA,IAAS,KAAK,UAAY,KAAK,gBAAgBj3B,EAAMi3B,CAAI,GACzD,KAAK,UAAY,KAAK,SAAS,QAAU,KAAK,SAAS,OAAO,KAAK,SAAS,CAC7E,CAEA,SAASnwB,EAAO9G,EAAMi3B,EAAMt7B,EAAW,CACtC,KAAK,UAAY,GAEjBs7B,IAAS,KAAK,UAAY,KAAK,gBAAgBj3B,EAAMi3B,CAAI,GACzD,MAAM2X,EAAgB,KAAK,SAAS,EAEpC,KAAK,cAAcjzC,EAAW,IAAIkzC,GAAgB5X,EAAM2X,CAAa,CAAC,EACtE,KAAK,UAAY,KAAK,SAAS,UAAY,KAAK,SAAS,SAAS,KAAK,SAAS,CACjF,CAEA,cAAc9nC,EAAO9G,EAAMi3B,EAAM,CAChC,KAAK,UAAY,GAEjBA,IAAS,KAAK,UAAY,KAAK,gBAAgBj3B,EAAMi3B,CAAI,GACzD,KAAK,UAAY,KAAK,SAAS,eAAiB,KAAK,SAAS,cAAc,KAAK,SAAS,CAC3F,CAEA,UAAW,CACV,GAAI,CAAC,KAAK,UACT,MAAO,GAER,MAAMmX,EAAeF,GAAqB,KAAK,SAAS,EACxD,OAAOC,GAA0BC,EAAc,KAAK,OAAQ,KAAK,UAAU,CAC5E,CAEA,eAAgB,CACf,OAAOtY,GAAoC,KAAK,UAAU,CAC3D,CAEA,QAAS,CACR,OAAO,KAAK,aACb,CAEA,OAAQ,CACP,KAAK,SAAS,MAAM,CACrB,CAEA,YAAa,CACZ,OAAO,KAAK,WAAY,CACvB,KAAK7B,GACJ,KAAK,SAAS,YAAY,GAAG,EAC7B,MAED,KAAKD,GACL,KAAKE,GACJ,KAAK,SAAS,YAAY,GAAG,EAC7B,MAED,KAAKC,GACJ,KAAK,SAAS,YAAY,GAAG,EAC7B,MAED,QACC,MAAM,EACR,CAED,CAEA,MAAO,CACN,KAAK,SAAS,WAAW,CAC1B,CAEA,OAAQ,CACP,KAAK,SAAS,YAAY,CAC3B,CAEA,SAAU,CACT,SAAS,cAAc,KAAK,EAC5B,KAAK,UAAY,KAAK,SAAS,QAAQ,CACxC,CAEA,SAAStd,EAAW,CACnB,KAAK,UAAYA,EACjB,MAAMogB,EAAO,KAAK,SAAS,EAC3B,KAAK,SAAS,SAASA,CAAI,CAC5B,CAEA,gBAAgBj3B,EAAMi3B,EAAM,CAC3B,OAAO6X,GAAgB,KAAK,KAAM9uC,EAAMi3B,CAAI,CAC7C,CACD,CAEA,MAAM4X,EAAgB,CACrB,YAAY5X,EAAM2X,EAAe,CAChC,KAAK,KAAO3X,EACZ,KAAK,cAAgB2X,CACtB,CACD,CAEO,SAASE,GAAgB9uC,EAAMi3B,EAAM,CA0B3C,GAAGj3B,EAAK,iBAAiB,KAAM,CAC9B,MAAMi3B,EAAOj3B,EAAK,MAClB,OAAOguC,GAAuB/W,CAAI,CACnC,CAEA,OAAGA,aAAgB,KACX+W,GAAuB/W,CAAI,EAG5B,EAER,CC9PA,MAAM,GAAgB,WAAW,OAC3B,GAAgB,GAAO,cACvB,GAAgB,GAAO,cAEvB,EAAS,CACd,YAAa,aACb,YAAa,YACd,EACM,GAAY,CAAE,OAAQ,QAAS,EAE9B,MAAM8X,WAAsB/D,EAAY,CAC9C,YACC0D,EACA73B,EACAyf,EACAzc,EACAyb,EACAiZ,EACA9Y,EACAuZ,EACApzC,EACC,CACD,MAAM,KAAM,CAAC,EAAO,YAAa,EAAO,WAAW,CAAC,EACpD,KAAK,cAAgB,SAAS,cAAc,KAAK,EACjD,KAAK,WAAa8yC,EAClB,KAAK,UAAY73B,EACjB,KAAK,OAASyf,EACd,KAAK,SAAWzc,EAChB,KAAK,WAAayb,EAClB,KAAK,WAAaiZ,EAClB,KAAK,UAAY9Y,EACjB,KAAK,UAAYuZ,EACjB,KAAK,SAAWpzC,EAChB,KAAK,SAAW,KAChB,KAAK,aAAe,EACrB,CAEA,MAAO,CAEN,MAAM+yC,EAAwB,KAAK,yBAAyB,EACtDM,EAAwB,KAAK,yBAAyB,EAE5D,IAAI9yC,EAAO,KACX,MAAM8K,EAAU,CACf,WAAY,KAAK,cACjB,KAAKH,EAAO9G,EAAM,CAGjB7D,EAAK,aAAa2K,EAAO9G,EAAMA,EAAK,SAAS,CAC9C,EACA,MAAM8G,EAAO9G,EAAM,CAElB7D,EAAK,cAAc2K,EAAO9G,EAAMA,EAAK,SAAS,CAC/C,EACA,iBAAkB8G,EAAO9G,EAAO,CAC/B7D,EAAK,mBAAmB2K,EAAO9G,EAAMA,EAAK,SAAS,CACpD,EACA,OAAO8G,EAAO9G,EAAM,CAEnB7D,EAAK,SAAS2K,EAAO9G,EAAMA,EAAK,UAAW,EAAO,WAAW,CAC9D,EACA,iBAAiB8G,EAAO9G,EAAM,CAE7B7D,EAAK,mBAAmB2K,EAAO9G,EAAMA,EAAK,MAAO,EAAO,WAAW,CACpE,EACA,iBAAiB8G,EAAO9G,EAAM,CAEzBA,EAAK,MAGR7D,EAAK,2BAA2B2K,EAAO9G,EAAMA,EAAK,MAAO,EAAO,WAAW,EAF3E7D,EAAK,8BAA8B2K,EAAO9G,EAAMA,EAAK,aAAc,EAAO,WAAW,CAIvF,EAIA,MAAO,SAAS8G,EAAO,CACtB3K,EAAK,SAAS2K,EAAO,GAAI,GAAI,EAAO,WAAW,CAChD,EACA,WAAWA,EAAO9G,EAAM,CAEvB7D,EAAK,aAAe,EACrB,EACA,YAAY2K,EAAO9G,EAAM,CAExB7D,EAAK,aAAe,GACpBA,EAAK,cAAc2K,EAAO9G,EAAMA,EAAK,SAAS,CAC/C,EACA,MAAO,KAAK,SAAS,EACrB,OAAQ,KAAK,cAAc,EAC3B,OAAQ,KAAK,OACb,SAAU,KAAK,SACf,OAAQ,GACR,SAAU,KAAK,WAEf,gBAAiB,GAAU,OAC3B,YAAa,CAEZ,KAAM2uC,EAAsB,KAC5B,MAAOA,EAAsB,MAC7B,KAAMA,EAAsB,KAC5B,KAAMM,EAAsB,KAC5B,OAAQA,EAAsB,OAC9B,OAAQA,EAAsB,MAC/B,CACD,EAEAA,EAAsB,SAAWhoC,EAAQ,YAAY,OAASgoC,EAAsB,QAEpF,KAAK,SAAW,WAAW,aAAa,cAAc,KAAK,cAAehoC,CAAO,CAClF,CAEA,gBAAiB,CAChB,OAAO,KAAK,YACb,CAEA,cAAe,CACT,KAAK,eAAe,EAGxB,KAAK,MAAM,EAFX,KAAK,KAAK,CAIZ,CAEA,0BAA2B,CAC1B,OAAO+uB,GAAgD,KAAK,UAAU,CACvE,CAEA,0BAA2B,CAC1B,OAAOC,GAAgD,KAAK,SAAS,CACtE,CAEA,mBAAmBnvB,EAAO9G,EAAMi3B,EAAMt7B,EAAW,CAChD,KAAK,SAASmL,EAAO9G,EAAMi3B,EAAMt7B,CAAS,CAC3C,CAEA,mBAAmBmL,EAAO9G,EAAMi3B,EAAM,CACrC,KAAK,UAAY,GAEjBA,IAAS,KAAK,UAAY,KAAK,gBAAgBj3B,EAAMi3B,CAAI,GACzD,KAAK,UAAY,KAAK,SAAS,oBAAsB,KAAK,SAAS,mBAAmB,KAAK,SAAS,CACrG,CAEA,2BAA2BnwB,EAAO9G,EAAMi3B,EAAMt7B,EAAW,CACxD,KAAK,SAASmL,EAAO9G,EAAMi3B,EAAMt7B,CAAS,CAC3C,CAEA,8BAA8BmL,EAAO9G,EAAMi3B,EAAMt7B,EAAW,CAE3D,KAAK,UAAY,KAAK,gBAAgBqE,EAAMi3B,CAAI,EAChD,KAAK,SAAS,KAAK,SAAS,EAC5B,KAAK,SAASnwB,EAAO9G,EAAMi3B,EAAMt7B,CAAS,CAC3C,CAEA,cAAcmL,EAAO9G,EAAMi3B,EAAM,CAChC,KAAK,UAAY,GAEjBA,IAAS,KAAK,UAAY,KAAK,gBAAgBj3B,EAAMi3B,CAAI,GACzD,KAAK,UAAY,KAAK,SAAS,SAAW,KAAK,SAAS,QAAQ,KAAK,SAAS,CAC/E,CAEA,aAAanwB,EAAO9G,EAAMi3B,EAAM,CAC/B,KAAK,UAAY,GAEjBA,IAAS,KAAK,UAAY,KAAK,gBAAgBj3B,EAAMi3B,CAAI,GACzD,KAAK,UAAY,KAAK,SAAS,QAAU,KAAK,SAAS,OAAO,KAAK,SAAS,CAC7E,CAEA,SAASnwB,EAAO9G,EAAMi3B,EAAMt7B,EAAW,CAEtC,KAAK,UAAY,KAAK,gBAAgBqE,EAAMi3B,CAAI,EAChD,MAAM2X,EAAgB,KAAK,SAAS,EAEpC,KAAK,cAAcjzC,EAAW,IAAI,GAAgBs7B,EAAM2X,CAAa,CAAC,EACtE,KAAK,UAAY,KAAK,SAAS,UAAY,KAAK,SAAS,SAAS,KAAK,SAAS,CACjF,CAEA,cAAc9nC,EAAO9G,EAAMi3B,EAAM,CAChC,KAAK,UAAY,GAEjBA,IAAS,KAAK,UAAY,KAAK,gBAAgBj3B,EAAMi3B,CAAI,GACzD,KAAK,UAAY,KAAK,SAAS,eAAiB,KAAK,SAAS,cAAc,KAAK,SAAS,CAC3F,CAEA,UAAW,CACV,GAAI,CAAC,KAAK,UACT,MAAO,GAER,MAAMmX,EAAeF,GAAqB,KAAK,SAAS,EAClDjX,EAAekX,GAA0BC,EAAc,KAAK,OAAQ,KAAK,UAAU,EACnFlX,EAAeoX,GAA0BF,EAAc,KAAK,OAAQlY,GAAyB,KAAK,SAAS,EACjH,OAAOe,EAAO,KAAK,UAAYC,CAChC,CAEA,eAAgB,CACf,MAAM5B,EAAaQ,GAAoC,KAAK,UAAU,EAChEyY,EAAaxY,GAAoC,KAAK,SAAS,EACrE,OAAOT,EAAa,KAAK,UAAYiZ,CACtC,CAEA,QAAS,CACR,OAAO,KAAK,aACb,CAEA,OAAQ,CACP,KAAK,SAAS,MAAM,CACrB,CAEA,YAAa,CACZ,OAAO,KAAK,WAAY,CACvB,KAAKta,GACJ,KAAK,SAAS,YAAY,GAAG,EAC7B,MAED,KAAKD,GACL,KAAKE,GACJ,KAAK,SAAS,YAAY,GAAG,EAC7B,MAED,KAAKC,GACJ,KAAK,SAAS,YAAY,GAAG,EAC7B,MAED,QACC,MAAM,mBACR,CAED,CAEA,MAAO,CACN,KAAK,SAAS,WAAW,CAC1B,CAEA,OAAQ,CACP,KAAK,SAAS,YAAY,CAC3B,CAEA,SAAU,CACT,SAAS,cAAc,KAAK,EAC5B,KAAK,UAAY,KAAK,SAAS,QAAQ,CACxC,CAEA,SAAStd,EAAW,CACnB,KAAK,UAAYA,EACjB,MAAMogB,EAAO,KAAK,SAAS,EAC3B,KAAK,SAAS,SAASA,CAAI,CAC5B,CAEA,gBAAgBj3B,EAAMi3B,EAAM,CAC3B,OAAO6X,GAAgB,KAAK,KAAM9uC,EAAMi3B,CAAI,CAC7C,CACD,CAEA,MAAM,EAAgB,CACrB,YAAYA,EAAM2X,EAAe,CAChC,KAAK,KAAO3X,EACZ,KAAK,cAAgB2X,CACtB,CACD,CCvQO,MAAMM,GAAiC,MAAM,UAAU,MAAM,kCAAkC,EACzFC,GAAiC,MAAM,UAAU,MAAM,kCAAkC,EACzFC,GAAiC,MAAM,UAAU,MAAM,kCAAkC,EACzFC,GAAiC,MAAM,UAAU,MAAM,uCAAuC,EAC9FC,GAAiC,MAAM,UAAU,MAAM,mCAAmC,EAC1FC,GAAiC,MAAM,UAAU,MAAM,6CAA6C,EACpGC,GAAiC,MAAM,UAAU,MAAM,2CAA2C,EAClGC,GAAiC,MAAM,UAAU,MAAM,4CAA4C,EAEzG,SAASC,GAA+BC,EAAWrZ,EAAQzc,EAAUyb,EAAYiZ,EAAY9Y,EAAWuZ,EAAWY,EAAcC,EAAiB,CACxJ,OAAKpa,EAGE,IAAIsZ,GAAc,GAAOY,EAAWrZ,EAAQzc,EAAUyb,EAAYiZ,EAAY9Y,EAAWuZ,EAAWY,EAAcC,CAAe,EAFhI,IAAIpB,GAAU,GAAOkB,EAAWrZ,EAAQzc,EAAUyb,EAAYsa,EAAcC,CAAe,CAGpG,CAEO,SAASC,GAAgBr8B,EAAc,CAC7C,QAAS1W,EAAI,EAAGA,EAAI0W,EAAa,OAAQ1W,IACxC0W,EAAa1W,CAAC,EAAI0W,EAAa1W,CAAC,EAAE,SAAS,EAE5C,OAAO0W,CACR,CAEO,SAASs8B,IAAqB,CACpC,OAAO,KAAK,OAAO,EAAE,SAAS,CAC/B,CAEO,SAASC,GAA0BnD,EAAQoD,EAAY,CAC7DpD,EAAO,gBAAgB,EAAE,EACzBA,EAAO,eAAe,EAAE,EAGxB,MAAMZ,EADeY,EAAO,sBAAsB,EAClB,OAERoD,EAAW,OAAShE,GACzB,WAAW,YAAcY,EAAO,eAAeoD,EAAW,IAAMhE,CAAY,EAAIY,EAAO,eAAeoD,EAAW,MAAM,EAC1IpD,EAAO,gBAAgBoD,EAAW,IAAI,CACvC,CCvCO,SAASC,GAAe,CAAE,MAAAvJ,CAAM,EAAG5e,EAAqBooB,EAAYvI,EAAawI,EAAeC,EAAmBC,EAAe,CAExI,OADY3J,EACC,CACZ,IAAK,IACJ,MAED,QACC,GAAIwJ,IAAe,GAAI,CAEtB,MAAMI,EAAsBJ,EAAW,YAAY,EAE7CK,EAAoB,CAAC,EACrBC,EAAoB,CAAC,EACrBC,EAAoB,CAAC,EACrBC,EAAoB,CAAC,EAE3B,QAAS5zC,EAAI,EAAGA,EAAIqzC,EAAc,OAAQrzC,IAAK,CAE9C,MAAM8J,EAASupC,EAAcrzC,CAAC,EACxBmsB,EAASmnB,EAAkBxpC,CAAE,EAC7BlK,EAASusB,EAAO,QAAQ,EAAE,YAAY,EAExCvsB,EAAK,WAAW4zC,CAAmB,GACtCC,EAAc,KAAK3pC,CAAE,EACrB6pC,EAAkB,KAAKxnB,CAAM,GACnBvsB,EAAK,SAAS4zC,CAAmB,IAC3CE,EAAY,KAAK5pC,CAAE,EACnB8pC,EAAgB,KAAKznB,CAAM,EAE7B,CACA,MAAM0nB,EAAgBJ,EAAc,OAAOC,CAAW,EAChDI,EAAgBH,EAAkB,OAAOC,CAAe,EAE9D5oB,EAAoB,MAAM,EAC1BA,EAAoB,cAAc6oB,EAAWC,EAAejJ,CAAW,EAEvE,MAAM1e,EAASnB,EAAoB,UAAU,CAAC,EAC9CA,EAAoB,gBAAgBmB,CAAM,CAE3C,MACConB,EAAc,CAEjB,CACD,CAEO,SAASQ,GAA2B,CAAE,MAAAnK,CAAM,EAAG5e,EAAqBooB,EAAYvI,EAAawI,EAAeC,EAAmBU,EAAcC,EAAgBC,EAAmBC,EAAqBC,EAAsBC,EAAwBd,EAAe,CAExQ,OADY3J,EACC,CACZ,IAAK,IACJ,MAED,QACC,GAAIwJ,IAAe,GAAI,CAEtB,MAAMI,EAAsBJ,EAAW,YAAY,EAE7CK,EAAoB,CAAC,EACrBC,EAAoB,CAAC,EACrBC,EAAoB,CAAC,EACrBC,EAAoB,CAAC,EAErBU,EAAyB,CAAC,EAC1BC,EAAyB,CAAC,EAC1BC,EAAyB,CAAC,EAC1BC,EAAyB,CAAC,EAEhC,QAASz0C,EAAI,EAAGA,EAAIqzC,EAAc,OAAQrzC,IAAK,CAE9C,MAAM8J,EAASupC,EAAcrzC,CAAC,EACxBmsB,EAASmnB,EAAkBxpC,CAAE,EAEnC,IAAIlK,EAAMgU,EACPogC,EAAalqC,CAAE,GACjBlK,EAAUs0C,EAAkBpqC,CAAE,EAC9B8J,EAAUwgC,EAAqBtqC,CAAE,GACxBmqC,EAAenqC,CAAE,IAC1BlK,EAAUu0C,EAAoBrqC,CAAE,EAChC8J,EAAUygC,EAAuBvqC,CAAE,GAGpClK,EAAUA,EAAK,YAAY,EAC3BgU,EAAUA,EAAQ,YAAY,EAE1BhU,EAAK,WAAW4zC,CAAmB,GACtCC,EAAc,KAAK3pC,CAAE,EACrB6pC,EAAkB,KAAKxnB,CAAM,GACnBvsB,EAAK,SAAS4zC,CAAmB,IAC3CE,EAAY,KAAK5pC,CAAE,EACnB8pC,EAAgB,KAAKznB,CAAM,GAGxBvY,EAAQ,WAAW4/B,CAAmB,GACzCc,EAAmB,KAAKxqC,CAAE,EAC1B0qC,EAAuB,KAAKroB,CAAM,GACxBvY,EAAQ,SAAS4/B,CAAmB,IAC9Ce,EAAiB,KAAKzqC,CAAE,EACxB2qC,EAAqB,KAAKtoB,CAAM,EAElC,CACA,MAAMuoB,EAA0BjB,EAAc,OAAOC,CAAW,EAC1DiB,EAA0BhB,EAAkB,OAAOC,CAAe,EAClEgB,EAA0BN,EAAmB,OAAOC,CAAgB,EACpEM,EAA0BL,EAAuB,OAAOC,CAAoB,EAElFG,EAAoB,QAAQ,CAAC9qC,EAAI9F,IAAU,CACvCyvC,EAAc,SAAS3pC,CAAE,IAC3B8qC,EAAoB,OAAO5wC,EAAO,CAAC,EACnC6wC,EAAwB,OAAO7wC,EAAO,CAAC,EAEzC,CAAC,EAED,MAAM6vC,EAAgBa,EAAe,OAAOE,CAAmB,EACzDd,EAAgBa,EAAmB,OAAOE,CAAuB,EAEvE7pB,EAAoB,MAAM,EAC1BA,EAAoB,cAAc6oB,EAAWC,EAAejJ,CAAW,EAEvE,MAAMiK,EAAe9pB,EAAoB,UAAU,CAAC,EACpDA,EAAoB,gBAAgB8pB,CAAY,CAEjD,MACCvB,EAAc,CAEjB,CACD,CCxHA,MAAM,GAAsB,WAAW,oBAAoB,WAAW,UAE/D,SAASwB,IAA6C,CAmB5D,MAjBiB,CAEhB,SAASC,EAAsBlrC,EAAIvJ,EAAQ,CAC1C,MAAM2oC,EAAc8L,EAAqB,QAAQ,EAChDz0C,EAAoC2oC,EAAY,MAAMp/B,CAAE,EAA/Co/B,EAAY,SAASp/B,CAAE,EACbo/B,EAAY,eAAe,EACnC,OAAS8L,EAAqB,mBAAmB,EAAIA,EAAqB,mBAAmB,CAC1G,EAEA,eAAeA,EAAsB,CACpC,MAAMxa,EAAc,CAAC,EACf0O,EAAc8L,EAAqB,QAAQ,EACjD9L,EAAY,eAAe1O,CAAW,EACtCwa,EAAqB,uBAAuB9L,CAAW,CACxD,CAED,CAED,CAEO,SAAS+L,IAA6C,CAC5D,IAAInF,EACAoF,EAEJ,MAAMC,EAAiB,CAEtB,SAASH,EAAsBlrC,EAAIvJ,EAAQ60C,EAAmB,CAC7D,MAAMlM,EAAc8L,EAAqB,QAAQ,EAC7Cz0C,GACS60C,EAAkB,UAAU,EACxClM,EAAY,MAAMp/B,CAAE,IAERsrC,EAAkB,aAAa,EAC3ClM,EAAY,SAASp/B,CAAE,GAExBkrC,EAAqB,QAAQ9L,CAAW,CACzC,EAEA,QAAQ8L,EAAsBlrC,EAAIvJ,EAAQ60C,EAAmB,CAC5D,KAAK,SAASJ,EAAsBlrC,EAAIvJ,EAAQ60C,CAAiB,CAClE,EAEA,QAAQ91C,EAAI01C,EAAsB5B,EAAY,CAC7C,MAAMlK,EAAoB8L,EAAqB,QAAQ,EACjD3B,EAAoBnK,EAAY,+BAA+B,EAC/DoK,EAAoBpK,EAAY,uBAAuB,EAE9CmM,EAAyBnM,EAAY,kBAAkB,EAYtE6K,GAA2Bz0C,EAAI41C,EAAqB9B,EAAYlK,EAAamK,EAAeC,EAXpD3/B,GAAU0hC,EAAe,aAAa1hC,CAAM,EAC5CA,GAAU0hC,EAAe,eAAe1hC,CAAM,EAC7C2hC,GAAiBD,EAAe,kBAAkBC,CAAY,EAC9DC,GAAmBF,EAAe,oBAAoBE,CAAc,EACpED,GAAiBD,EAAe,qBAAqBC,CAAY,EACjEC,GAAmBF,EAAe,uBAAuBE,CAAc,EAE1F,IAAM,CAC3BL,EAAoB,MAAM,EAC1BA,EAAoB,kCAAkChM,CAAW,CAClE,CACgP,CACjP,EAEA,SAAU,CACV,EAEA,QAAS,CACT,CAED,EAyCA,MAvCiB,CAEhB,gBAAgB5pC,EAAI01C,EAAsBQ,EAAQ,CACjD,GAAI,CAAC1F,EAAQ,CACZA,EAAsBvB,EAAY,aAAa,EAC/C2G,EAAsB,IAAI,GAAoBF,EAAsBG,CAAc,EAClF,MAAMxO,EAAgBuO,EAAoB,OAAO,EACjDpF,EAAO,OAAOnJ,CAAG,EACjBmJ,EAAO,gBAAgB0F,CAAM,EAC7BN,EAAoB,eAAelH,EAAuB,EAE1D8B,EAAO,iBAAiB,OAAQxwC,GAAM,CACrC41C,EAAoB,MAAM,CAC3B,CAAC,EAEDpF,EAAO,iBAAiB,QAASxwC,GAAM,CACtC,SAAS,cAAc,KAAK,EAC5B01C,EAAqB,MAAM,CAC5B,CAAC,CACF,CAEA,GAAKlF,EAAO,SAAS,EAOpBvB,EAAY,YAAYuB,CAAM,MAPP,CACvB,MAAM5G,EAAc8L,EAAqB,QAAQ,EACjDE,EAAoB,MAAM,EAC1BA,EAAoB,kCAAkChM,CAAW,EACjEqF,EAAY,WAAWuB,CAAM,EAC7BmD,GAA0BnD,EAAQ0F,EAAO,sBAAsB,CAAC,CACjE,CAGD,EAEA,mBAAmBl2C,EAAI01C,EAAsBlrC,EAAI,CAChD,MAAMo/B,EAAc8L,EAAqB,QAAQ,EACjD9L,EAAY,SAASp/B,CAAE,EACvBkrC,EAAqB,QAAQ9L,CAAW,CACzC,CAED,CAED,CClHA,MAAM,GAAsB,WAAW,oBAAoB,WAAW,UAE/D,SAASuM,IAA8C,CAmB7D,MAjBiB,CAEhB,SAASC,EAAuB5rC,EAAIvJ,EAAQo1C,EAAoB,CAC/DD,EAAsB,cAAc5rC,CAAE,EAGb,CAFL4rC,EAAsB,QAAQ,EAEZ,SAAS,EAC5BA,EAAsB,mBAAmB,EAAIA,EAAsB,mBAAmB,CAC1G,EAEA,eAAeA,EAAuB,CACrCA,EAAsB,cAAc,IAAI,EACxC,MAAMxM,EAAcwM,EAAsB,QAAQ,EAClDA,EAAsB,uBAAuBxM,CAAW,CACzD,CAED,CAED,CAEO,SAAS0M,IAA8C,CAC7D,IAAI9F,EACAoF,EAEJ,MAAMC,EAAiB,CAEtB,QAAQO,EAAuB5rC,EAAI,CAClC,MAAMo/B,EAAcwM,EAAsB,QAAQ,EAClDxM,EAAY,UAAUp/B,CAAE,EACxB4rC,EAAsB,QAAQxM,CAAW,EACzCqF,EAAY,YAAYuB,CAAM,CAC/B,EAEA,QAAQ4F,EAAuB5rC,EAAI,CAClC,KAAK,QAAQ4rC,EAAuB5rC,CAAE,CACvC,EAEA,QAAQxK,EAAIo2C,EAAuBtC,EAAY,CACrC,MAAMlK,EAAoBwM,EAAsB,QAAQ,EAC3DrC,EAAoBnK,EAAY,iBAAiB,EACjDoK,EAAoBpK,EAAY,uBAAuB,EAE9CmM,EAAyBnM,EAAY,kBAAkB,EAatE6K,GAA2Bz0C,EAAI41C,EAAqB9B,EAAYlK,EAAamK,EAAeC,EAZpD3/B,GAAU0hC,EAAe,aAAa1hC,CAAM,EAC5CA,GAAU0hC,EAAe,eAAe1hC,CAAM,EAC7C2hC,GAAiBD,EAAe,kBAAkBC,CAAY,EAC9DC,GAAmBF,EAAe,oBAAoBE,CAAc,EACpED,GAAiBD,EAAe,qBAAqBC,CAAY,EACjEC,GAAmBF,EAAe,uBAAuBE,CAAc,EAE1F,IAAM,CAC3BL,EAAoB,MAAM,EAC1BA,EAAoB,YAAY,EAChCA,EAAoB,mCAAmChM,CAAW,CACnE,CACgP,CACjP,EAEA,SAAU,CACV,EAEA,QAAS,CACT,EAEA,gBAAgBwM,EAAuB,CACtC,MAAMxM,EAAcwM,EAAsB,QAAQ,EAClDxM,EAAY,UAAU,IAAI,EAC1BwM,EAAsB,QAAQxM,CAAW,EACzCqF,EAAY,YAAYuB,CAAM,CAC/B,CACD,EAmCA,MAjCiB,CAEhB,gBAAgB4F,EAAuBF,EAAQ,CAC9C,GAAI,CAAC1F,EAAQ,CACZA,EAAsBvB,EAAY,aAAa,EAC/C2G,EAAsB,IAAI,GAAoBQ,EAAuBP,CAAc,EACnF,MAAMxO,EAAgBuO,EAAoB,OAAO,EACjDpF,EAAO,OAAOnJ,CAAG,EACjBmJ,EAAO,gBAAgB0F,CAAM,EAC7BN,EAAoB,eAAelH,EAAuB,EAE1D8B,EAAO,iBAAiB,OAAQxwC,GAAM,CACrC41C,EAAoB,MAAM,CAC3B,CAAC,EAEDpF,EAAO,iBAAiB,QAASxwC,GAAM,CACtC,SAAS,cAAc,KAAK,EAC5Bo2C,EAAsB,MAAM,CAC7B,CAAC,CACF,CAEA,GAAK5F,EAAO,SAAS,EAQpBvB,EAAY,YAAYuB,CAAM,MARP,CACvB,MAAM5G,EAAcwM,EAAsB,QAAQ,EAClDR,EAAoB,MAAM,EAC1BA,EAAoB,YAAY,EAChCA,EAAoB,mCAAmChM,CAAW,EAClEqF,EAAY,WAAWuB,CAAM,EAC7BmD,GAA0BnD,EAAQ0F,EAAO,sBAAsB,CAAC,CACjE,CAGD,CACD,CAED,CCnHA,MAAMK,GAA2B,wJAC3BC,GAA2B,8HAC3BC,GAA2B,yDAC3BC,GAA2B,iBAC3BC,GAA2B,mBAC3BC,GAA2B,mCAC3BC,GAA2B,oBAE3BC,GAAuC,MACvCC,GAAuC,UACvCC,GAAuC,0BACvCC,GAAuC,eAEvCC,GAAmB,uCACnB,GAAmB,IACnB,GAAmB,IAElB,SAASC,GAAe7iC,EAAS,CACpC,OAAOiiC,GAAqB,KAAKjiC,CAAO,CAC5C,CAEO,SAAS8iC,GAAWpK,EAAK,CAC5B,OAAOwJ,GAAgB,KAAKxJ,CAAG,CACnC,CAEO,SAASqK,GAAmBC,EAAa,CAC5C,OAAOb,GAAyB,KAAKa,CAAW,CACpD,CAEO,SAASC,GAAuB5zC,EAAM,CACzC,OAAO+yC,GAAmB,KAAK/yC,CAAI,CACvC,CAEO,SAAS6zC,GAAwB7zC,EAAM,CAC1C,OAAOgzC,GAAoB,KAAKhzC,CAAI,CACxC,CAEO,SAAS8zC,GAAyB9zC,EAAM,CAC3C,OAAOizC,GAAqB,KAAKjzC,CAAI,CACzC,CAEO,SAAS+zC,GAA4B/zC,EAAM,CAC9C,OAAOkzC,GAAyB,KAAKlzC,CAAI,CAC7C,CAEO,SAASg0C,GAA4Bh0C,EAAM,CAC9C,MAAMi0C,EAA4Bj0C,EAAK,WAAWmzC,GAAgC,EAAE,EAC9Ee,EAA4BC,GAAwBF,CAAO,EACjE,OAAOG,GAAkBF,CAAyB,CACtD,CAEO,SAASG,GAA6Br0C,EAAM,CAC/C,MAAMi0C,EAA4Bj0C,EAAK,WAAWozC,GAAiC,EAAE,EAC/Ec,EAA4BC,GAAwBF,CAAO,EACjE,OAAOG,GAAkBF,CAAyB,CACtD,CAEO,SAASI,GAA8Bt0C,EAAM,CAChD,MAAMi0C,EAA4Bj0C,EAAK,WAAWqzC,GAAkC,EAAE,EAChFa,EAA4BC,GAAwBF,CAAO,EACjE,OAAOG,GAAkBF,CAAyB,CACtD,CAEO,SAASK,GAAiCv0C,EAAM,CACnD,OAAOA,EAAK,WAAWszC,GAAsC,EAAE,CACnE,CAEA,SAASa,GAAwBn0C,EAAM,CACnC,GAAGA,IAAS,GACR,MAAO,GAIX,MAAMw0C,EAAax0C,EAAK,QAAQ,EAAK,EACrC,GAAGw0C,GAAc,GACb,OAAOx0C,EAIX,MAAMy0C,EAAiBz0C,EAAK,YAAY,EAAK,EAC7C,OAAGw0C,IAAeC,GAAkBD,IAAe,EACxCx0C,EAGJ,EACX,CAEA,SAASo0C,GAAkBp0C,EAAM,CAC7B,MAAM00C,EAAW10C,EAAK,QAAQ,EAAG,EACjC,GAAG00C,GAAY,GACX,OAAO10C,EAIX,MAAM20C,EAAe30C,EAAK,YAAY,EAAG,EACzC,GAAG00C,IAAaC,EACZ,OAAO30C,EAIX,MAAM40C,EAAW50C,EAAK,SAAS,KAAK,EACpC,IAAIpD,EAAQ,EACZ,OAAY,CAER,MAAMi4C,EADeD,EAAS,KAAK,EACD,MAAM,MAExC,GADA,EAAEh4C,EACCA,IAAU,EAET,OADwBoD,EAAK,UAAU,EAAG60C,CAAW,CAG7D,CACJ,CAEO,SAASC,GAAgCC,EAAe,CAC3D,MAAMC,EAAe,CAAC,GAAGD,EAAc,SAAS,qdAAqd,CAAC,EAEtgB,GAAGC,EAAa,OAAQ,CACpB,IAAIC,EAAsBF,EACtBG,EAAsB,EAE1B,MAAMC,EAAc,CAAC,EACrB,OAAAH,EAAa,QAAQI,GAAmB,CACpC,MAAMC,EAAoBD,EAAgB,CAAC,EACrCE,EAAoBF,EAAgB,MACpCG,EAAoBD,EAAaJ,EAEvC,IAAIM,EAAaP,EAAY,UAAU,EAAGM,CAAiB,EAC3DJ,EAAY,KAAK,CAAC,KAAMK,CAAU,CAAC,EAEnC,MAAMC,EAAgBJ,EAAW,MAAM,oIAAoI,EACrKK,EAAgBL,EAAW,MAAM,+CAA+C,EAChFM,EAAgBN,EAAW,MAAM,wSAAwS,EAE5UI,EACCN,EAAY,KAAK,CAAC,IAAKE,CAAU,CAAC,EAC7BK,EACLP,EAAY,KAAK,CAAC,MAAOE,CAAU,CAAC,EAC/BM,IAEyBC,GAAoCP,CAAU,IAEpDA,EAAW,MAAM9B,EAAgB,EAEjDiC,EAAa,IAEbA,EAAa,KAKjBA,EAGyBA,EAAWA,EAAW,OAAS,CAAC,EAAE,MAAM,MAAM,EACpDL,EAAY,KAAK,CAAC,IAAKE,CAAU,CAAC,EAAIF,EAAY,KAAK,CAAC,KAAME,CAAU,CAAC,EAH5FF,EAAY,KAAK,CAAC,IAAKE,CAAU,CAAC,GAO1C,MAAMQ,EAAmBR,EAAW,OACpCJ,EAAyBA,EAAY,UAAUM,EAAoBM,EAAkBZ,EAAY,MAAM,EACvGC,EAAyBI,EAAaO,CAC1C,CAAC,EACDV,EAAY,KAAK,CAAC,KAAMF,CAAW,CAAC,EAC7BE,CACX,CAEA,MAAO,CAAC,CAAC,KAAMJ,CAAa,CAAC,CACjC,CAEA,SAASa,GAAoCE,EAAa,CAGtD,OAF0BA,EAAY,WAAW,IAAM,EAAE,EACb,WAAW,MAAO,EAAE,IACzC,EAC3B,CC3KO,SAASC,GAAoBC,EAAU,CA+B7C,MA9BiB,CAEhB,SAAU,CACV,EAEA,QAAQ/P,EAAa,CACrB,EAEA,QAAQA,EAAa,CACrB,EAEA,OAAOA,EAAa,CACnB,MAAMnqC,EAAQmqC,EAAY,SAAS,EACnC,GAAG,CAACnqC,EAAO,CACVk6C,EAAS,iBAAiB,EAC1BA,EAAS,iBAAiB,EAC1B,MACD,CAEkBlC,GAAyBh4C,CAAK,GAK/Ck6C,EAAS,iBAAiB,EAC1BA,EAAS,iBAAiB,IAJ1BA,EAAS,iBAAiB,EAC1BA,EAAS,mBAAmB,EAK9B,CAED,CAED,CCjCO,SAASC,GAAgBC,EAAgB,CAC/C,IAAIt6C,EAAW,CAEd,SAASib,EAAW,CACnB,MAAMs/B,EAAgBD,EAAe,SAAS,EACxCjQ,EAAgBkQ,EAAc,QAAQ,EAC5ClQ,EAAY,aAAapvB,EAAU,SAAS,CAAC,EAC7Cs/B,EAAc,QAAQlQ,CAAW,CAClC,CAED,EACA,OAAOrqC,CACR,CCVO,SAASw6C,GAAiBJ,EAAU,CA+B1C,MA9BiB,CAEhB,SAAU,CACV,EAEA,QAAQ/P,EAAa,CACrB,EAEA,QAAQA,EAAa,CACrB,EAEA,OAAOA,EAAa,CACnB,MAAMnqC,EAAQmqC,EAAY,SAAS,EACnC,GAAG,CAACnqC,EAAO,CACVk6C,EAAS,iBAAiB,EAC1BA,EAAS,iBAAiB,EAC1B,MACD,CAEkBxC,GAAe13C,CAAK,GAKrCk6C,EAAS,iBAAiB,EAC1BA,EAAS,iBAAiB,IAJ1BA,EAAS,iBAAiB,EAC1BA,EAAS,mBAAmB,EAK9B,CAED,CAED,CChCO,MAAMK,EAA0B,CAUtC,YAAYC,EAA+E,CAE1F,MAAMC,EAAwC,EAAY,mCAAmC,EAE7F,KAAK,0BAAyCA,EAAkC,cAAc,4BAA4B,EAC1H,KAAK,iCAAyCA,EAAkC,cAAc,mCAAmC,EACjI,KAAK,uCAAyCA,EAAkC,cAAc,yCAAyC,EACvI,KAAK,sCAAyCA,EAAkC,cAAc,wCAAwC,EAEtI,KAAK,sCAAyCD,EAE9C,KAAK,iBAAiB,CACvB,CAEQ,kBAAmB,CAC1B,KAAK,uCAAuC,iBAAiB,QAAUj6C,GAAO,CAAE,KAAK,sCAAsC,qBAAqB,CAAE,CAAC,EACnJ,KAAK,sCAAuC,iBAAiB,QAAUA,GAAO,CAAE,KAAK,sCAAsC,oBAAoB,CAAE,CAAC,CACnJ,CAEA,SAASm6C,EAAqB,CAC7BA,EAAO,YAAY,KAAK,yBAAyB,CAClD,CAEA,WAAWC,EAA+B,CACzC,KAAK,iCAAiC,YAAc,GACpD,OAAOA,GAAa,SAAY,KAAK,iCAAiC,YAAcA,EAAU,KAAK,iCAAiC,OAAOA,CAAO,CACnJ,CAEA,OAAO,CACN,KAAK,uCAAuC,MAAM,CACnD,CAEA,QAAS,CACR,OAAO,KAAK,yBACb,CACD,CChDO,SAAS,GAAYrmC,EAAY,CACpC,IAAIC,EAAW,SAAS,eAAeD,CAAU,EACjD,OAAAC,EAAeA,EAAS,QAAQ,UAAU,EAAI,EACvCA,CACX,CCFO,MAAMqmC,EAAY,CAGxB,aAAc,CACb,MAAMC,EAAsB,GAAY,qBAAqB,EAC7D,KAAK,YAAuBA,EAAoB,cAAc,cAAc,CAC7E,CAEA,MAAO,CACN,SAAS,KAAK,YAAY,KAAK,WAAW,EAC1C,KAAK,YAAY,UAAU,CAC5B,CAEA,OAAQ,CACP,KAAK,YAAY,MAAM,CACxB,CAEA,iBAAiBjT,EAAkB,CAClC,KAAK,YAAY,YAAc,GAC/B,KAAK,YAAY,YAAYA,CAAG,CACjC,CAEA,YAAYja,EAAmB,CAC9B,KAAK,YAAY,UAAU,IAAIA,CAAS,CACzC,CAEA,eAAeA,EAAmB,CACjC,KAAK,YAAY,UAAU,OAAOA,CAAS,CAC5C,CAED,CC3BO,MAAM,GAAN,MAAM,EAAqB,CAQjC,aAAc,CAEb,MAAMmtB,EAAkC,EAAY,8BAA8B,EAC5EC,EAAwC,IAAI,GAAqB,uDAAuD,IAAI,EAE5H,KAAK,qBAAmCD,EAA6B,cAAc,uBAAuB,EAC1G,KAAK,4BAAmCA,EAA6B,cAAc,8BAA8B,EAEvH,KAAK,mBAAmC,IAAIF,GAC5C,KAAK,0BAAmC,IAAIL,GAA0BQ,CAAqC,EAE3G,KAAK,aAAmC,GAExC,KAAK,KAAK,EACV,KAAK,iBAAiB,CAEvB,CAEQ,MAAO,CACd,MAAMC,EAA+B,KAAK,0BAA0B,OAAO,EAC3E,KAAK,mBAAmB,iBAAiBA,CAA4B,CACtE,CAEQ,kBAAyB,CAChC,KAAK,qBAAqB,iBAAiB,QAAUz6C,GAAO,CAC3D,KAAK,mBAAmB,KAAK,EAC7B,KAAK,aAAe,GACpB,KAAK,0BAA0B,MAAM,EACrCA,EAAG,yBAAyB,CAC7B,CAAC,CACF,CACA,0BAA0BT,EAAS,CAClC,KAAK,qBAAqB,iBAAiB,YAAaA,CAAQ,CACjE,CACA,6BAA6BA,EAAS,CACrC,KAAK,qBAAqB,oBAAoB,YAAcA,CAAQ,CACrE,CACA,iBAA2B,CAC1B,OAAO,KAAK,YACb,CACA,YAAY6tB,EAAmB,CAC9B,KAAK,qBAAqB,UAAU,IAAIA,CAAS,CAClD,CAEA,eAAeA,EAAmB,CACjC,KAAK,qBAAqB,UAAU,OAAOA,CAAS,CACrD,CAEA,WAAgC,CAC/B,OAAO,KAAK,oBACb,CAEA,SAASgtB,EAAkB,CAC1B,KAAK,qBAAqB,MAAQA,CACnC,CAEG,iBAAiBA,EAAiB,CAC9B,KAAK,4BAA4B,YAAcA,CACnD,CAEH,aAAaM,EAAuB,CACnC,MAAMP,EAASO,EAAS,cACpBP,GAAUA,EAAO,aAAa,KAAK,qBAAsBO,CAAQ,CACtE,CAEA,SAASP,EAA2B,CACnCA,EAAO,YAAY,KAAK,oBAAoB,CAC7C,CAEA,YAAYO,EAA6B,CACxC,MAAMP,EAASO,EAAS,cACpBP,GAAUA,EAAO,aAAa,KAAK,qBAAsBO,EAAS,kBAAkB,CACzF,CAEA,QAAe,CACd,KAAK,qBAAqB,OAAO,CAClC,CAEQ,iCAAkC,CACzC,MAAM7wC,EAAqB,MAAM,MAAM,YAAY,EAC7C+C,EAAqB,MAAM,UAAU,MAAM,UAC3CC,EAAqB,MAAM,UAAU,MAAM,eAC3CC,EAAqB,MAAM,UAAU,MAAM,mBAC3C6tC,EAAqB,MAAM,MAAM,iBAAiB,EAClDC,EAAmB,MAAM,MAAM,mBAAmB,EAClDC,EAAwB,MAAM,MAAM,qCAAqC,EACzEl7C,EAAqBi7C,EAAkBC,EAAwBF,EAAgB,GAAG9tC,CAAc,cAAcD,CAAS,aAAa/C,CAAQ,GAAKiD,EACvJ,KAAKnN,EAAI,QAAQ,EACjB,KAAK,mBAAmB,MAAM,CAC/B,CAEQ,gCAAiC,CACxC,KAAK,mBAAmB,MAAM,EAC9B,KAAK,aAAe,EACrB,CAmBD,EAzHa,GAwGL,uDAAyD,KAAwD,CAIvH,YAAYmB,EAA+B,CAC1C,KAAK,QAAUA,CAChB,CAEA,sBAAuB,CACtB,KAAK,QAAQ,gCAAgC,CAC9C,CAEA,qBAAsB,CACrB,KAAK,QAAQ,+BAA+B,CAC7C,CACD,EAvHM,IAAMg6C,GAAN,GCHP,MAAMC,EAAuB,CACzB,aAAc,CACV,MAAM/mC,EAAuB,GAAY,8BAA8B,EACvE,KAAK,oBAAsBA,EAAS,cAAc,sBAAsB,EACxE,KAAK,YAAsB,IAAI,IAC/B,KAAK,SAAsB,GAC3B,KAAK,WAAsB,CAC/B,CAEA,OAAOgnC,EAAY,CACrB,KAAK,oBAAoB,YAAYA,CAAU,CAChD,CAEG,QAAQA,EAAY,CACtB,KAAK,oBAAoB,QAAQA,CAAU,CAC5C,CAEG,QAAS,CACX,OAAO,KAAK,mBACb,CAEG,MAAO,CACT,KAAK,SAAW,GAChB,SAAS,KAAK,OAAO,KAAK,mBAAmB,CAC9C,CAEG,QAAS,CACX,KAAK,SAAW,GAChB,KAAK,oBAAoB,OAAO,CACjC,CAEG,gBAAgBC,EAAS,CAC3B,KAAK,YAAY,IAAI,KAAK,UAAU,GAAK,KAAK,YAAY,IAAI,KAAK,UAAU,EAAE,OAAO,EACtF,MAAMn7C,EAAO,KACPo7C,EAAU,WAAW,IAAM,CAChCp7C,EAAK,OAAOm7C,EAAQ,OAAO,CAAC,EAC5Bn7C,EAAK,aACLm7C,EAAQ,aAAan7C,EAAK,UAAU,EACpCA,EAAK,YAAY,IAAIA,EAAK,WAAYm7C,CAAO,EAC7C,CAACn7C,EAAK,UAAYA,EAAK,KAAK,EAC5B,aAAao7C,CAAO,CACrB,EAAG,GAAG,CACP,CAEG,qBAAqBC,EAAS,CAChC,KAAK,YAAY,OAAOA,CAAO,EAC5B,KAAK,YAAY,OAAS,GAC5B,KAAK,OAAO,CAEd,CAEG,aAAc,CAChB,OAAO,KAAK,WACb,CACD,CAEO,MAAMC,GAAuB,IAAIL,GCvDjC,MAAMM,EAAe,CAMxB,YAAYhU,EAAkB,CAC1B,MAAMrzB,EAAgC,EAAY,uBAAuB,EAC/E,KAAK,IAAaA,EAAS,cAAc,kBAAkB,EACrD,KAAK,WAAa,KAAK,IAAI,cAAc,eAAe,EAC9D,KAAK,YAAc,KAAK,IAAI,cAAc,WAAW,EAE/C,KAAK,QAAY,KAEjB,KAAK,WAAW,OAAOqzB,CAAG,EAEhC,KAAK,YAAY,CACf,CAEA,QAAS,CACX,OAAO,KAAK,GACb,CAEG,aAAa9+B,EAAY,CAC3B,KAAK,QAAUA,CAChB,CAEG,MAAO,CACT,GAAkB,gBAAgB,IAAI,EACtC,KAAK,IAAI,MAAM,cAAgB,UAC/B,WAAW,IAAI,CACd,KAAK,OAAO,CACb,EAAG,GAAI,CACR,CAEA,QAAS,CACR,KAAK,IAAI,iBAAiB,eAAgBvI,GAAM,CAE/C,KAAK,IAAI,OAAO,EAChB,GAAkB,qBAAqB,KAAK,OAAO,CACpD,EAAG,CAAC,KAAM,EAAI,CAAC,EAEf,KAAK,IAAI,MAAM,cAAgB,UAChC,CAEQ,aAAc,CACrB,KAAK,YAAY,iBAAiB,QAAS,IAAM,CAChD,KAAK,OAAO,CACb,CAAC,CACF,CAED,CCnDO,MAAMs7C,EAAa,CAMtB,YAAYC,EAAa,CACrB,MAAMvnC,EAAgC,EAAY,uBAAuB,EAC/E,KAAK,IAAaA,EAAS,cAAc,kBAAkB,EACrD,KAAK,WAAa,KAAK,IAAI,cAAc,eAAe,EAC9D,KAAK,YAAc,KAAK,IAAI,cAAc,WAAW,EAE/C,KAAK,QAAY,KAEjB,KAAK,WAAW,YAAcunC,EAEpC,KAAK,YAAY,CACf,CAEA,QAAS,CACX,OAAO,KAAK,GACb,CAEG,aAAahzC,EAAY,CAC3B,KAAK,QAAUA,CAChB,CAEG,MAAO,CACT,GAAkB,gBAAgB,IAAI,EACtC,KAAK,IAAI,MAAM,cAAgB,UAC/B,WAAW,IAAI,CACd,KAAK,OAAO,CACb,EAAG,GAAI,CACR,CAEA,QAAS,CACR,KAAK,IAAI,iBAAiB,eAAgBvI,GAAM,CAE/C,KAAK,IAAI,OAAO,EAChB,GAAkB,qBAAqB,KAAK,OAAO,CACpD,EAAG,CAAC,KAAM,EAAI,CAAC,EAEf,KAAK,IAAI,MAAM,cAAgB,UAChC,CAEQ,aAAc,CACrB,KAAK,YAAY,iBAAiB,QAAS,IAAM,CAChD,KAAK,OAAO,CACb,CAAC,CACF,CAED,C,OChDA,MAAM5B,GAAmB,MAAM,UACzBo9C,GAAmBp9C,GAAU,iBAC7Bq9C,GAAmBr9C,GAAU,cAC7Bs9C,GAAqBt9C,GAAU,SAC/Bu9C,GAAmB,YACnBC,GAAY,YACZC,GAAa,aAEZ,SAASC,GAAsBC,EAAW,CAChD,OAAQL,GAASF,GAAiBO,CAAS,CAAC,CAC7C,CAEO,SAASC,GAAgBC,EAAU,CACzC,OAAOP,GAASO,CAAQ,CACzB,CAEO,SAASC,GAAuBD,EAAU5uC,EAAgB,CAChE,MAAMkuC,EAAMG,GAASO,CAAQ,EAC7B,OAAO,GAAkBV,EAAKluC,CAAc,CAC7C,CAEO,SAAS8uC,GAAmBh7C,EAAU,CAC5C,MAAMi7C,EAAO,OAAO,OAAO,CAAC,CAAC,EACvBC,EAAel7C,EAAS,SAAS,OAAO,KAAKA,EAAS,QAAQ,EAAE,CAAC,CAAC,EAExE,GAAGk7C,EAAa,eAAeZ,GAAc,WAAW,EAAG,CAC1D,MAAMtS,EAAakT,EAAaZ,GAAc,WAAW,EACzD,GAAGtS,EAAW,eAAesS,GAAc,UAAU,EAAG,CACvD,MAAMa,EAAYnT,EAAWsS,GAAc,UAAU,EACrDW,EAAKT,EAAS,EAAIH,GAAiBc,CAAS,CAC7C,CACD,CAEA,OAAOF,CACR,CACO,SAASG,GAA4BC,EAAmB,CAG9D,OAFkBA,EAAkBZ,EAAS,EACjBC,EAAU,CAEvC,CAEO,SAASY,GAAoBH,EAAWn7C,EAAU,CACxD,MAAMwyB,EAAemoB,GAAsBQ,CAAS,EAC9CL,EAAWT,GAAiBc,CAAS,EAC3C,GAAG3oB,EACF,OAAOsoB,EAAS,CACf,IAAK,yCAAyC,CAC7C,MAAM5U,EAAM,SAAS,cAAc,KAAK,EACxCA,EAAI,YAAc1T,EAAa,IAC/B,MAAM+oB,EAAuB,IAAI5B,GAC3B6B,EAAkB,CAAC,aAAc,WAAY,cAAc,EACjE,UAAUvvB,KAAauvB,EACtBD,EAAqB,eAAetvB,CAAS,EAE9CsvB,EAAqB,YAAY,oBAAoB,EACrDA,EAAqB,SAASrV,CAAG,EACjB,IAAIgU,GAAgBhU,CAAG,EAC/B,KAAK,EACb,KACD,CACA,QAAQ,CACS,IAAIiU,GAAa3nB,CAAY,EACrC,KAAK,EACb,KACD,CACD,MAEAtwB,GAAc,uBAAuBlC,EAAU,yBAAyB,CAE1E,CCrEO,SAASy7C,GAAyBxuC,EAASvI,EAAStG,EAAUkP,EAAW,CAE/E,MAAMF,EAAWjC,GAAgB,EAC3BqC,EAAaJ,EAAS,QAAQ,WAAW,GAAK,GAAKoE,GAAoDD,GAEvGk1B,EAAc,IAAIxoC,EAExBwoC,EAAY,UAAUvoC,EAAO,IAAI,EACjCuoC,EAAY,iBAAiBv1B,GAA+Ba,EAAsC,EAClG00B,EAAY,gBAAgB,MAAqB,EACjDA,EAAY,iBAAiB,gBAAiB,YAAcxlC,EAAc,CAAC,EAC3EwlC,EAAY,OAAOj5B,CAAU,EAG7Bi5B,EAAY,YAAY,MAA2Br5B,CAAQ,EAC3Dq5B,EAAY,YAAYx0B,GAA2BvN,CAAO,EAC1D+hC,EAAY,KAAK,EACjBA,EAAY,iBAAiB,UAAW,CAACn9B,EAAOlJ,IAA6B,CAC5E,MAAMJ,EAAWI,EAAyB,SAC1ChC,GAAYA,EAAS4B,CAAQ,CAC9B,CAAC,EAEDymC,EAAY,iBAAiB,UAAW,CAACn9B,EAAOlJ,IAA6B,CAC5EkN,GAAaA,EAAU,EACvB,MAAMtN,EAAWI,EAAyB,SAC1B+6C,EAAYn7C,EAAS,WAC3Bs7C,GAAoBH,EAAWn7C,CAAQ,CAC/C,CAAC,CACL,CAEO,SAAS07C,GAAqBzuC,EAAS3H,EAAUq2C,EAAav9C,EAAUw9C,EAAiB,CAC/F,MAAMnV,EAAc,IAAIxoC,EAElBuP,EAAaP,EAAQ,QAAQ,WAAW,GAAK,GAAIyE,GAA+CD,GAEtGg1B,EAAY,UAAUvoC,EAAO,IAAI,EACjCuoC,EAAY,iBAAiBv1B,GAA+Ba,EAAsC,EAClG00B,EAAY,gBAAgB,MAAqB,EACjDA,EAAY,iBAAiB,gBAAiB,YAAcxlC,EAAc,CAAC,EAC3EwlC,EAAY,OAAOj5B,CAAU,EAG7Bi5B,EAAY,YAAY,MAA2Bx5B,CAAO,EAC1Dw5B,EAAY,YAAYv0B,GAA4B,KAAK,UAAU5M,CAAQ,CAAC,EAC5EmhC,EAAY,YAAY,SAAyB,KAAK,UAAUkV,CAAW,CAAC,EAG5ElV,EAAY,KAAK,EACjBA,EAAY,iBAAiB,UAAW,CAACn9B,EAAOlJ,IAA6B,CAC5E,MAAMJ,EAAWI,EAAyB,SAC1ChC,GAAYA,EAAS4B,CAAQ,CAC9B,CAAC,EAEDymC,EAAY,iBAAiB,UAAW,CAACn9B,EAAOlJ,IAA6B,CAC5E,MAAMJ,EAAWI,EAAyB,SACpC+6C,EAAYn7C,EAAS,WACrBs7C,GAAoBH,EAAWn7C,CAAQ,EAC7C47C,GAAmBA,EAAgB57C,CAAQ,CAC5C,CAAC,CACF,CC7DA,MAAM,GAAkC,WAAW,oBAAoB,WACjE67C,GAAkC,GAAW,mBAC7CC,GAAkC,GAAW,sBAE5C,SAASC,GAAgC9uC,EAASvI,EAAS,CAC9D,IAAI2qC,EAAQoF,EAAqBuH,EAAgBvyC,EAEjD,MAAMirC,EAAiB,CAEzB,QAAQ71C,EAAIo9C,EAA+B5yC,EAAIlK,EAAM,CACpD,MAAMspC,EAAcwT,EAA8B,QAAQ,EAC1DxT,EAAY,YAAYp/B,CAAE,EACjBo/B,EAAY,cAActpC,CAAI,EACvC88C,EAA8B,QAAQxT,CAAW,EACjDqF,EAAY,YAAYuB,CAAM,CAC/B,EAEA,QAAQ4M,EAA+B5yC,EAAIlK,EAAM,CAChD,KAAK,QAAQ88C,EAA+B5yC,EAAIlK,CAAI,CACrD,EAEA,QAAQN,EAAIo9C,EAA+BtJ,EAAY,CACtD,MAAMlK,EAAoBwT,EAA8B,QAAQ,EAQhEvJ,GAAe7zC,EAAI41C,EAAqB9B,EAAYlK,EAP1BuT,EACAvyC,EAEJ,IAAM,CAC3BgrC,EAAoB,MAAM,EAC1BA,EAAoB,QAAQhM,EAAauT,EAAgBvyC,CAAO,CACjE,CACgH,CACjH,EAEA,SAAU,CACV,EAEA,QAAS,CACT,CAED,EA4DA,MA1DiB,CAEhB,kBAAkB5K,EAAIo9C,EAA+BlH,EAAQ,CAE5D,GADAkH,EAA8B,WAAW,EACrC,CAAC5M,EAAQ,CACZA,EAAsBvB,EAAY,aAAa,EAC/C2G,EAAsB,IAAIoH,GAA6BI,EAA+BvH,CAAc,EACpG,MAAMxO,EAAgBuO,EAAoB,OAAO,EACjDpF,EAAO,OAAOnJ,CAAG,EACjBmJ,EAAO,gBAAgB0F,CAAM,EAE7B1F,EAAO,iBAAiB,OAAQxwC,GAAM,CACrC41C,EAAoB,MAAM,CAC3B,CAAC,EAEDpF,EAAO,iBAAiB,QAASxwC,GAAM,CACtC,SAAS,cAAc,KAAK,EAC5Bo9C,EAA8B,MAAM,CACrC,CAAC,CACF,CAEA,GAAK5M,EAAO,SAAS,EAuBpB4M,EAA8B,WAAW,EACzCnO,EAAY,YAAYuB,CAAM,MAxBP,CAEvB,MAAMoD,EAAasC,EAAO,sBAAsB,EAChD1F,EAAO,gBAAgBoD,EAAW,IAAI,EACtCpD,EAAO,eAAeoD,EAAW,IAAM,EAAE,EAEzCgJ,GAAyBxuC,EAASvI,EAAU1E,GAAa,CACxDi8C,EAA8B,WAAW,EACzCnO,EAAY,WAAWuB,CAAM,EAC7B,MAAMd,EAAac,EAAO,sBAAsB,EAC5Cd,EAAW,IAAMA,EAAW,QAAU,WAAW,aACpDc,EAAO,eAAed,EAAW,IAAMA,EAAW,OAASkE,EAAW,OAAS,EAAE,EAElF,MAAM1qB,EAAWm0B,GAAcl8C,EAAUi8C,CAA6B,EACtED,EAAiBj0B,EAAO,eACxBte,EAAiBse,EAAO,QACxB,MAAM0gB,EAAcwT,EAA8B,QAAQ,EAC1DxH,EAAoB,MAAM,EAC1BA,EAAoB,QAAQhM,EAAauT,EAAgBvyC,CAAO,CACjE,EAAG,IAAM,CACRwyC,EAA8B,WAAW,CAC1C,CAAC,CACF,CAIK,EAEA,mBAAmBp9C,EAAIo9C,EAA+B5yC,EAAI8yC,EAA4B,CAC3FA,EAA2B,OAAO,EACzB,MAAM1T,EAAcwT,EAA8B,QAAQ,EAC1DxT,EAAY,gBAAgBp/B,CAAE,EAC9B4yC,EAA8B,eAAexT,CAAW,CAC5D,CAEP,CAGD,CAEA,SAASyT,GAAcl8C,EAAUi8C,EAA+B,CAC/D,MAAMD,EAAiBh8C,EAAS,WAC1Bo8C,EAAiBp8C,EAAS,OAEvByoC,EAAoBwT,EAA8B,QAAQ,EAC1DI,EAAoB5T,EAAY,aAAa,EAEnD,QAAQlpC,EAAI,EAAGA,EAAI88C,EAAkB,OAAQ98C,IAAK,CAC9C,MAAM+8C,EAAmBD,EAAkB98C,CAAC,EACtCgE,EAAmBy4C,EAAe,QAAQM,CAAgB,EAChEN,EAAe,OAAOz4C,EAAO,CAAC,EAC9B64C,EAAY,OAAO74C,EAAO,CAAC,CAC/B,CAEA,MAAMmG,EAAU++B,EAAY,SAAS,EAC/Bh/B,EAAU,CAAC,EAEjB,QAAQlK,EAAI,EAAGA,EAAIy8C,EAAe,OAAQz8C,IAAK,CAC3C,MAAM6D,EAAW44C,EAAez8C,CAAC,EAC3BjB,EAAW89C,EAAY78C,CAAC,EACxBmsB,EAAW,IAAIowB,GAAgC14C,CAAQ,EAC7DsoB,EAAO,SAAShiB,CAAK,EACrBgiB,EAAO,QAAQptB,CAAK,EACpBmL,EAAQrG,CAAQ,EAAIsoB,CACxB,CAEA,MAAO,CACH,eAAAswB,EACA,YAAAI,EACA,QAAA3yC,CACJ,CACJ,CCtIA,MAAM8yC,GAAe,YACfC,GAAe,cAEd,SAASC,GAAsBjE,EAAU,CAC/C,MAAMkE,EAAa,CAACtyC,EAAQioB,IAAc,CACzC,GAAG,CAACjoB,EAAQ,CACXouC,EAAS,iBAAiB,EAC1BA,EAAS,iBAAiB,EAC1B,MACD,CAEA,IAAImE,EAAgB,GACpBvyC,EAAO,QAAQ,CAAC9L,EAAOiB,IAAM,CACxBy2C,GAAe13C,CAAK,EAKvB+zB,EAAU,kBAAkB9yB,EAAGi9C,EAAY,GAJ3CG,EAAgB,GAChBtqB,EAAU,eAAe9yB,EAAGi9C,EAAY,EAK1C,CAAC,EAEGG,GAIHnE,EAAS,iBAAiB,EAC1BA,EAAS,iBAAiB,IAJ1BA,EAAS,iBAAiB,EAC1BA,EAAS,mBAAmB,EAK9B,EA+BA,MA7BiB,CAEhB,SAAU,CACV,EAEA,QAAQ/P,EAAapW,EAAW,CAC5BA,GAAaA,EAAU,YAAYkqB,EAAW,EAEjDlqB,EAAU,QAAQoW,CAAW,EAC7B,MAAMr+B,EAASq+B,EAAY,SAAS,EACpCiU,EAAWtyC,EAAQioB,CAAS,CAC7B,EAEA,QAAQ/zB,EAAO+zB,EAAW,CAChBA,EAAU,SAASkqB,EAAW,CACxC,EAEA,OAAO9T,EAAapW,EAAW,CAC3BA,EAAU,YAAYkqB,EAAW,EAEpClqB,EAAU,QAAQoW,CAAW,EAC7B,MAAMr+B,EAASq+B,EAAY,SAAS,EACpCiU,EAAWtyC,EAAQioB,CAAS,CAC7B,EAEM,aAAaA,EAAW,CACpBA,EAAU,SAASkqB,EAAW,CAClC,CACP,CAED,CC7DA,MAAM,GAAc,YACd,GAAe,cAEd,SAASK,GAA4BpE,EAAU,CACrD,MAAMkE,EAAa,CAACtyC,EAAQioB,IAAc,CACzC,GAAG,CAACjoB,EAAQ,CACXouC,EAAS,iBAAiB,EAC1B,MACD,CAEA,IAAIqE,EAAuB,GAC3BzyC,EAAO,QAAQ,CAAC9L,EAAOiB,IAAM,CACxB22C,GAAmB53C,CAAK,EAK3B+zB,EAAU,kBAAkB9yB,EAAG,EAAY,GAJ3Cs9C,EAAuB,GACvBxqB,EAAU,eAAe9yB,EAAG,EAAY,EAK1C,CAAC,EAGGs9C,GAIHrE,EAAS,iBAAiB,EAC1BA,EAAS,iBAAiB,IAJ1BA,EAAS,iBAAiB,EAC1BA,EAAS,mBAAmB,EAM9B,EA+BA,MA7BiB,CAEhB,SAAU,CACV,EAEA,QAAQ/P,EAAapW,EAAW,CAC5BA,GAAaA,EAAU,YAAY,EAAW,EAEjDA,EAAU,QAAQoW,CAAW,EAC7B,MAAMr+B,EAASq+B,EAAY,SAAS,EACpCiU,EAAWtyC,EAAQioB,CAAS,CAC7B,EAEA,QAAQ/zB,EAAO+zB,EAAW,CAChBA,EAAU,SAAS,EAAW,CACxC,EAEA,OAAOoW,EAAapW,EAAW,CAC3BA,EAAU,YAAY,EAAW,EAEpCA,EAAU,QAAQoW,CAAW,EAC7B,MAAMr+B,EAASq+B,EAAY,SAAS,EACpCiU,EAAWtyC,EAAQioB,CAAS,CAC7B,EAEM,aAAaA,EAAW,CACpBA,EAAU,SAAS,EAAW,CAClC,CACP,CAED,CC5DA,MAAM,GAAsB,WAAW,oBAAoB,WAAW,UAE/D,SAASyqB,IAAiC,CAmBhD,MAjBiB,CAEhB,SAASvI,EAAsBlrC,EAAIvJ,EAAQ,CAC1C,MAAM2oC,EAAc8L,EAAqB,QAAQ,EAChDz0C,EAAoC2oC,EAAY,MAAMp/B,CAAE,EAA/Co/B,EAAY,SAASp/B,CAAE,EACbo/B,EAAY,eAAe,EACnC,OAAS8L,EAAqB,mBAAmB,EAAIA,EAAqB,mBAAmB,CAC1G,EAEA,eAAeA,EAAsB,CACpC,MAAMxa,EAAc,CAAC,EACf0O,EAAc8L,EAAqB,QAAQ,EACjD9L,EAAY,eAAe1O,CAAW,EACtCwa,EAAqB,QAAQ9L,CAAW,CACzC,CAED,CAED,CAEO,SAASsU,IAAiC,CAChD,IAAI1N,EACAoF,EAEJ,MAAMC,EAAiB,CAEtB,SAASH,EAAsBlrC,EAAIvJ,EAAQ60C,EAAmB,CAC7D,MAAMlM,EAAc8L,EAAqB,QAAQ,EAC7Cz0C,GACS60C,EAAkB,UAAU,EACxClM,EAAY,MAAMp/B,CAAE,IAERsrC,EAAkB,aAAa,EAC3ClM,EAAY,SAASp/B,CAAE,GAExBkrC,EAAqB,QAAQ9L,CAAW,CACzC,EAEA,QAAQ8L,EAAsBlrC,EAAIvJ,EAAQ60C,EAAmB,CAC5D,KAAK,SAASJ,EAAsBlrC,EAAIvJ,EAAQ60C,CAAiB,CAClE,EAEA,QAAQ91C,EAAI01C,EAAsB5B,EAAY,CAC7C,MAAMlK,EAAoB8L,EAAqB,QAAQ,EACjD3B,EAAoBnK,EAAY,+BAA+B,EAC/DoK,EAAoBpK,EAAY,6BAA6B,EAMnEiK,GAAe7zC,EAAI41C,EAAqB9B,EAAYlK,EAAamK,EAAeC,EAJ1D,IAAM,CAC3B4B,EAAoB,MAAM,EAC1BA,EAAoB,mBAAmBhM,CAAW,CACnD,CACgH,CACjH,EAEA,SAAU,CACV,EAEA,QAAS,CACT,CAED,EAyCA,MAvCiB,CAEhB,gBAAgB5pC,EAAI01C,EAAsBQ,EAAQ,CACjD,GAAI,CAAC1F,EAAQ,CACZA,EAAsBvB,EAAY,aAAa,EAC/C2G,EAAsB,IAAI,GAAoBF,EAAsBG,CAAc,EAClF,MAAMxO,EAAgBuO,EAAoB,OAAO,EACjDpF,EAAO,OAAOnJ,CAAG,EACjBmJ,EAAO,gBAAgB0F,CAAM,EAC7BN,EAAoB,eAAenH,EAAwB,EAE3D+B,EAAO,iBAAiB,OAAQxwC,GAAM,CACrC41C,EAAoB,MAAM,CAC3B,CAAC,EAEDpF,EAAO,iBAAiB,QAASxwC,GAAM,CACtC,SAAS,cAAc,KAAK,EAC5B01C,EAAqB,MAAM,CAC5B,CAAC,CACF,CAEA,GAAKlF,EAAO,SAAS,EAOpBvB,EAAY,YAAYuB,CAAM,MAPP,CACvB,MAAM5G,EAAc8L,EAAqB,QAAQ,EACjDE,EAAoB,MAAM,EAC1BA,EAAoB,mBAAmBhM,CAAW,EAClDqF,EAAY,WAAWuB,CAAM,EAC7BmD,GAA0BnD,EAAQ0F,EAAO,sBAAsB,CAAC,CACjE,CAGD,EAEA,mBAAmBl2C,EAAI01C,EAAsBlrC,EAAI,CAChD,MAAMo/B,EAAc8L,EAAqB,QAAQ,EACjD9L,EAAY,SAASp/B,CAAE,EACvBkrC,EAAqB,QAAQ9L,CAAW,CACzC,CAED,CAED,CC7GA,MAAM,GAAc,YACd,GAAe,cAEd,SAASuU,GAAoBxE,EAAU,CAC7C,MAAMkE,EAAa,CAACtyC,EAAQioB,IAAc,CACzC,GAAG,CAACjoB,EAAQ,CACXouC,EAAS,iBAAiB,EAC1B,MACD,CAEA,IAAIyE,EAAe,GACnB7yC,EAAO,QAAQ,CAAC9L,EAAOiB,IAAM,CACxB02C,GAAW33C,CAAK,EAKnB+zB,EAAU,kBAAkB9yB,EAAG,EAAY,GAJ3C09C,EAAe,GACf5qB,EAAU,eAAe9yB,EAAG,EAAY,EAK1C,CAAC,EAGG09C,GAIHzE,EAAS,iBAAiB,EAC1BA,EAAS,iBAAiB,IAJ1BA,EAAS,iBAAiB,EAC1BA,EAAS,mBAAmB,EAM9B,EA+BA,MA7BiB,CAEhB,SAAU,CACV,EAEA,QAAQ/P,EAAapW,EAAW,CAC5BA,GAAaA,EAAU,YAAY,EAAW,EAEjDA,EAAU,QAAQoW,CAAW,EAC7B,MAAMr+B,EAASq+B,EAAY,SAAS,EACpCiU,EAAWtyC,EAAQioB,CAAS,CAC7B,EAEA,QAAQ/zB,EAAO+zB,EAAW,CAChBA,EAAU,SAAS,EAAW,CACxC,EAEA,OAAOoW,EAAapW,EAAW,CAC3BA,EAAU,YAAY,EAAW,EAEpCA,EAAU,QAAQoW,CAAW,EAC7B,MAAMr+B,EAASq+B,EAAY,SAAS,EACpCiU,EAAWtyC,EAAQioB,CAAS,CAC7B,EAEM,aAAaA,EAAW,CACpBA,EAAU,SAAS,EAAW,CAClC,CACP,CAED,CC9DO,SAAS6qB,GAAkB1E,EAAU,CA+B3C,MA9BiB,CAEhB,SAAU,CACV,EAEA,QAAQ/P,EAAa,CACrB,EAEA,QAAQA,EAAa,CACrB,EAEA,OAAOA,EAAa,CACnB,MAAMnqC,EAAQmqC,EAAY,SAAS,EACnC,GAAG,CAACnqC,EAAO,CACVk6C,EAAS,iBAAiB,EAC1BA,EAAS,iBAAiB,EAC1B,MACD,CAEkBpC,GAAuB93C,CAAK,GAK7Ck6C,EAAS,iBAAiB,EAC1BA,EAAS,iBAAiB,IAJ1BA,EAAS,iBAAiB,EAC1BA,EAAS,mBAAmB,EAK9B,CAED,CAED,CChCO,SAAS2E,GAAmB3E,EAAU,CA+B5C,MA9BiB,CAEhB,SAAU,CACV,EAEA,QAAQ/P,EAAa,CACrB,EAEA,QAAQA,EAAa,CACrB,EAEA,OAAOA,EAAa,CACnB,MAAMnqC,EAAQmqC,EAAY,SAAS,EACnC,GAAG,CAACnqC,EAAO,CACVk6C,EAAS,iBAAiB,EAC1BA,EAAS,iBAAiB,EAC1B,MACD,CAEkBnC,GAAwB/3C,CAAK,GAK9Ck6C,EAAS,iBAAiB,EAC1BA,EAAS,iBAAiB,IAJ1BA,EAAS,iBAAiB,EAC1BA,EAAS,mBAAmB,EAK9B,CAED,CAED,CC/BO,SAAS4E,GAAuB5E,EAAU,CAgChD,MA/BiB,CAEhB,SAAU,CACV,EAEA,QAAQ/P,EAAa,CAErB,EAEA,QAAQA,EAAa,CACrB,EAEA,OAAOA,EAAa,CACnB,MAAMnqC,EAAQmqC,EAAY,SAAS,EACnC,GAAG,CAACnqC,EAAO,CACVk6C,EAAS,iBAAiB,EAC1BA,EAAS,iBAAiB,EAC1B,MACD,CAEkBtC,GAAmB53C,CAAK,GAKzCk6C,EAAS,iBAAiB,EAC1BA,EAAS,iBAAiB,IAJ1BA,EAAS,iBAAiB,EAC1BA,EAAS,mBAAmB,EAK9B,CAED,CAED,CCpCO,SAAS6E,GAAkBC,EAAmB,CASpD,MAPiB,CAEhB,QAAQ7U,EAAa8U,EAAU,CAE/B,CAED,CAED,CCTO,SAASC,GAA0BF,EAAmB,CAwB5D,MAvBiB,CAEhB,SAAU,CACV,EAEA,QAAQ7U,EAAagV,EAAyB,CACnBhV,EAAY,SAAS,EACqBgV,EAAwB,mBAAmB,EAA1FA,EAAwB,mBAAmB,CACjE,EAEA,QAAQhV,EAAa,CACrB,EAEA,OAAOA,EAAa,CACpB,EAEA,sBAAsBA,EAAagV,EAAyB,CAC3DhV,EAAY,SAAS,EAAE,EACvBgV,EAAwB,QAAQhV,CAAW,EAC3CgV,EAAwB,uBAAuB,CAChD,CAED,CAED,CCrBA,MAAM,GAAsB,WAAW,oBAAoB,WAAW,UAE/D,SAASC,IAAkC,CAmBjD,MAjBiB,CAEhB,SAASzI,EAAuB5rC,EAAIvJ,EAAQo1C,EAAoB,CAC/DD,EAAsB,cAAc5rC,CAAE,EAGb,CAFL4rC,EAAsB,QAAQ,EAEZ,SAAS,EAC5BA,EAAsB,mBAAmB,EAAIA,EAAsB,mBAAmB,CAC1G,EAEA,eAAeA,EAAuB,CACrCA,EAAsB,cAAc,IAAI,EACxC,MAAMxM,EAAcwM,EAAsB,QAAQ,EAClDA,EAAsB,QAAQxM,CAAW,CAC1C,CAED,CAED,CAEO,SAASkV,IAAkC,CACjD,IAAItO,EACAoF,EAEJ,MAAMC,EAAiB,CAEtB,QAAQO,EAAuB5rC,EAAI,CAClC,MAAMo/B,EAAcwM,EAAsB,QAAQ,EAClDxM,EAAY,UAAUp/B,CAAE,EACxB4rC,EAAsB,QAAQxM,CAAW,EACzCqF,EAAY,YAAYuB,CAAM,CAC/B,EAEA,QAAQ4F,EAAuB5rC,EAAI,CAClC,KAAK,QAAQ4rC,EAAuB5rC,CAAE,CACvC,EAEA,QAAQxK,EAAIo2C,EAAuBtC,EAAY,CAC9C,MAAMlK,EAAoBwM,EAAsB,QAAQ,EAClDrC,EAAoBnK,EAAY,iBAAiB,EACjDoK,EAAoBpK,EAAY,qBAAqB,EAO3DiK,GAAe7zC,EAAI41C,EAAqB9B,EAAYlK,EAAamK,EAAeC,EAL1D,IAAM,CAC3B4B,EAAoB,MAAM,EAC1BA,EAAoB,YAAY,EAChCA,EAAoB,QAAQhM,CAAW,CACxC,CACgH,CACjH,EAEA,SAAU,CACV,EAEA,QAAS,CACT,EAEA,gBAAgBwM,EAAuB,CACtC,MAAMxM,EAAcwM,EAAsB,QAAQ,EAClDxM,EAAY,UAAU,IAAI,EAC1BwM,EAAsB,QAAQxM,CAAW,EACzCqF,EAAY,YAAYuB,CAAM,CAC/B,CACD,EAmCA,MAjCiB,CAEhB,gBAAgB4F,EAAuBF,EAAQ,CAC9C,GAAI,CAAC1F,EAAQ,CACZA,EAAsBvB,EAAY,aAAa,EAC/C2G,EAAsB,IAAI,GAAoBQ,EAAuBP,CAAc,EACnF,MAAMxO,EAAgBuO,EAAoB,OAAO,EACjDpF,EAAO,OAAOnJ,CAAG,EACjBmJ,EAAO,gBAAgB0F,CAAM,EAC7BN,EAAoB,eAAenH,EAAwB,EAE3D+B,EAAO,iBAAiB,OAAQxwC,GAAM,CACrC41C,EAAoB,MAAM,CAC3B,CAAC,EAEDpF,EAAO,iBAAiB,QAASxwC,GAAM,CACtC,SAAS,cAAc,KAAK,EAC5Bo2C,EAAsB,MAAM,CAC7B,CAAC,CACF,CAEA,GAAK5F,EAAO,SAAS,EAQpBvB,EAAY,YAAYuB,CAAM,MARP,CACvB,MAAM5G,EAAcwM,EAAsB,QAAQ,EAClDR,EAAoB,MAAM,EAC1BA,EAAoB,YAAY,EAChCA,EAAoB,QAAQhM,CAAW,EACvCqF,EAAY,WAAWuB,CAAM,EAC7BmD,GAA0BnD,EAAQ0F,EAAO,sBAAsB,CAAC,CACjE,CAGD,CACD,CAED,CCxGO,SAAS6I,GAAepF,EAAU,CA+BxC,MA9BiB,CAEhB,SAAU,CACV,EAEA,QAAQ/P,EAAa,CACrB,EAEA,QAAQA,EAAa,CACrB,EAEA,OAAOA,EAAa,CACnB,MAAMnqC,EAAQmqC,EAAY,SAAS,EACnC,GAAG,CAACnqC,EAAO,CACVk6C,EAAS,iBAAiB,EAC1BA,EAAS,iBAAiB,EAC1B,MACD,CAEkBvC,GAAW33C,CAAK,GAKjCk6C,EAAS,iBAAiB,EAC1BA,EAAS,iBAAiB,IAJ1BA,EAAS,iBAAiB,EAC1BA,EAAS,mBAAmB,EAK9B,CAED,CAED,CCNA,MAAMqF,EAAuB,WAAW,oBAClC,GAAuBA,EAAO,YAC9B,GAAuBA,EAAO,aAC9BC,GAAuBD,EAAO,eAC9B,GAAuBA,EAAO,SAC9B,GAAuBA,EAAO,OAC9B,GAAuBA,EAAO,IAC9BE,GAAuBF,EAAO,MAC9BG,GAAuBH,EAAO,SAC9B,GAAuBA,EAAO,KAC9BI,GAAuBJ,EAAO,OAC9BK,GAAuBL,EAAO,QAC9BM,GAAuBN,EAAO,YAC9BO,GAAuBP,EAAO,qBAC9B,GAAuBA,EAAO,eAC9B,GAAuBA,EAAO,eAC9B,GAAuBA,EAAO,WAC9BQ,GAAuBR,EAAO,cAC9BS,GAAuBT,EAAO,YAC9BU,GAAuBV,EAAO,oBAE9BW,GAAgC,MAChC,GAAgC,GAChC,GAAgC,gBAChCC,GAAgC,qBAChCC,GAAgC,GAChCC,GAAgC,QAEhCC,GAAsC,YAAY,sCAAsC,EAAE,cAAc,MAAM,EAAE,YAE/G,SAASC,GAA8BrG,EAAU9zC,EAASmY,EAAWiiC,EAAqB9sB,EAAQmgB,EAAWp8B,EAAeE,EAAchJ,EAASoP,EAAUu4B,EAAgBmK,EAAgB/iC,EAAoBC,EAAsBC,EAAqBH,EAA2BQ,EAAUsmB,EAA6B,CACpU,IAAIxQ,EACJ,OAAQxV,EAAW,CAElB,IAAK,KAAkB,CAEtB,MAAMmiC,EAAcF,EAAoB,CAAC,EACnCG,EAAuBH,EAAoB,CAAC,EAC5C1U,EAAc,IAAI0T,GAAe,YAAY3L,EAAW6M,EAAYhtB,EAAQitB,CAAmB,EAC/F7gD,EAAco/C,GAA0B,EAC9CnrB,EAAoB,IAAIyrB,GAAe,0CAA0C1/C,CAAQ,EACzFi0B,EAAU,QAAQ+X,CAAW,EAC7B,KAED,CAEA,IAAK,KAAgC,CAEpC,MAAMrQ,EAAiBF,GAAesY,CAAS,EACzCpmB,EAAiB+yB,EAAoB,CAAC,EACtCtiC,EAAiBsiC,EAAoB,CAAC,EACtCI,EAAiBH,EAAeviC,CAAW,EAC3C4tB,EAAiB,IAAI,GAAY,mBAAmBrQ,EAAamlB,EAAaltB,EAAQxV,EAAauP,EAAgBumB,GAAgBr8B,CAAY,EAAGyoC,EAAU,EAElK,GAAI3oC,IAAkB,EAAuC,CAE5D,MAAM3X,EAAW2+C,GAA+B,EAChD1qB,EAAiB,IAAI,GAAY,mCAAmCj0B,CAAQ,EAC5Ei0B,EAAU,QAAQ+X,CAAW,CAE9B,KAAO,CAEN,MAAMhsC,EAAW0+C,GAA+B,EAChDzqB,EAAY,IAAI,GAAY,+BAA+Bj0B,CAAQ,EACnEi0B,EAAU,QAAQ+X,CAAW,CAE9B,CACA,KAED,CAEA,IAAK,KAA8B,CAElC,MAAMpQ,EAAiBC,GAAckY,CAAS,EACxCpmB,EAAiB+yB,EAAoB,CAAC,EACtCtiC,EAAiBsiC,EAAoB,CAAC,EACtCI,EAAiBH,EAAeviC,CAAW,EAC3C4tB,EAAiB,IAAI,GAAa,mBAAmBpQ,EAAYklB,EAAaltB,EAAQxV,EAAauP,EAAgBumB,GAAgBr8B,CAAY,CAAC,EAEtJ,GAAIF,IAAkB,EAAuC,CAE5D,MAAM3X,EAAWu/C,GAAgC,EACjDtrB,EAAe,IAAI,GAAa,4BAA4Bj0B,CAAQ,EACpEi0B,EAAU,QAAQ+X,CAAW,CAE9B,KAAO,CAEN,MAAMhsC,EAAWs/C,GAAgC,EACjDrrB,EAAe,IAAI,GAAa,4BAA4Bj0B,CAAQ,EACpEi0B,EAAU,QAAQ+X,EAAamI,GAAmB,CAAC,CAEpD,CACA,KAED,CAEA,IAAK,KAAiC,CAIrC,GAFsBuM,EAAoB,CAAC,IAErB,GAA6B,cAAe,CAEjE,MAAM9kB,EAAcC,GAAckY,CAAS,EACrC/H,EAAc,IAAI,GAAe,mBAAmBpQ,EAAY4a,EAAgB5iB,EAAQsgB,GAAgBr8B,CAAY,CAAC,EAE3H,GAAIF,IAAkB,EAAuC,CAE5D,MAAM3X,EAAW+2C,GAA4C,EAC7D9iB,EAAiB,IAAI,GAAe,4BAA4Bj0B,CAAQ,EACxEi0B,EAAU,QAAQ+X,CAAW,CAE9B,KAAO,CAEN,MAAMhsC,EAAW42C,GAA4C,EAC7D3iB,EAAiB,IAAI,GAAe,4BAA4Bj0B,CAAQ,EACxEi0B,EAAU,uBAAuB+X,EAAamI,GAAmB,CAAC,CAEnE,CAED,KAAO,CAEN,MAAMxY,EAAcF,GAAesY,CAAS,EACtC/H,EAAc,IAAI,GAAe,mBAAmBrQ,EAAa6a,EAAgB5iB,EAAQsgB,GAAgBr8B,CAAY,EAAG,KAAMyoC,EAAU,EAE9I,GAAI3oC,IAAkB,EAAuC,CAE5D,MAAM3X,EAAWo2C,GAA2C,EAC5DniB,EAAiB,IAAI,GAAe,mCAAmCj0B,CAAQ,EAC/Ei0B,EAAU,QAAQ+X,CAAW,CAC9B,KAAO,CAEN,MAAMhsC,EAAWk2C,GAA2C,EAC5DjiB,EAAiB,IAAI,GAAe,+BAA+Bj0B,CAAQ,EAC3Ei0B,EAAU,uBAAuB+X,CAAW,CAC7C,CAGD,CACA,KAED,CAEA,IAAK,KAAkB,CAEtB,MAAM3mC,EAAc,CAAC,EACf07C,EAAc,CAAC,EACf/U,EAAc,IAAIgU,GAAqB,aAAa,KAAM,KAAM,KAAM,KAAM,KAAM36C,EAAW07C,EAAantB,EAAO,YAAaA,CAAM,EACpI5zB,EAAc29C,GAAgC9uC,EAASvI,CAAO,EACpE2tB,EAAoB,IAAI+rB,GAAqB,uBAAuBhgD,CAAQ,EAC5Ei0B,EAAU,QAAQ+X,CAAW,EAC7B,KAED,CAEA,IAAK,IAAsB,CAE1B,MAAM9rC,EAAgB+7B,GAAY8X,CAAS,EACrCiN,EAAgBN,EAAoB,CAAC,EACrCO,EAAgBP,EAAoB,CAAC,EACrCQ,EAAgB,CAAC,EACvBA,EAAM,UAAgBD,EACtBC,EAAM,YAAgB,GACtB,MAAMlV,EAAgB,IAAI,GAAS,YAAY9rC,EAAO8gD,EAAeE,EAAOttB,CAAM,EAC5E5zB,EAAgB8uC,GAAoB,EAC1C7a,EAAsB,IAAI,GAAS,2BAA2Bj0B,CAAQ,EACtEi0B,EAAU,QAAQ+X,CAAW,EAC7B,KAED,CAEA,IAAK,KAAoB,CAExB,MAAMmV,EAAcplB,GAAUgY,CAAS,EACjCqN,EAAcV,EAAoB,CAAC,EACnCO,EAAcP,EAAoB,CAAC,EACnCW,EAAcX,EAAoB,CAAC,EACnCQ,EAAc,CAAC,EACrBA,EAAM,UAAcD,EACpBC,EAAM,YAAc,GACpB,MAAMlV,EAAc,IAAI,GAAO,YAAYmV,EAAQC,EAAaF,EAAOG,EAAUztB,CAAM,EACjF5zB,EAAci/C,GAAkB,EACtChrB,EAAoB,IAAI,GAAO,2BAA2Bj0B,CAAQ,EAClEi0B,EAAU,QAAQ+X,CAAW,EAC7B,KAED,CAEA,IAAK,IAAuB,CAE3B,MAAMtR,EAAeC,GAAO,MACtBgY,EAAerY,GACfZ,EAAeD,GAAcinB,EAAoB,CAAC,CAAC,EACnD7mB,EAAeD,GAAa8mB,EAAoB,CAAC,CAAC,EACzC1M,EAAeqG,GAAgBD,CAAQ,EACvCkH,EAAexN,GAA+BC,EAAWrZ,EAAQzc,EAAUyb,EAAYiZ,EAAY9Y,EAAWumB,GAA+BpM,CAAY,EACzJhI,EAAe,IAAI,GAAW,YAAY+H,EAAWrZ,EAAQhB,EAAYiZ,EAAY9Y,EAAWjG,CAAM,EAC5GK,EAAqB,IAAI,GAAW,sBAAsB+f,EAAcsN,CAAS,EAC1FrtB,EAAU,QAAQ+X,CAAW,EACpB/X,EAAU,WAAaA,EAAU,UAAUL,CAAM,EAC1D,KAED,CAEA,IAAK,KAAoB,CAExB,MAAM8G,EAAoBC,GAAO,MAC3B4mB,EAAoBb,EAAoB,CAAC,EACzCc,EAAoBd,EAAoB,CAAC,EACzC1U,EAAoB,IAAI6T,GAAa,YAAY9L,EAAWrZ,EAAQ8mB,EAAmBD,EAAW3tB,CAAM,EACxG5zB,EAAoB8+C,GAAkB1E,CAAQ,EACpDnmB,EAA0B,IAAI4rB,GAAa,2BAA2B7/C,CAAQ,EAC9Ei0B,EAAU,QAAQ+X,CAAW,EAC7B/X,EAAU,gBAAgBusB,EAAmC,EAC7D,KAED,CAEA,IAAK,KAAqB,CAEzB,MAAM9lB,EAAoBC,GAAO,MAC3B4mB,EAAoBb,EAAoB,CAAC,EACzCe,EAAoBf,EAAoB,CAAC,EACzCc,EAAoBd,EAAoB,CAAC,EACzC1U,EAAoB,IAAI8T,GAAQ,YAAY/L,EAAWrZ,EAAQ8mB,EAAmBD,EAAWE,EAAY7tB,CAAM,EAC/G5zB,EAAoB++C,GAAmB3E,CAAQ,EACrDnmB,EAA0B,IAAI6rB,GAAQ,2BAA2B9/C,CAAQ,EACzEi0B,EAAU,QAAQ+X,CAAW,EAC7B/X,EAAU,gBAAgBusB,EAAmC,EAC7D,KAED,CAEA,IAAK,IAAsB,CAE1B,MAAMxmB,EAAoB0mB,EAAoB,CAAC,EACzCtnC,EAAoBsnC,EAAoB,CAAC,EACzCa,EAAoBb,EAAoB,CAAC,EACzCc,EAAoBd,EAAoB,CAAC,EAE/C,IAAIgB,EAAS3nB,GAAYC,CAAQ,EAC7B5gB,IAAa,EAChBsoC,GAAU,IAEVA,EAAS,IAAIA,CAAM,GAGpB,IAAIhnB,EACAV,IAAa,GAChBU,EAASC,GAAO,MAEhBD,EAASC,GAAO,MAGjB,MAAMqR,EAAc,IAAI4T,GAAS,YAAY7L,EAAWrZ,EAAQgnB,EAAQF,EAAmBD,EAAWnoC,EAAUwa,EAAQ,GAAO,EAAK,EAC9H5zB,EAAcm6C,GAAoBC,CAAQ,EAChDnmB,EAAoB,IAAI2rB,GAAS,2BAA2B5/C,CAAQ,EACpEi0B,EAAU,QAAQ+X,CAAW,EAC7B/X,EAAU,gBAAgBusB,EAAmC,EAC7D,KAED,CAEA,IAAK,IAAmB,CAEvB,MAAMhjB,EAAgBkjB,EAAoB,CAAC,EAC3C,IAAI1U,EAEK,GAAKxO,EAME,CAEf,MAAMxxB,EAAW0xB,GAAkBqW,CAAS,EAC1BzoC,EAAWsoB,EAAO,YACxBoY,EAAiB,IAAIiU,GAAc,YAAYj0C,EAAQ4nB,EAAQtoB,CAAK,EAChF,MAAMtL,EAAWq+C,GAAsBjE,CAAQ,EACnCnmB,EAAiB,IAAIgsB,GAAc,0BAA0BjgD,CAAQ,EACjFi0B,EAAU,SAASssB,EAAW,CAEtB,KAfoB,CAE5BvU,EAAiB,IAAI2T,GAAM,YAAY5L,EAAWngB,CAAM,EACxD,MAAM5zB,EAAWw6C,GAAiBJ,CAAQ,EAC1CnmB,EAAiB,IAAI0rB,GAAM,2BAA2B3/C,CAAQ,CAEtD,CAWAi0B,EAAU,QAAQ+X,CAAW,EAC7B,KAEV,CAEA,IAAK,KAA0B,CAE9B,MAAM2V,EAAoBjB,EAAoB,CAAC,EACzCljB,EAAoBkjB,EAAoB,CAAC,EAC/C,IAAI1U,EAEK,GAAKxO,EAME,CAEf,MAAMxxB,EAAW0xB,GAAkBqW,CAAS,EACtCzoC,EAAWsoB,EAAO,YACxBoY,EAAiB,IAAImU,GAAoB,YAAYn0C,EAAQ21C,EAAmB/tB,EAAQtoB,CAAK,EAC7F,MAAMtL,EAAWw+C,GAA4BpE,CAAQ,EACrDnmB,EAAiB,IAAIksB,GAAoB,0BAA0BngD,CAAQ,EAC3Ei0B,EAAU,SAASssB,EAAW,CAEtB,KAfoB,CAE5BvU,EAAiB,IAAI+T,GAAY,YAAYhM,EAAW4N,EAAmB/tB,CAAM,EACjF,MAAM5zB,EAAWg/C,GAAuB5E,CAAQ,EAChDnmB,EAAiB,IAAI8rB,GAAY,2BAA2B//C,CAAQ,CAE5D,CAWTi0B,EAAU,QAAQ+X,CAAW,EAC7B,KAED,CAEA,IAAK,KAAiB,CAErB,MAAMxO,EAAgBkjB,EAAoB,CAAC,EAC3C,IAAI1U,EAEK,GAAKxO,EAME,CAEf,MAAMxxB,EAAW0xB,GAAkBqW,CAAS,EAC1BzoC,EAAWsoB,EAAO,YACxBoY,EAAiB,IAAIkU,GAAY,YAAYl0C,EAAQ4nB,EAAQtoB,CAAK,EAC9E,MAAMtL,EAAW4+C,GAAoBxE,CAAQ,EACjCnmB,EAAiB,IAAIisB,GAAY,0BAA0BlgD,CAAQ,EAC/Ei0B,EAAU,SAASssB,EAAW,CAEtB,KAfoB,CAE5BvU,EAAiB,IAAI,GAAI,YAAY+H,EAAWngB,CAAM,EACtD,MAAM5zB,EAAWw/C,GAAepF,CAAQ,EACxCnmB,EAAiB,IAAI,GAAI,2BAA2Bj0B,CAAQ,CAEpD,CAWTi0B,EAAU,QAAQ+X,CAAW,EAC7B,KAED,CAEA,IAAK,IAAwB,CAC5B,MAAMA,EAAc,IAAI,GAAW,YAAY,CAAC,EAAG,CAAC,EAAG,CAAC,CAAC,EACnDhsC,EAAcqtC,GAAsBx+B,EAAS+O,EAAoBC,EAAsBC,EAAqBH,EAA2BQ,EAAUsmB,CAA2B,EAClLxQ,EAAoB,IAAI,GAAW,uBAAuBj0B,CAAQ,EAClEi0B,EAAU,QAAQ+X,CAAW,EAC5BruB,EAAiEsW,EAAU,YAAY1P,EAAc,EAAzE0P,EAAU,SAAS1P,EAAc,EAC9D,KAED,CAEA,QACC,MAAM87B,EAER,CACA,OAAOpsB,CACR,CCnYO,MAAM2tB,EAAgC,CACzC,YAAYjkC,EAA2BC,EAAoBC,EAAsBC,EAAqBG,EAAUu4B,EAAgBqL,EAAcC,EAAUC,EAAYC,EAAiBnzC,EAASG,EAAUmP,EAAU8jC,EAAgC,CAC9O,KAAK,0BAA4BtkC,EACjC,KAAK,mBAAuBC,EAC5B,KAAK,qBAAuBC,EAC5B,KAAK,oBAAuBC,EAC5B,KAAK,SAAuBG,EAC5B,KAAK,eAAuBu4B,EAC5B,KAAK,aAAuBqL,EAC5B,KAAK,SAAuBC,EAC5B,KAAK,WAAuBC,EAC5B,KAAK,gBAAuBC,EAC5B,KAAK,QAAuBnzC,EAC5B,KAAK,SAAuBG,EAC5B,KAAK,SAAuBmP,EAC5B,KAAK,+BAAiC8jC,CAC1C,CAEA,uBAAwB,CAAE,CAC1B,yBAA0B,CAAE,CAC5B,wBAAyB,CAAE,CAC3B,YAAa,CAAE,CACf,aAAc,CAAE,CAChB,mBAAoB,CAAE,CACtB,eAAgB,CAAE,CAClB,SAAU,CAAE,CACZ,mBAAoB,CAAE,CACtB,SAAU,CAAE,CACZ,gBAAiB,CAAE,CACnB,mBAAoB,CAAE,CACtB,eAAgB,CAAE,CAClB,gBAAiB,CAAE,CACnB,oBAAoB98C,EAAO,CAAE,CAC7B,uBAAuBmB,EAAS,CAAE,CAClC,UAAUoW,EAAU,CAAE,CACtB,aAAapW,EAAS,CAAE,CACxB,uBAAuBA,EAAS,CAAE,CAClC,sBAAsB8zC,EAAU9zC,EAASqR,EAAeE,EAAck8B,EAAW,CAAE,CACnF,qBAAsB,CAAE,CACxB,aAAc,CAAE,CAChB,aAAc,CAAE,CAChB,6BAA8B,CAAE,CAChC,oBAAqB,CAAE,CACvB,aAAc,CAAE,CAChB,aAAc,CAAE,CACpB,CCvCA,MAAM,GAAgC,MAChCmO,GAAgC,+BAChCC,GAAuC,qCACvC,GAAgC,mBAChC,GAAgC,IAChC,GAAgC,IAChC,GAAgC,IAChC,GAAgC,IAE/B,MAAMC,WAA2BR,EAAgC,CACvE,YAAYjkC,EAA2BC,EAAoBC,EAAsBC,EAAqBG,EAAUu4B,EAAgBqL,EAAcC,EAAUC,EAAYC,EAAiBnzC,EAASG,EAAUmP,EAAU8jC,EAAgC,CACjP,MAAMtkC,EAA2BC,EAAoBC,EAAsBC,EAAqBG,EAAUu4B,EAAgBqL,EAAcC,EAAUC,EAAYC,EAAiBnzC,EAASG,EAAUmP,EAAU8jC,CAA8B,CAC3O,CAEA,8BAA+B,CAC9B,OAAO,KAAK,yBACb,CAEA,uBAAwB,CACvB,OAAO,KAAK,kBACb,CAEA,yBAA0B,CACzB,OAAO,KAAK,oBACb,CAEA,wBAAyB,CACxB,OAAO,KAAK,mBACb,CAEA,YAAa,CACZ,OAAO,KAAK,OACb,CAEA,aAAc,CACb,OAAO,KAAK,QACb,CAEA,mBAAoB,CACnB,OAAO,KAAK,cACb,CAEA,eAAgB,CACf,OAAO,KAAK,WAAW,cAAc,CACtC,CAEA,iBAAiBrjC,EAAc,CAE9B,MAAM5P,EAAW,OAAO,SAAS,KAC3BqzC,EAAWrzC,EAAS,QAAQ,WAAW,GAAK,GAAImzC,GAAuCD,GAC7F,OAAO,OAAO,SAAS,OAAS,GAAQG,EAAW,GAAc,GAAM,GAAS,mBAAmBrzC,CAAQ,EAAI,GAAY,GAAqB,GAAS,mBAAmB4P,CAAY,CACzL,CAEA,SAAU,CACT,OAAO,KAAK,WAAW,QAAQ,CAChC,CAEA,WAAWK,EAAQ,CAClB,OAAO,KAAK,iBAAiBA,CAAM,CACpC,CAEA,mBAAoB,CACnB,OAAO,KAAK,WAAW,kBAAkB,CAC1C,CAEA,SAAU,CACT,OAAO,KAAK,WAAW,YAAY,CACpC,CAEA,gBAAiB,CAChB,OAAO,KAAK,WAAW,mBAAmB,CAC3C,CAEA,mBAAoB,CACnB,OAAO,KAAK,WAAW,kBAAkB,CAC1C,CAEA,eAAgB,CACf,OAAO,KAAK,WAAW,cAAc,CACtC,CAEA,gBAAiB,CAChB,OAAO,KAAK,WAAW,eAAe,CACvC,CAEA,oBAAoB9Z,EAAO,CAC1B,OAAO,KAAK,WAAW,oBAAoBA,CAAK,CACjD,CAEA,uBAAuBmB,EAAS,CAC/B,OAAO,KAAK,WAAW,uBAAuBA,CAAO,CACtD,CAEA,UAAUoW,EAAU,CACnB,OAAO,KAAK,WAAW,UAAUA,CAAQ,CAC1C,CAEA,aAAapW,EAAS,CAErB,OADgB,KAAK,SAASA,CAAO,EACtB,QAAQ,CACxB,CAEA,uBAAuBA,EAAS,CAE/B,OADgB,KAAK,SAASA,CAAO,EACtB,cAAc,CAC9B,CAEA,sBAAsB8zC,EAAU9zC,EAASqR,EAAeE,EAAck8B,EAAW,CAChF,MAAMt1B,EAAsB,KAAK,aAAanY,CAAO,EAC/Co6C,EAAsB,KAAK,uBAAuBp6C,CAAO,EACzDstB,EAAsBF,GAAqBjV,CAAS,EAE1D,OAAOgiC,GAA8BrG,EAAU9zC,EAASmY,EAAWiiC,EAAqB9sB,EAAQmgB,EAAWp8B,EAAeE,EAAc,KAAK,WAAW,EAAG,KAAK,YAAY,EAAG,KAAK,kBAAkB,EAAGuG,GACjM,KAAK,aAAaA,CAAW,EAClC,KAAK,sBAAsB,EAAG,KAAK,wBAAwB,EAAG,KAAK,uBAAuB,EAAG,KAAK,6BAA6B,EAAG,KAAK,YAAY,EAAG,KAAK,+BAA+B,CAAC,CAC/L,CAEA,qBAAsB,CACrB,OAAO,KAAK,WAAW,oBAAoB,CAC5C,CAEA,aAAc,CACb,OAAO,KAAK,WAAW,YAAY,CACpC,CAEA,aAAc,CACb,OAAO,IAAI8V,EACZ,CAEA,6BAA8B,CAC7B,OAAO,IAAIG,EACZ,CAEA,oBAAqB,CACpB,OAAO,KAAK,eACb,CAEA,aAAc,CACb,OAAO,KAAK,QACb,CAEA,aAAc,CACb,OAAO,KAAK,QACb,CACD,CCrJO,MAAMiuB,EAAoB,CAC7B,aAAc,CACV,MAAM7tC,EAAW,EAAY,uBAAuB,EACpD,KAAK,IAAMA,EAAS,cAAc,sBAAsB,CAC5D,CAEA,SAASuf,EAAW,CAChBA,EAAU,OAAO,KAAK,GAAG,CAC7B,CAEA,QAAS,CACL,KAAK,IAAI,OAAO,CACpB,CACJ,CCdO,MAAMuuB,EAAmC,CAC5C,YAAYC,EAAoBC,EAAqB,CACvD,KAAK,mBAAsBD,EAC3B,KAAK,oBAAsBC,CAC5B,CAEG,aAAaC,EAAUtzB,EAASloB,EAAU,CAAE,CAC5C,eAAgB,CAAE,CACtB,CCDA,MAAMy7C,GAAgB,UAEf,MAAMC,WAA8BL,EAAmC,CAC7E,YAAYC,EAAoBC,EAAqB,CACpD,MAAMD,EAAoBC,CAAmB,CAC9C,CAEA,aAAaC,EAAUtzB,EAASloB,EAAU27C,EAAoBC,EAAoB,CACjF,MAAMC,EAAa,KAAK,mBAAmB,eAAe,EAC1D,QAAS5hD,EAAI,EAAGA,EAAI4hD,EAAY5hD,IAAK,CACpC,MAAMmF,EAAW,KAAK,mBAAmB,oBAAoBnF,CAAC,EACxDi5C,EAAWhrB,EAAQ9oB,CAAO,EAChC,GAAG8zC,GAAYA,EAAS,sBAAwBA,EAAS,qBAAqB,EAAG,CAChFsI,EAAS,gBAAgB7O,EAA0B,EACnD6O,EAAS,iBAAiB,EAC1B,MACD,CACAA,EAAS,gBAAgB,EAAE,EAC3BA,EAAS,iBAAiB,CAC3B,CAEA,MAAMV,EAAkB,KAAK,mBAAmB,mBAAmB,EAEnE,QAAS7gD,EAAI,EAAGA,EAAI6gD,EAAgB,OAAQ7gD,IAAK,CAChD,MAAMmF,EAAc07C,EAAgB7gD,CAAC,EAI/Bu6B,EAHctM,EAAQ9oB,CAAO,EACN,SAAS,EACR,QAAQ,EACN,SAAS,EAGzC,OAFoB,KAAK,mBAAmB,aAAaA,CAAO,EAE9C,CACjB,IAAK,IACL,IAAK,KAEJ,GAAG,CADmB,CAAC,CAACo1B,EACL,CAClBsnB,GAAiBN,CAAQ,EACzB,MACD,CACA,MAED,IAAK,IAEJ,GAAG,CADW,KAAK,MAAMhnB,CAAU,EACzB,OAAQ,CACjBsnB,GAAiBN,CAAQ,EACzB,MACD,CACA,MAED,QACC,GAAI,CAAChnB,EAAY,CAChBsnB,GAAiBN,CAAQ,EACzB,MACD,CACA,KACF,CACD,CACAA,EAAS,gBAAgB,EAAE,EAC3BA,EAAS,iBAAiB,EAE1B,MAAMnF,EAAc,CAAC,EACrB,QAASp8C,EAAI,EAAGA,EAAI4hD,EAAY5hD,IAAK,CACpC,MAAMmF,EAAc,KAAK,mBAAmB,oBAAoBnF,CAAC,EAI3Du6B,EAHctM,EAAQ9oB,CAAO,EACN,SAAS,EACR,QAAQ,EACN,SAAS,EAIzC,GAHoB,KAAK,mBAAmB,aAAaA,CAAO,IAEvB,KAClB,CACtB,GAAG,CAACo1B,EAAY,CACf6hB,EAAY,KAAK7hB,CAAU,EAC3B,QACD,CACA,MAAMunB,EAAgBvnB,EAAW,WAAWinB,GAAe,EAAE,EACvDO,EAAgB,OAAOD,CAAa,EAAI,IAC9C1F,EAAY,KAAK2F,CAAa,CAC/B,MACC3F,EAAY,KAAK7hB,CAAU,CAE7B,CAEAmnB,GAAsBA,EAAmB,EACzCvF,GAAqB,KAAK,mBAAmB,YAAY,EAAGp2C,EAAUq2C,EAAa,KAAK,oBAAqB,IAAM,CAClHuF,EAAmB,EACnBJ,EAAS,WAAW,EACpBA,EAAS,OAAO,EACY,IAAIJ,GAAoB,EAChC,SAAS,SAAS,IAAI,CAC3C,CAAC,CACF,CAEA,eAAgB,CAEhB,CACD,CAEA,SAASU,GAAiBN,EAAU,CACnCA,EAAS,gBAAgB9O,EAA8B,EACvD8O,EAAS,iBAAiB,CAC3B,CC1GA,MAAMS,GAAsB,MACtBC,GAAsB,SAEf,GAAe,IACfC,GAA4B,mBAElC,SAASC,GAAYC,EAAiB,CAY5C,MAAO,IAAUA,CAAe,EACjC,CAEO,SAAS,IAAqB,CACpC,OAAO,KAAK,OAAO,EAAE,SAAS,CAC/B,CAEO,SAASC,GAAc98C,EAAQ3B,EAASS,EAAQ,CAEtD,OADc,GAASkB,EAAQ3B,CAAO,EACzB,QAAQS,CAAM,CAC5B,CAEA,SAASi+C,GAAQ/8C,EAAQ,CACxB,OAAO,MAAM,KAAK,UAAU,IAAIA,CAAM,CACvC,CAEO,SAAS,GAASA,EAAQ3B,EAAS,CAEzC,OADa0+C,GAAQ/8C,CAAM,EACf,SAAS3B,CAAO,CAC7B,CAEA,SAAS2+C,GAASh9C,EAAQ3B,EAASuB,EAAS,CAE3C,OADc,GAASI,EAAQ3B,CAAO,EACzB,SAASuB,CAAO,CAC9B,CAEO,SAAS,GAAaI,EAAQ3B,EAASuB,EAAS,CAEtD,OADco9C,GAASh9C,EAAQ3B,EAASuB,CAAO,EAClC,QAAQ,EAAE,QAAQ,CAChC,CAEO,SAASq9C,GAAsCj9C,EAAQ,CAE7D,OADa+8C,GAAQ/8C,CAAM,EACf,sCAAsC,CACnD,CCnDA,MAAMk9C,GAAgC,kCAChCC,GAAgC,eAChCC,GAAgC,oBAE/B,SAASC,GAAmB3B,EAAoBM,EAAU,CAChEA,EAAS,MAAM,EAGf,MAAMsB,EAAsB5B,EAAmB,cAAc,EACvD6B,EAAsBD,EAAW,cAAc,EAErD,GAAGC,EAAqB,CACvBvB,EAAS,eAAe,EACxB,MAAM9jC,EAAgBolC,EAAW,MAAM,EACjCE,EAAgB9B,EAAmB,iBAAiBxjC,CAAY,EACtE8jC,EAAS,cAAcwB,CAAa,CACrC,MACCxB,EAAS,eAAe,EAIzB,MAAMzzB,EAAgBmzB,EAAmB,QAAQ,EAC3C+B,EAAgBl1B,EAAK,cAAc,EAEzC,GAAGk1B,EAAe,CACjBzB,EAAS,SAAS,EAClB,MAAMzjC,EAAUgQ,EAAK,MAAM,EACrBm1B,EAAUhC,EAAmB,WAAWnjC,CAAM,EAGpD,OAFAyjC,EAAS,QAAQ0B,CAAO,EAEjBn1B,EAAK,QAAQ,EAAG,CACtB,IAAK,IACJyzB,EAAS,iBAAiB,EAC1B,MAED,IAAK,IACJA,EAAS,kBAAkB,EAC3B,MAED,IAAK,IACJA,EAAS,iBAAiB,EAC1B,MAED,QACC,MAAMmB,EACR,CAEA,OAAQ50B,EAAK,aAAa,EAAG,CAC5B,IAAK,IACJyzB,EAAS,qBAAqB,EAC9B,MAED,IAAK,IACJA,EAAS,uBAAuB,EAChC,MAED,IAAK,IACJA,EAAS,sBAAsB,EAC/B,MAED,QACC,MAAMoB,EACR,CACD,MACCpB,EAAS,SAAS,EAInB,MAAMvzB,EAA2BizB,EAAmB,kBAAkB,EAChExiC,EAA2BuP,EAAe,cAAc,EAE9D,GAAG,CAACvP,EACH8iC,EAAS,sBAAsB,MACzB,CACNA,EAAS,sBAAsB,EAC/BA,EAAS,QAAQN,EAAmB,QAAQ,CAAC,EAC7CM,EAAS,eAAeN,EAAmB,eAAe,CAAC,EAE3D,MAAMziC,EAA0BwP,EAAe,aAAa,EAG5D,OAFgCA,EAAe,QAAQ,EAE3B,CAC3B,IAAK,IACJuzB,EAAS,qBAAqB,EAC9B,MAED,IAAK,IACJA,EAAS,sBAAsB,EAC/B,MAED,IAAK,IACJA,EAAS,qBAAqB,EAC9B,MAED,QACC,MAAMmB,EACR,CAEA,OAAQlkC,EAAyB,CAChC,IAAK,IACJ+iC,EAAS,yBAAyB,EAClC,MAED,IAAK,IACJA,EAAS,2BAA2B,EACpC,MAED,IAAK,IACJA,EAAS,0BAA0B,EACnC,MAED,QACC,MAAMoB,EACR,CACD,CAKA,OAHC,CAACG,GAAuB,CAACE,GAAiB,CAACvkC,EAA4B8iC,EAAS,sCAAsC,EAAIA,EAAS,sCAAsC,EAEnJN,EAAmB,kBAAkB,EACrC,CACtB,IAAK,GACJM,EAAS,qBAAqB,EAC9B,MAED,IAAK,GACJA,EAAS,sBAAsB,EAC/B,MAED,IAAK,GACJA,EAAS,uBAAuB,EAChC,MAED,QACC,MAAMkB,EACR,CAEAlB,EAAS,cAAcN,EAAmB,cAAc,CAAC,EAEzD,MAAMphD,EAAQohD,EAAmB,eAAe,EAChD,QAASjhD,EAAI,EAAGA,EAAIH,EAAOG,IAAK,CAE/B,MAAMmF,EAAoB87C,EAAmB,oBAAoBjhD,CAAC,EAC5Dub,EAAoB0lC,EAAmB,uBAAuB97C,CAAO,EACrE2W,EAAoBmlC,EAAmB,UAAU1lC,CAAQ,EACzDoD,EAAoB7C,EAAO,QAAQ,EACnC8C,EAAoB9C,EAAO,eAAe,EAC1C+C,EAAoB/C,EAAO,YAAY,EACvCtF,EAAoBsF,EAAO,iBAAiB,EAC5CpF,EAAoBoF,EAAO,gBAAgB,EAC3Cm9B,EAAoBiK,GAAYjC,EAAoB97C,CAAO,EAE3D2tB,EAAoBmuB,EAAmB,sBAAsBhI,EAAU9zC,EAASqR,EAAeE,EAD3E,EACkG,EAE5HuiC,EAAS,QAAQt6B,CAAU,EAC3BC,EAAoBq6B,EAAS,eAAer6B,CAAiB,EAAIq6B,EAAS,kBAAkB,EAC5Fp6B,EAAWo6B,EAAS,YAAY,EAAIA,EAAS,eAAe,EAC5DA,EAAS,SAASnmB,CAAS,EAErByuB,EAAS,UAAUp8C,EAAS8zC,CAAQ,EACpCsI,EAAS,WAAWp8C,CAAO,EACjCo8C,EAAS,aAAatI,CAAQ,CAC/B,CAEAsI,EAAS,oBAAoBN,EAAmB,oBAAoB,CAAC,EAEpDA,EAAmB,YAAY,EACLM,EAAS,YAAY,EAAjDA,EAAS,eAAe,CACxC,CAEA,SAAS2B,GAAYjC,EAAoB97C,EAAS,CAEjD,OADkB87C,EAAmB,aAAa97C,CAAO,EACvC,CACjB,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,IACL,IAAK,KACL,IAAK,IACL,IAAK,IACJ,OAAO87C,EAAmB,YAAY,EAEvC,IAAK,KAAO,CACX,MAAMhI,EAAWgI,EAAmB,4BAA4B,EAChE,OAAAhI,EAAS,gBAAgB9G,EAAqB,EACvC8G,CACR,CAEA,IAAK,KAAQ,CACZ,MAAMA,EAAWgI,EAAmB,4BAA4B,EAChE,OAAAhI,EAAS,gBAAgB7G,EAAsB,EACxC6G,CACR,CAEA,IAAK,IAAS,CACb,MAAMA,EAAWgI,EAAmB,4BAA4B,EAChE,OAAAhI,EAAS,gBAAgB5G,EAAuB,EACzC4G,CACR,CAEA,IAAK,KAAc,CAClB,MAAMA,EAAWgI,EAAmB,4BAA4B,EAChE,OAAAhI,EAAS,gBAAgBzG,EAA2B,EAC7CyG,CACR,CAEA,IAAK,IAAO,CACX,MAAMA,EAAWgI,EAAmB,4BAA4B,EAChE,OAAAhI,EAAS,gBAAgB3G,EAAoB,EACtC2G,CACR,CAEA,IAAK,KAAK,CACT,MAAMA,EAAWgI,EAAmB,4BAA4B,EAChE,OAAAhI,EAAS,gBAAgB1G,EAAkB,EACpC0G,CACR,CAEA,QACC,MAAM7mB,EACR,CACD,CCjOO,MAAM+wB,EAAsB,CAC/B,YAAYC,EAAuB/B,EAAoB,CACnD,KAAK,sBAAwB+B,EACnC,KAAK,mBAAwB/B,CAC3B,CAEA,qBAAsB,CAAE,CACxB,YAAa,CAAE,CACf,SAASxuB,EAAW,CAAE,CACtB,QAAS,CAAE,CACX,cAAcgwB,EAAY,CAAE,CAC5B,QAAQ/0B,EAAM,CAAE,CAChB,sBAAuB,CAAE,CACzB,uBAAwB,CAAE,CAC1B,sBAAuB,CAAE,CACzB,0BAA2B,CAAE,CAC7B,4BAA6B,CAAE,CAC/B,2BAA4B,CAAE,CAC9B,QAAQtS,EAAU,CAAE,CACpB,eAAeC,EAAiB,CAAE,CAClC,sBAAuB,CAAE,CACzB,uBAAwB,CAAE,CAC1B,wBAAyB,CAAE,CAC3B,cAActR,EAAO,CAAE,CACvB,aAAa2R,EAAQ,CAAE,CACvB,UAAU3W,EAAS2W,EAAQ,CAAE,CAC7B,WAAW3W,EAAS,CAAE,CACtB,oBAAoByW,EAAkB,CAAE,CACxC,aAAc,CAAE,CAChB,gBAAiB,CAAE,CACnB,OAAQ,CAAE,CACV,eAAewnC,EAAuB/B,EAAoB,CAAE,CAC5D,kBAAmB,CAAE,CACrB,kBAAmB,CAAE,CACrB,gBAAgBpuB,EAAc,CAAE,CAChC,uBAAwB,CAAE,CAC1B,uBAAwB,CAAE,CAC1B,8BAA+B,CAAE,CACjC,8BAA+B,CAAE,CACjC,wBAAyB,CAAE,CAC3B,wBAAyB,CAAE,CAC/B,CCpCO,MAAMsuB,WAAiB4B,EAAsB,CACnD,YAAYC,EAAuB/B,EAAoB,CACtD,MAAM+B,EAAuB/B,CAAkB,EAE/C,KAAK,IAA0B,GAAgB,oBAAqB,UAAU,EAC9E,KAAK,WAA0B,KAAK,IAAI,cAAc,aAAa,EAEnE,KAAK,WAA0B,KAAK,IAAI,cAAc,aAAa,EACnE,KAAK,cAA0B,KAAK,IAAI,cAAc,gBAAgB,EACtE,KAAK,cAA0B,KAAK,IAAI,cAAc,gBAAgB,EACtE,KAAK,KAA0B,KAAK,IAAI,cAAc,OAAO,EAC7D,KAAK,iBAA0B,KAAK,IAAI,cAAc,mBAAmB,EACzE,KAAK,aAA0B,KAAK,IAAI,cAAc,eAAe,EACrE,KAAK,kBAA0B,KAAK,IAAI,cAAc,oBAAoB,EAC1E,KAAK,KAA0B,KAAK,IAAI,cAAc,WAAW,EACjE,KAAK,YAA0B,KAAK,IAAI,cAAc,kBAAkB,EACxE,KAAK,gBAA0B,KAAK,IAAI,cAAc,kBAAkB,EACxE,KAAK,aAA0B,KAAK,IAAI,cAAc,eAAe,EACrE,KAAK,aAA0B,KAAK,IAAI,cAAc,eAAe,EACrE,KAAK,mBAA0B,KAAK,IAAI,cAAc,qBAAqB,EAC3E,KAAK,mBAAmB,OAAO,EAE/B,KAAK,cAA0B,KAAK,IAAI,cAAc,gBAAgB,EACrE,KAAK,wBAA0B,KAAK,IAAI,cAAc,0BAA0B,EACjF,KAAK,eAA0B,KAAK,IAAI,cAAc,iBAAiB,EACvE,KAAK,QAA0B,CAAC,EAChC,KAAK,SAA0B,CAAC,EAChC,GAAY,KAAK,IAAI,EAErB,KAAK,yBAA2B,IAAM,CACrC,KAAK,6BAA6B,EAClC,KAAK,cAAc,oBAAoB,OAAQ,KAAK,wBAAwB,EAC5E,KAAK,cAAc,oBAAoB,QAAS,KAAK,yBAAyB,CAC/E,EAEA,KAAK,0BAA4B,IAAM,CACtC,KAAK,cAAc,oBAAoB,QAAS,KAAK,yBAAyB,EAC9E,KAAK,6BAA6B,EAClC,KAAK,cAAc,EAAE,CACtB,EAEA,KAAK,mBAAqB,IAAM,CAC/B,KAAK,uBAAuB,EAC5B,KAAK,aAAa,oBAAoB,OAAQ,KAAK,kBAAkB,EACrE,KAAK,aAAa,oBAAoB,QAAS,KAAK,mBAAmB,CACxE,EAEA,KAAK,oBAAsB,IAAM,CAChC,KAAK,aAAa,oBAAoB,QAAS,KAAK,mBAAmB,EACvE,KAAK,uBAAuB,EAC5B,KAAK,QAAQ,EAAE,CAChB,CACD,CAEA,qBAAsB,CACrB,MAAMgC,EAAe,KAAK,SAAS,CAAC,EACf,KAAK,QAAQA,CAAY,EACrC,MAAM,CAChB,CAEA,YAAa,CACZT,GAAmB,KAAK,mBAAoB,IAAI,CACjD,CAEA,SAAS/vB,EAAW,CACnBA,EAAU,YAAY,KAAK,GAAG,CAC/B,CAEA,QAAS,CACR,KAAK,IAAI,OAAO,CACjB,CAEA,cAAckwB,EAAe,CAC5B,KAAK,cAAc,iBAAiB,OAAQ,KAAK,wBAAwB,EACzE,KAAK,cAAc,iBAAiB,QAAS,KAAK,yBAAyB,EAC3E,KAAK,6BAA6B,EAClC,KAAK,cAAc,IAAMA,CAC1B,CAEA,QAAQE,EAAS,CAChB,KAAK,aAAa,iBAAiB,OAAQ,KAAK,kBAAkB,EAClE,KAAK,aAAa,iBAAiB,QAAS,KAAK,mBAAmB,EACpE,KAAK,uBAAuB,EAC5B,KAAK,aAAa,IAAMA,CACzB,CAEA,gBAAiB,CAChB,KAAK,WAAW,UAAU,OAAO,MAAI,CACtC,CAEA,gBAAiB,CAChB,KAAK,WAAW,UAAU,IAAI,MAAI,CACnC,CAEA,UAAW,CACV,KAAK,KAAK,UAAU,OAAO,MAAI,CAChC,CAEA,UAAW,CACV,KAAK,KAAK,UAAU,IAAI,MAAI,CAC7B,CAEA,kBAAmB,CAClB,KAAK,iBAAiB,UAAU,IAAIpiC,EAAoB,CACzD,CAEA,mBAAoB,CACnB,KAAK,iBAAiB,UAAU,IAAIC,EAAqB,CAC1D,CAEA,kBAAmB,CAClB,KAAK,iBAAiB,UAAU,IAAIC,EAAoB,CACzD,CAEA,sBAAuB,CACtB,KAAK,KAAK,UAAU,IAAIZ,EAAoB,CAC7C,CAEA,wBAAyB,CACxB,KAAK,KAAK,UAAU,IAAIC,EAAsB,CAC/C,CAEA,uBAAwB,CACvB,KAAK,KAAK,UAAU,IAAIC,EAAqB,CAC9C,CAEA,sBAAuB,CACtB,KAAK,kBAAkB,MAAM,YAAYW,GAAgB,MAAoB,CAC9E,CAEA,uBAAwB,CACvB,KAAK,kBAAkB,MAAM,YAAYA,GAAgB,MAAqB,CAC/E,CAEA,sBAAuB,CACtB,KAAK,kBAAkB,MAAM,YAAYA,GAAgB,MAAoB,CAC9E,CAEA,0BAA2B,CAC1B,KAAK,kBAAkB,MAAM,YAAYC,GAAiB,MAAoB,CAC/E,CAEA,4BAA6B,CAC5B,KAAK,kBAAkB,MAAM,YAAYA,GAAiB,QAAsB,CACjF,CAEA,2BAA4B,CAC3B,KAAK,kBAAkB,MAAM,YAAYA,GAAiB,OAAqB,CAChF,CAEA,QAAQzF,EAAU,CACjB,KAAK,KAAK,YAAcA,CACzB,CAEA,eAAeC,EAAiB,CAC/B,KAAK,YAAY,YAAcA,CAChC,CAEA,sBAAuB,CACtB,KAAK,gBAAgB,UAAU,IAAIuH,EAAyB,CAC7D,CAEA,uBAAwB,CACvB,KAAK,gBAAgB,UAAU,IAAIC,EAA0B,CAC9D,CAEA,wBAAyB,CACxB,KAAK,gBAAgB,UAAU,IAAIC,EAA2B,CAC/D,CAEA,cAAc/Y,EAAO,CACpB,KAAK,IAAI,MAAM,YAAYyW,GAAuBuhC,GAAYh4C,CAAK,CAAC,CACrE,CAEA,aAAa2R,EAAQ,CACpBA,EAAO,SAAS,KAAK,eAAe,CACrC,CAEA,UAAU3W,EAAS2W,EAAQ,CAC1B,KAAK,QAAQ3W,CAAO,EAAI2W,CACzB,CAEA,WAAW3W,EAAS,CACnB,KAAK,SAAS,KAAKA,CAAO,CAC3B,CAEA,oBAAoByW,EAAkB,CACrC,KAAK,cAAc,YAAcA,CAClC,CAEA,oBAAqB,CACpB,KAAK,aAAa,UAAU,OAAOyH,EAAkB,EACrD,KAAK,0BAA4B,EAClC,CAEA,qBAAsB,CACrB,KAAK,aAAa,UAAU,IAAIA,EAAkB,EAClD,KAAK,0BAA4B,EAClC,CAEA,oBAAoBigC,EAAkB,CACrC,KAAK,aAAa,MAAQA,CAC3B,CAEA,aAAc,CACb,KAAK,WAAW,YAAY,KAAK,uBAAuB,CACzD,CAEA,gBAAiB,CAChB,KAAK,wBAAwB,OAAO,CACrC,CAEA,OAAQ,CACP,KAAK,QAA4B,CAAC,EAClC,KAAK,SAA4B,CAAC,EAClC,KAAK,gBAAgB,UAAY,GACjC,KAAK,gBAAgB,EAAE,EACvB,KAAK,iBAAiB,CACvB,CAEA,eAAeF,EAAuB/B,EAAoB,CACzD,KAAK,sBAAwB+B,EAC7B,KAAK,mBAAwB/B,CAC9B,CAEA,kBAAmB,CAClB,KAAK,aAAa,UAAU,OAAO,MAAI,CACxC,CAEA,kBAAmB,CAClB,KAAK,aAAa,UAAU,IAAI,MAAI,CACrC,CAEA,gBAAgBpuB,EAAc,CAC7B,KAAK,aAAa,YAAcA,CACjC,CAEA,uBAAwB,CACvB,KAAK,kBAAkB,UAAU,OAAO,MAAI,CAC7C,CAEA,uBAAwB,CACvB,KAAK,kBAAkB,UAAU,IAAI,MAAI,CAC1C,CAEA,YAAY,CACX,KAAK,aAAa,QAAQ,KAAK,kBAAkB,EACjD,KAAK,aAAa,UAAU,IAAI,aAAa,CAC9C,CAEA,YAAY,CACX,KAAK,aAAa,UAAU,OAAO,aAAa,EAChD,KAAK,mBAAmB,OAAO,CAChC,CAEA,uCAAwC,CACvC,KAAK,cAAc,UAAU,IAAI,MAAI,CACtC,CAEA,uCAAwC,CACvC,KAAK,cAAc,UAAU,OAAO,MAAI,CACzC,CAEA,8BAA+B,CAC9B,KAAK,WAAW,UAAU,IAAIjR,EAAkB,CACjD,CAEG,8BAA+B,CACjC,KAAK,WAAW,UAAU,OAAOA,EAAkB,CACpD,CAEA,wBAAyB,CACxB,KAAK,cAAc,UAAU,IAAIC,EAA6B,CAC/D,CAEG,wBAAyB,CAC3B,KAAK,cAAc,UAAU,OAAOA,EAA6B,CAClE,CACD,CAEA,SAAS,IAAc,CACtB,KAAK,aAAa,iBAAiB,YAAa3iB,GAAM,CACrD,KAAK,2BAA6BA,EAAG,eAAe,CACrD,CAAC,EAED,KAAK,aAAa,iBAAiB,QAASA,GAAM,CAC9C,KAAK,2BAER,KAAK,sBAAsB,aAAa,KAAM,KAAK,QAAS,KAAK,SAAU,IAAI,CAC9E,KAAK,WAAW,CACjB,EAAG,IAAM,CACR,KAAK,WAAW,CACjB,CAAC,CACF,CAAC,EAED,KAAK,eAAe,iBAAiB,QAASA,GAAM,CACnD,KAAK,sBAAsB,cAAc,CAC1C,CAAC,CACF,CC7SO,IAAI,GACPikD,GACA,OAAO,UAAU,SAAS,YAAY,EAAE,SAAS,KAAK,GACzD,GAAQ,MACRA,GAAsBjkD,GAAM,CAC3B,MAAM0qC,EAAUwZ,GAAWlkD,CAAE,EAC7B,IAAImkD,EAAM,GACV,OAAAnkD,EAAG,UAAYmkD,GAAO,GAAG,EAAK,KAC9BnkD,EAAG,UAAYmkD,GAAO,OACtBnkD,EAAG,SAAWmkD,GAAO,OACrBnkD,EAAG,WAAamkD,GAAO,OACvBA,GAAOzZ,EACAyZ,CACR,IAEA,GAAQ,KACRF,GAAsBjkD,GAAM,CAC3B,MAAM0qC,EAAUwZ,GAAWlkD,CAAE,EAC7B,IAAImkD,EAAM,GACV,OAAAnkD,EAAG,UAAYmkD,GAAO,OACtBnkD,EAAG,SAAWmkD,GAAO,OACrBnkD,EAAG,WAAamkD,GAAO,OACvBA,GAAOzZ,EACAyZ,CACR,GAGM,SAASD,GAAWlkD,EAAI,CAE9B,OADgBA,EAAG,SAAWA,EAAG,OAClB,SAAS,CACzB,CAEA,MAAMokD,GAAY,GACZC,GAAY,GACZC,GAAe,GACfC,GAAe,GACfC,GAAsB,GACtBC,GAAsB,IAE5B,SAASC,GAAY1kD,EAAI,CACxB,GAAI,CAACA,EAAG,SAAW,CAACA,EAAG,SAAW,CAACA,EAAG,OAAQ,CAE7C,IAAI0qC,EAAU1qC,EAAG,SAAWA,EAAG,MAC/B,GAAK0qC,GAAW0Z,IAAa1Z,GAAW2Z,IAAe3Z,GAAW4Z,IAAgB5Z,GAAW6Z,IAAkB7Z,GAAW8Z,IAAuB9Z,GAAW+Z,GAC3J,MAAO,GAGR,IAAI/Z,EAAUwZ,GAAWlkD,CAAE,EAC3B,OAAQ0qC,EAAS,CAChB,IAAK,MACL,KAAKxH,GACL,KAAKC,GACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,KAAKE,GACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MAGJ,MAAO,GACR,IAAK,KACJ,MAAO,CAACrjC,EAAG,QACb,CACD,CACA,MAAO,EACR,CACA,SAAS2kD,GAAc3kD,EAAI,CAC1B,GAAI,MAAM,MAAQ,MAAM,KAAK,WAAa,OAAO,MAAQ,WAAY,CACpE,MAAM0qC,EAAUwZ,GAAWlkD,CAAE,EACvB2C,EAAa,KAAK,WAAW,cAAc,EAC3CiiD,EAAY,WAAW,WAAWjiD,EAAW,QAAQ,EAC3D,OAAQ+nC,IAAY,MAAW,WAAW,aAAaka,CAAS,GAAK,GACtE,CACA,MAAO,EACR,CACO,SAASC,GAAkB7kD,EAAI,CACrC,MAAM0qC,EAAUwZ,GAAWlkD,CAAE,EAC7B,IAAImkD,EAAM,GACV,MAAMW,EAAiBpa,IAAY,MAAgBA,IAAY,MAAeA,IAAY,OAAaA,IAAY,MAAWA,IAAY,MAASA,IAAY,KAC/J,OAAIga,GAAY1kD,CAAE,EAEjBmkD,EAAM,IACKW,GAGX9kD,EAAG,UAAYmkD,EAAM,OACrBA,GAAQnkD,EAAG,SAAWmkD,IAAQ,GAAK,GAAK,KAAO,KAAO,GACtDA,GAAQnkD,EAAG,QAAUmkD,IAAQ,GAAK,GAAK,KAAO,KAAM,GACpDA,GAAQnkD,EAAG,UAAYmkD,IAAQ,GAAK,GAAK,KAAO,KAAQ,IALxDA,EAAMF,GAAoBjkD,CAAE,EAOtBmkD,CACR,C,4XCtGA,SAIO,MAAMY,EAAe,CAGxB,YAAYxlD,EAAU,CAHnB,YACH,YAGI,MAAMyU,EAAY,EAAY,wBAAwB,EACtD,KAAK,IAAaA,EAAS,cAAc,kBAAkB,EAC3D,KAAK,WAAa,KAAK,IAAI,cAAc,4BAA4B,EACrE,KAAK,OAAa,KAAK,IAAI,cAAc,kBAAkB,EAC3D,KAAK,MAAa,KAAK,IAAI,cAAc,gBAAgB,EACzD,KAAK,SAAa,KAAK,IAAI,cAAc,gBAAgB,EACzD,KAAK,SAAa,KAAK,IAAI,cAAc,WAAW,EACpD,KAAK,IAAa,KAAK,IAAI,cAAc,oBAAoB,EAC7D,KAAK,OAAa,KAAK,IAAI,cAAc,SAAS,EAClD,KAAK,OAAO,OAAO,EAEnB,QAAK,OAAL,UAAkBzU,CAAQ,EAC1B,KAAK,OAAO,SAAW,GACvB,KAAK,aAAkB,GAEvB,MAAMO,EAAO,KACb,QAAK,GAAkBklD,GAAY,KAAK,KAAM,CAC1C,QAAS,UAAY,CACdllD,EAAK,MAAM,MAAM,OAAS,IACzBA,EAAK,WAAW,EAChBP,GAAYA,EAASO,EAAK,MAAM,KAAK,EAE7C,CACJ,CAAC,CAAC,CACN,CAEA,SAASyzB,EAAW,CAChBA,EAAU,OAAO,KAAK,GAAG,EACzB0xB,GAAqB,QAAK,GAAY,CAC1C,CAEA,QAAS,CACL,KAAK,IAAI,OAAO,EAChBC,GAAuB,QAAK,GAAY,CAC5C,CAEA,gBAAiB,CACb,KAAK,SAAS,UAAU,OAAO,MAAM,EACrC,KAAK,WAAW,UAAU,IAAI,UAAU,CAC5C,CAEA,YAAY,CACR,KAAK,OAAO,QAAQ,KAAK,MAAM,EAC/B,KAAK,OAAO,UAAU,IAAI,aAAa,EACvC,KAAK,WAAW,UAAU,IAAI,kBAAkB,CACpD,CAEA,YAAY,CACR,KAAK,OAAO,UAAU,OAAO,aAAa,EAC1C,KAAK,WAAW,UAAU,OAAO,kBAAkB,EACnD,KAAK,OAAO,OAAO,CACvB,CA2BJ,CAjFI,eADG,eAyDH,GAAY,SAAC3lD,EAAU,CACnB,KAAK,OAAO,iBAAiB,QAAS,IAAM,CACxC,KAAK,WAAW,EAChBA,GAAYA,EAAS,KAAK,MAAM,KAAK,CACzC,CAAC,EAED,KAAK,MAAM,iBAAiB,QAAS,IAAM,CACvC,KAAK,SAAS,UAAU,IAAI,MAAM,EAClC,KAAK,WAAW,UAAU,OAAO,UAAU,EAC3C,KAAK,OAAO,SAAW,MAAK,MAAM,KACtC,CAAC,EAED,KAAK,IAAI,iBAAiB,QAAUS,GAAO,CACpC,KAAK,cACJ,KAAK,SAAS,UAAU,IAAI,MAAM,EAClC,KAAK,MAAM,KAAO,SAGlB,KAAK,SAAS,UAAU,OAAO,MAAM,EACrC,KAAK,MAAM,KAAO,YAEtB,KAAK,aAAe,CAAC,KAAK,YAC9B,CAAC,CACL,EAIJ,SAASglD,GAAYzlD,EAAUS,EAAI,CACd6kD,GAAkB7kD,CAAE,IAE5B,MACDT,EAAS,QAAQ,CAE7B,CAEA,SAAS0lD,GAAqB/c,EAAI,CAC9B,SAAS,KAAK,iBAAiB,UAAWA,CAAE,CAChD,CAEA,SAASgd,GAAuBhd,EAAI,CAChC,SAAS,KAAK,oBAAoB,UAAWA,CAAE,CACnD,C,2OCtGA,MAIO,MAAMid,EAAe,CACxB,aAAc,CADX,YAEC,MAAMnxC,EAAa,EAAY,sBAAsB,EACrD,KAAK,IAAcA,EAAS,cAAc,eAAe,EACzD,KAAK,YAAc,KAAK,IAAI,cAAc,cAAc,EACxD,KAAK,QAAc,KAAK,IAAI,cAAc,kBAAkB,EAG5D,KAAK,cAAkB,KAAK,IAAI,cAAc,gBAAgB,EAC9D,KAAK,qBAAuB,KAAK,IAAI,cAAc,uBAAuB,EAC1E,KAAK,oBAAsB,KAAK,IAAI,cAAc,sBAAsB,EACxE,KAAK,WAAa,KAAK,IAAI,cAAc,aAAa,EAEtD,QAAK,OAAL,UACJ,CAEA,SAASuf,EAAW,CAChBA,EAAU,OAAO,KAAK,GAAG,CAC7B,CAEA,QAAS,CACL,KAAK,IAAI,OAAO,CACpB,CAEA,eAAe5zB,EAAK,CAChB,KAAK,cAAc,UAAU,OAAO,MAAM,EAC1C,KAAK,YAAY,YAAcA,EAC/B,KAAK,YAAY,KAAcA,CACnC,CAMA,WAAW47C,EAAK,CACZ,KAAK,QAAQ,YAAcA,CAC/B,CAEA,8BAA+B,CAC3B,KAAK,qBAAqB,OAAO,CACrC,CAMA,cAAc1wC,EAAO,CACvB,KAAK,IAAI,MAAM,YAAYyW,GAAuBuhC,GAAYh4C,CAAK,CAAC,CACrE,CAEG,cAAcu6C,EAAU,CACpB,KAAK,WAAW,IAAMA,EACtB,KAAK,oBAAoB,UAAU,IAAIniC,EAAsB,EAC7D,KAAK,oBAAoB,UAAU,OAAO,MAAI,CAClD,CAEA,kBAAmB,CACf,KAAK,oBAAoB,UAAU,OAAOA,EAAsB,EAChE,KAAK,oBAAoB,UAAU,IAAI,MAAI,CAC/C,CAOJ,CAlEO,eA6DH,GAAY,UAAG,CACX,KAAK,qBAAqB,iBAAiB,QAAS,IAAM,CACtD,SAAS,OAAO,CACpB,CAAC,CACL,E,4UCrEJ,GAaA,MAAM1U,GAAcjC,GAAgB,EAC9B+4C,GAAc,EAAY,gBAAgB,EAAE,cAAc,YAAY,EAEtEC,GAAgB,EAAI,IAEpBC,GAAQ,UACRC,GAAQ,WAER,GAAgC,MAChC,GAAgC,+BAChC,GAAuC,qCACvC,GAAgC,mBAChC,GAAgC,IAChC,GAAgC,IAChC,GAAgC,IAChC,GAAgC,IAEtC,SAAS,KAAK,OAAOH,EAAM,EAE3B/2C,GAAoBC,GAAWpN,GAAa,CAC3C,GAAGA,EAAS,eAAe8Q,EAAkB,GACxB9Q,EAAS8Q,EAAkB,EAChC,CACdwzC,GAAiB,IAAMJ,GAAO,UAAU,IAAI,QAAQ,CAAC,EACrD,MACD,CAGD,GAAmBlkD,EAAU,IAAMkkD,GAAO,UAAU,IAAI,QAAQ,CAAC,CAClE,CAAC,EAED,SAASI,GAAiBj3C,EAAU,CACnC,MAAMk3C,EAAiB,IAAIX,GAAgBl2C,GAAa,CACvDD,GAAqBL,GAAUM,EAAW1N,GAAa,CACnDA,EAAS,eAAegR,EAAiB,GAC3CuzC,EAAe,eAAe,EAC9BA,EAAe,WAAW,IAG1BA,EAAe,WAAW,EAC1BA,EAAe,OAAO,EACtB,GAAmBvkD,CAAQ,EAE7B,EAAG,IAAM,CACRukD,EAAe,WAAW,CAC3B,CAAC,CACF,CAAC,EACDl3C,GAAYA,EAAS,EACrBk3C,EAAe,SAAS,SAAS,IAAI,CACtC,CAEA,SAAS,GAAmBvkD,EAAU5B,EAAU,CAK/C,MAAM0uB,EAAY,IAAIhR,GACtB+Q,GAAe7sB,EAAU8sB,CAAS,EAElC,MAAM03B,EAAiB,IAAIR,GA2CrBS,EAAWC,GAAc53B,EAzCF9sB,GAAa,CAGzC,GAFAykD,EAAS,WAAW,EACpBA,EAAS,OAAO,EACbzkD,EAAS,eAAe+Q,EAAiB,EAAG,CAC9C,MAAMovC,EAAarzB,EAAU,cAAc,EACrC3tB,EAAOghD,EAAW,YAAY,EACpC,IAAI3hD,EAAS2hD,EAAW,eAAe,EAGpC3hD,IACFA,EAAMA,EAAI,WAAW4lD,EAAI,GAAK5lD,EAAI,WAAW6lD,EAAK,EAAI7lD,EAAM4lD,GAAO5lD,EACnEgmD,EAAe,eAAehmD,CAAG,EACjC,WAAW,IAAM,CAChB,OAAO,KAAKA,EAAK,OAAO,CACzB,EAAG2lD,EAAa,GAGjBr3B,EAAU,eAAe,GAAK03B,EAAe,6BAA6B,EAG1E,MAAMpC,EAAsBjC,EAAW,cAAc,EAGrD,GAF4BiC,EAAW,cAAc,EAE7B,CACvB,MAAMplC,EAAgBolC,EAAW,MAAM,EAEjC3B,EADW,OAAO,SAAS,KACP,QAAQ,WAAW,GAAK,GAAI,GAAuC,GAEvF6B,EAAgB,OAAO,SAAS,OAAS,GAAQ7B,EAAW,GAAc,GAAM,GAAS,mBAAmB,OAAO,SAAS,IAAI,EAAI,GAAY,GAAqB,GAAS,mBAAmBzjC,CAAY,EACnNwnC,EAAe,cAAclC,CAAa,CAC3C,MACCkC,EAAe,iBAAiB,EAGjCA,EAAe,WAAWrE,EAAW,sBAAsB,CAAC,EAC5DqE,EAAe,cAAcrE,EAAW,cAAc,CAAC,EACvDqE,EAAe,SAAS,SAAS,IAAI,CAEtC,CACD,CAE6D,EAE7DpmD,GAAYA,EAAS,EACrBqmD,EAAS,SAAS,SAAS,IAAI,EAC/BA,EAAS,oBAAoB,CAC9B,CAEA,SAASC,GAAc53B,EAAW63B,EAA6B,CAE9D,MAAM5oC,EAA4B+Q,EAAU,6BAA6B,EACnE9Q,EAAuB8Q,EAAU,sBAAsB,EACvD7Q,EAAuB6Q,EAAU,wBAAwB,EACzD5Q,EAAuB4Q,EAAU,uBAAuB,EACxDzQ,EAAuByQ,EAAU,YAAY,EAC7C8nB,EAAuB9nB,EAAU,kBAAkB,EACnDoyB,EAAuBpyB,EAAU,eAAe,EAChDozB,EAAuBpzB,EAAU,WAAW,EAC5CqzB,EAAuBrzB,EAAU,cAAc,EAC/C7f,EAAuB6f,EAAU,WAAW,EAC5CszB,EAAuBtzB,EAAU,mBAAmB,EACpDvQ,EAAuBuQ,EAAU,YAAY,EAE7C8zB,EAAwB,IAAIJ,GAAmBzkC,EAA2BC,EAAoBC,EAAsBC,EAAqBG,EAAUu4B,EAAgBsK,EAAagB,EAAUC,EAAYC,EAAiBnzC,EAASG,GAAUmP,EAAU,IAClP,IAAIqoC,GAA4BH,CAAQ,CAC/C,EACK9B,EAAwB,IAAI3B,GAAsBJ,EAAoB+D,CAA2B,EACjGF,EAAwB,IAAI3D,GAAS6B,EAAuB/B,CAAkB,EAEpF,OAAA6D,EAAS,WAAW,EACbA,CACR,CAEA,MAAMG,EAA4B,CAGjC,YAAYH,EAAU,CAFtB,YAGC,QAAK,GAAYA,CAAQ,CAC1B,CAEA,oBAAqB,CACpB,QAAK,IAAU,mBAAmB,CACnC,CAEA,qBAAsB,CACrB,QAAK,IAAU,oBAAoB,CACpC,CAEA,oBAAoB5B,EAAkB,CACrC,QAAK,IAAU,oBAAoBA,CAAgB,CACpD,CACD,CAjBC,eCpJD,OAAO,OAAS,UAAY,CAAE,aAAa,QAAQ,OAAQ,CAAC,eAAgB,EAAK,CAAC,CAAG,C","sources":["webpack://build/../es6/Constants.js","webpack://build/../es6/Constants/HttpConstants.js","webpack://build/../es6/Constants/Mime.js","webpack://build/../es6/Utility/AjaxRequest.js","webpack://build/../es6/Utility/Cookie.js","webpack://build/../es6/DataStore/DS/Storage/UserPresence.ts","webpack://build/../es6/Utility/Logger.js","webpack://build/../es6/DataStore/MurphyUtility.js","webpack://build/../es6/ProfileConstants.js","webpack://build/../es6/DataStore/DS/DSMap.js","webpack://build/../es6/State/LinkedRecordID.js","webpack://build/../es6/State/StateView.js","webpack://build/../es6/State/StateTable.js","webpack://build/../es6/State/StateBase.js","webpack://build/../es6/Constants/SelectionViewType.js","webpack://build/../es6/State/AbstractSelection.js","webpack://build/../es6/State/CalenderViewSelection.js","webpack://build/../es6/State/GalleryViewSelection.js","webpack://build/../es6/Selection/SelectionState.js","webpack://build/../es6/State/GridViewSelection.js","webpack://build/../es6/State/KanbanState.js","webpack://build/../es6/State/ViewState.js","webpack://build/../es6/State/WorkspaceState.js","webpack://build/../es6/State/LayoutState.js","webpack://build/../es6/UserProfileStorage.js","webpack://build/../es6/TabProfile.js","webpack://build/../es6/Utility/QuickAction.js","webpack://build/../es6/Utility/Utility.js","webpack://build/../es6/Form/FormBuilder/Utilities/QuickAction.js","webpack://build/../es6/Actions/FetchFormMetaAction.js","webpack://build/../es6/Actions/FormValidationAction.js","webpack://build/../es6/Constants/FormViewConstants.js","webpack://build/../es6/TemplatesForAll.js","webpack://build/../es6/DataStore/DS/Storage/DSCollaboratorUser.js","webpack://build/../es6/DataStore/DS/Storage/DSCollaborator.js","webpack://build/../es6/DataStore/DS/Storage/DSField.js","webpack://build/../es6/DataStore/DS/Storage/DSFormViewCoverImage.js","webpack://build/../es6/DataStore/DS/Storage/DSFormViewLogo.js","webpack://build/../es6/DataStore/DS/Storage/DSFormViewNameParameters.js","webpack://build/../es6/DataStore/DS/Storage/DSFormViewSchemaChoice.js","webpack://build/../es6/DataStore/DS/Storage/DSFormViewSchema.js","webpack://build/../es6/DataStore/DS/Storage/DSFilter.js","webpack://build/../es6/DataStore/DS/Storage/DSConditionalFormat.js","webpack://build/../es6/DataStore/DS/Storage/DSGroupBy.ts","webpack://build/../es6/DataStore/DS/Storage/DSGroupByMetaOrder.ts","webpack://build/../es6/DataStore/DS/Storage/DSGroupByMetaStorage.ts","webpack://build/../es6/DataStore/DS/Storage/DSGroupByMeta.ts","webpack://build/../es6/DataStore/DS/Storage/DSShareView.js","webpack://build/../es6/DataStore/DS/Storage/DSSort.js","webpack://build/../es6/DataStore/DS/Storage/DSActiveViewUser.ts","webpack://build/../es6/DataStore/DS/Storage/DSInactiveViewUser.ts","webpack://build/../es6/DataStore/DS/Storage/DSViewCollaborator.ts","webpack://build/../es6/DataStore/DS/Storage/DSView.js","webpack://build/../es6/DataStore/DS/Storage/DSFormView.js","webpack://build/../es6/DataStore/DS/Storage/DSMultiSelect.js","webpack://build/../es6/Form/FormDataStore.js","webpack://build/../es6/Constants/CssClassNamesForUI.js","webpack://build/../es6/_auxillaries/DeepFreeze.ts","webpack://build/../es6/Constants/ProductThemeColors.ts","webpack://build/../es6/Form/FormView/OverridingFile.js","webpack://build/../es6/Form/FormMetaParser.js","webpack://build/../es6/Constants/FieldTypes.js","webpack://build/../es6/Form/FormView/FieldTypeStyles.js","webpack://build/../es6/Form/FormView/UIFiles/InterfaceFormViewSchema.js","webpack://build/../es6/Form/FormView/UIFiles/FormViewSchema.js","webpack://build/../es6/Form/FormView/UIFiles/InterfaceFormViewSchemaWithErrorMessage.js","webpack://build/../es6/Form/FormView/UIFiles/FormViewSchemaWithErrorMessage.js","webpack://build/../es6/Constants/AddFieldConstants.js","webpack://build/../es6/Constants/ZohoComponentDateFieldConstants.js","webpack://build/../es6/Locale.js","webpack://build/../es6/View/Grid/Pane/FieldTypeComponents/Utilities/ExtraUtilities.js","webpack://build/../es6/Constants/KeyCodes.js","webpack://build/../es6/Pricing/Plan.ts","webpack://build/../es6/AttachmentField/AttachFromLocalForForm.js","webpack://build/../es6/AttachmentField/AttachFromURL.js","webpack://build/../es6/AttachmentField/AttachFileForForm.js","webpack://build/../es6/AttachmentField/UploadPreviewImg.js","webpack://build/../es6/AttachmentField/UploadProgressState.js","webpack://build/../es6/AttachmentField/AttachmentCallbacksForForm.js","webpack://build/../es6/Utility/WDUtil.js","webpack://build/../es6/Parser/Pubsub.js","webpack://build/../es6/View/Grid/Pane/FieldTypeComponents/Utilities/ExtraUtilitiesForCallback.js","webpack://build/../es6/Form/FormView/Callbacks/FormViewAttachmentCallback.js","webpack://build/../es6/Form/FormView/Callbacks/FormViewCheckboxCallback.js","webpack://build/../es6/Constants/PlaceholderConstants.ts","webpack://build/../es6/Utility/EventEmitter.js","webpack://build/../es6/Form/FormView/DialogComponent.js","webpack://build/../es6/Form/FormView/DialogStack.js","webpack://build/../es6/DateComponentEncoderDecoder.ts","webpack://build/../es6/Components/DateField2.js","webpack://build/../es6/Components/DateTimeField2.js","webpack://build/../es6/Form/FormView/FormViewUtility.js","webpack://build/../es6/Form/FormView/Callbacks/FormViewMultiSelectSearchCallback.js","webpack://build/../es6/Form/FormView/Callbacks/FormViewCollaboratorMultiSelectCallback.js","webpack://build/../es6/Form/FormView/Callbacks/FormViewCollaboratorSingleSelectCallback.js","webpack://build/../es6/Constants/RegexValidator.js","webpack://build/../es6/Form/FormView/Callbacks/FormViewCurrencyCallback.js","webpack://build/../es6/Form/FormView/Callbacks/FormViewDateCallback.js","webpack://build/../es6/Form/FormView/Callbacks/FormViewEmailCallback.js","webpack://build/../es6/Components/Dialog/UpgradeConfirmationDialog.ts","webpack://build/../es6/Utility/GetTemplate.js","webpack://build/../es6/Components/DialogModal/Implementation/DialogModal.ts","webpack://build/../es6/Components/Button/Pricing/PricingUpgradeButton.ts","webpack://build/../es6/Components/Toaster/ToastersContainer.js","webpack://build/../es6/ErrorHandling/ErrorDomToaster.ts","webpack://build/../es6/ErrorHandling/ErrorToaster.ts","webpack://build/../es6/ErrorHandling/Utility.js","webpack://build/../es6/Actions/FormViewActions.js","webpack://build/../es6/Form/FormView/Callbacks/FormViewLinkFieldMultiSelectCallback.js","webpack://build/../es6/Form/FormView/Callbacks/FormViewMultiEmailCallback.js","webpack://build/../es6/Form/FormView/Callbacks/FormViewMultiPhoneNumberCallback.js","webpack://build/../es6/Form/FormView/Callbacks/FormViewMultiSelectCallback.js","webpack://build/../es6/Form/FormView/Callbacks/FormViewMultiURLCallback.js","webpack://build/../es6/Form/FormView/Callbacks/FormViewNumberCallback.js","webpack://build/../es6/Form/FormView/Callbacks/FormViewPercentCallback.js","webpack://build/../es6/Form/FormView/Callbacks/FormViewPhoneNumberCallback.js","webpack://build/../es6/Form/FormView/Callbacks/FormViewRatingCallback.js","webpack://build/../es6/Form/FormView/Callbacks/FormViewSingleLineTextCallback.js","webpack://build/../es6/Form/FormView/Callbacks/FormViewSingleSelectCallback.js","webpack://build/../es6/Form/FormView/Callbacks/FormViewURLCallback.js","webpack://build/../es6/Form/FormView/Utilities/FormViewReadWriteComponentUtility.js","webpack://build/../es6/Form/FormView/Interacters/AbstractClassFormViewInteracter.js","webpack://build/../es6/Form/FormView/Interacters/FormViewInteracter.js","webpack://build/../es6/Form/FormView/UIFiles/SubmitFailureDialog.js","webpack://build/../es6/Form/FormView/Interacters/AbstractClassFormViewSetInteracter.js","webpack://build/../es6/Form/FormView/Interacters/FormViewSetInteracter.js","webpack://build/../es6/Form/FormBuilder/FormBuilderUtility.js","webpack://build/../es6/Form/FormView/InitializeFormView.js","webpack://build/../es6/Form/FormView/UIFiles/AbstractClassFormView.js","webpack://build/../es6/Form/FormView/UIFiles/FormView.js","webpack://build/../es6/BrowserEvents/Keyboard/KeyListener.js","webpack://build/../es6/Form/FormView/UIFiles/PasswordDialog.js","webpack://build/../es6/Form/FormView/UIFiles/ThankyouDialog.js","webpack://build/../es6/Form/FormWindowListener.js","webpack://build/../zohoComponentsScripts.js"],"sourcesContent":["(function(ctx) {\n\tvar Table = ctx.Table || (ctx.Table = {});\n\tvar Constants = Table.Constants || (Table.Constants = {});\n\n\tConstants.TABLEACTION = {\"ALTER_REQUIREMENT_STATUS_SCHEMA_FORM_VIEW\":214,\"UNHIDE_VIEW\":47,\"FETCH_SNAP_IN_VERSION_PREVIEW\":568,\"GET_ADMIN_PANEL_LOGS\":274,\"SNAP_COMPONENT_COPY_CONFIGURATION_VIEW\":564,\"CREATE_RECORD_AND_PASTE\":95,\"ALTER_TYPE_FIELD\":12,\"ALTER_META_ATTACHMENT\":197,\"ALTER_AGGREGATION_SECONDARY_LABEL_STATUS\":525,\"FETCH_WORKSPACE_MEMBERS\":82,\"INSERT_NEXT_SELECTION_OPTION\":113,\"SNAP_LISTING_PAGE_IN_VERSION_PREVIEW\":567,\"ALTER_META_TABLE\":23,\"DELETE_FILTER\":1013,\"GET_BASES_IN_WORKSPACE\":268,\"CREATE_FIELD\":110,\"REFRESH_DYNAMICS\":200,\"SEARCH\":124,\"INSERT_SNAP_CHART_UNIT_FIELDS_TO_PLOT\":561,\"ALTER_META_SCHEMA_CARD\":159,\"CLEAR_CONDITIONAL_HIGHLIGHT\":192,\"ALTER_ORDER_VIEW\":18,\"CLEAR_SCHEMA_CARD\":194,\"ALTER_CONTENT_TYPE_SOCIAL_ACTION_AUTOMATION\":361,\"UPDATE_FILTER\":1012,\"UPDATE_CHART_DRAW_WITH\":532,\"DUPLICATE_CONDITIONAL_HIGHLIGHT\":182,\"GET_PORTAL_USERS\":263,\"ALTER_WEBHOOK_HEADER_VALUE_ACTION_AUTOMATION\":716,\"ALTER_ORDER_TABLE\":22,\"DELETE_UNIT_FILTER\":72,\"ALTER_LOGO_IMAGE_FORM_VIEW\":229,\"REMOVE_ATTACHMENT_SEND_MAIL_ACTION_AUTOMATION\":341,\"INSERT_PREV_RECORD\":26,\"LOAD_CARD_IN_VERSION_PREVIEW\":569,\"CREATE_EMBED_VIEW_LINK\":251,\"DUPLICATE_WITH_DATA_FIELD\":28,\"SHARE_SNAP\":505,\"ALTER_SHARED_SNAP_STATUS\":506,\"UPDATE_VIEWPORT_FETCH_DATA\":403,\"UPDATE_PORTAL_OWNER\":655,\"UPDATE_SNAP_GRID_ROW_HEIGHT\":553,\"INDUSTRY_TYPE_SELECTION\":405,\"ALTER_FILTER_LOGICAL_STRING_ACTION_AUTOMATION\":331,\"MAKE_PORTAL_DEFAULT\":87,\"ALTER_AGGREGATION_FIELD\":520,\"ALTER_NAME_PARAMETERS_FORM_VIEW\":169,\"DUPLICATE_TABLE\":24,\"CREATE_SINGLE_SELECT_CONDITIONAL_HIGHLIGHT\":180,\"DELETE_PORTAL\":76,\"CREATE_SNAP_COMPONENT_UNIT_FILTER\":539,\"INSERT_NEXT_RECORD\":2,\"INSERT_SNAP_COMPONENT_UNIT_FILTER\":540,\"ADD_SNAP_GLOBAL_FILTER_TABLE\":658,\"ALTER_NAME_VIEW\":44,\"DELETE_SORT\":1009,\"CREATE_RECORD_GROUP\":127,\"DELETE_SCHEMA_CARD\":158,\"REMOVE_WEBHOOK_HEADER_ACTION_AUTOMATION\":719,\"ALTER_NAME_TABLE\":36,\"ALTER_AGGREGATION_FORMULA\":521,\"ALTER_CHART_X_AXIS_LABEL\":534,\"ADD_WORKSPACE\":63,\"IMPORT_TRANSACTION_ID\":56,\"INSERT_SORT\":64,\"FETCH_GANTT_RECORD_DATA\":645,\"CREATE_BASE\":98,\"CREATE_RELATIONSHIP\":151,\"ALTER_NAME_PARAMETERS_SIZE_FORM_VIEW\":240,\"ALTER_NAME_PARAMETERS_ALIGNMENT_FORM_VIEW\":220,\"ALTER_TABLEID_FIND_AND_INCLUDE_RECORDS_ACTION_AUTOMATION\":345,\"ADD_USER_INTO_VIEW\":418,\"MARK_AS_PRIMARY_FIELD\":567,\"ALTER_SIZE_LOGO_FORM_VIEW\":216,\"GET_WORKSPACES_BY_PORTAL\":265,\"CREATE_VIEW\":1005,\"INSERT_ATTACHMENT\":195,\"GET_PORTAL_PLAN_DETAILS\":408,\"ALTER_NAME_FORM_VIEW\":163,\"UPDATE_ACTION\":1017,\"CREATE_SCHEMA_GALLERY_VIEW\":134,\"CREATE_UNIT_FILTER\":69,\"ALTER_SNAP_CARD_TABLE\":514,\"SHEET2APP_IMPORT_TABLES\":33,\"INSERT_TABLE\":20,\"UNHIDE_SNAP_GRID_FIELD\":550,\"ALTER_ALL_STACKS_VISIBILITY\":233,\"INSERT_FIELD_VALUES_ACTION_AUTOMATION\":319,\"ALTER_CONTENT_TRIGGER_FIELD_SOCIAL_ACTION_AUTOMATION\":362,\"UPDATE_SORT\":1008,\"FETCH_GROUP_BY_META\":648,\"UPDATE_KANBAN_ANCHOR\":119,\"UNDO\":90,\"GET_ALL_BASE_VERSIONS\":273,\"UPDATE_SNAP_COMPONENT_FILTER_LOGICAL_STRING\":544,\"ALTER_ORDER_CONDITIONAL_HIGHLIGHT\":186,\"ALTER_REDIRECT_URL_FORM_VIEW\":172,\"DELETE_UNIT_FILTER_TRIGGER_AUTOMATION\":312,\"CREATE_MULTIPLE_UNIT_FILTER\":201,\"DUPLICATE_BASE\":99,\"REORDER_SNAP_CHART_UNIT_FIELDS_TO_PLOT\":560,\"ALTER_NAME_SCHEMA_FORM_VIEW\":212,\"ALTER_LABEL_ALIGNMENT_FORM_VIEW\":165,\"UPDATE_MESSAGE_ACTION_AUTOMATION\":326,\"ALTER_EMPTY_RECORD_CREATE_TRIGGER_AUTOMATION\":335,\"ALTER_META_SCHEMA_GALLERY_VIEW\":135,\"UPDATE_RECORD_COMMENTS\":277,\"SEARCH_GANTT_TASKS\":644,\"ALTER_ALIGNMENT_LOGO_FORM_VIEW\":217,\"ALTER_WEBHOOK_URL_ACTION_AUTOMATION\":709,\"ADD_USER_INTO_BASE\":130,\"DUPLICATE_WITHOUT_DATA_FIELD\":13,\"FETCH_PORTALS\":75,\"UPDATE_GANTT_CONFIGURATION_DURATION_SCALE\":646,\"DELETE_WORKSPACE_MEMBER\":81,\"ALTER_META_UNIT_SORT\":67,\"EXPORT_TO_CREATOR_CALLBACK\":420,\"ALTER_SNAP_COMPONENT_FILTER_CONDITION_TYPE\":543,\"CREATE_TRIGGER_AUTOMATION\":306,\"UPDATE_GANTT_CONFIGURATION\":636,\"ALTER_NAME_SUBMIT_BUTTON_FORM_VIEW\":170,\"FETCH_PORTAL_COMMAND\":84,\"DELETE_UNIT_SORT\":66,\"ALTER_TRIGGER_AUTOMATION\":307,\"INSERT_WEBHOOK_HEADER_ACTION_AUTOMATION\":717,\"SEARCH_BASES\":101,\"ALTER_HEIGHT_RECORD\":53,\"BULK_DELETE_FIELDS\":1018,\"UPDATE_RECORD_WITH_CRITERIA\":278,\"ALTER_DESCRIPTION_SCHEMA_FORM_VIEW\":213,\"UPDATE_CC_SEND_MAIL_ACTION_AUTOMATION\":324,\"ALTER_AGGREGATION_ALIGNMENT\":528,\"ALTER_COLOR_THEME_FORM_VIEW\":176,\"CREATE_PORTAL\":400,\"GET_USER_DETAILS\":275,\"UPDATE_CHART_FIELDS_TO_PLOT\":529,\"ALTER_ORDER_CHOICES_SCHEMA_FORM_VIEW\":222,\"ALTER_DESCRIPTION_TABLE\":35,\"ALTER_DUPLICATE_RECORD_CREATE_TRIGGER_AUTOMATION\":336,\"ALTER_CHART_TYPE\":533,\"ALTER_COVER_IMAGE_VISIBILITY_FORM_VIEW\":210,\"GET_PORTALS_BY_USER\":261,\"SHEET2APP_IMPORT_FIELDS\":48,\"SORT_CHOICES_SCHEMA_FORM_VIEW\":241,\"ALTER_FILTER_LOGICAL_STRING_FIND_AND_INCLUDE_RECORDS_ACTION_AUTOMATION\":351,\"ALTER_FILTER_LOGICAL_OPERATOR\":74,\"ALTER_ORDER_KANBAN_STACK\":231,\"ALTER_MEDIA_TRIGGER_FIELD_SOCIAL_ACTION_AUTOMATION\":364,\"BULK_CREATE_SELECTION_OPTIONS\":1004,\"UNHIDE_FIELD\":16,\"HIDE_VIEW\":46,\"ALTER_SNAP_COMPONENT_UNIT_FILTER\":542,\"ALTER_SNAP_GLOBAL_FILTER_LABEL\":654,\"ALTER_RATIO_SCHEMA_CARD\":161,\"BULK_UPDATE_RECORDS\":1019,\"CREATE_SELECTION_OPTION_WITH_DATA\":118,\"ALTER_AGGREGATION_GROUP_BY_FIELD\":522,\"UNHIDE_TABLE\":38,\"FETCH_ACTIVITY_LOG\":57,\"CREATE_UNIT_FILTER_TRIGGER_AUTOMATION\":310,\"INSERT_PREV_SELECTION_OPTION\":112,\"ALTER_DESCRIPTION_FIELD\":40,\"EXPORT_BASE\":107,\"ALTER_USER_TYPE_EMBED_VIEW_LINK\":206,\"ALTER_RECORD_ORDER_GROUP\":120,\"DELETE_PORTAL_MEMBER\":58,\"ALTER_VISIBILITY_LOGO_FORM_VIEW\":224,\"DELETE_CONDITIONAL_HIGHLIGHT\":184,\"FETCH\":0,\"UPDATE_SINGLE_SELECT_CONDITIONAL_HIGHLIGHT\":181,\"ALTER_META_UNIT_CONDITIONAL_HIGHLIGHT\":189,\"ALTER_SNAP_CARD_SIZE\":566,\"CREATE_RECORD_COMMENTS\":208,\"ALTER_COMPONENT_TYPE_SCHEMA_FORM_VIEW\":211,\"DELETE_ACTION_AUTOMATION\":317,\"GET_ALL_ACTIVITY_LOG_FOR_BASE\":276,\"EXPORT_VIEW\":109,\"UPDATE_SNAP_NAME\":502,\"UPDATE_SNAP_RTE_CONTENT\":555,\"UPDATE_GANTT_TASK_DEPENDENCY_TYPE\":640,\"EXPORT_TABLE\":108,\"CREATE_SELECTION_OPTION\":111,\"ALTER_ROLE_BASE_USER\":133,\"DUPLICATE_TABLE_WITHOUT_DATA\":300,\"DELETE_RELATIONSHIP\":153,\"GET_ACTIVE_WORKSPACE\":264,\"UPDATE_PORTAL_NAME\":86,\"DELETE_LOGO_FORM_VIEW\":242,\"CREATE_GANTT_DEPENDENCY_FIELD\":633,\"HIDE_RECORD\":42,\"CREATE_SNAP\":501,\"INSERT_NEXT_RECORD_GROUP\":128,\"DELETE_SCHEMA_GALLERY_VIEW\":136,\"INSERT_UNIT_FILTER_TRIGGER_AUTOMATION\":311,\"INSERT_UNIT_FILTER\":71,\"ALTER_SNAP_PASSWORD\":507,\"DUPLICATE_WITH_DATA_VIEW\":19,\"ALTER_SUMMARY_BAR\":32,\"FETCH_TABLE\":50,\"SWITCH_TABLE\":31,\"INSERT_SNAP_CARD\":511,\"UPDATE_SNAP_SORT_ORDER\":554,\"ALTER_NAME_FIELD\":39,\"CLEAR_KANBAN_STACK\":230,\"ALTER_SNAP_CARD_POSITION\":512,\"UPDATE_PROPERTY_CARD\":156,\"ALTER_META_UNIT_FILTER_TRIGGER_AUTOMATION\":313,\"DELETE_SELECTION_OPTION\":116,\"BULK_DELETE_RECORDS\":1002,\"DELETE_RECORD\":3,\"SHEET2APP_IMPORT_BASE\":100,\"UPDATE_BASE_NAME\":83,\"SUBMIT_FORM_VIEW\":178,\"ALTER_FIELDID_SUMMARY_OF_A_FIELD_ACTION_AUTOMATION\":354,\"REMOVE_ATTACHMENT_FIELD_SEND_MAIL_ACTION_AUTOMATION\":342,\"FETCH_BASE\":49,\"SORT_BASES\":453,\"ALTER_ORDER_RECORD\":4,\"UPDATE_VIEWPORT_FETCH_SNAP\":557,\"GET_EMAIL_IDs\":406,\"FETCH_VIEW\":51,\"ALTER_STATE_EMBED_VIEW_LINK\":203,\"ALTER_CATEGORY_CARD\":162,\"DELETE_ATTACHMENT\":196,\"ALTER_SNAP_SHARED_USER_TYPE\":509,\"FETCH_IN_VERSION_PREVIEW\":566,\"SWITCH_VIEW\":30,\"ALTER_DESCRIPTION_VIEW\":43,\"ALTER_CHART_GROUP_BY_FIELD\":531,\"INSERT_ACTION_AUTOMATION\":316,\"ALTER_SNAP_EDIT_USER\":503,\"REDO\":91,\"UPDATE_SUBJECT_SEND_MAIL_ACTION_AUTOMATION\":325,\"ALTER_FORM_SUBMIT_RECORD_CREATE_TRIGGER_AUTOMATION\":334,\"HIDE_SNAP_GRID_FIELD\":549,\"UPDATE_WORKSPACE_NAME\":79,\"INSERT_UNIT_SORT\":65,\"ALTER_SUMMARY_TYPE_SUMMARY_OF_A_FIELD_ACTION_AUTOMATION\":355,\"REORDER_SNAP_GRID_FIELD\":551,\"ALTER_ORDER_SELECTION_OPTION\":114,\"UPDATE_GANTT_TASK_END_DATE\":638,\"ALTER_META_SCHEMA_FORM_VIEW\":168,\"MULTIPLE_DATA_SUBMIT\":121,\"ALTER_HEADER_STATUS_GALLERY_VIEW\":139,\"ALTER_MULTIPLE_SUBMIT_EMBED_VIEW_LINK\":207,\"INSERT_FILTER\":70,\"ALTER_META_UNIT_FILTER_FIND_AND_INCLUDE_RECORDS_ACTION_AUTOMATION\":350,\"DELETE_UNIT_CONDITIONAL_HIGHLIGHT\":188,\"BULK_CREATE_RECORDS\":1001,\"UPDATE_PORTAL_MEMBER_ROLE\":78,\"MOVE_BASE\":198,\"CLEAR\":96,\"DUPLICATE_AUTOMATION\":332,\"CREATE_FIELD_AND_UPDATE_KANBAN_ANCHOR\":219,\"UPDATE_GANTT_TASK_MILESTONE_STATUS\":639,\"INSERT_AUTOMATION\":302,\"ALTER_META_FIELD\":9,\"ALTER_META_SELECTION_OPTION\":115,\"SEARCH_IN_VERSION_PREVIEW\":572,\"ALTER_AGGREGATION_GROUP_BY_TYPE\":523,\"ALTER_ORDER_UNIT_SORT\":68,\"ALTER_ORDER_SCHEMA_GALLERY_VIEW\":137,\"ALTER_SNAP_GRID_FILTER_TYPE\":538,\"INSERT_PREV_RECORD_GROUP\":129,\"UPDATE_FIELD_CHOICES_FIND_AND_INCLUDE_RECORDS_ACTION_AUTOMATION\":352,\"GET_PORTAL_DETAILS\":262,\"ADD_PORTAL_MEMBER\":62,\"FETCH_LISTING_PAGE\":55,\"INCLUDE_VIEW_FILTERS_FIND_AND_INCLUDE_RECORDS_ACTION_AUTOMATION\":346,\"REMOVE_CHANNEL_OR_USER_CLIQ_BOT_ACTION_AUTOMATION\":358,\"CREATE_RECORD\":97,\"SORT_ORDER_SELECTION_OPTION\":117,\"DELETE_UNIT_FILTER_FIND_AND_INCLUDE_RECORDS_ACTION_AUTOMATION\":349,\"CUT\":94,\"DELETE_SNAP_GRID_UNIT_SORT\":546,\"ALTER_ORDER_FIELD\":10,\"GET_BASE_USERS_LIST\":270,\"INSERT_PREVIOUS_VIEW\":29,\"ALTER_TABLEID_SUMMARY_OF_A_FIELD_ACTION_AUTOMATION\":353,\"ALTER_CHART_Y_AXIS_LABEL\":535,\"ALTER_TABLEID_ACTION_AUTOMATION\":318,\"CREATE_GANTT_START_DATE_FIELD\":630,\"ALTER_NAME_PARAMETERS_VISIBILITY_FORM_VIEW\":221,\"UPDATE_VIEWPORT_FETCH_SNAP_LISTING_PAGE\":556,\"DELETE_BASE_USER\":132,\"INSERT_COVER_IMAGE_FORM_VIEW\":225,\"DUPLICATE_RECORD\":5,\"SHEET2APP_IMPORT_RECORDS\":34,\"ALTER_WEBHOOK_PARAM_KEY_ACTION_AUTOMATION\":711,\"ALTER_WEBHOOK_BODY_ACTION_AUTOMATION\":715,\"ALTER_API_RECORD_CREATE_TRIGGER_AUTOMATION\":337,\"GET_PORTALS_FOR_PRODUCT\":272,\"UPDATE_SNAP_CHART_UNIT_FIELDS_TO_PLOT\":563,\"INIT_GANTT_CONFIGURATION\":635,\"GET_BASE_DETAILS\":269,\"CREATE_GANTT_MILESTONE_FIELD\":634,\"ALTER_BRAND_SOCIAL_ACTION_AUTOMATION\":360,\"DUPLICATE_SNAP_CARD\":565,\"ALTER_SNAP_CARD_TITLE\":516,\"ALTER_AGGREGATION_COLOR\":527,\"DELETE_KANBAN_STACK_RECORDS\":232,\"DELETE_FIELD\":7,\"REVEAL_PII_DATA\":411,\"ALTER_PASTE_RECORD_CREATE_TRIGGER_AUTOMATION\":338,\"ALTER_PORTAL_SOCIAL_ACTION_AUTOMATION\":359,\"ALTER_WEBHOOK_PARAM_VALUE_ACTION_AUTOMATION\":712,\"SUBMIT\":1,\"ALTER_AGGREGATION_SECONDARY_VALUE_STATUS\":524,\"UPDATE_GANTT_TASK_START_DATE\":637,\"BULK_CREATE_FIELDS\":1003,\"UPDATE_TO_ADDRESS_SEND_MAIL_ACTION_AUTOMATION\":322,\"CREATE_GANTT_DISPLAY_FIELD\":632,\"CREATE_ACTION_AUTOMATION\":315,\"UPDATE_ANCHOR_CALENDAR_VIEW\":123,\"UPDATE_FIELD_VALUES_ACTION_AUTOMATION\":321,\"ADD_BASE_USER_WITH_SUBMIT\":141,\"DELETE_SNAP_CARD\":513,\"GET_WORKSPACE_DETAILS\":266,\"UPDATE_WORKSPACE_MEMBER_ROLE\":89,\"REORDER_SNAP_GRID_UNIT_SORT\":548,\"HIDE_TABLE\":37,\"INSERT_UNIT_CONDITIONAL_HIGHLIGHT\":187,\"ALTER_META_VIEW\":17,\"ALTER_SNAP_CARD_HEIGHT\":517,\"REFRESH_EMBED_VIEW_LINK\":252,\"REPLACE\":125,\"GET_ATTACHMENTS_LIST\":271,\"ALTER_SNAP_EXPIRY_DATE\":508,\"ALTER_DESCRIPTION_FORM_VIEW\":164,\"UPDATE_PASSWORD_EMBED_VIEW_LINK\":205,\"DELETE_UNIT_FILTER_ACTION_AUTOMATION\":329,\"CREATE_FILTER\":1011,\"INSERT_LOGO_FORM_VIEW\":228,\"RESET_SCHEMA_CARD\":199,\"DELETE_SNAP_CHART_UNIT_FIELDS_TO_PLOT\":562,\"ADD_SNAP_GLOBAL_FILTER\":653,\"CREATE_NEW_BASE_FROM_VERSION\":565,\"FETCH_DATA\":54,\"LISTING_PAGE_HOME\":61,\"ALTER_FILTER_LOGICAL_STRING_TRIGGER_AUTOMATION\":314,\"RECORD_DATE_RANGE_UPDATE_GANTT\":647,\"BULK_CREATE_SORTS\":1006,\"GET_ACTIVE_PORTAL\":260,\"DELETE_SNAP\":504,\"CLONE_BASE_TEMPLATE\":401,\"DELETE_COVER_IMAGE_FORM_VIEW\":227,\"ALTER_SNAP_CARD_WIDTH\":518,\"CREATE_AUTOMATION\":333,\"FETCH_SNAP_CARD\":510,\"PASTE\":92,\"UPDATE_FALLBACK_CONDITIONAL_HIGHLIGHT\":191,\"ACTIVITY_LOG_IN_VERSION_PREVIEW\":570,\"INSERT_SCHEMA_CARD\":157,\"ADD_PORTAL\":85,\"INSERT_UNIT_FILTER_FIND_AND_INCLUDE_RECORDS_ACTION_AUTOMATION\":348,\"ALTER_MESSAGE_AFTER_SUBMIT_FORM_VIEW\":167,\"DELETE_GANTT_TASK_DEPENDENCY\":642,\"CREATE_ACTION\":1016,\"ALTER_FIELDS_TRIGGER_AUTOMATION\":308,\"INSERT_ATTACHMENT_FIELD_SEND_MAIL_ACTION_AUTOMATION\":340,\"DELETE_SNAP_GLOBAL_FILTER\":657,\"ALTER_WEBHOOK_METHOD_ACTION_AUTOMATION\":720,\"INSERT_NEXT_FIELD\":6,\"ALTER_LINK_RECORD_CREATE_TRIGGER_AUTOMATION\":356,\"INSERT_SNAP_GRID_UNIT_SORT\":545,\"CREATE_RECORD_WITH_DATA\":122,\"ALTER_META_UNIT_FILTER_ACTION_AUTOMATION\":330,\"UPDATE_SNAP_GLOBAL_FILTER_TABLE\":659,\"UPDATE_BCC_SEND_MAIL_ACTION_AUTOMATION\":323,\"ALTER_CHART_LEGEND_POSITION\":536,\"INSERT_NEXT_VIEW\":14,\"LOAD_MORE_ACTIVITY_LOG_IN_VERSION_PREVIEW\":571,\"DRAG_AND_DROP_RECORD_IN_CALENDAR\":460,\"COPY_CONFIGURATION_VIEW\":301,\"CREATE_AUTOMATION_WITH_CONFIG\":1014,\"INSERT_UNIT_FILTER_ACTION_AUTOMATION\":328,\"ALTER_CHART_FORMULA\":530,\"CREATE_GANTT_END_DATE_FIELD\":631,\"UPDATE_SNAP_GRID_UNIT_SORT\":547,\"GET_WORKSPACE_USERS\":267,\"ADD_WORKSPACE_MEMBER\":80,\"ADD_GANTT_TASK_DEPENDENCY\":641,\"GET_ACTIVE_PORTAL_DETAILS\":59,\"UPDATE_EXPIRY_DATE_EMBED_VIEW_LINK\":204,\"FIX_GANTT_INVALID_TASK_DEPENDENCY\":643,\"ALTER_BRANDING_STATUS_FORM_VIEW\":175,\"GET_PORTAL_MEMBERS\":60,\"ALTER_TABLEID_TRIGGER_AUTOMATION\":309,\"ALTER_MEDIA_SOCIAL_ACTION_AUTOMATION\":363,\"CREATE_CONDITIONAL_HIGHLIGHT\":183,\"UPDATE_SNAP_GLOBAL_FILTER_FIELD\":660,\"REPLACE_ALL\":126,\"UPDATE_RECORD\":1021,\"CREATE_LINKED_RECORD_WITH_DATA_AND_SUBMIT\":150,\"ALTER_META_UNIT_FILTER\":73,\"CREATE_FIELD_WITH_RELATIONSHIP\":154,\"COPY\":93,\"ALTER_FILTER_LOGICAL_OPERATOR_CONDITIONAL_HIGHLIGHT\":190,\"ALTER_COVER_IMAGE_FORM_VIEW\":226,\"IMPORT_CLOSE_TRANSACTION\":410,\"DELETE_SNAP_GLOBAL_FILTER_TABLE\":661,\"EXPORT_GROUP\":581,\"RESIZE_RECORD_IN_CALENDAR\":461,\"ALTER_META_CONDITIONAL_HIGHLIGHT\":185,\"DELETE_FIELD_VALUES_ACTION_AUTOMATION\":320,\"DELETE_VIEW\":15,\"BULK_CREATE_FILTERS\":1010,\"ALTER_WEBHOOK_HEADER_KEY_ACTION_AUTOMATION\":718,\"DELETE_WORKSPACE\":77,\"GET_USER_COUNTS\":409,\"UPDATE_AUTOMATION\":1020,\"SNAP_CARD_MOVE\":519,\"ALTER_WIDTH_FIELD\":11,\"INSERT_MULTIPLE_UNIT_FILTER\":202,\"GET_ALL_BASES_FOR_USERS\":407,\"SNAP_CLOSE\":558,\"ALTER_META_SENTIMENT\":402,\"ALTER_AGGREGATION_DIFFERENCE_STATUS\":526,\"INSERT_WEBHOOK_PARAM_ACTION_AUTOMATION\":710,\"CREATE_UNIT_FILTER_ACTION_AUTOMATION\":327,\"CREATE_SORT\":1007,\"DELETE_AUTOMATION\":303,\"ALTER_VIEWID_TRIGGER_AUTOMATION\":344,\"UPDATE_TRIGGER\":1015,\"REMOVE_WEBHOOK_PARAM_ACTION_AUTOMATION\":713,\"UNHIDE_RECORD\":41,\"HIDE_FIELD\":8,\"RENAME_AUTOMATION\":304,\"DELETE_TABLE\":21,\"ALTER_SNAP_CARD_VIEW\":515,\"DELETE_SNAP_COMPONENT_UNIT_FILTER\":541,\"ALTER_WEBHOOK_BODY_MODE_ACTION_AUTOMATION\":721,\"INSERT_CHANNEL_OR_USER_CLIQ_BOT_ACTION_AUTOMATION\":357,\"DELETE_BASE\":88,\"UPDATE_SNAP_GRID_FIELD_WIDTH\":552,\"ALTER_STATUS_AUTOMATION\":305,\"CREATE_UNIT_FILTER_FIND_AND_INCLUDE_RECORDS_ACTION_AUTOMATION\":347,\"PRINT_VIEW\":680,\"DUPLICATE_BASE_FROM_EDITOR\":413,\"ALTER_STACK_VISIBILITY\":234,\"ALTER_VISIBILITY_CHOICES_SCHEMA_FORM_VIEW\":223,\"GET_PAGE_META\":404,\"ALTER_CHART_COLOR_PALETTE\":537,\"ALTER_ORDER_SCHEMA_CARD\":160,\"ALTER_META_FIELD_WITH_RELATIONSHIP\":155,\"GET_BASE_USERS\":131,\"ALTER_CATEGORY_SCHEMA_GALLERY_VIEW\":138,\"INSERT_ATTACHMENT_SEND_MAIL_ACTION_AUTOMATION\":339,\"UPDATE_FIELD_EPHI_STATE\":629,\"INSERT_PREV_FIELD\":27,\"UPDATE_SNAP_FILTER_TYPE\":559,\"ALTER_SNAP_GLOBAL_FILTER_TYPE\":656};\n\tConstants.REQUEST_KEYS = {\"IDS_RANGE\":\"idsRange\",\"TEXT_ALIGN\":\"textAlign\",\"CONNECTION_TYPE\":\"connectionType\",\"RELATIONSHIP_PARAMETERS\":\"relationshipParameters\",\"FIELD_SELECTION_IDS\":\"fieldSelectionIDs\",\"IS_DEPENDENCY_FIELD_ENABLED\":\"isDependencyEnabled\",\"CHART_TYPE\":\"chartType\",\"RELATIVE_ROW_ID\":\"relativeRowID\",\"TABLE_ID\":\"tableID\",\"TIME_FORMAT\":\"timeFormat\",\"MULTIPLE_LINKS\":\"multipleLinks\",\"FILE_NAME\":\"fileName\",\"WEBHOOK_RAW_BODY\":\"raw_body\",\"POSITION\":\"position\",\"PROXY_URL\":\"proxyURL\",\"GROUP_BY_FIELD\":\"groupByFieldID\",\"IS_HIGHLIGHT_CRITICAL_PATH\":\"highLightCriticalPath\",\"STACK_ID\":\"stackID\",\"OPERANDS\":\"OPERANDS\",\"ATTACHMENT_STYLE\":\"attachmentStyle\",\"SORT_TYPE\":\"sortType\",\"WIZ_WIDTH\":\"wizWidth\",\"RELATIVE_GROUP_BY_ID\":\"relativeGroupByID\",\"META\":\"meta\",\"SEARCH\":\"search\",\"FILE_EXTENSION\":\"fileExtension\",\"FIELD_IDS\":\"fieldIDs\",\"SIZE\":\"size\",\"FIELD_TYPE_PARAMETERS\":\"fieldTypeParameters\",\"LOGICAL_STRING\":\"logicalString\",\"DEPENDENCY_FIELD_ID\":\"dependencyField\",\"DESCRIPTOR_FIELD_ID\":\"descriptorFieldID\",\"EXPIRY_DATE1\":\"EXPIRY_DATE\",\"CUT_TYPE\":\"cutType\",\"ACTION_ID\":\"actionID\",\"SUMMARY_BAR_CONSTANT\":\"summaryBarConstant\",\"GROUP_ID\":\"groupID\",\"SUMMARY_TYPE\":\"summaryType\",\"QUERY\":\"query\",\"TO_ADDRESS\":\"toAddress\",\"FILTER_VALUES\":\"filterValues\",\"KEY\":\"key\",\"WEBHOOK_BODY_MODE\":\"body_mode\",\"LAST_VERSION_ID\":\"lastVersionID\",\"SHOW_EMPTY_GROUPS\":\"showEmptyGroups\",\"CARD_TYPE\":\"cardType\",\"EMAILS\":\"emails\",\"Y_AXIS_LABEL\":\"yAxisLabel\",\"SCHEDULED_AT\":\"scheduledAt\",\"PRECISION\":\"precision\",\"ROLE\":\"role\",\"MESSAGE\":\"message\",\"SHOW_ROW_NUMBERS\":\"showRowNumbers\",\"CHECKBOX_STYLE\":\"checkboxStyle\",\"DESCRIPTION\":\"description\",\"LINK_SELECTOR\":\"linkSelector\",\"PARAM_ID\":\"paramID\",\"IS_COUNT\":\"isCount\",\"PHONE_NUMBER_FORMAT\":\"phoneNumberFormat\",\"WIZ_ID\":\"wizID\",\"FORMULA_STRING\":\"formulaString\",\"MATCH_CASE\":\"matchCase\",\"OFFSET\":\"offset\",\"IS_COLLAPSED\":\"isCollapsed\",\"ATTACHMENT_ID\":\"attachmentID\",\"FROM_GROUP_PATH\":\"fromGroupPath\",\"FIELDS_TO_PLOT\":\"fieldsToPlot\",\"FOOTERS\":\"footers\",\"COPY_TYPE\":\"copyType\",\"MEDIA_IDS\":\"mediaIDs\",\"FROM_GROUP\":\"fromGroup\",\"IS_ENABLE_MILESTONE\":\"isMileStoneEnabled\",\"SCHEDULED_TIME\":\"scheduledTime\",\"OBJECT_FIT\":\"objectFit\",\"CLIENT_ACTION_ID\":\"clientActionID\",\"CONDITION_VALUE\":\"CONDITION_VALUE\",\"MATCH_CELL\":\"matchCell\",\"TABLE_BITSET\":\"tableBitSet\",\"SHEET_ID\":\"sheetID\",\"SCHEDULED_ON_DAYS\":\"scheduledOnDays\",\"MEDIA_LIST\":\"mediaList\",\"FIELD_TYPE\":\"fieldType\",\"DELETE_TYPE\":\"deleteType\",\"DRAW_WITH\":\"drawWith\",\"FILTER_DATE_OPTION\":\"filterDateOption\",\"TRANSACTION_ID\":\"transactionID\",\"SCHEMA_ID\":\"schemaID\",\"TO_GROUP\":\"toGroup\",\"TABLE_NAME\":\"tableName\",\"TO_GROUP_PATH\":\"toGroupPath\",\"SEARCH_TYPE\":\"searchType\",\"REFERENCE_ID\":\"referenceID\",\"PROPERTIES\":\"properties\",\"PASTE_TYPE\":\"pasteType\",\"NEGATIVE_NUMBER\":\"negativeNumber\",\"FIELDS_SELECTED\":\"fieldsSelected\",\"EMAIL\":\"email\",\"VIEW_TYPE\":\"viewType\",\"SORT_APPLICABLE_FIELDS\":\"sortApplicableFields\",\"SCHEDULED_WEEKS\":\"scheduledWeeks\",\"WEBHOOK_METHOD\":\"method\",\"FIELD_IDS_RANGE\":\"fieldIdsRange\",\"SCHEDULED_ON_TYPE\":\"scheduledOnType\",\"COLOR\":\"color\",\"TO_VIEW_ID\":\"toViewID\",\"RECORD_ID\":\"recordID\",\"LABEL\":\"label\",\"SHOW_SECONDARY_VALUE\":\"showSecondaryValue\",\"REPLACE\":\"replace\",\"WIZ_HEIGHT\":\"wizHeight\",\"SHOW_DIFFERENCE\":\"showDifference\",\"CURRENT_BITSET\":\"CURRENT_BITSET\",\"X_AXIS_LABEL\":\"xAxisLabel\",\"CLIPBOARD_HTML\":\"clipBoard_HTML\",\"RECORD_SELECTION_IDS\":\"recordSelectionIDs\",\"ACTION_NUMBER\":\"actionNumber\",\"REQUIRED\":\"required\",\"PLAN_ID\":\"PLAN_ID\",\"FILTER_TYPE\":\"filterType\",\"BASE_NAME\":\"baseName\",\"VIEW_DETAILS\":\"VIEW_DETAILS\",\"CURRENT\":\"CURRENT\",\"NAME\":\"name\",\"COLLABORATORS_COUNT\":\"COLLABORATORS_COUNT\",\"CONDITION_ID\":\"conditionID\",\"LAST_ACTION_ID\":\"lastActionID\",\"IS_FORWARD\":\"isForward\",\"DISPLAY_FIELD_ID\":\"displayField\",\"MARGIN\":\"margin\",\"ALIGNMENT\":\"alignment\",\"PRIMARY_FILTER_OPERATOR\":\"primaryFilterOperator\",\"SCHEMA_IDS\":\"schemaIDs\",\"COLOR_ID\":\"colorID\",\"CLIPBOARD_DATA\":\"clipBoard_Data\",\"TARGET_ROW_ID\":\"targetRowID\",\"CURRENCY_SYMBOL\":\"currencySymbol\",\"DESTINATION_VIEW_ID\":\"destinationViewID\",\"RECORDS_SELECTED\":\"recordsSelected\",\"SNAP_ID\":\"snapID\",\"AUTOMATION_TRIGGER_SOURCE_EMPTY_RECORD\":\"automationTriggerSourceEmptyRecord\",\"STATE\":\"state\",\"FILTER_ID\":\"filterID\",\"DELIMITER\":\",\",\"SCHEMA\":\"schema\",\"VIEW_PORT_CONFIG\":\"viewPortConfig\",\"SCHEDULED_TIME_FRAME_ENDS_AT_COUNT\":\"scheduledTimeFrameEndsAtCount\",\"SOURCE_TABLE\":\"sourceTable\",\"CC_ADDRESS\":\"ccAddress\",\"AUTOMATION_TRIGGER_SOURCE_DUPLICATE\":\"automationTriggerSourceDuplicate\",\"FROM_VIEW_ID\":\"fromViewID\",\"COPY_KEY\":\"copy_key\",\"EMOTION_ID\":\"emotionID\",\"TEXT_FORMAT\":\"textFormat\",\"LINE_SPACING\":\"lineSpace\",\"SENTIMENT_UPDATE_PARAMETERS\":\"sentimentUpdateParameters\",\"RID\":\"rid\",\"LEARN_GUIDE_STATE\":\"learnGuideState\",\"SCHEMA_POSITION\":\"schemaPosition\",\"VERSION_ID\":\"versionID\",\"CLEAR_TYPE\":\"clearType\",\"ACTION\":\"action\",\"RELATIONSHIP_IDS\":\"relationshipIDs\",\"RECORD_TYPE\":\"recordType\",\"VIEW_BITSET\":\"viewBitSet\",\"GROUP_BY_IDS\":\"groupByIDs\",\"TITLE\":\"title\",\"BITSET\":\"bitset\",\"ROW_POSITION\":\"rowPosition\",\"SUBSCRIPTION_MODE\":\"SUBSCRIPTION_MODE\",\"AUTOMATION_TRIGGER_SOURCE_LINK\":\"automationTriggerSourceLink\",\"MILESTONE_FIELD_ID\":\"milestoneField\",\"SCHEDULED_MONTHS\":\"scheduledMonths\",\"SHARE_URL\":\"shareUrl\",\"WORKSPACE_ID\":\"workspaceID\",\"AUTOMATION_ID\":\"automationID\",\"OPTION_IDS\":\"optionIDs\",\"TARGET_IDS\":\"targetIDs\",\"NEW_TAB_ID\":\"newTabID\",\"GROUP_PATH\":\"groupPath\",\"END_FIELD_ID\":\"endFieldID\",\"START_ID\":\"STARTID\",\"WATERMARK\":\"watermark\",\"SCHEDULED_DATES\":\"scheduledDates\",\"TYPE\":\"type\",\"DESTINATION_TABLE\":\"destinationTable\",\"SUFFIX\":\"suffix\",\"FIELDS\":\"fields\",\"TABLE_IDS\":\"tableIDs\",\"LINK_RECORD_ID\":\"linkedRecordID\",\"SCHEDULED_FREQUENCY\":\"scheduledFrequency\",\"CACHED\":\"CACHED\",\"VIEW_ID\":\"viewID\",\"FIND_AND_INCLUDE_RECORDS_ID\":\"findAndIncludeRecordsID\",\"END_DATE_CHOSEN_FIELD\":\"endDateChoosedField\",\"AUTOMATION_TRIGGER_SOURCE_PASTE\":\"automationTriggerSourcePaste\",\"FORMULA\":\"method\",\"ATTACHMENT_FILE_ID\":\"attachmentFileID\",\"TAB_ID\":\"tabID\",\"OPTION_ID\":\"optionID\",\"LAST_LOADED_ARHID\":\"lastLoadedARHID\",\"IS_HEADER_NEEDED\":\"isHeaderNeeded\",\"END_ID\":\"ENDID\",\"USER_TYPE\":\"userType\",\"ORIENTATION\":\"orientation\",\"COUNT\":\"count\",\"DATA_CHECK\":\"dataCheck\",\"SCHEDULED_ON_DAY\":\"scheduledOnDay\",\"DEFAULT_VALUE\":\"DEFAULT_VALUE\",\"PRESENCE_STATUS\":\"presence_status\",\"SORT_ID\":\"sortID\",\"RELATIVE_FILTER_ID\":\"relativeFilterID\",\"MAIL_SUBJECT\":\"mailSubject\",\"DATE_FORMAT\":\"dateFormat\",\"FILTER_OPERATOR\":\"filterOperator\",\"SECONDARY_FILTER_OPERATOR\":\"secondaryFilterOperator\",\"PORTAL_IDS\":\"PORTAL_IDS\",\"LEARN_GUIDE_PAGE\":\"learnGuidePage\",\"FIELD_VALUE\":\"fieldValue\",\"EXTENDED_TIME\":\"EXTENDED_TIME\",\"RATIO\":\"ratio\",\"WIDTH\":\"width\",\"URL\":\"url\",\"EXPIRY_DATE\":\"expiryDate\",\"LOGICAL_OPERATOR\":\"logicalOperator\",\"ORDER\":\"order\",\"SCHEDULED_TIME_FRAME_STATUS\":\"scheduledTimeFrameStatus\",\"HEADERS\":\"headers\",\"LINK_TYPE\":\"linkType\",\"CATEGORY\":\"category\",\"MAIL_MESSAGE\":\"mailMessage\",\"VALUES\":\"values\",\"SUMMARY_OF_A_FIELD_ID\":\"summaryOfAFieldID\",\"SORT_OPTION\":\"sortOption\",\"ANCHORS\":\"anchors\",\"RECORD_IDS\":\"recordIDs\",\"PORTAL_ID\":\"portalID\",\"SCHEDULED_TIME_FRAME_ENDS_AT_TYPE\":\"scheduledTimeFrameEndsAtType\",\"RECORDS\":\"records\",\"FILTER_DATE_VALUE\":\"filterDateValue\",\"AUTOMATION_TRIGGER_SOURCE_API\":\"automationTriggerSourceAPI\",\"START_DATE_FIELD_ID\":\"startDateField\",\"CARD_ID\":\"cardID\",\"AUTOMATION_TRIGGER_SOURCE_FORM_SUBMIT\":\"automationTriggerSourceFormSubmit\",\"CONDITION_TYPE\":\"CONDITION_TYPE\",\"SYMBOL_POSITION\":\"SymbolPosition\",\"CHANNEL_IDS\":\"channelIDs\",\"IS_LOAD_MORE\":\"isLoadMore\",\"IS_RESET_NEEDED\":\"isResetNeeded\",\"DESTINATION_TABLE_ID\":\"destinationTableID\",\"COLUMN\":\"column\",\"MODE\":\"MODE\",\"HTML\":\"html\",\"VALUE\":\"value\",\"FIELD_TYPE_PARAM\":\"fieldTypeParam\",\"FIELDS_TO_PLOT_ID\":\"fieldsToPlotID\",\"RATING_STYLE\":\"ratingStyle\",\"STEP_SIZE\":\"stepSize\",\"DESTINATION_RECORD_ID\":\"destinationRecordID\",\"STATUS\":\"status\",\"SCHEDULED_TIME_FRAME_START_DATE\":\"scheduledTimeFrameStartDate\",\"GROUP_BY_ID\":\"groupByID\",\"DURATION_SCALE_TYPE\":\"durationScale\",\"THOUSAND_SEPARATOR\":\"thousandSeparator\",\"SHOW_SECONDARY_LABEL\":\"showSecondaryLabel\",\"MEDIA\":\"media\",\"SUBSCRIPTION_PERIOD\":\"SUBSCRIPTION_PERIOD\",\"FILTER_STATUS_OPTION\":\"filterStatusOption\",\"ADJACENT_UNIT_SORT_ID\":\"adJacentUnitSortID\",\"SCHEDULED_DAYS\":\"scheduledDays\",\"SCHEDULED_TIME_FRAME_ENDS_AT_DATE\":\"scheduledTimeFrameEndsAtDate\",\"COLOR_IDS\":\"colorIDs\",\"CHANNEL_OR_USER\":\"channelOrUser\",\"PARAMETERS\":\"parameters\",\"ENABLE\":\"enable\",\"GROUP_BY_FIELD_TYPE\":\"groupByFieldType\",\"SCHEDULER_STATUS\":\"schedulerStatus\",\"SORT_IDS\":\"sortIDs\",\"BASE_ID\":\"baseID\",\"DATE\":\"DATE\",\"VISIBILITY\":\"visibility\",\"LINK_METAS\":\"LINK_METAS\",\"PASSWORD\":\"password\",\"DATA\":\"data\",\"PREFIX\":\"prefix\",\"LAST_ACTIVITY_LOG\":\"lastActivityLog\",\"END_DATE_FIELD_ID\":\"endDateField\",\"SENTIMENT_INSERT_PARAMETERS\":\"sentimentInsertParameters\",\"INITIAL_VALUE\":\"initialValue\",\"ROW\":\"row\",\"BCC_ADDRESS\":\"bccAddress\",\"PERMISSION\":\"permission\",\"DAYS_COUNT\":\"DAYS_COUNT\",\"SELECTION_ID\":\"selectionID\",\"MULTILINE_WRAPPER\":\"multilineWrapper\",\"BRAND_ID\":\"brandID\",\"SCHEDULED_HOURS\":\"scheduledHours\",\"EMOJI\":\"emoji\",\"SEARCH_POSITION\":\"searchPosition\",\"START_DATE_CHOSEN_FIELD\":\"startDateChoosedField\",\"BRANDING\":\"branding\",\"SCHEDULED_ON_WEEK\":\"scheduledOnWeek\",\"RECORD_IDS_RANGES\":\"recordIDsRanges\",\"EXPORT_TYPE\":\"exportType\",\"FONT_SIZE\":\"fontSize\",\"WEBHOOK_PARAM_SECTION\":\"section\",\"ADJACENT_FILTER_ID\":\"adjacentFilterID\",\"FIELD_ID\":\"fieldID\",\"LEGEND_POSITION\":\"legendPosition\",\"HEIGHT\":\"height\",\"RELATIVE_ID\":\"relativeID\",\"FILTER_DETAILS\":\"filterDetails\",\"RELATIONSHIP_ID\":\"relationshipID\",\"VIEW_NAME\":\"viewName\",\"FILTER_BY\":\"filterby\",\"GROUP_OFFSET\":\"groupOffset\",\"TARGET_ID\":\"targetID\",\"MULTIPLE_SUBMIT\":\"multipleSubmit\",\"START_FIELD_ID\":\"startFieldID\",\"ENABLED\":\"enabled\",\"VIEW_IDS\":\"viewIDs\",\"AFFECTED_DATA\":\"affectedData\"};\n\tConstants.RESPONSE_KEYS = {\"TEXT_ALIGN\":\"TEXT_ALIGN\",\"CONNECTION_TYPE\":\"CONNECTION_TYPE\",\"ONE_TIME_META\":\"ONE_TIME_META\",\"FILTERS\":\"FILTERS\",\"USER_ID\":\"USER_ID\",\"PREVIOUS_PLAN_TYPE\":\"PREVIOUS_PLAN_TYPE\",\"IS_BASE_ENABLED\":\"IS_BASE_ENABLED\",\"DATE_PARAMS\":\"DATE_PARAMS\",\"WEBHOOK_RAW_BODY\":\"RAW_BODY\",\"DISABLE_CODE\":\"DISABLE_CODE\",\"ATTACHMENT_STYLE\":\"ATTACHMENT_STYLE\",\"SECONDARY_VALUE\":\"SECONDARY_VALUE\",\"ATTACHMENT_NAME\":\"ATTACHMENT_NAME\",\"TOTAL_NO_OF_RECORDS\":\"TOTAL_NO_OF_RECORDS\",\"REDIRECTING_MODULE\":\"REDIRECTING_MODULE\",\"MESSAGE_AFTER_SUBMIT\":\"MESSAGE_AFTER_SUBMIT\",\"FAILURE_CONSTANT\":\"failureConstant\",\"EXPAND\":\"EXPAND\",\"CHANNEL_ID\":\"channelId\",\"SEARCH\":\"SEARCH\",\"SIZE\":\"SIZE\",\"COMPONENT_TYPE\":\"COMPONENT_TYPE\",\"GALLERY\":\"GALLERY\",\"STATUS_FAILURE\":\"failure\",\"SUMMARY_TYPE\":\"SUMMARY_TYPE\",\"GANTT\":\"GANTT\",\"BOT_ADD_SUCCESS\":\"BOT_ADD_SUCCESS\",\"NON_ZOHO_USER\":\"0\",\"CREATOR_EXPORT\":\"CREATOR_EXPORT\",\"WEBHOOK_BODY_MODE\":\"BODY_MODE\",\"COLOR_THEME\":\"COLOR_THEME\",\"IS_GALLERY_CARD_CUSTOMIZATION_ALLOWED\":\"IS_GALLERY_CARD_CUSTOMIZATION_ALLOWED\",\"DAYS\":\"DAYS\",\"GROUP_BY_LEVEL_LIMIT\":\"GROUP_BY_LEVEL_LIMIT\",\"BOT_STATUS\":\"BOT_STATUS\",\"Y_AXIS_LABEL\":\"Y_AXIS_LABEL\",\"PREVIOUS\":\"0\",\"RECORD_CREATION_SOURCE_PASTE\":\"RECORD_CREATION_SOURCE_PASTE\",\"ROLE\":\"ROLE\",\"MESSAGE\":\"MESSAGE\",\"ZOHO_USER\":\"1\",\"IS_VALID\":\"IS_VALID\",\"ICON\":\"ICON\",\"PERMITTED_PAGES\":\"PERMITTED_PAGES\",\"SUCCESS\":\"SUCCESS\",\"CLIENT_ACTION_ID\":\"CLIENT_ACTION_ID\",\"RUN_HISTORY_ORDER\":\"RUN_HISTORY_ORDER\",\"DEPENDENCY_LINK_TYPE\":\"DEPENDENCY_LINK_TYPE\",\"APPEND\":\"APPEND\",\"MEDIA_NAME\":\"mediaName\",\"SCALE_TYPE\":\"SCALE_TYPE\",\"WEBHOOK_HEADER_VALUE\":\"value\",\"TAB_USERS\":\"TAB_USERS\",\"AT_TIME\":\"AT_TIME\",\"FILTER_DATE_OPTION\":\"FILTER_DATE_OPTION\",\"PREVIEW\":\"PREVIEW\",\"TABLE_NAME\":\"TABLE_NAME\",\"TO_GROUP_PATH\":\"TO_GROUP_PATH\",\"KANBAN\":\"KANBAN\",\"PROPERTIES\":\"PROPERTIES\",\"IS_EPHI_FIELD_LIMIT_REACHED\":\"IS_EPHI_FIELD_LIMIT_REACHED\",\"ERROR_DETAILS\":\"ERROR_DETAILS\",\"BASE_USERS_ID\":\"baseUsersId\",\"EMAIL\":\"EMAIL\",\"REDIRECT_URL\":\"REDIRECT_URL\",\"CARDS\":\"CARDS\",\"BRANDS\":\"BRANDS\",\"PARSE_IMMEDIATE\":\"PARSE_IMMEDIATE\",\"WEBHOOK_METHOD\":\"METHOD\",\"EPHI_APPLIED\":\"EPHI_APPLIED\",\"COLOR\":\"COLOR\",\"REMAINING_DAYS_FOR_PLAN\":\"REMAINING_DAYS_FOR_PLAN\",\"AVAILABLE_PORTALS\":\"AVAILABLE_PORTALS\",\"LINKED_VIEWS\":\"LINKED_VIEWS\",\"IS_BASE_LIMIT_REACHED\":\"IS_BASE_LIMIT_REACHED\",\"END_DATE_FIELD\":\"END_DATE_FIELD\",\"CLIPBOARD_HTML\":\"CLIPBOARD_HTML\",\"REQUIRED\":\"REQUIRED\",\"FILTER_LABEL\":\"FILTER_LABEL\",\"IS_GROUP_BY_ENABLED\":\"IS_GROUP_BY_ENABLED\",\"CONDITION_ID\":\"CONDITION_ID\",\"SCHEMA_IDS\":\"SCHEMA_IDS\",\"RELATIONSHIP\":\"RELATIONSHIP\",\"CLIPBOARD_DATA\":\"CLIPBOARD_DATA\",\"IS_KANBAN_CARD_CUSTOMIZATION_ALLOWED\":\"IS_KANBAN_CARD_CUSTOMIZATION_ALLOWED\",\"LOAD\":\"LOAD\",\"STATE\":\"STATE\",\"IS_SNAP_LIMIT_REACHED\":\"IS_SORT_LIMIT_REACHED\",\"DELETED\":\"DELETED\",\"PARAM_ORDER\":\"PARAM_ORDER\",\"SHOW_UPGRADE\":\"showUpgrade\",\"FIELDS_TO_PLOT_ORDER\":\"FIELDS_TO_PLOT_ORDER\",\"PATTERN\":\"PATTERN\",\"SCHEMA\":\"SCHEMA\",\"ALIGN_TYPE\":\"ALIGN_TYPE\",\"EDITING_USER\":\"EDITING_USER\",\"CELLS\":\"CELLS\",\"FILTER\":\"FILTER\",\"FORM\":\"FORM\",\"LAST_PROCESSED_ACTIVITY_LOG\":\"lastProcessedActivityLog\",\"REPLACE_COUNT\":\"REPLACE_COUNT\",\"LINE_SPACING\":\"LINE_SPACING\",\"LEARN_GUIDE_STATE\":\"learnGuideState\",\"IS_LANGUAGE_BASED_SORTING_ENABLED\":\"IS_LANGUAGE_BASED_SORTING_ENABLED\",\"MAIL_ID\":\"MAIL_ID\",\"LOGICAL_CONDITION\":\"CONDITION\",\"RELATIONSHIPS\":\"RELATIONSHIPS\",\"ACTION\":\"ACTION\",\"RECORD_CREATION_SOURCE_FORM_SUBMIT\":\"RECORD_CREATION_SOURCE_FORM_SUBMIT\",\"BRAND_NAME\":\"BRAND_NAME\",\"GROUP_META\":\"GROUP_META\",\"COLLABORATORS\":\"COLLABORATORS\",\"MAX_ACTIVE_AUTOMATION_ALLOWED\":\"MAX_ACTIVE_AUTOMATION_ALLOWED\",\"PREVIOUS_PLAN_EXPIRED_DATE\":\"PREVIOUS_PLAN_EXPIRED_DATE\",\"PORTAL_NAME\":\"PORTAL_NAME\",\"SNAP_CARD_ORDER\":\"SNAP_ORDER\",\"WORKSPACE_ID\":\"WORKSPACE_ID\",\"PRICING_MAIL_IDS\":\"pricingMailIDs\",\"PREMIUM_AUTOMATION_ACTIONS\":\"PREMIUM_AUTOMATION_ACTIONS\",\"ALREADY_EXIST_IN_PORTAL\":\"alreadyExistInPortalMailIDs\",\"ID\":\"ID\",\"AID\":\"AID\",\"SNAP_ORDER\":\"SNAP_ORDER\",\"PRIMARY_VALUE\":\"PRIMARY_VALUE\",\"STATUSES\":\"STATUSES\",\"DESTINATION_TABLE\":\"DESTINATION_TABLE\",\"BASE_META\":\"BASE_META\",\"FIELDS\":\"FIELDS\",\"RECORDS_COUNT\":\"RECORDS_COUNT\",\"CLIQ_INFO\":\"CLIQ_INFO\",\"BOT_ADD_FAIL\":\"BOT_ADD_FAIL\",\"DAILY_META\":\"DAILY_META\",\"ROW_ORDER\":\"ROW_ORDER\",\"VIEW_ID\":\"VIEW_ID\",\"TAB_ID\":\"TAB_ID\",\"HAS_MORE\":\"HAS_MORE\",\"SUCCESS_STATE_FALSE\":\"false\",\"SOCIAL_INFO\":\"SOCIAL_INFO\",\"IS_HEADER_NEEDED\":\"IS_HEADER_NEEDED\",\"ACTION_ORDER\":\"ACTION_ORDER\",\"LINKED_TABLES\":\"LINKED_TABLES\",\"FILTER_SNAP\":\"FILTER_SNAP\",\"PRESENCE_STATUS\":\"PRESENCE_STATUS\",\"LEARN_GUIDE_PAGE\":\"learnGuidePage\",\"REMAINING_RECORD_COUNT\":\"REMAINING_RECORD_COUNT\",\"HIGHLIGHT_CRITICAL_PATH\":\"HIGHLIGHT_CRITICAL_PATH\",\"BLUEPRINT\":\"BLUEPRINT\",\"WIDTH\":\"WIDTH\",\"CHOICES\":\"CHOICES\",\"RECORD_CREATION_SOURCE_EMPTY_RECORD\":\"RECORD_CREATION_SOURCE_EMPTY_RECORD\",\"URL\":\"URL\",\"IS_EPHI_APPLIED\":\"IS_EPHI_APPLIED\",\"EXPIRY_DATE\":\"EXPIRY_DATE\",\"HEADERS\":\"HEADERS\",\"SCHEDULER_AUTOMATION_MAX\":\"SCHEDULER_AUTOMATION_MAX\",\"ACTIONS\":\"ACTIONS\",\"CAN_DISABLE_FORM_VIEW_BRANDING\":\"CAN_DISABLE_FORM_VIEW_BRANDING\",\"ACTIVE_USERS\":\"ACTIVE_USERS\",\"UPDATE\":\"UPDATE\",\"SUCCESS_STATE_TRUE\":\"true\",\"IS_TAB_IDEAL\":\"IS_TAB_IDEAL\",\"FILE\":\"FILE\",\"VIEWPORT\":\"VIEWPORT\",\"ACTION_INFO\":\"ACTION_INFO\",\"RECORD_IDS\":\"RECORD_IDS\",\"HIDE\":\"HIDE\",\"PORTAL_ID\":\"PORTAL_ID\",\"IS_SORT_LIMIT_REACHED\":\"IS_SORT_LIMIT_REACHED\",\"TABLES\":\"TABLES\",\"RECORDS\":\"RECORDS\",\"IS_RECORD_COLOR_APPLIED\":\"IS_RECORD_COLOR_APPLIED\",\"STREAM_ID\":\"STREAM_ID\",\"STATUS_CREATOR_IMPERMISSIBLE_WORKSPACES\":\"impermissibleWorkspaces\",\"WORKSPACE_ROLE\":\"WORKSPACE_ROLE\",\"RECORD_CREATION_SOURCE_DUPLICATE\":\"RECORD_CREATION_SOURCE_DUPLICATE\",\"IS_BASE_DELETED\":\"IS_BASE_DELETED\",\"SNAPS\":\"SNAPS\",\"RECORD_HEIGHT\":\"RECORD_HEIGHT\",\"ALL\":\"ALL\",\"TABLE_ORDER\":\"TABLE_ORDER\",\"WEBHOOK_INFO\":\"WEBHOOK_INFO\",\"MODE\":\"MODE\",\"COLUMN\":\"COLUMN\",\"LOGO\":\"LOGO\",\"STORAGE_UNIT\":\"STORAGE_UNIT\",\"EXTENSION\":\"EXTENSION\",\"VALUE\":\"VALUE\",\"WD_RESPONSE\":\"WD_RESPONSE\",\"IS_EPHI_STATE_UPDATED\":\"IS_EPHI_STATE_UPDATED\",\"RATING_STYLE\":\"RATING_STYLE\",\"GROUP_BY_FIELD_ID\":\"GROUP_BY_FIELD_ID\",\"CONFIG\":\"CONFIG\",\"STATUS\":\"STATUS\",\"IS_CALENDAR_RANGE_ALLOWED\":\"IS_CALENDAR_RANGE_ALLOWED\",\"SHOW_SECONDARY_LABEL\":\"SHOW_SECONDARY_LABEL\",\"ANONYMOUS_USERS\":\"ANONYMOUS_USERS\",\"IMAGE_URL\":\"IMAGE_URL\",\"WIZS\":\"WIZS\",\"REDO_COUNT\":\"REDO_COUNT\",\"PARAMETERS\":\"PARAMETERS\",\"EMAIL_META\":\"EMAIL_META\",\"VALID_MAIL_IDS\":\"validMailIDs\",\"VIEW_ORDER\":\"VIEW_ORDER\",\"GROUP_LEVEL\":\"GROUP_LEVEL\",\"MODULE\":\"MODULE\",\"EXTENDED_EXPIRY_DATE\":\"EXTENDED_EXPIRY_DATE\",\"PASSWORD\":\"PASSWORD\",\"SUMMARY_OF_A_FIELD\":\"SUMMARY_OF_A_FIELD\",\"SORT\":\"SORT\",\"FAULTY\":\"FAULTY\",\"RUN_HISTORY_LOG_BANNER\":\"RUN_HISTORY_LOG_BANNER\",\"DATE_TIME\":\"DATE_TIME\",\"ROW\":\"ROW\",\"PARAMS\":\"PARAMS\",\"ZUID\":\"zuid\",\"WEEK_DAY_PARAMS\":\"WEEK_DAY_PARAMS\",\"MULTILINE_WRAPPER\":\"MULTILINE_WRAPPER\",\"PARAM_KEY\":\"key\",\"ERROR_CODE\":\"ERROR_CODE\",\"BRAND_ID\":\"BRAND_ID\",\"PREMIUM_AUTOMATION_TRIGGERS\":\"PREMIUM_AUTOMATION_TRIGGERS\",\"ERROR_META\":\"META\",\"ENDS_AT\":\"ENDS_AT\",\"STARTS_AT\":\"STARTS_AT\",\"FONT_SIZE\":\"FONT_SIZE\",\"ANCHOR\":\"ANCHOR\",\"IS_AUTO_SAVED\":\"isAutoSaved\",\"FIELD_ID\":\"FIELD_ID\",\"IS_MILESTONE_ENABLED\":\"IS_MILESTONE_ENABLED\",\"SCHEDULER_AUTOMATION_USED\":\"SCHEDULER_AUTOMATION_USED\",\"LEGEND_POSITION\":\"LEGEND_POSITION\",\"TRIGGERED_TIME\":\"TRIGGERED_TIME\",\"XAID\":\"XAID\",\"RELATIVE_ID\":\"RELATIVE_ID\",\"VIEW_NAME\":\"VIEW_NAME\",\"GROUP_OFFSET\":\"GROUP_OFFSET\",\"WIZ_ORDER\":\"WIZ_ORDER\",\"COLLABORATOR_ID\":\"COLLABORATOR_ID\",\"SCHEDULER_USERS\":\"SCHEDULER_USERS\",\"ENABLED\":\"ENABLED\",\"CLEAR\":\"CLEAR\",\"REMAINING_USER_COUNT\":\"REMAINING_USER_COUNT\",\"IS_USER_ENABLED\":\"IS_ENABLED\",\"ROWS\":\"ROWS\",\"SECONDARY_LABEL\":\"SECONDARY_LABEL\",\"TRIGGER\":\"TRIGGER\",\"OPEN_EDIT_BASE_DIALOGUE\":\"OPEN_EDIT_BASE_DIALOGUE\",\"CHART_TYPE\":\"CHART_TYPE\",\"AFTER\":\"A\",\"TABLE_ID\":\"TABLE_ID\",\"PORTALS\":\"PORTALS\",\"CURRENT_USER_ROLE\":\"CURRENT_USER_ROLE\",\"MILESTONE_FIELD\":\"MILESTONE_FIELD\",\"PREVIEW_VERSION\":\"PREVIEW_VERSION\",\"PERMITTED_VIEWS\":\"PERMITTED_VIEWS\",\"MONTHS\":\"MONTHS\",\"POSITION\":\"POSITION\",\"OWNER\":\"OWNER\",\"NON_EDITABLE_USER\":\"NON_EDITABLE_USER\",\"TRAIL_EXTENDED\":\"TRAIL_EXTENDED\",\"IS_PORTALS_REDIRECTION\":\"IS_PORTALS_REDIRECTION\",\"DISPLAY_CONSTANT\":\"DISPLAY_CONSTANT\",\"CREATOR_DOMAIN_URL\":\"CREATOR_DOMAIN_URL\",\"ACTION_META\":\"ACTION_META\",\"ERROR\":\"ERROR\",\"RESPONSE\":\"RESPONSE\",\"CLIQ_URL\":\"CLIQ_URL\",\"SORT_TYPE\":\"SORT_TYPE\",\"META\":\"META\",\"ARHID\":\"ARHID\",\"LOGICAL_STRING\":\"LOGICAL\",\"ACTION_ID\":\"ACTION_ID\",\"WEEKS\":\"WEEKS\",\"SOURCE\":\"SOURCE\",\"TO_ADDRESS\":\"TO_ADDRESS\",\"PUBLISH_URL\":\"PUBLISH_URL\",\"REMOVED_USERS\":\"REMOVED_USERS\",\"ATTACHMENT_ORDER\":\"ATTACHMENT_ORDER\",\"KEY\":\"KEY\",\"INTERNAL_SERVER_ERROR\":\"Internal server error\",\"STATUS_CREATOR_NO_WORKSPACE\":\"noWorkspace\",\"STATUS_CREATOR_NO_ACCOUNT_USER\":\"noAccountUser\",\"SHOW_EMPTY_GROUPS\":\"SHOW_EMPTY_GROUPS\",\"RELOAD\":\"RELOAD\",\"CHANNELS_AND_USERS\":\"CHANNELS_AND_USERS\",\"AUTOMATION_RUN_HISTORY\":\"AUTOMATION_RUN_HISTORY\",\"EXCEPTION\":\"Exception\",\"SCHEMA_ORDER\":\"SCHEMA_ORDER\",\"PATH_TYPE\":\"PATH_TYPE\",\"RECORD_DATA\":\"RECORD_DATA\",\"AUTOMATIONS\":\"AUTOMATIONS\",\"BUTTONS\":\"BUTTONS\",\"GROUP\":\"GROUP\",\"DELETE\":\"DELETE\",\"CHECKBOX_STYLE\":\"CHECKBOX_STYLE\",\"DESCRIPTION\":\"DESCRIPTION\",\"VERSION_NUMBER\":\"versionNumber\",\"ACTIVITY_LOG_BANNER\":\"ACTIVITY_LOG_BANNER\",\"IS_EPHI_EDIT_ROLE_UPDATED\":\"IS_EPHI_EDIT_ROLE_UPDATED\",\"OFFSET\":\"OFFSET\",\"CREATOR_EXPORT_URL\":\"CREATOR_EXPORT_URL\",\"ATTACHMENT_ID\":\"ATTACHMENT_ID\",\"FIELDS_TO_PLOT\":\"FIELDS_TO_PLOT\",\"CHANNEL_STATUS_KEYS\":\"CHANNEL_STATUS_KEYS\",\"CAN_SELECT\":\"CAN_SELECT\",\"VERSION_ORDER\":\"VERSION_ORDER\",\"OBJECT_FIT\":\"OBJECT_FIT\",\"FIELD_IDS_TO_PLOT\":\"FIELD_IDS_TO_PLOT\",\"USER_NAME\":\"USER_NAME\",\"RECORD_COMMENT\":\"RECORD_COMMENT\",\"FIELD_TYPE\":\"FIELD_TYPE\",\"PLAN_EXPIRY_DATE\":\"PLAN_EXPIRY_DATE\",\"AUTOMATION_ORDER\":\"AUTOMATION_ORDER\",\"SUBJECT\":\"SUBJECT\",\"COMPONENT\":\"COMPONENT\",\"DRAW_WITH\":\"DRAW_WITH\",\"TO\":\"TO\",\"HOURLY_META\":\"HOURLY_META\",\"DURATION\":\"DURATION\",\"EDITABLE_USER\":\"EDITABLE_USER\",\"START_DATE_FIELD\":\"START_DATE_FIELD\",\"GROUP_BY_TYPE\":\"GROUP_BY_TYPE\",\"HEADER_ORDER\":\"HEADER_ORDER\",\"OWNER_LEVEL\":\"OWNER_LEVEL\",\"VIEW_TYPE\":\"VIEW_TYPE\",\"ZONE_PORTAL_MAIL_IDS\":\"zonePortalMailIDs\",\"VIEW\":\"VIEW\",\"SCHEDULED_TIMEFRAME\":\"SCHEDULED_TIMEFRAME\",\"VIEWS\":\"VIEWS\",\"FORM_NAME\":\"FORM_NAME\",\"PARAM_VALUE\":\"PARAM_VALUE\",\"RECORD_ID\":\"RECORD_ID\",\"IS_VERSION_RESTORED\":\"IS_VERSION_RESTORED\",\"RECORD_CREATION_SOURCE_LINK\":\"RECORD_CREATION_SOURCE_LINK\",\"SHOW_SECONDARY_VALUE\":\"SHOW_SECONDARY_VALUE\",\"FIELD_SUMMARY\":\"FIELD_SUMMARY\",\"REPLACE\":\"REPLACE\",\"IS_DEFAULT\":\"IS_DEFAULT\",\"CHART_DATA\":\"CHART_DATA\",\"SHOW_DIFFERENCE\":\"SHOW_DIFFERENCE\",\"X_AXIS_LABEL\":\"X_AXIS_LABEL\",\"CREATED_TIME\":\"CREATED_TIME\",\"PROPERTY\":\"PROPERTY\",\"FILTER_TYPE\":\"FILTER_TYPE\",\"NAME\":\"NAME\",\"IS_EDITABLE_USER\":\"IS_EDITABLE_USER\",\"INTERSECTION\":\"INTERSECTION\",\"ALIGNMENT\":\"ALIGNMENT\",\"TOTAL_COUNT\":\"totalCount\",\"FIND_AND_INCLUDE_RECORDS\":\"FIND_AND_INCLUDE_RECORDS\",\"SELECTION\":\"SELECTION\",\"ACTIVITY_LOG\":\"activity_log\",\"SORTS\":\"SORTS\",\"SNAP_ID\":\"SNAP_ID\",\"PRICING_VIEW_CONFIGURATION\":\"PRICING_VIEW_CONFIGURATION\",\"DISPLAY_FIELD\":\"DISPLAY_FIELD\",\"FILTER_ID\":\"FILTER_ID\",\"VERSIONS\":\"VERSIONS\",\"STACK\":\"STACK\",\"MODIFIED_TIME\":\"MODIFIED_TIME\",\"DIFFERENCE\":\"DIFFERENCE\",\"NEXT\":\"1\",\"META_ACTION\":\"META_ACTION\",\"SOURCE_TABLE\":\"SOURCE_TABLE\",\"CC_ADDRESS\":\"CC_ADDRESS\",\"GROUP_BY\":\"GROUP_BY\",\"COPY_KEY\":\"copy_key\",\"FALLBACK\":\"FALLBACK\",\"TIME\":\"TIME\",\"ATTACHMENT_EXTENSION\":\"ATTACHMENT_EXTENSION\",\"SORT_SNAP\":\"SORT_SNAP\",\"MOVED\":\"MOVED\",\"HOURS\":\"HOURS\",\"RECORD_TYPE\":\"RECORD_TYPE\",\"SUBMIT_BUTTON\":\"SUBMIT_BUTTON\",\"ZUID_STATUS_KEYS\":\"ZUID_STATUS_KEYS\",\"CREATOR_WORKSPACES\":\"CREATOR_WORKSPACES\",\"ALREADY_EXIST_MAIL_IDS\":\"alreadyExistInModuleMailIDs\",\"TITLE\":\"TITLE\",\"BASE_URL\":\"baseURL\",\"HAS_ACCESS\":\"HAS_ACCESS\",\"USED_STORAGE\":\"USED_STORAGE\",\"FIELD_ORDER\":\"FIELD_ORDER\",\"MAIL_STATUS_KEYS\":\"MAIL_STATUS_KEYS\",\"RECORD_ORDER\":\"RECORD_ORDER\",\"WEBHOOK_RESPONSE_BODY\":\"WEBHOOK_RESPONSE_BODY\",\"SENTIMENT\":\"SENTIMENT\",\"ACCESS_REVOKED\":\"ACCESS_REVOKED\",\"SHARE\":\"SHARE\",\"QAID\":\"QAID\",\"CARD\":\"CARD\",\"SHARE_URL\":\"SHARE_URL\",\"TABLE\":\"TABLE\",\"CURRENT_COUNT\":\"CURRENT_COUNT\",\"RECORDIDS_ORDER\":\"RECORDIDS_ORDER\",\"TARGET_IDS\":\"TARGET_IDS\",\"ACTIVE_TABLE\":\"ACTIVE_TABLE\",\"LOCATION_CONSTANT\":\"LOCATION_CONSTANT\",\"HAS_ORG\":\"HAS_ORG\",\"IS_PLAN_UPDATED\":\"IS_PLAN_UPDATED\",\"TYPE\":\"TYPE\",\"CYCLE\":\"CYCLE\",\"RECORD_CREATION_SOURCE_API\":\"RECORD_CREATION_SOURCE_API\",\"WEBHOOK_HEADER_KEY\":\"key\",\"REORDER\":\"REORDER\",\"PREV_EXPIRY_DATE\":\"PREV_EXPIRY_DATE\",\"FORMULA\":\"FORMULA\",\"LINK_FIELDS\":\"LINK_FIELDS\",\"PREMIUM_FEATURES\":\"PREMIUM_FEATURES\",\"LAST_LOADED_ARHID\":\"LAST_LOADED_ARHID\",\"USER_TYPE\":\"USER_TYPE\",\"STATUS_SUCCESS\":\"success\",\"COUNT\":\"COUNT\",\"CALENDAR\":\"CALENDAR\",\"UN_CATEGORIZED_ID\":\"UN_CATEGORIZED_ID\",\"MAIL_INFO\":\"MAIL_INFO\",\"DEFAULT_VALUE\":\"DEFAULT_VALUE\",\"PRIMARY_FIELD_ID\":\"PRIMARY_FIELD_ID\",\"RATIO\":\"RATIO\",\"PREMIUM_VIEWS\":\"PREMIUM_VIEWS\",\"ORDER\":\"ORDER\",\"IMPORT\":\"IMPORT\",\"ACTIVE_VIEW\":\"ACTIVE_VIEW\",\"RESIZE\":\"RESIZE\",\"COLLAPSE\":\"COLLAPSE\",\"RECORDS_COLOR\":\"RECORDS_COLOR\",\"WEBHOOK_RESPONSE_STATUS_CODE\":\"WEBHOOK_RESPONSE_STATUS_CODE\",\"VALUES\":\"VALUES\",\"REPLACE_ALL\":\"REPLACE_ALL\",\"SORT_OPTION\":\"SORT_OPTION\",\"FIELD_PROPERTIES\":\"FIELD_PROPERTIES\",\"ANCHORS\":\"ANCHORS\",\"FORM_DESCRIPTION\":\"FORM_DESCRIPTION\",\"GRID\":\"GRID\",\"COVER_ID\":\"COVER_ID\",\"XID\":\"XID\",\"FILTER_DATE_VALUE\":\"FILTER_DATE_VALUE\",\"BANNER\":\"BASE_BANNER\",\"INACTIVE_USERS\":\"INACTIVE_USERS\",\"SHOW_LOAD_MORE\":\"showLoadMore\",\"IS_RECORD_LIMIT_REACHED\":\"IS_RECORD_LIMIT_REACHED\",\"SUCCESSOR\":\"SUCCESSOR\",\"PREDECESSOR\":\"PREDECESSOR\",\"DAY\":\"DAY\",\"WEEKLY_META\":\"WEEKLY_META\",\"IS_ENABLED\":\"IS_ENABLED\",\"SOCIAL_IMAGE_URL\":\"imageURL\",\"END_DATE\":\"END_DATE\",\"HTML\":\"HTML\",\"ITEMS\":\"ITEMS\",\"NAME_PARAMETERS\":\"NAME_PARAMETERS\",\"FIELD_TYPE_PARAM\":\"FIELD_TYPE_PARAM\",\"OFFSET_COUNT\":\"OFFSET_COUNT\",\"NO_OF_AUTOMATION_USED\":\"NO_OF_AUTOMATION_USED\",\"IS_NEEDED\":\"IS_NEEDED\",\"IS_DEPENDENCY_ENABLED\":\"IS_DEPENDENCY_ENABLED\",\"IS_PRODUCT_GUIDE_NEEDED\":\"IS_PRODUCT_GUIDE_NEEDED\",\"SUMMARY\":\"SUMMARY\",\"IS_PUBLISHED\":\"IS_PUBLISHED\",\"MEDIA\":\"MEDIA\",\"TEMPLATE\":\"TEMPLATE\",\"FILTER_STATUS_OPTION\":\"FILTER_STATUS_OPTION\",\"TOTAL_STORAGE\":\"TOTAL_STORAGE\",\"IS_GRID_CARD_LIMIT_REACHED\":\"IS_GRID_CARD_LIMIT_REACHED\",\"PREMIUM_FIELDS\":\"PREMIUM_FIELDS\",\"IS_USER_REMOVED\":\"IS_USER_REMOVED\",\"CREATED_BY\":\"CREATED_BY\",\"WAKE_UP_CALL\":\"WAKEUPCALL\",\"LABEL_ALIGNMENT\":\"LABEL_ALIGNMENT\",\"COVER_IMAGE\":\"COVER_IMAGE\",\"REMAINING_DAYS\":\"REMAINING_DAYS\",\"SCHEDULER_STATUS\":\"SCHEDULER_STATUS\",\"DATE\":\"DATE\",\"TITLE_ID\":\"TITLE_ID\",\"VISIBILITY\":\"VISIBILITY\",\"TRIGGER_FIELD_ID\":\"triggerFieldID\",\"DATA\":\"DATA\",\"FIELD_VALUES\":\"FIELD_VALUES\",\"TREE\":\"TREE\",\"IS_CARD_LIMIT_REACHED\":\"IS_CARD_LIMIT_REACHED\",\"INSERT\":\"INSERT\",\"SCHEDULED_FREQUENCY_TYPE\":\"SCHEDULED_FREQUENCY_TYPE\",\"PREPAND\":\"PREPAND\",\"BCC_ADDRESS\":\"BCC_ADDRESS\",\"PLAN_TYPE\":\"PLAN_TYPE\",\"TYPE_CONST\":\"TYPE_CONST\",\"ACTIVE_TYPE\":\"ACTIVE_TYPE\",\"IS_TAB_REREGISTER\":\"IS_TAB_REREGISTER\",\"SCHEMAS\":\"SCHEMAS\",\"TRIGGER_TYPE\":\"TRIGGER_TYPE\",\"ACTIVE_WIZ_ID\":\"ACTIVE_WIZ_ID\",\"TIME_ZONE\":\"TIME_ZONE\",\"MONTHLY_META\":\"MONTHLY_META\",\"CONDITIONS\":\"CONDITIONS\",\"ATTACHMENTS\":\"ATTACHMENTS\",\"USER_PRESENCE\":\"USER_PRESENCE\",\"BRANDING\":\"BRANDING\",\"FIELD_NAME\":\"FIELD_NAME\",\"CONTENT\":\"CONTENT\",\"WEEK\":\"WEEK\",\"UNDO_COUNT\":\"UNDO_COUNT\",\"ACTION_TYPE\":\"ACTION_TYPE\",\"MAX_COUNT\":\"MAX_COUNT\",\"SHOULD_SHOW_SILENT_RELOAD_DIALOGUE\":\"SHOULD_SHOW_SILENT_RELOAD_DIALOGUE\",\"DIRECTION\":\"DIRECTION\",\"SAVED_TIME\":\"savedTime\",\"IS_EPHI_CONFIGURATION_UPDATED\":\"IS_EPHI_CONFIGURATION_UPDATED\",\"USER\":\"USER\",\"HEIGHT\":\"HEIGHT\",\"EXTENSION_INSTALLED\":\"EXTENSION_INSTALLED\",\"IS_DATA_SYNC_REQUIRED\":\"IS_DATA_SYNC_REQUIRED\",\"BEFORE\":\"B\",\"MODULE_TYPE\":\"MODULE_TYPE\",\"IS_GRACE_PERIOD\":\"IS_GRACE_PERIOD\",\"MULTIPLE_SUBMIT\":\"MULTIPLE_SUBMIT\",\"REMAINING_PORTAL_STORAGE\":\"REMAINING_PORTAL_STORAGE\",\"RESULT\":\"RESULT\",\"DEPENDENCY_FIELD\":\"DEPENDENCY_FIELD\"};\n\tConstants.ROLE = {\"WORKSPACE_VIEWER\":3,\"WORKSPACE_EDITOR\":2,\"WORKSPACE_USER\":5,\"BASE_ORGANIZER\":3,\"BASE_DR_MODE\":6,\"PORTAL_USER\":3,\"BASE_EDITOR\":2,\"PORTAL_SUPER_ADMIN\":1,\"BASE_VIEWER\":1,\"WORKSPACE_ORGANIZER\":1,\"PORTAL_ADMIN\":2,\"BASE_MANAGER\":4,\"WORKSPACE_MANAGER\":6};\n\tConstants.BASE_ICONS = {\"CameraIcon\":14,\"AnalysisIcon\":1,\"BookoneIcon\":7,\"CheckListIcon\":16,\"TargetIcon\":52,\"ArchiveIcon\":3,\"TagsIcon\":51,\"BaseUserIcon\":56,\"MoonIcon\":38,\"ChatIcon\":15,\"FloppyIcon\":49,\"InfoIcon\":32,\"PagesIcon\":41,\"ShoppingIcon\":47,\"FlimIcon\":26,\"PlayerIcon\":43,\"HospitalIcon\":30,\"TabletIcon\":50,\"CloudIcon\":18,\"OrganisationIcon\":40,\"MedicalKitIcon\":36,\"MusicIcon\":39,\"ConvertionIcon\":22,\"BaseUsersIcon\":57,\"CalendarIcon\":13,\"ClockIcon\":17,\"RssIcon\":44,\"MarkerIcon\":35,\"BugIcon\":9,\"CodeIcon\":19,\"CalculatorIcon\":12,\"ImageIcon\":31,\"HomeIcon\":29,\"MicIcon\":37,\"DevelopmentIcon\":24,\"AnchourIcon\":2,\"BriefCaseIcon\":0,\"FavoriteIcon\":25,\"AmbulanceIcon\":8,\"ScissorIcon\":45,\"TransportIcon\":54,\"FolderIcon\":27,\"TeaIcon\":53,\"BuildingIcon\":10,\"EmailIcon\":34,\"BulbIcon\":11,\"DashboardIcon\":23,\"CoffeeIcon\":20,\"BeakerIcon\":4,\"CogsIcon\":21,\"LoudSpeakerIcon\":33,\"SpeakerIcon\":48,\"PhoneIcon\":42,\"BookIcon\":6,\"GlassCupIcon\":28,\"WindowIcon\":58,\"ScreenShotIcon\":46,\"BellIcon\":5,\"TriggerIcon\":55};\n\tConstants.IMPORT_SCOPES = {\"IMPORT_BASE\":1,\"IMPORT_FIELD\":3,\"IMPORT_TABLE\":2,\"IMPORT_RECORD\":4};\n\tConstants.GALLERY_VIEW_PROPERTY_TYPE = {\"SECONDARY_TYPE\":\"3\",\"TITLE_TYPE\":\"1\",\"COVER_TYPE\":\"2\"};\n\tConstants.ATTACHMENT_STYLE = {\"ATTACHMENT_STYLE_6\":6,\"ATTACHMENT_STYLE_3\":3,\"ATTACHMENT_STYLE_2\":2,\"ATTACHMENT_STYLE_5\":5,\"ATTACHMENT_STYLE_4\":4,\"ATTACHMENT_STYLE_1\":1};\n\tConstants.CHECK_BOX_STYLE = {\"CHECKBOX_STYLE_2\":2,\"CHECKBOX_STYLE_3\":3,\"CHECKBOX_STYLE_1\":1};\n\tConstants.ATTACHMENT_ALIGN = {\"CENTER_ALIGN\":2,\"COVER_ALIGN\":3,\"FIT_ALIGN\":1};\n\tConstants.RATING_STYLE = {\"RATING_STYLE_1\":1,\"RATING_STYLE_3\":3,\"RATING_STYLE_2\":2};\n\tConstants.TEXT_ALIGN = {\"CENTER_ALIGN\":2,\"RIGHT_ALIGN\":3,\"LEFT_ALIGN\":1};\n\tConstants.FORM_USERTYPE = {\"ALL\":1,\"CORP\":2};\n\tConstants.AutomationDataConstants = {\"FIND_AND_INCLUDE_RECORDS_CLIENT_ID\":\"findAndIncludeRecordsClientID\",\"TRIGGER_FIELD_ID\":\"triggerFieldID\",\"CHANNEL_ID\":\"channelId\",\"VALUE\":\"value\",\"FIND_AND_INCLUDE_RECORDS_ID\":\"findAndIncludeRecordsID\",\"SUMMARY_OF_A_FIELD_ID\":\"summaryOfAFieldID\",\"BASE_USERS_ID\":\"baseUsersId\",\"ZUID\":\"zuid\",\"SUMMARY_OF_A_FIELD_CLIENT_ID\":\"summaryOfAFieldClientID\"};\n\tConstants.ONBOARDING_INDUSTRIES = {\"REAL_ESTATE\":6,\"OTHERS\":8,\"IT_SOFTWARE\":1,\"CONSTRUCTION\":2,\"INSURANCE\":5,\"AUTOMOBILE\":4,\"MANUFACTURING\":7,\"EDUCATION\":3};\n    Constants.DRE_ACTIONS = {\"FETCH_TABLES\":10,\"CREATE_SERVICE_SPACE\":0,\"DELETE_CONNECTION\":8,\"CLOSE_TRANSACTION\":9,\"FETCH_SERVICE\":1,\"FIRST_LOAD\":3,\"FETCH_RECORDS\":6,\"FETCH_BASES\":4,\"FETCH_FIELDS\":5,\"IMPORT_DATA\":7,\"CREATE_CONNECTION\":2};\n    Constants.UserPreferencePageRequestConstants = {\"AUTOMATION_NOTIFICATION\":\"automationNotification\",\"IS_USER_UNSUBSCRIBED\":\"isUserUnsubscribed\",\"COLLABORATION_NOTIFICATION\":\"collaborationNotification\",\"UNSUBSCRIBE_USER_KEY\":\"userKey\"};\n    Constants.UserPreferencePageResponseConstants = {\"MAIL_NOTIFICATION\":\"mailNotification\",\"AUTOMATION_NOTIFICATION\":\"automationNotification\",\"COLLABORATION_NOTIFICATION\":\"collaborationNotification\"};\n    Constants.ImportSourceConstants = {\"SHEET_EXPORT\":4,\"AI_BASE_USING_ZIA\":12,\"CLOUD_WORK_DRIVE_FILE_IMPORT\":7,\"SPREADSHEET\":2,\"SMARTSHEET\":13,\"CLOUD_DROPBOX_FILE_IMPORT\":10,\"URL_FILE_IMPORT\":6,\"LOCAL_FILE_IMPORT\":5,\"CLOUD_BOX_FILE_IMPORT\":11,\"AIRTABLE\":3,\"CLOUD_GOOGLE_DRIVE_FILE_IMPORT\":8,\"CRM\":1,\"CLOUD_ONEDRIVE_FILE_IMPORT\":9};\n    Constants.OnBoardingTypeConstants = {\"SHEET_EXPORT\":2,\"DEFAULT\":0,\"CLONE_TEMPLATE\":1};\n    Constants.BaseCreateValidationFailureConstants = {\"PORTAL_NOT_EXIST\":4,\"USER_NOT_EXIST_IN_WORKSPACE\":7,\"USER_DISABLED\":3,\"USER_ROLE_INVALID\":8,\"BASE_LIMIT_REACHED\":1,\"INTERNAL_ERROR\":9,\"WORKSPACE_DISABLED\":2,\"USER_NOT_EXIST_IN_PORTAL\":5,\"WORKSPACE_NOT_EXIST\":6};\n    Constants.WCErrorConstants = {\"89\":\"ErrorHandling.UserNotExistInBase\",\"230\":\"ErrorHandling.Automation.AddBotErrorMessage\",\"231\":\"ErrorHandling.Automation.ExtensionInstallErrorMessage\",\"90\":\"ErrorHandling.youDontHavePermissionForPortal\",\"91\":\"ErrorHandling.youDontHavePermissionForWorkspace\",\"92\":\"ErrorHandling.youDontHavePermissionForBase\",\"93\":\"ErrorHandling.CannotPerformAction\",\"94\":\"ErrorHandling.InvalidUserRole\",\"95\":\"ErrorHandling.UserAlreadyExistInPortal\",\"96\":\"ErrorHandling.UserAlreadyExistInWorkspace\",\"97\":\"ErrorHandling.userAlreadyExist\",\"98\":\"ErrorHandling.userAlreadyExist\",\"99\":\"ErrorHandling.PortalShare.Failed\",\"120\":\"ErrorHandling.Portal_Delete_Failure\",\"121\":\"ErrorHandling.Workspace_Delete_Failure\",\"1\":\"ErrorHandling.RequestLimitReached\",\"2\":\"ErrorHandling.BadRequest\",\"3\":\"ErrorHandling.PasteContentLimitExceed\",\"404\":\"ErrorHandling.Automation.WebhookURLUpdateErrorMessage\",\"250\":\"ErrorHandling.pasteLimitExceeded\",\"251\":\"ErrorHandling.invalidFieldId\",\"252\":\"ErrorHandling.invalidTableId\",\"253\":\"ErrorHandling.sameIdUpdate\",\"254\":\"ErrorHandling.primaryFieldDeleteForbidden\",\"255\":\"ErrorHandling.primaryFieldVisibilityRestricted\",\"256\":\"ErrorHandling.primaryFieldOrderCannotBeChanged\",\"257\":\"ErrorHandling.sortFieldAlreadyUsedInGroupBy\",\"258\":\"ErrorHandling.groupByFieldAlreadyUsedInSort\",\"259\":\"ErrorHandling.View.Gantt.CircularDependency\",\"260\":\"ErrorHandling.Field.Rename\",\"261\":\"ErrorHandling.Table.Rename\",\"262\":\"ErrorHandling.View.Rename\",\"263\":\"ErrorHandling.Base.Rename\",\"265\":\"ErrorHandling.EphiFieldPresentInCut\",\"266\":\"ErrorHandling.EphiFieldPresentInAutomation\",\"267\":\"ErrorHandling.MaxEphiFieldLimitReached\",\"268\":\"ErrorHandling.EphiFieldPresentInCopy\",\"269\":\"ErrorHandling.EphiFieldPresentInReports\",\"49\":\"ErrorHandling.Unauthorized\",\"270\":\"ErrorHandling.EphiRestrictedByPlan\",\"150\":\"ErrorHandling.Creator_need_Permission\",\"271\":\"ErrorHandling.EphiBaseDuplicationRestricted\",\"151\":\"ErrorHandling.noWorkspace_In_Zoho_Creator\",\"272\":\"ErrorHandling.EphiTableDuplicationRestricted\",\"152\":\"ErrorHandling.NoAccount_In_Zoho_Creator\",\"273\":\"ErrorHandling.EphiFieldDuplicationRestricted\",\"153\":\"ErrorHandling.ExportToZohoCreator_Something_went_Wrong\",\"274\":\"ErrorHandling.EphiRecordDuplicationRestricted\",\"275\":\"ErrorHandling.EphiReferenceFieldsRestrictedLink\",\"276\":\"ErrorHandling.EphiReferenceFieldsRestrictedLookup\",\"277\":\"ErrorHandling.EphiReferenceFieldsRestrictedRollup\",\"278\":\"ErrorHandling.EphiReferenceFieldsRestrictedFormula\",\"279\":\"ErrorHandling.EphiReferenceFieldsRestrictedKeyWordExtraction\",\"50\":\"ErrorHandling.unExpectedError\",\"51\":\"ErrorHandling.base_limit_reached\",\"52\":\"ErrorHandling.portalDisabled\",\"53\":\"ErrorHandling.userCurrentlyDisabled\",\"54\":\"ErrorHandling.WorkspaceDisabled\",\"55\":\"ErrorHandling.BaseDisabled\",\"57\":\"ErrorHandling.CollaboratorLimitReached\",\"58\":\"ErrorHandling.Portal.CreationRestricted\",\"160\":\"ErrorHandling.requestMaxReached\",\"161\":\"ErrorHandling.sheetFileLimit\",\"162\":\"ErrorHandling.SheetcreateBaseIssue\",\"163\":\"ErrorHandling.sheet_base_limit_reached\",\"164\":\"ErrorHandling.sheet_portal_unavailable\",\"165\":\"ErrorHandling.sheet_workspace_disabled\",\"166\":\"ErrorHandling.sheet_user_disabled\",\"167\":\"ErrorHandling.sheet_not_a_member_portal\",\"200\":\"ErrorHandling.Reports.Builder.Undo.ErrorState\",\"168\":\"ErrorHandling.sheet_workspaceNotFound\",\"201\":\"ErrorHandling.Reports.Builder.Redo.ErrorState\",\"169\":\"ErrorHandling.sheet_no_access_to_workspace\",\"170\":\"ErrorHandling.sheet_role_access_changed\",\"171\":\"ErrorHandling.sheet_somethingWentWrong\",\"175\":\"ErrorHandling.WmsCollaborativeFailure\",\"176\":\"ErrorHandling.CopyServerPartialSuccess\",\"210\":\"ErrorHandling.Automation.ErrorContent.somethingWentWrongCantResumeAutomationDueToRunCount\",\"211\":\"ErrorHandling.Automation.somethingWentWrongCantChangeOnTime\",\"212\":\"ErrorHandling.Automation.somethingWentWrongCantChangeStartDate\",\"213\":\"ErrorHandling.Automation.somethingWentWrongCantChangeEndDate\",\"214\":\"ErrorHandling.Automation.somethingWentWrongCantChangeAtTime\",\"215\":\"ErrorHandling.Automation.somethingWentWrongCantChangeHours\",\"216\":\"ErrorHandling.Automation.somethingWentWrongCantChangeDays\",\"217\":\"ErrorHandling.Automation.somethingWentWrongCantChangeWeeks\",\"218\":\"ErrorHandling.Automation.somethingWentWrongCantChangeMonths\",\"219\":\"ErrorHandling.Automation.requestFailedToUpdateMonthMetaType\",\"220\":\"ErrorHandling.Automation.requestFailedToUpdateWeekDays\",\"100\":\"ErrorHandling.WorkspaceShare.Failed\",\"221\":\"ErrorHandling.Automation.requestFailedToUpdateMonthDates\",\"101\":\"ErrorHandling.BaseShare.Failed\",\"222\":\"ErrorHandling.Automation.requestFailedToUpdateMonthWeek\",\"102\":\"ErrorHandling.ViewShare.Failed\",\"223\":\"ErrorHandling.Automation.requestFailedToUpdateMonthWeekDay\",\"103\":\"ErrorHandling.UserNotExistInView\",\"224\":\"ErrorHandling.Automation.requestFailedToUpdateTimeframeState\",\"225\":\"ErrorHandling.Automation.requestFailedToUpdateTimeframeStartDate\",\"226\":\"ErrorHandling.Automation.requestFailedToUpdateTimeframeEndDate\",\"227\":\"ErrorHandling.Automation.requestFailedToUpdateTimeframeStateRunCount\",\"80\":\"ErrorHandling.NoPermissionToAddPortalUser\",\"228\":\"ErrorHandling.Automation.requestFailedToUpdateTimeframeStateEndType\",\"81\":\"ErrorHandling.NoPermissionToAddWorkspaceUser\",\"229\":\"ErrorHandling.Automation.somethingWentWrongCantResumeAutomation\",\"82\":\"ErrorHandling.noPermissionToAddBase\",\"83\":\"ErrorHandling.noPermissionToAddView\",\"84\":\"ErrorHandling.noPermissionToSwitchRole\",\"85\":\"ErrorHandling.noPermissionToDelete\",\"86\":\"ErrorHandling.UserNotExistInPortal\",\"87\":\"ErrorHandling.UserNotExistInWorkspace\"};\n    Constants.DREModuleTypeConstants = {\"WORKSPACES\":\"workspaces\",\"BASES\":\"bases\",\"TABLES\":\"tables\"};\n    Constants.DREFilterComparatorConstants = {\"FILTER_COMPARATOR_GREATER_THAN\":11,\"FILTER_COMPARATOR_ENDS_WITH\":6,\"FILTER_COMPARATOR_LESSER_THAN\":12,\"FILTER_COMPARATOR_BETWEEN\":9,\"FILTER_COMPARATOR_EQUALS\":1,\"FILTER_COMPARATOR_DOES_NOT_CONTAINS\":4,\"FILTER_COMPARATOR_CONTAINS\":3,\"FILTER_COMPARATOR_STARTS_WITH\":5,\"FILTER_COMPARATOR_NOT_EQUALS\":2,\"FILTER_COMPARATOR_NOT_BETWEEN\":10,\"FILTER_COMPARATOR_IS_NONE_OF\":16,\"FILTER_COMPARATOR_HAS_ANY_OF\":17,\"FILTER_COMPARATOR_GREATER_THAN_EQUALS\":13,\"FILTER_COMPARATOR_IS_NOT_EMPTY\":8,\"FILTER_COMPARATOR_IS_EMPTY\":7,\"FILTER_COMPARATOR_LESSER_THAN_EQUALS\":14,\"FILTER_COMPARATOR_IS_ANY_OF\":15,\"FILTER_COMPARATOR_HAS_NONE_OF\":18};\n    Constants.LearnGuideStateConstant = {\"NOT_YET_STARTED\":-1,\"CLOSED\":0,\"OPEN\":1};\n    Constants.LearnGuidePageConstant = {\"COLLABORATE\":4,\"ORGANISE\":2,\"HOME\":1,\"TRACK\":3};\n    Constants.CliqBotStatusConstants = {\"ADD\":1,\"ADDED\":3,\"REQUEST\":2};\n    Constants.WCProxyPathConstants = {\"alterScheduledAtTriggerAutomation\":\"alterScheduledAtTriggerAutomation\",\"alterFormNameSize\":\"alterFormNameSize\",\"insertPrevSelectionOption\":\"insertPrevSelectionOption\",\"snapEdit\":\"snapEdit\",\"insertSnapCard\":\"insertSnapCard\",\"alterFormLogoSize\":\"alterFormLogoSize\",\"alterWebhookHeaderKeyAutomationAction\":\"alterWebhookHeaderKeyAutomationAction\",\"alterScheduledMonthsTriggerAutomation\":\"alterScheduledMonthsTriggerAutomation\",\"alterEmptyRecordAutomationTrigger\":\"alterEmptyRecordAutomationTrigger\",\"includeViewFiltersFindAndIncludeRecordsAutomationAction\":\"includeViewFiltersFindAndIncludeRecordsAutomationAction\",\"deleteUnitFilterFindAndIncludeRecordsAutomationAction\":\"deleteUnitFilterFindAndIncludeRecordsAutomationAction\",\"reorderGridField\":\"reorderGridField\",\"deleteUnitSort\":\"deleteUnitSort\",\"alterStartDateTimeTriggerAutomation\":\"alterStartDateTimeTriggerAutomation\",\"insertUnitFilterAutomationAction\":\"insertUnitFilterAutomationAction\",\"createGanttMilestoneField\":\"createGanttMilestoneField\",\"componentCopyViewConfiguration\":\"componentCopyViewConfiguration\",\"fetchFilterTriggerFields\":\"fetchFilterTriggerFields\",\"updateSubjectAutomationAction\":\"updateSubjectAutomationAction\",\"alterTableIDAutomationTrigger\":\"alterTableIDAutomationTrigger\",\"updateFieldePHIState\":\"updateFieldePHIState\",\"alterFormViewName\":\"alterFormViewName\",\"duplicateViewWithData\":\"duplicateViewWithData\",\"alterFilterLogicalStringAutomationTrigger\":\"alterFilterLogicalStringAutomationTrigger\",\"createRecordGroup\":\"createRecordGroup\",\"printViewCloseTransaction\":\"printViewCloseTransaction\",\"alterOrderView\":\"alterOrderView\",\"alterAutomationTrigger\":\"alterAutomationTrigger\",\"updateShareSnapDate\":\"updateShareSnapDate\",\"alterFormSubmitAutomationTrigger\":\"alterFormSubmitAutomationTrigger\",\"updateAggregateColor\":\"updateAggregateColor\",\"search\":\"search\",\"createLinkedRecordWithDataAndSubmit\":\"createLinkedRecordWithDataAndSubmit\",\"statusFilterAutomationRunHistory\":\"statusFilterAutomationRunHistory\",\"alterEndsAtTypeTriggerAutomation\":\"alterEndsAtTypeTriggerAutomation\",\"insertChartUnitFieldsToPlot\":\"insertChartUnitFieldsToPlot\",\"deleteGroup\":\"deleteGroup\",\"fetchRelationships\":\"fetchRelationships\",\"firstLoad\":\"firstLoad\",\"deleteUnitFilterAutomationAction\":\"deleteUnitFilterAutomationAction\",\"updateGridRecordHeight\":\"updateGridRecordHeight\",\"unhideGridField\":\"unhideGridField\",\"deleteAutomationAction\":\"deleteAutomationAction\",\"clearKanbanStack\":\"clearKanbanStack\",\"updateAggregateAlignment\":\"updateAggregateAlignment\",\"alterScheduledTimeTriggerAutomation\":\"alterScheduledTimeTriggerAutomation\",\"updateComponentView\":\"updateComponentView\",\"insertGridUnitSort\":\"insertGridUnitSort\",\"alterMetaField\":\"alterMetaField\",\"createField\":\"createField\",\"deleteUnitFilterAutomationTrigger\":\"deleteUnitFilterAutomationTrigger\",\"fetchMailFields\":\"fetchMailFields\",\"updateRTEContent\":\"updateRTEContent\",\"createSelectionOptionWithData\":\"createSelectionOptionWithData\",\"addGanttTaskDependency\":\"addGanttTaskDependency\",\"alterFilterLogicalOperator\":\"alterFilterLogicalOperator\",\"updateComponentUnitFilter\":\"updateComponentUnitFilter\",\"updateAggregateGroupByField\":\"updateAggregateGroupByField\",\"loadShareCard\":\"loadShareCard\",\"fetchAutomationActions\":\"fetchAutomationActions\",\"deleteWizFilterCondition\":\"deleteWizFilterCondition\",\"sortFormSchemaChoices\":\"sortFormSchemaChoices\",\"alterFormColorTheme\":\"alterFormColorTheme\",\"createRecord\":\"createRecord\",\"duplicateSnapCard\":\"duplicateSnapCard\",\"createGanttEndDateField\":\"createGanttEndDateField\",\"duplicateTable\":\"duplicateTable\",\"updateChartXAxisLabel\":\"updateChartXAxisLabel\",\"deleteTable\":\"deleteTable\",\"deleteFieldValuesAutomationAction\":\"deleteFieldValuesAutomationAction\",\"fetchFieldsByFieldType\":\"fetchFieldsByFieldType\",\"updateCardHeight\":\"updateCardHeight\",\"insertUnitFilter\":\"insertUnitFilter\",\"createSingleSelectConditionalHighlight\":\"createSingleSelectConditionalHighlight\",\"alterSocialMediaAutomationAction\":\"alterSocialMediaAutomationAction\",\"cliqChannelsUsersFetch\":\"cliqChannelsUsersFetch\",\"duplicateFieldWithData\":\"duplicateFieldWithData\",\"multipleDataSubmit\":\"multipleDataSubmit\",\"getFields\":\"getFields\",\"switchView\":\"switchView\",\"reorderGridUnitSort\":\"reorderGridUnitSort\",\"insertPrevRecord\":\"insertPrevRecord\",\"alterViewIDAutomationTrigger\":\"alterViewIDAutomationTrigger\",\"exportBase\":\"exportBase\",\"paste\":\"paste\",\"updateFieldChoicesFindAndIncludeRecordsAutomationAction\":\"updateFieldChoicesFindAndIncludeRecordsAutomationAction\",\"replaceAll\":\"replaceAll\",\"alterMetaUnitConditionalHighlight\":\"alterMetaUnitConditionalHighlight\",\"undo\":\"undo\",\"insertPreviousRecordInGroup\":\"insertPreviousRecordInGroup\",\"createUnitFilter\":\"createUnitFilter\",\"createAutomationTrigger\":\"createAutomationTrigger\",\"downloadBaseVersion\":\"downloadBaseVersion\",\"insertNextRecordInGroup\":\"insertNextRecordInGroup\",\"deleteWizFilter\":\"deleteWizFilter\",\"activityLog\":\"activityLog\",\"deleteSelectionOption\":\"deleteSelectionOption\",\"loadCard\":\"loadCard\",\"createRecordAndPaste\":\"createRecordAndPaste\",\"updateChartFormula\":\"updateChartFormula\",\"alterSocialContentTriggerFieldAutomationAction\":\"alterSocialContentTriggerFieldAutomationAction\",\"alterHeightRecord\":\"alterHeightRecord\",\"insertNextField\":\"insertNextField\",\"deleteUnitConditionalHighlight\":\"deleteUnitConditionalHighlight\",\"deleteAutomation\":\"deleteAutomation\",\"alterTableIDAutomationAction\":\"alterTableIDAutomationAction\",\"fetchGanttData\":\"fetchGanttData\",\"loadCardInVersionPreview\":\"loadCardInVersionPreview\",\"updateCardWidth\":\"updateCardWidth\",\"alterFormNameParameters\":\"alterFormNameParameters\",\"createGanttDependencyField\":\"createGanttDependencyField\",\"fetchInVersionPreview\":\"fetchInVersionPreview\",\"removeChannelOrUserCliqBotActionAutomation\":\"removeChannelOrUserCliqBotActionAutomation\",\"alterWebhookParamKeyAutomationAction\":\"alterWebhookParamKeyAutomationAction\",\"alterScheduledTimeFrameTriggerAutomation\":\"alterScheduledTimeFrameTriggerAutomation\",\"deleteGanttTaskDependency\":\"deleteGanttTaskDependency\",\"dragAndDropRecordInCalendar\":\"dragAndDropRecordInCalendar\",\"tabReRegister\":\"tabReRegister\",\"deleteConditionalHighlight\":\"deleteConditionalHighlight\",\"sortAutomationRunHistory\":\"sortAutomationRunHistory\",\"fetchSocialMediaFields\":\"fetchSocialMediaFields\",\"wmsregister\":\"wmsregister\",\"clearSchemaCard\":\"clearSchemaCard\",\"insertAutomation\":\"insertAutomation\",\"updateSnapFilterType\":\"updateSnapFilterType\",\"deleteSnap\":\"deleteSnap\",\"insertGroupBy\":\"insertGroupBy\",\"alterSummaryTypeSummaryOfAFieldAutomationAction\":\"alterSummaryTypeSummaryOfAFieldAutomationAction\",\"reorderGroupBy\":\"reorderGroupBy\",\"duplicateTableWithoutData\":\"duplicateTableWithoutData\",\"alterFormCoverImageVisibility\":\"alterFormCoverImageVisibility\",\"createUnitFilterAutomationAction\":\"createUnitFilterAutomationAction\",\"fetchCompatibleGanttEndDateFields\":\"fetchCompatibleGanttEndDateFields\",\"searchGanttTasks\":\"searchGanttTasks\",\"deleteGridUnitSort\":\"deleteGridUnitSort\",\"insertFormCoverImage\":\"insertFormCoverImage\",\"insertAttachmentAutomationAction\":\"insertAttachmentAutomationAction\",\"alterWidthField\":\"alterWidthField\",\"duplicateConditionalHighlight\":\"duplicateConditionalHighlight\",\"renameAutomation\":\"renameAutomation\",\"updateChartGroupBy\":\"updateChartGroupBy\",\"resizeRecordInCalendar\":\"resizeRecordInCalendar\",\"alterOrderRecord\":\"alterOrderRecord\",\"fetchTriggerCompatibleFields\":\"fetchTriggerCompatibleFields\",\"alterFormSchemaComponentType\":\"alterFormSchemaComponentType\",\"updateComponentFilterConditionType\":\"updateComponentFilterConditionType\",\"insertFieldValuesAutomationAction\":\"insertFieldValuesAutomationAction\",\"alterGroupCollapseOrExpandState\":\"alterGroupCollapseOrExpandState\",\"updateUserPresence\":\"updateUserPresence\",\"removeAttachmentAutomationAction\":\"removeAttachmentAutomationAction\",\"updateChartDrawWith\":\"updateChartDrawWith\",\"alterWebhookUrlAutomationAction\":\"alterWebhookUrlAutomationAction\",\"insertFormLogo\":\"insertFormLogo\",\"deleteAttachment\":\"deleteAttachment\",\"alterOrderField\":\"alterOrderField\",\"loadMoreActivityLogInVersionPreview\":\"loadMoreActivityLogInVersionPreview\",\"createRecordComments\":\"createRecordComments\",\"alterFormSubmitButtonName\":\"alterFormSubmitButtonName\",\"insertUnitConditionalHighlight\":\"insertUnitConditionalHighlight\",\"updateGanttTaskDependencyType\":\"updateGanttTaskDependencyType\",\"updateAggregateSecondaryValueStatus\":\"updateAggregateSecondaryValueStatus\",\"recordDateRangeUpdateGantt\":\"recordDateRangeUpdateGantt\",\"createAutomationAction\":\"createAutomationAction\",\"fetchSummaryFields\":\"fetchSummaryFields\",\"alterScheduledHoursTriggerAutomation\":\"alterScheduledHoursTriggerAutomation\",\"updateSnapName\":\"updateSnapName\",\"updateAnchorsCalendarView\":\"updateAnchorsCalendarView\",\"alterFormSchemaRequiredStatus\":\"alterFormSchemaRequiredStatus\",\"insertTable\":\"insertTable\",\"hideField\":\"hideField\",\"hasCliqOrg\":\"hasCliqOrg\",\"alterScheduledOnTypeMonthlyTriggerAutomation\":\"alterScheduledOnTypeMonthlyTriggerAutomation\",\"deleteField\":\"deleteField\",\"alterFormLogoAlignment\":\"alterFormLogoAlignment\",\"updateChartYAxisLabel\":\"updateChartYAxisLabel\",\"updateGridUnitSort\":\"updateGridUnitSort\",\"evaluateFilterFormula\":\"evaluateFilterFormula\",\"updateGanttConfigurationDurationScale\":\"updateGanttConfigurationDurationScale\",\"alterAllStacksVisibility\":\"alterAllStacksVisibility\",\"dateFilterAutomationRunHistory\":\"dateFilterAutomationRunHistory\",\"redo\":\"redo\",\"updateAggregateField\":\"updateAggregateField\",\"updateShareSnapPassword\":\"updateShareSnapPassword\",\"updateChartLegendPosition\":\"updateChartLegendPosition\",\"closeAutomationRunHistory\":\"closeAutomationRunHistory\",\"insertSchemaCard\":\"insertSchemaCard\",\"fetchCompatibleGanttDependencyFields\":\"fetchCompatibleGanttDependencyFields\",\"getTables\":\"getTables\",\"insertNextView\":\"insertNextView\",\"alterMetaUnitFilterFindAndIncludeRecordsAutomationAction\":\"alterMetaUnitFilterFindAndIncludeRecordsAutomationAction\",\"evaluateConditionalFormatFormula\":\"evaluateConditionalFormatFormula\",\"markAsPrimaryField\":\"markAsPrimaryField\",\"alterTableIDSummaryOfAFieldAutomationAction\":\"alterTableIDSummaryOfAFieldAutomationAction\",\"updateAggregateSecondaryLabelStatus\":\"updateAggregateSecondaryLabelStatus\",\"alterMetaUnitSort\":\"alterMetaUnitSort\",\"createConditionalHighlight\":\"createConditionalHighlight\",\"alterScheduledWeeksTriggerAutomation\":\"alterScheduledWeeksTriggerAutomation\",\"fetchAttachmentFields\":\"fetchAttachmentFields\",\"getViews\":\"getViews\",\"alterFilterLogicalStringAutomationAction\":\"alterFilterLogicalStringAutomationAction\",\"shareSnap\":\"shareSnap\",\"alterScheduledDayMonthlyTriggerAutomation\":\"alterScheduledDayMonthlyTriggerAutomation\",\"cliqAddBotToChannels\":\"cliqAddBotToChannels\",\"createGroupBy\":\"createGroupBy\",\"deleteRecord\":\"deleteRecord\",\"fetchTriggerFields\":\"fetchTriggerFields\",\"updateToAddressAutomationAction\":\"updateToAddressAutomationAction\",\"alterFormViewDescription\":\"alterFormViewDescription\",\"fetchRunHistory\":\"fetchRunHistory\",\"insertUnitFilterFindAndIncludeRecordsAutomationAction\":\"insertUnitFilterFindAndIncludeRecordsAutomationAction\",\"duplicateAutomation\":\"duplicateAutomation\",\"updateKanbanAnchor\":\"updateKanbanAnchor\",\"alterMetaAttachment\":\"alterMetaAttachment\",\"printView\":\"printView\",\"alterUnitLogicalOperatorConditionalHighlight\":\"alterUnitLogicalOperatorConditionalHighlight\",\"updateCellUserPresence\":\"updateCellUserPresence\",\"alterOrderUnitSort\":\"alterOrderUnitSort\",\"createNewBaseFromVersion\":\"createNewBaseFromVersion\",\"fetchSnapInVersionPreview\":\"fetchSnapInVersionPreview\",\"alterMetaView\":\"alterMetaView\",\"updateShareSnapStatus\":\"updateShareSnapStatus\",\"alterSocialMediaTriggerFieldAutomationAction\":\"alterSocialMediaTriggerFieldAutomationAction\",\"updateComponentTable\":\"updateComponentTable\",\"createGanttStartDateField\":\"createGanttStartDateField\",\"duplicateRecord\":\"duplicateRecord\",\"alterWebhookHeaderValueAutomationAction\":\"alterWebhookHeaderValueAutomationAction\",\"baseInfo\":\"baseInfo\",\"alterMetaUnitFilterAutomationTrigger\":\"alterMetaUnitFilterAutomationTrigger\",\"cut\":\"cut\",\"deleteSnapCard\":\"deleteSnapCard\",\"deleteGroupBy\":\"deleteGroupBy\",\"wmsunregister\":\"wmsunregister\",\"updateAggregateGroupByType\":\"updateAggregateGroupByType\",\"alterColorConditionalHighlight\":\"alterColorConditionalHighlight\",\"alterFormLabelAlignment\":\"alterFormLabelAlignment\",\"fetchSnapAndUpdateViewport\":\"fetchSnapAndUpdateViewport\",\"alterFormNameVisibility\":\"alterFormNameVisibility\",\"createAutomation\":\"createAutomation\",\"alterWebhookBodyAutomationAction\":\"alterWebhookBodyAutomationAction\",\"alterScheduledWeekMonthlyTriggerAutomation\":\"alterScheduledWeekMonthlyTriggerAutomation\",\"createGanttDisplayField\":\"createGanttDisplayField\",\"insertUnitSort\":\"insertUnitSort\",\"insertComponentUnitFilter\":\"insertComponentUnitFilter\",\"updateMessageAutomationAction\":\"updateMessageAutomationAction\",\"clearConditionalHighlight\":\"clearConditionalHighlight\",\"updateChartFieldsToPlot\":\"updateChartFieldsToPlot\",\"snapListingPageInVersionPreview\":\"snapListingPageInVersionPreview\",\"alterScheduledDaysTriggerAutomation\":\"alterScheduledDaysTriggerAutomation\",\"addUserIntoBaseWithSubmit\":\"addUserIntoBaseWithSubmit\",\"alterMetaUnitFilter\":\"alterMetaUnitFilter\",\"updateGroupBy\":\"updateGroupBy\",\"deleteFormLogo\":\"deleteFormLogo\",\"deleteKanbanStackRecords\":\"deleteKanbanStackRecords\",\"printViewOpenTransaction\":\"printViewOpenTransaction\",\"removeWebhookParamAutomationAction\":\"removeWebhookParamAutomationAction\",\"insertPrevField\":\"insertPrevField\",\"alterSocialBrandAutomationAction\":\"alterSocialBrandAutomationAction\",\"alterOrderTable\":\"alterOrderTable\",\"fixGanttInvalidTaskDependency\":\"fixGanttInvalidTaskDependency\",\"alterOrderStackKanbanView\":\"alterOrderStackKanbanView\",\"alterFormSchemaOrderChoices\":\"alterFormSchemaOrderChoices\",\"alterWizFilterType\":\"alterWizFilterType\",\"updateSnapSortType\":\"updateSnapSortType\",\"createComponentUnitFilter\":\"createComponentUnitFilter\",\"fetchCompatibleGanttMilestoneFields\":\"fetchCompatibleGanttMilestoneFields\",\"alterOrderSchemaCard\":\"alterOrderSchemaCard\",\"updateComponentLogicalString\":\"updateComponentLogicalString\",\"alterStackVisibility\":\"alterStackVisibility\",\"updateGridFieldWidth\":\"updateGridFieldWidth\",\"alterFrequencyTriggerAutomation\":\"alterFrequencyTriggerAutomation\",\"removeAttachmentFieldAutomationAction\":\"removeAttachmentFieldAutomationAction\",\"insertCellUserPresence\":\"insertCellUserPresence\",\"updateShareSnapUsertype\":\"updateShareSnapUsertype\",\"updateAggregateDifferenceStatus\":\"updateAggregateDifferenceStatus\",\"validateAutomation\":\"validateAutomation\",\"alterOrderSelectionOption\":\"alterOrderSelectionOption\",\"addWizFilterCondition\":\"addWizFilterCondition\",\"alterScheduledDatesMonthlyTriggerAutomation\":\"alterScheduledDatesMonthlyTriggerAutomation\",\"insertWebhookParamAutomationAction\":\"insertWebhookParamAutomationAction\",\"switchTable\":\"switchTable\",\"alterRecordOrderGroup\":\"alterRecordOrderGroup\",\"alterFieldIDSummaryOfAFieldAutomationAction\":\"alterFieldIDSummaryOfAFieldAutomationAction\",\"submit\":\"submit\",\"deleteSchemaCard\":\"deleteSchemaCard\",\"updateSnapCardPosition\":\"updateSnapCardPosition\",\"clearGroup\":\"clearGroup\",\"createRecordWithData\":\"createRecordWithData\",\"updateSnapCardSize\":\"updateSnapCardSize\",\"insertAutomationAction\":\"insertAutomationAction\",\"fetchWizTables\":\"fetchWizTables\",\"resetSchemaCard\":\"resetSchemaCard\",\"fetchCompatibleGanttStartDateFields\":\"fetchCompatibleGanttStartDateFields\",\"insertWebhookHeaderAutomationAction\":\"insertWebhookHeaderAutomationAction\",\"alterFormRedirectUrl\":\"alterFormRedirectUrl\",\"evaluateFormula\":\"evaluateFormula\",\"insertAttachmentFieldAutomationAction\":\"insertAttachmentFieldAutomationAction\",\"cliqExtensionInstall\":\"cliqExtensionInstall\",\"deleteChartUnitFieldsToPlot\":\"deleteChartUnitFieldsToPlot\",\"createFieldAndUpdateKanbanAnchor\":\"createFieldAndUpdateKanbanAnchor\",\"updateFieldValuesAutomationAction\":\"updateFieldValuesAutomationAction\",\"alterFormSchemaChoicesVisibility\":\"alterFormSchemaChoicesVisibility\",\"updateFallbackConditionalHighlight\":\"updateFallbackConditionalHighlight\",\"updateBccAddressAutomationAction\":\"updateBccAddressAutomationAction\",\"removeWebhookHeaderAutomationAction\":\"removeWebhookHeaderAutomationAction\",\"exportGroup\":\"exportGroup\",\"deleteComponentUnitFilter\":\"deleteComponentUnitFilter\",\"schedulerExecutionAutomation\":\"schedulerExecutionAutomation\",\"alterWebhookParamValueAutomationAction\":\"alterWebhookParamValueAutomationAction\",\"exportTableFromEditor\":\"exportTableFromEditor\",\"alterAllGroupsCollapseOrExpandState\":\"alterAllGroupsCollapseOrExpandState\",\"alterMetaSchemaCard\":\"alterMetaSchemaCard\",\"alterWebhookMethodAutomationAction\":\"alterWebhookMethodAutomationAction\",\"alterTableIDFindAndIncludeRecordsAutomationAction\":\"alterTableIDFindAndIncludeRecordsAutomationAction\",\"fetchsnaplistingandupdateviewport\":\"fetchsnaplistingandupdateviewport\",\"exportBaseFromEditor\":\"exportBaseFromEditor\",\"alterEndsAtDateTimeTriggerAutomation\":\"alterEndsAtDateTimeTriggerAutomation\",\"alterSubGroupsCollapseOrExpandState\":\"alterSubGroupsCollapseOrExpandState\",\"alterFormSchemaName\":\"alterFormSchemaName\",\"updateGridFilterType\":\"updateGridFilterType\",\"alterCategoryCard\":\"alterCategoryCard\",\"updateChartUnitFieldsToPlot\":\"updateChartUnitFieldsToPlot\",\"unHideField\":\"unHideField\",\"moveCard\":\"moveCard\",\"updateSingleSelectConditionalHighlight\":\"updateSingleSelectConditionalHighlight\",\"alterSummaryBar\":\"alterSummaryBar\",\"createSelectionOption\":\"createSelectionOption\",\"insertUnitFilterAutomationTrigger\":\"insertUnitFilterAutomationTrigger\",\"deleteUnitFilter\":\"deleteUnitFilter\",\"alterFormNameAlignment\":\"alterFormNameAlignment\",\"alterFormLogoVisibility\":\"alterFormLogoVisibility\",\"alterWebhookBodyModeAutomationAction\":\"alterWebhookBodyModeAutomationAction\",\"fetchValidViewsTrigger\":\"fetchValidViewsTrigger\",\"alterMetaUnitFilterAutomationAction\":\"alterMetaUnitFilterAutomationAction\",\"initGanttConfiguration\":\"initGanttConfiguration\",\"alterOrderConditionalHighlight\":\"alterOrderConditionalHighlight\",\"fetchActivityLog\":\"fetchActivityLog\",\"copy\":\"copy\",\"updateComponentTitle\":\"updateComponentTitle\",\"fetchValidViewsFindAndIncludeRecords\":\"fetchValidViewsFindAndIncludeRecords\",\"updateWizFilterConditionTable\":\"updateWizFilterConditionTable\",\"alterFormMessageAfterSubmit\":\"alterFormMessageAfterSubmit\",\"fetchCompatibleGanttDisplayFields\":\"fetchCompatibleGanttDisplayFields\",\"updatePropertyCard\":\"updatePropertyCard\",\"updateViewportAndFetch\":\"updateViewportAndFetch\",\"alterEndsAtCountTriggerAutomation\":\"alterEndsAtCountTriggerAutomation\",\"copyViewConfiguration\":\"copyViewConfiguration\",\"alterWizFilterLabel\":\"alterWizFilterLabel\",\"duplicateFieldWithoutData\":\"duplicateFieldWithoutData\",\"reorderChartUnitFieldsToPlot\":\"reorderChartUnitFieldsToPlot\",\"updateChartType\":\"updateChartType\",\"fetch\":\"fetch\",\"alterFormLogo\":\"alterFormLogo\",\"createSnap\":\"createSnap\",\"alterMetaSelectionOption\":\"alterMetaSelectionOption\",\"createUnitFilterFindAndIncludeRecordsAutomationAction\":\"createUnitFilterFindAndIncludeRecordsAutomationAction\",\"fetchSocialMessageFields\":\"fetchSocialMessageFields\",\"fetchFindAndIncludeRecordsFilterTriggerFields\":\"fetchFindAndIncludeRecordsFilterTriggerFields\",\"alterMetaTable\":\"alterMetaTable\",\"deleteCellUserPresence\":\"deleteCellUserPresence\",\"alterMetaSentiment\":\"alterMetaSentiment\",\"insertNextSelectionOption\":\"insertNextSelectionOption\",\"replace\":\"replace\",\"deleteFormCoverImage\":\"deleteFormCoverImage\",\"updateChartColor\":\"updateChartColor\",\"fetchGanttLinkMeta\":\"fetchGanttLinkMeta\",\"loadMoreActivityLog\":\"loadMoreActivityLog\",\"alterFilterLogicalStringFindAndIncludeRecordsAutomationAction\":\"alterFilterLogicalStringFindAndIncludeRecordsAutomationAction\",\"createUnitFilterAutomationTrigger\":\"createUnitFilterAutomationTrigger\",\"activityLogInVersionPreview\":\"activityLogInVersionPreview\",\"alterFormSchemaDescription\":\"alterFormSchemaDescription\",\"updateWizFilterConditionField\":\"updateWizFilterConditionField\",\"fetchGroupByMeta\":\"fetchGroupByMeta\",\"insertNextRecord\":\"insertNextRecord\",\"schedularStatusUpdateAutomation\":\"schedularStatusUpdateAutomation\",\"sortSelectionOption\":\"sortSelectionOption\",\"fetchFindAndIncludeRecordsFields\":\"fetchFindAndIncludeRecordsFields\",\"addWizFilter\":\"addWizFilter\",\"alterSocialContentTypeAutomationAction\":\"alterSocialContentTypeAutomationAction\",\"updateGanttConfiguration\":\"updateGanttConfiguration\",\"alterRatioSchemaCard\":\"alterRatioSchemaCard\",\"alterScheduledOnDaysWeeklyTriggerAutomation\":\"alterScheduledOnDaysWeeklyTriggerAutomation\",\"baseBroadcast\":\"baseBroadcast\",\"updateCcAddressAutomationAction\":\"updateCcAddressAutomationAction\",\"syncCall\":\"syncCall\",\"alterStatusAutomation\":\"alterStatusAutomation\",\"alterCreateLinkedRecordAutomationTrigger\":\"alterCreateLinkedRecordAutomationTrigger\",\"loadTableData\":\"loadTableData\",\"deleteView\":\"deleteView\",\"searchInVersionPreview\":\"searchInVersionPreview\",\"updateAggregateFormula\":\"updateAggregateFormula\",\"clear\":\"clear\",\"insertChannelOrUserCliqBotActionAutomation\":\"insertChannelOrUserCliqBotActionAutomation\",\"exportViewFromEditor\":\"exportViewFromEditor\",\"alterSocialPortalAutomationAction\":\"alterSocialPortalAutomationAction\",\"snapClose\":\"snapClose\",\"hideGridField\":\"hideGridField\",\"alterFormCoverImage\":\"alterFormCoverImage\",\"LinkFetch\":\"LinkFetch\",\"alterFormBrandingStatus\":\"alterFormBrandingStatus\",\"alterDuplicateRecordAutomationTrigger\":\"alterDuplicateRecordAutomationTrigger\"};\n    Constants.AutomationRunHistoryErrorConstants = {\"1\":\"UI.tables.common.InternalServerError\",\"2\":\"UI.Tables.Automation.RunHistory.Error.UnsupportedSocialPlan\",\"3\":\"UI.Tables.Automation.RunHistory.Error.InvalidSocialPortal\",\"4\":\"UI.Tables.Automation.RunHistory.Error.InvalidSocialBrand\",\"5\":\"UI.Tables.Automation.RunHistory.Error.UserHasNoPermission\",\"6\":\"UI.Tables.Automation.RunHistory.Error.WebhookRequestFailure\"};\n\n})(globalThis);\n","export const CONTENT_TYPE = 'Content-Type'; // No I18N\n","export const TEXT                = 'text/plain';                        // No I18N\nexport const HTML                = 'text/html';                         // No I18N\nexport const JAVASCRIPT          = 'application/javascript';            // No I18N\nexport const JSON                = 'application/json';                  // No I18N\nexport const OCTET_STREAM        = 'application/octet-stream';          // No I18N\nexport const MULTIPART_FORM_DATA = 'multipart/form-data';               // No I18N\nexport const GIF                 = 'image/gif';                         // No I18N\nexport const JPEG                = 'image/jpeg';                        // No I18N\nexport const PNG                 = 'image/png';                         // No I18N\nexport const SVG                 = 'image/svg+xml';                     // No I18N\nexport const WEBP                = 'image/webp';                        // No I18N\nexport const URL_ENCODED_FORM    = 'application/x-www-form-urlencoded'; // No I18N\n","const RESPONSE_HEADER_SPLITTER = /[\\r\\n]+/;\nconst DEFAULT_RETRY_COUNT = 3;\nconst RETRY_HEADERS = [400, 503];\nexport class AjaxRequest {\n    constructor() {\n        this.xmlHttpRequest = null;\n        this.eventListeners = {};\n        this.progressEventListeners = {};\n        this.isAsync = true;\n        this.method = METHOD.GET;\n        this.url = null;\n        this.headers = {};\n        this.formData = {}; // TODO: Try to remove this in favour for URLEncodedFormData & this.payload.\n        this.pureFormData = new FormData();\n        this.responseType = undefined;\n        this.responseHeaders = null; // This will be filled only after the response receives.\n        this.payload = null;\n        this.retryCount = DEFAULT_RETRY_COUNT;\n        this.withCredentials = false;\n    }\n\n    addEventListener(eventName, callback) {\n        switch (eventName) {\n            // case EVENTS.PROGRESS: \n            // case EVENTS.FINALLY : \n            case EVENTS.UPLOAD_PROGRESS: {\n                const progressEventList = this.progressEventListeners[eventName] || (this.progressEventListeners[eventName] = []);\n                progressEventList.push(callback);\n                break;\n            }\n            case EVENTS.SUCCESS:\n            case EVENTS.FAILURE:\n            case EVENTS.STATUS_OK:\n            case EVENTS.STATUS_ACCEPTED:\n            case EVENTS.COMPLETE: {\n                const eventList = this.eventListeners[eventName] || (this.eventListeners[eventName] = []);\n                eventList.push(callback);\n                break;\n            }\n            default:\n                throw ('Unknown Event'); // No I18N\n        }\n\n    }\n\n    abort() {\n        this.xmlHttpRequest.abort();\n    }\n\n    setAsync(value) {\n        this.isAsync = value;\n    }\n\n    setMethod(method) {\n        switch (method) {\n            case METHOD.GET:\n            case METHOD.POST:\n            case METHOD.HEAD:\n            case METHOD.PUT:\n            case METHOD.DELETE:\n                this.method = method;\n                break;\n            default:\n                throw ('Unknown HTTP method'); // No I18N\n        }\n    }\n\n    setUrl(url) {\n        this.url = url;\n    }\n\n    setPureFormData(key, value) {\n        this.pureFormData.append(key, value);\n    }\n\n    setPureFormDataAsPaylod() {\n        this.setPayload(this.pureFormData);\n    }\n\n    setFormData(param, value) {\n        this.formData[param] = value; // TODO: Create an instance of URLEncodedFormData and try to remove this.formData altogether.\n    }\n\n    send() {\n        const self = this;\n        this.xmlHttpRequest && (this.xmlHttpRequest.onreadystatechange = null)\n        globalThis.Table && globalThis.Table.Worker && globalThis.Table.Worker.Server && globalThis.Table.Worker.Server.X_PRESTIGE_CONNECTION_ID && this.setRequestHeader('X-PRESTIGE-CONNECTION-ID', globalThis.Table.Worker.Server.X_PRESTIGE_CONNECTION_ID);  // No I18N\n        this.xmlHttpRequest = new XMLHttpRequest();\n        this.xmlHttpRequest.open(this.method, this.url, this.isAsync);\n        this.xmlHttpRequest.withCredentials = this.withCredentials;\n        this.responseType && this.isAsync && (this.xmlHttpRequest.responseType = this.responseType);\n        this.progressEventListeners && loadProgressEventListeners(this);\n\n        this.isTransportErrorDispatched = false;\n        this.xmlHttpRequest.onreadystatechange = function (ev) { onReadyStateChange.call(self, this, ev); };\n        this.xmlHttpRequest.onerror   = function (ev) { onTransportError.call(self, this, ev); };\n        this.xmlHttpRequest.ontimeout = function (ev) { onTransportError.call(self, this, ev); };\n        loadRequestHeadersToXmlHttpRequest(this);\n        const encodedData = getEncodedFormData(this);\n        (this.method === METHOD.GET) ? this.xmlHttpRequest.send() : this.xmlHttpRequest.send(encodedData);\n    }\n\n    setRequestHeader(name, value) {\n        this.headers[name] = value;\n    }\n\n    setRetryCount(count){\n        this.retryCount = count;\n    }\n    \n    setCredentials(){\n        this.withCredentials = true;\n    }\n\n    setResponseType(value) {\n        switch (value) {\n            case 'arraybuffer':\n            case 'blob':\n            case 'document':\n            case 'json':\n            case 'text':\n            case '':\n                this.responseType = value;\n                break;\n            default:\n                throw ('UnknownXMLHttpRequestResponseType'); // No I18N\n        }\n    }\n\n    getAllResponseHeaders() {\n        if (this.responseHeaders === null) {\n            const headers = this.xmlHttpRequest.getAllResponseHeaders();\n            const arr = headers.trim().split(RESPONSE_HEADER_SPLITTER);\n\n            const headerMap = {};\n            for (let i = 0; i < arr.length; i++) {\n                const parts = arr[i].split(': ');\n                const header = parts.shift();\n                const value = parts.join(': ');\n                headerMap[header.toLowerCase()] = value; // Edge doesn't return header names in all lowercase.\n            }\n            this.responseHeaders = headerMap;\n        }\n        return this.responseHeaders;\n    }\n\n    setPayload(payload) {\n        this.payload = payload;\n    }\n}\n\nexport const METHOD = {\n    GET: 'GET',    // No I18N\n    POST: 'POST',   // No I18N\n    HEAD: 'HEAD',   // No I18N\n    PUT: 'PUT',    // No I18N\n    DELETE: 'DELETE'  // No I18N\n}\n\nAjaxRequest.METHOD = METHOD;\n\nexport const EVENTS = {\n    SUCCESS: 'success',         // No I18N\n    FAILURE: 'failure',         // No I18N\n    COMPLETE: 'complete',        // No I18N\n    FINALLY: 'finally',         // No I18N\n    PROGRESS: 'progress',        // No I18N\n    UPLOAD_PROGRESS: 'upload_progress', // No I18N\n    STATUS_OK: 'status_ok',       // No I18N\n    STATUS_ACCEPTED: 'status_accepted'  // No I18N\n}\n\nAjaxRequest.EVENTS = EVENTS;\n\nfunction onReadyStateChange(context, ev) {\n    const xmlHttpRequest = ev.target || this.xmlHttpRequest;\n    const readystate = xmlHttpRequest.readyState;\n    const status = xmlHttpRequest.status;\n    const isSuccess = (status < 399);\n\n    const shouldRetry = RETRY_HEADERS.includes(xmlHttpRequest.status) && (this.retryCount > 0);\n\n    if (shouldRetry) {\n        this.retryCount--;\n        this.send();\n        return\n    }\n\n    switch (readystate) {\n        case XMLHttpRequest.OPENED:\n            break;\n        case XMLHttpRequest.HEADERS_RECEIVED:\n            break;\n        case XMLHttpRequest.LOADING:\n            break;\n        case XMLHttpRequest.DONE: {\n            const response = xmlHttpRequest.response;\n            // TODO: Remove ev from dispatchEventList passing arguments once ev usage removed from all the callback func and made to use only AjaxRequestCompleteEvent object\n            this.eventListeners[EVENTS.SUCCESS] && status >= 200 && status <= 299 && dispatchEventList(this.eventListeners[EVENTS.SUCCESS], context, ev, new AjaxRequestCompleteEvent(isSuccess, status, xmlHttpRequest, response));\n            this.eventListeners[EVENTS.STATUS_OK] && status === 200 && dispatchEventList(this.eventListeners[EVENTS.STATUS_OK], context, ev, new AjaxRequestCompleteEvent(isSuccess, status, xmlHttpRequest, response));\n            this.eventListeners[EVENTS.STATUS_ACCEPTED] && status === 202 && dispatchEventList(this.eventListeners[EVENTS.STATUS_ACCEPTED], context, ev, new AjaxRequestCompleteEvent(isSuccess, status, xmlHttpRequest, response));\n            this.eventListeners[EVENTS.FAILURE] && status >= 400 && status <= 599 && dispatchEventList(this.eventListeners[EVENTS.FAILURE], context, ev, new AjaxRequestCompleteEvent(isSuccess, status, xmlHttpRequest, response));\n            this.eventListeners[EVENTS.COMPLETE] && dispatchEventList(this.eventListeners[EVENTS.COMPLETE], context, ev, new AjaxRequestCompleteEvent(isSuccess, status, xmlHttpRequest, response));\n            break;\n        }\n    }\n}\n\nfunction onTransportError(context, ev) {\n    const xmlHttpRequest = ev.target || this.xmlHttpRequest;\n    const status = xmlHttpRequest.status; \n    if (this.isTransportErrorDispatched) { return; }\n    this.isTransportErrorDispatched = true;\n    this.eventListeners[EVENTS.FAILURE] && dispatchEventList(this.eventListeners[EVENTS.FAILURE], context, ev, new AjaxRequestCompleteEvent(false, status, xmlHttpRequest, xmlHttpRequest.response));\n}\n\nfunction dispatchEventList(eventList, context, ev, ajaxRequestCompleteEvent) {\n    for (let i = 0; i < eventList.length; i++) {\n        eventList[i].call(context, ev, ajaxRequestCompleteEvent);\n    }\n}\n\nfunction loadProgressEventListeners({progressEventListeners, xmlHttpRequest}) {\n    for (const eventName in progressEventListeners) {\n        const eventList = progressEventListeners[eventName];\n        for (let i = 0; i < eventList.length; i++) {\n            xmlHttpRequest.upload.addEventListener('progress', eventList[i]); //No I18N\n        }\n    }\n}\n\nfunction loadRequestHeadersToXmlHttpRequest({headers, xmlHttpRequest}) {\n    for (const headerName in headers) {\n        const headerValue = headers[headerName];\n        xmlHttpRequest.setRequestHeader(headerName, headerValue);\n    }\n}\n\nfunction getEncodedFormData({payload, formData}) {\n    var encodedFormData = '';\n    if (payload instanceof FormData) {\n        encodedFormData = payload;\n    } else if (payload instanceof URLEncodedFormData) {\n        const urlEncodedFormData = payload;\n        var encodedFormData = '';\n        const keys = urlEncodedFormData.keys();\n\n        for (let i = 0; i < keys.length; i++) {\n            const key = keys[i];\n            var value = urlEncodedFormData.get(key);\n            var encodedFormPair = encodeURIComponent(key).concat('=').concat(encodeURIComponent(value));\n            encodedFormData = (!encodedFormData.length) ? encodedFormPair : encodedFormData.concat('&').concat(encodedFormPair);\n        }\n        return encodedFormData;\n    }\n    for (const param in formData) {\n        var value = formData[param];\n        var encodedFormPair = encodeURIComponent(param).concat('=').concat(encodeURIComponent(value));\n        encodedFormData = (!encodedFormData.length) ? encodedFormPair : encodedFormData.concat('&').concat(encodedFormPair);\n    }\n    return encodedFormData;\n}\n\nexport class URLEncodedFormData {\n    constructor() {\n        this.params = {};\n    }\n\n    append(key, value) {\n        this.params[key] = value; // TODO: Print waring here for duplicate keys and remove them.\n    }\n\n    keys() { // TODO: It should an iterator.\n        return Object.keys(this.params);\n    }\n\n    get(key) {\n        const result = this.params[key];\n        return (result === undefined) ? null : result;\n    }\n}\n\nfunction AjaxRequestCompleteEvent(isSuccess, responseCode, xmlHttpRequest, response) {\n    this.isSuccess = isSuccess\n    this.responseCode = responseCode;\n    this.xmlHttpRequest = xmlHttpRequest;\n    this.response = response;\n    Object.freeze(this);\n}\n","\nexport function getCSRFCookie() {\n\treturn readCookie('ztcookcsr'); // No I18N\n}\n\nfunction readCookie(name) {\n\tconst nameEQ = `${name}=`;\n\tconst cookieAry = document.cookie.split(';');\n\n\tfor (let i = 0; i < cookieAry.length; i++) {\n\t\tconst cookie = cookieAry[i].trim();\n\t\tif (cookie.indexOf(nameEQ) === 0) {\n\t\t\treturn cookie.substring(nameEQ.length);\n\t\t}\n\t}\n}\n","import { TabID } from \"../../../Types\";\nimport { ActiveCell } from \"./ActiveCell\";\n\nexport class UserPresence {\n\n\tprivate map: Map <TabID, ActiveCell>\n\n\tconstructor() {\n\t\tthis.map = new Map()\n\t}\n\n\tgetActiveCell(tabID: TabID) {\n\t\treturn this.map.get(tabID)\n\t}\n\n\tsetActiveCell(tabID: TabID, activeCell: ActiveCell) {\n\t\tthis.map.set(tabID, activeCell)\n\t}\n\n\tremoveActiveCell(tabID: TabID) {\n\t\treturn this.map.delete(tabID)\n\t}\n\n\tforEachActiveCell(callback: (activeCell: ActiveCell, tabID: TabID) => void) {\n\t\t// this.map.forEach(callback) // TODO: Change it to this function instead of below method after TS migration\n\t\tthis.map.forEach((activeCell, tabID) => callback(activeCell, tabID))\n\t}\n\n\tclearAll() {\n\t\tthis.map = new Map();\n\t}\n}\n","\nconst printer = globalThis.console;\n\nlet Pattern = {\n\tlog     : \"background:#3f51b5;color:white;border-radius:2px;padding:1px 5px;\",//No I18N\n\terror   : \"background:#e53935;color:white;border-radius:2px;padding:1px 5px;\",//No I18N\n\tDefault : \"background:grey;color:white;border-radius:2px;padding:1px 5px;\"//No I18N\n};\n\nif(globalThis){\n\tPattern = {\n\t\tlog     : \"color:#3f51b5;font-weight:bold;border:1px solid;border-radius:2px;padding:1px 5px;\",//No I18N\n\t\terror   : \"color:#e53935;font-weight:bold;border:1px solid;border-radius:2px;padding:1px 5px;\",//No I18N\n\t\tDefault : \"color:grey;font-weight:bold;border:1px solid;border-radius:2px;padding:1px 5px;\"//No I18N\n\t}\n}\n\nfunction print(type, context, args) {\n\tconst style  = Pattern[type] || Pattern.Default;\n\tconst log    = printer[type] || printer.log;\n\tlet result = [`%c${context}`, style]; //No I18N\n\tresult     = result.concat(args);\n\tlog(...result);\n}\n\n// function print2(type, context, args) {\n// \tprinter.log(context, ' = ', args[0]);\n// }\n\nclass Logger_ {\n\tlog(context) {\n\t\tconst args = [].slice.call(arguments, 1);\n\t\tprint('log', context, args);//No I18N\n\t}\n\n\terror(context) {\n\t\tconst args = [].slice.call(arguments, 1);\n\t\tprint('error', context, args);//No I18N\n\t}\n\n\twarn(context) {\n\t\tconst args = [].slice.call(arguments, 1);\n\t\tprint('warn', context, args);//No I18N\n\t}\n\n\t// warn2(context) {\n\t// \tconst args = [].slice.call(arguments, 1);\n\t// \tprint2('warn', context, args);//No I18N\n\t// }\n}\n\nexport const Logger = new Logger_();\n\nglobalThis.shouldPrintRemainingQueueActionCountLog = false;\n","import { Logger } from \"../Utility/Logger.js\";\n\nexport const MurphyUtility = {\n\tthrowCustomErrorMurphy(detail, message) {\n\t\tif(typeof murphy === 'undefined') {\n\t\t\tLogger.error(message, detail)\n\t\t} else{\n\t\t\tconst error_details = {};\n\t\t\terror_details.type = \"custom event\"; // No I18N\n\t\t\terror_details.message = JSON.stringify(detail);\n\t\t\tmurphy.addCustomTracking(error_details);\n\t\t\tconst envData ={\n\t\t\t\tpreventClientGrouping:true\n\t\t\t}\n\t\t\tmurphy.error(new Error(message), undefined, envData);// No I18N\n\t\t}\n\t\t\n\t},\n\tsetCustomTags(key, value) {\n\t\tif(typeof murphy === 'undefined') return;\n\t\tglobalThis.Tags[key] = value\n\t\tmurphy.setTags(() => globalThis.Tags, true);\n\t}\n}\n\nexport async function digestValue(value) {\n\tif(!value) return;\n\tconst encoder = new TextEncoder();\n\tconst data = encoder.encode(value);\n\tconst hashBuffer = await crypto.subtle.digest('SHA-256', data);\n\tconst hashArray = Array.from(new Uint8Array(hashBuffer));\n\tconst hashHex = hashArray.map(b => b.toString(16).padStart(2, '0')).join('');\n\treturn hashHex;\n}\n\nexport const LogError = (error, message, errortag) => {\n\tif (typeof murphy === 'undefined') {\n\t\tLogger.error(errortag, message, error)\n\t} else {\n\t\tconst errorMeta   = {}\n\t\terrorMeta.type    = errortag\n\t\terrorMeta.message = JSON.stringify(message)\n\t\tmurphy.addCustomTracking(errorMeta)\n\t\tconst errorData = {\n\t\t\tpreventClientGrouping: true,\n\t\t\tcustomGrouping: {\n\t\t\t\tenable: true,\n\t\t\t\terrorGroupingHash: errortag\n\t\t\t}\n\t\t}\n\t\tmurphy.error(new Error(message), undefined, errorData)\n\t}\n}\n","let pcounter = 0\n\n/**\n * IMPORTANT: Do not remove anything. Only add it before DUMMY entry.\n */\nexport const ProfileConstants = {\n\tOPEN_EDIT_FIELD_DIALOG_AFTER_INSERT: pcounter++,\n\n\t// ADD ENTRIES ABOVE THIS LINE.\n\tDUMMY: pcounter++\n}\n","export class Map {\n\tget(key) {\n\t\treturn this[key];\n\t}\n\n\tset(key, value) {\n\t\treturn this[key] = value;\n\t}\n\n\tdelete(key) {\n\t\tdelete this[key];\n\t}\n\thas(key) {\n\t\treturn this[key] !== undefined;\n\t}\n\tkeys() {\n\t\treturn Object.keys(this);\n\t}\n}\n","export class LinkedRecordID{\n    constructor(tableID, recordID){\n        this.tableID  = tableID\n        this.recordID = recordID\n    }\n    setRecordID(recordID){\n\t\tthis.recordID = recordID\n\t}\n\tgetRecordID(){\n\t\treturn this.recordID\n\t}\n    setTableID(tableID){\n\t\tthis.tableID = tableID\n\t}\n\tgetTableID(){\n\t\treturn this.tableID\n\t}\n\n}","import { LinkedRecordID } from \"./LinkedRecordID.js\";\n\n//TODO: remove the file when all state is moved to new state object\nexport class StateView {\n\tconstructor() {\n\t\tthis.activeRecordID = null\n\t\tthis.linkedRecordIDs =[] //TODO: Add this correspondinly for future\n\t\tthis.checkedRecords = [];\n\t\tthis.allChecked     = false;\n\t\tthis.floatRecords   = [];\n\t}\n\n\tsetActiveRecordID(recordID){\n\t\tthis.activeRecordID = recordID\n\t}\n\n\tgetActiveRecordID(){\n\t\treturn this.activeRecordID\n\t}\n\n    pushLinkedRecordID(tableID,recordID){\n        const linkedRecordID = new LinkedRecordID(tableID,recordID) \n        this.linkedRecordIDs.push(linkedRecordID)\n    }\n\n\tgetLinkedRecordID(){\n\t\treturn this.linkedRecordIDs.pop()\n\t}\n\n\tresetChecked() {\n\t\tthis.checkedRecords = [];\n\t}\n\n\taddToChecked(recordID) {\n\t\treturn\n\t\tthis.checkedRecords.push(recordID);\n\t}\n\n\tisChecked(recordID) {\n\t\tconst index = this.checkedRecords.indexOf(recordID);\n\t\tif (index > -1) {\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tremoveFromChecked(recordID) {\n\t\tconst index = this.checkedRecords.indexOf(recordID);\n\t\tindex != -1 && this.checkedRecords.splice(index, 1);\n\t}\n\n\tsetAllChecked(bool, recordIDs) {\n\t\treturn\n\t\tthis.allChecked = bool;\n\t\tif (bool && recordIDs) {\n\t\t\tthis.checkedRecords = recordIDs;\n\t\t}\n\t}\n\n\tisAllChecked() {\n\t\treturn this.allChecked;\n\t}\n\n\tgetCheckedCount() {\n\t\treturn this.checkedRecords.length;\n\t}\n\n\tsetFloatRecords(records) {\n\t\tthis.floatRecords = records;\n\t}\n\n\tgetFloatRecords() {\n\t\treturn this.floatRecords;\n\t}\n}\n","import { StateView } from \"./StateView.js\";\n\nexport class StateTable {\n\tconstructor() {\n\t\tthis.viewMap           = {};\n\t\tthis.activeViewID      = null;\n\t\tthis.kanbanCreateClick = false;\n\t}\n\n\tsetActiveViewID(viewID) {\n\t\t!this.viewMap[viewID] && (this.viewMap[viewID] = new StateView());\n\t\tthis.activeViewID = viewID;\n\t}\n\n\tgetActiveViewID() {\n\t\treturn this.activeViewID;\n\t}\n\n\tgetViewState(viewID) {\n\t\treturn this.viewMap[viewID];\n\t}\n\n\tsetKanbanCreateClick(bool) {\n\t\tthis.kanbanCreateClick = bool;\n\t}\n\n\tgetKanbanCreateClick() {\n\t\treturn this.kanbanCreateClick;\n\t}\n}\n","import { StateTable } from \"./StateTable.js\";\n\nexport class StateBase {\n\tconstructor() {\n\t\tthis.tableMap = {};\n\t\tthis.activeTableID = null;\n\t\tthis.activeAutomationID = null\n\t\tthis.copyKey;\n\t}\n\n\tsetActiveTableID(tableID) {\n\t\t!this.tableMap[tableID] && (this.tableMap[tableID] = new StateTable());\n\t\tthis.activeTableID = tableID;\n\t}\n\n\tgetActiveTableID() {\n\t\treturn this.activeTableID;\n\t}\n\n\tsetActiveAutomationID(automationID) {\n\t\tthis.activeAutomationID = automationID;\n\t}\n\n\tgetActiveAutomationID() {\n\t\treturn this.activeAutomationID;\n\t}\n\n\tgetTableState(tableID) {\n\t\treturn this.tableMap[tableID];\n\t}\n\n\tgetCopyKey() {\n\t\treturn this.copyKey;\n\t}\n\n\tsetCopyKey(copyKey) {\n\t\tthis.copyKey = copyKey;\n\t}\n}\n","export const GRID_SELECTION_VIEW_TYPE     = Symbol(\"GRID\"); //No I18N\nexport const CALENDER_SELECTION_VIEW_TYPE = Symbol(\"CALENDER\"); //No I18N\nexport const GALLERY_SELECTION_VIEW_TYPE  = Symbol(\"GALLERY\"); //No I18N\nexport const KANBAN_SELECTION_VIEW_TYPE   = Symbol(\"KANBAN\"); //No I18N\nexport const FORM_SELECTION_VIEW_TYPE     = Symbol(\"FORM\"); //No I18N","export class AbstractSelection {\n\tconstructor() {\n\t\tthis.selectionViewType = -1;\n\t}\n}\n","import { CALENDER_SELECTION_VIEW_TYPE } from \"../Constants/SelectionViewType.js\";\nimport { AbstractSelection } from \"./AbstractSelection.js\";\n\nexport class CalenderViewSelection extends AbstractSelection{\n    constructor() {\n        super()\n\t\tthis.selectionViewType = CALENDER_SELECTION_VIEW_TYPE;\n        this.recordID          = null;\n        this.state \t           = null;\n    }\n\n    getState() {\n\t\treturn this.state;\n\t}\n\n    setState(state) {\n\t\tthis.state = state;\n\t}\n}\n","import { GALLERY_SELECTION_VIEW_TYPE } from \"../Constants/SelectionViewType.js\";\nimport { AbstractSelection } from \"./AbstractSelection.js\";\n\nexport class GalleryViewSelection extends AbstractSelection {\n\tconstructor() {\n\t\tsuper()\n\t\tthis.selectionViewType = GALLERY_SELECTION_VIEW_TYPE;\n\t\tthis.recordID          = null;\n\t}\n}\n","import { PANETYPE_FIELD, PANETYPE_NORMAL, PANETYPE_RECORD } from \"../Constants/PaneTypeConstants.js\";\n\nexport class SelectionState {\n\n\tconstructor() {\n\t\tthis.fields = new Set();\n\t\tthis.records = new Set();\n\t\tthis.recordLoaders = new Array();\n\t\tthis.startRecordRange = null;\n\t\tthis.endRecordRange = null;\n\t\tthis.activeCell = [null, null]; // recordID, fieldID\n\t\tthis.type = null;\n\t}\n\tgetFields() {\n\t\treturn Array.from(this.fields);\n\t}\n\tgetRecords() {\n\t\treturn Array.from(this.records);\n\t}\n\taddField(fieldID) {\n\t\tthis.fields.add(fieldID);\n\t}\n\taddRecordLoader(recordID){\n\t\tthis.recordLoaders.push(recordID);\n\t}\n\taddRecord(recordID) {\n\t\tthis.records.add(recordID);\n\t}\n\tremoveRecordLoader(recordID) {\n\t\tconst index = this.recordLoaders.indexOf(recordID);\n\t\t(index !=-1) && this.recordLoaders.splice(index, 1);\n\t\t\n\t}\n\tremoveRecord(recordID) {\n\t\tthis.records.delete(recordID);\n\t}\n\tisRecordLoad(recordID){\n\t\tconst index = this.recordLoaders.indexOf(recordID);\n\t\treturn (index !=-1);\n\t}\n\tsetStartRecordRange(recordID){\n\t\tthis.startRecordRange = recordID;\n\t}\n\tgetStartRecordRange(){\n\t\treturn this.startRecordRange;\n\t}\n\tsetEndRecordRange(recordID){\n\t\tthis.endRecordRange = recordID;\n\t}\n\tgetEndRecordRange(){\n\t\treturn this.endRecordRange;\n\t}\n\tsetType(type) {\n\t\tthis.type = type;\n\t}\n\tisSingleCellSelect() {\n\t\treturn (this.fields.size == 1) && (this.records.size == 1);\n\t}\n\tisSingleRecordSelect() {\n\t\treturn (this.records.size == 1) && (this.fields.size != 1);\n\t}\n\tgetType() {\n\t\treturn this.type;\n\t}\n\tsetActiveCell(recordID, fieldID) {\n\t\tthis.activeCell[0] = recordID;\n\t\tthis.activeCell[1] = fieldID;\n\t}\n\tgetActiveCell() {\n\t\treturn this.activeCell;\n\t}\n\tisRecordSelected(recordID) {\n\t\treturn (this.type === PANETYPE_RECORD) && this.records.has(recordID);\n\t}\n\tclear() {\n\t\tthis.clearRangeSelection();\n\t\tthis.setType(null);\n\t}\n\tclearRangeSelection() {\n\t\tthis.fields.clear();\n\t\tthis.records.clear();\n\t}\n\tclearActiveCell() {\n\t\tthis.activeCell[0] = this.activeCell[1] = null;\n\t}\n\tclone() {\n\t\tvar selectionState = new SelectionState();\n\t\tselectionState.records = new Set(this.records);\n\t\tselectionState.fields = new Set(this.fields);\n\t\tselectionState.activeCell[0] = this.activeCell[0];\n\t\tselectionState.activeCell[1] = this.activeCell[1];\n\t\tselectionState.type = this.type;\n\n\t\treturn selectionState;\n\t}\n\thasValidActiveCell() {\n\t\tif (!isNaN(this.activeCell[0]) && !isNaN(this.activeCell[1])) {\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n}\n\n\nexport function RepaintSelectionState() {\n\n\tvar selectionState \t\t\t= grid.SelectionState.clone()\n\tvar NavigationInteracter \t= grid.NavigationInteracter\n\tvar baseID \t\t\t\t\t= grid.getInteracter().getBaseID()\n\tvar tableID \t\t\t\t= grid.getInteracter().getTableID()\n\tvar viewID \t\t\t\t\t= grid.getInteracter().getViewID()\n\tvar recordCount \t\t\t= getRecordCount(baseID, tableID, viewID);\n\n\tvar currentCellSelection \t\t\t= NavigationInteracter.getCellSelection();\n\tvar currentCellSelectionStartRow \t= currentCellSelection.startRow > recordCount ? recordCount - 1 : currentCellSelection.startRow;\n\tvar currentCellSelectionStartCol \t= currentCellSelection.startCol\n\tvar currentCellSelectionEndRow \t\t= currentCellSelection.endRow\n\tvar currentCellSelectionEndCol \t\t= currentCellSelection.endCol\n\n\tvar type = selectionState.getType();\n\tgrid.clearSelectionState();\n\tNavigationInteracter.RemoveAllRangeSelection();\n\tNavigationInteracter.RemoveCellSelection(NavigationInteracter.getActiveID());\n\n\tif(recordCount === 0) {\n\t\tif(grid.getInteracter().getExtraRow() !== 0) {\n\t\t\tselectionState.addRecord(-1);\n\t\t} else {\n\t\t\treturn\n\t\t}\n\t} \n\n\tswitch (type) {\n\t\tcase PANETYPE_FIELD:\n\t\t\t// console.log('PANETYPE_FIELD', PANETYPE_FIELD)\n\t\t\tvar fieldIDs = selectionState.getFields()\n\n\t\t\tvar leastRecordIndex = 0\n\t\t\tvar leastFieldIndex = Infinity\n\t\t\tvar placedAtleastOneSelection = false\n\n\t\t\tfor (var i = 0; i < fieldIDs.length; i++) {\n\t\t\t\tvar fieldID = fieldIDs[i]\n\t\t\t\tvar fieldIndex = getFieldIndex(baseID, tableID, viewID, fieldID)\n\n\t\t\t\tif (fieldIndex !== undefined) {\n\t\t\t\t\tvar rangeID = i\n\t\t\t\t\tvar startRow = 0\n\t\t\t\t\tvar endRow = 0\n\t\t\t\t\tvar startCol = fieldIndex\n\t\t\t\t\tvar endCol = fieldIndex\n\n\t\t\t\t\tNavigationInteracter.PlaceRangeSelection(rangeID, startRow, startCol, endRow, endCol, type)\n\t\t\t\t\tplacedAtleastOneSelection = true\n\n\t\t\t\t\tleastFieldIndex = Math.min(leastFieldIndex, startCol)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (leastFieldIndex === Infinity) {\n\t\t\t\tleastFieldIndex = 0\n\t\t\t}\n\n\t\t\tvar activeCellRecordID = selectionState.getActiveCell()[0]\n\t\t\tvar activeCellFieldID = selectionState.getActiveCell()[1]\n\n\t\t\tvar activeCellRecordIndex = null\n\n\t\t\tif (activeCellRecordID === -1) { // If the selection was on dummy record.\n\t\t\t\tactiveCellRecordIndex = getRecordCount(baseID, tableID, viewID)\n\t\t\t} else if (activeCellRecordID === null) {\n\t\t\t\tactiveCellRecordIndex = 0\n\t\t\t} else {\n\t\t\t\tactiveCellRecordIndex = getRecordIndex(baseID, tableID, viewID, activeCellRecordID)\n\t\t\t}\n\n\t\t\tvar activeCellFieldIndex = getFieldIndex(baseID, tableID, viewID, activeCellFieldID)\n\n\t\t\t// console.log(leastRecordIndex, leastFieldIndex, activeCellRecordIndex, activeCellFieldIndex, activeCellRecordID, activeCellFieldID)\n\n\t\t\tif (activeCellRecordIndex === undefined) {\n\t\t\t\tactiveCellRecordIndex = leastRecordIndex\n\t\t\t}\n\n\t\t\tif (activeCellFieldIndex === undefined) {\n\t\t\t\tactiveCellFieldIndex = leastFieldIndex\n\t\t\t}\n\n\n\t\t\tif (!placedAtleastOneSelection) {\n\t\t\t\tNavigationInteracter.PlaceRangeSelection(0, currentCellSelectionStartRow, currentCellSelectionStartCol, currentCellSelectionEndRow, currentCellSelectionEndCol, PANETYPE_NORMAL)\n\t\t\t\tNavigationInteracter.PlaceCellSelection(0, currentCellSelectionStartRow, currentCellSelectionStartCol)\n\t\t\t} else {\n\t\t\t\tNavigationInteracter.PlaceCellSelection(0, activeCellRecordIndex, activeCellFieldIndex)\n\t\t\t}\n\n\t\t\tbreak\n\n\t\tcase PANETYPE_RECORD:\n\t\t\t// console.log('PANETYPE_RECORD', PANETYPE_RECORD)\n\t\t\tvar recordIDs = selectionState.getRecords()\n\n\t\t\tvar leastRecordIndex = Infinity\n\t\t\tvar leastFieldIndex = 0\n\t\t\tvar placedAtleastOneSelection = false\n\n\t\t\tfor (var i = 0; i < recordIDs.length; i++) {\n\t\t\t\tvar recordID = recordIDs[i]\n\t\t\t\tvar recordIndex = getRecordIndex(baseID, tableID, viewID, recordID)\n\t\t\t\t// console.log('recordID', recordID, 'recordIndex', recordIndex)\n\n\t\t\t\tif (recordIndex !== undefined) {\n\t\t\t\t\tvar rangeID = i\n\t\t\t\t\tvar startRow = recordIndex\n\t\t\t\t\tvar endRow = recordIndex\n\t\t\t\t\tvar startCol = 0\n\t\t\t\t\tvar endCol = 0\n\n\t\t\t\t\tNavigationInteracter.PlaceRangeSelection(rangeID, startRow, startCol, endRow, endCol, type)\n\t\t\t\t\tplacedAtleastOneSelection = true\n\n\t\t\t\t\tleastRecordIndex = Math.min(leastRecordIndex, startRow)\n\t\t\t\t\t// } else {\n\t\t\t\t\t// console.log('record might be deleted')\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tif (leastRecordIndex === Infinity) {\n\t\t\t\tleastRecordIndex = 0\n\t\t\t}\n\n\t\t\tvar activeCellRecordID = selectionState.getActiveCell()[0]\n\t\t\tvar activeCellFieldID = selectionState.getActiveCell()[1]\n\n\t\t\tvar activeCellRecordIndex = getRecordIndex(baseID, tableID, viewID, activeCellRecordID)\n\t\t\tvar activeCellFieldIndex = getFieldIndex(baseID, tableID, viewID, activeCellFieldID)\n\n\t\t\t// console.log(leastRecordIndex, leastFieldIndex, activeCellRecordIndex, activeCellFieldIndex, activeCellRecordID, activeCellFieldID)\n\n\t\t\tif (activeCellRecordIndex === undefined) {\n\t\t\t\tactiveCellRecordIndex = leastRecordIndex\n\t\t\t}\n\n\t\t\tif (activeCellFieldIndex === undefined) {\n\t\t\t\tactiveCellFieldIndex = leastFieldIndex\n\t\t\t}\n\n\n\t\t\tif (!placedAtleastOneSelection) {\n\t\t\t\tNavigationInteracter.PlaceRangeSelection(0, currentCellSelectionStartRow, currentCellSelectionStartCol, currentCellSelectionEndRow, currentCellSelectionEndCol, PANETYPE_NORMAL)\n\t\t\t\tNavigationInteracter.PlaceCellSelection(0, currentCellSelectionStartRow, currentCellSelectionStartCol)\n\t\t\t} else {\n\t\t\t\tNavigationInteracter.PlaceCellSelection(0, activeCellRecordIndex, activeCellFieldIndex)\n\t\t\t}\n\n\t\t\tbreak\n\n\t\tcase PANETYPE_NORMAL:\n\t\t\t// console.log('PANETYPE_NORMAL', PANETYPE_NORMAL)\n\t\t\tvar recordIDs = selectionState.getRecords()\n\t\t\tvar fieldIDs = selectionState.getFields()\n\n\t\t\tvar leastRecordIndex = Infinity\n\t\t\tvar leastFieldIndex = Infinity\n\t\t\tvar placedAtleastOneSelection = false\n\n\t\t\tvar minFieldIndex = getFieldIndex(baseID, tableID, viewID, fieldIDs[0])\n\t\t\tvar maxFieldIndex = minFieldIndex\n\t\t\tvar minRecordIndex = getRecordIndex(baseID, tableID, viewID, recordIDs[0])\n\t\t\tvar maxRecordIndex = minRecordIndex\n\n\t\t\tif (minFieldIndex !== undefined && minRecordIndex !== undefined) {\n\t\t\t\tfor (var i = 1; i < recordIDs.length; i++) {\n\t\t\t\t\tvar recordID = recordIDs[i]\n\t\t\t\t\tvar recordIndex = getRecordIndex(baseID, tableID, viewID, recordID)\n\t\t\t\t\tif (recordIndex > maxRecordIndex) {\n\t\t\t\t\t\tmaxRecordIndex = recordIndex\n\t\t\t\t\t}\n\t\t\t\t\tif (recordIndex < minRecordIndex) {\n\t\t\t\t\t\tminRecordIndex = recordIndex\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tfor (var i = 1; i < fieldIDs.length; i++) {\n\t\t\t\t\tvar fieldID = fieldIDs[i]\n\t\t\t\t\tvar fieldIndex = getFieldIndex(baseID, tableID, viewID, fieldID)\n\t\t\t\t\tif (fieldIndex > maxFieldIndex) {\n\t\t\t\t\t\tmaxFieldIndex = fieldIndex\n\t\t\t\t\t}\n\t\t\t\t\tif (fieldIndex < minFieldIndex) {\n\t\t\t\t\t\tminFieldIndex = fieldIndex\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tvar rangeID = 0\n\t\t\t\tvar startRow = minRecordIndex\n\t\t\t\tvar startCol = minFieldIndex\n\t\t\t\tvar endRow = maxRecordIndex\n\t\t\t\tvar endCol = maxFieldIndex\n\n\t\t\t\tNavigationInteracter.PlaceRangeSelection(rangeID, startRow, startCol, endRow, endCol, type)\n\t\t\t\tplacedAtleastOneSelection = true\n\n\t\t\t\tleastRecordIndex = Math.min(leastRecordIndex, startRow)\n\t\t\t\tleastFieldIndex = Math.min(leastFieldIndex, startCol)\n\n\t\t\t\t// } else {\n\t\t\t\t// console.log('Record or field might have been deleted')\n\t\t\t}\n\n\t\t\tif (leastRecordIndex === Infinity) {\n\t\t\t\tleastRecordIndex = 0\n\t\t\t}\n\n\t\t\tif (leastFieldIndex === Infinity) {\n\t\t\t\tleastFieldIndex = 0\n\t\t\t}\n\n\t\t\tvar activeCellRecordID = selectionState.getActiveCell()[0]\n\t\t\tvar activeCellFieldID = selectionState.getActiveCell()[1]\n\n\t\t\tvar activeCellRecordIndex = null\n\n\t\t\tif (activeCellRecordID === -1) {\n\t\t\t\t//If empty record doesnt exist, selection should be placed in last record so deducted one \n\t\t\t\tconst emptyRowCount = (grid.interacter.getExtraRow() === 0 ? 1 : 0);\n\t\t\t\tactiveCellRecordIndex = getRecordCount(baseID, tableID, viewID) - emptyRowCount;\n\t\t\t} else if (activeCellRecordID === null) {\n\t\t\t\tactiveCellRecordIndex = 0\n\t\t\t} else {\n\t\t\t\tactiveCellRecordIndex = getRecordIndex(baseID, tableID, viewID, activeCellRecordID)\n\t\t\t}\n\n\n\t\t\tvar activeCellFieldIndex = getFieldIndex(baseID, tableID, viewID, activeCellFieldID)\n\n\t\t\t// console.log(leastRecordIndex, leastFieldIndex, activeCellRecordIndex, activeCellFieldIndex, activeCellRecordID, activeCellFieldID)\n\n\t\t\tif (activeCellRecordIndex === undefined) {\n\t\t\t\tactiveCellRecordIndex = leastRecordIndex\n\t\t\t}\n\n\t\t\tif (activeCellFieldIndex === undefined) {\n\t\t\t\tactiveCellFieldIndex = leastFieldIndex\n\t\t\t}\n\n\t\t\tNavigationInteracter.PlaceCellSelection(0, activeCellRecordIndex, activeCellFieldIndex)\n\n\t\t\tif (!placedAtleastOneSelection) {\n\t\t\t\tNavigationInteracter.PlaceRangeSelection(0, 0, 0, 0, 0, PANETYPE_NORMAL)\n\t\t\t}\n\n\t\t\tbreak\n\n\t\tdefault:\n\t}\n}\n\nfunction getRecordCount(baseID, tableID, viewID) {\n\tvar base = Table.Data.Workspace.get(baseID);\n\tvar table = base.getTable(tableID);\n\tvar view = table.getView(viewID);\n\tvar recordAxis = view.getRecordAxis();\n\treturn recordAxis.count;\n}\n\nfunction getRecordIndex(baseID, tableID, viewID, recordID) {\n\tvar recordCount = getRecordCount(baseID, tableID, viewID);\n\tif (recordID === -1 || recordCount === 0) {\n\t\treturn recordCount;\n\t}\n\tvar base = Table.Data.Workspace.get(baseID);\n\tvar table = base.getTable(tableID);\n\tvar view = table.getView(viewID);\n\tvar recordAxis = view.getRecordAxis();\n\treturn recordAxis.findIndexById(recordID);\n}\n\nfunction getFieldIndex(baseID, tableID, viewID, fieldID) {\n\tvar base = Table.Data.Workspace.get(baseID);\n\tvar table = base.getTable(tableID);\n\tvar view = table.getView(viewID);\n\tvar fieldAxis = view.getFieldAxis();\n\treturn fieldAxis.findIndexById(fieldID);\n}\n\n// export const SelectionState = new SelectionState_();\nglobalThis.RepaintSelectionState = RepaintSelectionState; // just for testing, after testing will be removed","import { GRID_SELECTION_VIEW_TYPE } from \"../Constants/SelectionViewType.js\";\nimport { SelectionState } from \"../Selection/SelectionState.js\";\nimport { AbstractSelection } from \"./AbstractSelection.js\";\n\nexport class GridViewSelection extends AbstractSelection{\n\tconstructor() {\n\t\tsuper();\n\t\tthis.selectionViewType = GRID_SELECTION_VIEW_TYPE;\n\t\tthis.activeCell        = new CellSelection();       // Instance of CellSelection\n\t\tthis.selectedRanges    = new RangeMap();     // Instance of RangeSelection\n\t\tthis.selectionState    = new SelectionState(); //TODO: Need to check the flow\n\t}\n\n\tgetCellSelection() {\n\t\treturn this.activeCell;\n\t}\n\n\t// getRangesSelection: function() {\n\t// \treturn this.selectedRanges;\n\t// },\n\tgetSelectionState() {\n\t\treturn this.selectionState;\n\t}\n\n\tgetSelectionViewType() {\n\t\treturn this.selectionViewType;\n\t}\n}\n\nclass RangeMap {\n\tconstructor() {\n\t\tthis.map      = new Map();\n\t\tthis.iterator = null;\n\t}\n\n\tput(id, range) {\n\t\tthis.map.set(id, range);\n\t}\n\n\tget(id) {\n\t\treturn this.map.get(id);\n\t}\n\n\tremove(id) {\n\t\treturn this.map.delete(id);\n\t}\n\n\tremoveAll() {\n\t\tthis.map.clear();\n\t}\n\n\tsize() {\n\t\treturn this.map.size;\n\t}\n\n\tcontainsKey(key) {\n\t\treturn this.map.has(key);\n\t}\n\n\tgetKeyfromIndex(index) {\n\t\treturn Array.from(this.map.keys())[index];\n\t}\n\n\tfirstElementValue() {\n\t\tthis.iterator = this.map.entries();\n\t\treturn this.iterator.next().value[0];\n\t}\n\n\tnextElementValue() {\n\t\treturn this.iterator.next().value[0];\n\t}\n\n\tprevElement(id) {\n\t\tlet pre         = null;\n\t\tconst iterator1 = this.map.entries();\n\t\tlet cur         = iterator1.next().value;\n\n\t\tfor (let i = 1; i < this.size(); i++) {\n\n\t\t\tif (id == cur[0]) {\n\t\t\t\treturn pre;\n\t\t\t}\n\t\t\tpre = cur;\n\t\t\tcur = iterator1.next().value;\n\t\t}\n\t\treturn pre;\n\t}\n\n\tAllElement() {\n\t\tconst array = [];\n\t\tconst iterator1 = this.map.entries();\n\n\t\tfor (let i = 0; i < this.size(); i++) {\n\t\t\tarray.push(iterator1.next().value[0]);\n\t\t}\n\n\t\treturn array;\n\t}\n}\n\nclass CellSelection {\n\tconstructor() {\n\t\tthis.id = 100;\n\t\tthis.range = {\n\t\t\tstartRow: 0,\n\t\t\tstartCol: 0,\n\t\t\tendRow: 0,\n\t\t\tendCol: 0\n\t\t};\n\t}\n}\n","import { KANBAN_SELECTION_VIEW_TYPE } from \"../Constants/SelectionViewType.js\";\nimport { AbstractSelection } from \"./AbstractSelection.js\";\n\nexport class KanbanState extends AbstractSelection{\n\tconstructor() {\n\t\tsuper()\n\t\tthis.selectionViewType        = KANBAN_SELECTION_VIEW_TYPE;\n\t\tthis.stackCollapseInfo        = new Map();\n\t\tthis.recordID                 = null;\n\t\tthis.stackContainerScrollLeft = 0;\n\t}\n\n\tgetStackContainerScrollLeft() {\n\t\treturn this.stackContainerScrollLeft;\n\t}\n\n\tsetStackContainerScrollLeft(left) {\n\t\tthis.stackContainerScrollLeft = left;\n\t}\n\n\tcollapseStack(stackID, isCollapse) {\n\t\tthis.stackCollapseInfo[stackID] = isCollapse;\n\t}\n\n\tisStackCollapsed(stackID) {\n\t\treturn this.stackCollapseInfo[stackID] || false;\n\t}\n\n\tdeleteStack(stackID) {\n\t\tthis.stackCollapseInfo.delete(stackID);\n\t}\n\n\tgetSelectionViewType() {\n\t\treturn this.selectionViewType;\n\t}\n}\n","import { CALENDER, GALLERY, GRID, KANBAN } from \"../Constants/ViewTypes.js\";\nimport { CalenderViewSelection } from \"./CalenderViewSelection.js\";\nimport { GalleryViewSelection } from \"./GalleryViewSelection.js\";\nimport { GridViewSelection } from \"./GridViewSelection.js\";\nimport { KanbanState } from \"./KanbanState.js\";\n\nfunction getSelection(viewType) {\n\tswitch(viewType) {\n\t\tcase GRID:\n\t\t\treturn new GridViewSelection();\n\t\tcase GALLERY:\n\t\t\treturn new GalleryViewSelection();\n\t\tcase KANBAN:\n\t\t\treturn new KanbanState();\n\t\tcase CALENDER:\n\t\t\treturn new CalenderViewSelection();\n\t\t// case VIEW_TYPES.FORM:\n\t\t// \treturn new FormViewSelection();\n\t\tdefault:\n\t\t\tthrow 'Selection not available for specified view type'; //NO I18N \n\t}\n}\n\nexport class ViewState {\n\tconstructor(baseID, tableID, viewID, viewType) {\n\t\tthis.baseID    = baseID;\n\t\tthis.tableID   = tableID;\n\t\tthis.viewID    = viewID;\n\t\tthis.selection = getSelection(viewType);\n\t}\n\n\tgetSelection() {\n\t\treturn this.selection;\n\t}\n\n\tgetBaseID() {\n\t\treturn this.baseID;\n\t}\n\n\tgetTableID() {\n\t\treturn this.tableID;\n\t}\n\n\tgetViewID() {\n\t\treturn this.viewID;\n\t}\n}\n","import { Map } from \"../DataStore/DS/DSMap.js\";\nimport { ViewState } from \"./ViewState.js\";\n\nconst KEY_DELIMITER = '-';\n\nexport class WorkspaceState {\n\tconstructor() {\n\t\tthis.viewMap         = new Map();  //Map<hashed_view_id, ViewState>\n\t\tthis.activeViewState = null;       // When the view changes the selection for the active view will be updated here\n\t}\n\n\tcreateViewState(baseID, tableID, viewID, viewType) {\n\t\tconst key       = getViewStateKey(baseID, tableID, viewID);\n\t\tconst viewState = new ViewState(baseID, tableID, viewID, viewType);\n\t\tthis.viewMap.set(key, viewState);\n\t\treturn viewState;\n\t}\n\n\tcreateViewSelection(baseID, tableID, viewID, viewType) {\n\t\tconst key        = getViewStateKey(baseID, tableID, viewID);\n\t\tlet viewState    = this.viewMap.get(key);\n\t\tviewState || (viewState = this.createViewState(baseID, tableID, viewID, viewType));\n\t\treturn viewState.getSelection();\n\t}\n\n\tgetActiveViewSelection() {\n\t\treturn this.activeViewState.getSelection();\n\t}\n\n\tgetViewSelection(baseID, tableID, viewID) {\n\t\tconst key     = getViewStateKey(baseID, tableID, viewID);\n\t\tlet viewState = this.viewMap.get(key);\n\t\treturn viewState ? viewState.getSelection() : null;\n\t}\n\n\tsetActiveView(baseID, tableID, viewID) {\n\t\tconst key       = getViewStateKey(baseID, tableID, viewID);\n\t\tconst viewState = this.viewMap.get(key);\n\t\tthis.activeViewState = viewState;\n\t}\n\n\tforEachViewState(callback) {\n\t\tconst keys = this.viewMap.keys();\n\t\tfor(let i = 0; i < keys.length; i++) {\n\t\t\tconst viewState = this.viewMap.get(keys[i]);\n\t\t\tcallback(viewState);\n\t\t}\n\t}\n}\n\nexport const getViewStateKey = (baseID, tableID, viewID) => {\n\treturn baseID + KEY_DELIMITER + tableID + KEY_DELIMITER + viewID;\n}\n","import { Map } from \"../DataStore/DS/DSMap.js\";\nimport { MODULE_PORTAL, PORTAL_OWNER } from \"../Dom/Top/BaseBar/BaseShare/ShareBaseConstant.js\";\nimport { StateBase } from \"./StateBase.js\";\nimport { WorkspaceState } from \"./WorkspaceState.js\";\n\nexport const tempLayoutGridID \t\t= globalThis.tempLayoutGridID = 'Grid1'; // TODO: remove once the layout ID is generated. //NO I18N \nglobalThis.tempLayoutKanbanID   = 'Kanban1';  //NO I18N \n// TODO: remove once the layout ID is generated.\nconst tempLayoutCalendarID    = globalThis.tempLayoutCalendarID      = 'Calendar1';  // TODO: remove once the layout ID is generated.  //No I18N\n\n/* Singleton class */\nclass State_{\n\tconstructor() {\n\t\tthis.map \t\t\t= new Map(); //Map<LayoutID, WorkspaceState>\n\t\tthis.baseMap \t\t= {};\n\t\tthis.portalID       = null\n\t\tthis.portalName     = '';\n\t\tthis.activeBaseID \t= null;\n\t\tthis.tabFocused     = true;\n\t\tthis.isZohoOnePortal= false;\n\t\tthis.addUserRedirectionURL = null;\n\t\tthis.subscriptionRedirectionURL = null;\n\t}\n\n\tsetActiveView(layoutID, baseID, tableID, viewID) {\n\t\tthis.map.get(layoutID).setActiveView(baseID, tableID, viewID);\n\t\t// this.map.get(tempLayoutGridID).setActiveView(baseID, tableID, viewID);\n\t}\n\n\tgetActiveViewSelection(layoutID) {\n\t\treturn this.map.get(layoutID).getActiveViewSelection();\n\t\t// return this.map.get(tempLayoutGridID).getActiveViewSelection();\n\t}\n\n\tgetViewSelection(layoutID, baseID, tableID, viewID) {\n\t\tconst workspaceState = this.map.get(layoutID);\n\t\treturn (workspaceState) ? workspaceState.getViewSelection(baseID, tableID, viewID) : null;\n\t}\n\n\tcreateViewSelection(layoutID, baseID, tableID, viewID, viewType) {\n\t\tlet workspaceState = this.map.get(layoutID);\n\t\tif(!workspaceState) {\n\t\t\tworkspaceState = new WorkspaceState();\n\t\t\tthis.map.set(layoutID, workspaceState);\n\t\t}\n\t\treturn workspaceState.createViewSelection(baseID, tableID, viewID, viewType);\n\t}\n\n\tgetBaseState(baseID) {\n\t\treturn this.baseMap[baseID];\n\t}\n\n\tsetActiveBaseID(baseID) {\n\t\tthis.activeBaseID = baseID;\n\t}\n\n\tsetBaseID(baseID) {\n\t\t!this.baseMap[baseID] &&  (this.baseMap[baseID] = new StateBase());\n\t}\n\n\tsetIsZohoOnePortal(bool) {\n\t\tthis.isZohoOnePortal = bool;\n\t}\n\n\tgetIsZohoOnePortal() {\n\t\treturn this.isZohoOnePortal;\n\t}\n\n\tgetAddUserRedirectionURL() {\n\t\treturn this.addUserRedirectionURL;\n\t}\n\n\tsetAddUserRedirectionURL(url) {\n\t\tthis.addUserRedirectionURL = url;\n\t}\n\n\tgetZohoOneSubscriptionRedirectionURL() {\n\t\treturn this.subscriptionRedirectionURL;\n\t}\n\t\n\tsetZohoOneSubscriptionRedirectionURL(url) {\n\t\tthis.subscriptionRedirectionURL = url;\n\t}\n\n\tsetPortalID(portalID) {\n\t\tthis.portalID = portalID\n\t}\n\n\tgetPortalID() {\n\t\treturn this.portalID\n\t}\n\tsetPortalName(name){\n\t\tthis.portalName = name;\n\t}\n\tgetPortalName(){\n\t\treturn this.portalName;\n\t}\n\tgetIsPortalOwner() {\n\t\tconst base       = Table.Data.Workspace.get(this.activeBaseID)\n\t\tconst moduleType = base.getModeModuleType()\n\t\tconst mode       = base.getMode()\n\n\t\treturn moduleType === MODULE_PORTAL && mode === PORTAL_OWNER\n\t}\n\n\tgetActiveBaseID() {\n\t\treturn this.activeBaseID;\n\t}\n\n\tforEachViewState(callback) {\n\t\tconst layoutIDs = this.map.keys();\n\t\tfor(let i = 0; i < layoutIDs.length; i++) {\n\t\t\tconst workspace = this.map.get(layoutIDs[i]);\n\t\t\tworkspace.forEachViewState(callback);\n\n\t\t}\n\t}\n\n\tfocusTab() {\n\t\tthis.tabFocused = true;\n\t}\n\n\tblurTab() {\n\t\tthis.tabFocused = false;\n\t}\n\n\tisTabFocused() {\n\t\treturn this.tabFocused;\n\t}\n\n\treset() {\n\t\tthis.map = new Map();\n\t\tthis.baseMap = {};\n\t\tthis.portalID = null;\n\t\tthis.portalName = '';\n\t\tthis.activeBaseID = null;\n\t\tthis.tabFocused = true;\n\t\tthis.isZohoOnePortal = false;\n\t}\n}\n\nexport const State = new State_();\n\nglobalThis.Table || (globalThis.Table = {})\nglobalThis.Table.State = State;\n","const STORAGE_KEY = \"com.zoho.tables.userprofile\" //No I18N\nconst storage     = localStorage\n\nexport class UserProfileStorage {\n\n\tconstructor() {\n\t\tthis.data = storage.getItem(STORAGE_KEY) ? JSON.parse(storage.getItem(STORAGE_KEY)) : {}\n\t}\n\n\tset(key, value) {\n\t\tthis.data[key] = value\n\t\tstorage.setItem(STORAGE_KEY, JSON.stringify(this.data))\n\t}\n\n\tget(key) {\n\t\treturn this.data[key]\n\t}\n\t\n\tclear() {\n\t\tthis.data = {}\n\t\tstorage.clear()\n\t}\n}\n","\n// const Table = globalThis.Table;\n// const Classes = Table.Classes;\n// const Constants = Table.Constants;\n// const UserProfileStorage = Classes.UserProfileStorage;\n\nimport { UserPresence } from \"./DataStore/DS/Storage/UserPresence\";\nimport { MurphyUtility } from \"./DataStore/MurphyUtility.js\";\nimport { ProfileConstants } from \"./ProfileConstants.js\";\nimport { State } from \"./State/LayoutState.js\";\nimport { UserProfileStorage } from \"./UserProfileStorage.js\";\n\nconst rootColors = [\"5883DA\", \"E5575B\", \"A43FBC\", \"5B9C27\", \"11A9CC\", \"F7900C\", \"BD4F90\", \"2B799C\", \"AC3135\", \"5F5F5F\", \"0D6856\", \"9B8C2B\", \"3FD0B4\", \"F2B405\", \"4B10AC\", \"65765A\", \"9258F1\", \"795011\", \"584A71\", \"EF3964\"]; //NO I18N\n\nclass TabProfile_ {\n\tconstructor() {\n\t\tthis.ID                  = null;\n\t\tthis.IDUpdateSubscribers = [];\n\t\tthis.queueRemainingCount = 0;\n\t\tthis.isTabInFocus        = true;\n\t\t// this.baseIDs = [resourceID]; // TODO: Change it\n\n\t\t// User Presence related data\n\t\tthis.tabToColorCache       = new Map()                                             //<tabID, color>\n\t\tthis.userPresenceData      = UserPresence && new UserPresence()\n\t\tthis._isGridViewActive     = false\n\t\tthis.nextColorIndex        = 0\n\t\tthis.userProfileStorage    = new UserProfileStorage();\n\t\tthis.oneMinTimer\t\t   = null;\n\t\tthis.lockedThroughTimer\t   = false;\n\n\t\tinitUserProfile.call(this)\n\t}\n\n\tgetLockedThroughTimer() {\n\t\treturn this.lockedThroughTimer;\n\t}\n\n\tsetLockedthroughTimer(bool) {\n\t\tthis.lockedThroughTimer = bool;\n\t}\n\n\taddTimer(callback) {\n\t\tclearTimeout(this.oneMinTimer);\n\t\tthis.oneMinTimer = setTimeout(() => {\n\t\t\tcallback && callback()\n\t\t}, 60000)\n\t}\n\n\tclearTimer() {\n\t\tclearTimeout(this.oneMinTimer);\n\t}\n\n\tsetID(ID) {\n\t\tMurphyUtility.setCustomTags('tabid', ID);\n\t\t      this.ID     = ID;\n\t\tconst event       = new TabProfileIDUpdateEvent(this, this.ID);\n\t\tconst subscribers = this.IDUpdateSubscribers;\n\t\tfor (let i = 0; i < subscribers.length; i++) {\n\t\t\tsubscribers[i](event);\n\t\t}\n\t}\n\n\tupdateID(ID) {\n\t\tthis.ID     = ID;\n\t}\n\n\tclearTabForReregister() {\n\t\tthis.userPresenceData      = UserPresence && new UserPresence()\n\t\tthis.tabToColorCache       = new Map()    \n\t\tthis.nextColorIndex        = 0\n\t}\n\n\tgetID() {\n\t\treturn this.ID;\n\t}\n\n\tsetQueueRemainingCount(count) {\n\t\tthis.queueRemainingCount = count;\n\t}\n\n\tgetQueueRemainingCount() {\n\t\treturn this.queueRemainingCount;\n\t}\n\n\tsubscribeToIDUpdate(callback) {\n\t\tthis.IDUpdateSubscribers.push(callback);\n\t}\n\n\tonQueryFromWorker(ev) {\n\t\tconst message = ev.message;\n\t\tswitch (message.type) {\n\t\t\tcase 'getActiveViewQuery':{\n\t\t\t\tconst options      = message.options;\n\t\t\t\tconst baseID       = options.BASE_ID;\n\t\t\t\tconst tableID      = options.TABLE_ID;\n\t\t\t\tconst activeViewID = State.getBaseState(baseID).getTableState(tableID).getActiveViewID();\n\t\t\t\treturn activeViewID;\n\t\t\t}\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tgetColorForTab(tabID) {\n\t\tlet color = this.tabToColorCache.get(tabID);\n\t\tif (!color) {\n\t\t\t// color = '#' + Math.floor(Math.random()*0xFFFFFF).toString(16); // Generates a random color\n\t\t\tcolor = this.generateRandomColor()\n\t\t\tthis.tabToColorCache.set(tabID, color)\n\t\t}\n\t\treturn color\n\t}\n\n\tgetUserPresenceData() {\n\t\treturn this.userPresenceData\n\t}\n\n\tsetGridView(bool) {\n\t\tthis._isGridViewActive = bool\n\t}\n\n\tisGridViewActive() {\n\t\treturn this._isGridViewActive\n\t}\n\n\tgenerateRandomColor() {\n\t\treturn `#${rootColors[this.nextColorIndex++ % rootColors.length]}`;\n\t}\n\n\tgetUserProfileValue(key) {\n\t\treturn this.userProfileStorage.get(key)\n\t}\n\n\tsetUserProfileValue(key, value) {\n\t\treturn this.userProfileStorage.set(key, value)\n\t}\n}\n\nfunction initUserProfile() {\n\tconst userProfileStorage = this.userProfileStorage\n\tsetDefaultUserProfileValueIfUndefined(userProfileStorage, ProfileConstants.OPEN_EDIT_FIELD_DIALOG_AFTER_INSERT, true)\n}\n\nfunction setDefaultUserProfileValueIfUndefined(userProfileStorage, key, defaultValue) {\n\tif (userProfileStorage.get(key) === undefined) {\n\t\tuserProfileStorage.set(key, defaultValue)\n\t}\n}\n\nclass TabProfileIDUpdateEvent {\n    constructor(target, value) {\n        this.target = target;\n        this.value = value;\n    }\n}\n\nexport const TabProfile = new TabProfile_();\n","import { CONTENT_TYPE } from \"../Constants/HttpConstants.js\";\nimport { URL_ENCODED_FORM } from \"../Constants/Mime.js\";\nimport { TabProfile } from \"../TabProfile.js\";\nimport { AjaxRequest, METHOD } from \"./AjaxRequest.js\";\nimport { getCSRFCookie } from \"./Cookie.js\";\n\nconst UTF_8_URL_ENCODED = `${URL_ENCODED_FORM};charset=UTF-8`;\n\nexport class QuickAction {\n    constructor(rid) {\n        this.rid          = rid;\n        this.ajaxRequest  = new AjaxRequest();\n        this.formData     = {};\n        this.responseType = null;\n    }\n\n    setFormData(param, value) {\n\t\tthis.formData[param] = value;\n\t}\n\n    setParams(paramArray) {\n\t\tconst params = paramArray.params;\n\t\tconst values = paramArray.values;\n\t\tfor (let i = 0; i < params.length; i++) {\n\t\t\tthis.formData[params[i]] = values[i];\n\t\t}\n\t}\n\n    send() {\n\t\tconst tabID = getTabID();\n\t\tfor (const param in this.formData) {\n\t\t\tconst value = this.formData[param];\n\t\t\tthis.ajaxRequest.setFormData(param, value);\n\t\t}\n\t\tthis.ajaxRequest.setMethod(METHOD.POST);\n\t\tthis.ajaxRequest.setFormData('ztreqcsr', getCSRFCookie()); // No I18N\n\t\tthis.ajaxRequest.setFormData('rid', this.rid); // No I18N\n\t\ttabID && this.ajaxRequest.setFormData('tabID', tabID); // No I18N\n\t\tthis.ajaxRequest.setRequestHeader(CONTENT_TYPE, UTF_8_URL_ENCODED);\n\t\tthis.ajaxRequest.setUrl(`/h/a/${this.rid}`);\n\t\tthis.responseType ? this.ajaxRequest.setResponseType(this.responseType) : this.ajaxRequest.setResponseType('json'); // No I18N\n\t\tthis.ajaxRequest.send();\n\t}\n\n    sendAsBeacon() {\n\t\tconst tabID = getTabID();\n\t\tthis.setFormData('ztreqcsr', getCSRFCookie()); // No I18N\n\t\tthis.setFormData('rid', this.rid); // No I18N\n\t\ttabID && this.setFormData('tabID', tabID); // No I18N\n\t\tconst blob = new Blob([getEncodedFormData(this)], { type: UTF_8_URL_ENCODED });\n\t\tnavigator.sendBeacon(`/h/a/${this.rid}`, blob);\n\t}\n\n    addEventListener(eventName, callback) {\n\t\tthis.ajaxRequest.addEventListener(eventName, callback);\n\t}\n\n    abort() {\n\t\tthis.ajaxRequest.abort();\n\t}\n\n    setAsync(value) {\n\t\treturn this.ajaxRequest.setAsync(value);\n\t}\n\n    setResponseType(value) {\n\t\tthis.responseType = value;\n\t}\n\n    getAllResponseHeaders() {\n\t\treturn this.ajaxRequest.getAllResponseHeaders();\n\t}\n}\n\nfunction getEncodedFormData({formData}) {\n\tlet encodedFormData = '';\n\tfor (const param in formData) {\n\t\tconst value = formData[param];\n\t\tconst encodedFormPair = encodeURIComponent(param).concat('=').concat(encodeURIComponent(value));\n\t\tencodedFormData = (!encodedFormData.length) ? encodedFormPair : encodedFormData.concat('&').concat(encodedFormPair);\n\t}\n\treturn encodedFormData;\n}\n\nfunction getTabID() {\n\treturn TabProfile.getID();\n}\n","export const setEndOfContenteditable = el => {\n\tif (document.createRange) {\n\t\tconst range = document.createRange();\n\t\trange.selectNodeContents(el);\n\t\trange.collapse(false);\n\t\tconst selection = window.getSelection();\n\t\tselection.removeAllRanges();\n\t\tselection.addRange(range);\n\t}\n}\nexport const getBaseFromCurrentURL = () => {\n\tconst origin = location.origin;\n\tconst paths = location.pathname.split('/');\n\t\n\treturn origin + \"/\" + paths[1];\n}\n\n\nexport const getBaseIDFromCurrentURL = () => {\n\tconst paths = location.pathname.split('/');\n\tif (paths[1].length > 37) {\n\t\tconst path = paths[1].split(\"bas\");\n\t\treturn path[1]//.substring(2) //As of now done. Handle more like beta, share \n\t}\n\treturn null;\n}\n\nexport const getTableIDFromCurrentURL = () => {\n\tif (globalThis.Table.isViewPage) {\n\t\tconst paths = location.pathname.split('/');\n\t\tconst tableIndexInUrl = 2;\n\t\tif (paths[tableIndexInUrl].includes('tbl')) { //TODO: Add as a const.\n\t\t\tconst tableID = paths[tableIndexInUrl].split('tbl');\n\t\t\tconst tableIDIndex = 1\n\t\t\treturn tableID[tableIDIndex]\n\t\t}\n\t\treturn null\n\t}\n\treturn null;\n}\n\nexport const getViewIDFromCurrentURL = () => {\n\tif (globalThis.Table.isViewPage) {\n\t\tconst paths = location.pathname.split('/');\n\t\tconst viewIndexInUrl = 3;\n\t\tif (paths[viewIndexInUrl].includes('viw')) { //TODO: Add as a const.\n\t\t\tconst tableID = paths[viewIndexInUrl].split('viw');\n\t\t\tconst viewIDIndex = 1\n\t\t\treturn tableID[viewIDIndex]\n\t\t}\n\t\treturn null;\n\t}\n\treturn null;\n}\n\nexport const getHashedViewIDFromCurrentURL = () => {\n\tconst paths = location.pathname.split('/');\n\treturn paths[paths.length - 1];\n}\n\nexport function getShareViewURL() {\n\treturn location.href; // NO I18N\n}\n\nexport function getCDNStaticURL(fileName, type) {\n\n\tif (Table.useCompression) {\n\n\t\tlet jsPath = Table.AppRegistry.JS_PATH;\n\t\tlet staticMap = Table.Constants.STATIC_JSON;\n\t\treturn jsPath + staticMap[fileName];\n\n\t} else {\n\n\t\treturn document.location.origin + \"/\" + fileName;\n\t}\n}\nexport function getStorePageURL(){\n\tconst portalID           = Table.State.getPortalID();                                                                            //TODO: Get from state, this hotfix is due to listingPage\n\tconst serviceID          = Table.Constants.Store.ServiceID;\n\tconst redirectionURL     = Table.Constants.Store.RedirectionURL;\n\tconst planRedirectionURL = Table.Constants.Store.PlanRedirectionURL;\n\tconst isPortalOwner      = Table.State.getIsPortalOwner();\n\tconst url                = isPortalOwner ? `${redirectionURL}?serviceId=${serviceID}&customId=${portalID}` : planRedirectionURL;\n\treturn url;\n}\n\nfunction stringInterpolate(str, params) {\n\n\tfunction interpolate(params) {\n\t\tconst names = Object.keys(params);\n\t\tconst vals = Object.values(params);\n\t\treturn new Function(...names, `return \\`${this}\\`;`)(...vals);\n\t}\n\treturn interpolate.call(str, params);\n}\n\nexport function getDynamicMessage(message, dynamicContent) {\n\n\treturn stringInterpolate(message, dynamicContent);\n}\n\n/**\n * \n * @param {String} message given by mesageResouces properties file - eg : Hi {{userNameDom}}, Welcome\n * @param {JSONObject} dynamicContent key, value pair to be replaced in the messsage - eg: {userNameDom: DomObject(<div>Rajin</div>)}\n */\nconst DYNAMIC_STRING_START = \"{{\";\nconst DYNAMIC_STRING_END = \"}}\";\n\nexport function getDynamicHTMLFragment(message, dynamicObject) {\n\t\n\tlet DYNAMIC_IDX = 0;\n\tlet fragment = document.createDocumentFragment();\n\tfor (const key in dynamicObject) {\n\t\tlet sIdx = message.indexOf(DYNAMIC_STRING_START, DYNAMIC_IDX);\n\t\tlet eIdx = message.indexOf(DYNAMIC_STRING_END, DYNAMIC_IDX + 2);\n\n\t\tlet txtNode = document.createElement(\"text\");\n\t\ttxtNode.textContent = message.substring(DYNAMIC_IDX, sIdx);\n\t\tfragment.appendChild(txtNode);\n\t\tfragment.appendChild(dynamicObject[key]);\n\n\t\tDYNAMIC_IDX = eIdx + 2;\n\t}\n\treturn fragment;\n}\n\nexport function getDynamicHTMLFragmentNew(message, dynamicObject) {\n\tfunction templateTag(strings, ...keys) {\n\t\tconst getTextElement = (text) => document.createTextNode(text);\n\t\n\t\tconst result = document.createDocumentFragment();\n\t\tresult.appendChild(getTextElement(strings[0]))\n\t\tkeys.forEach((key, i) => {\n\t\t\tresult.appendChild(key instanceof HTMLElement ? key : getTextElement(key))\n\t\t\tresult.appendChild(getTextElement(strings[i + 1]));\n\t\t});\n\t\treturn result;\n\t}\n\t\n\tfunction interpolate(params) {\n\t\tconst names = Object.keys(params);\n\t\tconst vals = Object.values(params);\n\t\treturn new Function(...names, `return ${templateTag}\\`${this}\\`;`)(...vals);\n\t}\n\treturn interpolate.call(message, dynamicObject);\n}\n\nconst context = {\n\ttemplateTag: (strings, ...keys) => {\n\t\tconst getTextElement = (text) => {\n\t\t\tconst elem = document.createElement('text')\n\t\t\telem.textContent = text;\n\t\t\treturn elem;\n\t\t}\n\t\n\t\tconst result = document.createDocumentFragment();\n\t\tresult.appendChild(getTextElement(strings[0]))\n\t\tkeys.forEach((key, i) => {\n\t\t\tresult.appendChild(key instanceof HTMLElement ? key : getTextElement(key))\n\t\t\tresult.appendChild(getTextElement(strings[i + 1]));\n\t\t});\n\t\treturn result;\n\t}\n}\n","import { CONTENT_TYPE } from \"../../../Constants/HttpConstants.js\";\nimport { URL_ENCODED_FORM } from \"../../../Constants/Mime.js\";\nimport { METHOD } from \"../../../Utility/AjaxRequest.js\";\nimport { getCSRFCookie } from \"../../../Utility/Cookie.js\";\nimport { QuickAction as basePageQuickAction } from \"../../../Utility/QuickAction.js\";\nimport { getShareViewURL } from \"../../../Utility/Utility.js\";\n\nconst shareID = getShareViewURL();\n\nconst UTF_8_URL_ENCODED = `${URL_ENCODED_FORM};charset=UTF-8`;\n\nexport class QuickAction extends basePageQuickAction {\n\tsend(url) {\n\t\tfor (const param in this.formData) {\n\t\t\tconst value = this.formData[param];\n\t\t\tthis.ajaxRequest.setFormData(param, value);\n\t\t}\n\t\tthis.ajaxRequest.setMethod(METHOD.POST);\n\t\tthis.ajaxRequest.setFormData('ztreqcsr', getCSRFCookie()); // No I18N\n\t\tthis.ajaxRequest.setRequestHeader(CONTENT_TYPE, UTF_8_URL_ENCODED);\n\t\turl ? this.ajaxRequest.setUrl(url) : this.ajaxRequest.setUrl(shareID);\n\t\tthis.responseType ? this.ajaxRequest.setResponseType(this.responseType) : this.ajaxRequest.setResponseType('json'); // No I18N\n\t\tthis.ajaxRequest.send();\n\t}\n}","import { QuickAction } from \"../Form/FormBuilder/Utilities/QuickAction.js\";\n\nexport function FetchFormMetaAction(shareURL, callBack, onFailure) {\n\tconst action = new QuickAction();\n\taction.setParams({\n\t\tparams: ['url'], //No I18N\n\t\tvalues: [shareURL] //No I18N\n\t});\n\n\taction.addEventListener('success', ({target}, {xmlHttpRequest}) => { //No I18N\n\t\tconst response    = xmlHttpRequest.response || target.response;\n        callBack && callBack(response);\n\t\t// parse(response);\n\t});\n\n\taction.addEventListener('failure', function(ev) { //No I18N\n\t\tonFailure && onFailure();\n\n\t\t//For testing\n\t\t// const response = {'PASSWORD':1}\n\t\t// callBack && callBack(response);\n\n\t\t// window.location.replace('/errorpage'); //NO I18N\n\t});\n\tconst requestURL = shareURL.indexOf(\"/publish/\") != -1? \"/publicFetchFormMeta.do\" : \"/fetchFormMeta.do\"; \n\taction.send(requestURL);\n}\n","import { QuickAction } from \"../Form/FormBuilder/Utilities/QuickAction.js\";\n\nexport function FormValidationAction(shareURL, password, callBack, onFailure) {\n\tconst action = new QuickAction();\n\taction.setParams({\n\t\tparams: ['url', 'password'], //No I18N\n\t\tvalues: [shareURL, password] //No I18N\n\t});\n\n\taction.addEventListener('success', ({target}, {xmlHttpRequest}) => { //No I18N\n\t\tconst response    = xmlHttpRequest.response || target.response;\n        callBack && callBack(response);\n\t\t// parse(response);\n\t});\n\n\taction.addEventListener('failure', function(ev) { //No I18N\n\t\tonFailure && onFailure();\n\n\t\t//For testing\n\t\t// const string   = \"{\\\"success\\\":{\\\"TIME_ZONE\\\":\\\"Asia/Kolkata\\\",\\\"COLOR\\\":\\\"6575AD\\\",\\\"IMAGE_SERVER_URL\\\":\\\"https://contacts.csez.zohocorpin.com\\\",\\\"COLLABORATORS\\\":{\\\"CID1\\\":{\\\"USER_ID\\\":\\\"15075934\\\",\\\"USER_NAME\\\":\\\"Dhanush Padman\\\"},\\\"CID2\\\":{\\\"USER_ID\\\":\\\"15075934\\\",\\\"USER_NAME\\\":\\\"Suresh Chandira\\\"},\\\"CID3\\\":{\\\"USER_ID\\\":\\\"15075934\\\",\\\"USER_NAME\\\":\\\"Miya Kannu\\\"},\\\"CID4\\\":{\\\"USER_ID\\\":\\\"15075934\\\",\\\"USER_NAME\\\":\\\"Mano Padman\\\"}},\\\"SELECTION\\\":{\\\"MS1\\\":{\\\"ID1\\\":{\\\"COLOR\\\":\\\"9277e7\\\",\\\"NAME\\\":\\\"Dhanush\\\"},\\\"ID2\\\":{\\\"COLOR\\\":\\\"e568a5\\\",\\\"NAME\\\":\\\"Dhanush 2\\\"},\\\"ID3\\\":{\\\"COLOR\\\":\\\"9277e7\\\",\\\"NAME\\\":\\\"Suresh\\\"},\\\"ID4\\\":{\\\"COLOR\\\":\\\"e568a5\\\",\\\"NAME\\\":\\\"Chandira\\\"}}},\\\"FIELDS\\\":{\\\"FID1\\\":{\\\"NAME\\\":\\\"Text Field\\\",\\\"TYPE\\\":\\\"23\\\",\\\"PARAMETERS\\\":[1]},\\\"FID2\\\":{\\\"NAME\\\":\\\"Multi Select Field\\\",\\\"TYPE\\\":\\\"13\\\",\\\"PARAMETERS\\\":[1,\\\"MS1\\\"]},\\\"FID3\\\":{\\\"NAME\\\":\\\"Multi Select Field\\\",\\\"TYPE\\\":\\\"13\\\",\\\"PARAMETERS\\\":[1,\\\"MS1\\\"]},\\\"FID4\\\":{\\\"NAME\\\":\\\"Single Select Field\\\",\\\"TYPE\\\":\\\"21\\\",\\\"PARAMETERS\\\":[1,\\\"MS1\\\"]},\\\"FID5\\\":{\\\"NAME\\\":\\\"Single Select Field\\\",\\\"TYPE\\\":\\\"21\\\",\\\"PARAMETERS\\\":[1,\\\"MS1\\\"]},\\\"FID6\\\":{\\\"NAME\\\":\\\"Collaborator Multi Select Field\\\",\\\"TYPE\\\":\\\"18\\\",\\\"PARAMETERS\\\":[1,0]},\\\"FID7\\\":{\\\"NAME\\\":\\\"Collaborator Multi Select Field\\\",\\\"TYPE\\\":\\\"18\\\",\\\"PARAMETERS\\\":[1,0]},\\\"FID8\\\":{\\\"NAME\\\":\\\"Collaborator Single Select Field\\\",\\\"TYPE\\\":\\\"18\\\",\\\"PARAMETERS\\\":[0,0]},\\\"FID9\\\":{\\\"NAME\\\":\\\"Collaborator Single Select Field\\\",\\\"TYPE\\\":\\\"18\\\",\\\"PARAMETERS\\\":[0,0]},\\\"FID10\\\":{\\\"NAME\\\":\\\"Link Field\\\",\\\"TYPE\\\":\\\"30\\\",\\\"PARAMETERS\\\":[]},\\\"FID11\\\":{\\\"NAME\\\":\\\"Checkbox Field\\\",\\\"TYPE\\\":\\\"4\\\",\\\"PARAMETERS\\\":[1,\\\"45b1d8\\\"]},\\\"FID12\\\":{\\\"NAME\\\":\\\"Rating Field\\\",\\\"TYPE\\\":\\\"19\\\",\\\"PARAMETERS\\\":[1,\\\"45b1d8\\\",8]},\\\"FID13\\\":{\\\"NAME\\\":\\\"Date Field\\\",\\\"TYPE\\\":\\\"7\\\",\\\"PARAMETERS\\\":[1,1]},\\\"FID14\\\":{\\\"NAME\\\":\\\"Number Field\\\",\\\"TYPE\\\":\\\"15\\\",\\\"PARAMETERS\\\":[2,1]},\\\"FID15\\\":{\\\"NAME\\\":\\\"Percent Field\\\",\\\"TYPE\\\":\\\"16\\\",\\\"PARAMETERS\\\":[2,1,1]},\\\"FID16\\\":{\\\"NAME\\\":\\\"Currency Field\\\",\\\"TYPE\\\":\\\"6\\\",\\\"PARAMETERS\\\":[10,1,2,1]},\\\"FID17\\\":{\\\"NAME\\\":\\\"Email Field\\\",\\\"TYPE\\\":\\\"9\\\",\\\"PARAMETERS\\\":[1]},\\\"FID18\\\":{\\\"NAME\\\":\\\"Phone Number Field\\\",\\\"TYPE\\\":\\\"17\\\",\\\"PARAMETERS\\\":[5,1]},\\\"FID19\\\":{\\\"NAME\\\":\\\"URL Field\\\",\\\"TYPE\\\":\\\"24\\\",\\\"PARAMETERS\\\":[1]},\\\"FID20\\\":{\\\"NAME\\\":\\\"Attachment Field\\\",\\\"TYPE\\\":\\\"2\\\",\\\"PARAMETERS\\\":[]}},\\\"FORM\\\":{\\\"COVER_IMAGE\\\":{\\\"URL\\\":\\\"\\\",\\\"VISIBILITY\\\":0},\\\"LOGO\\\":{\\\"URL\\\":\\\"\\\",\\\"SIZE\\\":1,\\\"ALIGNMENT\\\":1,\\\"VISIBILITY\\\":0},\\\"FORM_NAME\\\":\\\"form Name 123\\\",\\\"NAME_PARAMETERS\\\":{\\\"ALIGNMENT\\\":1,\\\"SIZE\\\":1,\\\"VISIBILITY\\\":1},\\\"FORM_DESCRIPTION\\\":\\\"form Description testing\\\",\\\"LABEL_ALIGNMENT\\\":1,\\\"COLOR_THEME\\\":\\\"d86060\\\",\\\"SCHEMAS\\\":{\\\"schemaID1\\\":{\\\"FIELD_ID\\\":\\\"FID1\\\",\\\"NAME\\\":\\\"Text Schema\\\",\\\"DESCRIPTION\\\":\\\"Text Schema Description\\\",\\\"REQUIRED\\\":1},\\\"schemaID2\\\":{\\\"FIELD_ID\\\":\\\"FID2\\\",\\\"NAME\\\":\\\"Multi Select PickList Schema\\\",\\\"DESCRIPTION\\\":\\\"\\\",\\\"REQUIRED\\\":1,\\\"COMPONENT_TYPE\\\":2,\\\"CHOICES\\\":[{\\\"ID4\\\":{\\\"VISIBILITY\\\":1}},{\\\"ID3\\\":{\\\"VISIBILITY\\\":1}},{\\\"ID2\\\":{\\\"VISIBILITY\\\":1}},{\\\"ID1\\\":{\\\"VISIBILITY\\\":1}}]},\\\"schemaID3\\\":{\\\"FIELD_ID\\\":\\\"FID3\\\",\\\"NAME\\\":\\\"Multi Select DropDown Schema\\\",\\\"DESCRIPTION\\\":\\\"\\\",\\\"REQUIRED\\\":1,\\\"COMPONENT_TYPE\\\":1,\\\"CHOICES\\\":[{\\\"ID4\\\":{\\\"VISIBILITY\\\":1}},{\\\"ID3\\\":{\\\"VISIBILITY\\\":1}},{\\\"ID2\\\":{\\\"VISIBILITY\\\":1}},{\\\"ID1\\\":{\\\"VISIBILITY\\\":1}}]},\\\"schemaID4\\\":{\\\"FIELD_ID\\\":\\\"FID4\\\",\\\"NAME\\\":\\\"Single Select PickList Schema\\\",\\\"DESCRIPTION\\\":\\\"\\\",\\\"REQUIRED\\\":1,\\\"COMPONENT_TYPE\\\":2,\\\"CHOICES\\\":[{\\\"ID1\\\":{\\\"VISIBILITY\\\":1}},{\\\"ID2\\\":{\\\"VISIBILITY\\\":1}},{\\\"ID3\\\":{\\\"VISIBILITY\\\":1}},{\\\"ID4\\\":{\\\"VISIBILITY\\\":1}}]},\\\"schemaID5\\\":{\\\"FIELD_ID\\\":\\\"FID5\\\",\\\"NAME\\\":\\\"Single Select DropDown Schema\\\",\\\"DESCRIPTION\\\":\\\"\\\",\\\"REQUIRED\\\":1,\\\"COMPONENT_TYPE\\\":1,\\\"CHOICES\\\":[{\\\"ID1\\\":{\\\"VISIBILITY\\\":1}},{\\\"ID2\\\":{\\\"VISIBILITY\\\":1}},{\\\"ID3\\\":{\\\"VISIBILITY\\\":1}},{\\\"ID4\\\":{\\\"VISIBILITY\\\":1}}]},\\\"schemaID6\\\":{\\\"FIELD_ID\\\":\\\"FID6\\\",\\\"NAME\\\":\\\"Collaborator Multi Select PickList Schema\\\",\\\"DESCRIPTION\\\":\\\"\\\",\\\"REQUIRED\\\":1,\\\"COMPONENT_TYPE\\\":2,\\\"CHOICES\\\":[{\\\"CID4\\\":{\\\"VISIBILITY\\\":1}},{\\\"CID3\\\":{\\\"VISIBILITY\\\":1}},{\\\"CID2\\\":{\\\"VISIBILITY\\\":1}},{\\\"CID1\\\":{\\\"VISIBILITY\\\":1}}]},\\\"schemaID7\\\":{\\\"FIELD_ID\\\":\\\"FID7\\\",\\\"NAME\\\":\\\"Collaborator Multi Select DropDown Schema\\\",\\\"DESCRIPTION\\\":\\\"\\\",\\\"REQUIRED\\\":1,\\\"COMPONENT_TYPE\\\":1,\\\"CHOICES\\\":[{\\\"CID4\\\":{\\\"VISIBILITY\\\":1}},{\\\"CID3\\\":{\\\"VISIBILITY\\\":1}},{\\\"CID2\\\":{\\\"VISIBILITY\\\":1}},{\\\"CID1\\\":{\\\"VISIBILITY\\\":1}}]},\\\"schemaID8\\\":{\\\"FIELD_ID\\\":\\\"FID8\\\",\\\"NAME\\\":\\\"Collaborator Single Select PickList Schema\\\",\\\"DESCRIPTION\\\":\\\"\\\",\\\"REQUIRED\\\":1,\\\"COMPONENT_TYPE\\\":2,\\\"CHOICES\\\":[{\\\"CID1\\\":{\\\"VISIBILITY\\\":1}},{\\\"CID2\\\":{\\\"VISIBILITY\\\":1}},{\\\"CID3\\\":{\\\"VISIBILITY\\\":1}},{\\\"CID4\\\":{\\\"VISIBILITY\\\":1}}]},\\\"schemaID9\\\":{\\\"FIELD_ID\\\":\\\"FID9\\\",\\\"NAME\\\":\\\"Collaborator Single Select DropDown Schema\\\",\\\"DESCRIPTION\\\":\\\"\\\",\\\"REQUIRED\\\":1,\\\"COMPONENT_TYPE\\\":1,\\\"CHOICES\\\":[{\\\"CID1\\\":{\\\"VISIBILITY\\\":1}},{\\\"CID2\\\":{\\\"VISIBILITY\\\":1}},{\\\"CID3\\\":{\\\"VISIBILITY\\\":1}},{\\\"CID4\\\":{\\\"VISIBILITY\\\":1}}]},\\\"schemaID10\\\":{\\\"FIELD_ID\\\":\\\"FID10\\\",\\\"NAME\\\":\\\"Link Schema\\\",\\\"DESCRIPTION\\\":\\\"\\\",\\\"REQUIRED\\\":1},\\\"schemaID11\\\":{\\\"FIELD_ID\\\":\\\"FID11\\\",\\\"NAME\\\":\\\"Checkbox Schema\\\",\\\"DESCRIPTION\\\":\\\"\\\",\\\"REQUIRED\\\":1},\\\"schemaID12\\\":{\\\"FIELD_ID\\\":\\\"FID12\\\",\\\"NAME\\\":\\\"Rating Schema\\\",\\\"DESCRIPTION\\\":\\\"\\\",\\\"REQUIRED\\\":1},\\\"schemaID13\\\":{\\\"FIELD_ID\\\":\\\"FID13\\\",\\\"NAME\\\":\\\"Date Schema\\\",\\\"DESCRIPTION\\\":\\\"\\\",\\\"REQUIRED\\\":1},\\\"schemaID14\\\":{\\\"FIELD_ID\\\":\\\"FID14\\\",\\\"NAME\\\":\\\"Number Schema\\\",\\\"DESCRIPTION\\\":\\\"\\\",\\\"REQUIRED\\\":1},\\\"schemaID15\\\":{\\\"FIELD_ID\\\":\\\"FID15\\\",\\\"NAME\\\":\\\"Percent Schema\\\",\\\"DESCRIPTION\\\":\\\"\\\",\\\"REQUIRED\\\":1},\\\"schemaID16\\\":{\\\"FIELD_ID\\\":\\\"FID16\\\",\\\"NAME\\\":\\\"Currency Schema\\\",\\\"DESCRIPTION\\\":\\\"\\\",\\\"REQUIRED\\\":1},\\\"schemaID17\\\":{\\\"FIELD_ID\\\":\\\"FID17\\\",\\\"NAME\\\":\\\"Email Schema\\\",\\\"DESCRIPTION\\\":\\\"\\\",\\\"REQUIRED\\\":1},\\\"schemaID18\\\":{\\\"FIELD_ID\\\":\\\"FID18\\\",\\\"NAME\\\":\\\"Phone Number Schema\\\",\\\"DESCRIPTION\\\":\\\"\\\",\\\"REQUIRED\\\":1},\\\"schemaID19\\\":{\\\"FIELD_ID\\\":\\\"FID19\\\",\\\"NAME\\\":\\\"URL Schema\\\",\\\"DESCRIPTION\\\":\\\"\\\",\\\"REQUIRED\\\":1},\\\"schemaID20\\\":{\\\"FIELD_ID\\\":\\\"FID20\\\",\\\"NAME\\\":\\\"Attachment Schema\\\",\\\"DESCRIPTION\\\":\\\"\\\",\\\"REQUIRED\\\":1}},\\\"FIELD_ORDER\\\":[\\\"FID1\\\",\\\"FID2\\\",\\\"FID3\\\",\\\"FID4\\\",\\\"FID5\\\",\\\"FID6\\\",\\\"FID7\\\",\\\"FID8\\\",\\\"FID9\\\",\\\"FID10\\\",\\\"FID11\\\",\\\"FID12\\\",\\\"FID13\\\",\\\"FID14\\\",\\\"FID15\\\",\\\"FID16\\\",\\\"FID17\\\",\\\"FID18\\\",\\\"FID19\\\",\\\"FID20\\\"],\\\"SUBMIT_BUTTON\\\":\\\"Submit your form\\\",\\\"BRANDING\\\":1,\\\"REDIRECT_URL\\\":\\\"https://www.google.com\\\",\\\"MESSAGE_AFTER_SUBMIT\\\":\\\"Thank you for submitting the form !!!\\\"}}}\" // No I18N\n\t\t// const response = JSON.parse(string);\n\t\t// callBack && callBack(response);\n\t\n\t\t// window.location.replace('/errorpage'); //NO I18N\n\t});\n\tconst requestURL = shareURL.indexOf(\"/publish/\") != -1? \"/publicFetchFormMeta.do\" : \"/fetchFormMeta.do\"; \n\taction.send(requestURL);\n}\n\n","export const FORM_VIEW_TIME_ZONE        = 'TIME_ZONE';               // No I18N\nexport const FORM_VIEW_COLOR            = 'COLOR';                   // No I18N\nexport const FORM_VIEW_IMAGE_SERVER_URL = 'IMAGE_SERVER_URL';        // No I18N\nexport const TEAMDRIVE_SERVER_URL       = 'TEAMDRIVE_SERVER_URL';    // No I18N\nexport const TEAMDRIVE_DOWNLOAD_URL     = 'TEAMDRIVE_DOWNLOAD_URL';  // No I18N\nexport const TEAMDRIVE_PREVIEW_URL      = 'TEAMDRIVE_PREVIEW_URL';   // No I18N\nexport const MULTIPLE_SUBMIT            = 'MULTIPLE_SUBMIT';         // No I18N\nexport const PLAN_TYPE                  = 'PLAN_TYPE';               // No I18N\n\nexport const IS_ATTACHMENT_PREVIEW_NEEDED = 'IS_ATTACHMENT_PREVIEW_NEEDED';  // No I18N\n\nexport const FORM_VIEW_COLLABORATORS       = 'COLLABORATORS';   // No I18N\nexport const FORM_VIEW_USER_ID             = 'USER_ID';         // No I18N\nexport const FORM_VIEW_ID_KEY              = 'ID';              // No I18N\nexport const FORM_VIEW_EXTENSION_KEY       = 'EXTENSION';       // No I18N\nexport const FORM_VIEW_USER_NAME           = 'USER_NAME';       // No I18N\nexport const FORM_VIEW_USER_TYPE           = 'USER_TYPE';       // No I18N\nexport const FORM_VIEW_USER_LEVEL          = 'OWNER_LEVEL';     // No I18N\nexport const FORM_VIEW_USER_EMAIL          = 'EMAIL';           // No I18N\nexport const FORM_VIEW_USER_PERMISSION     = 'ROLE';      // No I18N\nexport const FORM_VIEW_MODULE_TYPE         = 'MODULE_TYPE';      // No I18N\nexport const FORM_VIEW_IS_ENABLED          = 'IS_ENABLED';      // No I18N\nexport const FORM_VIEW_IS_EDITABLE_USER    = 'IS_EDITABLE_USER';      // No I18N\nexport const FORM_VIEW_USER_WORKSPACE_ROLE = 'WORKSPACE_ROLE';  // No I18N\n\n\nexport const FORM_VIEW_SELECTION = 'SELECTION';  // No I18N\n\nexport const FORM_VIEW_FIELDS     = 'FIELDS';      // No I18N\nexport const FORM_VIEW_NAME       = 'NAME';        // No I18N\nexport const FORM_VIEW_TYPE       = 'TYPE';        // No I18N\nexport const FORM_VIEW_PARAMETERS = 'PARAMETERS';  // No I18N\n\nexport const FORM_VIEW_FORM                 = 'FORM';                  // No I18N\nexport const FORM_VIEW_COVER_IMAGE          = 'COVER_IMAGE';           // No I18N\nexport const FORM_VIEW_LOGO                 = 'LOGO';                  // No I18N\nexport const FORM_VIEW_URL                  = 'URL';                   // No I18N\nexport const FORM_VIEW_FILE                 = 'FILE';                  // No I18N\nexport const FORM_VIEW_VISIBILITY           = 'VISIBILITY';            // No I18N\nexport const FORM_VIEW_SIZE                 = 'SIZE';                  // No I18N\nexport const FORM_VIEW_DESCRIPTION          = 'DESCRIPTION';           // No I18N\nexport const FORM_VIEW_ALIGNMENT            = 'ALIGNMENT';             // No I18N\nexport const FORM_VIEW_FORM_NAME            = 'FORM_NAME';             // No I18N\nexport const FORM_VIEW_NAME_PARAMETERS      = 'NAME_PARAMETERS';       // No I18N\nexport const FORM_VIEW_FORM_DESCRIPTION     = 'FORM_DESCRIPTION';      // No I18N\nexport const FORM_VIEW_LABEL_ALIGNMENT      = 'LABEL_ALIGNMENT';       // No I18N\nexport const FORM_VIEW_COLOR_THEME          = 'COLOR_THEME';           // No I18N\nexport const FORM_VIEW_SUBMIT_BUTTON        = 'SUBMIT_BUTTON';         // No I18N\nexport const FORM_VIEW_BRANDING             = 'BRANDING';              // No I18N\nexport const FORM_VIEW_REDIRECT_URL         = 'REDIRECT_URL';          // No I18N\nexport const FORM_VIEW_MESSAGE_AFTER_SUBMIT = 'MESSAGE_AFTER_SUBMIT';  // No I18N\nexport const FORM_VIEW_FIELD_ORDER          = 'FIELD_ORDER';           // No I18N\nexport const FORM_VIEW_SCHEMAS              = 'SCHEMAS';               // No I18N\nexport const FORM_VIEW_FIELD_ID             = 'FIELD_ID';              // No I18N\nexport const FORM_VIEW_REQUIRED             = 'REQUIRED';              // No I18N\nexport const FORM_VIEW_COMPONENT_TYPE       = 'COMPONENT_TYPE';        // No I18N\nexport const FORM_VIEW_CHOICES              = 'CHOICES';               // No I18N\n\nexport const FORM_VIEW_PASSWORD = 'PASSWORD';  // No I18N\nexport const FORM_VIEW_SUCCESS  = 'success';   // No I18N\nexport const FORM_VIEW_FAILURE  = 'failure';   // No I18N\n\nexport const FORM_VIEW_ACTION_FORM_DATA                 = 'ztreqcsr';                                          // No I18N\nexport const FORM_VIEW_ACTION_CONTENT_TYPE              = 'Content-Type';                                      // No I18N\nexport const FORM_VIEW_ACTION_BLOB                      = 'blob';                                              // No I18N\nexport const FORM_VIEW_ACTION_JSON                      = 'json';                                              // No I18N\nexport const FORM_VIEW_ACTION_FORM_META_URL             = '/formmeta.do';                                      // No I18N\nexport const FORM_VIEW_ACTION_FETCH_FORM_VIEW_URL       = '/fetchFormMeta.do';                                 // No I18N\nexport const FORM_VIEW_ACTION_FETCH_LINK_FIELD_DATA_URL = '/fetchLinkFieldData.do';                               // No I18N\nexport const FORM_VIEW_ACTION_PUBLIC_FETCH_LINK_FIELD_DATA_URL = '/publicFetchLinkFieldData.do';                               // No I18N\nexport const FORM_VIEW_ACTION_SUBMIT_FORM_VIEW_URL      = '/formSubmit.do';                                    // No I18N\nexport const FORM_VIEW_ACTION_SUBMIT_PUBLIC_FORM_VIEW_URL = '/publicFormSubmit.do';                                    // No I18N\nexport const FORM_VIEW_ACTION_SUBMIT_FORM_VIEW_URL2     = '/formDataSubmit.do';                                // No I18N\nexport const FORM_VIEW_UPLOAD_ATTACHMENTS               = '/uploadAttachmentsForForm.do';                      // No I18N\nexport const FORM_VIEW_PUBLIC_UPLOAD_ATTACHMENTS        = '/publicUploadAttachmentsForForm.do';                      // No I18N\nexport const FORM_VIEW_UPDATE_ATTACHMENT_NAME           = '/updateAttachmentNameForForm.do';                   // No I18N\nexport const FORM_VIEW_ACTION_URL_ENCODED_FORM_UTF8     = 'application/x-www-form-urlencoded; charset=UTF-8';  // No I18N\nexport const FORM_VIEW_ACTION_SHARE_ID                  = 'url';                                               // No I18N\nexport const FORM_VIEW_ACTION_FIELD_ID                  = 'fieldID';                                           // No I18N\nexport const FORM_VIEW_ACTION_FIELD_IDS                 = 'fieldIDs';                                          // No I18N\nexport const FORM_VIEW_ACTION_VALUES                    = 'values';                                            // No I18N\nexport const FORM_VIEW_ACTION_ATTACHMENT_IDS            = 'attachmentIDs';                                     // No I18N\nexport const FORM_VIEW_ACTION_ATTACHMENT_ID             = 'attachmentID';                                      // No I18N\nexport const FORM_VIEW_ACTION_ATTACHMENT_NAME           = 'name';                                              // No I18N\nexport const FORM_VIEW_ACTION_PROXY_URL                 = 'proxyURL';                                          // No I18N\nexport const FORM_VIEW_SUBMIT_PROXY_URL                 = 'formsubmit';                                        // No I18N\nexport const FORM_VIEW_UPLOAD_ATTACHMENT_PROXY_URL      = 'uploadAttachmentsForForm';                          // No I18N\nexport const FORM_VIEW_UPDATE_ATTACHMENT_NAME_PROXY_URL = 'updateAttachmentNameForForm';                       // No I18N","\nconst templates = document.getElementById(\"templates\");\n\nexport function getTemplate(templateID) {\n\t// var template = templates.querySelector('#'+templateID);\n\tlet template = document.getElementById(templateID);\n\ttemplate = template.content.cloneNode(true);\n\treturn template;\n}\n\nexport function getTemplateByID(templateID, selectorID) {\n\tconst template = document.querySelector(`#${templateID}`);\n\tconst element = template.content.cloneNode(true);\n\treturn element.querySelector(`#${selectorID}`);\n}\n\nexport function getTemplateByClassName(templateID, selectorClassName) {\n\tconst template = document.querySelector(`#${templateID}`);\n\tconst element = template.content.cloneNode(true);\n\treturn element.querySelector(`.${selectorClassName}`);\n}\n","\nexport class User {\n    constructor() {\n        this.ID            = null\n        this.name          = null\n        this.type          = null\n        this.emailID       = null\n        this.level         = null\n        this.permission    = null\n        this.module        = null\n        this.workspaceRole = null\n        this.isCollaboratorEnabled = false\n        this.isEditableColllaborator = true;\n        this.meta          = {}\n    }\n\n    setID(userID) {\n        this.ID = userID;\n    }\n\n    setName(name) {\n        this.name = name;\n    }\n\n    setEmailID(emailID) {\n        this.emailID = emailID;\n    }\n\n    setPermission(permission) {\n        this.permission = permission;\n    }\n\n    enable() {\n        this.isCollaboratorEnabled = true\n    }\n\n    disable() {\n        this.isCollaboratorEnabled = false\n    }\n\n    getID() {\n        return this.ID;\n    }\n\n    getName() {\n        return this.name;\n    }\n\n    getEmailID() {\n        return this.emailID;\n    }\n\n    getPermission() {\n        return this.permission;\n    }\n\n    getModule() {\n        return this.module;\n    }\n\n    setModule(module) {\n        this.module = module\n    }\n\n    getIsEnabled(){\n        return this.isCollaboratorEnabled\n    }\n\n    enableEditable() {\n        this.isEditableColllaborator = true;\n    }\n\n    disableEditable() {\n        this.isEditableColllaborator = false;\n    }\n\n    getEditableCollaborator() {\n        return this.isEditableColllaborator\n    }\n\n    setMetaIDs(tableID, viewIDs) {\n        this.meta[tableID] = viewIDs;\n    }\n\n    updateMetaViewID(tableID, viewID) {\n        this.meta[tableID].push(viewID);\n    }\n\n    deleteMetaViewID(tableID, viewID) {\n        const viewIDs = this.meta[tableID];\n        const viewIDIndex = viewIDs.indexOf(viewID);\n        viewIDIndex!==-1 && viewIDs.splice(viewIDIndex, 1)\n        this.meta[tableID] = viewIDs;\n    }\n\n    deleteMetaTableID(tableID) {\n        delete this.meta[tableID];\n    }\n\n    resetMeta() {\n        this.meta = {}\n    }\n\n    getMeta() {\n        return this.meta;\n    }\n\n    setMeta(meta) {\n        this.meta = meta\n    }\n}\n","\nimport { User } from \"./DSCollaboratorUser.js\";\n\nconst FILE_URL       = '/file?t=user&fs=thumb&ID=';  //NO I18N\nconst ANONYMOUS_USER = \"Anonymous User\";  //NO I18N\n\nexport class Collaborator {\n    constructor(getBaseColor, getImageServerURL) {\n            this.getBaseColor      = getBaseColor;\n            this.getImageServerURL = getImageServerURL;\n            this.activeUsers       = {};\n            this.inactiveUsers     = {};\n            this.removedUsers      = {};\n            this.anonymousUsers    = {};\n            this.systemUsers       = new Map()\n        }\n\n    reset() {\n        this.activeUsers   = {};\n        this.inactiveUsers = {};\n        this.removedUsers  = {};\n        this.anonymousUsers= {};\n    }\n\n    addActiveUser( ID, userID, userName, userEmailID, userPermission, userModuleType, userIsEnabled, userIsEditable) {\n        const user = new User();\n        this.activeUsers[ID] = user;\n\n        user.setID(userID);\n        user.setName(userName);\n        user.setEmailID(userEmailID);\n        user.setPermission(userPermission);\n        user.setModule(userModuleType);\n        userIsEnabled ? user.enable() : user.disable()\n        userIsEditable ? user.enableEditable(): user.disableEditable();\n    }\n\n    activeUserLoadMetaIDs(ID, tableID, viewID) {\n        const user = this.activeUsers[ID];\n        user.setMetaIDs(tableID, viewID);\n    }\n\n    activeUserViewMetaUpdate(ID, tableID, viewIDs) {\n        const user = this.activeUsers[ID];\n        viewIDs.forEach((viewID) => {\n            user.updateMetaViewID(tableID, viewID);\n        })\n    }\n\n    activeUserViewMetaDelete(ID, tableID, viewID) {\n        const user = this.activeUsers[ID];\n        user.deleteMetaViewID(tableID, viewID);\n    }\n\n    activeUserTableMetaDelete(ID, tableID) {\n        const user = this.activeUsers[ID];\n        user.deleteMetaTableID(tableID);\n    }\n\n    activeUserMetaReset(ID) {\n        const user = this.activeUsers[ID];\n        user.resetMeta();\n    }\n\n    getActiveUserMeta(ID) {\n        const user = this.activeUsers[ID];\n        return user.getMeta();\n    }\n\n    setActiveUserMeta(ID, meta) {\n        const user = this.activeUsers[ID];\n        user.setMeta(meta);\n    }\n\n    addInactiveUser(ID, userID, userName, userEmailID, userPermission, userModuleType, userIsEnabled, userIsEditable) {\n        const user = new User();\n        this.inactiveUsers[ID] = user;\n\n        user.setID(userID);\n        user.setName(userName);\n        user.setEmailID(userEmailID);\n        user.setPermission(userPermission);\n        user.setModule(userModuleType);\n        userIsEnabled ? user.enable() : user.disable()\n        userIsEditable ? user.enableEditable(): user.disableEditable();\n    }\n\n    inactiveUserLoadMetaIDs(ID, tableID, viewID) {\n        const user = this.inactiveUsers[ID];\n        user.setMetaIDs(tableID, viewID);\n    }\n\n    inactiveUserViewMetaUpdate(ID, tableID, viewIDs) {\n        const user = this.inactiveUsers[ID];\n        viewIDs.forEach((viewID) => {\n            user.updateMetaViewID(tableID, viewID);\n        })\n    }\n\n    inactiveUserViewMetaDelete(ID, tableID, viewID) {\n        const user = this.inactiveUsers[ID];\n        user.deleteMetaViewID(tableID, viewID);\n    }\n\n    inactiveUserTableMetaDelete(ID, tableID) {\n        const user = this.inactiveUsers[ID];\n        user.deleteMetaTableID(tableID);\n    }\n\n    inactiveUserMetaReset(ID) {\n        const user = this.inactiveUsers[ID];\n        user.resetMeta();\n    }\n\n    getInactiveUserMeta(ID) {\n        const user = this.inactiveUsers[ID];\n        return user.getMeta();\n    }\n\n    setInactiveUserMeta(ID, meta) {\n        const user = this.inactiveUsers[ID];\n        user.setMeta(meta);\n    }\n\n    addRemovedUser(ID, userID, userName, userEmailID, userPermission) {\n        const user = new User();\n        this.removedUsers[ID] = user;\n\n        user.setID(userID);\n        user.setName(userName);\n        user.setEmailID(userEmailID);\n        user.setPermission(userPermission);\n    }\n\n    addAnonymousUser(ID, userID, userName, userEmailID, userPermission, userModuleType) {\n        const user = new User();\n        this.anonymousUsers[ID] = user;\n\n        user.setID(userID);\n        user.setName(userName);\n        user.setEmailID(userEmailID);\n        user.setPermission(userPermission);\n        user.setModule(userModuleType);\n    }\n\n    addSystemUser(collaboratorID, userID, userName, userEmailID, userPermission, userModuleType) {\n        const user = new User()\n\n        user.setID(userID)\n        user.setName(userName)\n        user.setEmailID(userEmailID)\n        user.setPermission(userPermission)\n        user.setModule(userModuleType)\n\n        this.systemUsers.set(collaboratorID, user)\n    }\n\n    updateActiveUser(ID, userID, userName, userEmailID, userPermission, userModuleType, userIsEditable) {\n        const user = this.activeUsers[ID];\n\n        user.setID(userID);\n        user.setName(userName);\n        user.setEmailID(userEmailID);\n        user.setPermission(userPermission);\n        user.setModule(userModuleType);\n        userIsEditable ? user.enableEditable(): user.disableEditable();\n    }\n\n    updateInactiveUser(ID, userID, userName, userEmailID, userPermission, userModuleType, userIsEditable) {\n        const user = this.inactiveUsers[ID];\n\n        user.setID(userID);\n        user.setName(userName);\n        user.setEmailID(userEmailID);\n        user.setPermission(userPermission);\n        user.setModule(userModuleType);\n        userIsEditable ? user.enableEditable(): user.disableEditable();\n    }\n\n    updateRemovedUser(ID, userID, userName, userType, userEmailID, userLevel, userPermission, userWSRole) {\n        const user = this.removedUsers[ID];\n\n        user.setID(userID);\n        user.setName(userName);\n        user.setEmailID(userEmailID);\n        user.setPermission(userPermission);\n    }\n\n    updateAnonymousUser(ID, userID, userName, userEmailID, userLevel) {\n        const user = this.inactiveUsers[ID];\n\n        user.setID(userID);\n        user.setName(userName);\n        user.setEmailID(userEmailID);\n        user.setLevel(userLevel);\n    }\n\n    updateSystemUser(collaboratorID, userID, userName, userEmailID, userLevel) {\n        const user = this.systemUsers.get(collaboratorID)\n        user.setID(userID)\n        user.setName(userName)\n        user.setEmailID(userEmailID)\n        user.setLevel(userLevel)\n    }\n\n    removeActiveUser(userID) {\n        delete this.activeUsers[userID];\n    }\n\n    removeInactiveUser(userID) {\n        delete this.inactiveUsers[userID];\n    }\n\n    removeRemovedUser(userID) {\n        delete this.removedUsers[userID];\n    }\n\n    removeAnonymousUser(userID) {\n        delete this.anonymousUsers[userID];\n    }\n\n    removeSystemUser(collaboratorID) {\n        this.systemUsers.delete(collaboratorID)\n    }\n\n    getColor() {\n        return this.getBaseColor();\n    }\n\n    getActiveUserID(id) {\n        return this.activeUsers[id].getID();\n    }\n\n    getActiveUserImageURL(userID) {\n        const user = this.activeUsers[userID];\n        const ID   = user.getID();\n\n        return this.getImageServerURL() + FILE_URL + ID;\n    }\n\n    getInactiveUserImageURL(userID) {\n        const user = this.inactiveUsers[userID];\n        const ID   = user.getID();\n        \n        return this.getImageServerURL() + FILE_URL + ID;\n    }\n\n    getRemovedUserImageURL(userID) {\n        const user = this.removedUsers[userID];\n        const ID   = user.getID();\n        \n        // return this.getImageServerURL() + FILE_URL + ID;\n        return '/images/Portal/User.png';  // No I18N\n    }\n\n    getAnonymousUserImageURL(userID) {\n        const user = this.anonymousUsers[userID];\n        const ID   = user.getID();\n\n        // return this.getImageServerURL() + FILE_URL + ID;\n        return '/images/Portal/User.png';  // No I18N\n    }\n\n    getSystemUserImageURL(collaboratorID) {\n        const user = this.systemUsers.get(collaboratorID)\n        const ID   = user.getID()\n\n        // return this.getImageServerURL() + FILE_URL + ID;\n        return '/images/Portal/User.png';  // No I18N\n    }\n\n    getActiveUserName(userID) {\n        return this.activeUsers[userID].getName();\n    }\n\n    getInactiveUserName(userID) {\n        return this.inactiveUsers[userID].getName();\n    }\n\n    getSystemUserName(collaboratorID) {\n        return this.systemUsers.get(collaboratorID).getName()\n    }\n\n    getActiveUserModuleType(userID) {\n        return this.activeUsers[userID].getModule();\n    }\n\n    getInactiveUserModuleType(userID) {\n        return this.inactiveUsers[userID].getModule();\n    }\n\n    getActiveUserRole(userID) {\n        return this.activeUsers[userID].getPermission();\n    }\n\n    getInactiveUserRole(userID) {\n        return this.inactiveUsers[userID].getPermission();\n    }\n\n    getActiveUserEmailID(userID) {\n        return this.activeUsers[userID].getEmailID();\n    }\n\n    getInactiveUserEmailID(userID) {\n        return this.inactiveUsers[userID].getEmailID();\n    }\n\n    getRemovedUserEmailID(userID) {\n        return this.removedUsers[userID].getEmailID();\n    }\n\n    getSystemUserEmailID(collaboratorID) {\n        return this.systemUsers.get(collaboratorID).getEmailID()\n    }\n\n    getRemovedUserName(userID) {\n        const removedUserName = this.removedUsers[userID].getName();\n        if(!removedUserName) {\n            return ANONYMOUS_USER;\n        }\n        return removedUserName;\n    }\n\n    getAnonymousUserName() {\n        return ANONYMOUS_USER;\n    }\n\n    getActiveUsersIDs() {\n        return Object.keys(this.activeUsers);\n    }\n\n    getInactiveUsersIDs() {\n        return Object.keys(this.inactiveUsers);\n    }\n\n    getSystemUsersIDs() {\n        return Array.from(this.systemUsers.keys())\n    }\n\n    getRemovedUsersIDs() {\n        return Object.keys(this.removedUsers);\n    }\n\n    getActiveUsersCount() {\n        return this.getActiveUsersIDs().length;\n    }\n\n    getInactiveUsersCount() {\n        return this.getInactiveUsersIDs().length;\n    }\n\n    getRemovedUsersCount() {\n        return this.getRemovedUsersIDs().length;\n    }\n\n    getUsersGroupByRoles() {\n\t\tconst collaborators = Object.values(this.activeUsers).concat(Object.values(this.inactiveUsers))\n        // console.log(this.activeUsers, this.inactiveUsers )\n        const collaboratorGroup = Object.groupBy(collaborators, user=> user.getPermission())\n        // console.log(collaboratorGroup)\n\t}\n\n\n    isActiveUser(id) {\n        return !!this.activeUsers[id];\n    }\n\n    isInactiveUser(id) {\n        return !!this.inactiveUsers[id];\n    }\n\n    isRemovedUser(id) {\n        return !!this.removedUsers[id];\n    }\n\n    isAnonymousUser(id) {\n        return !!this.anonymousUsers [id];\n    }\n\n    isSystemUser(collaboratorID) {\n        return this.systemUsers.has(collaboratorID)\n    }\n\n    getActiveUser(id) {\n        return this.activeUsers[id];\n    }\n\n    getInactiveUser(id) {\n        return this.inactiveUsers[id];\n    }\n\n    getRemovedUser(id) {\n        return this.removedUsers[id];\n    }\n\n    getAnonymousUser(id) {\n        return this.anonymousUsers[id];\n    }\n\n    getSystemUser(collaboratorID) {\n        return this.systemUsers.get(collaboratorID)\n    }\n\n    isExistingUserEmailID(emailID) {\n        const emailIDLowercase = emailID.toLowerCase();\n        for(let ID in this.activeUsers) {\n            const valueToCompare = this.getActiveUserEmailID(ID).toLowerCase();\n            if(emailIDLowercase === valueToCompare) {\n                return true;\n            }\n        }\n\n        for(let ID in this.inactiveUsers) {\n            const valueToCompare = this.getInactiveUserEmailID(ID).toLowerCase();\n            if(emailIDLowercase === valueToCompare) {\n                return true;\n            }\n        }\n        \n        return false;\n    }\n}\n","export class Field {\n    constructor() {\n        this.description = this.name = this.type = this.status = this.parameters = null;\n        this._isEphiCompliant = false;\n    }\n\n    setDescription(desc) {\n        this.description = desc;\n    }\n\n    getDescription() {\n        return this.description;\n    }\n\n    setName(name) {\n        this.name = name;\n    }\n\n    setType(typeObj) {\n        this.type = typeObj;\n    }\n\n    getType() {\n        return this.type;\n    }\n\n    getName() {\n        return this.name;\n    }\n\n    setStatus(status) {\n        this.status = status;\n    }\n\n    getStatus() {\n        return this.status;\n    }\n\n    setParameters(parameters) {\n        this.parameters = parameters;\n    }\n\n    getParameters() {\n        return this.parameters;\n    }\n\n    setEphiCompliant(isEphiCompliant) {\n        this._isEphiCompliant = isEphiCompliant;\n    }\n\n    isEphiCompliant() {\n        return this._isEphiCompliant;\n    }\n}\n","\nexport class DSFormViewCoverImage {\n    constructor() {\n        this.ID = this.extension = this.name = this.visibility = null;\n    }\n\n    getID() {\n        return this.ID;\n    }\n\n    getExtension() {\n        return this.extension;\n    }\n\n    getName() {\n        return this.name;\n    }\n\n    getVisibility() {\n        return this.visibility;\n    }\n\n    setID(ID) {\n        this.ID = ID;\n    }\n\n    setExtension(extension) {\n        this.extension = extension;\n    }\n\n    setName(name) {\n        this.name = name;\n    }\n\n    setVisibility(visibility) {\n        this.visibility = visibility;\n    }\n    \n}\n\n","\nexport class DSFormViewLogo {\n    constructor() {\n        this.ID = this.extension = this.name = this.size = this.alignment = this.visibility = null;\n    }\n\n    getID() {\n        return this.ID;\n    }\n\n    getExtension() {\n        return this.extension;\n    }\n\n    getName() {\n        return this.name;\n    }\n\n    getSize() {\n        return this.size;\n    }\n\n    getAlignment() {\n        return this.alignment;\n    }\n\n    getVisibility() {\n        return this.visibility;\n    }\n\n    setID(ID) {\n        this.ID = ID;\n    }\n\n    setExtension(extension) {\n        this.extension = extension;\n    }\n\n    setName(name) {\n        this.name = name;\n    }\n\n    setSize(size) {\n        this.size = size;\n    }\n\n    setAlignment(alignment) {\n        this.alignment = alignment;\n    }\n\n    setVisibility(visibility) {\n        this.visibility = visibility;\n    }\n    \n}\n\n","\nexport class DSFormViewNameParameters {\n    constructor() {\n        this.size = this.alignment = this.visibility = null;\n    }\n\n    getSize() {\n        return this.size;\n    }\n\n    getAlignment() {\n        return this.alignment;\n    }\n    \n    getVisibility() {\n        return this.visibility;\n    }\n\n    setSize(size) {\n        this.size = size;\n    }\n\n    setAlignment(alignment) {\n        this.alignment = alignment;\n    }\n\n    setVisibility(visibility) {\n        this.visibility = visibility;\n    }\n    \n}\n","\nexport class DSFormViewSchemaChoice {\n    constructor() {\n        this.visibility = null;\n    }\n\n    getVisibility() {\n        return this.visibility;\n    }\n\n    setVisibility(visibility) {\n        this.visibility = visibility;\n    }\n}\n","import { DSFormViewSchemaChoice } from \"./DSFormViewSchemaChoice.js\";\n\nexport class DSFormViewSchema {\n    /**\n     * this.type = type refers to either selection field or non-selection field\n     * 1 - single select\n     * 2 - multi select\n     * 3 - collaborator\n     * 4 - non-selection field\n     */\n    constructor() {\n        this.fieldID      = this.name = this.description = this.required = this.componentType = this.type = null;\n        this.choicesOrder = [];\n        this.choices      = {};\n    }\n\n    //getters\n    getFieldID() {\n        return this.fieldID;\n    }\n\n    getName() {\n        return this.name;\n    }\n\n    getDescription() {\n        return this.description;\n    }\n\n    getRequired() {\n        return this.required;\n    }\n\n    getType() {\n        return this.type;\n    }\n\n    getComponentType() {\n        return this.componentType;\n    }\n\n    // choices{} functions\n    getChoice(choiceID) {\n        return this.choices[choiceID];\n    }\n\n    // choicesOrder[] functions\n    getChoicesOrder() {\n        return this.choicesOrder;\n    }\n\n    getChoicesCount() {\n        return this.choicesOrder.length;\n    }\n\n    getChoiceIDFromIndex(index) {\n        return this.choicesOrder[index];\n    }\n\n    //setters\n    setFieldID(fieldID) {\n        this.fieldID = fieldID;\n    }\n\n    setName(name) {\n        this.name = name;\n    }\n\n    setDescription(description) {\n        this.description = description;\n    }\n\n    setRequired(requiredState) {\n        this.required = requiredState;\n    }\n\n    setType(type) {\n        this.type = type;\n    }\n\n    setComponentType(componentType) {\n        this.componentType = componentType;\n    }\n\n    // choices{} functions\n    insertChoice(choiceID) {\n        const choice = new DSFormViewSchemaChoice();\n        this.choices[choiceID] = choice;\n    }\n    \n    removeChoice(choiceID) {\n        delete this.choices[choiceID];\n    }\n\n    resetChoices() {\n        this.choices = {};\n    }\n\n    // choicesOrder[] functions\n    setChoicesOrder(choicesOrder) {\n        this.choicesOrder = [].concat(choicesOrder);\n    }\n\n    insertChoiceIDLast(choiceID) {\n        this.choicesOrder.push(choiceID);\n    }\n\n    insertChoiceIDAfter(choiceID, relativeChoiceID) {\n        let index = this.choicesOrder.indexOf(relativeChoiceID);\n        this.choicesOrder.splice(++index, 0, choiceID);\n    }\n\n    insertChoiceIDBefore(choiceID, relativeChoiceID) {\n        const index = this.choicesOrder.indexOf(relativeChoiceID);\n        this.choicesOrder.splice(index, 0, choiceID);\n    }\n\n    resetChoicesOrder() {\n        this.choicesOrder = [];\n    }\n\n    removeChoiceID(choiceID) {\n        const index = this.choicesOrder.indexOf(choiceID);\n        this.choicesOrder.splice(index, 1);\n    }\n\n}\n","const HASHEDID_REGEX = /([a-zA-Z0-9\\._\\*\\-%]+)|(^[a-zA-Z0-9]{6})/gi;\n\nexport class Filter {\n    constructor() {\n        this.filters     = {};\n        this.filterOrder = [];\n        this.logical     = '';\n        this.condition   = null;\n    }\n\n    delete(filterID) {\n\t\tdelete this.filters[filterID];\n\t\tconst index = this.filterOrder.indexOf(filterID);\n\t\tindex >= 0 && this.filterOrder.splice(index, 1);\n\t}\n\n    update(filterID, fieldID, condition, values) {\n\t\t!this.hasFilterID(filterID) && this.push(filterID);\n\t\tthis.filters[filterID] = [fieldID, condition, values];\n\t}\n\n    setLogical(logicalString) {\n\t\tthis.logical     = logicalString;\n\t\tthis.filterOrder = getOrder(logicalString);\n\t}\n\n    setLogicalString(logicalString) {\n\t\tthis.logical = logicalString;\n\t}\n\n    reorder(filterOrder) {\n\t\tthis.filterOrder = [].concat(filterOrder);\n\t}\n\n    getOrder() {\n\t\treturn this.filterOrder;\n\t}\n\n    getLogicalOperation() {\n\t\treturn this.logical;\n\t}\n\n    getFieldID(filterID) {\n\t\treturn this.filters[filterID][0];\n\t}\n\n    getOperation(filterID) {\n\t\treturn this.filters[filterID][1];\n\t}\n\n    getValues(filterID) {\n\t\treturn this.filters[filterID][2];\n\t}\n\n    reset() {\n\t\tthis.filters     = {};\n\t\tthis.filterOrder = [];\n\t}\n\n    load(filterID, fieldID, condition, values) {\n\t\tthis.filters[filterID] = [fieldID, condition, values];\n\t\tthis.push(filterID);\n\t}\n\n    getFilterCount(fieldID) {\n        let count             = 0;\n        const filterOrder       = this.getOrder();\n        const filterOrderLength = filterOrder.length;\n        let filterID;\n        let currentFieldID;\n        for(let i = 0; i < filterOrderLength; i++) {\n\t\t\tfilterID       = filterOrder[i];\n\t\t\tcurrentFieldID = this.getFieldID(filterID);\n\t\t\tif(currentFieldID === fieldID) {\n\t\t\t\t++count;\n\t\t\t}\n\t\t}\n        return count;\n    }\n\n    hasFilterID(filterID) {\n\t\treturn this.filterOrder.includes(filterID);\n\t}\n\n    push(filterID) {\n\t\tthis.filterOrder.push(filterID);\n\t}\n\n    setCondition(condition) {\n\t\tthis.condition = condition;\n\t}\n\n    getCondition() {\n\t\treturn this.condition;\n\t}\n\n    getCount() {\n\t\treturn this.filterOrder.length;\n\t}\n}\n\nfunction getOrder(logicalString) {\n\tconst order = [];\n\tif (!logicalString.length) {\n\t\treturn order;\n\t}\n\t// const result = logicalString.match(/(.*)/g); //TODO: Make correct regex\n\tconst result = logicalString.match(HASHEDID_REGEX);\n\n\tfor (let i = 0; i < result.length; i++) {\n\t\torder.push(result[i]);\n\t}\n\treturn order;\n}\n","import { Filter } from \"./DSFilter.js\";\n\nexport class ConditionalFormat {\n\tconstructor() {\n\t\tthis.type          = null;\n\t\tthis.conditions    = {};\n\t\tthis.order         = [];\n\t\tthis.fallbackColor = null;\n\t\tthis.selectionFieldID = null;\n\t}\n\n\tgetType() {\n\t\treturn this.type;\n\t}\n\n\tsetType(type) {\n\t\tthis.type = type;\n\t}\n\n\tsetSelectionFieldID(selectionFieldID) {\n\t\tthis.selectionFieldID = selectionFieldID;\n\t}\n\n\tgetSelectionFieldID() {\n\t\treturn this.selectionFieldID;\n\t}\n\n\tinsertColor(id, color) {\n\t\tthis.conditions[id] = new Condition(color);\t\n\t\tthis.order.push(id);\n\t}\n\n\tupdateColor(id, color) {\n\t\tthis.conditions[id].setColor(color);\n\t}\n\n\tgetOrder() {\n\t\treturn this.order;\n\t}\n\n\tgetColor(id) {\n\t\treturn this.conditions[id];\n\t}\n\n\tdeleteColor(id) {\n\t\tdelete this.conditions[id];\n\t\tif (this.order.includes(id)) {\n\t\t\tconst index = this.order.indexOf(id);\n\t\t\tthis.order.splice(index, 1);\n\t\t}\n\t}\n\n\treorder(order) {\n\t\tthis.order = [].concat(order);\n\t}\n\n\tsetFallbackColor(color) {\n\t\tthis.fallbackColor = color;\n\t}\n\n\tgetFallbackColor() {\n\t\treturn this.fallbackColor;\n\t}\n\n\tclearSelectionFieldID() {\n\t\tthis.selectionFieldID = null;\n\t}\n\n\tclearConditions() {\n\t\tthis.conditions    = {};\n\t\tthis.order         = [];\n\t\tthis.fallbackColor = null;\n\t}\n\n\treset() {\n\t\tthis.conditions    = {};\n\t\tthis.order         = [];\n\t\tthis.fallbackColor = null;\n\t\tthis.selectionFieldID = null;\n\t}\n}\n\nexport class Condition {\n\tconstructor(color) {\n\t\tthis.color  = color;\n\t\tthis.filter = new Filter();\n\t}\n\n\tgetColor() {\n\t\treturn this.color;\n\t}\n\n\tgetFilter() {\n\t\treturn this.filter;\n\t}\n\n\tsetColor(color) {\n\t\tthis.color = color;\n\t}\n}\n","interface IGroupMeta {\n    fieldID: string;\n    sortType: \"1\"| \"2\";\n    emptyIcon: boolean | null;\n}\nexport class DSGroupBy {\n    private groupIDsOrder: string[];\n    private groupByMeta: Map<string, IGroupMeta>;\n    constructor() {\n        this.groupIDsOrder = [];\n        this.groupByMeta = new Map();\n    }\n\n    setAllGroupIDs(groupIDs: string[]) {\n        this.groupIDsOrder = groupIDs;\n    }\n\n    getGroupIDs(): string[] {\n        return this.groupIDsOrder;\n    }\n\n    getAllFieldsIDsOfGroups() {\n        const groupIDs = this.getGroupIDs();\n        return groupIDs.map(groupID => {\n            const meta = this.getGroupByMeta(groupID);\n            return meta!.fieldID;\n        })\n    }\n\n    setGroupIDAtLast(groupID: string) {\n        this.groupIDsOrder.push(groupID);\n    }\n\n    removeGroup(groupID: string) {\n        const index = this.groupIDsOrder.indexOf(groupID);\n        if (index > -1) {\n            this.groupIDsOrder.splice(index, 1);\n        }\n        this.groupByMeta.delete(groupID);\n    }\n\n    setGroupByMeta(groupID: string, fieldID: string, sortType: \"1\"| \"2\", emptyIcon: boolean|null) {\n        this.groupByMeta.set(groupID, { fieldID, sortType, emptyIcon });\n    }\n\n    getGroupByMeta(groupID: string) {\n        return this.groupByMeta.get(groupID);\n    }\n\n    insertGroupIDBeforeRelativeID(groupID: string, relativeGroupID: string) {    \n        const toIndex = this.groupIDsOrder.indexOf(relativeGroupID);\n        if (toIndex > -1) {\n            this.groupIDsOrder.splice(toIndex, 0, groupID);\n        }\n    }\n    \n    insertGroupIDAfterRelativeID(groupID: string, relativeGroupID: string) {    \n        const toIndex = this.groupIDsOrder.indexOf(relativeGroupID);\n        if (toIndex > -1) {\n            this.groupIDsOrder.splice(toIndex+1, 0, groupID);\n        }\n    }\n\n    insertGroupByRelativeID(targetGroupID: string, relativeGroupID: string, position: number) {\n        if(relativeGroupID === \"-1\") {\n            this.setGroupIDAtLast(targetGroupID);\n        }\n        else if (position === 0) {\n            this.insertGroupIDBeforeRelativeID(targetGroupID, relativeGroupID);\n        }\n        else {\n            this.insertGroupIDAfterRelativeID(targetGroupID, relativeGroupID);\n        }\n    }\n\n    reOrderGroupIDs(targetGroupID: string, relativeGroupID: string, position: number) {\n        const fromIndex = this.groupIDsOrder.indexOf(targetGroupID);\n        if (fromIndex > -1) {\n            const id = this.groupIDsOrder.splice(fromIndex, 1)[0];\n            if (position === 0) {\n                this.insertGroupIDBeforeRelativeID(id, relativeGroupID);\n            }\n            else {\n                this.insertGroupIDAfterRelativeID(id, relativeGroupID);\n            }\n        } \n    }\n\n    clear() {\n        this.groupIDsOrder = [];\n        this.groupByMeta = new Map();\n    }\n\n}\n","import { IGroupPositionWithRelativeID } from \"../../../Dom/Top/ViewBar/Features/GroupBy/GroupByConstants\";\nimport { GroupID } from \"../../../Types\";\n\nexport class DSGroupByMetaOrder {\n    private groupIDsOrder: Array<GroupID>\n    constructor() {\n        this.groupIDsOrder = [];\n    }\n\n    setAllOrderIDs(ids: Array<GroupID>) {\n        this.groupIDsOrder = ids\n    }\n\n    getIDs() {\n        return this.groupIDsOrder;\n    }\n\n    addGroupIDAtLast(groupID: GroupID) {\n        this.groupIDsOrder.push(groupID);\n    }\n\n    insertGroupIDBeforeRelativeID(targetGroupID: GroupID, relativeGroupID: GroupID) {\n        const toIndex = this.groupIDsOrder.indexOf(relativeGroupID);\n        if(toIndex != -1) {\n            this.groupIDsOrder.splice(toIndex, 0, targetGroupID);\n        }\n    }\n\n    insertGroupIDAfterRelativeID(targetGroupID: GroupID, relativeGroupID: GroupID) {\n        const toIndex = this.groupIDsOrder.indexOf(relativeGroupID);\n        if(toIndex != -1) {\n            this.groupIDsOrder.splice(toIndex+1, 0, targetGroupID);\n        }\n    }\n\n    deleteGroupID(groupID: GroupID) {\n        const index = this.groupIDsOrder.indexOf(groupID);\n        if(index != -1) {\n            this.groupIDsOrder.splice(index, 1);\n        }\n    }\n\n    getPosition(groupID: GroupID): number{\n        return this.groupIDsOrder.indexOf(groupID);\n    }\n\n    getPositionWithRelativeID(groupID: GroupID): IGroupPositionWithRelativeID | undefined {\n        const index = this.groupIDsOrder.indexOf(groupID);\n        if(index === -1) return undefined;\n        \n        if(index > 0) {\n            return {\n                targetGroupID: this.groupIDsOrder[index - 1],\n                position: \"after\"\n            };\n        }\n        \n        if(index < this.groupIDsOrder.length - 1) {\n            return {\n                targetGroupID: this.groupIDsOrder[index + 1],\n                position: \"before\"\n            };\n        }\n    }\n}\n","import { FieldID, GroupID, RecordID } from \"../../../Types\";\nimport { DSGroupByMetaOrder } from \"./DSGroupByMetaOrder\";\n\n\nexport interface IGroupByMeta {\n    value: string,\n    count: number,\n    expand: boolean,\n    summary: Map<FieldID, [number, string]>\n    Order?: DSGroupByMetaOrder\n    Meta?: DSGroupByMetaStorage\n    recordIDsOrder?: Array<RecordID>\n}\n\nexport class DSGroupByMetaStorage {\n    private groupByMeta: Map<GroupID, IGroupByMeta>    \n    constructor() {\n        this.groupByMeta = new Map();\n    }\n\n    setGroupMeta(groupID: GroupID, groupByMeta: IGroupByMeta) {\n        this.groupByMeta.set(groupID, groupByMeta);\n    }\n\n    setAllRecordIDsOrder(groupID: GroupID, recordIDsOrder: Array<RecordID>) {\n        const meta = this.groupByMeta.get(groupID);\n        if(meta) {\n            meta.recordIDsOrder = recordIDsOrder;\n        }\n    }\n    \n    getRecordIDsOrder(groupID: GroupID) {\n        const meta = this.groupByMeta.get(groupID);\n        if(meta && meta.recordIDsOrder) {\n            return meta.recordIDsOrder;\n        }\n        return [];\n    }\n\n    setGroupMetaValue(groupID: GroupID, value: string) {\n        const meta = this.groupByMeta.get(groupID);\n        if(meta) {\n            meta.value = value;\n        }\n    }\n\n    setGroupMetaCount(groupID: GroupID, count: number) {\n        const meta = this.groupByMeta.get(groupID);\n        if(meta) {\n            meta.count = count;\n        }\n    }\n\n    setGroupMetaExpand(groupID: GroupID, expand: boolean) {\n        const meta = this.groupByMeta.get(groupID);\n        if(meta) {\n            meta.expand = expand;\n        }\n    }\n\n    setGroupMetaSummary(groupID: GroupID, summaryFieldID: FieldID, summaryType: number, summaryValue: string) {\n        const meta = this.groupByMeta.get(groupID);\n        if(meta) {\n            meta.summary.set(summaryFieldID, [summaryType, summaryValue]);\n        }\n    }\n\n    deleteRecordIDFromGroupMeta(groupID: GroupID, recordID: RecordID) {\n        const meta = this.groupByMeta.get(groupID);\n        if(meta && meta.recordIDsOrder) {\n            const index = meta.recordIDsOrder.indexOf(recordID);\n            if(index != -1) {\n                meta.recordIDsOrder.splice(index, 1);\n            }\n        }\n    }\n\n    getGroupMeta(groupID: GroupID) {\n        return this.groupByMeta.get(groupID);\n    }\n\n    getCount(groupID: GroupID) {\n        return this.groupByMeta.get(groupID)?.count;\n    }\n\n    insertRecordIDBeforeRelativeID(groupID: GroupID, targetID: RecordID, relativeID: RecordID) {\n        const meta = this.groupByMeta.get(groupID);\n        if(meta && meta.recordIDsOrder && !meta.recordIDsOrder.includes(targetID)) {\n            const toIndex = meta.recordIDsOrder.indexOf(relativeID);\n            if(toIndex != -1) {\n                meta.recordIDsOrder.splice(toIndex, 0, targetID);\n            }\n        }\n    }\n\n    insertRecordIDAfterRelativeID(groupID: GroupID, targetID: RecordID, relativeID: RecordID) {\n        const meta = this.groupByMeta.get(groupID);\n        if(meta && meta.recordIDsOrder && !meta.recordIDsOrder.includes(targetID)) {\n            const toIndex = meta.recordIDsOrder.indexOf(relativeID);\n            if(toIndex != -1) {\n                meta.recordIDsOrder.splice(toIndex + 1, 0, targetID);\n            }\n        }\n    }\n\n    addRecordIDAtLast(groupID: GroupID, recordID: RecordID) {\n        const meta = this.groupByMeta.get(groupID);\n        if(meta) {\n            if( !meta.recordIDsOrder) {\n                meta.recordIDsOrder = [];\n            }\n            if(!meta.recordIDsOrder.includes(recordID)) {\n                meta.recordIDsOrder.push(recordID);\n            }\n        }\n    }\n}","import { FieldID, GroupID, RecordID } from \"../../../Types\";\nimport { DSGroupByMetaOrder } from \"./DSGroupByMetaOrder\";\nimport { DSGroupByMetaStorage, IGroupByMeta } from \"./DSGroupByMetaStorage\";\n\nexport class DSGroupByMeta {\n    private groupByMetaOrder: DSGroupByMetaOrder\n    private groupByMetaMap: DSGroupByMetaStorage\n    constructor() {\n        this.groupByMetaOrder = new DSGroupByMetaOrder();\n        this.groupByMetaMap = new DSGroupByMetaStorage();\n    }\n\n    // Order related APIs starts\n    setAllGroupIDs(groupPath: Array<GroupID>, groupIDs: Array<GroupID>) {\n        this.getGroupPathOrder(groupPath).setAllOrderIDs(groupIDs);\n    }\n\n    getAllGroupIDs(groupPath: Array<GroupID>) {\n        return this.getGroupPathOrder(groupPath).getIDs();\n    }\n\n    getGroupPositionWithRelativeID(groupPath: Array<GroupID>, groupID: GroupID) {\n        return this.getGroupPathOrder(groupPath).getPositionWithRelativeID(groupID);\n    }\n\n    insertGroupID(groupPath: Array<GroupID>, targetGroupID: GroupID, relativeGroupID: GroupID, position: number) {\n        const orderDS = this.getGroupPathOrder(groupPath);\n        if(position === 0) {\n            orderDS.insertGroupIDBeforeRelativeID(targetGroupID, relativeGroupID);\n        }\n        else {\n            orderDS.insertGroupIDAfterRelativeID(targetGroupID, relativeGroupID);\n        }\n    }\n\n    addGroupIDAtLast(groupPath: Array<GroupID>, groupID: GroupID) {\n        const orderDS = this.getGroupPathOrder(groupPath);\n        orderDS.addGroupIDAtLast(groupID);\n    }\n\n    deleteGroupID(groupPath: Array<GroupID>, groupID: GroupID) {\n        const orderDS = this.getGroupPathOrder(groupPath);\n        orderDS.deleteGroupID(groupID);\n    }\n\n    getIndexesOfGroupPath(groupPath: Array<GroupID>): Array<number> {\n        const indexes: Array<number> = [];\n        for(let i=0; i<groupPath.length; i++) {\n            const currentGroupPath = groupPath.slice(0, i);\n            const orderDS = this.getGroupPathOrder(currentGroupPath);\n            const position = orderDS.getPosition(groupPath[i]);\n            indexes.push(position);\n        }\n        return indexes;\n    }\n\n    getGroupPathOrder(groupPath: Array<GroupID>): DSGroupByMetaOrder {\n        if(groupPath.length === 0) {\n            return this.groupByMetaOrder;\n        }\n        else {\n            let group = this.groupByMetaMap.getGroupMeta(groupPath[0]) as IGroupByMeta;\n            for(let i=1; i<groupPath.length; i++) {\n                group = group.Meta!.getGroupMeta(groupPath[i]) as IGroupByMeta;\n            }\n            return group.Order as DSGroupByMetaOrder;\n        }\n    }\n    // Order related APIs ends\n\n\n    // Meta related APIs starts\n    setGroupMeta(groupPath: Array<GroupID>, value: string , count: number, expand: boolean, summary: Map<FieldID, [number, string]>) {\n        const groupByMeta: IGroupByMeta = {\n            value,\n            count,\n            expand,\n            summary,\n            Order: new DSGroupByMetaOrder(),\n            Meta: new DSGroupByMetaStorage()\n        }\n        this.getGroupPathMeta(groupPath.slice(0, groupPath.length-1)).setGroupMeta(groupPath[groupPath.length-1], groupByMeta)\n    }\n\n    setAllRecordIDsOrder(groupPath: Array<GroupID>, recordIDsOrder: Array<RecordID>) {\n        this.getGroupPathMeta(groupPath.slice(0, groupPath.length-1)).setAllRecordIDsOrder(groupPath[groupPath.length-1], recordIDsOrder)\n    }\n\n    insertRecordIDFromRelativeID(groupPath: Array<GroupID>, targetID: RecordID, relativeID: RecordID, position: number) {\n        const groupMeta = this.getGroupPathMeta(groupPath.slice(0, groupPath.length-1));\n        if(position === 0) {\n            groupMeta.insertRecordIDBeforeRelativeID(groupPath[groupPath.length-1], targetID, relativeID);\n        }\n        else {\n            groupMeta.insertRecordIDAfterRelativeID(groupPath[groupPath.length-1], targetID, relativeID);\n        }\n    }\n\n    insertGroupMetaValue(groupPath: Array<GroupID>, value: string) {\n        const groupMeta = this.getGroupPathMeta(groupPath.slice(0, groupPath.length-1));\n        groupMeta.setGroupMetaValue(groupPath[groupPath.length-1], value);\n    }\n\n    insertGroupMetaCount(groupPath: Array<GroupID>, count: number) {\n        const groupMeta = this.getGroupPathMeta(groupPath.slice(0, groupPath.length-1));\n        groupMeta.setGroupMetaCount(groupPath[groupPath.length-1], count);\n    }\n\n    insertGroupMetaExpand(groupPath: Array<GroupID>, expand: boolean) {\n        const groupMeta = this.getGroupPathMeta(groupPath.slice(0, groupPath.length-1));\n        groupMeta.setGroupMetaExpand(groupPath[groupPath.length-1], expand);\n    }\n\n    insertGroupMetaSummary(groupPath: Array<GroupID>, summaryFieldID: FieldID, summaryType: number, summaryValue: string) {\n        const groupMeta = this.getGroupPathMeta(groupPath.slice(0, groupPath.length-1));\n        groupMeta.setGroupMetaSummary(groupPath[groupPath.length-1], summaryFieldID, summaryType, summaryValue);\n    }\n\n    deleteGroupMetaRecordID(groupPath: Array<GroupID>, recordID: RecordID) {\n        const groupMeta = this.getGroupPathMeta(groupPath.slice(0, groupPath.length-1));\n        groupMeta.deleteRecordIDFromGroupMeta(groupPath[groupPath.length-1], recordID);\n    }\n\n    reorderGroupMetaRecordID(fromGroupPath: Array<GroupID>, targetRecordID: RecordID, relativeRecordID: RecordID, position: number, toGroupPath: Array<GroupID>) {\n        const fromGroupMeta = this.getGroupPathMeta(fromGroupPath.slice(0, fromGroupPath.length-1));\n        const toGroupMeta = this.getGroupPathMeta(toGroupPath.slice(0, toGroupPath.length-1));\n        fromGroupMeta.deleteRecordIDFromGroupMeta(fromGroupPath[fromGroupPath.length-1], targetRecordID);\n        if(position === 0) {\n            toGroupMeta.insertRecordIDBeforeRelativeID(toGroupPath[toGroupPath.length-1], targetRecordID, relativeRecordID);\n        }\n        else {\n            toGroupMeta.insertRecordIDAfterRelativeID(toGroupPath[toGroupPath.length-1], targetRecordID, relativeRecordID);\n        }\n    }\n\n    pushRecordIDInGroupMeta(fromGroupPath: Array<GroupID>, targetRecordID: RecordID, toGroupPath: Array<GroupID>) {\n        const fromGroupMeta = this.getGroupPathMeta(fromGroupPath.slice(0, fromGroupPath.length-1));\n        const toGroupMeta = this.getGroupPathMeta(toGroupPath.slice(0, toGroupPath.length-1));\n        fromGroupMeta.deleteRecordIDFromGroupMeta(fromGroupPath[fromGroupPath.length-1], targetRecordID);\n        toGroupMeta.addRecordIDAtLast(toGroupPath[toGroupPath.length-1], targetRecordID);\n    }\n\n    pushRecordIDAtLast(groupPath: Array<GroupID>, recordID: RecordID) {\n        const groupMeta = this.getGroupPathMeta(groupPath.slice(0, groupPath.length-1));\n        groupMeta.addRecordIDAtLast(groupPath[groupPath.length-1], recordID);\n    }\n\n    getCountForGroup(groupPath: Array<GroupID>) {\n        const groupMeta = this.getGroupPathMeta(groupPath.slice(0, groupPath.length-1));\n        return groupMeta.getCount(groupPath[groupPath.length-1]);\n    }\n\n    getRecordIDsOrderForGroup(groupPath: Array<GroupID>) {\n        const groupMeta = this.getGroupPathMeta(groupPath.slice(0, groupPath.length-1));\n        return groupMeta.getRecordIDsOrder(groupPath[groupPath.length-1]);\n    }\n\n    getAllRecordIDsOrder() {\n        const recordIDs: Array<RecordID> = [];\n        this.collectRecordIDs(this.groupByMetaOrder, this.groupByMetaMap, recordIDs);\n        return recordIDs;\n    }\n\n    private collectRecordIDs(order: DSGroupByMetaOrder, map: DSGroupByMetaStorage, recordIDs: Array<RecordID>) {\n        const groupIDs = order.getIDs();\n        for (const groupID of groupIDs) {\n            const groupMeta = map.getGroupMeta(groupID);\n            if (groupMeta) {\n                if (groupMeta.recordIDsOrder) {\n                    recordIDs.push(...groupMeta.recordIDsOrder);\n                }\n                if (groupMeta.Order && groupMeta.Meta) {\n                    this.collectRecordIDs(groupMeta.Order, groupMeta.Meta, recordIDs);\n                }\n            }\n        }\n    }\n\n    getGroupPathMeta(groupPath: Array<GroupID>): DSGroupByMetaStorage {\n        if(groupPath.length === 0) {\n            return this.groupByMetaMap;\n        }\n        else {\n            let group = this.groupByMetaMap.getGroupMeta(groupPath[0]) as IGroupByMeta;\n            for(let i=1; i< groupPath.length; i++) {\n                group = group.Meta!.getGroupMeta(groupPath[i]) as IGroupByMeta;\n            }\n            return group.Meta as DSGroupByMetaStorage;\n        }\n    }\n\n    // Meta related APIs ends\n    \n    clear() {\n        this.groupByMetaOrder = new DSGroupByMetaOrder();\n        this.groupByMetaMap = new DSGroupByMetaStorage();\n    }\n}\n\n\n","export class ShareView{\n\tconstructor() {\n\t\tthis.url                       = null;\n\t\tthis.accessPeopleType          = null;\n\t\tthis.hasPassword               = null;\n\t\tthis.restrictMultipleResponses = null;\n\t\tthis.expiryDate                = null;\n\t\tthis.status                    = null;\n\t}\n\n\tsetURL(url) {\n\t\tthis.url = url;\n\t}\n\n\tgetURL() {\n\t\treturn this.url;\n\t}\n\n\tsetAccessPeopleType(type) {\n\t\tthis.accessPeopleType = type;\n\t}\n\n\tgetAccessPeopleType() {\n\t\treturn this.accessPeopleType;\n\t}\n\n\tsetExpiryDate(timeStamp) {\n\t\tthis.expiryDate = timeStamp;\n\t}\n\n\tgetExpiryDate() {\n\t\treturn this.expiryDate;\n\t}\n\n\tsetStatus(bool) {\n\t\tthis.status = bool;\n\t}\n\n\tgetStatus() {\n\t\treturn this.status;\n\t}\n\n\tsetPassword(bool) {\n\t\tthis.hasPassword = bool;\n\t}\n\n\tisHavingPassword() {\n\t\treturn this.hasPassword;\n\t}\n\n\tsetRestrictMultipleResponses(bool) {\n\t\tthis.restrictMultipleResponses = bool;\n\t}\n\n\tgetRestrictMultipleResponses() {\n\t\treturn this.restrictMultipleResponses;\n\t}\n}\n\n","\nexport class Sort {\n    constructor() {\n        this.sorts     = {};\n        this.sortOrder = [];\n    }\n\n    delete(sortID) {\n        delete this.sorts[sortID];\n        const index = this.sortOrder.indexOf(sortID);\n        this.sortOrder.splice(index, 1);\n    }\n\n    update(sortID, fieldID, sortType) {\n        this.sorts[sortID] = [fieldID, sortType];\n    }\n\n    reorder(sortOrder) {\n        this.sortOrder = [];\n        this.sortOrder = this.sortOrder.concat(sortOrder);\n    }\n\n    getSortIDs() {\n        return this.sortOrder;\n    }\n\n    getFieldID(sortID) {\n        return this.sorts[sortID][0];\n    }\n\n    getType(sortID) {\n        return this.sorts[sortID][1];\n    }\n\n    reset() {\n        this.sorts     = {};\n        this.sortOrder = [];\n    }\n\n    load(sortID, fieldID, sortType) {\n        this.sorts[sortID] = [fieldID, sortType];\n        this.sortOrder.push(sortID);\n    }\n\n    getCount() {\n        return this.sortOrder.length;\n    }\n\n    hasAnySort() {\n        return !!this.getCount();\n    }\n\n    getSortIDFromFieldID(fieldID) {\n        for(const sortID in this.sorts) {\n            if(this.sorts[sortID][0] === fieldID) {\n                return sortID;\n            }\n        }\n        return null;\n    }\n\n    isFieldIDSorted(fieldID) {\n        return !!this.getSortIDFromFieldID(fieldID);\n    }\n}\n","export class DSActiveViewUser {\n    private userID: string;\n    private userName: string;\n    private emailID: string;\n    private role: number;\n    private moduleType: number;\n    private isBaseEnabled: boolean;\n    private isEditableUser: boolean;\n    constructor(userID: string, userName: string, emailID: string, role: number, moduleType: number, isBaseEnabled: boolean, isEditableUser: boolean) {\n        this.userID = userID;\n        this.userName = userName;\n        this.emailID = emailID;\n        this.role = role;\n        this.moduleType = moduleType;\n        this.isBaseEnabled = isBaseEnabled;\n        this.isEditableUser = isEditableUser;\n    }\n\n    getUserID() {\n        return this.userID;\n    }\n\n    setUserID(userID: string) {\n        this.userID = userID;\n    }\n\n    getUserName() {\n        return this.userName;\n    }\n\n    setUserName(userName: string) {\n        this.userName = userName;\n    }\n\n    getEmailID() {\n        return this.emailID;\n    }\n\n    setEmailID(emailID: string) {\n        this.emailID = emailID;\n    }\n\n    getRole() {\n        return this.role;\n    }\n\n    setRole(role: number) {\n        this.role = role;\n    }\n\n    getModuleType() {\n        return this.moduleType;\n    }   \n\n    setModuleType(moduleType: number) {\n        this.moduleType = moduleType;\n    }\n\n    getIsBaseEnabled() {\n        return this.isBaseEnabled;\n    }\n\n    setIsBaseEnabled(bool: boolean) {\n        this.isBaseEnabled = bool;\n    }\n\n    getIsEditableUser() {\n        return this.isEditableUser;\n    }\n\n    setIsEditableUser(bool: boolean) {\n        this.isEditableUser = bool;\n    }\n}\n","export class DSInactiveViewUser {\n    private userName: string;\n    private emailID: string;\n    private role: number;\n    private moduleType: number;\n    private isBaseEnabled: boolean;\n    private isEditableUser: boolean;\n    constructor(userName: string, emailID: string, role: number, moduleType: number, isBaseEnabled: boolean, isEditableUser: boolean) {\n        this.emailID = emailID;\n        this.userName = userName;\n        this.role = role;\n        this.moduleType = moduleType;\n        this.isBaseEnabled = isBaseEnabled;\n        this.isEditableUser = isEditableUser;\n    }\n\n    getUserName() {\n        return this.userName;\n    }\n\n    setUserName(userName: string) {\n        this.userName = userName;\n    }\n\n    getEmailID() {\n        return this.emailID;\n    }\n\n    setEmailID(emailID: string) {\n        this.emailID = emailID;\n    }\n\n    getRole() {\n        return this.role;\n    }\n\n    setRole(role: number) {\n        this.role = role;\n    }\n\n    getModuleType() {\n        return this.moduleType;\n    }   \n\n    setModuleType(moduleType: number) {\n        this.moduleType = moduleType;\n    }\n\n    getIsBaseEnabled() {\n        return this.isBaseEnabled;\n    }\n\n    setIsBaseEnabled(bool: boolean) {\n        this.isBaseEnabled = bool;\n    }\n\n    getIsEditableUser() {\n        return this.isEditableUser;\n    }\n\n    setIsEditableUser(bool: boolean) {\n        this.isEditableUser = bool;\n    }\n}\n","import { DSActiveViewUser } from \"./DSActiveViewUser\";\nimport { DSInactiveViewUser } from \"./DSInactiveViewUser\";\n\nexport class DSViewCollaborator {\n    private readonly activeUsers: Map<string, DSActiveViewUser>;\n    private readonly inactiveUsers: Map<string, DSInactiveViewUser>;\n    constructor() {\n        this.activeUsers       = new Map();\n        this.inactiveUsers     = new Map();\n    }\n\n    addActiveUser(collabID: string, userID: string, userName: string, emailID: string, role: number, moduleType: number, isBaseEnabled: boolean, isEditableUser: boolean) {\n        const user = new DSActiveViewUser(userID, userName, emailID, role, moduleType, isBaseEnabled, isEditableUser);\n        this.activeUsers.set(collabID, user);\n    }\n\n    getAllActiveUsersID() {\n        return Array.from(this.activeUsers.keys());\n    }\n\n    getActiveUser(collabID: string) {\n        return this.activeUsers.get(collabID);\n    }\n\n    addInactiveUser(collabID: string, userName: string, emailID: string, role: number, moduleType: number, isBaseEnabled: boolean, isEditableUser: boolean) {\n        const user = new DSInactiveViewUser(userName, emailID, role, moduleType, isBaseEnabled, isEditableUser);\n        this.inactiveUsers.set(collabID, user);\n    }\n\n    getAllInactiveUsersID() {\n        return Array.from(this.inactiveUsers.keys());\n    }\n\n    getInactiveUser(collabID: string) {\n        return this.inactiveUsers.get(collabID);\n    }\n\n    updateActiveUser(collabID: string, userID: string, userName: string, emailID: string, role: number, moduleType: number, isEditableUser: boolean) {\n        const user = this.activeUsers.get(collabID);\n        if (user) {\n            user.setUserID(userID);\n            user.setUserName(userName);\n            user.setEmailID(emailID);\n            user.setRole(role);\n            user.setModuleType(moduleType);\n            user.setIsEditableUser(isEditableUser);\n        }\n    }\n\n    updateInactiveUser(collabID: string, userName: string, emailID: string, role: number, moduleType: number, isEditableUser: boolean) {\n        const user = this.inactiveUsers.get(collabID);\n        if (user) {\n            user.setUserName(userName);\n            user.setEmailID(emailID);\n            user.setRole(role);\n            user.setModuleType(moduleType);\n            user.setIsEditableUser(isEditableUser);\n        }\n    }\n\n    removeActiveUser(collabID: string) {\n        this.activeUsers.delete(collabID);\n    }\n\n    removeInactiveUser(collabID: string) {\n        this.inactiveUsers.delete(collabID);\n    }\n}\n","import { ConditionalFormat } from \"./DSConditionalFormat.js\";\nimport { Filter } from \"./DSFilter.js\";\nimport { DSGroupBy } from \"./DSGroupBy.ts\";\nimport { DSGroupByMeta } from \"./DSGroupByMeta.ts\";\nimport { ShareView } from \"./DSShareView.js\";\nimport { Sort } from \"./DSSort.js\";\nimport { DSViewCollaborator } from \"./DSViewCollaborator\";\n\n\nexport const packsize = 16;\n\nexport class DSView {\n    constructor() {\t\n        this.sort   = new Sort();\n        this.filter = new Filter();\n        this.conditionalFormat = new ConditionalFormat();\n\t\tthis.shareView = new ShareView();\n\t\tthis.collaboratorView = new DSViewCollaborator();\n\t\tthis.groupBy = new DSGroupBy();\n\t\tthis.groupByMeta = new DSGroupByMeta();\n\n\t\tthis.currentUserRole = null;\n\n\t\tthis.loaded = 0;\n\t\tthis.canRegisterViewport = true;\n\n\t\tthis.isRecordColorApplied = false;\n        this.UID    = 0;\n    }\n\n    getName() {\n\t\treturn this.viewName;\n\t}\n\n    setName(viewName) {\n\t\tthis.viewName = viewName;\n\t}\n\n    getDescription() {\n\t\treturn this.description;\n\t}\n\n    setDescription(desc) {\n\t\tthis.description = desc;\n\t}\n\n    // getGroupBy() {\n\t// \treturn this.groupBy;\n\t// }\n\n    // setGroupBy(groupBy) {\n\t// \tthis.groupBy.push(groupBy);\n\t// }\n\n    getFilter() {\n\t\treturn this.filter;\n\t}\n\n    getSort() {\n\t\treturn this.sort;\n\t}\n\n    getConditionalFormat() {\n\t\treturn this.conditionalFormat;\n\t}\n\n\tgetShareDetails() {\n\t\treturn this.shareView\n\t}\n\n    setType(type) {\n\t\tthis.type = type;\n\t}\n\n    getType() {\n\t\treturn this.type;\n\t}\n\n    setUID(xid, viewID) {\n\t\tthis.UID = (xid*100) + viewID;\n\t}\n\n    getUID() {\n\t\treturn this.UID;\n\t}\n\n\tsetCurrentUserRole(role) {\n\t\tthis.currentUserRole = role;\n\t}\n\n\tgetCurrentUserRole() {\n\t\treturn this.currentUserRole;\n\t}\n\n\taddActiveCollaborator(collabID, userID, userName, emailID, role, moduleType, isBaseEnabled, isEditableUser) {\n\t\tthis.collaboratorView.addActiveUser(collabID, userID, userName, emailID, role, moduleType, isBaseEnabled, isEditableUser);\n\t}\n\n\taddInactiveCollaborator(collabID, userName, emailID, role, moduleType, isBaseEnabled, isEditableUser) {\n\t\tthis.collaboratorView.addInactiveUser(collabID, userName, emailID, role, moduleType, isBaseEnabled, isEditableUser);\n\t}\n\n\tupdateActiveUser(collabID, userID, userName, emailID, role, moduleType, isEditableUser) {\n\t\tthis.collaboratorView.updateActiveUser(collabID, userID, userName, emailID, role, moduleType, isEditableUser);\n\t}\n\n\tupdateInactiveUser(collabID, userName, emailID, role, moduleType, isEditableUser) {\n\t\tthis.collaboratorView.updateInactiveUser(collabID, userName, emailID, role, moduleType, isEditableUser);\n\t}\n\n    removeActiveUser(collabID) {\n        this.collaboratorView.removeActiveUser(collabID);\n    }\n\n    removeInactiveUser(collabID) {\n        this.collaboratorView.removeInactiveUser(collabID);\n    }\n\n\tgetAllActiveUsersID() {\n\t\treturn this.collaboratorView.getAllActiveUsersID();\n\t}\n\n\tgetAllInactiveUsersID() {\n\t\treturn this.collaboratorView.getAllInactiveUsersID();\n\t}\n\n\tgetActiveUser(collabID) {\n\t\treturn this.collaboratorView.getActiveUser(collabID);\n\t}\n\n\tgetInactiveUser(collabID) {\n\t\treturn this.collaboratorView.getInactiveUser(collabID);\n\t}\n\n\tsetAllGroupIDs(groupIDs) {\n\t\tthis.groupBy.setAllGroupIDs(groupIDs);\n\t}\n\n\tsetGroupIDAtLast(groupID) {\n\t\tthis.groupBy.setGroupIDAtLast(groupID);\n\t}\n\n\tsetGroupByMeta(groupID, fieldID, sortType, isEmptyIconApplied) {\n\t\tthis.groupBy.setGroupByMeta(groupID, fieldID, sortType, isEmptyIconApplied)\n\t}\n\n\tinsertGroupByRelativeID(targetGroupID, relativeGroupID, position) {\n\t\tthis.groupBy.insertGroupByRelativeID(targetGroupID, relativeGroupID, position);\n\t}\n\n\tremoveGroup(groupID) {\n\t\tthis.groupBy.removeGroup(groupID);\n\t}\n\n\treOrderGroupIDs(targetGroupID, relativeGroupID, position) {\n\t\tthis.groupBy.reOrderGroupIDs(targetGroupID, relativeGroupID, position);\n\t}\n\n\tisGrouped() {\n\t\treturn this.groupBy.getGroupIDs().length !== 0;\n\t}\n\n\tgetGroupByCount() {\n\t\treturn this.groupBy.getGroupIDs().length;\n\t}\n\n\tgetGroupByLastID() {\n\t\treturn this.groupBy.getGroupIDs()[this.getGroupByCount()-1];\n\t}\n\n\tgetFieldIDFromGroup(groupID) {\n\t\treturn this.groupBy.getGroupByMeta(groupID).fieldID;\n\t}\n\n\tgetSortTypeFromGroup(groupID) {\n\t\treturn this.groupBy.getGroupByMeta(groupID).sortType;\n\t}\n\n\tgetEmptyIconFromGroup(groupID) {\n\t\treturn this.groupBy.getGroupByMeta(groupID).emptyIcon;\n\t}\n\n\tgetAllGroupIDs() {\n\t\treturn this.groupBy.getGroupIDs();\n\t}\n\n\tgetAllFieldsIDsOfGroups() {\n\t\treturn this.groupBy.getAllFieldsIDsOfGroups();\n\t}\n\n\tisGroupByApplied() {\n\t\treturn this.groupBy.getGroupIDs().length > 0\n\t}\n\n\tsetGroupMetaAllGroupIDs(groupPath, groupIDs) {\n\t\tthis.groupByMeta.setAllGroupIDs(groupPath, groupIDs);\n\t}\n\n\tinsertGroupMetaGroupID(groupPath, targetGroupID, relativeGroupID, position) {\n\t\tthis.groupByMeta.insertGroupID(groupPath, targetGroupID, relativeGroupID, position);\n\t}\n\n\taddGroupMetaIDAtLast(groupPath, groupID) {\n\t\tthis.groupByMeta.addGroupIDAtLast(groupPath, groupID);\n\t}\n\n\tdeleteGroupMetaGroupID(groupPath, groupID) {\n\t\tthis.groupByMeta.deleteGroupID(groupPath, groupID);\n\t}\n\n\tsetGroupMeta(groupPath, value, count, expand, summary) {\n\t\tconst map = new Map();\n\t\tconst summaryFieldIDs    = Object.keys(summary);\n\t\tfor(let j=0; j<summaryFieldIDs.length; j++) {\n\t\t\tconst summaryFieldID = summaryFieldIDs[j];\n\t\t\tconst summaryType    = summary[summaryFieldID][0];\n\t\t\tconst summaryValue   = summary[summaryFieldID][1];\n\t\t\tmap.set(summaryFieldID, [summaryType, summaryValue]);\n\t\t}\n\t\tthis.groupByMeta.setGroupMeta(groupPath, value, count, expand, map);\n\t}\n\n\tsetAllRecordIDsOrder(groupPath, recordIDs) {\n\t\tthis.groupByMeta.setAllRecordIDsOrder(groupPath, recordIDs);\n\t}\n\n\tinsertRecordIDFromRelativeID(groupPath, targetID, relativeID, position) {\n\t\tthis.groupByMeta.insertRecordIDFromRelativeID(groupPath, targetID, relativeID, position);\n\t}\n\n\tpushRecordIDAtLast(groupPath, recordID) {\n\t\tthis.groupByMeta.pushRecordIDAtLast(groupPath, recordID);\n\t}\n\n\tinsertGroupMetaValue(groupPath, value) {\n\t\tthis.groupByMeta.insertGroupMetaValue(groupPath, value);\n\t}\n\n\tinsertGroupMetaCount(groupPath, count) {\n\t\tthis.groupByMeta.insertGroupMetaCount(groupPath, count);\n\t}\n\n\tinsertGroupMetaExpand(groupPath, expand) {\n\t\tthis.groupByMeta.insertGroupMetaExpand(groupPath, expand);\n\t}\n\n\tinsertGroupMetaSummary(groupPath, summaryFieldID, summaryType, summaryValue) {\n\t\tthis.groupByMeta.insertGroupMetaSummary(groupPath, summaryFieldID, summaryType, summaryValue);\n\t}\n\n\tdeleteGroupMetaRecordID(groupPath, recordID) {\n\t\tthis.groupByMeta.deleteGroupMetaRecordID(groupPath, recordID);\n\t}\n\n\treorderRecordIDsFromGroupMeta(fromGroupPath, targetRecordID, relativeRecordID, position, toGroupPath) {\n\t\trelativeRecordID !== -1 ? this.groupByMeta.reorderGroupMetaRecordID(fromGroupPath, targetRecordID, relativeRecordID, position, toGroupPath) : this.groupByMeta.pushRecordIDInGroupMeta(fromGroupPath, targetRecordID, toGroupPath);\n\t}\n\n\tgetRecordIDsFromGroupMeta(groupPath) {\n\t\treturn this.groupByMeta.getRecordIDsOrderForGroup(groupPath);\n\t}\n\n\tgetRecordCountFromGroupMeta(groupPath) {\n\t\treturn this.groupByMeta.getCountForGroup(groupPath);\n\t}\n\n\tgetRecordIndexAndGroupPath(recordID) {\n\t\tconst searchInGroupPath = (groupPath) => {\n\t\t\tconst groupIDs = this.groupByMeta.getAllGroupIDs(groupPath);\n\t\t\t\n\t\t\tfor (const groupID of groupIDs) {\n\t\t\t\tconst currentPath = [...groupPath, groupID];\n\t\t\t\tconst meta = this.groupByMeta.getGroupPathMeta(groupPath).getGroupMeta(groupID);\n\t\t\t\t\n\t\t\t\t// Check if record exists in current group's recordIDsOrder\n\t\t\t\tif (meta.recordIDsOrder?.includes(recordID)) {\n\t\t\t\t\treturn [meta.recordIDsOrder.indexOf(recordID), currentPath];\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t// If group has children, recursively search\n\t\t\t\tif (meta.Order) {\n\t\t\t\t\tconst result = searchInGroupPath(currentPath);\n\t\t\t\t\tif (result) {\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null;\n\t\t};\n\t\t\n\t\treturn searchInGroupPath([]);\n\t}\n\n\tgetGroupIndexes(groupPath) {\n\t\treturn this.groupByMeta.getIndexesOfGroupPath(groupPath);\n\t}\n\n\tgetRecordIndexWithGroupPath(recordID, groupPath) {\n\t\treturn this.groupByMeta.getRecordIDsOrderForGroup(groupPath).indexOf(recordID)\n\t}\n\n\tgetAllRecordIDsFromGroupMeta() {\n\t\treturn this.groupByMeta.getAllRecordIDsOrder();\n\t}\n\n\tgetAllGroupIDsFromGroupMeta(groupPath) {\n\t\treturn this.groupByMeta.getAllGroupIDs(groupPath);\n\t}\n\n\tgetGroupPathMeta(groupPath) {\n\t\treturn this.groupByMeta.getGroupPathMeta(groupPath);\n\t}\n\n\tgetPositionOfGroupWithRelativeID(groupPath, groupID) {\n\t\treturn this.groupByMeta.getGroupPositionWithRelativeID(groupPath, groupID)\n\t}\n\t\n\tgetIsRecordColorApplied() {\n\t\treturn this.isRecordColorApplied;\n\t}\n\n\tsetIsRecordColorApplied(isApplied) {\n\t\tthis.isRecordColorApplied = isApplied;\n\t}\n\n\tclearGroupByDialog() {\n\t\tthis.groupBy.clear();\n\t}\n\n\tclearGroupMeta() {\n\t\tthis.groupByMeta.clear();\n\t}\n\n\tupdateLoaded(currLoaded) {\n\t\tthis.loaded = this.loaded | currLoaded;\n\t}\n\n\tgetLoaded() {\n\t\treturn this.loaded;\n\t}\n\n\tsetCanRegisterViewport(canRegister) {\n\t\tthis.canRegisterViewport = canRegister;\n\t}\n\n\tgetCanRegisterViewport() {\n\t\treturn this.canRegisterViewport;\n\t}\n}\n","\nimport { FORM } from \"../../../Constants/ViewTypes.js\";\nimport { DSFormViewCoverImage } from \"./DSFormViewCoverImage.js\";\nimport { DSFormViewLogo } from \"./DSFormViewLogo.js\";\nimport { DSFormViewNameParameters } from \"./DSFormViewNameParameters.js\";\nimport { DSFormViewSchema } from \"./DSFormViewSchema.js\";\nimport { DSView } from \"./DSView.js\";\n\nexport class DSFormView extends DSView {\n    constructor(viewMeta) {\n        super();\n        this.meta = viewMeta;\n\n        this.coverImage     = new DSFormViewCoverImage();\n        this.logo           = new DSFormViewLogo();\n        this.nameParameters = new DSFormViewNameParameters();\n        this.formName       = this.formDescription = this.labelAlignment = this.colorTheme = this.submitButtonName = this.branding = this.redirectURL = this.messageAfterSubmit = null;\n        this.schemas        = {};\n        \n        this.fieldOrder  = [];\n        this.fieldWidths = {};\n\n        this.fieldSchemaPairs = {};\n\n        this.loaded = 0;\n\t\tthis.currentUserRole = null;\n    }\n\n    //getters\n    getCoverImage() {\n        return this.coverImage;\n    }\n\n\tsetCurrentUserRole(role) {\n\t\tthis.currentUserRole = role;\n\t}\n\n\tgetCurrentUserRole() {\n\t\treturn this.currentUserRole;\n\t}\n\n    getLogo() {\n        return this.logo;\n    }\n\n    getFormName() {\n        return this.formName;\n    }\n\n    getFormDescription() {\n        return this.formDescription;\n    }\n\n    getNameParameters() {\n        return this.nameParameters;\n    }\n\n    getLabelAlignment() {\n        return this.labelAlignment;\n    }\n\n    getColorTheme() {\n        return this.colorTheme;\n    }\n\n    getSubmitButtonName() {\n        return this.submitButtonName;\n    }\n\n    getBranding() {\n        return this.branding;\n    }\n\n    getRedirectURL() {\n        return this.redirectURL;\n    }\n\n    getMessageAfterSubmit() {\n        return this.messageAfterSubmit;\n    }\n\n    // schemas{} functions\n    getSchema(schemaID) {\n        return this.schemas[schemaID];\n    }\n\n    // fieldOrder[] functions\n    getFieldOrder() {\n        return this.fieldOrder;\n    }\n\n    getFieldsCount() {\n        return this.fieldOrder.length;\n    }\n\n    getFieldIDFromIndex(index) {\n        return this.fieldOrder[index];\n    }\n\n    getIndexFromFieldID(fieldID) {\n        return this.fieldOrder.indexOf(fieldID);\n    }\n    \n    // fieldWidths{} functions\n    getFieldWidth(fieldID) {\n        return this.fieldWidths[fieldID];\n    }\n\n    // fieldSchemaPairs{} functions\n    getSchemaIDFromFieldID(fieldID) {\n        return this.fieldSchemaPairs[fieldID];\n    }\n\n    //setters\n    setFormName(formName) {\n        this.formName = formName;\n    }\n\n    setFormDescription(formDescription) {\n        this.formDescription = formDescription;\n    }\n\n    setLabelAlignment(labelAlignment) {\n        this.labelAlignment = labelAlignment;\n    }\n\n    setColorTheme(colorTheme) {\n        this.colorTheme = colorTheme;\n    }\n\n    setSubmitButtonName(submitButtonName) {\n        this.submitButtonName = submitButtonName;\n    }\n\n    setBranding(branding) {\n        this.branding = branding;\n    }\n\n    setRedirectURL(url) {\n        this.redirectURL = url;\n    }\n\n    setMessageAfterSubmit(message) {\n        this.messageAfterSubmit = message;\n    }\n\n    // schemas{} functions\n    insertSchema(schemaID) {\n        const schema = new DSFormViewSchema();\n        this.schemas[schemaID] = schema;\n    }\n\n    removeSchema(schemaID) {\n        delete this.schemas[schemaID];\n    }\n\n    resetSchemas() {\n        this.schemas = {};\n    }\n   \n    // fieldOrder[] functions\n    setFieldOrder(fieldOrder) {\n        this.fieldOrder = [].concat(fieldOrder);\n    }\n\n    insertFieldIDLast(fieldID) {\n        this.fieldOrder.push(fieldID);\n    }\n\n    insertFieldIDAfter(fieldID, relativeFieldID) {\n        const index = this.fieldOrder.indexOf(relativeFieldID);\n        this.fieldOrder.splice(index+1, 0, fieldID);\n    }\n\n    insertFieldIDBefore(fieldID, relativeFieldID) {\n        const index = this.fieldOrder.indexOf(relativeFieldID);\n        this.fieldOrder.splice(index, 0, fieldID);\n    }\n\n    setFieldIDAfter(fieldID, relativeFieldID) {\n        const targetIndex = this.fieldOrder.indexOf(fieldID);\n        this.fieldOrder.splice(targetIndex, 1);\n\n        const relativeIndex = this.fieldOrder.indexOf(relativeFieldID);\n        this.fieldOrder.splice(relativeIndex+1, 0, fieldID);\n    }\n\n    setFieldIDBefore(fieldID, relativeFieldID) {\n        const targetIndex = this.fieldOrder.indexOf(fieldID);\n        this.fieldOrder.splice(targetIndex, 1);\n\n        const relativeIndex = this.fieldOrder.indexOf(relativeFieldID);\n        this.fieldOrder.splice(relativeIndex, 0, fieldID);\n    }\n\n    resetFieldOrder() {\n        this.fieldOrder = [];\n    }\n\n    removeFieldID(fieldID) {\n        const index = this.fieldOrder.indexOf(fieldID);\n        this.fieldOrder.splice(index, 1);\n    }\n\n    // fieldWidths{} functions\n    setFieldWidth(fieldID, fieldWidth) {\n        this.fieldWidths[fieldID] = fieldWidth;\n    }\n\n    toggleFieldWidth(fieldID) {\n        const fieldWidth = this.getFieldWidth(fieldID);\n        this.setFieldWidth(fieldID, -1 * fieldWidth);\n    }\n\n    removeFieldWidth(fieldID) {\n        delete this.fieldWidths[fieldID];\n    }\n\n    resetFieldWidths() {\n        this.fieldWidths = {};\n    }\n\n    isFieldVisible(fieldID) {\n        const fieldWidth = this.getFieldWidth(fieldID);\n        if(fieldWidth <= 0) {\n            return false;\n        }\n        return true;\n    }\n\n    //fieldSchemaPairs{} functions\n    insertFieldSchemaPair(fieldID, schemaID) {\n        this.fieldSchemaPairs[fieldID] = schemaID;\n    }\n\n    removeFieldSchemaPair(fieldID) {\n        delete this.fieldSchemaPairs[fieldID];\n    }\n\n    resetFieldSchemaPairs() {\n        this.fieldSchemaPairs = {};\n    }\n\n    getVisibleSchemasCount() {\n        let count = 0;\n        this.fieldOrder.forEach((fieldID) => {\n            if(this.fieldWidths[fieldID] > 0) {\n                ++count;\n            }\n        });\n        return count;\n    }\n\n    // other functions\n    getType() {\n        return 'Form'; // No I18N\n    }\n\n    getTypeNumber() {\n        return FORM;\n    }\n\n    updateLoaded(currLoaded) {\n        this.loaded = this.loaded | currLoaded;\n    }\n\n    getLoaded() {\n        return this.loaded;\n    }\n\n    resetBitset(fetchConstant) {\n        const viewLoadConstant = Table.Constants.onFormLoad.View;\n        const multiplier = viewLoadConstant ^ fetchConstant;\n        this.loaded &= multiplier;\n    }\n\n    // TODO: to remove below functions, we need to handle \"dataParser.attach();\" line in attachWorkerParser.js \n    onFieldHide(id) {}\n    onFieldDelete(fieldID) { // mandatory method\n\t\tthis.removeFieldID(fieldID);\n\t\tthis.removeFieldWidth(fieldID);\n\t\tthis.removeFieldSchemaPair(fieldID);\n    }\n    onFieldInsertAfter() {}\n    onFieldInsertBefore() {}\n\n    isViewCreated() { // this method is used in \"IProductTourControllerDataProvider.ts -> isViewCreated()\" implementation\n\t\treturn true;\n\t}\n}\n","\nexport class MultiSelect {\n    constructor() {\n        this.order  = [];\n        this.values = {};\n    }\n\n    reorder(order) {\n        this.order = [];\n        this.order = this.order.concat(order);\n    }\n\n    delete(id) {\n        delete this.values[id];\n        const index = this.order.indexOf(id);\n        this.order.splice(index, 1);\n    }\n\n    update(id, color, name) {\n        this.values[id] = [color, name];\n    }\n\n    getOrder() {\n        return this.order;\n    }\n\n    getCount() {\n        return this.order.length;\n    }\n\n    getID(index) {\n        return this.order[index];\n    }\n\n    getColor(id) {\n        return this.values[id][0];\n    }\n\n    getName(id) {\n        return this.values[id][1];\n    }\n\n    reset() {\n        this.order  = [];\n        this.values = {};\n    }\n\n    push(id) {\n        this.order.push(id);\n    }\n\n    hasOption(id) {\n        return this.values[id] ? true : false;\n    }\n}\n\n","\nimport { Collaborator } from \"../DataStore/DS/Storage/DSCollaborator.js\";\nimport { Field } from \"../DataStore/DS/Storage/DSField.js\";\nimport { DSFormView } from \"../DataStore/DS/Storage/DSFormView.js\";\nimport { MultiSelect } from \"../DataStore/DS/Storage/DSMultiSelect.js\";\n\nexport class FormDataStore {\n\n\tconstructor() {\n\t\tthis.isAttachmentPreviewNeeded = null;\n\t\tthis.teamDriveServerURL   = null; // workDrive URL\n\t\tthis.teamDriveDownloadURL = null;\n\t\tthis.teamDrivePreviewURL  = null;\n\t\tthis.imageServerURL       = null;\n\t\tthis.timeZone             = null;\n\t\tthis.baseColor            = null;\n\t\tthis.shareID              = null;\n\t\tthis.multipleSubmit       = null;\n\n\t\tthis.collaboratorDS  = new Collaborator(() => {\n\t\t\treturn this.baseColor;\n\t\t}, () => {\n\t\t\treturn this.imageServerURL;\n\t\t});\n\n\t\tthis.formViewDS      = new DSFormView();\n\t\tthis.selectionsDS    = {};\n\t\tthis.fieldsDS        = {};\n\t\tthis.mandatoryFields = [];\n\t\tthis.planType        = null;\n\t}\n\n\tsetIsAttachmentPreviewNeeded(isAttachmentPreviewNeeded) {\n\t\tthis.isAttachmentPreviewNeeded = isAttachmentPreviewNeeded;\n\t}\n\t\n\tsetTeamDriveServerURL(teamDriveServerURL) {\n\t\tthis.teamDriveServerURL = teamDriveServerURL;\n\t}\n\t\n\tsetTeamDriveDownloadURL(teamDriveDownloadURL) {\n\t\tthis.teamDriveDownloadURL = teamDriveDownloadURL;\n\t}\n\n\tsetTeamDrivePreviewURL(teamDrivePreviewURL) {\n\t\tthis.teamDrivePreviewURL = teamDrivePreviewURL;\n\t}\n\n\tsetImageServerURL(imageServerURL) {\n\t\tthis.imageServerURL = imageServerURL;\n\t}\n\n\tsetMultiSubmit(multipleSubmit) {\n\t\tthis.multipleSubmit = multipleSubmit;\n\t}\n\n\tsetTimeZone(timeZone) {\n\t\tthis.timeZone = timeZone;\n\t}\n\n\tsetBaseColor(baseColor) {\n\t\tthis.baseColor = baseColor;\n\t}\n\n\tsetPlanType(planType) {\n\t\tthis.planType = planType;\n\t}\n\n\taddActiveUser(ID, userID, userName, userEmailID, userPermission, moduleType, userIsEnabled, userIsEditable) {\n\t\tthis.collaboratorDS.addActiveUser(ID, userID, userName, userEmailID, userPermission, moduleType, userIsEnabled, userIsEditable);\n\t}\n\n\tinsertSelectionOption(selectionID, optionID, optionColor, optionName) {\n\t\tif(!this.selectionsDS[selectionID]) {\n\t\t\tthis.selectionsDS[selectionID] = new MultiSelect()\n\t\t}\n\t\t\n\t\tthis.selectionsDS[selectionID].update(optionID, optionColor, optionName);\n\t\tthis.selectionsDS[selectionID].push(optionID);\n\t}\n\n\tinsertField(fieldID, fieldName, fieldType, fieldParameters) {\n\t\t\n\t\tconst fieldDS = new Field();\n\t\tfieldDS.setName(fieldName);\n\t\tfieldDS.setType(fieldType);\n\t\tfieldDS.setParameters(fieldParameters);\n\n\t\tthis.fieldsDS[fieldID] = fieldDS;\n\t}\n\n\tsetCoverImage(coverImageID, coverImageExtension, coverImageName, coverImageVisibility) {\n\t\tconst coverImageDS = this.formViewDS.getCoverImage();\n\t\tcoverImageDS.setID(coverImageID);\n\t\tcoverImageDS.setExtension(coverImageExtension);\n\t\tcoverImageDS.setName(coverImageName);\n\t\tcoverImageDS.setVisibility(coverImageVisibility);\n\t}\n\n\tsetLogo(logoID, logoExtension, logoName, logoVisibility, logoSize, logoAlignment) {\n\t\tconst logoDS = this.formViewDS.getLogo();\n\t\tlogoDS.setID(logoID);\n\t\tlogoDS.setExtension(logoExtension);\n\t\tlogoDS.setName(logoName);\n\t\tlogoDS.setSize(logoSize);\n\t\tlogoDS.setAlignment(logoAlignment);\n\t\tlogoDS.setVisibility(logoVisibility);\n\t}\n\n\tsetFormMeta(formName, formDescription, labelAlignment, colorTheme, submitButtonName, branding, redirectURL, messageAfterSubmit, fieldOrder) {\n\t\tthis.formViewDS.setFormName(formName);\n\t\tthis.formViewDS.setFormDescription(formDescription);\n\n\t\tthis.formViewDS.setLabelAlignment(labelAlignment);\n\t\tthis.formViewDS.setColorTheme(colorTheme);\n\t\tthis.formViewDS.setSubmitButtonName(submitButtonName);\n\t\tthis.formViewDS.setBranding(branding);\n\t\tthis.formViewDS.setRedirectURL(redirectURL);\n\t\tthis.formViewDS.setMessageAfterSubmit(messageAfterSubmit);\n\n\t\tthis.formViewDS.setFieldOrder(fieldOrder);\n\t}\n\n\tsetNameParameters(nameParametersSize, nameParametersAlignment, nameParametersVisibility) {\n\t\tconst nameParametersDS = this.formViewDS.getNameParameters();\n\t\tnameParametersDS.setSize(nameParametersSize);\n\t\tnameParametersDS.setAlignment(nameParametersAlignment);\n\t\tnameParametersDS.setVisibility(nameParametersVisibility);\n\t}\n\n\tinsertSchema(schemaID, fieldID, schemaName, schemaDescription, required, componentType, choices) {\n\t\tthis.formViewDS.insertFieldSchemaPair(fieldID, schemaID);\n\t\tthis.formViewDS.insertSchema(schemaID);\n\n\t\tconst schemaDS = this.formViewDS.getSchema(schemaID);\n\t\tschemaDS.setFieldID(fieldID);\n\t\tschemaDS.setName(schemaName);\n\t\tschemaDS.setDescription(schemaDescription);\n\t\tschemaDS.setRequired(required);\n\t\tschemaDS.setComponentType(componentType);\n\n\t\tchoices && schemaDS.setChoicesOrder(choices);\n\t}\n\n\tpushMandatoryField(fieldID) {\n\t\tthis.mandatoryFields.push(fieldID)\n\t}\n\n\tsetShareID(shareID) {\n\t\tthis.shareID = shareID;\n\t}\n\n\tgetIsAttachmentPreviewNeeded() {\n\t\treturn this.isAttachmentPreviewNeeded;\n\t}\n\n\tgetTeamDriveServerURL() {\n\t\treturn this.teamDriveServerURL;\n\t}\n\t\n\tgetTeamDriveDownloadURL() {\n\t\treturn this.teamDriveDownloadURL;\n\t}\n\n\tgetTeamDrivePreviewURL() {\n\t\treturn this.teamDrivePreviewURL;\n\t}\n\n\tgetTimeZone() {\n\t\treturn this.timeZone;\n\t}\n\n\tgetCollaboratorDS() {\n\t\treturn this.collaboratorDS\n\t}\n\n\tgetSelectionDS() {\n\t\treturn this.selectionsDS;\n\t}\n\n\tgetFieldDS() {\n\t\treturn this.fieldsDS;\n\t}\n\n\tgetFormViewDS() {\n\t\treturn this.formViewDS\n\t}\n\n\tgetShareID() {\n\t\treturn this.shareID\n\t}\n\n\tgetMandatoryFields() {\n\t\treturn this.mandatoryFields\n\t}\n\n\tgetMultiSubmit() {\n\t\treturn this.multipleSubmit\n\t}\n\n\tgetPlanType() {\n\t\treturn this.planType;\n\t}\n}\n","\nexport const CSS_CLASS_NAMES = {\n    HIDE: 'hide',//No I18N\n    ACTIVE: 'active',//No I18N\n    LEFT_ARROW: 'leftArrow',//No I18N\n    BOTTOM_RIGHT_ARROW: 'bottomRightArrow',//No I18N\n\n    AUTO_NUMBER_ICON        : 'autoNumberIcon',       //No I18N\n    ATTACHMENT_ICON         : 'attachmentIcon',       //No I18N\n    CHECKBOX_ICON           : 'checkboxIcon',         //No I18N\n    CREATED_TIME_ICON       : 'createdTimeIcon',      //No I18N\n    MODIFIED_TIME_ICON      : 'modifiedTimeIcon',     //No I18N\n    CURRENCY_ICON           : 'currencyIcon',         //No I18N\n    DATE_TIME_ICON          : 'dateIcon',             //No I18N\n    EMAIL_ICON              : 'emailIcon',            //No I18N\n    MULTIPLE_SELECTION_ICON : 'multiSelectIcon',      //No I18N\n    NUMBER_ICON             : 'numberIcon',           //No I18N\n    PERCENT_ICON            : 'percentIcon',          //No I18N\n    PHONE_NUMBER_ICON       : 'phoneNumberIcon',      //No I18N\n    RATING_ICON             : 'ratingIcon',           //No I18N\n    SINGLE_SELECTION_ICON   : 'singleSelectIcon',     //No I18N\n    TEXT_ICON               : 'textIcon',             //No I18N\n    URL_ICON                : 'URLIcon',              //No I18N\n    COLLABORATOR_CLIENT_ICON: 'collaboratorIcon',     //No I18N\n    LINK_CLIENT_ICON        : 'linkIcon',             //No I18N\n    LINK_ICON               : 'linkIcon',             //No I18N\n    CREATED_BY_ICON         : 'createdByIcon',        //No I18N\n    MODIFIED_BY_ICON        : 'modifiedByIcon',       //No I18N\n    FORMULA_ICON            : 'formulaIcon',          //No I18N\n    LOOKUP_ICON             : 'lookupIcon',           //No I18N\n    SENTIMENT_ICON          : 'sentimentIcon',        //No I18N\n    KEYWORD_EXTRACT_ICON    : 'keywordExtractIcon',   //No I18N\n    LANGUAGE_DETECT_ICON    : 'languageDetectIcon',   //No I18N\n    EXPANDED                : 'expanded',             //No I18N\n    VIEW_BAR_ICON_ACTIVE    : 'VBF-clk',              //No I18N\n    ABSOLUTE_ELEMENT        : 'absoluteElement',      //No I18N\n    GALLERY_VIEW_DRAG_TILE  : 'GV-dragTile',          //No I18N\n    FORM_BUILDER_DRAG_TILE  : 'FB-dragTile',          //No I18N\n    LOADER                  : 'ZTCG-loader-active'    //No I18N\n}\n\nexport const CSS_STYLE_VALUES = {\n    AUTO: 'auto',//No I18N\n    UNSET: 'unset',//No I18N\n    LEFT: 'left',//No I18N\n    RIGHT: 'right',//No I18N\n    TOP: 'top',//No I18N\n    BOTTOM: 'bottom',//No I18N\n    PIXELS: 'px',//No I18N\n    POINT: 'pt',//No I18N\n    BOLD          : 'bold',           //No I18N\n    ITALIC        : 'italic',         //No I18N\n    OVERLINE      : 'overline',       //No I18N\n    STRIKE_THROUGH: 'line-through',   //No I18N\n    UNDERLINE     : 'underline',      //No I18N\n    CENTER        : 'center',         //No I18N\n    FLEX_START    : 'flex-start',     //No I18N\n    FLEX_END      : 'flex-end',       //No I18N\n    MIDDLE        : 'middle',         //No I18N\n    ACCOUNTING    : 'accounting'      //No I18N\n}\n\n// formBuilder stuffs\nexport const FORM_BUILDER_VIEW_ONLY_BASE          = 'ZTF-viewOnlyBase';\nexport const HIDE                                 = 'hide';                                //No I18N\nexport const SHOW                                 = 'show';                                //No I18N\nexport const ZERO_OPACITY                         = 'ZT-opacity-0';                        //No I18N\nexport const POINTER_EVENTS_NONE_CLASS           = 'ZT-pointer-events-none';              //No I18N\nexport const ACTIVE                               = 'active';                              //No I18N\nexport const EXPANDED                             = 'expanded';                            //No I18N\nexport const REQUIRED                             = 'isRequired';                          //No I18N\nexport const REQUIRED_RED_STAR                   = 'required';                            //No I18N\nexport const EMPTY                                = 'empty';                               //No I18N\nexport const EDIT_SUBMIT                          = 'editSubmit';                          //No I18N\nexport const SELECTION                            = 'FBE-selection';                       //No I18N\nexport const SELECTION_CONTAINER                 = 'FBE-selectionContainer';              //No I18N\nexport const ERROR_URL                            = 'FBF-errorURL';                        //No I18N\nexport const LABEL_ALIGN_TOP                     = 'labelTop';                            //No I18N\nexport const LABEL_ALIGN_LEFT                    = 'FBE-leftAlign';                       //No I18N\nexport const LABEL_ALIGN_RIGHT                   = 'FBE-rightAlign';                      //No I18N\nexport const FORM_LOGO_ALIGN_LEFT                = 'ZT-justify-content-start';            //No I18N\nexport const FORM_LOGO_ALIGN_CENTER              = 'ZT-justify-content-center';           //No I18N\nexport const FORM_LOGO_ALIGN_RIGHT               = 'ZT-justify-content-end';              //No I18N\nexport const FORM_NAME_ALIGN_LEFT                = 'left';                                //No I18N\nexport const FORM_NAME_ALIGN_CENTER              = 'center';                              //No I18N\nexport const FORM_NAME_ALIGN_RIGHT               = 'right';                               //No I18N\nexport const FORM_NAME_SIZE_SMALL                = '16px';                                //No I18N\nexport const FORM_NAME_SIZE_MEDIUM               = '18px';                                //No I18N\nexport const FORM_NAME_SIZE_LARGE                = '24px';                                //No I18N\nexport const FORM_BACKGROUND_COLOR               = '--formBGColor';                       //No I18N\nexport const FORM_LOGO_SIZE_SMALL                = 'FB-logoSM';                           //No I18N\nexport const FORM_LOGO_SIZE_MEDIUM               = 'FB-logoMD';                           //No I18N\nexport const FORM_LOGO_SIZE_LARGE                = 'FB-logoLG';                           //No I18N\nexport const FORM_NAME_SIZE                      = '--formNameSize';                      //No I18N\nexport const FORM_NAME_ALIGN                     = '--formNameAlign';                     //No I18N\nexport const LABEL_ALIGN                         = '--formLabelAlign';                    //No I18N\nexport const STROKE_STYLE                        = \"rgba(0,0,0,0)\";                       //No I18N\nexport const FBH_HIDE                            = \"FBH-hide\";                            //No I18N\nexport const FBH_ERROR_BORDER                   = \"errorBorder\";                         //No I18N\nexport const FB_NEW_FIELD_ANIMATION             = \"FB-newFieldAnimation\";                //No I18N\nexport const FORM_OPEN                           = 'formOpen';                            //No I18N\nexport const FORM_BUTTON_DISABLE                = 'ZT-cursorDisable';                    //No I18N\nexport const FORM_ACTIVE_ICON_BLOCK             = 'ZTCL-activeIconBlock';                // No I18N\nexport const FORM_COVER_IMAGE_UPLOADED           = 'FB-coverImageUploaded';               // No I18N\nexport const FORM_LOGO_UPLOADED                  = 'FB-logoUploaded';                     // No I18N\nexport const FORM_CLOSE_BUTTON_SHOW_LOADER       = 'FB-showLoader';                       // No I18N\nexport const PROGRESS_BAR_COMPLETED              = 'completed';                           // No I18N\nexport const PROGRESS_BAR_DOWN_ARROW_ROTATE_180  = 'rot180';                              // No I18N\nexport const PROGRESS_BAR_ERROR                  = 'error';                               // No I18N\nexport const ZT_SKELETON_LOADER                  = 'ZT-skeletonLoader';                   // No I18N\nexport const FBH_UPLOAD_LOGO_LOADER_ACTIVE       = 'FBH-uploadLogoLoaderActive';          // No I18N\nexport const FB_COVER_IMAGE_DELETE_LOADER        = 'FB-coverImageDeleteLoader';           // No I18N\nexport const FB_LOGO_DELETE_LOADER               = 'FB-logoDeleteLoader';                 // No I18N\nexport const FB_LOGO_FRAME_SMALL                 = 'FB-logoFrameSM';                      // No I18N\nexport const FB_LOGO_FRAME_MEDIUM                = 'FB-logoFrameMD';                      // No I18N\nexport const FB_LOGO_FRAME_LARGE                 = 'FB-logoFrameLG';                      // No I18N\nexport const FVT_COVER_IMAGE_ACTIVE              = 'FVT-coverImageActive';                // No I18N\nexport const FB_COVER_IMAGE_UPLOADING            = 'FB-coverImageUploading';              // No I18N\nexport const FB_COVER_IMAGE_UPLOADED_FAILURE     = 'FB-coverImageUploaded--failure';      // No I18N\nexport const FB_COVER_IMAGE_UPLOADED_FAILURE_TWO = 'FB-coverImageUploaded--failure-two';  // No I18N\nexport const FB_COVER_IMAGE_UPLOADED_PAGE_REFRESH= 'FB-coverImageUploaded-page-refresh';  // No I18N\nexport const FB_LOGO_UPLOADING                   = 'FB-logoUploading';                    // No I18N\nexport const FB_LOGO_UPLOADED_FAILURE            = 'FB-logoUploaded--failure';            // No I18N\nexport const FB_LOGO_UPLOADED_FAILURE_TWO        = 'FB-logoUploaded--failure-two';        // No I18N\nexport const FB_LOGO_UPLOADED_PAGE_REFRESH       = 'FB-logoUploaded-page-refresh';        // No I18N\n\nexport const FORM_VIEW_LABEL_ALIGN_TOP                    = 'FV-topAlign';         // No I18N\nexport const FORM_VIEW_LABEL_ALIGN_LEFT                   = 'FV-leftAlign';        // No I18N\nexport const FORM_VIEW_LABEL_ALIGN_RIGHT                  = 'FV-rightAlign';       // No I18N\nexport const FORM_VIEW_ATTACHMENT_IMAGE_ERROR_EVENT_CLASS = 'AFD-expandDefault';   // No I18N\nexport const CURSOR_DEFAULT                               = 'FV-cursorDefault';    // No I18N\nexport const ZT_CURSOR_PROGRESS                           = 'zt-cursor-progress';  // No I18N\n\nexport const FORM_SCHEMA_ERROR = 'FV-schemaError';  // No I18N\n\n// gridManageFields stuffs\nexport const SEARCHING        = 'searching';         //No I18N\nexport const EMPTY_TILE       = 'emptyTile';         //No I18N\nexport const MANAGE_FIELDS    = 'MF-addFieldPanel';  //No I18N\nexport const DRAGGING         = 'dragging';          //No I18N\nexport const HIDE_DRAG_BUTTON = 'hideDragButton';    //No I18N\n\n// design customization panel\nexport const DESIGN_CUSTOMIZATION_FONT_PANEL = \"FB-fontPanel\";         //No I18N\nexport const VISIBLE                         = \"visible\";              //No I18N\nexport const COLOR_OPTION_CSS_VARIABLE       = '--colorThemeBGColor';  // No I18N\nexport const COLOR_OPTION_BORDER_CSS_VARIABLE= '--colorThemeBorderColor';  // No I18N\nexport const HIDE_LEVELS                     = 'hideLevels';           // No I18N\nexport const HIDE_TOGGLE                     = 'hideToggle';           // No I18N\n\n// record view\nexport const RECORD_VIEW_DATE_PLACEHOLDER = 'RV-datePlaceHolder';  // No I18N\nexport const RECORD_VIEW_PREMIUM_FIELD = 'RVP-premiumField';  // No I18N\nexport const RECORD_VIEW_EPHI_RESTRICTED_FIELD = 'RVE-ephiRestrictedField';  // No I18N\n\n// attachment field\nexport const ATTACHMENT_EPHI_RESTRICTED = 'AFD-ephiRestricted';  // No I18N\n\n                                                                    //others\nexport const ONE                       = \"1\";                       //No I18N\nexport const PIXELS                    = \"px\";                      //No I18N\nexport const PERCENT                   = \"%\";                       //No I18N\nexport const UNSET                     = 'unset';                   //No I18N\nexport const AUTO                      = 'auto';                    //No I18N\nexport const FIXED                     = 'fixed';                   //No I18N\nexport const LEFT_ARROW                = 'leftArrow';               //No I18N\nexport const BOTTOM_RIGHT_ARROW        = 'bottomRightArrow';        //No I18N\nexport const HIDE_BASE_SHARE_SEPARATOR = 'hideBaseShareSeparator';  //No I18N\n\n// fieldTypeComponents\nexport const BOLD           = 'bold';          //No I18N\nexport const ITALIC         = 'italic';        //No I18N\nexport const OVERLINE       = 'overline';      //No I18N\nexport const STRIKE_THROUGH = 'line-through';  //No I18N\nexport const UNDERLINE      = 'underline';     //No I18N\nexport const LEFT           = 'left';          //No I18N\nexport const CENTER         = 'center';        //No I18N\nexport const RIGHT          = 'right';         //No I18N\nexport const FLEX_START     = 'flex-start';    //No I18N\nexport const FLEX_END       = 'flex-end';      //No I18N\nexport const TOP            = 'top';           //No I18N\nexport const MIDDLE         = 'middle';        //No I18N\nexport const BOTTOM         = 'bottom'         //No I18N\nexport const NONE           = 'none'           //No I18N\n\nexport const CLIPBOARD_DATA_AS_TEXT = 'text';//No I18N\n\n// Non color option for MultiSelect\nexport const MULTISELECT_COLOR        = 'E8E8E8';  // No I18N\nexport const MULTISELECT_COLOR_KANBAN = 'ffffff'\n\nexport const KEYWORD_EXTRACT_COLOR = \"e0e3f7\"; //No I18N\n\n// recordView addFieldInsertPanel click\nexport const LIST_PANEL_RECORD_VIEW = 'RVAF-listPanel';  // No I18N\n\n//Table bar tab\nexport const TABLE_EDIT = 'tableEdit';  // No I18N\nexport const POINTER_EVENTS_NONE = 'pointerEventsNone';  //No I18N\n\n// number editor of writer team\nexport const WRITER_EDITOR_DIV_CLASS_NAME           = 'editor-div outer-wrapper-container';\nexport const FORMULA_EDITOR_CUSTOM_DROPDOWN_ELEMENT = 'formulaEditorCustomDropDownElement'   //No I18N\n\n// export to zoho creator\nexport const ZT_DIALOG_ACTIVE  = 'ZT-dialogActive';   //No I18N\nexport const ZT_ERROR_TOAST    = 'ZT-errorToast';     //No I18N\nexport const ZTP_FIELD_DISABLE = 'ZTP-fieldDisable';  //No I18N\nexport const ZT_mRL10          = 'ZT-mRL10';          //No I18N\nexport const ZTCL_ACTIVE       = 'ZTCL-active';       //No I18N\nexport const ZT_CURSOR_NO_DROP = 'ZT-cursorNodrop';   //No I18N\nexport const ATTRIBUTE_TITLE   = 'title';  //No I18N\n\n// dom grid\nexport const ZT_ROW_ADD_CONTAINER = 'ZT-rowAddContainer'; // No I18N\n// snap\nexport const MSG_ERROR      = 'msgError';        //No I18N\nexport const ZT_TOGGLE_OPEN = 'ZT-toggle-open';  //No I18N\nexport const SF_DISABLED    = 'SF-disabled';     //No I18N\nexport const SB_TOAST_SHOW  = 'SB-toastShow';    //No I18N\n\n// New Base Color\nexport const LIGHT                    = 'light';                 // No I18N\n// export const DEFAULT_COLOR_IN_HEX  = \"6575da\";                // No I18N  // TODO: New Base Color - changes: Remove the commented codes after 6 months of release\nexport const DEFAULT_COLOR_IN_HEX     = \"7a62c4\";                // No I18N\nexport const __TEXT_DARK              = \"--text-dark\";           // No I18N\nexport const HASH                     = '#';                     // No I18N\nexport const CHECKED                  = 'checked';               // No I18N\nexport const CONTENT                  = 'content';               // No I18N\nexport const __BASE_DARK_COLOR        = '--baseDarkColor';       // No I18N\nexport const __BASE_LIGHT_COLOR       = '--baseLightColor';      // No I18N\nexport const __BASE_ULTRA_LIGHT_COLOR = '--baseUltraLightColor'; // No I18N\nexport const __BASE_TEXT_COLOR        = '--baseTextColor';       // No I18N\nexport const __BASE_COLOR             = '--baseColor';           // No I18N\nexport const ZT_LIGHT_THEME           = 'ZT-lightTheme';         // No I18N\nexport const __SS_OVAL                = '--ssoval';              // No I18N\nexport const __SS_DOT                 = '--ssdot';               // No I18N\nexport const __CARD_COLOR             = '--card-color';           // No I18N\nexport const __CARD_LIGHT_COLOR       = '--card-light-color';     // No I18N\nexport const __CARD_COVER_COLOR       = '--card-cover-color';     // No I18N\nexport const ZDC_CARD_DARK_COLOR      = 'ZDC-CardDarkColor'; // No I18N\nexport const ZDC_CARD_LIGHT_COLOR     = 'ZDC-CardLightColor'; // No I18N\n\n// BaseEditPanel - Listing Page\nexport const EDIT_BASE          = 'editBase';            // No I18N\nexport const LP_BASE_EDIT       = 'LP-baseEdit';         // No I18N\nexport const ZT_OVERFLOW_HIDDEN = 'ZT-overflow-hidden';  // No I18N\n\n\nObject.freeze(CSS_CLASS_NAMES);\nObject.freeze(CSS_STYLE_VALUES);\n","export function deepFreeze<T>(object: T): T {\n\tconst propNames = Object.getOwnPropertyNames(object);\n\tfor (const name of propNames) {\n\t\tconst value = (object as any)[name];\n\t\tvalue && typeof value === 'object' && !Object.isFrozen(value) && deepFreeze(value);\n\t}\n\treturn Object.freeze(object);\n}\n","import { deepFreeze } from \"../_auxillaries/DeepFreeze\";\n\n// Base Theme Configuration\nconst BASE_THEME_CONFIGURATION = {\n    // dark colors\n    '7a62c4': { style: 'dark',       textColor: 'light', darkColor: '7a62c4', lightColor: 'd1c7ef', ultraLightColor: 'ebe7f8', bodyClassToApply: '' },\n    'bf4e85': { style: 'dark',       textColor: 'light', darkColor: 'bf4e85', lightColor: 'ecc4d7', ultraLightColor: 'f7e7ef', bodyClassToApply: '' },\n    '0a7ea8': { style: 'dark',       textColor: 'light', darkColor: '0a7ea8', lightColor: 'bde0ed', ultraLightColor: 'e5f3f8', bodyClassToApply: '' },\n    '5565ce': { style: 'dark',       textColor: 'light', darkColor: '5565ce', lightColor: 'c1c7ed', ultraLightColor: 'e6e8f8', bodyClassToApply: '' },\n    'b05807': { style: 'dark',       textColor: 'light', darkColor: 'b05807', lightColor: 'f3d7bc', ultraLightColor: 'faefe4', bodyClassToApply: '' },\n    '058722': { style: 'dark',       textColor: 'light', darkColor: '058722', lightColor: 'c6e3cc', ultraLightColor: 'e8f4eb', bodyClassToApply: '' },\n    'af4c41': { style: 'dark',       textColor: 'light', darkColor: 'af4c41', lightColor: 'e7c0c0', ultraLightColor: 'f5e6e6', bodyClassToApply: '' },\n    '2c72df': { style: 'dark',       textColor: 'light', darkColor: '2c72df', lightColor: 'bbd3fa', ultraLightColor: 'e4eefd', bodyClassToApply: '' },\n    'a36b0a': { style: 'dark',       textColor: 'light', darkColor: 'a36b0a', lightColor: 'f9d9a2', ultraLightColor: 'fdf0da', bodyClassToApply: '' },\n    '576168': { style: 'dark',       textColor: 'light', darkColor: '576168', lightColor: 'c3c7ca', ultraLightColor: 'e7e9ea', bodyClassToApply: '' },\n    'a44ca8': { style: 'dark',       textColor: 'light', darkColor: 'a44ca8', lightColor: 'e3b5e5', ultraLightColor: 'f4e9f5', bodyClassToApply: '' },\n    'f283a7': { style: 'dark',       textColor: 'dark',  darkColor: 'f283a7', lightColor: 'ffcfde', ultraLightColor: 'ffeff4', bodyClassToApply: 'zt-dark-theme--text-black' },\n    '088375': { style: 'dark',       textColor: 'light', darkColor: '088375', lightColor: 'bbede7', ultraLightColor: 'e6f8f6', bodyClassToApply: '' },\n    '66d2ce': { style: 'dark',       textColor: 'dark',  darkColor: '66d2ce', lightColor: 'b5f7f5', ultraLightColor: 'defaf9', bodyClassToApply: 'zt-dark-theme--text-black' },\n    'cf4b0e': { style: 'dark',       textColor: 'light', darkColor: 'cf4b0e', lightColor: 'f2c0aa', ultraLightColor: 'f8e7df', bodyClassToApply: '' },\n    '697d21': { style: 'dark',       textColor: 'light', darkColor: '697d21', lightColor: 'e7f2bf', ultraLightColor: 'edf2da', bodyClassToApply: '' },\n    'bd2f2f': { style: 'dark',       textColor: 'light', darkColor: 'bd2f2f', lightColor: 'f7b5b5', ultraLightColor: 'fae1e1', bodyClassToApply: '' },\n    '61c3f2': { style: 'dark',       textColor: 'dark',  darkColor: '61c3f2', lightColor: 'bee6fa', ultraLightColor: 'eaf5fb', bodyClassToApply: 'zt-dark-theme--text-black' },\n    'e3a605': { style: 'dark',       textColor: 'dark',  darkColor: 'e3a605', lightColor: 'ffe8ab', ultraLightColor: 'fcf5e1', bodyClassToApply: 'zt-dark-theme--text-black' },\n    '42506b': { style: 'dark',       textColor: 'light', darkColor: '42506b', lightColor: 'c5d2eb', ultraLightColor: 'e4e9f5', bodyClassToApply: '' },\n\n    // light colors\n    'd1c7ef': { style: 'light',      textColor: 'dark', darkColor: '7a62c4', lightColor: 'd1c7ef', ultraLightColor: 'ebe7f8', bodyClassToApply: '' },\n    'ecc4d7': { style: 'light',      textColor: 'dark', darkColor: 'bf4e85', lightColor: 'ecc4d7', ultraLightColor: 'f7e7ef', bodyClassToApply: '' },\n    'bde0ed': { style: 'light',      textColor: 'dark', darkColor: '0a7ea8', lightColor: 'bde0ed', ultraLightColor: 'e5f3f8', bodyClassToApply: '' },\n    'c1c7ed': { style: 'light',      textColor: 'dark', darkColor: '5565ce', lightColor: 'c1c7ed', ultraLightColor: 'e6e8f8', bodyClassToApply: '' },\n    'f3d7bc': { style: 'light',      textColor: 'dark', darkColor: 'b05807', lightColor: 'f3d7bc', ultraLightColor: 'faefe4', bodyClassToApply: '' },\n    'c6e3cc': { style: 'light',      textColor: 'dark', darkColor: '058722', lightColor: 'c6e3cc', ultraLightColor: 'e8f4eb', bodyClassToApply: '' },\n    'e7c0c0': { style: 'light',      textColor: 'dark', darkColor: 'af4c41', lightColor: 'e7c0c0', ultraLightColor: 'f5e6e6', bodyClassToApply: '' },\n    'bbd3fa': { style: 'light',      textColor: 'dark', darkColor: '2c72df', lightColor: 'bbd3fa', ultraLightColor: 'e4eefd', bodyClassToApply: '' },\n    'f9d9a2': { style: 'light',      textColor: 'dark', darkColor: 'a36b0a', lightColor: 'f9d9a2', ultraLightColor: 'fdf0da', bodyClassToApply: '' },\n    'c3c7ca': { style: 'light',      textColor: 'dark', darkColor: '576168', lightColor: 'c3c7ca', ultraLightColor: 'e7e9ea', bodyClassToApply: '' },\n    'e3b5e5': { style: 'light',      textColor: 'dark', darkColor: 'a44ca8', lightColor: 'e3b5e5', ultraLightColor: 'f4e9f5', bodyClassToApply: '' },\n    'ffcfde': { style: 'light',      textColor: 'dark', darkColor: 'f283a7', lightColor: 'ffcfde', ultraLightColor: 'ffeff4', bodyClassToApply: 'zt-light-theme--text-black' },\n    'bbede7': { style: 'light',      textColor: 'dark', darkColor: '088375', lightColor: 'bbede7', ultraLightColor: 'e6f8f6', bodyClassToApply: '' },\n    'b5f7f5': { style: 'light',      textColor: 'dark', darkColor: '66d2ce', lightColor: 'b5f7f5', ultraLightColor: 'defaf9', bodyClassToApply: 'zt-light-theme--text-black' },\n    'f2c0aa': { style: 'light',      textColor: 'dark', darkColor: 'cf4b0e', lightColor: 'f2c0aa', ultraLightColor: 'f8e7df', bodyClassToApply: '' },\n    'e7f2bf': { style: 'light',      textColor: 'dark', darkColor: '697d21', lightColor: 'e7f2bf', ultraLightColor: 'edf2da', bodyClassToApply: '' },\n    'f7b5b5': { style: 'light',      textColor: 'dark', darkColor: 'bd2f2f', lightColor: 'f7b5b5', ultraLightColor: 'fae1e1', bodyClassToApply: '' },\n    'bee6fa': { style: 'light',      textColor: 'dark', darkColor: '61c3f2', lightColor: 'bee6fa', ultraLightColor: 'eaf5fb', bodyClassToApply: 'zt-light-theme--text-black' },\n    'ffe8ab': { style: 'light',      textColor: 'dark', darkColor: 'e3a605', lightColor: 'ffe8ab', ultraLightColor: 'fcf5e1', bodyClassToApply: 'zt-light-theme--text-black' },\n    'c5d2eb': { style: 'light',      textColor: 'dark', darkColor: '42506b', lightColor: 'c5d2eb', ultraLightColor: 'e4e9f5', bodyClassToApply: '' },\n\n    // ultralight colors\n    'ebe7f8': { style: 'ultralight', textColor: 'dark', darkColor: '7a62c4', lightColor: 'd1c7ef', ultraLightColor: 'ebe7f8', bodyClassToApply: '' },\n    'f7e7ef': { style: 'ultralight', textColor: 'dark', darkColor: 'bf4e85', lightColor: 'ecc4d7', ultraLightColor: 'f7e7ef', bodyClassToApply: '' },\n    'e5f3f8': { style: 'ultralight', textColor: 'dark', darkColor: '0a7ea8', lightColor: 'bde0ed', ultraLightColor: 'e5f3f8', bodyClassToApply: '' },\n    'e6e8f8': { style: 'ultralight', textColor: 'dark', darkColor: '5565ce', lightColor: 'c1c7ed', ultraLightColor: 'e6e8f8', bodyClassToApply: '' },\n    'faefe4': { style: 'ultralight', textColor: 'dark', darkColor: 'b05807', lightColor: 'f3d7bc', ultraLightColor: 'faefe4', bodyClassToApply: '' },\n    'e8f4eb': { style: 'ultralight', textColor: 'dark', darkColor: '058722', lightColor: 'c6e3cc', ultraLightColor: 'e8f4eb', bodyClassToApply: '' },\n    'f5e6e6': { style: 'ultralight', textColor: 'dark', darkColor: 'af4c41', lightColor: 'e7c0c0', ultraLightColor: 'f5e6e6', bodyClassToApply: '' },\n    'e4eefd': { style: 'ultralight', textColor: 'dark', darkColor: '2c72df', lightColor: 'bbd3fa', ultraLightColor: 'e4eefd', bodyClassToApply: '' },\n    'fdf0da': { style: 'ultralight', textColor: 'dark', darkColor: 'a36b0a', lightColor: 'f9d9a2', ultraLightColor: 'fdf0da', bodyClassToApply: '' },\n    'e7e9ea': { style: 'ultralight', textColor: 'dark', darkColor: '576168', lightColor: 'c3c7ca', ultraLightColor: 'e7e9ea', bodyClassToApply: '' },\n    'f4e9f5': { style: 'ultralight', textColor: 'dark', darkColor: 'a44ca8', lightColor: 'e3b5e5', ultraLightColor: 'f4e9f5', bodyClassToApply: '' },\n    'ffeff4': { style: 'ultralight', textColor: 'dark', darkColor: 'f283a7', lightColor: 'ffcfde', ultraLightColor: 'ffeff4', bodyClassToApply: '' },\n    'e6f8f6': { style: 'ultralight', textColor: 'dark', darkColor: '088375', lightColor: 'bbede7', ultraLightColor: 'e6f8f6', bodyClassToApply: '' },\n    'defaf9': { style: 'ultralight', textColor: 'dark', darkColor: '66d2ce', lightColor: 'b5f7f5', ultraLightColor: 'defaf9', bodyClassToApply: '' },\n    'f8e7df': { style: 'ultralight', textColor: 'dark', darkColor: 'cf4b0e', lightColor: 'f2c0aa', ultraLightColor: 'f8e7df', bodyClassToApply: '' },\n    'edf2da': { style: 'ultralight', textColor: 'dark', darkColor: '697d21', lightColor: 'e7f2bf', ultraLightColor: 'edf2da', bodyClassToApply: '' },\n    'fae1e1': { style: 'ultralight', textColor: 'dark', darkColor: 'bd2f2f', lightColor: 'f7b5b5', ultraLightColor: 'fae1e1', bodyClassToApply: '' },\n    'eaf5fb': { style: 'ultralight', textColor: 'dark', darkColor: '61c3f2', lightColor: 'bee6fa', ultraLightColor: 'eaf5fb', bodyClassToApply: '' },\n    'fcf5e1': { style: 'ultralight', textColor: 'dark', darkColor: 'e3a605', lightColor: 'ffe8ab', ultraLightColor: 'fcf5e1', bodyClassToApply: '' },\n    'e4e9f5': { style: 'ultralight', textColor: 'dark', darkColor: '42506b', lightColor: 'c5d2eb', ultraLightColor: 'e4e9f5', bodyClassToApply: '' },\n} as const;\n\n// Bubble node color palette configuration\nconst BUBBLE_NODE_COLOR_PALETTE_CONFIGURATION = {\n    // dark colors\n    'aa98e2': { style: 'dark',       textColor: 'dark', innerCircle: '7a62c4', outerCircle: 'ffffff', recordColor: '7a62c4', cardColor: '7a62c4', cardLightColor: 'd7d0ed', cardCoverColor: 'f2eff9' },\n    'df9bbb': { style: 'dark',       textColor: 'dark', innerCircle: 'bf4e85', outerCircle: 'ffffff', recordColor: 'bf4e85', cardColor: 'bf4e85', cardLightColor: 'eccada', cardCoverColor: 'f9edf3' },\n    '97cee3': { style: 'dark',       textColor: 'dark', innerCircle: '0a7ea8', outerCircle: 'ffffff', recordColor: '0a7ea8', cardColor: '0a7ea8', cardLightColor: 'b5d8e5', cardCoverColor: 'e6f2f6' },\n    '98a2e1': { style: 'dark',       textColor: 'dark', innerCircle: '5565ce', outerCircle: 'ffffff', recordColor: '5565ce', cardColor: '5565ce', cardLightColor: 'ccd1f0', cardCoverColor: 'eef0fa' },\n    'e4bc96': { style: 'dark',       textColor: 'dark', innerCircle: 'b05807', outerCircle: 'ffffff', recordColor: 'b05807', cardColor: 'b05807', cardLightColor: 'e7cdb5', cardCoverColor: 'f7eee6' },\n    'a2d7ad': { style: 'dark',       textColor: 'dark', innerCircle: '058722', outerCircle: 'ffffff', recordColor: '058722', cardColor: '058722', cardLightColor: 'b4dbbd', cardCoverColor: 'e6f3e9' },\n    'de9b9b': { style: 'dark',       textColor: 'dark', innerCircle: 'af4c41', outerCircle: 'ffffff', recordColor: 'af4c41', cardColor: 'af4c41', cardLightColor: 'e7c9c6', cardCoverColor: 'f7edec' },\n    '83aff6': { style: 'dark',       textColor: 'dark', innerCircle: '2c72df', outerCircle: 'ffffff', recordColor: '2c72df', cardColor: '2c72df', cardLightColor: 'c0d5f5', cardCoverColor: 'eaf1fc' },\n    'f0ca89': { style: 'dark',       textColor: 'dark', innerCircle: 'a36b0a', outerCircle: 'ffffff', recordColor: 'a36b0a', cardColor: 'a36b0a', cardLightColor: 'e3d3b6', cardCoverColor: 'f6f0e7' },\n    'b9bdc1': { style: 'dark',       textColor: 'dark', innerCircle: '576168', outerCircle: 'ffffff', recordColor: '576168', cardColor: '576168', cardLightColor: 'cdd0d2', cardCoverColor: 'eeeff0' },\n\n    // light colors\n    'c7c1ec': { style: 'light',      textColor: 'dark', innerCircle: '7a62c4', outerCircle: 'ffffff', recordColor: 'aa98e2', cardColor: 'aa98e2', cardLightColor: 'e5e0f6', cardCoverColor: 'f2eff9' },\n    'ebc2d6': { style: 'light',      textColor: 'dark', innerCircle: 'bf4e85', outerCircle: 'ffffff', recordColor: 'df9bbb', cardColor: 'df9bbb', cardLightColor: 'f5e1eb', cardCoverColor: 'f9edf3' },\n    'bfe1ee': { style: 'light',      textColor: 'dark', innerCircle: '0a7ea8', outerCircle: 'ffffff', recordColor: '97cee3', cardColor: '97cee3', cardLightColor: 'e0f0f7', cardCoverColor: 'e6f2f6' },\n    'bfc4ed': { style: 'light',      textColor: 'dark', innerCircle: '5565ce', outerCircle: 'ffffff', recordColor: '98a2e1', cardColor: '98a2e1', cardLightColor: 'e0e3f6', cardCoverColor: 'eef0fa' },\n    'f2d6ba': { style: 'light',      textColor: 'dark', innerCircle: 'b05807', outerCircle: 'ffffff', recordColor: 'e4bc96', cardColor: 'e4bc96', cardLightColor: 'f7ebdf', cardCoverColor: 'f7eee6' },\n    'c8e5cf': { style: 'light',      textColor: 'dark', innerCircle: '058722', outerCircle: 'ffffff', recordColor: 'a2d7ad', cardColor: 'a2d7ad', cardLightColor: 'e3f3e6', cardCoverColor: 'e6f3e9' },\n    'e8c5c5': { style: 'light',      textColor: 'dark', innerCircle: 'af4c41', outerCircle: 'ffffff', recordColor: 'de9b9b', cardColor: 'de9b9b', cardLightColor: 'f5e1e1', cardCoverColor: 'f7edec' },\n    'b3cff9': { style: 'light',      textColor: 'dark', innerCircle: '2c72df', outerCircle: 'ffffff', recordColor: '83aff6', cardColor: '83aff6', cardLightColor: 'dae7fc', cardCoverColor: 'eaf1fc' },\n    'fbe0b2': { style: 'light',      textColor: 'dark', innerCircle: 'a36b0a', outerCircle: 'ffffff', recordColor: 'f0ca89', cardColor: 'f0ca89', cardLightColor: 'fbefdc', cardCoverColor: 'f6f0e7' },\n    'd3d7d9': { style: 'light',      textColor: 'dark', innerCircle: '576168', outerCircle: 'ffffff', recordColor: 'b9bdc1', cardColor: 'b9bdc1', cardLightColor: 'eaebec', cardCoverColor: 'eeeff0' },\n\n    // ultralight colors\n    'ebe7f8': { style: 'ultralight', textColor: 'dark', innerCircle: '7a62c4', outerCircle: 'ffffff', recordColor: 'c7c1ec', cardColor: 'c7c1ec', cardLightColor: 'eeecf9', cardCoverColor: 'f2eff9' },\n    'f7e7ef': { style: 'ultralight', textColor: 'dark', innerCircle: 'bf4e85', outerCircle: 'ffffff', recordColor: 'ebc2d6', cardColor: 'ebc2d6', cardLightColor: 'f9edf3', cardCoverColor: 'f9edf3' },\n    'e5f3f8': { style: 'ultralight', textColor: 'dark', innerCircle: '0a7ea8', outerCircle: 'ffffff', recordColor: 'bfe1ee', cardColor: 'bfe1ee', cardLightColor: 'ecf6fa', cardCoverColor: 'e6f2f6' },\n    'e6e8f8': { style: 'ultralight', textColor: 'dark', innerCircle: '5565ce', outerCircle: 'ffffff', recordColor: 'bfc4ed', cardColor: 'bfc4ed', cardLightColor: 'ecedfa', cardCoverColor: 'eef0fa' },\n    'faefe4': { style: 'ultralight', textColor: 'dark', innerCircle: 'b05807', outerCircle: 'ffffff', recordColor: 'f2d6ba', cardColor: 'f2d6ba', cardLightColor: 'fbf3ea', cardCoverColor: 'f7eee6' },\n    'e8f4eb': { style: 'ultralight', textColor: 'dark', innerCircle: '058722', outerCircle: 'ffffff', recordColor: 'c8e5cf', cardColor: 'c8e5cf', cardLightColor: 'eff7f1', cardCoverColor: 'e6f3e9' },\n    'f5e6e6': { style: 'ultralight', textColor: 'dark', innerCircle: 'af4c41', outerCircle: 'ffffff', recordColor: 'e8c5c5', cardColor: 'e8c5c5', cardLightColor: 'f8eeee', cardCoverColor: 'f7edec' },\n    'e4eefd': { style: 'ultralight', textColor: 'dark', innerCircle: '2c72df', outerCircle: 'ffffff', recordColor: 'b3cff9', cardColor: 'b3cff9', cardLightColor: 'e8f1fd', cardCoverColor: 'eaf1fc' },\n    'fdf0da': { style: 'ultralight', textColor: 'dark', innerCircle: 'a36b0a', outerCircle: 'ffffff', recordColor: 'fbe0b2', cardColor: 'fbe0b2', cardLightColor: 'fef6e8', cardCoverColor: 'f6f0e7' },\n    'e7e9ea': { style: 'ultralight', textColor: 'dark', innerCircle: '576168', outerCircle: 'ffffff', recordColor: 'd3d7d9', cardColor: 'd3d7d9', cardLightColor: 'f2f3f4', cardCoverColor: 'eeeff0' },\n    \n    // This color is for non-colored bubble nodes.. Export non-color key as 'e8e8e8' since it is used in many places in our product\n    'e8e8e8': { style: 'dark',       textColor: 'dark', innerCircle: '9b9b9b', outerCircle: 'ffffff', recordColor: '576168', cardColor: '576168', cardLightColor: 'd1d5d7', cardCoverColor: 'eff1f1' },\n    \n    // This ffffff color is used in MoveRecord of Kanban View for non-colored bubble nodes\n    'ffffff': { style: 'light',      textColor: 'dark', innerCircle: 'ffffff', outerCircle: 'ffffff', recordColor: 'ffffff', cardColor: 'ffffff', cardLightColor: 'ffffff', cardCoverColor: 'ffffff' },\n} as const;\n\n// Base dark and light themes\nconst BASE_DARK_THEMES  = ['7a62c4', 'bf4e85', '0a7ea8', '5565ce', 'b05807', '058722', 'af4c41', '2c72df', 'a36b0a', '576168', 'a44ca8', 'f283a7', '088375', '66d2ce', 'cf4b0e', '697d21', 'bd2f2f', '61c3f2', 'e3a605', '42506b'] as const;\nconst BASE_LIGHT_THEMES = ['d1c7ef', 'ecc4d7', 'bde0ed', 'c1c7ed', 'f3d7bc', 'c6e3cc', 'e7c0c0', 'bbd3fa', 'f9d9a2', 'c3c7ca', 'e3b5e5', 'ffcfde', 'bbede7', 'b5f7f5', 'f2c0aa', 'e7f2bf', 'f7b5b5', 'bee6fa', 'ffe8ab', 'c5d2eb'] as const;\n\nexport type BASE_LIGHT_THEME = typeof BASE_LIGHT_THEMES[number];\nexport type BASE_DARK_THEME  = typeof BASE_DARK_THEMES[number];\n\n\n// Bubble node themes\nconst BUBBLE_NODE_DARK_THEMES       = ['aa98e2', 'df9bbb', '97cee3', '98a2e1', 'e4bc96', 'a2d7ad', 'de9b9b', '83aff6', 'f0ca89', 'b9bdc1'] as const;\nconst BUBBLE_NODE_LIGHT_THEMES      = ['c7c1ec', 'ebc2d6', 'bfe1ee', 'bfc4ed', 'f2d6ba', 'c8e5cf', 'e8c5c5', 'b3cff9', 'fbe0b2', 'd3d7d9'] as const;\nconst BUBBLE_NODE_ULTRALIGHT_THEMES = ['ebe7f8', 'f7e7ef', 'e5f3f8', 'e6e8f8', 'faefe4', 'e8f4eb', 'f5e6e6', 'e4eefd', 'fdf0da', 'e7e9ea'] as const;\n\n// Form ultralight themes\nconst FORM_ULTRALIGHT_THEMES = ['ebe7f8', 'f7e7ef', 'e5f3f8', 'e6e8f8', 'faefe4', 'e8f4eb', 'f5e6e6', 'e4eefd', 'fdf0da', 'e7e9ea', 'f4e9f5', 'ffeff4', 'e6f8f6', 'defaf9', 'f8e7df', 'edf2da', 'fae1e1', 'eaf5fb', 'fcf5e1', 'e4e9f5'] as const;\n\n// Theme classes for body\nconst THEME_CLASSES = ['zt-light-theme--text-black', 'zt-dark-theme--text-black'];\n\n\n\ndeepFreeze(BASE_THEME_CONFIGURATION);\ndeepFreeze(BASE_DARK_THEMES);\ndeepFreeze(BASE_LIGHT_THEMES);\ndeepFreeze(FORM_ULTRALIGHT_THEMES);\ndeepFreeze(BUBBLE_NODE_COLOR_PALETTE_CONFIGURATION);\ndeepFreeze(BUBBLE_NODE_DARK_THEMES);\ndeepFreeze(BUBBLE_NODE_LIGHT_THEMES);\ndeepFreeze(BUBBLE_NODE_ULTRALIGHT_THEMES);\ndeepFreeze(THEME_CLASSES);\n\n\n\n// Exporting the constants\nexport {\n    BASE_DARK_THEMES,\n    BASE_LIGHT_THEMES, BASE_THEME_CONFIGURATION, BUBBLE_NODE_COLOR_PALETTE_CONFIGURATION,\n    BUBBLE_NODE_DARK_THEMES,\n    BUBBLE_NODE_LIGHT_THEMES,\n    BUBBLE_NODE_ULTRALIGHT_THEMES, FORM_ULTRALIGHT_THEMES\n};\n\nexport const NON_COLORED_BUBBLE_NODE_COLOR = 'e8e8e8'; // This is used in many places in our product for non-colored bubble nodes\n\n// Util functions for theme colors\nexport function getBaseTextColor(color: keyof typeof BASE_THEME_CONFIGURATION) {\n    const colorLowerCase = color.toLowerCase() as keyof typeof BASE_THEME_CONFIGURATION;\n    const textColor      = BASE_THEME_CONFIGURATION[colorLowerCase].textColor;\n    return textColor === 'dark' ? '000' : 'fff';\n}\n\nexport function isTextColorLight(color: keyof typeof BASE_THEME_CONFIGURATION) {\n    const colorLowerCase = color.toLowerCase() as keyof typeof BASE_THEME_CONFIGURATION;\n    const textColor      = BASE_THEME_CONFIGURATION[colorLowerCase].textColor;\n    return textColor === 'light';\n}\n\nexport function getDarkThemeColor(color: keyof typeof BASE_THEME_CONFIGURATION) {\n    const colorLowerCase = color.toLowerCase() as keyof typeof BASE_THEME_CONFIGURATION;\n    return BASE_THEME_CONFIGURATION[colorLowerCase].darkColor;\n}\n\nexport function getLightThemeColor(color: keyof typeof BASE_THEME_CONFIGURATION) {\n    const colorLowerCase = color.toLowerCase() as keyof typeof BASE_THEME_CONFIGURATION;\n\treturn BASE_THEME_CONFIGURATION[colorLowerCase].lightColor;\n}\n\nexport function getUltraLightThemeColor(color: keyof typeof BASE_THEME_CONFIGURATION) {\n    const colorLowerCase = color.toLowerCase() as keyof typeof BASE_THEME_CONFIGURATION;\n    return BASE_THEME_CONFIGURATION[colorLowerCase].ultraLightColor;\n}\n\nexport function isDarkThemeColor(color: keyof typeof BASE_THEME_CONFIGURATION) {\n    const colorLowerCase = color.toLowerCase() as keyof typeof BASE_THEME_CONFIGURATION;\n    return BASE_THEME_CONFIGURATION[colorLowerCase].style === 'dark';\n}\n\nexport function getBubbleNodeInnerCircleColor(color: keyof typeof BUBBLE_NODE_COLOR_PALETTE_CONFIGURATION) {\n\tconst colorLowerCase = color.toLowerCase() as keyof typeof BUBBLE_NODE_COLOR_PALETTE_CONFIGURATION;\n\treturn BUBBLE_NODE_COLOR_PALETTE_CONFIGURATION[colorLowerCase].innerCircle;\n}\n\nexport function getBubbleNodeOuterCircleColor(color: keyof typeof BUBBLE_NODE_COLOR_PALETTE_CONFIGURATION) {\n\tconst colorLowerCase = color.toLowerCase() as keyof typeof BUBBLE_NODE_COLOR_PALETTE_CONFIGURATION;\n\treturn BUBBLE_NODE_COLOR_PALETTE_CONFIGURATION[colorLowerCase].outerCircle;\n}\n\nexport function getBubbleNodeTextColor(color: keyof typeof BUBBLE_NODE_COLOR_PALETTE_CONFIGURATION) {\n    const colorLowerCase = color.toLowerCase() as keyof typeof BUBBLE_NODE_COLOR_PALETTE_CONFIGURATION;\n    const textColor      = BUBBLE_NODE_COLOR_PALETTE_CONFIGURATION[colorLowerCase].textColor;\n    return textColor === 'dark' ? '000' : 'fff';\n}\n\nexport function getBaseThemeBodyClassChanges(color: keyof typeof BASE_THEME_CONFIGURATION) {\n    const colorLowerCase   = color.toLowerCase() as keyof typeof BASE_THEME_CONFIGURATION;\n    const bodyClassToApply = BASE_THEME_CONFIGURATION[colorLowerCase].bodyClassToApply;\n\n    switch(bodyClassToApply) {\n        case 'zt-light-theme--text-black':\n            return {\n                add   : ['zt-light-theme--text-black'],\n                remove: THEME_CLASSES.filter(cls => cls !== 'zt-light-theme--text-black')\n            };\n\n        case 'zt-dark-theme--text-black':\n            return {\n                add   : ['zt-dark-theme--text-black'],\n                remove: THEME_CLASSES.filter(cls => cls !== 'zt-dark-theme--text-black')\n            };\n\n        case '':\n            return {\n                add   : [],\n                remove: THEME_CLASSES\n            };\n\n        default:\n            throw('Unknown body class to apply: ' + bodyClassToApply);\n    }\n}\n\nexport function getRecordColor(color: keyof typeof BUBBLE_NODE_COLOR_PALETTE_CONFIGURATION) {\n    const colorLowerCase = color.toLowerCase() as keyof typeof BUBBLE_NODE_COLOR_PALETTE_CONFIGURATION;\n    return BUBBLE_NODE_COLOR_PALETTE_CONFIGURATION[colorLowerCase].recordColor;\n}\n\nexport function getCardColor(color: keyof typeof BUBBLE_NODE_COLOR_PALETTE_CONFIGURATION) {\n    const colorLowerCase = color.toLowerCase() as keyof typeof BUBBLE_NODE_COLOR_PALETTE_CONFIGURATION;\n    return BUBBLE_NODE_COLOR_PALETTE_CONFIGURATION[colorLowerCase].cardColor;\n}\n\nexport function getCardLightColor(color: keyof typeof BUBBLE_NODE_COLOR_PALETTE_CONFIGURATION) {\n    const colorLowerCase = color.toLowerCase() as keyof typeof BUBBLE_NODE_COLOR_PALETTE_CONFIGURATION;\n    return BUBBLE_NODE_COLOR_PALETTE_CONFIGURATION[colorLowerCase].cardLightColor;\n}\n\nexport function getCardCoverColor(color: keyof typeof BUBBLE_NODE_COLOR_PALETTE_CONFIGURATION) {\n    const colorLowerCase = color.toLowerCase() as keyof typeof BUBBLE_NODE_COLOR_PALETTE_CONFIGURATION;\n    return BUBBLE_NODE_COLOR_PALETTE_CONFIGURATION[colorLowerCase].cardCoverColor;\n}\n\nexport function getFormColorThemeBorderColor(color: keyof typeof BASE_THEME_CONFIGURATION) {\n    return getLightThemeColor(color as keyof typeof BASE_THEME_CONFIGURATION);\n}\n","\nimport { HASH, MULTISELECT_COLOR } from \"../../Constants/CssClassNamesForUI.js\";\nimport { getBubbleNodeInnerCircleColor, getUltraLightThemeColor } from \"../../Constants/ProductThemeColors.ts\";\n\nconst FieldTypeComponents                             = globalThis.FieldTypeComponents;\nconst FindAnItem                                      = FieldTypeComponents.FindAnItem;\nconst Checkbox                                        = FieldTypeComponents.Checkbox;\nconst Rating                                          = FieldTypeComponents.Rating;\nconst MultiSelect                                     = FieldTypeComponents.MultiSelect;\nconst SingleSelect                                    = FieldTypeComponents.SingleSelect;\nconst DateObject                                      = FieldTypeComponents.Date;\nconst CollaboratorSS                                  = FieldTypeComponents.CollaboratorSS;\nconst CollaboratorMS                                  = FieldTypeComponents.CollaboratorMS;\nconst LinkFieldMultiSelectFormReadWriteOption         = FieldTypeComponents.LinkFieldMultiSelect.FormReadWriteOption;\nconst FindAnItemBlankButtonDom                        = FindAnItem.BlankButtonDom;\nconst FindAnItemComponent                             = FindAnItem.Component;\nconst FindAnItemCheckboxOption                        = FindAnItem.CheckboxOption;\nconst FindAnItemCollaboratorMSCheckboxWithEmailIDOption = FindAnItem.CollaboratorMSCheckboxWithEmailIDOption;\nconst FindAnItemLinkFieldOption                       = FindAnItem.LinkFieldOption;\nconst FindAnItemSingleSelectButtonOption              = FindAnItem.SingleSelectButtonOption;\nconst FindAnItemCollaboratorSSWithEmailIDButtonOption = FindAnItem.CollaboratorSSWithEmailIDButtonOption;\nconst MultiSelectReadWriteOption                      = MultiSelect.ReadWriteOption;\nconst MultiSelectCheckboxTypeReadWriteOption          = MultiSelect.CheckboxTypeReadWriteOption;\nconst SingleSelectRadioTypeReadWriteOption            = SingleSelect.RadioTypeReadWriteOption;\nconst SingleSelectReadOnlyOption                      = SingleSelect.ReadOnlyOption;\nconst CollaboratorSingleSelectValueHolderForForm      = CollaboratorSS.ValueHolderForForm;\nconst Attachment                                      = FieldTypeComponents.Attachment;\n\nconst Utility                = CraftGrid.Utility;\nconst UNKNOWN_CHECKBOX_STYLE = 'Unknown checkbox style';  // No I18N\nconst UNKNOWN_RATING_STYLE   = 'Unknown rating style';    // No I18N\n\nconst ZSGrid = globalThis.ZSGrid || (globalThis.ZSGrid = {});\nZSGrid.dateFormatter = Utility.dateFormatter;\nZSGrid.timeFormatter = Utility.timeFormatter;\n                                                                    \nconst CSS_VARIABLES = { RATING: '--ratingChecked', SINGLE_SELECT_OVAL: '--ssoval', SINGLE_SELECT_DOT: '--ssdot' };  // No I18N\n\nexport function overrideComponents(timeZone) {\n    \n    DateObject.ValueHolder.prototype.timeZone = timeZone;\n\n    DateObject.FormViewDateComponent.prototype.focus = function() {\n        this.openPicker();\n        this.dateField.selectText();\n    }\n\n    CollaboratorSingleSelectValueHolderForForm.prototype.getCollaboratorOptions = function() {\n        var options = {};\n        var userID, color, userName, userEmailID, userImageURL, option;\n\n        var totalIDs = this.getTotalIDs();\n        for (var i = 0; i < totalIDs.length; i++) {\n\n            userID = totalIDs[i];\n            color = this.collaboratorDS.getColor();\n\n            if (this.collaboratorDS.isActiveUser(userID)) {\n                userName = this.collaboratorDS.getActiveUserName(userID);\n                userImageURL = this.collaboratorDS.getActiveUserImageURL(userID);\n                userEmailID = this.collaboratorDS.getActiveUserEmailID(userID);\n            } else if (this.collaboratorDS.isInactiveUser(userID)) {\n                userName = this.collaboratorDS.getInactiveUserName(userID);\n                userImageURL = this.collaboratorDS.getInactiveUserImageURL(userID);\n                userEmailID = this.collaboratorDS.getInactiveUserEmailID(userID);\n            } else if (this.collaboratorDS.isRemovedUser(userID)) {\n                userName = this.collaboratorDS.getRemovedUserName(userID);\n                !userName && (userName = this.getAnonymousUserName());\n                userImageURL = this.collaboratorDS.getRemovedUserImageURL(userID);\n                userEmailID = this.collaboratorDS.getRemovedUserEmailID(userID);\n            }\n\n            option = new FindAnItemCollaboratorSSWithEmailIDButtonOption(userID);\n            option.setColor(color);\n            option.setName(userName);\n            option.setEmailID(userEmailID);\n            option.setImageSource(userImageURL);\n            options[userID] = option;\n        }\n\n        return options;\n    }\n\n    MultiSelect.ValueHolderForForm.prototype.getFindAnItemCheckboxOptions = function() {\n        const options        = {};\n        const totalIDs       = this.getFindAnItemCheckboxOptionIDs();\n        const coloredOptions = this.getColoredOptions();\n        if(!coloredOptions) {\n            // const color = getLightColor(MULTISELECT_COLOR);\n            const color = MULTISELECT_COLOR;\n            for(var i = 0; i < totalIDs.length; i++) {\n                const id     = totalIDs[i];\n                const name   = this.multiSelectDS.getName(id);\n                const option = new FindAnItemCheckboxOption(id);\n                option.setColor(`${HASH}${color}`);\n                option.setName(name);\n                options[id] = option;\n            }\n        }else {\n            for(var i = 0; i < totalIDs.length; i++) {\n                const id     = totalIDs[i];\n                const color  = this.multiSelectDS.getColor(id);\n                const name   = this.multiSelectDS.getName(id);\n                const option = new FindAnItemCheckboxOption(id);\n                option.setColor(`${HASH}${color}`);\n                option.setName(name);\n                options[id] = option;\n            }\n        }\n\n        for(var i = 0; i < this.selectedIDs.length; i++) {\n            const id     = this.selectedIDs[i];\n            const option = options[id];\n            option && option.addActive();\n        }\n\n        return options;\n    }\n\n    MultiSelect.ValueHolderForForm.prototype.getEditableMultiSelect = function() {\n        const options        = {};\n        const coloredOptions = this.getColoredOptions();\n        if(!coloredOptions) {\n            // const color = getLightColor(MULTISELECT_COLOR);\n            const color = MULTISELECT_COLOR;\n            for(var i = 0; i < this.selectedIDs.length; i++) {\n                const id          = this.selectedIDs[i];\n                const name        = this.multiSelectDS.getName(id);\n                const option      = new MultiSelectReadWriteOption(id);\n                option.setColor(`${HASH}${color}`);\n                option.setName(name);\n                options[id] = option;\n            }\n        }else {\n            for(var i = 0; i < this.selectedIDs.length; i++) {\n                const id          = this.selectedIDs[i];\n                // const color       = getLightColor(this.multiSelectDS.getColor(id));\n                const color       = this.multiSelectDS.getColor(id);\n                const name        = this.multiSelectDS.getName(id);\n                const option      = new MultiSelectReadWriteOption(id);\n                option.setColor(`${HASH}${color}`);\n                option.setName(name);\n                options[id] = option;\n            }\n        }\n        return options;\n    }\n\n    MultiSelect.ValueHolderForForm.prototype.getEditableMultiSelectCheckboxType = function() {\n        const options        = {};\n        const totalIDs       = this.getTotalIDs();\n        const coloredOptions = this.getColoredOptions();\n        if(!coloredOptions) {\n            const color = MULTISELECT_COLOR;\n            for(var i = 0; i < totalIDs.length; i++) {\n                const id     = totalIDs[i];\n                const name   = this.multiSelectDS.getName(id);\n                const option = new MultiSelectCheckboxTypeReadWriteOption(id);\n                option.setColor(color);\n                option.setName(name);\n                options[id] = option;\n            }\n        }else {\n            for(var i = 0; i < totalIDs.length; i++) {\n                const id     = totalIDs[i];\n                const color  = this.multiSelectDS.getColor(id);\n                const name   = this.multiSelectDS.getName(id);\n                const option = new MultiSelectCheckboxTypeReadWriteOption(id);\n                option.setColor(color);\n                option.setName(name);\n                options[id] = option;\n            }\n        }\n        return options;\n    }\n\n    FindAnItemComponent.prototype.addBlankDom = function() {\n        this.blankDom = new FindAnItemBlankButtonDom(this, this.Component, this.callback);\n        this.blankDom.insertLastAt(this.container);\n\t\tthis.options.splice(0, 0, this.blankDom);\n    }\n\n    FindAnItemComponent.prototype.setPlaceholder = function(placeholder) {\n        this.search.placeholder = placeholder;\n    }\n\n    FindAnItemCheckboxOption.prototype.setName = function(name) {\n        this.name.textContent = name;\n        this.name.title       = name;\n    }\n\n    FindAnItemCollaboratorMSCheckboxWithEmailIDOption.prototype.setName = function(name) {\n        this.name.textContent = name;\n        this.name.title       = name;\n    }\n\n    FindAnItemCheckboxOption.prototype.setColor = function (color) {\n        this.nameContainer.style.setProperty(CSS_VARIABLES.SINGLE_SELECT_OVAL, color);\n    }\n\n    FindAnItemLinkFieldOption.prototype.setColor = function (color) {\n        const newColor                 = color.replace(\"#\", \"\");\n        const lightColor               = Utility.getColor('ffffff', newColor, .2);  // No I18N\n        this.dom.style.backgroundColor = lightColor;\n    }\n\n    SingleSelect.ValueHolderForForm.prototype.getRadioTypeReadWriteOptions = function() {\n        const options  = {};\n        const totalIDs = this.getTotalIDs();\n        const coloredOptions = this.getColoredOptions();\n        if(!coloredOptions) {\n            const color = MULTISELECT_COLOR;\n            for(var i = 0; i < totalIDs.length; i++) {\n                const id     = totalIDs[i];\n                const name   = this.singleSelectDS.getName(id);\n                const option = new SingleSelectRadioTypeReadWriteOption(id);\n                option.setColor(color);\n                option.setName(name);\n                options[id] = option;\n            }\n        } else {\n            for(var i = 0; i < totalIDs.length; i++) {\n                const id          = totalIDs[i];\n                const color       = this.singleSelectDS.getColor(id);\n                const name        = this.singleSelectDS.getName(id);\n                const option      = new SingleSelectRadioTypeReadWriteOption(id);\n                option.setColor(color);\n                option.setName(name);\n                options[id] = option;\n            }\n        }\n        return options;\n    }\n\n    SingleSelect.ValueHolderForForm.prototype.getTotalOptions = function() {\n        const totalIDs = this.getTotalIDs();\n        const options  = {};\n        const coloredOptions = this.getColoredOptions();\n        if(!coloredOptions) {\n            const color = MULTISELECT_COLOR;\n            for(var i = 0; i < totalIDs.length; i++) {\n                const id     = totalIDs[i];\n                const name   = this.singleSelectDS.getName(id);\n                const option = new FindAnItemSingleSelectButtonOption(id);\n                option.setColor(color);\n                option.setName(name);\n                options[id] = option;\n            }\n        } else {\n            for(var i = 0; i < totalIDs.length; i++) {\n                const id     = totalIDs[i];\n                const color  = this.singleSelectDS.getColor(id);\n                const name   = this.singleSelectDS.getName(id);\n                const option = new FindAnItemSingleSelectButtonOption(id);\n                option.setColor(color);\n                option.setName(name);\n                options[id] = option;\n            }\n        }\n        return options;\n    }\n\n    SingleSelect.ValueHolderForForm.prototype.getSingleSelect = function() {\n        const options = {};\n        if(this.value) {\n            const coloredOptions = this.getColoredOptions();\n            const option         = new SingleSelectReadOnlyOption();\n            const color          = (!coloredOptions) ? MULTISELECT_COLOR : this.singleSelectDS.getColor(this.value);\n            const name           = this.singleSelectDS.getName(this.value);\n            option.setColor(color);\n            option.setName(name);\n            options[this.value] = option;\n        }\n        return options;\n    }\n\n    LinkFieldMultiSelectFormReadWriteOption.prototype.setColor = function (color) {\n        const newColor   = color.replace(\"#\", \"\");\n        const lightColor = Utility.getColor('ffffff', newColor, .2);  // No I18N\n        this.dom.style.setProperty(CSS_VARIABLES.SINGLE_SELECT_OVAL, lightColor);\n    }\n\n    Checkbox.ReadWriteOption.prototype.setColor = function (color) {\n        const newColor = getModifiedColor(color);\n        this.svg.style.setProperty(CSS_VARIABLES.RATING, newColor);\n    }\n\n    Checkbox.getTemplate = type => {\n        let template;\n        \n        switch (type) {\n            case 2:\n                template = getTemplateByID('ratingValueTemplate', 'label');//No I18N\n                break;\n\n            case 1:\n                template = getTemplateByID('ratingValueHeartTemplate', 'label');//No I18N\n                break;\n\n            case 4:\n                template = getTemplateByID('ratingValueThumbsUpTemplate', 'label');//No I18N\n                break;\n\n            case 3:\n                template = getTemplateByID('ratingValueFlagTemplate', 'label');//No I18N\n                break;\n\n            case 5:\n                template = getTemplateByID('ratingValueCheckboxTemplate', 'label');//No I18N\n                break;\n\n            case 6:\n                template = getTemplateByID('ratingValueBadgeTemplate', 'label');//No I18N\n                break;\n\n            case 7:\n                template = getTemplateByID('ratingValueToogleBtnTemplate', 'label');//No I18N\n                break;\n\n            case 8:\n                template = getTemplateByID('ratingValueSmileyTemplate', 'label');//No I18N\n                break;\n\n            case 9:\n                template = getTemplateByID('ratingValueShieldTemplate', 'label');//No I18N\n                break;\n\n            default:\n                throw (UNKNOWN_CHECKBOX_STYLE);\n        }\n\n        return template;\n    }\n\n    Rating.GridReadWriteOption.prototype.setColor = function(color) {\n        color = getModifiedColor(color);\n        this.svg.style.setProperty(CSS_VARIABLES.RATING, color);\n    }\n\n    Rating.getTemplate = type => {\n        let template;\n\n        switch (type){\n            case 2:\n                template = getTemplateByID('ratingValueTemplate', 'label');//No I18N\n                break;\n\n            case 1:\n                template = getTemplateByID('ratingValueHeartTemplate', 'label');//No I18N\n                break;\n\n            case 4:\n                template = getTemplateByID('ratingValueThumbsUpTemplate', 'label');//No I18N\n                break;\n\n            case 3:\n                template = getTemplateByID('ratingValueFlagTemplate', 'label');//No I18N\n                break;\n\n            case 5:\n                template = getTemplateByID('ratingValueCheckboxTemplate', 'label');//No I18N\n                break;\n\n            case 6:\n                template = getTemplateByID('ratingValueBadgeTemplate', 'label');//No I18N\n                break;\n\n            case 7:\n                template = getTemplateByID('ratingValueToogleBtnTemplate', 'label');//No I18N\n                break;\n\n            case 8:\n                template = getTemplateByID('ratingValueSmileyTemplate', 'label');//No I18N\n                break;\n\n            case 9:\n                template = getTemplateByID('ratingValueShieldTemplate', 'label');//No I18N\n                break;\n                \n            default:\n                throw (UNKNOWN_RATING_STYLE);\n        }\n        \n        return template;\n    }\n    \n    Attachment.FormReadWriteOption.prototype.getComponent = function() {\n        return this.component;\n    }\n\n    Attachment.FormReadWriteComponent.prototype.addClass = function(className) {\n        this.dom.classList.add(className);\n    }\n\n    Attachment.FormReadWriteComponent.prototype.removeClass = function(className) {\n        this.dom.classList.remove(className);\n    }\n\n    Attachment.ValueHolder.prototype.removeAttachmentInfo = function(url) {\n        delete this.attachmentInfo[url];\n    }\n\n    Attachment.ValueHolder.prototype.renameAttachedFileName = function(url, newFileName) {\n        this.attachmentInfo[url].fileName = newFileName;\n    }\n\n    FindAnItemSingleSelectButtonOption.prototype.setColor = function (color) {\n        const innerCircleColor = getBubbleNodeInnerCircleColor(color);\n        this.nameContainer.style.setProperty(CSS_VARIABLES.SINGLE_SELECT_OVAL, `${HASH}${color}`);\n        this.nameContainer.style.setProperty(CSS_VARIABLES.SINGLE_SELECT_DOT,  `${HASH}${innerCircleColor}`);\n    }\n\n    SingleSelectReadOnlyOption.prototype.setColor = function (color) {\n        const innerCircleColor = getBubbleNodeInnerCircleColor(color);\n        this.dom.style.setProperty(CSS_VARIABLES.SINGLE_SELECT_OVAL, `${HASH}${color}`);\n        this.dom.style.setProperty(CSS_VARIABLES.SINGLE_SELECT_DOT,  `${HASH}${innerCircleColor}`);\n    }\n\n    SingleSelectRadioTypeReadWriteOption.prototype.setColor = function (color) {\n        const innerCircleColor = getBubbleNodeInnerCircleColor(color);\n        this.dom.style.setProperty(CSS_VARIABLES.SINGLE_SELECT_OVAL, `${HASH}${color}`);\n        this.dom.style.setProperty(CSS_VARIABLES.SINGLE_SELECT_DOT,  `${HASH}${innerCircleColor}`);\n    }\n\n    MultiSelectCheckboxTypeReadWriteOption.prototype.setColor = function (color) {\n        this.dom.style.setProperty(CSS_VARIABLES.SINGLE_SELECT_OVAL, `${HASH}${color}`);\n    }\n\n    FindAnItem.CollaboratorSSWithEmailIDButtonOption.prototype.setColor = function (color) {\n        const ultraLightColor = getUltraLightThemeColor(color);\n        this.nameContainer.style.setProperty(CSS_VARIABLES.SINGLE_SELECT_OVAL, `${HASH}${ultraLightColor}`);\n    }\n\n    FindAnItemCollaboratorMSCheckboxWithEmailIDOption.prototype.setColor = function (color) {\n        const ultraLightColor = getUltraLightThemeColor(color);\n        this.nameContainer.style.setProperty(CSS_VARIABLES.SINGLE_SELECT_OVAL, `${HASH}${ultraLightColor}`);\n    }\n\n    CollaboratorSS.RadioTypeWithEmailIDReadWriteOption.prototype.setColor = function(color) {\n        const ultraLightColor = getUltraLightThemeColor(color);\n        this.dom.style.setProperty(CSS_VARIABLES.SINGLE_SELECT_OVAL, `${HASH}${ultraLightColor}`);\n    }\n\n    CollaboratorSS.ReadOnlyOption.prototype.setColor = function(color) {\n        const ultraLightColor = getUltraLightThemeColor(color);\n        this.dom.style.setProperty(CSS_VARIABLES.SINGLE_SELECT_OVAL, `${HASH}${ultraLightColor}`);\n    }\n\n    CollaboratorMS.FormCheckboxTypeWithEmailIDReadOnlyOption.prototype.setColor = function(color) {\n        const ultraLightColor = getUltraLightThemeColor(color);\n        this.dom.style.setProperty(CSS_VARIABLES.SINGLE_SELECT_OVAL, `${HASH}${ultraLightColor}`);\n    }\n\n    CollaboratorMS.ReadWriteOption.prototype.setColor = function(color) {\n        const ultraLightColor = getUltraLightThemeColor(color);\n        this.dom.style.setProperty(CSS_VARIABLES.SINGLE_SELECT_OVAL, `${HASH}${ultraLightColor}`);\n    }\n}\n\nfunction getLightColor(color) {\n    return Utility.getColor('ffffff', color, .2); // No I18N\n}\n\nfunction getModifiedColor(color) {\n    if(color.length > 6){\n        const split         = color.split(\",\");\n        const newColor      = split[0];\n        const lighter       = parseInt(split[1]);\n        const modifiedColor = Utility.getColor(\"ffffff\", newColor, lighter/100);  //No I18N\n        return modifiedColor;\n    }\n    return `#${color}`;\n}\n","import { FORM_VIEW_ALIGNMENT, FORM_VIEW_BRANDING, FORM_VIEW_CHOICES, FORM_VIEW_COLLABORATORS, FORM_VIEW_COLOR, FORM_VIEW_COLOR_THEME, FORM_VIEW_COMPONENT_TYPE, FORM_VIEW_COVER_IMAGE, FORM_VIEW_DESCRIPTION, FORM_VIEW_EXTENSION_KEY, FORM_VIEW_FIELDS, FORM_VIEW_FIELD_ID, FORM_VIEW_FIELD_ORDER, FORM_VIEW_FILE, FORM_VIEW_FORM, FORM_VIEW_FORM_DESCRIPTION, FORM_VIEW_FORM_NAME, FORM_VIEW_ID_KEY, FORM_VIEW_IMAGE_SERVER_URL, FORM_VIEW_IS_EDITABLE_USER, FORM_VIEW_IS_ENABLED, FORM_VIEW_LABEL_ALIGNMENT, FORM_VIEW_LOGO, FORM_VIEW_MESSAGE_AFTER_SUBMIT, FORM_VIEW_MODULE_TYPE, FORM_VIEW_NAME, FORM_VIEW_NAME_PARAMETERS, FORM_VIEW_REDIRECT_URL, FORM_VIEW_REQUIRED, FORM_VIEW_SCHEMAS, FORM_VIEW_SELECTION, FORM_VIEW_SIZE, FORM_VIEW_SUBMIT_BUTTON, FORM_VIEW_TIME_ZONE, FORM_VIEW_TYPE, FORM_VIEW_USER_EMAIL, FORM_VIEW_USER_ID, FORM_VIEW_USER_NAME, FORM_VIEW_USER_PERMISSION, IS_ATTACHMENT_PREVIEW_NEEDED, MULTIPLE_SUBMIT, PLAN_TYPE, TEAMDRIVE_DOWNLOAD_URL, TEAMDRIVE_PREVIEW_URL, TEAMDRIVE_SERVER_URL } from \"../Constants/FormViewConstants.js\";\nimport { overrideComponents } from \"./FormView/OverridingFile.js\";\n\nconst OPTION_ID           = 0;\nconst OPTION_NAME         = 1;\nconst OPTION_COLOR        = 2;\nconst VISIBILITY_IS_TRUE  = 1;\nconst VISIBILITY_IS_FALSE = 0;\n\n\nexport function formMetaParser(response, dataStore) {\n\n\toverrideComponents();\n\n\tif(response.hasOwnProperty(IS_ATTACHMENT_PREVIEW_NEEDED)) {\n\t\tdataStore.setIsAttachmentPreviewNeeded(response[IS_ATTACHMENT_PREVIEW_NEEDED]);\n\t}\n\n\tif (response.hasOwnProperty(TEAMDRIVE_SERVER_URL)) {\n\t\tdataStore.setTeamDriveServerURL(response[TEAMDRIVE_SERVER_URL]);\n\t}\n\n\tif (response.hasOwnProperty(TEAMDRIVE_DOWNLOAD_URL)) {\n\t\tdataStore.setTeamDriveDownloadURL(response[TEAMDRIVE_DOWNLOAD_URL]);\n\t}\n\n\tif (response.hasOwnProperty(TEAMDRIVE_PREVIEW_URL)) {\n\t\tdataStore.setTeamDrivePreviewURL(response[TEAMDRIVE_PREVIEW_URL]);\n\t}\n\n\tif (response.hasOwnProperty(FORM_VIEW_IMAGE_SERVER_URL)) {\n\t\tdataStore.setImageServerURL(response[FORM_VIEW_IMAGE_SERVER_URL]);\n\t}\n\n\tif (response.hasOwnProperty(FORM_VIEW_TIME_ZONE)) {\n\t\tdataStore.setTimeZone(response[FORM_VIEW_TIME_ZONE]);\n\t}\n\n\tif (response.hasOwnProperty(FORM_VIEW_COLOR)) {\n\t\tdataStore.setBaseColor(response[FORM_VIEW_COLOR]);\n\t}\n\n\tif(response.hasOwnProperty(MULTIPLE_SUBMIT)) {\n\t\tdataStore.setMultiSubmit(response[MULTIPLE_SUBMIT]);\n\t}\n\n\tif(response.hasOwnProperty(PLAN_TYPE)) {\n\t\tdataStore.setPlanType(response[PLAN_TYPE]);\n\t}\n\n\tif (response.hasOwnProperty([FORM_VIEW_COLLABORATORS])) {\n\t\tconst collaborators = response[FORM_VIEW_COLLABORATORS];\n\n\t\tfor(let key in collaborators) {\n\t\t\tconst userType = collaborators[key];\n\n\t\t\tfor (let ID in userType) {\n\t\t\t\tconst user              = userType[ID];\n\t\t\t\tconst userID            = user[FORM_VIEW_USER_ID];\n\t\t\t\tconst userName          = user[FORM_VIEW_USER_NAME];\n\t\t\t\tconst userEmailID       = user[FORM_VIEW_USER_EMAIL];\n\t\t\t\tconst userPermission    = user[FORM_VIEW_USER_PERMISSION];\n\t\t\t\tconst userModuleType    = user[FORM_VIEW_MODULE_TYPE];\n\t\t\t\tconst userIsEnabled\t\t= user[FORM_VIEW_IS_ENABLED];\n\t\t\t\tconst userIsEditableUser= user[FORM_VIEW_IS_EDITABLE_USER];\n\n\t\t\t\tdataStore.addActiveUser(ID, userID, userName, userEmailID, userPermission, userModuleType, userIsEnabled, userIsEditableUser);\n\t\t\t}\n\t\t}\n\n\n\t}\n\n\tif (response.hasOwnProperty(FORM_VIEW_SELECTION)) {\n\t\tconst selection = response[FORM_VIEW_SELECTION];\n\n\t\tfor (let selectionID in selection) {\n\t\t\tconst selectionArray = selection[selectionID];\n\t\t\t\n\t\t\tfor (let i = 0; i < selectionArray.length; i++) {\n\t\t\t\tconst array       = selectionArray[i];\n\t\t\t\tconst optionID    = array[OPTION_ID];\n\t\t\t\tconst optionName  = array[OPTION_NAME];\n\t\t\t\tconst optionColor = array[OPTION_COLOR];\n\t\t\t\tdataStore.insertSelectionOption(selectionID, optionID, optionColor, optionName);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (response.hasOwnProperty(FORM_VIEW_FIELDS)) {\n\t\tconst fields = response[FORM_VIEW_FIELDS];\n\n\t\tfor (let fieldID in fields) {\n\n\t\t\tconst field           = fields[fieldID];\n\t\t\tconst fieldName       = field[FORM_VIEW_NAME];\n\t\t\tconst array           = field[FORM_VIEW_TYPE];\n\t\t\tconst fieldType       = array[0];\n\t\t\tconst fieldParameters = array[1];\n\n\t\t\tdataStore.insertField(fieldID, fieldName, fieldType, fieldParameters);\n\t\t}\n\t}\n\n\tif (response.hasOwnProperty(FORM_VIEW_FORM)) {\n\t\t// parse formView stuffs\n\t\tconst form = response[FORM_VIEW_FORM];\n\n\t\tif(form.hasOwnProperty(FORM_VIEW_COVER_IMAGE)) {\n\t\t\tconst coverImage           = form[FORM_VIEW_COVER_IMAGE];\n\t\t\tconst coverImageFileObject = coverImage[FORM_VIEW_FILE];\n\t\t\tconst coverImageID         = coverImageFileObject[FORM_VIEW_ID_KEY];\n\t\t\tconst coverImageExtension  = coverImageFileObject[FORM_VIEW_EXTENSION_KEY];\n\t\t\tconst coverImageName       = coverImageFileObject[FORM_VIEW_NAME];\n\t\t\tdataStore.setCoverImage(coverImageID, coverImageExtension, coverImageName, 1);\n\t\t} else {\n\t\t\tdataStore.setCoverImage('', '', '', 0);\n\t\t}\n\n\t\tif(form.hasOwnProperty(FORM_VIEW_LOGO)) {\n\t\t\tconst logo           = form[FORM_VIEW_LOGO];\n\t\t\tconst logoSize       = logo[FORM_VIEW_SIZE];\n\t\t\tconst logoAlignment  = logo[FORM_VIEW_ALIGNMENT];\n\t\t\tconst logoFileObject = logo[FORM_VIEW_FILE];\n\t\t\tconst logoID         = logoFileObject[FORM_VIEW_ID_KEY];\n\t\t\tconst logoExtension  = logoFileObject[FORM_VIEW_EXTENSION_KEY];\n\t\t\tconst logoName       = logoFileObject[FORM_VIEW_NAME];\n\t\t\tdataStore.setLogo(logoID, logoExtension, logoName, 1, logoSize, logoAlignment);\n\t\t} else {\n\t\t\tdataStore.setLogo('', '', '', 0, null, null);\n\t\t}\n\n\t\tconst nameParameters = form[FORM_VIEW_NAME_PARAMETERS];\n\t\tif(nameParameters) {\n\t\t\tconst nameParametersSize       = nameParameters[FORM_VIEW_SIZE];\n\t\t\tconst nameParametersAlignment  = nameParameters[FORM_VIEW_ALIGNMENT];\n\t\t\tdataStore.setNameParameters(nameParametersSize, nameParametersAlignment, VISIBILITY_IS_TRUE);\n\t\t} else {\n\t\t\tdataStore.setNameParameters(null, null, VISIBILITY_IS_FALSE);\n\t\t}\n\n\t\tconst formName        = form[FORM_VIEW_FORM_NAME];\n\t\tconst formDescription = form[FORM_VIEW_FORM_DESCRIPTION];\n\n\t\tconst labelAlignment = form[FORM_VIEW_LABEL_ALIGNMENT];\n\t\tconst colorTheme     = form[FORM_VIEW_COLOR_THEME];\n\n\t\tconst submitButtonName   = form[FORM_VIEW_SUBMIT_BUTTON];\n\t\tconst branding           = form[FORM_VIEW_BRANDING];\n\t\tconst redirectURL        = form[FORM_VIEW_REDIRECT_URL];\n\t\tconst messageAfterSubmit = form[FORM_VIEW_MESSAGE_AFTER_SUBMIT];\n\n\t\tconst fieldOrder = form[FORM_VIEW_FIELD_ORDER];\n\t\tconst schemas    = form[FORM_VIEW_SCHEMAS];\n\t\t\n\t\tdataStore.setFormMeta(formName, formDescription, labelAlignment, colorTheme, submitButtonName, branding, redirectURL, messageAfterSubmit, fieldOrder);\n\t\t\n\t\tfor (const schemaID in schemas) {\n\t\t\tconst schema            = schemas[schemaID];\n\t\t\tconst fieldID           = schema[FORM_VIEW_FIELD_ID];\n\t\t\tconst schemaName        = schema[FORM_VIEW_NAME];\n\t\t\tconst schemaDescription = schema[FORM_VIEW_DESCRIPTION];\n\t\t\tconst required          = schema[FORM_VIEW_REQUIRED];\n\t\t\tconst componentType     = schema[FORM_VIEW_COMPONENT_TYPE];\n\t\t\tconst choices           = schema[FORM_VIEW_CHOICES];\n\n\t\t\tdataStore.insertSchema(schemaID, fieldID, schemaName, schemaDescription, required, componentType, choices);\n\n\t\t\trequired && dataStore.pushMandatoryField(fieldID);\n\t\t}\n\t}\n\n\tconst shareID = window.location.pathname.replace('/', '');\n\tdataStore.setShareID(shareID);\n\n}\n","export const ADDRESS                        = \"1\"\nexport const ATTACHMENT                     = \"2\"\nexport const AUTO_NUMBER                    = \"3\"\nexport const CHECKBOX                       = \"4\"\nexport const CREATED_TIME                   = \"5\"\nexport const CURRENCY                       = \"6\"\nexport const DATE_TIME                      = \"7\"\nexport const DURATION                       = \"8\"\nexport const EMAIL                          = \"9\"\nexport const FORMULA                        = \"10\"\nexport const FRACTION                       = \"11\"\nexport const MODIFIED_TIME                  = \"12\"\nexport const MULTIPLE_SELECTION             = \"13\"\nexport const NATIONAL_IDENTIFICATION_NUMBER = \"14\"\nexport const NUMBER                         = \"15\"\nexport const PERCENT                        = \"16\"\nexport const PHONE_NUMBER                   = \"17\"\nexport const COLLABORATOR_CLIENT            = \"18\"\nexport const RATING                         = \"19\"\nexport const SCIENTIFIC                     = \"20\"\nexport const SINGLE_SELECTION               = \"21\"\nexport const SLIDER                         = \"22\"\nexport const TEXT                           = \"23\"\nexport const URL                            = \"24\"\nexport const CREATED_BY                     = \"25\"\nexport const MODIFIED_BY                    = \"26\"\nexport const LOOKUP                         = \"27\"\nexport const ROLLUP                         = \"31\"\nexport const LINK                           = \"30\"\nexport const SENTIMENTAL_ANALYSIS\t\t\t= \"32\"\nexport const KEYWORD_EXTRACTION  \t\t\t= \"34\"\nexport const LANGUAGE_DETECTOR  \t\t\t= \"33\"\nexport const LANGUAGE_TRANSLATOR\t\t\t= \"35\"\n\nexport const AUTO_NUMBER_CLIENT             = \"28\"\nexport const CURRENCY_CLIENT                = \"29\"\nexport const PERCENT_CLIENT                 = \"42\"\nexport const PHONE_NUMBER_CLIENT            = \"43\"\nexport const DATE_TIME_CLIENT               = \"44\"\nexport const MODIFIED_TIME_CLIENT           = \"35\"\nexport const CREATED_TIME_CLIENT            = \"36\"\nexport const LINK_CLIENT                    = \"37\"\nexport const BARCODE                        = \"38\"\nexport const NUMBER_CLIENT                  = \"39\"\n\nconst SELECTION_FIELD_TYPES                = {};\nSELECTION_FIELD_TYPES[MULTIPLE_SELECTION]  = 1;\nSELECTION_FIELD_TYPES[SINGLE_SELECTION]    = 1;\nSELECTION_FIELD_TYPES[COLLABORATOR_CLIENT] = 1;\nSELECTION_FIELD_TYPES[ATTACHMENT]          = 1;\nSELECTION_FIELD_TYPES[LINK]                = 1;\n\nconst FORM_SELECTION_FIELD_TYPES = {};\nFORM_SELECTION_FIELD_TYPES[MULTIPLE_SELECTION]  = 1;\nFORM_SELECTION_FIELD_TYPES[SINGLE_SELECTION]    = 1;\nFORM_SELECTION_FIELD_TYPES[COLLABORATOR_CLIENT] = 1;\n\nexport const COMMON_DELIMITERS = {\n\tMULTIPLE_SELECTION: \"__\"\n};\n\nexport const COLLABORATOR_SELECTION_TYPES = {\n\tSINGLE_SELECT: 0,\n\tMULTI_SELECT: 1\n};\n\nexport const isNonEditableFieldType = function (fieldType) {\n\tconst nonEditableFieldTypes = [\n\t\tAUTO_NUMBER,\n\t\tCREATED_BY,\n\t\tCREATED_TIME,\n\t\tFORMULA,\n\t\tMODIFIED_BY,\n\t\tMODIFIED_TIME,\n\t\tLOOKUP,\n\t\tKEYWORD_EXTRACTION,\n\t\tLANGUAGE_DETECTOR,\n\t\tROLLUP\n\t];\n\treturn nonEditableFieldTypes.includes(fieldType);\n};\n\nexport const isFormNonEditableFieldType = function (fieldType) {\n\tconst nonEditableFieldTypes = [\n\t\tAUTO_NUMBER,\n\t\tCREATED_BY,\n\t\tCREATED_TIME,\n\t\tFORMULA,\n\t\tMODIFIED_BY,\n\t\tMODIFIED_TIME,\n\t\tLOOKUP,\n\t\tROLLUP,\n\t\tSENTIMENTAL_ANALYSIS,\n\t\tKEYWORD_EXTRACTION,\n\t\tLANGUAGE_DETECTOR\n\t];\n\treturn nonEditableFieldTypes.includes(fieldType);\n};\n\nexport const isPopupFieldType = function (fieldType) {\n\treturn (\n\t\tfieldType === COLLABORATOR_CLIENT ||\n\t\tfieldType === MULTIPLE_SELECTION ||\n\t\tfieldType === SINGLE_SELECTION || \n\t\tfieldType === SENTIMENTAL_ANALYSIS\n\t);\n};\n\nexport const isConfirmationNeededFieldType = (fieldType) => {\n\tconst CONFIMATION_NEEDED_FIELDTYPES = [FORMULA, LINK, LOOKUP, ROLLUP, SENTIMENTAL_ANALYSIS, KEYWORD_EXTRACTION, LANGUAGE_DETECTOR];\n\treturn CONFIMATION_NEEDED_FIELDTYPES.includes(fieldType);\n}\n\nexport const isSelectionFieldType = function (fieldType) {\n\treturn SELECTION_FIELD_TYPES[fieldType];\n};\n\nexport function isFormSelectionFieldType(fieldType) {\n\treturn FORM_SELECTION_FIELD_TYPES[fieldType];\n};\n\nexport const toRestrictDuplicateWithoutDataFieldTypes = function (fieldType) {\n\treturn (\n\t\tfieldType === AUTO_NUMBER ||\n\t\tfieldType === CREATED_BY ||\n\t\tfieldType === CREATED_TIME ||\n\t\tfieldType === FORMULA ||\n\t\tfieldType === MODIFIED_BY ||\n\t\tfieldType === MODIFIED_TIME ||\n\t\tfieldType === LOOKUP ||\n\t\tfieldType === ROLLUP ||\n\t\tfieldType === SENTIMENTAL_ANALYSIS || \n\t\tfieldType === KEYWORD_EXTRACTION ||\n\t\tfieldType === LANGUAGE_DETECTOR\n\t);\n};\n\n// export const ORDER = [\n// \tATTACHMENT,\n// \tAUTO_NUMBER,\n// \tCHECKBOX,\n// \tCOLLABORATOR_CLIENT,\n// \tCREATED_BY,\n// \tCREATED_TIME,\n// \tCURRENCY,\n// \tDATE_TIME,\n// \tEMAIL,\n// \tFORMULA,\n// \tKEYWORD_EXTRACTION,\n// \tLANGUAGE_DETECTOR,\n// \tLINK,\n// \tLOOKUP,\n// \tMULTIPLE_SELECTION,\n// \tMODIFIED_BY,\n// \tMODIFIED_TIME,\n// \tNUMBER,\n// \tPERCENT,\n// \tPHONE_NUMBER,\n// \tRATING,\n// \tROLLUP,\n// \tSENTIMENTAL_ANALYSIS,\n// \tSINGLE_SELECTION,\n// \tTEXT,\n// \tURL\n// ];\n\nexport const FIELD_TYPES_BASIC_ORDER                = [ATTACHMENT, CHECKBOX, FORMULA, TEXT, URL];\nexport const FIELD_TYPES_AI_FIELDS_ORDER            = [KEYWORD_EXTRACTION, LANGUAGE_DETECTOR, SENTIMENTAL_ANALYSIS];\nexport const FIELD_TYPES_PICK_LISTS_ORDER           = [MULTIPLE_SELECTION, SINGLE_SELECTION];\nexport const FIELD_TYPES_NUMERICAL_ORDER            = [AUTO_NUMBER, CURRENCY, NUMBER, PERCENT, RATING];\nexport const FIELD_TYPES_PERSONAL_INFORMATION_ORDER = [COLLABORATOR_CLIENT, CREATED_BY, EMAIL, MODIFIED_BY, PHONE_NUMBER];\nexport const FIELD_TYPES_DATE_AND_TIME_ORDER        = [CREATED_TIME, DATE_TIME, MODIFIED_TIME];\nexport const FIELD_TYPES_RELATIONSHIP_ORDER         = [LINK, LOOKUP, ROLLUP];\n\nexport const FIELD_TYPES_BASIC_KEY                      = Symbol('FIELD_TYPES_BASIC_KEY');\nexport const FIELD_TYPES_AI_FIELDS_ORDER_KEY            = Symbol('FIELD_TYPES_AI_FIELDS_ORDER_KEY');\nexport const FIELD_TYPES_PICK_LISTS_ORDER_KEY           = Symbol('FIELD_TYPES_PICK_LISTS_ORDER_KEY');\nexport const FIELD_TYPES_NUMERICAL_ORDER_KEY            = Symbol('FIELD_TYPES_NUMERICAL_ORDER_KEY');\nexport const FIELD_TYPES_PERSONAL_INFORMATION_ORDER_KEY = Symbol('FIELD_TYPES_PERSONAL_INFORMATION_ORDER_KEY');\nexport const FIELD_TYPES_DATE_AND_TIME_ORDER_KEY        = Symbol('FIELD_TYPES_DATE_AND_TIME_ORDER_KEY');\nexport const FIELD_TYPES_RELATIONSHIP_ORDER_KEY         = Symbol('FIELD_TYPES_RELATIONSHIP_ORDER_KEY');\n\nexport const FIELD_TYPES_DISPLAY_ORDER_IN_UI = [FIELD_TYPES_BASIC_KEY, FIELD_TYPES_AI_FIELDS_ORDER_KEY, FIELD_TYPES_PICK_LISTS_ORDER_KEY, FIELD_TYPES_NUMERICAL_ORDER_KEY, FIELD_TYPES_PERSONAL_INFORMATION_ORDER_KEY, FIELD_TYPES_DATE_AND_TIME_ORDER_KEY, FIELD_TYPES_RELATIONSHIP_ORDER_KEY];\n\nexport const INVALID_FIELD_TYPE = \"Invalid Field Type\";  // No I18N\n","import { ATTACHMENT, CHECKBOX, COLLABORATOR_CLIENT, CURRENCY, DATE_TIME, EMAIL, LINK, LINK_CLIENT, LOOKUP, MULTIPLE_SELECTION, NUMBER, PERCENT, PHONE_NUMBER, RATING, ROLLUP, SINGLE_SELECTION, TEXT, URL } from \"./../../Constants/FieldTypes.js\";\n\nconst INVALID_FIELD_TYPE = \"Invalid FieldType\"; // No I18N\n\nconst STYLES = {\n    BACKGROUND_COLOR     : 'BGColor',//No I18N\n    COLOR                : 'Color',//No I18N\n    FONT_FAMILY          : 'Font',//No I18N\n    FONT_SIZE            : 'Size',//No I18N\n    BOLD                 : 'Bold',//No I18N\n    ITALIC               : 'Italic',//No I18N\n    OVERLINE             : 'Overline',//No I18N\n    STRIKETHROUGH        : 'StrikeThrough',//No I18N\n    UNDERLINE            : 'Underline',//No I18N\n    HORIZONTAL_ALIGNMENT : 'HorizontalAlignment',//No I18N\n    VERTICAL_ALIGNMENT   : 'verticalAlignment',//No I18N\n    OPTION_COLOR         : 'optionColor'//No I18N\n};\n\nconst STYLE_VALUES = {\n\tATTACHMENT: {\n\t\tBACKGROUND_COLOR: '#fff',//No I18N\n\t\tCOLOR: '#222222',//No I18N\n\t\tFONT_FAMILY: 'Inter,Sans-serif',//No I18N\n\t\tFONT_SIZE: 9.75,\n\t\tBOLD: false,\n\t\tITALIC: false,\n\t\tOVERLINE: false,\n\t\tSTRIKETHROUGH: false,\n\t\tUNDERLINE: false,\n\t\tHORIZONTAL_ALIGNMENT: 0,\n\t\tVERTICAL_ALIGNMENT: 1\n\t},\n\n\tAUTO_NUMBER: {\n\t\tBACKGROUND_COLOR: '#fff',//No I18N\n\t\tCOLOR: '#222222',//No I18N\n\t\tFONT_FAMILY: 'Inter,Sans-serif',//No I18N\n\t\tFONT_SIZE: 9.75,\n\t\tBOLD: false,\n\t\tITALIC: false,\n\t\tOVERLINE: false,\n\t\tSTRIKETHROUGH: false,\n\t\tUNDERLINE: false,\n\t\tHORIZONTAL_ALIGNMENT: 2,\n\t\tVERTICAL_ALIGNMENT: 1\n\t},\n\n\tCREATED_TIME: {\n\t\tBACKGROUND_COLOR: '#fff',//No I18N\n\t\tCOLOR: '#222222',//No I18N\n\t\tFONT_FAMILY: 'Inter,Sans-serif',//No I18N\n\t\tFONT_SIZE: 9.75,\n\t\tBOLD: false,\n\t\tITALIC: false,\n\t\tOVERLINE: false,\n\t\tSTRIKETHROUGH: false,\n\t\tUNDERLINE: false,\n\t\tHORIZONTAL_ALIGNMENT: 2,\n\t\tVERTICAL_ALIGNMENT: 1\n\t},\n\n\tCURRENCY: {\n\t\tBACKGROUND_COLOR: '#fff',//No I18N\n\t\tCOLOR: '#222222',//No I18N\n\t\tFONT_FAMILY: 'Inter,Sans-serif',//No I18N\n\t\tFONT_SIZE: 9.75,\n\t\tBOLD: false,\n\t\tITALIC: false,\n\t\tOVERLINE: false,\n\t\tSTRIKETHROUGH: false,\n\t\tUNDERLINE: false,\n\t\tHORIZONTAL_ALIGNMENT: 2,\n\t\tVERTICAL_ALIGNMENT: 1\n\t},\n\n\tDATE_TIME: {\n\t\tBACKGROUND_COLOR: '#fff',//No I18N\n\t\tCOLOR: '#222222',//No I18N\n\t\tFONT_FAMILY: 'Inter,Sans-serif',//No I18N\n\t\tFONT_SIZE: 9.75,\n\t\tBOLD: false,\n\t\tITALIC: false,\n\t\tOVERLINE: false,\n\t\tSTRIKETHROUGH: false,\n\t\tUNDERLINE: false,\n\t\tHORIZONTAL_ALIGNMENT: 0,\n\t\tVERTICAL_ALIGNMENT: 1\n\t},\n\n\tEMAIL: {\n\t\tBACKGROUND_COLOR: '#fff',//No I18N\n\t\tCOLOR: '#006EC2',//No I18N\n\t\tFONT_FAMILY: 'Inter,Sans-serif',//No I18N\n\t\tFONT_SIZE: 9.75,\n\t\tBOLD: false,\n\t\tITALIC: false,\n\t\tOVERLINE: false,\n\t\tSTRIKETHROUGH: false,\n\t\tUNDERLINE: true,\n\t\tHORIZONTAL_ALIGNMENT: 0,\n\t\tVERTICAL_ALIGNMENT: 1,\n\t\tOPTION_COLOR: '#e4e1f4'//No I18N\n\t},\n\n\tMODIFIED_TIME: {\n\t\tBACKGROUND_COLOR: '#fff',//No I18N\n\t\tCOLOR: '#222222',//No I18N\n\t\tFONT_FAMILY: 'Inter,Sans-serif',//No I18N\n\t\tFONT_SIZE: 9.75,\n\t\tBOLD: false,\n\t\tITALIC: false,\n\t\tOVERLINE: false,\n\t\tSTRIKETHROUGH: false,\n\t\tUNDERLINE: false,\n\t\tHORIZONTAL_ALIGNMENT: 2,\n\t\tVERTICAL_ALIGNMENT: 1\n\t},\n\n\tNUMBER: {\n\t\tBACKGROUND_COLOR: '#fff',//No I18N\n\t\tCOLOR: '#222222',//No I18N\n\t\tFONT_FAMILY: 'Inter,Sans-serif',//No I18N\n\t\tFONT_SIZE: 9.75,\n\t\tBOLD: false,\n\t\tITALIC: false,\n\t\tOVERLINE: false,\n\t\tSTRIKETHROUGH: false,\n\t\tUNDERLINE: false,\n\t\tHORIZONTAL_ALIGNMENT: 2,\n\t\tVERTICAL_ALIGNMENT: 1\n\t},\n\n\tPERCENT: {\n\t\tBACKGROUND_COLOR: '#fff',//No I18N\n\t\tCOLOR: '#222222',//No I18N\n\t\tFONT_FAMILY: 'Inter,Sans-serif',//No I18N\n\t\tFONT_SIZE: 9.75,\n\t\tBOLD: false,\n\t\tITALIC: false,\n\t\tOVERLINE: false,\n\t\tSTRIKETHROUGH: false,\n\t\tUNDERLINE: false,\n\t\tHORIZONTAL_ALIGNMENT: 2,\n\t\tVERTICAL_ALIGNMENT: 1\n\t},\n\n\tPHONE_NUMBER: {\n\t\tBACKGROUND_COLOR: '#fff',//No I18N\n\t\tCOLOR: '#006EC2',//No I18N\n\t\tFONT_FAMILY: 'Inter,Sans-serif',//No I18N\n\t\tFONT_SIZE: 9.75,\n\t\tBOLD: false,\n\t\tITALIC: false,\n\t\tOVERLINE: false,\n\t\tSTRIKETHROUGH: false,\n\t\tUNDERLINE: true,\n\t\tHORIZONTAL_ALIGNMENT: 2,\n\t\tVERTICAL_ALIGNMENT: 1,\n\t\tOPTION_COLOR: '#e4e1f4'//No I18N\n\t},\n\n\tTEXT: {\n\t\tBACKGROUND_COLOR: '#fff',//No I18N\n\t\tCOLOR: '#222222',//No I18N\n\t\tFONT_FAMILY: 'Inter,Sans-serif',//No I18N\n\t\tFONT_SIZE: 9.75,\n\t\tBOLD: false,\n\t\tITALIC: false,\n\t\tOVERLINE: false,\n\t\tSTRIKETHROUGH: false,\n\t\tUNDERLINE: false,\n\t\tHORIZONTAL_ALIGNMENT: 0,\n\t\tVERTICAL_ALIGNMENT: 1\n\t},\n\n\tURL: {\n\t\tBACKGROUND_COLOR: '#fff',//No I18N\n\t\tCOLOR: '#006EC2',//No I18N\n\t\tFONT_FAMILY: 'Inter,Sans-serif',//No I18N\n\t\tFONT_SIZE: 9.75,\n\t\tBOLD: false,\n\t\tITALIC: false,\n\t\tOVERLINE: false,\n\t\tSTRIKETHROUGH: false,\n\t\tUNDERLINE: true,\n\t\tHORIZONTAL_ALIGNMENT: 0,\n\t\tVERTICAL_ALIGNMENT: 1,\n\t\tOPTION_COLOR: '#e4e1f4'//No I18N\n\t},\n\n\tMULTIPLE_SELECTION: {\n\t\tBACKGROUND_COLOR: '#fff',//No I18N\n\t\tCOLOR: '#222222',//No I18N\n\t\tFONT_FAMILY: 'Inter,Sans-serif',//No I18N\n\t\tFONT_SIZE: 9.75,\n\t\tBOLD: false,\n\t\tITALIC: false,\n\t\tOVERLINE: false,\n\t\tSTRIKETHROUGH: false,\n\t\tUNDERLINE: false,\n\t\tHORIZONTAL_ALIGNMENT: 1,\n\t\tVERTICAL_ALIGNMENT: 1\n\t},\n\n\tSINGLE_SELECTION: {\n\t\tBACKGROUND_COLOR: '#fff',//No I18N\n\t\tCOLOR: '#222222',//No I18N\n\t\tFONT_FAMILY: 'Inter,Sans-serif',//No I18N\n\t\tFONT_SIZE: 9.75,\n\t\tBOLD: false,\n\t\tITALIC: false,\n\t\tOVERLINE: false,\n\t\tSTRIKETHROUGH: false,\n\t\tUNDERLINE: false,\n\t\tHORIZONTAL_ALIGNMENT: 1,\n\t\tVERTICAL_ALIGNMENT: 1\n\t},\n\n\tRATING: {\n\t\tBACKGROUND_COLOR: '#fff',//No I18N\n\t\tCOLOR: '#222222',//No I18N\n\t\tFONT_FAMILY: 'Inter,Sans-serif',//No I18N\n\t\tFONT_SIZE: 9.75,\n\t\tBOLD: false,\n\t\tITALIC: false,\n\t\tOVERLINE: false,\n\t\tSTRIKETHROUGH: false,\n\t\tUNDERLINE: false,\n\t\tHORIZONTAL_ALIGNMENT: 1,\n\t\tVERTICAL_ALIGNMENT: 1\n\t},\n\n\tCHECKBOX: {\n\t\tBACKGROUND_COLOR: '#fff',//No I18N\n\t\tCOLOR: '#222222',//No I18N\n\t\tFONT_FAMILY: 'Inter,Sans-serif',//No I18N\n\t\tFONT_SIZE: 9.75,\n\t\tBOLD: false,\n\t\tITALIC: false,\n\t\tOVERLINE: false,\n\t\tSTRIKETHROUGH: false,\n\t\tUNDERLINE: false,\n\t\tHORIZONTAL_ALIGNMENT: 1,\n\t\tVERTICAL_ALIGNMENT: 1\n\t},\n\n\tDURATION: {\n\t\tBACKGROUND_COLOR: '#fff',//No I18N\n\t\tCOLOR: '#222222',//No I18N\n\t\tFONT_FAMILY: 'Inter,Sans-serif',//No I18N\n\t\tFONT_SIZE: 9.75,\n\t\tBOLD: false,\n\t\tITALIC: false,\n\t\tOVERLINE: false,\n\t\tSTRIKETHROUGH: false,\n\t\tUNDERLINE: false,\n\t\tHORIZONTAL_ALIGNMENT: 1,\n\t\tVERTICAL_ALIGNMENT: 1\n\t},\n\n\tSCIENTIFIC: {\n\t\tBACKGROUND_COLOR: '#fff',//No I18N\n\t\tCOLOR: '#222222',//No I18N\n\t\tFONT_FAMILY: 'Inter,Sans-serif',//No I18N\n\t\tFONT_SIZE: 9.75,\n\t\tBOLD: false,\n\t\tITALIC: false,\n\t\tOVERLINE: false,\n\t\tSTRIKETHROUGH: false,\n\t\tUNDERLINE: false,\n\t\tHORIZONTAL_ALIGNMENT: 1,\n\t\tVERTICAL_ALIGNMENT: 1\n\t},\n\n\tBARCODE: {\n\t\tBACKGROUND_COLOR: '#fff',//No I18N\n\t\tCOLOR: '#222222',//No I18N\n\t\tFONT_FAMILY: 'Inter,Sans-serif',//No I18N\n\t\tFONT_SIZE: 9.75,\n\t\tBOLD: false,\n\t\tITALIC: false,\n\t\tOVERLINE: false,\n\t\tSTRIKETHROUGH: false,\n\t\tUNDERLINE: false,\n\t\tHORIZONTAL_ALIGNMENT: 1,\n\t\tVERTICAL_ALIGNMENT: 1\n\t},\n\n\tCOLLABORATOR: {\n\t\tBACKGROUND_COLOR: '#fff',//No I18N\n\t\tCOLOR: '#222222',//No I18N\n\t\tFONT_FAMILY: 'Inter,Sans-serif',//No I18N\n\t\tFONT_SIZE: 9.75,\n\t\tBOLD: false,\n\t\tITALIC: false,\n\t\tOVERLINE: false,\n\t\tSTRIKETHROUGH: false,\n\t\tUNDERLINE: false,\n\t\tHORIZONTAL_ALIGNMENT: 1,\n\t\tVERTICAL_ALIGNMENT: 1\n\t},\n\n\tCREATED_BY: {\n\t\tBACKGROUND_COLOR: '#fff',//No I18N\n\t\tCOLOR: '#222222',//No I18N\n\t\tFONT_FAMILY: 'Inter,Sans-serif',//No I18N\n\t\tFONT_SIZE: 9.75,\n\t\tBOLD: false,\n\t\tITALIC: false,\n\t\tOVERLINE: false,\n\t\tSTRIKETHROUGH: false,\n\t\tUNDERLINE: false,\n\t\tHORIZONTAL_ALIGNMENT: 1,\n\t\tVERTICAL_ALIGNMENT: 1\n\t},\n\n\tMODIFIED_BY: {\n\t\tBACKGROUND_COLOR: '#fff',//No I18N\n\t\tCOLOR: '#222222',//No I18N\n\t\tFONT_FAMILY: 'Inter,Sans-serif',//No I18N\n\t\tFONT_SIZE: 9.75,\n\t\tBOLD: false,\n\t\tITALIC: false,\n\t\tOVERLINE: false,\n\t\tSTRIKETHROUGH: false,\n\t\tUNDERLINE: false,\n\t\tHORIZONTAL_ALIGNMENT: 1,\n\t\tVERTICAL_ALIGNMENT: 1\n\t},\n\n\tLINK: {\n\t\tBACKGROUND_COLOR: '#fff',//No I18N\n\t\tCOLOR: '#222222',//No I18N\n\t\tFONT_FAMILY: 'Inter,Sans-serif',//No I18N\n\t\tFONT_SIZE: 9.75,\n\t\tBOLD: false,\n\t\tITALIC: false,\n\t\tOVERLINE: false,\n\t\tSTRIKETHROUGH: false,\n\t\tUNDERLINE: false,\n\t\tHORIZONTAL_ALIGNMENT: 1,\n\t\tVERTICAL_ALIGNMENT: 1,\n\t\tOPTION_COLOR: '9274f6'//No I18N\n\t},\n\n\tLOOKUP: {\n\t\tBACKGROUND_COLOR: '#fff',//No I18N\n\t\tCOLOR: '#222222',//No I18N\n\t\tFONT_FAMILY: 'Inter,Sans-serif',//No I18N\n\t\tFONT_SIZE: 9.75,\n\t\tBOLD: false,\n\t\tITALIC: false,\n\t\tOVERLINE: false,\n\t\tSTRIKETHROUGH: false,\n\t\tUNDERLINE: false,\n\t\tHORIZONTAL_ALIGNMENT: 1,\n\t\tVERTICAL_ALIGNMENT: 1,\n\t\tOPTION_COLOR: '979494'//No I18N\n\t},\n\n\tROLLUP: {\n\t\tBACKGROUND_COLOR: '#fff',//No I18N\n\t\tCOLOR: '#222222',//No I18N\n\t\tFONT_FAMILY: 'Inter,Sans-serif',//No I18N\n\t\tFONT_SIZE: 9.75,\n\t\tBOLD: false,\n\t\tITALIC: false,\n\t\tOVERLINE: false,\n\t\tSTRIKETHROUGH: false,\n\t\tUNDERLINE: false,\n\t\tHORIZONTAL_ALIGNMENT: 1,\n\t\tVERTICAL_ALIGNMENT: 1,\n\t\tOPTION_COLOR: '979494'//No I18N\n\t}\n};\n\nexport function getFieldStylesByType(fieldType) {\n\treturn commonFunction(fieldType, STYLE_VALUES);\n}\n\n\nfunction commonFunction(fieldType, styles) {\n\tlet styleValues;\n\tswitch (fieldType) {\n\t\tcase ATTACHMENT:\n\t\t\tstyleValues = styles.ATTACHMENT;\n\t\t\tbreak;\n\n\t\tcase CHECKBOX:\n\t\t\tstyleValues = styles.CHECKBOX;\n\t\t\tbreak;\n\n\t\tcase CURRENCY:\n\t\t\tstyleValues = styles.CURRENCY;\n\t\t\tbreak;\n\n\t\tcase DATE_TIME:\n\t\t\tstyleValues = styles.DATE_TIME;\n\t\t\tbreak;\n\n\t\tcase EMAIL:\n\t\t\tstyleValues = styles.EMAIL;\n\t\t\tbreak;\n\n\t\tcase MULTIPLE_SELECTION:\n\t\t\tstyleValues = styles.MULTIPLE_SELECTION;\n\t\t\tbreak;\n\n\t\tcase NUMBER:\n\t\t\tstyleValues = styles.NUMBER;\n\t\t\tbreak;\n\n\t\tcase PERCENT:\n\t\t\tstyleValues = styles.PERCENT;\n\t\t\tbreak;\n\n\t\tcase PHONE_NUMBER:\n\t\t\tstyleValues = styles.PHONE_NUMBER;\n\t\t\tbreak;\n\n\t\tcase RATING:\n\t\t\tstyleValues = styles.RATING;\n\t\t\tbreak;\n\n\t\tcase SINGLE_SELECTION:\n\t\t\tstyleValues = styles.SINGLE_SELECTION;\n\t\t\tbreak;\n\n\t\tcase TEXT:\n\t\t\tstyleValues = styles.TEXT;\n\t\t\tbreak;\n\n\t\tcase URL:\n\t\t\tstyleValues = styles.URL;\n\t\t\tbreak;\n\n\t\tcase COLLABORATOR_CLIENT:\n\t\t\tstyleValues = styles.COLLABORATOR;\n\t\t\tbreak;\n\n\t\tcase LINK:\n\t\tcase LINK_CLIENT:\n\t\t\tstyleValues = styles.LINK;\n\t\t\tbreak;\n\n\t\tcase LOOKUP:\n\t\t\tstyleValues = styles.LOOKUP;\n\t\t\tbreak;\n\n\t\tcase ROLLUP:\n\t\t\tstyleValues = styles.ROLLUP;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow(INVALID_FIELD_TYPE);\n\n\t}\n\tconst fieldStyles = {};\n\tfor (const ID in styleValues) {\n\t\tfieldStyles[STYLES[ID]] = styleValues[ID];\n\t}\n\treturn fieldStyles;\n}\n","\nexport class InterfaceFormViewSchema {\n    focus() { }\n    appendTo(container) { }\n    addRequired() { }\n    removeRequired() { }\n    setName(schemaName) { }\n    setDescription(schemaDescription) { }\n    removeDescription() { }\n    setValue(component) { }\n    getValue() { }\n\n    showErrorMessage() { }\n    hideErrorMessage() { }\n}\n","import { REQUIRED_RED_STAR } from \"../../../Constants/CssClassNamesForUI.js\";\nimport { getTemplateByID } from \"../../../TemplatesForAll.js\";\nimport { InterfaceFormViewSchema } from \"./InterfaceFormViewSchema.js\";\n\nexport class FormViewSchema extends InterfaceFormViewSchema {\n\tconstructor() {\n\t\tsuper();\n\t\tthis.dom                  = getTemplateByID('formViewSchemaTemplate', 'schema');    // No I18N\n\t\tthis.name                 = this.dom.querySelector('#schemaName');                  // No I18N\n\t\tthis.descriptionContainer = this.dom.querySelector('#schemaDescriptionContainer');  // No I18N\n\t\tthis.description          = this.dom.querySelector('#schemaDescription');           // No I18N\n\t\tthis.valueContainer       = this.dom.querySelector('#schemaValueContainer');        // No I18N\n\t\tthis.component            = null;\n\t}\n\n\tfocus() {\n\t\tthis.component.focus();\n\t}\n\n\tappendTo(container) {\n\t\tcontainer.appendChild(this.dom);\n\t}\n\n\taddRequired() {\n\t\tthis.dom.classList.add(REQUIRED_RED_STAR);\n\t}\n\n\tremoveRequired() {\n\t\tthis.dom.classList.remove(REQUIRED_RED_STAR);\n\t}\n\n\tsetName(schemaName) {\n\t\tthis.name.textContent = schemaName;\n\t\tthis.name.title       = schemaName;\n\t}\n\n\tsetDescription(schemaDescription) {\n\t\tthis.description.textContent = schemaDescription;\n\t}\n\n\tremoveDescription() {\n\t\tthis.descriptionContainer.remove();\n\t}\n\n\tsetValue(component) {\n\t\tthis.component = component;\n\t\tthis.valueContainer.appendChild(component.getDom());\n\t}\n\n\tgetValue() {\n\t\treturn this.component;\n\t}\n}\n","\nimport { InterfaceFormViewSchema } from \"./InterfaceFormViewSchema.js\";\n\nexport class InterfaceFormViewSchemaWithErrorMessage extends InterfaceFormViewSchema {\n    showErrorMessage() { }\n    hideErrorMessage() { }\n    setErrorMessage(errorMessage) { }\n    isEnteredDataInvalid() { }\n    validDataEntered() { }\n    invalidDataEntered() { }\n}\n","import { FORM_SCHEMA_ERROR, REQUIRED_RED_STAR } from \"../../../Constants/CssClassNamesForUI.js\";\nimport { getTemplateByID } from \"../../../TemplatesForAll.js\";\nimport { InterfaceFormViewSchemaWithErrorMessage } from \"./InterfaceFormViewSchemaWithErrorMessage.js\";\n\nexport class FormViewSchemaWithErrorMessage extends InterfaceFormViewSchemaWithErrorMessage {\n\tconstructor() {\n\t\tsuper();\n\t\tthis.dom                  = getTemplateByID('formViewSchemaWithErrorMessageTemplate', 'schema');    // No I18N\n\t\tthis.name                 = this.dom.querySelector('#schemaName');                  // No I18N\n\t\tthis.descriptionContainer = this.dom.querySelector('#schemaDescriptionContainer');  // No I18N\n\t\tthis.description          = this.dom.querySelector('#schemaDescription');           // No I18N\n\t\tthis.valueContainer       = this.dom.querySelector('#schemaValueContainer');        // No I18N\n\t\tthis.errorMessage         = this.dom.querySelector('#errorMessage');                // No I18N\n\t\tthis.component            = this.enteredDataInvalid = null;\n\t}\n\n\tfocus() {\n\t\tthis.component.focus();\n\t}\n\n\tappendTo(container) {\n\t\tcontainer.appendChild(this.dom);\n\t}\n\n\taddRequired() {\n\t\tthis.dom.classList.add(REQUIRED_RED_STAR);\n\t}\n\n\tremoveRequired() {\n\t\tthis.dom.classList.remove(REQUIRED_RED_STAR);\n\t}\n\n\tsetName(schemaName) {\n\t\tthis.name.textContent = schemaName;\n\t}\n\n\tsetDescription(schemaDescription) {\n\t\tthis.description.textContent = schemaDescription;\n\t}\n\n\tremoveDescription() {\n\t\tthis.descriptionContainer.remove();\n\t}\n\n\tsetValue(component) {\n\t\tthis.component = component;\n\t\tthis.valueContainer.appendChild(component.getDom());\n\t}\n\n\tgetValue() {\n\t\treturn this.component;\n\t}\n\n    showErrorMessage() {\n        this.dom.classList.add(FORM_SCHEMA_ERROR);\n    }\n\n    hideErrorMessage() {\n        this.dom.classList.remove(FORM_SCHEMA_ERROR);\n    }\n\n    setErrorMessage(errorMessage) {\n        this.errorMessage.textContent = errorMessage;\n    }\n\n\tisEnteredDataInvalid() {\n\t\treturn this.enteredDataInvalid;\n\t}\n\n\tvalidDataEntered() {\n\t\tthis.enteredDataInvalid = false;\n\t}\n\n\tinvalidDataEntered() {\n\t\tthis.enteredDataInvalid = true;\n\t}\n}\n","const UNKNOWN_DATE_FORMAT     = \"Unknown Date Format\";        // No I18N\nconst UNKNOWN_HOUR_CYCLE      = \"Unknown Hour Cycle Format\";  // No I18N\nconst UNKNOWN_CURRENCY_FORMAT = \"Unknown Currency Format\";    // No I18N\n\nexport const ADD_FIELD_CURRENCIES_USD = 1;\nexport const ADD_FIELD_CURRENCIES_EUR = 2;\nexport const ADD_FIELD_CURRENCIES_GBP = 3;\nexport const ADD_FIELD_CURRENCIES_JPY = 4;\nexport const ADD_FIELD_CURRENCIES_CAD = 5;\nexport const ADD_FIELD_CURRENCIES_AUD = 6;\nexport const ADD_FIELD_CURRENCIES_CNY = 7;\nexport const ADD_FIELD_CURRENCIES_CHF = 8;\nexport const ADD_FIELD_CURRENCIES_SGD = 9;\nexport const ADD_FIELD_CURRENCIES_INR = 10;\nexport const ADD_FIELD_CURRENCIES_ZAR = 11;\n\nexport const ADD_FIELD_PRECISIONS_ZERO_PRECISION  = 0;\nexport const ADD_FIELD_PRECISIONS_ONE_PRECISION   = 1;\nexport const ADD_FIELD_PRECISIONS_TWO_PRECISION   = 2;\nexport const ADD_FIELD_PRECISIONS_THREE_PRECISION = 3\n\nexport const ADD_FIELD_CURRENCY_POSITIONS_NONE       = 5;\nexport const ADD_FIELD_CURRENCY_POSITIONS_BEFORE     = 2;\nexport const ADD_FIELD_CURRENCY_POSITIONS_AFTER      = 3;\nexport const ADD_FIELD_CURRENCY_POSITIONS_ACCOUNTING = 4;\n\nexport const ADD_FIELD_TEXT_FORMATS_DEFAULT       = 1;\nexport const ADD_FIELD_TEXT_FORMATS_INIT_CAPS     = 2;\nexport const ADD_FIELD_TEXT_FORMATS_LOWER_CASE    = 3;\nexport const ADD_FIELD_TEXT_FORMATS_UPPER_CASE    = 4;\nexport const ADD_FIELD_TEXT_FORMATS_SENTENCE_CASE = 5;\n\n// export const ADD_FIELD_PERCENT_SYMBOL_HIDE= 0; // TODO: master_proxy_performance - unused line: Remove this line after some months of release\nexport const ADD_FIELD_PERCENT_SYMBOL_SHOW= 1;\n\nexport const ADD_FIELD_PHONE_NUMBER_FORMATS_DEFAULT             = 'xxxxxxxxxx'; //No I18N\nexport const ADD_FIELD_PHONE_NUMBER_FORMATS_HYPHEN              = 'xxx-xxx-xxxx'; //No I18N\nexport const ADD_FIELD_PHONE_NUMBER_FORMATS_SPACE_HYPHEN        = 'xxx xxx-xxxx'; //No I18N\nexport const ADD_FIELD_PHONE_NUMBER_FORMATS_SPACE               = 'xxx xxx xxxx'; //No I18N\nexport const ADD_FIELD_PHONE_NUMBER_FORMATS_BRACES_SPACE_HYPHEN = '(xxx) xxx-xxxx'; //No I18N\nexport const ADD_FIELD_PHONE_NUMBER_FORMATS_PERIOD              = 'xxx.xxx.xxxx' //No I18N\n\nexport const ADD_FIELD_DATE_FORMATS_DEFAULT     = 1;\nexport const ADD_FIELD_DATE_FORMATS_DATE_FIRST  = 2;\nexport const ADD_FIELD_DATE_FORMATS_MONTH_FIRST = 3;\nexport const ADD_FIELD_DATE_FORMATS_YEAR_FIRST  = 4;\n\nexport const ADD_FIELD_TIME_FORMATS_NONE     = 0;\nexport const ADD_FIELD_TIME_FORMATS_FULL_DAY = 1;\nexport const ADD_FIELD_TIME_FORMATS_HALF_DAY = 2;\n\nexport const ADD_FIELD_RATING_ICON_STYLES_HEART    = 1;\nexport const ADD_FIELD_RATING_ICON_STYLES_STAR     = 2;\nexport const ADD_FIELD_RATING_ICON_STYLES_FLAG     = 3;\nexport const ADD_FIELD_RATING_ICON_STYLES_THUMB    = 4;\nexport const ADD_FIELD_RATING_ICON_STYLES_CHECKBOX = 5;\nexport const ADD_FIELD_RATING_ICON_STYLES_BADGE\t = 6;\nexport const ADD_FIELD_RATING_ICON_STYLES_TOOGLEBUTTON = 7;\nexport const ADD_FIELD_RATING_ICON_STYLES_SMILEY  = 8;\nexport const ADD_FIELD_RATING_ICON_STYLES_SHIELD  = 9;\n\nexport const ADD_FIELD_MAX_COUNTS_ONE   = 1;\nexport const ADD_FIELD_MAX_COUNTS_TWO   = 2;\nexport const ADD_FIELD_MAX_COUNTS_THREE = 3;\nexport const ADD_FIELD_MAX_COUNTS_FOUR  = 4;\nexport const ADD_FIELD_MAX_COUNTS_FIVE  = 5;\nexport const ADD_FIELD_MAX_COUNTS_SIX   = 6;\nexport const ADD_FIELD_MAX_COUNTS_SEVEN = 7;\nexport const ADD_FIELD_MAX_COUNTS_EIGHT = 8;\nexport const ADD_FIELD_MAX_COUNTS_NINE  = 9;\nexport const ADD_FIELD_MAX_COUNTS_TEN   = 10;\n\nexport const ADD_FIELD_AUTO_NUMBER_THOUSAND_SEPARATOR = 0;\nexport const ADD_FIELD_AUTO_NUMBER_PRECISION          = 20;\n\nexport const ADD_FIELD_TIME_FORMAT= 'HH:MM:SS'; //No I18N\nexport const ADD_FIELD_SUPPORTED_DATE_FORMATS_1 = 'Month D, YYYY';// No I18N\nexport const ADD_FIELD_SUPPORTED_DATE_FORMATS_2 = 'DD/MM/YYYY';// No I18N\nexport const ADD_FIELD_SUPPORTED_DATE_FORMATS_3 = 'MM/DD/YYYY';// No I18N\nexport const ADD_FIELD_SUPPORTED_DATE_FORMATS_4 = 'YYYY/MM/DD';// No I18N\n\nexport const ADD_FIELD_SUPPORTED_HOUR_CYCLES_0 = 0;\nexport const ADD_FIELD_SUPPORTED_HOUR_CYCLES_1 = '23H';// No I18N\nexport const ADD_FIELD_SUPPORTED_HOUR_CYCLES_2 = '12H';// No I18N\n\nexport const ADD_FIELD_SUPPORTED_CURRENCY_VALUE_1 = \"$\"; // No I18N\nexport const ADD_FIELD_SUPPORTED_CURRENCY_VALUE_2 = \"€\"; // No I18N\nexport const ADD_FIELD_SUPPORTED_CURRENCY_VALUE_3 = \"£\"; // No I18N\nexport const ADD_FIELD_SUPPORTED_CURRENCY_VALUE_4 = \"¥\"; // No I18N\nexport const ADD_FIELD_SUPPORTED_CURRENCY_VALUE_5 = \"$\"; // No I18N\nexport const ADD_FIELD_SUPPORTED_CURRENCY_VALUE_6 = \"$\"; // No I18N\nexport const ADD_FIELD_SUPPORTED_CURRENCY_VALUE_7 = \"¥\"; // No I18N\nexport const ADD_FIELD_SUPPORTED_CURRENCY_VALUE_8 = \"Fr.\"; // No I18N\nexport const ADD_FIELD_SUPPORTED_CURRENCY_VALUE_9 = \"$\"; // No I18N\nexport const ADD_FIELD_SUPPORTED_CURRENCY_VALUE_10= \"₹\"; // No I18N\nexport const ADD_FIELD_SUPPORTED_CURRENCY_VALUE_11= \"R\"; // No I18N\n\nexport const SUPPORTED_CURRENCY_VALUES = {\n    ADD_FIELD_SUPPORTED_CURRENCY_VALUE_1,\n    ADD_FIELD_SUPPORTED_CURRENCY_VALUE_2,\n    ADD_FIELD_SUPPORTED_CURRENCY_VALUE_3,\n    ADD_FIELD_SUPPORTED_CURRENCY_VALUE_4,\n    ADD_FIELD_SUPPORTED_CURRENCY_VALUE_5,\n    ADD_FIELD_SUPPORTED_CURRENCY_VALUE_6,\n    ADD_FIELD_SUPPORTED_CURRENCY_VALUE_7,\n    ADD_FIELD_SUPPORTED_CURRENCY_VALUE_8,\n    ADD_FIELD_SUPPORTED_CURRENCY_VALUE_9,\n    ADD_FIELD_SUPPORTED_CURRENCY_VALUE_10,\n    ADD_FIELD_SUPPORTED_CURRENCY_VALUE_11\n};\n\nexport const SUPPORTED_HOUR_CYCLES = {\n    ADD_FIELD_SUPPORTED_HOUR_CYCLES_0,\n    ADD_FIELD_SUPPORTED_HOUR_CYCLES_1,\n    ADD_FIELD_SUPPORTED_HOUR_CYCLES_2\n};\n\nexport const SUPPORTED_DATE_FORMATS = {\n    ADD_FIELD_SUPPORTED_DATE_FORMATS_1,\n    ADD_FIELD_SUPPORTED_DATE_FORMATS_2,\n    ADD_FIELD_SUPPORTED_DATE_FORMATS_3,\n    ADD_FIELD_SUPPORTED_DATE_FORMATS_4\n};\n\nexport function getDateFormat(dateFormat) {\n    let supportedDateFormat;\n\n    switch(dateFormat) {\n        case ADD_FIELD_DATE_FORMATS_DEFAULT:\n            supportedDateFormat = ADD_FIELD_SUPPORTED_DATE_FORMATS_1;\n            break;\n\n        case ADD_FIELD_DATE_FORMATS_DATE_FIRST:\n            supportedDateFormat = ADD_FIELD_SUPPORTED_DATE_FORMATS_2;\n            break;\n        \n        case ADD_FIELD_DATE_FORMATS_MONTH_FIRST:\n            supportedDateFormat = ADD_FIELD_SUPPORTED_DATE_FORMATS_3;\n            break;\n\n        case ADD_FIELD_DATE_FORMATS_YEAR_FIRST:\n            supportedDateFormat = ADD_FIELD_SUPPORTED_DATE_FORMATS_4;\n            break;\n\n        default:\n            throw(UNKNOWN_DATE_FORMAT);\n    }\n    return supportedDateFormat;\n}\n\nexport function getHourCycle(hourCycle) {\n    let supportedHourCycle;\n\n    switch(hourCycle) {\n        case ADD_FIELD_TIME_FORMATS_NONE:\n            supportedHourCycle = ADD_FIELD_SUPPORTED_HOUR_CYCLES_0;\n            break;\n\n        case ADD_FIELD_TIME_FORMATS_FULL_DAY:\n            supportedHourCycle = ADD_FIELD_SUPPORTED_HOUR_CYCLES_1;\n            break;\n        \n        case ADD_FIELD_TIME_FORMATS_HALF_DAY:\n            supportedHourCycle = ADD_FIELD_SUPPORTED_HOUR_CYCLES_2;\n            break;\n\n        default:\n            throw(UNKNOWN_DATE_FORMAT);\n    }\n    return supportedHourCycle;\n}\n\nexport function getCurrency(currency) {\n    let supportedCurrency;\n\n    switch(currency) {\n        case ADD_FIELD_CURRENCIES_USD:\n            supportedCurrency = ADD_FIELD_SUPPORTED_CURRENCY_VALUE_1;\n            break;\n\n        case ADD_FIELD_CURRENCIES_EUR:\n            supportedCurrency = ADD_FIELD_SUPPORTED_CURRENCY_VALUE_2;\n            break;\n\n        case ADD_FIELD_CURRENCIES_GBP:\n            supportedCurrency = ADD_FIELD_SUPPORTED_CURRENCY_VALUE_3;\n            break;\n\n        case ADD_FIELD_CURRENCIES_JPY:\n            supportedCurrency = ADD_FIELD_SUPPORTED_CURRENCY_VALUE_4;\n            break;\n\n        case ADD_FIELD_CURRENCIES_CAD:\n            supportedCurrency = ADD_FIELD_SUPPORTED_CURRENCY_VALUE_5;\n            break;\n\n        case ADD_FIELD_CURRENCIES_AUD:\n            supportedCurrency = ADD_FIELD_SUPPORTED_CURRENCY_VALUE_6;\n            break;\n\n        case ADD_FIELD_CURRENCIES_CNY:\n            supportedCurrency = ADD_FIELD_SUPPORTED_CURRENCY_VALUE_7;\n            break;\n\n        case ADD_FIELD_CURRENCIES_CHF:\n            supportedCurrency = ADD_FIELD_SUPPORTED_CURRENCY_VALUE_8;\n            break;\n\n        case ADD_FIELD_CURRENCIES_SGD:\n            supportedCurrency = ADD_FIELD_SUPPORTED_CURRENCY_VALUE_9;\n            break;\n\n        case ADD_FIELD_CURRENCIES_INR:\n            supportedCurrency = ADD_FIELD_SUPPORTED_CURRENCY_VALUE_10;\n            break;\n\n        case ADD_FIELD_CURRENCIES_ZAR:\n            supportedCurrency = ADD_FIELD_SUPPORTED_CURRENCY_VALUE_11;\n            break;\n\n        default:\n            throw(UNKNOWN_CURRENCY_FORMAT);\n    }\n    return supportedCurrency;\n}\n\n\nObject.freeze(SUPPORTED_CURRENCY_VALUES);\nObject.freeze(SUPPORTED_HOUR_CYCLES);\nObject.freeze(SUPPORTED_DATE_FORMATS);\n\n","export const ZCOMPONENTS_DATE_FIELD_DATE_FORMATS = {\n\t'Month D, YYYY' : 'MMMM dd, yyyy',//No I18N\n\t'MM/DD/YYYY'    : 'MM/dd/yyyy',//No I18N\n\t'DD/MM/YYYY'    : 'dd/MM/yyyy',//No I18N\n\t'YYYY/MM/DD'    : 'yyyy/MM/dd'//No I18N\n};\n\nexport const ZCOMPONENTS_DATE_FIELD_TIME_FORMATS = {\n\t'23H' : 'HH:mm:ss',//No I18N\n\t'12H' : 'hh:mm:ss tt'//No I18N\n};\n\nexport const ZCOMPONENTS_DATE_FIELD_PLACEHOLDER_DATE_FORMATS = {\n\t'Month D, YYYY' : {date: 'D', month: 'Month', year: 'YYYY'},//No I18N\n\t'MM/DD/YYYY'    : {date: 'DD', month: 'MM', year: 'YYYY'},//No I18N\n\t'DD/MM/YYYY'    : {date: 'DD', month: 'MM', year: 'YYYY'},//No I18N\n\t'YYYY/MM/DD'    : {date: 'DD', month: 'MM', year: 'YYYY'}//No I18N\n};\n\nexport const ZCOMPONENTS_DATE_FIELD_PLACEHOLDER_TIME_FORMATS = {\n\t'23H' : {hour: 'HH', minute: 'MM', second: 'SS'},//No I18N\n\t'12H' : {hour: 'HH', minute: 'MM', second: 'SS', period: 'tt'}//No I18N\n};\n\nexport const ZOHO_TABLES_TIME_FORMAT = 'HH:MM:SS';//No I18N\n","let TableLocale;\nexport function getLocale () {\n\treturn TableLocale;\n};\n\nfunction setLocale (locale) {\n\tTableLocale = locale;\n};\n\nexport const LOCALE = { EN_US: 'en-US', EN_IN: 'en-IN' }; //No I18N\n\nsetLocale('en-US');// No I18N\n\n\n// TODO: The below functions are the TEMP CODES which are added for revokeFocus() method in \"KeyEventContextTree.js\"..\n// Either this will be removed once the keyContext implementation is done in the layout binder..\n// Or this will be removed once the keyContext implementation is completely removed from our product..\nlet dgInteracter;\nexport function getDGInteracter() {\n\treturn dgInteracter;\n}\n\nexport function setDGInteracter(dgInteracter_) {\n\tdgInteracter = dgInteracter_;\n}\n","\n// import { refreshGrid, getDateAndTime, getSelectedIDs, getSelectedID, getBoolean, getRating, getCheckbox, getMultiSelectDS, getAttachmentsDS, getAttachmentURLs, getBaseID, getTableID, getCollaboratorDS, parseSelectionID, getRelationshipProperty, getMultipleValues } from ''\nimport { State } from '../../../../../State/LayoutState.js';\n\nexport function refreshGrid() {\n    grid.refresh();\n}\n\nexport function getAutoNumber(value) {\n    if(!value) {\n        return '';\n    }\n    return value;\n}\n\nexport function getDateAndTime(string) {\n    const splits = string.split(':');\n    let date = '';\n    let time = '';\n    if (splits[1]) {\n        date += splits[0].substring(0, splits[0].length - 2);\n        const secondPart = `${splits[1]}:${splits[2]}`;\n        const firstPart = splits[0].substring(splits[0].length - 2, splits[0].length);\n        time += `${firstPart}:${secondPart}`;\n    } else {\n        date += string;\n    }\n    return [date.trim(), time.trim()];\n}\n\nexport function getSelectedIDs(fieldValue) {\n    !fieldValue && (fieldValue = '');\n    let selectedIDs = fieldValue.split(',');\n    let selectedID;\n    for (let i = 0; i < selectedIDs.length; i++) {\n        selectedID = selectedIDs[i];\n        if (!selectedID) {\n            selectedIDs = [];\n            break;\n        } else {\n            selectedIDs[i] = selectedID;\n        }\n    }\n    return selectedIDs;\n}\n\nexport function getSelectedID(fieldValue) {\n    let selectedID;\n    if (fieldValue === 'null') {//No I18N\n        selectedID = null;\n    } else {\n        selectedID = fieldValue;\n        !selectedID && (selectedID = null);\n    }\n    return selectedID;\n}\n\nexport function getBoolean(fieldValue) {\n    const boolean = globalThis.Boolean(fieldValue);\n    return boolean;\n}\n\nexport function getRating(fieldValue) {\n    let number = globalThis.Number(fieldValue);\n    !number && (number = 0);\n    return number;\n}\n\nexport function getCheckbox(fieldValue, purePrintableCharacter) {\n    switch (purePrintableCharacter) {\n        case 1:\n        case 't'://No I18N\n        case 'T'://No I18N\n        case 'y'://No I18N\n        case 'Y'://No I18N\n            fieldValue = 1;\n            return fieldValue;\n        case 0:\n        case 'f'://No I18N\n        case 'F'://No I18N\n        case 'n'://No I18N\n        case 'N'://No I18N\n            fieldValue = 0;\n            return fieldValue;\n        case ' ':\n        default:\n            return getRating(fieldValue);\n    }\n}\n\nexport function getSentimentMeta(sentimentID) {\n    const baseID = getBaseID();\n    const base = Table.Data.Workspace.get(baseID);\n    return base.getSentimentalAnalysisDS(sentimentID);\n}\n\nexport function getAttachmentsDS(baseID, attachmentIDs) {\n    const attachmentDS = new Map();\n    if (attachmentIDs.length) {\n        const base = Table.Data.Workspace.get(baseID);\n        attachmentIDs.forEach(attachmentID => {\n            const attachment = base.getAttachmentDS(attachmentID);\n            attachmentDS.set(attachmentID, attachment);\n        });\n    }\n    return attachmentDS;\n}\n\nexport function getAttachmentURLs(fieldValue) {\n    const value = fieldValue ? JSON.parse(fieldValue) : [];\n    const attachmentURLs = [];\n    const attachmentIds = [];\n    if (value.length) {\n        const baseID = getBaseID();\n        const base = Table.Data.Workspace.get(baseID);\n\n        for (let attachmentInfo of value) {\n            const attachmentID = attachmentInfo[0];\n            attachmentIds.push(attachmentID);\n            const attachment = base.getAttachmentDS(attachmentID);\n            if (attachment) { //temporary fix\n                attachment.setFileName(attachmentInfo[1]);\n                // attachment.setFileExtension(attachmentInfo[2]);\n                const url = attachment && attachment.imgSrc;\n                if (url && url !== '') {\n                    attachmentURLs.push(url);\n                }\n            }\n        }\n    }\n    return [attachmentIds, attachmentURLs];\n}\n\nexport function getMultiSelectDS(multiSelectID) {\n    const baseID = getBaseID();\n    const base = Table.Data.Workspace.get(baseID);\n    return base.getMultiSelectDS(multiSelectID);\n}\n\nexport function getBaseID() {\n    return State.getActiveBaseID();\n}\n\nexport function getTableID(baseID) {\n    return State.getBaseState(baseID).getActiveTableID();\n}\n\nexport function getCollaboratorDS() {\n    const baseID = getBaseID();\n    const base = Table.Data.Workspace.get(baseID);\n    return base.getCollaboratorDS();\n}\n\nexport function parseSelectionID(selectionID) {\n    return selectionID.split('__');\n}\n\nexport function getRelationshipProperty(relationshipID, relationshipDirection) {\n\tconst baseID        = getBaseID();\n\tconst base          = Table.Data.Workspace.get(baseID);\n\tconst relationship  = base.getRelationship(relationshipID);\n\tconst allowMultiple = relationship.getSourceTableAllowMultiple()\n\tconst allowRepeated = relationship.getDestinationTableAllowMultiple()\n\n\treturn [allowMultiple, allowRepeated]\n}\n\nexport function getMultipleValues(values) {\n    const array = values.split(','); //No I18N\n    if (array.length === 1 && array[0] === '') {\n        return [];\n    }\n    return array;\n}\n","\nexport const A = '65'\nexport const B = '66'\nexport const C = '67'\nexport const D = '68'\nexport const E = '69'\nexport const F = '70'\nexport const G = '71'\nexport const H = '72'\nexport const I = '73'\nexport const J = '74'\nexport const K = '75'\nexport const L = '76'\nexport const M = '77'\nexport const N = '78'\nexport const O = '79'\nexport const P = '80'\nexport const Q = '81'\nexport const R = '82'\nexport const S = '83'\nexport const T = '84'\nexport const U = '85'\nexport const V = '86'\nexport const W = '87'\nexport const X = '88'\nexport const Y = '89'\nexport const Z = '90'\n\nexport const ZERO = '48'\nexport const ONE = '49'\nexport const TWO = '50'\nexport const THREE = '51'\nexport const FOUR = '52'\nexport const FIVE = '53'\nexport const SIX = '54'\nexport const SEVEN = '55'\nexport const EIGHT = '56'\nexport const NINE = '57'\n\nexport const F1 = '112'\nexport const F2 = '113'\nexport const F3 = '114'\nexport const F4 = '115'\nexport const F5 = '116'\nexport const F6 = '117'\nexport const F7 = '118'\nexport const F8 = '119'\nexport const F9 = '120'\nexport const F10 = '121'\nexport const F11 = '122'\nexport const F12 = '123'\n\nexport const ESC = '27'\n\nexport const TILDE = '192'\nexport const BACKSPACE = '8'\nexport const DELETE = '46'\n\nexport const TAB = '9'\nexport const OPENBRACKET = '219'\nexport const CLOSEBRACKET = '221'\nexport const BACKSLASH = '220'\n\nexport const CAPSLOCK = '20'\nexport const SINGLEQUOTE = '222'\nexport const ENTER = '13'\n\nexport const SHIFT = '16'\nexport const COMMA = '188'\nexport const DOT = '190'\nexport const SLASH = '191'\n\nexport const SPACE = '32'\nexport const CTRL = '17'\nexport const ALT = '18'\nexport const LEFTCOMMAND = '91'\nexport const RIGHTCOMMAND = '93'\nexport const COMMAND = '224'\n\nexport const LEFT = '37'\nexport const UP = '38'\nexport const RIGHT = '39'\nexport const DOWN = '40'\n\nexport const HOME = '36'\nexport const END = '35'\nexport const PAGEUP = '33'\nexport const PAGEDOWN = '34'\n\nexport const NUMPAD_ZERO = '96'\nexport const NUMPAD_ONE = '97'\nexport const NUMPAD_TWO = '98'\nexport const NUMPAD_THREE = '99'\nexport const NUMPAD_FOUR = '100'\nexport const NUMPAD_FIVE = '101'\nexport const NUMPAD_SIX = '102'\nexport const NUMPAD_SEVEN = '103'\nexport const NUMPAD_EIGHT = '104'\nexport const NUMPAD_NINE = '105'\n\nexport const NUMLOCK = '12'\nexport const DECIMAL = '110'\nexport const MULTIPLY = '106'\nexport const ADD = '107'\nexport const SUBTRACT = '109'\nexport const DIVIDE = '111'\n\n//Custom Key code added for All Printable chars.[Please do check KeyListener.js for further details]\nexport const PURE_PRINTABLE_CHAR = \"*\";\n\nlet TEMP_MINUS = '189'\nlet TEMP_EQUAL = '187'\nlet TEMP_PLUS = '187'\nlet TEMP_SEMICOLON = '186'\nlet TEMP_PRINTSCREEN = '124'\n\nconst UserAgent = globalThis.navigator.userAgent;\n\nif (UserAgent.includes(\"Firefox\")) {\n\tTEMP_MINUS = '173'\n\tTEMP_PLUS = '61'\n\tTEMP_EQUAL = '61'\n\tTEMP_SEMICOLON = '59'\n\tTEMP_PRINTSCREEN = '44'\n}\n\nexport const MINUS = TEMP_MINUS\nexport const EQUAL = TEMP_EQUAL\nexport const PLUS = TEMP_PLUS\nexport const SEMICOLON = TEMP_SEMICOLON\nexport const PRINTSCREEN = TEMP_PRINTSCREEN\n\n//Need to change this\n\nexport const JSKeyCode = {}; \n\n// Adding SUPER key\nexport let SUPER;\nif (globalThis.navigator.platform.toUpperCase().includes(\"MAC\")) {\n\tSUPER = COMMAND;\n} else {\n\tSUPER = CTRL;\n}\n\n","import { MurphyUtility } from \"../DataStore/MurphyUtility.js\"\nimport { PlanType } from \"../Types\"\n\nexport const PLAN_TYPE = {\n\tZOHO_CORP   : 0,\n\tFREE_EDITION: 1,\n\tPROFESSIONAL: 2,\n\tFREE_TRIAL  : 3,\n\tZOHO_ONE    : 7,\n\tPERSONAL    : 5\n}\n\nexport function getPlanName(planType: PlanType) {\n\tswitch (planType) {\n\t\tcase PLAN_TYPE.FREE_EDITION:\n\t\t\treturn `${Table.Constants.JSMsg[\"UI.Table.Pricing.Content.PortalPlan.FreeEdition\"]} ${Table.Constants.JSMsg[\"UI.Table.Pricing.Content.PortalPlan.Plan\"]}`\n\t\t\t\n\t\tcase PLAN_TYPE.FREE_TRIAL:\n\t\t\treturn Table.Constants.JSMsg[\"UI.Table.Pricing.Content.PortalPlan.FreeTrial\"]\n\t\t\t\n\t\tcase PLAN_TYPE.PROFESSIONAL:\n\t\t\treturn `${Table.Constants.JSMsg[\"UI.Table.Pricing.Content.PortalPlan.Professional\"]} ${Table.Constants.JSMsg[\"UI.Table.Pricing.Content.PortalPlan.Plan\"]}`\n\n\t\tcase PLAN_TYPE.ZOHO_ONE:\n\t\t\treturn `${Table.Constants.JSMsg[\"UI.Table.Pricing.Content.PortalPlan.ZohoOne\"]}  ${Table.Constants.JSMsg[\"UI.Table.Pricing.Content.PortalPlan.Plan\"]}`\n\t\t\t\n\t\tcase PLAN_TYPE.ZOHO_CORP:\n\t\t\treturn Table.Constants.JSMsg[\"UI.Table.Pricing.Content.PortalPlan.ZohoCorp\"]\n\n\t\tcase PLAN_TYPE.ZOHO_ONE:\n\t\t\treturn `${Table.Constants.JSMsg[\"UI.Table.Pricing.Content.PortalPlan.ZohoOne\"]} ${Table.Constants.JSMsg[\"UI.Table.Pricing.Content.PortalPlan.Plan\"]}`\n\n\t\tcase PLAN_TYPE.PERSONAL:\n\t\t\treturn `${Table.Constants.JSMsg[\"UI.Table.Pricing.Content.PortalPlan.Personal\"]} ${Table.Constants.JSMsg[\"UI.Table.Pricing.Content.PortalPlan.Plan\"]}`\n\n\t\tdefault:\n\t\t\tMurphyUtility.throwCustomErrorMurphy({ \"PLAN_TYPE\": planType }, \"Unkown Plan Type Requested!!\")\n\t}\n}","/*$Id$*/\nimport { PLAN_TYPE } from \"../Pricing/Plan\";\nimport { getTemplate } from \"../TemplatesForAll.js\";\n\nexport class AttachFromLocal{\n\tconstructor(attachComponent, attachmentCallbacks, onSuccessCallback, onFailureCallback, onUploadProgressCallback, planType, attachmentFieldEventHandler) {\n\t\tthis.attachmentCallbacks      = attachmentCallbacks;\n\t\tthis.onSuccessCallback        = onSuccessCallback;\n\t\tthis.onFailureCallback        = onFailureCallback;\n\t\tthis.onUploadProgressCallback = onUploadProgressCallback;\n\t\tthis.planType                 = planType;\n\t\tthis.attachmentFieldEventHandler = attachmentFieldEventHandler;\n\n\t\tconst template              = getTemplate('AttachmentMyFilesTemplate'); // No I18N\n\t\tthis.dom                    = template.querySelector('#AttachmentFromMyFiles');  // No I18N\n\t\tthis.fileUploadContainer    = this.dom.querySelector('.AFD-fileUploadContainer');  //No I18N\n\t\tthis.myFileContainer        = this.dom.querySelector('.AFD-myFiles');  //No I18N\n\t\tthis.importDragAndDropPanel = this.dom.querySelector('#importDragAndDropPanel'); //No I18N\n\t\tthis.errorMsg               = this.dom.querySelector('.AFD-errorMsg'); // No I18N\n\t\tthis.chooseFile             = this.dom.querySelector('.AFD-fileUploaderText'); // No I18N\n\t\tthis.uploadSizeLimitContent = this.dom.querySelector('.attachFromLocalEmptyStateAttachmentPanelChooseFileLimitText');\t//No I18N\n\t\tthis.inputFile              = this.dom.querySelector('#file-input'); //No I18N\n\t\tthis.showFilesUploadedCtr   = this.dom.querySelector('.AFD-showFile'); //No I18N\n\t\tthis.uploadedFilesList\t\t= this.dom.querySelector('#uploadPreviewCtr'); //No I18N\n\t\tthis.addFileCtr\t            = this.dom.querySelector('.AFD-addFile');  //No I18N\n\t\tthis.addFileInput\t\t\t= this.dom.querySelector('.AFD-addFileInput'); //No I18N\n\t\tthis.attachIframe\t\t\t= this.dom.querySelector('.attachIframe'); //No I18N\n\n\t\tthis.sizeLimitErrorToast\t= getTemplate('sizeLimitationErrorToast').querySelector('#errorToast');\t//No I18N\n\t\tthis.errorContentDom\t\t= this.sizeLimitErrorToast.querySelector('.AFD-errorContent'); //No I18N\n\t\tthis.errorCloseBtn\t\t\t= this.sizeLimitErrorToast.querySelector('#errorClose'); //No I18N\n\n\t\tthis.singleFileErrorOnly\t= getTemplate('SingleFileErrorOnlyTemplate').querySelector('#SingleFileErrorOnlyError'); //No I18N\n\t\tthis.singleFileError    \t= getTemplate('SingleFileErrorTemplate').querySelector('#SingleFileErrorError'); //No I18N\n\t\tthis.multipleFileErrorOnly\t= getTemplate('MultipleFileErrorOnlyTemplate').querySelector('#MultipleFileErrorOnlyError'); //No I18N\n\t\tthis.multipleFileErrorCount = this.multipleFileErrorOnly.querySelector('#errorCount');\t//No I18N\n\n\t\tthis.singleFileErrorOnlyForFreeTrialTemplate   = getTemplate('SingleFileErrorOnlyFreeTrialTemplate').querySelector('#SingleFileErrorOnlyError');      //No I18N\n\t\tthis.singleFileErrorForFreeTrialTemplate       = getTemplate('SingleFileErrorFreeTrialTemplate').querySelector('#SingleFileErrorError');              //No I18N\n\t\tthis.multipleFileErrorOnlyForFreeTrialTemplate = getTemplate('MultipleFileErrorOnlyFreeTrialTemplate').querySelector('#MultipleFileErrorOnlyError');  //No I18N\n\t\tthis.multipleFileErrorOnlyForFreeTrialCount\t   = this.multipleFileErrorOnlyForFreeTrialTemplate.querySelector('#errorCount');\t//No I18N\n\n\t\tthis.singleFileErrorOnlyForZohocorpTemplate   = getTemplate('SingleFileErrorOnlyZohocorpTemplate').querySelector('#SingleFileErrorOnlyError');      //No I18N\n\t\tthis.singleFileErrorForZohocorpTemplate       = getTemplate('SingleFileErrorZohocorpTemplate').querySelector('#SingleFileErrorError');              //No I18N\n\t\tthis.multipleFileErrorOnlyForZohocorpTemplate = getTemplate('MultipleFileErrorOnlyZohocorpTemplate').querySelector('#MultipleFileErrorOnlyError');  //No I18N\n\t\tthis.multipleFileErrorOnlyForZohocorpCount\t   = this.multipleFileErrorOnlyForZohocorpTemplate.querySelector('#errorCount');\t//No I18N\n\n\t\tthis.singleFileErrorOnlyForProfessionalTemplate   = getTemplate('SingleFileErrorOnlyProfessionalTemplate').querySelector('#SingleFileErrorOnlyError');      //No I18N\n\t\tthis.singleFileErrorForProfessionalTemplate       = getTemplate('SingleFileErrorProfessionalTemplate').querySelector('#SingleFileErrorError');              //No I18N\n\t\tthis.multipleFileErrorOnlyForProfessionalTemplate = getTemplate('MultipleFileErrorOnlyProfessionalTemplate').querySelector('#MultipleFileErrorOnlyError');  //No I18N\n\t\tthis.multipleFileErrorOnlyForProfessionalCount\t   = this.multipleFileErrorOnlyForProfessionalTemplate.querySelector('#errorCount');\t//No I18N\n\n\t\t// TODO: Remove template redundancy. Previously it was handled like this, so handling just for now\n\t\tthis.singleFileErrorOnlyForPersonalTemplate   = getTemplate('SingleFileErrorOnlyPersonalTemplate').querySelector('#SingleFileErrorOnlyError');      //No I18N\n\t\tthis.singleFileErrorForPersonalTemplate       = getTemplate('SingleFileErrorPersonalTemplate').querySelector('#SingleFileErrorError');              //No I18N\n\t\tthis.multipleFileErrorOnlyForPersonalTemplate = getTemplate('MultipleFileErrorOnlyPersonalTemplate').querySelector('#MultipleFileErrorOnlyError');  //No I18N\n\t\tthis.multipleFileErrorOnlyForPersonalCount    = this.multipleFileErrorOnlyForPersonalTemplate.querySelector('#errorCount');                         //No I18N\n\n\t\tthis.fileLimitContentDom\t= getTemplate('FileLimitationErrorTemplate').querySelector('#FileLimitationError'); //No I18N\n\n\t\tconst footerTemplate \t\t= getTemplate('AttachmentFooterTemplate'); //No I18N\n\t\tthis.importButtons   \t\t= footerTemplate.querySelector('#importButtons');  // No I18N\n\t\tthis.removeAllBtn\t\t\t= footerTemplate.querySelector('.AFD-deleteAllBtn'); //No I18N\n\t\tthis.insertbtn              = this.importButtons.querySelector('.AFD-importBtn');  // No I18N\n\t\tthis.cancelbtn              = this.importButtons.querySelector('.AFD-cancelBtn');  // No I18N\n\n\t\tthis.pasteEventhandler\t\t= pasteEventhandler.bind(this);\n\t\tthis.attachComponent    \t= attachComponent;\n\t\tthis.fieldParams\t\t\t= null;\n\t\tthis.uploadFiles     \t\t= [];\n\n\t\tthis.dragEnterCount \t\t= 0;\n\t\tthis.uploadedFileCount\t\t= 0;\n\t\tthis.successCount\t\t\t= 0;\n\t\tthis.errorCount\t\t\t\t= 0;\t\n\t\tthis.InvalidFilesCount\t\t= 0;\n\n\t\tthis.showFilesUploadedCtr.append(this.importButtons);\n\t\tinit.call(this);\n\t\taddListener.call(this);\n\t}\n\n\tappendTo(container) {\n\t\tthis.resetDom();\n\t\tcontainer.append(this.dom);\n\t\tthis.attachComponent.AFbottomPane.appendChild(this.sizeLimitErrorToast);\n\t}\n\n\tremove() {\n\t\tthis.dom.remove();\n\t\tdocument.removeEventListener('paste', this.pasteEventhandler);\n\t}\n\n\tresetDom() {\n\t\tthis.dragEnterCount\t \t\t= 0;\n\t\tthis.uploadedFileCount \t\t= 0;\n\t\tthis.inputFile.value \t\t= '';\n\t\tthis.fieldParams \t\t\t= null;\n\t\tthis.successCount \t\t\t= 0;\n\t\tthis.errorCount \t\t\t= 0;\n\t\tthis.InvalidFilesCount \t\t= 0;\n\t\tthis.addFileCtr.disabled \t= false;\n\t\tthis.insertbtn.disabled \t= false;\n\t\tthis.errorMsg.classList.add('hide');  //No I18N\n\t\tthis.chooseFile.classList.remove('hide');  //No I18N\n\t\tthis.showFilesUploadedCtr.classList.add('hide');  //No I18N\n\t\tthis.myFileContainer.classList.remove('hide'); //No I18N\n\t}\n\n\tresetUploadedFiles(){\n\t\tthis.uploadFiles = [];\n\t}\n\n\tsetFieldParams(fieldParams){\n\t\tthis.fieldParams = fieldParams;\n\t}\n}\n\nfunction init() {\n\tconst planType = this.planType;\n\tswitch(planType){\n\t\tcase PLAN_TYPE.FREE_TRIAL:\n\t\tcase PLAN_TYPE.PROFESSIONAL:\n\t\tcase PLAN_TYPE.ZOHO_ONE:\n\t\t\tthis.uploadSizeLimitContent.textContent = Table.Constants.JSMsg[\"UI.tables.common.filesizelimit250mb\"];\n\t\t\tbreak;\n\t\tcase PLAN_TYPE.ZOHO_CORP:\n\t\t\tthis.uploadSizeLimitContent.textContent = Table.Constants.JSMsg[\"UI.tables.common.filesizelimit250mb\"];\n\t\t\tbreak;\n\t\tcase PLAN_TYPE.PERSONAL:\n\t\t\tthis.uploadSizeLimitContent.textContent = Table.Constants.JSMsg[\"UI.tables.common.filesizelimit100mb\"];\n\t\t\tbreak;\n\t\tcase PLAN_TYPE.FREE_EDITION:\n\t\t\tthis.uploadSizeLimitContent.textContent = Table.Constants.JSMsg[\"UI.Editor.AttachmentField.FreeUsersSizeLimit\"];\n\t\t\tbreak;\n        default:\n            throw(\"Unknown plan type\");\n\t}\n}\n\nfunction addListener() {\n\tdocument.addEventListener('paste', this.pasteEventhandler);\n\n\tthis.importDragAndDropPanel.addEventListener('click', (event) => {\n\t\tevent.preventDefault();\n\t\tthis.inputFile.click();\n\t\tthis.attachmentCallbacks.importDragAndDropPanelClickCallback && this.attachmentCallbacks.importDragAndDropPanelClickCallback.call(this);\n\t});\n\t\n\tthis.importDragAndDropPanel.addEventListener('dragover', (event) => {\n\t\tevent.preventDefault();\n\t\tthis.attachmentCallbacks.importDragAndDropPanelDragOverCallback && this.attachmentCallbacks.importDragAndDropPanelDragOverCallback.call(this);\n\t});\n\t\n\tthis.importDragAndDropPanel.addEventListener('dragenter', (event) => {\n\t\tevent.preventDefault();\n\t\tthis.dragEnterCount++;\n\t\tthis.fileUploadContainer.classList.add('AFD-dragHighlight');  //No I18N\n\t\tthis.attachmentCallbacks.importDragAndDropPanelDragEnterCallback && this.attachmentCallbacks.importDragAndDropPanelDragEnterCallback.call(this);\n\t});\n\n\tthis.importDragAndDropPanel.addEventListener('dragleave', (event) => {\n\t\tevent.preventDefault();\n\t\tthis.dragEnterCount--;\n\t\tthis.dragEnterCount === 0 && this.fileUploadContainer.classList.remove('AFD-dragHighlight');  //No I18N\n\t\tthis.attachmentCallbacks.importDragAndDropPanelDragLeaveCallback && this.attachmentCallbacks.importDragAndDropPanelDragLeaveCallback.call(this);\n\t});\n\t\n\tthis.importDragAndDropPanel.addEventListener('drop', (event) => {\n\t\tevent.preventDefault();\n\t\tthis.dragEnterCount  = 0;\n\t\tthis.fileUploadContainer.classList.remove('AFD-dragHighlight');  //No I18N\n\t\tthis.attachmentCallbacks.importDragAndDropPanelDropCallback && this.attachmentCallbacks.importDragAndDropPanelDropCallback.call(this, event);\n\t});\n\t\n\tthis.inputFile.addEventListener('change', (event) => {\n\t\tthis.attachmentCallbacks.inputFileChangeCallback && this.attachmentCallbacks.inputFileChangeCallback.call(this, event);\n\t});\n\n\tthis.addFileInput.addEventListener('change', (event) => {\n\t\tthis.attachmentCallbacks.addFileInputChangeCallback && this.attachmentCallbacks.addFileInputChangeCallback.call(this, event);\n\t});\n\t\n\tthis.cancelbtn.addEventListener('click', () => {\n\t\tthis.attachComponent.close();\n\t\tthis.attachmentCallbacks.cancelbtnClickCallback && this.attachmentCallbacks.cancelbtnClickCallback.call(this);\n\t});\n\t\n\tthis.insertbtn.addEventListener('click', () => {\n\t\tthis.attachComponent.close();\n\t\tthis.attachmentCallbacks.insertbtnClickCallback && this.attachmentCallbacks.insertbtnClickCallback.call(this);\n\t});\n\n\tthis.removeAllBtn.addEventListener('click', () => {\n\t\tthis.attachmentCallbacks.removeAllBtnClickCallback && this.attachmentCallbacks.removeAllBtnClickCallback.call(this);\n\t});\n\n\tthis.errorCloseBtn.addEventListener('click', () => {\n\t\tthis.sizeLimitErrorToast.classList.add('hide'); //No I18N\n\t\tthis.attachmentCallbacks.errorCloseBtnClickCallback && this.attachmentCallbacks.errorCloseBtnClickCallback.call(this);\n\t});\n}\n\nfunction pasteEventhandler(event){\n\tevent.preventDefault();\n\tthis.attachmentCallbacks.pasteFilesCallback && this.attachmentCallbacks.pasteFilesCallback.call(this, event);\n}","/*$Id$*/\nimport { getTemplate } from \"../TemplatesForAll.js\";\nimport { METHOD } from \"./../Utility/AjaxRequest.js\";\nimport { getCSRFCookie } from \"./../Utility/Cookie.js\";\n\nconst REQUEST_KEYS    \t    = Table.Constants.REQUEST_KEYS;\nconst TABLE_CSRF_HEADER \t= `ztreqcsr=${getCSRFCookie()}`;\nconst UPLOAD_URL\t     \t= '/upload.do';           // No I18N\nconst POST_METHOD       \t= METHOD.POST;\nconst FORM_KEY\t\t\t\t= 'url'; //No I18N\n\nexport class AttachFromURL {\n\tconstructor(importComponent){\n\t\tconst template       = getTemplate('AttachmentFromUrlTemplate'); // No I18N\n\t\tthis.dom             = template.querySelector('#AttachmentFromUrl');  // No I18N\n\t\tthis.urlInput        = this.dom.querySelector('#urlInput');  // No I18N\n\t\tthis.errorMsg        = this.dom.querySelector('.AFD-errorMsg'); // No I18N\n\t\t\n\t\tconst footerTemplate = getTemplate('AttachmentFooterTemplate'); //No I18N\n\t\tthis.importButtons   = footerTemplate.querySelector('#importButtons');  // No I18N\n\t\tthis.importbtn       = this.importButtons.querySelector('.AFD-importBtn');  // No I18N\n\t\tthis.cancelbtn       = this.importButtons.querySelector('.AFD-cancelBtn');  // No I18N\n\t\t\n\t\tthis.importComponent = importComponent;\n\t\tthis.isappended      = false;\n\t\tthis.fieldParams\t = null;\n\n\t\tthis.dom.append(this.importButtons);\n\t\taddListener.call(this);\n\t}\n\n\tappendTo(container) {\n\t\tcontainer.append(this.dom);\n\t}\n\n\tremove() {\n\t\tthis.urlInput.value = \"\";  // No I18N\n\t\tthis.dom.remove();\n\t}\n\n\tsetFieldParams(fieldParams){\n\t\tthis.fieldParams = fieldParams;\n\t}\n}\n\nfunction addListener() {\n\tthis.cancelbtn.addEventListener('click', () => {\n\t\tthis.importComponent.close();\n\t});\n\tthis.importbtn.addEventListener('click', () => {\n\t\tsendRequest.call(this);\n\t});\n\n}\n\nfunction sendRequest() {\n\tconst fieldParams = this.fieldParams;\n\tconst xhttp = new XMLHttpRequest();\n\txhttp.open(POST_METHOD, UPLOAD_URL);\n\tconst formdata = new FormData();\n\tformdata.append(REQUEST_KEYS.BASE_ID, fieldParams.baseID);\n\tformdata.append(REQUEST_KEYS.TABLE_ID, fieldParams.tableID);\n\tformdata.append(REQUEST_KEYS.FIELD_ID, fieldParams.fieldID);\n\tformdata.append(REQUEST_KEYS.RECORD_ID, fieldParams.recordID);\n\tformdata.append(FORM_KEY, this.urlInput.value);\n\tformdata.append(Z_CSRF_HTTP_HEADER, TABLE_CSRF_HEADER);\n\txhttp.send(formdata);\n}\n","/*$Id$*/\nimport { ESC } from \"../Constants/KeyCodes.js\";\nimport { getTemplate } from \"../TemplatesForAll.js\";\nimport { AttachFromLocal } from \"./AttachFromLocalForForm.js\";\nimport { AttachFromURL } from \"./AttachFromURL.js\";\n\n//TODO: Import below files\n\nconst ATTACH_METHOD   \t\t\t= {\n\tBYFILE : 'byFile',        // No I18N\n\tBYURL  : 'byUrl'          // No I18N\n}\n\nexport class AttachFile {\n\tconstructor(fieldParams, attachmentCallbacks, onSuccessCallback, onFailureCallback, onUploadProgressCallback, planType, attachmentFieldEventHandler){\n\t\tthis.attachmentCallbacks      = attachmentCallbacks;\n\t\tthis.onSuccessCallback        = onSuccessCallback;\n\t\tthis.onFailureCallback        = onFailureCallback;\n\t\tthis.onUploadProgressCallback = onUploadProgressCallback;\n\t\tthis.attachmentFieldEventHandler = attachmentFieldEventHandler;\n\n\t\tconst template       \t= getTemplate('AttachmentFieldForForm'); // No I18N\n\t\tthis.dialog             = template.querySelector('#dialog');  // No I18N\n\t\tthis.dom           \t\t= this.dialog.querySelector('#importcontainer');  // No I18N\n\t\tthis.importContainer \t= this.dom.querySelector('#importModalContainer'); //No I18N\n\t\tthis.AFbottomPane\t\t= this.dom.querySelector('#AFbottomPane'); //No I18N\n\t\tthis.bottomPanel   \t\t= this.importContainer.querySelector('#importDataBottomPane'); // No I18N\n\t\tthis.myTabBtn      \t\t= this.importContainer.querySelector('#myFileTabBtn');  // No I18N\n\t\tthis.urlTabBtn     \t\t= this.importContainer.querySelector('#urlTabBtn');  // No I18N\n\t\tthis.closeButton   \t\t= this.importContainer.querySelector('#close');  // No I18N\n\n\t\tconst progressTemplate\t\t= getTemplate('AttachmentProgressDialogForFormTemplate'); //No I18N\n\t\tthis.progressTemplateDialog = progressTemplate.querySelector('#dialog'); //No I18N\n\t\tthis.uploadProgressPanel\t= this.progressTemplateDialog.querySelector('.AFD-processPanel'); //No I18N\n\t\tthis.uploadProgressCloseDom = this.uploadProgressPanel.querySelector('.AFD-arrowClose'); //No I18N\n\t\tthis.progressPanelInner\t\t= this.uploadProgressPanel.querySelector('.AFD-processInner'); //No I18N\n\t\tthis.progressCloseIcon\t\t= this.uploadProgressPanel.querySelector('.AFD-processClose'); //No I18N\n\t\tthis.progressExpandIcon\t\t= this.uploadProgressPanel.querySelector('.AFD-downArrow'); //No I18N\n\n\t\tthis.progressHeaderContent  = this.uploadProgressPanel.querySelector('.AFD-processheading');\t//No I18N\n\t\tthis.progressDialogPartialHeader   =  getTemplate('AttachmentProgressDialogHeaderPartialTemplate').querySelector('.AF-progressHeaderPartial');\t//No I18N\n\t\tthis.progressDialogPartialCount    = this.progressDialogPartialHeader.querySelector('#progressCountHeading'); //No I18N\n\t\tthis.progressDialogSingleUploading = getTemplate('AttachmentProgressDialogHeaderSingleUploadingTemplate').querySelector('.AF-progressHeaderUploading');\t//No I18N\n\t\tthis.progressDialogUploadingHeader =  getTemplate('AttachmentProgressDialogHeaderUploadingTemplate').querySelector('.AF-progressHeaderUploading');\t//No I18N\n\t\tthis.progressDialogUploadingCount  =  this.progressDialogUploadingHeader.querySelector('.AF-uploadingCount');\t//No I18N\n\t\tthis.progressDialogSuccessHeader   =  getTemplate('AttachmentProgressDialogHeaderSuccessTemplate').querySelector('.AF-progressHeaderSuccess');\t//No I18N\n\t\tthis.progressDialogFailureHeader   =  getTemplate('AttachmentProgressDialogHeaderFailureTemplate').querySelector('.AF-progressHeaderFailure');\t//No I18N\n\n\t\tthis.fieldParams\t\t= fieldParams;\n\t\tthis.currentImpMethod \t= null;\n\t\tthis.fileName         \t= null;\n\t\tthis.planType           = planType;\n\t\tthis.attachFromLocal = this.attachFromURL = null;\n\n\t\tthis.onEscpress = (ev) => {\n\t\t\tif(ev.keyCode == ESC) {\n\t\t\t\tthis.close();\n\t\t\t}\n\t\t}\n\n\t\tthis.onEscpressForUploadProgressPanel = (ev) => {\n\t\t\tif(ev.keyCode == ESC) {\n\t\t\t\tthis.onUploadProgressPanelClose();\n\t\t\t}\n\t\t}\n\t\t\n\t\tinit.call(this);\n\t\taddListener.call(this);\n\t}\n\n\topen () {\n\t\tdocument.body.addEventListener(\"mousedown\", this.bodyMouseListeners, true);\n\t\tdocument.body.appendChild(this.dialog);\n\t\t// this.dialog.showModal();\n\t\twindow.addEventListener('keydown', this.onEscpress, true);\n\t\tif(document.body.querySelector('.AFD-processPanel')){ //No I18N\n\t\t\tconst progressDom = document.body.querySelector('.AFD-processPanel'); //No I18N\n\t\t\tprogressDom.remove();\n\t\t}\n\t\t// document.body.append(this.uploadProgressPanel);\n\t}\n\t\n\tclose() {\n\t\tclearDom.call(this);\n\t\t// this.dialog.close();\n\t\tthis.dialog.remove();\n\t\twindow.removeEventListener('keydown', this.onEscpress, true);\n\t\tthis.fileName = null;\n\t\tthis.currentImpMethod = null;\n\t\tthis.fieldParams = null;\n\t}\n\t\n\tonAttachmentUpdate(){\n\t}\n\n\thide() {\n\t\tthis.dom.classList.add('hide');  // No I18N\n\t}\n\t\n\tshow() {\n\t\tthis.dom.classList.remove('hide');  // No I18N\n\t}\n\t\n\tsetFileName(fileName) {\n\t\tthis.fileName = fileName;\n\t}\n\t\n\thideLoader() {\n\t\tthis.loader.classList.add('hide'); // No I18N\n\t}\n\t\n\tactivateAttachMethod(attachMethod) {\n\t\tswitch (attachMethod) {\n\t\t\tcase ATTACH_METHOD.BYFILE:\n\t\t\t\t!this.myTabBtn.classList.contains('ID-activeBtn') && this.myTabBtn.classList.add('ID-activeBtn');   // No I18N\n\t\t\t\tthis.attachFromLocal.appendTo(this.bottomPanel);\n\t\t\t\tthis.attachFromLocal.setFieldParams(this.fieldParams);\n\t\t\t\tbreak;\n\t\t\tcase ATTACH_METHOD.BYURL:\n\t\t\t\t!this.urlTabBtn.classList.contains('ID-activeBtn') && this.urlTabBtn.classList.add('ID-activeBtn');   // No I18N\n\t\t\t\tthis.attachFromURL.appendTo(this.bottomPanel);\n\t\t\t\tthis.attachFromURL.setFieldParams(this.fieldParams);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow(attachMethod);\n\t\t}\n\t\tthis.currentImpMethod = attachMethod;   \n\t}\n\n\tsetCountPanel(count){\n\t\tthis.progressDialogUploadingCount.textContent = count;\n\t}\n\n\tappendToProgressHeader(container) {\n\t\tthis.progressHeaderContent.textContent = ''; //No I18N\n\t\tthis.progressHeaderContent.appendChild(container);\n\t}\n\n\tonUploadProgressPanelOpen() {\n\t\tthis.uploadProgressPanel.classList.remove('hide');\t//No I18N\n\t\tdocument.body.appendChild(this.progressTemplateDialog);\n\t\t// this.progressTemplateDialog.open = true;\n\t\twindow.addEventListener('keydown', this.onEscpressForUploadProgressPanel, true);\n\t}\n\n\tonUploadProgressPanelClose() {\n\t\tthis.uploadProgressPanel.classList.add('hide');\t//No I18N // refer AttachmentsCallbacksForForm.js line 136 we have added a comment line\n\t\t// this.progressTemplateDialog.open = false;\n\t\tthis.progressTemplateDialog.remove();\n\t\twindow.removeEventListener('keydown', this.onEscpressForUploadProgressPanel, true);\n\t}\n}\n\nfunction init(){\n\tthis.attachFromLocal = new AttachFromLocal(this, this.attachmentCallbacks, this.onSuccessCallback, this.onFailureCallback, this.onUploadProgressCallback, this.planType, this.attachmentFieldEventHandler);\n\tthis.attachFromURL     = new AttachFromURL(this);\n}\n\nfunction addListener() {\n\tthis.myTabBtn.addEventListener('click', () => {\n\t\tif (this.currentImpMethod !== ATTACH_METHOD.BYFILE) {   \n\t\t\tthis.currentImpMethod !== null && clearDom.call(this);\n\t\t\tthis.activateAttachMethod(ATTACH_METHOD.BYFILE);\n\t\t}\n\t});\n\tthis.urlTabBtn.addEventListener('click', () => {\n\t\tif (this.currentImpMethod !== ATTACH_METHOD.BYURL) {   \n\t\t\tthis.currentImpMethod !== null && clearDom.call(this);\n\t\t\tthis.activateAttachMethod(ATTACH_METHOD.BYURL);\n\t\t}\n\t});\n\tthis.closeButton.addEventListener('click', () => {\n\t\tthis.close();\n\t});\n\t\n\tthis.progressCloseIcon.addEventListener('click', () => {\n\t\tthis.onUploadProgressPanelClose();\n\t});\n\n\tthis.progressExpandIcon.addEventListener('click', () => {\n\t\tthis.progressExpandIcon.classList.toggle('rot180');\t//No I18N\n\t\tthis.progressPanelInner.classList.toggle('hide');\t//No I18N\n\t});\n}\n\nfunction clearDom(){\n\tswitch (this.currentImpMethod) {\n\t\tcase ATTACH_METHOD.BYFILE:\n\t\t\tthis.attachFromLocal.remove();\n\t\t\tthis.myTabBtn.classList.contains('ID-activeBtn') && this.myTabBtn.classList.remove('ID-activeBtn');\t // No I18N\n\t\t\tbreak;\n\t\tcase ATTACH_METHOD.BYURL:\n\t\t\tthis.attachFromURL.remove();\n\t\t\tthis.urlTabBtn.classList.contains('ID-activeBtn') && this.urlTabBtn.classList.remove('ID-activeBtn');  // No I18N\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow(this.currentImpMethod);\n\t}\n}\n","import { getTemplate } from \"../TemplatesForAll.js\";\n\n/*$Id$*/\nconst IMAGE_EXTENSIONS      = ['jpg', 'jpeg', 'png', 'bmp', 'psd', 'gif', 'ttf', 'svg', 'heic', 'webp', 'sketch', 'ai']; //No I18N\nconst DEFAULT_IMAGE         = '../../images/Portal/Griddefault.jpg'; //No I18N\n\nexport class UploadPreviewImg{\n    constructor(title, id, imgSrc, callback){\n        const uploadPreviewTemplate\t= getTemplate('AttachmentPreviewTemplate'); //No I18N\n        this.previewCtr\t\t\t\t= uploadPreviewTemplate.querySelector('.AFD-previewImg'); //No I18N\n        this.uploadedFileUrl\t\t= this.previewCtr.querySelector('.imgSrc'); //No I18N\n        this.uploadedFileName       = this.previewCtr.querySelector('.AFD-previewName'); //No I18N\n        this.removeUploaded         = this.previewCtr.querySelector('.AFD-previewImgClose'); //No I18N\n\n        this.title                  = title;\n        this.id                     = id;\n        this.imgSrc                 = imgSrc;\n        \n        init.call(this);\n        addListeners.call(this, callback);\n    }\n\n    getDom(){\n        return this.previewCtr;\n    }\n}\n\nfunction init(){\n    const fileExtension = this.title.split('.').pop();\n    this.uploadedFileUrl.src = (IMAGE_EXTENSIONS.includes(fileExtension)) ? this.imgSrc : DEFAULT_IMAGE;\n    this.uploadedFileName.textContent    = this.title;\n    this.uploadedFileName.title  = this.title;\n}\n\nfunction addListeners(callback){\n    this.removeUploaded.addEventListener('click', () => {\n        this.previewCtr.remove();\n        callback(this.id);\n    });\n}\n","import { getTemplate } from \"../TemplatesForAll.js\";\n\n/*$Id$*/\nconst IMAGE_EXTENSIONS      = ['jpg', 'jpeg', 'png', 'bmp', 'psd', 'gif', 'ttf', 'svg', 'heic', 'webp', 'sketch', 'ai']; //No I18N\nconst DEFAULT_IMAGE         = '../../images/Portal/Griddefault.jpg'; //No I18N\n\nexport class UploadProgressState{\n    constructor(id, currentFile, retryCallback, closeCallback){\n        const uploadProgressTemplate\t= getTemplate('AttachmentProgressTemplate'); //No I18N\n        this.progressdom\t\t        = uploadProgressTemplate.querySelector('.AFD-imgLoadPanel'); //No I18N\n        this.successPanel           = this.progressdom.querySelector('.AFD-completedPanel'); //No I18N\n        this.errorPanel             = this.progressdom.querySelector('.AFD-closeRetryIcon'); //No I18N\n        this.fileRetryButton\t\t= this.progressdom.querySelector('.AFD-imgretry'); //No I18N\n        this.fileCloseButton\t\t= this.progressdom.querySelector('.AFD-imgClose'); //No I18N\n        this.fileNameDom\t\t\t= this.progressdom.querySelector('.AFD-imgLoadName'); //No I18N\n        this.fileSizeDom\t\t\t= this.progressdom.querySelector('.AFD-imgLoadSize'); //No I18N\n        this.uploadProgressBar\t\t= this.progressdom.querySelector('.AFD-imgLoaderInner'); //No I18N\n        this.progressImgSrc         = this.progressdom.querySelector('.progressImgSrc'); //No I18N\n\n        this.id             = id;\n        this.file           = currentFile;\n        \n        init.call(this);\n        addListeners.call(this, retryCallback, closeCallback);\n    }\n\n    getDom(){\n        return this.progressdom;\n    }\n    \n    setProgressValue(progressValue){\n        this.uploadProgressBar.style.width = progressValue + '%';\n    }\n\n    showSuccessState(){\n        if(!this.successPanel.classList.contains('completed')){ //No I18N     \n            this.successPanel.classList.add('completed'); //No I18N\n        }\n    }\n\n    showErrorState(){\n        if(this.errorPanel.classList.contains('hide')){ //No I18N     \n            this.errorPanel.classList.remove('hide'); //No I18N\n        }\n        if(!this.uploadProgressBar.classList.contains('error')){ //No I18N\n            this.uploadProgressBar.classList.add('error'); //No I18N\n        }\n    }\n\n    removeErrorState(){\n        if(!this.errorPanel.classList.contains('hide')){ //No I18N     \n            this.errorPanel.classList.add('hide'); //No I18N                \n        }\n        if(this.uploadProgressBar.classList.contains('error')){ //No I18N\n            this.uploadProgressBar.classList.remove('error'); //No I18N\n        }\n    }\n}\n\nfunction init(){\n    const currentFile    = this.file; \n    const name           = currentFile.name;\n    const size           = formatBytes(currentFile.size);\n    const displayImg     = URL.createObjectURL(currentFile);\n\n    const fileExtension = name.split('.').pop();\n    this.progressImgSrc.src = (IMAGE_EXTENSIONS.includes(fileExtension)) ? displayImg : DEFAULT_IMAGE;\n    this.fileNameDom.textContent  = name;\n    this.fileSizeDom.textContent  = size;\n}\n\nfunction addListeners(retryCallback, closeCallback){\n    this.fileCloseButton.addEventListener('click', () => {\n        this.progressdom.remove();\n        closeCallback();\n    });\n\n    this.fileRetryButton.addEventListener('click', () => {\n        retryCallback(true, this.id);\n    });\n}\n\nfunction formatBytes(bytes, decimals = 2) {\n    if (bytes === 0) {return '0 Bytes';};\n\n    const k = 1024;\n    const dm = decimals < 0 ? 0 : decimals;\n    const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\t//No I18N\n\n    const i = Math.floor(Math.log(bytes) / Math.log(k));\n    return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\n}\n","import { MAX_FILE_SIZE_FREE_USERS, MAX_FILE_SIZE_PROFESSIONAL, MAX_FILE_SIZE_PAID_USERS, MAX_FILE_SIZE_PERSONAL, MAX_FILE_UPLOAD_COUNT } from \"../Constants/FormConstants.js\";\nimport { FORM_VIEW_ACTION_SHARE_ID, FORM_VIEW_PUBLIC_UPLOAD_ATTACHMENTS, FORM_VIEW_UPLOAD_ATTACHMENTS } from \"../Constants/FormViewConstants.js\";\nimport { PLAN_TYPE } from \"../Pricing/Plan\";\nimport { AjaxRequest, METHOD } from \"./../Utility/AjaxRequest.js\";\nimport { getCSRFCookie } from \"./../Utility/Cookie.js\";\nimport { UploadPreviewImg } from \"./UploadPreviewImg.js\";\nimport { UploadProgressState } from \"./UploadProgressState.js\";\n\nconst TABLE_CSRF_HEADER \t= getCSRFCookie();\nconst Z_CSRF_HTTP_HEADER  \t= 'ztreqcsr';      // No I18N\nconst POST_METHOD       \t= METHOD.POST;\nconst FORM_KEY\t\t\t\t= 'xfile'; //No I18N\n// const supportedFormat \t= ['xls', 'xlsx', 'xlsm', 'csv', 'tsv', 'ods', 'mdb', 'accdb', 'json', \"ics\", \"vcf\"]; // No I18N\n\nconst JSMsg                                   = Table.Constants.JSMsg;\nconst SUBMIT_BUTTON_INFO_ON_ATTACHMENT_UPLOAD = JSMsg['UI.tables.formView.submitButtonInfoOnAttachmentUpload'];\n\n//AttachFromLocal\nexport function getAttachmentCallbacks(planType){\n    const callbacks = {\n        importDragAndDropPanelDropCallback(event){\n            const files = event.dataTransfer.files;\n            checkUploadedFile.call(this, files, planType);\n\t\t    this.inputFile.files = files;\n        },\n        \n        pasteFilesCallback(event){\n            const files = (event.clipboardData || event.originalEvent.clipboardData).files;\n            checkUploadedFile.call(this, files, planType);\n        },\n\n        inputFileChangeCallback(event){\n            checkUploadedFile.call(this, event.target.files, planType);\n        },\n\n        addFileInputChangeCallback(event){\n            checkUploadedFile.call(this, event.target.files, planType);\n        },\n\n        insertbtnClickCallback(){\n            addProgressState.call(this, false, 0);\n        },\n        \n        removeAllBtnClickCallback(){\n            this.resetUploadedFiles();\n            this.uploadedFilesList.innerText = ''; //No I18N\n            this.uploadedFilesList.appendChild(this.addFileCtr);\n            if(this.uploadFiles.length === 0){\n                this.insertbtn.disabled = true;\n            }\n        }\n    }\n\n    function checkUploadedFile(files, planType){\n        // let isValidFile = false;\n        let isValidFileSize = false;\n    \n        //resetting error toast\n        let maxCountExceeded = 0;\n        this.InvalidFilesCount = 0;\n        this.errorContentDom.textContent = ''; //No I18N\n        if(!this.sizeLimitErrorToast.classList.contains('hide')){\t//NO I18N\n            this.sizeLimitErrorToast.classList.add('hide');\t//NO I18N\n        }\n        \n        let maxUploadSize;\n        switch(planType){\n            case PLAN_TYPE.FREE_TRIAL:\n            case PLAN_TYPE.PROFESSIONAL:\n            case PLAN_TYPE.ZOHO_ONE:\n                maxUploadSize = MAX_FILE_SIZE_PROFESSIONAL;\n                break;\n            case PLAN_TYPE.ZOHO_CORP:\n                maxUploadSize = MAX_FILE_SIZE_PAID_USERS;\n                break;\n            case PLAN_TYPE.PERSONAL:\n                maxUploadSize = MAX_FILE_SIZE_PERSONAL;\n                break;\n            case PLAN_TYPE.FREE_EDITION:\n                maxUploadSize = MAX_FILE_SIZE_FREE_USERS;\n                break;\n        }\n        \n        if (files.length) {\n            for(let i = 0 ; i < files.length && maxCountExceeded === 0 ; i++){\n                //isValidFile check\n                // let format = file.name.split('.').pop();\n                // format = format.toLowerCase();\n                // const index = supportedFormat.indexOf(format);\n                // isValidFile = index > -1;\n    \n                // isValidFileSize check\n                const fSize = files[i].size;//bytes\n                const kSize = fSize / 1024;//kb\n                const mSize = Math.ceil(kSize / 1024);//mb\n                isValidFileSize = mSize <= maxUploadSize;\n    \n                //Show preview and upload if the file is valid, Else Error toast message is shown\n                if(isValidFileSize && this.uploadFiles.length < MAX_FILE_UPLOAD_COUNT) {\n                    const file = files[i];\n                    this.uploadFiles.push({id: this.uploadedFileCount, file: file});\n                    const previewImg = new UploadPreviewImg(file.name, this.uploadedFileCount, URL.createObjectURL(file), removeUploadedFile.bind(this));\n                    const dom = previewImg.getDom();\n                    this.uploadedFilesList.insertBefore(dom, this.addFileCtr);\n                    this.uploadedFileCount++;\n    \n                    this.myFileContainer.classList.add('hide'); //No I18N\n                    this.showFilesUploadedCtr.classList.remove('hide'); //No I18N\n                    if(this.uploadFiles.length >= MAX_FILE_UPLOAD_COUNT){\n                        this.addFileCtr.disabled = true;\n                    }\n                    if(this.uploadFiles.length > 0){\n                        this.insertbtn.disabled = false;\n                    }\n                } else {\n                    !isValidFileSize ? this.InvalidFilesCount++ : maxCountExceeded++;\n                    if(this.sizeLimitErrorToast.classList.contains('hide')){\t//NO I18N\n                        this.sizeLimitErrorToast.classList.remove('hide');\t//NO I18N\n                    }\n                }\n            }\n            if(this.InvalidFilesCount != 0){\n                let contentDom;\n                if(files.length === 1 && this.InvalidFilesCount === 1){\n                    switch(planType){\n                        case PLAN_TYPE.FREE_TRIAL:\n                            contentDom = this.singleFileErrorOnlyForFreeTrialTemplate;\n                            break;\n                        case PLAN_TYPE.PROFESSIONAL:\n                        case PLAN_TYPE.ZOHO_ONE:\n                            contentDom = this.singleFileErrorOnlyForProfessionalTemplate;\n                            break;\n                        case PLAN_TYPE.PERSONAL:\n                            contentDom = this.singleFileErrorOnlyForPersonalTemplate;\n                            break;\n                        case PLAN_TYPE.ZOHO_CORP:\n                            contentDom = this.singleFileErrorOnlyForZohocorpTemplate;\n                            break;\n                        case PLAN_TYPE.FREE_EDITION:\n                            contentDom = this.singleFileErrorOnly;\n                            break;\n                    }\n                } else if (files.length > 1) {\n                    if(this.InvalidFilesCount === 1) {\n                        switch(planType){\n                            case PLAN_TYPE.FREE_TRIAL:\n                                contentDom = this.singleFileErrorForFreeTrialTemplate;\n                                break;\n                            case PLAN_TYPE.PROFESSIONAL:\n                            case PLAN_TYPE.ZOHO_ONE:\n                                contentDom = this.singleFileErrorForProfessionalTemplate;\n                                break;\n                            case PLAN_TYPE.PERSONAL:\n                                contentDom = this.singleFileErrorForPersonalTemplate;\n                                break;\n                            case PLAN_TYPE.ZOHO_CORP:\n                                contentDom = this.singleFileErrorForZohocorpTemplate;\n                                break;\n                            case PLAN_TYPE.FREE_EDITION:\n                                contentDom = this.singleFileError;\n                                break;\n                        }\n                    } else {\n                        switch(planType){\n                            case PLAN_TYPE.FREE_TRIAL:\n                                this.multipleFileErrorOnlyForFreeTrialCount.textContent = this.InvalidFilesCount;\n                                contentDom = this.multipleFileErrorOnlyForFreeTrialTemplate;\n                                break;\n                            case PLAN_TYPE.PROFESSIONAL:\n                            case PLAN_TYPE.ZOHO_ONE:\n                                this.multipleFileErrorOnlyForProfessionalCount.textContent = this.InvalidFilesCount;\n                                contentDom = this.multipleFileErrorOnlyForProfessionalTemplate;\n                                break;\n                            case PLAN_TYPE.PERSONAL:\n                                this.multipleFileErrorOnlyForPersonalCount.textContent = this.InvalidFilesCount;\n                                contentDom = this.multipleFileErrorOnlyForPersonalTemplate;\n                                break;\n                            case PLAN_TYPE.ZOHO_CORP:\n                                this.multipleFileErrorOnlyForZohocorpCount.textContent = this.InvalidFilesCount;\n                                contentDom = this.multipleFileErrorOnlyForZohocorpTemplate;\n                                break;\n                            case PLAN_TYPE.FREE_EDITION:\n                                this.multipleFileErrorCount.textContent = this.InvalidFilesCount;\n                                contentDom = this.multipleFileErrorOnly;\n                                break;\n                        }\n                    }\n                }\n                this.errorContentDom.appendChild(contentDom);\n            }\n            if(maxCountExceeded > 0){\n                this.errorContentDom.appendChild(this.fileLimitContentDom);\n            }\n        }\n    }\n        \n    function removeUploadedFile(id){\n        const index = this.uploadFiles.findIndex((file) => file.id === id);\n        this.uploadFiles.splice(index, 1);\n        if(this.uploadFiles.length < MAX_FILE_UPLOAD_COUNT){\n            this.addFileCtr.disabled = false;\n        }\n        if(this.uploadFiles.length === 0){\n            this.insertbtn.disabled = true;\n        }\n    } \n\n    /**\n     * @param isRetry used to know whether to retry request or not\n     * @param id used from UploadProgressState Retry icon click handler to know which file to retry\n     */\n    function addProgressState(isRetry, id) {\n        if(isRetry){\n            this.errorCount--;\n            this.uploadFiles[id].progressDom.removeErrorState();\n        } else {\n            for(let i = 0 ; i < this.uploadFiles.length ; i++){\n                const uploadProgressState = new UploadProgressState(this.uploadFiles[i].id, this.uploadFiles[i].file, addProgressState.bind(this), checkEmptyProgressDialog.bind(this));\n                this.uploadFiles[i].progressDom = uploadProgressState;\n                this.attachComponent.progressPanelInner.appendChild(uploadProgressState.getDom());\n                if(this.attachComponent.uploadProgressPanel.classList.contains('hide')){\t//No I18N\n                    this.attachComponent.onUploadProgressPanelOpen();\n                }\n                if(this.uploadFiles.length === 1) {\n                    this.attachComponent.appendToProgressHeader(this.attachComponent.progressDialogSingleUploading);\n                } else {\n                    this.attachComponent.appendToProgressHeader(this.attachComponent.progressDialogUploadingHeader);\n                    updateUploadingCount.call(this, this.uploadFiles.length);\n                }\n            }\n        }\n        sendRequest.call(this);\n    }\n\n    return callbacks;\n}\n    \nfunction checkEmptyProgressDialog(){\n    const panels = this.attachComponent.progressPanelInner.querySelectorAll('.AFD-imgLoadPanel');\t//No I18N\n    if(panels.length === 0){\n        this.attachComponent.uploadProgressPanel.classList.add('hide');\t//No I18N\n    }\n}\n\nfunction sendRequest(){\n\tconst shareURL = globalThis.location.href;\n\tconst requestURL = shareURL.indexOf(\"/publish/\") != -1 ? FORM_VIEW_PUBLIC_UPLOAD_ATTACHMENTS : FORM_VIEW_UPLOAD_ATTACHMENTS; \n\n    for(let id = 0; id < this.uploadFiles.length; id++){\n        const uploadProgressState = this.uploadFiles[id].progressDom;\n        const ajaxRequest         = new AjaxRequest();\n        ajaxRequest.setMethod(POST_METHOD);\n        ajaxRequest.setUrl(requestURL);\n\n        const formdata = new FormData();\n        formdata.append(FORM_KEY, this.uploadFiles[id].file);\n        formdata.append(Z_CSRF_HTTP_HEADER, TABLE_CSRF_HEADER);\n        formdata.append(FORM_VIEW_ACTION_SHARE_ID, shareURL);\n\n        ajaxRequest.setPayload(formdata);\n        ajaxRequest.addEventListener('upload_progress', (event, ajaxRequestCompleteEvent) => {  //No I18N\n            const progress = (event.loaded/event.total) * 100;\n            if(this.attachComponent.uploadProgressPanel.classList.contains('hide')){\t//No I18N\n                this.attachComponent.uploadProgressPanel.classList.remove('hide');\t//No I18N\n            }\n            if(this.attachComponent.uploadProgressCloseDom.classList.contains('show')){\t//No I18N\n                this.attachComponent.uploadProgressCloseDom.classList.remove('show');\t//No I18N\n            }\n            uploadProgressState.setProgressValue(progress);\n            this.onUploadProgressCallback && this.onUploadProgressCallback(event, ajaxRequestCompleteEvent);\n            \n            this.attachmentFieldEventHandler.disableSubmitButton();\n            this.attachmentFieldEventHandler.setSubmitButtonInfo(SUBMIT_BUTTON_INFO_ON_ATTACHMENT_UPLOAD);\n        });\n\n        ajaxRequest.addEventListener('success', (event, ajaxRequestCompleteEvent) => { //NO I18N\n            //Uploading state\n            this.successCount++;\n            uploadProgressState.showSuccessState();\n            const uploadingCount = this.uploadFiles.length - this.successCount - this.errorCount;\n            if(uploadingCount === 1) {\n                this.attachComponent.appendToProgressHeader(this.attachComponent.progressDialogSingleUploading);\n            } else {\n                updateUploadingCount.call(this, uploadingCount);\n            }\n\n            //Upload completed state\n            if(this.successCount + this.errorCount === this.uploadFiles.length){\n                this.attachComponent.uploadProgressCloseDom.classList.add('show');\t//No I18N\n\n                if(this.successCount !== this.uploadFiles.length) {\n                    const data = this.successCount + '/' +  this.uploadFiles.length; //No I18N\n                    this.attachComponent.progressDialogPartialCount.textContent = data;\n                    this.attachComponent.appendToProgressHeader(this.attachComponent.progressDialogPartialHeader);\n                }\n\n                this.attachmentFieldEventHandler.enableSubmitButton();\n                this.attachmentFieldEventHandler.setSubmitButtonInfo('');\n            }\n\n            //All uploads success state\n            if(this.successCount === this.uploadFiles.length){\n                this.resetUploadedFiles();\n                this.attachComponent.appendToProgressHeader(this.attachComponent.progressDialogSuccessHeader);\n\n                this.attachmentFieldEventHandler.enableSubmitButton();\n                this.attachmentFieldEventHandler.setSubmitButtonInfo('');\n            }\n\n            this.onSuccessCallback && this.onSuccessCallback(event, ajaxRequestCompleteEvent);\n        });\n\n        ajaxRequest.addEventListener('failure', (event, ajaxRequestCompleteEvent) => { //NO I18N\n            uploadProgressState.showErrorState();\n            this.errorCount++;\n            const uploadingCount = this.uploadFiles.length - this.successCount - this.errorCount;\n            if(uploadingCount === 1) {\n                this.attachComponent.appendToProgressHeader(this.attachComponent.progressDialogSingleUploading);\n            } else {\n                updateUploadingCount.call(this, uploadingCount);\n            }\n\n            if(this.successCount + this.errorCount === this.uploadFiles.length){\n                this.attachComponent.uploadProgressCloseDom.classList.add('show');\t//No I18N\n\n                if(this.errorCount !== this.uploadFiles.length) {\n                    const data = '(' + this.successCount + '/' +  this.uploadFiles.length + ')'; //No I18N\n                    this.attachComponent.progressDialogPartialCount.textContent = data;\n                    this.attachComponent.appendToProgressHeader(this.attachComponent.progressDialogPartialHeader);\n                }\n\n                this.attachmentFieldEventHandler.enableSubmitButton();\n                this.attachmentFieldEventHandler.setSubmitButtonInfo('');\n            }\n\n            //All uploads failure state\n            if(this.errorCount === this.uploadFiles.length){\n                this.attachComponent.appendToProgressHeader(this.attachComponent.progressDialogFailureHeader);\n\n                this.attachmentFieldEventHandler.enableSubmitButton();\n                this.attachmentFieldEventHandler.setSubmitButtonInfo('');\n            }\n            this.onFailureCallback && this.onFailureCallback(event, ajaxRequestCompleteEvent);\n        });\n        ajaxRequest.send();\n    }\n}\n\nfunction updateUploadingCount(uploadingCount){\n    this.attachComponent.setCountPanel(uploadingCount);\n}\n","\nclass WDUtil_ {\n    constructor(){\n        this.workdriveURL = null;\n        this.previewURL   = null;\n        this.downloadURL  = null;\n    }\n\n    setWDURL(url) {\n        this.workdriveURL = url;\n    }\n\n    setPreviewURL(url) {\n        this.previewURL = url;\n    }\n\n    setDownloadURL(url) {\n        this.downloadURL = url;\n    }\n\n    getWDDomain(){\n        return this.workdriveURL;\n    }\n\n    getPreviewURL(){\n        return this.previewURL;\n    }\n\n    getDownloadURL (){\n        return this.downloadURL;\n    }\n}\n\nexport const WDUtil = new WDUtil_();\n","\nclass CustomCallback {\n\tconstructor(fn, params) {\n\t\tthis.fn = fn;\n\t\tthis.params = params;\n\t}\n\n\tgenerateParams(params) {\n\t\treturn this.params.map(param => params[param])\n\t}\n\n\texecute(params) {\n\t\tthis.fn.apply(null, this.generateParams(params));\n\n\t}\n}\n\nexport class Pubsub {\n\tconstructor() {\n\t\tthis.subscribers = {};\n\t\tthis.order = ['BEFOREDATA', 'DATA', 'UI']; // No I18N\n\t}\n\n\tsubscribe(grp, event, callback, params) {\n\t\t\n\t\tif (!this.subscribers[event]) {\n\t\t\tthis.subscribers[event] = {};\n\t\t}\n\t\tif(!this.subscribers[event][grp]){\n\t\t\tthis.subscribers[event][grp] = [];\n\t\t}\n\n\t\tconst custCallback = new CustomCallback(callback, params);\n\n\t\tthis.subscribers[event][grp].push(custCallback);\n\t}\n\n\tpublish(event, params) {\n\t\tif (!this.subscribers[event]) { return };\n\t\tthis.order\n\t\t\t.map(_ => this.subscribers[event][_])\n\t\t\t.filter(_ => _ !== undefined)\n\t\t\t.flatMap(_ => _)\n\t\t\t.forEach(customCallback => customCallback.execute(params))\n\t}\n\n\tunsubscribe(grp, evt, funcRef) {\n\n\t\tconst subscribers = this.subscribers[evt][grp];\n\t\tfor (let i = 0; i < subscribers.length; i++) {\n\t\t\t(subscribers[i].fn === funcRef) && (subscribers.splice(i, 1));\n\t\t}\t\n\t}\n\n\texecOnce(grp, evt, funcRef, params) {\n\t\tconst self = this;\n\t\tfunction exec(params){\n\t\t\t// funcRef(params);\n\t\t\tfuncRef.apply(this, arguments);\n\t\t\tself.unsubscribe(grp, evt, exec);\n\t\t}\n\t\tself.subscribe(grp, evt, exec, params);\n\t}\n}\n\nexport const Response = new Pubsub();\n","\nimport { CSS_CLASS_NAMES } from '../../../../../Constants/CssClassNamesForUI.js'\nimport { EVENTS_BASE_SELECTION_OPTION_INSERT, EVENTS_TABLE_DATA_UPDATE } from '../../../../../Constants/EventNames.js'\nimport { ATTACHMENT, MULTIPLE_SELECTION, SINGLE_SELECTION } from '../../../../../Constants/FieldTypes.js'\nimport { RELATIONSHIP_DIRECTION_FORWARD } from '../../../../../Constants/LinkFieldConstants.js'\nimport { Response } from '../../../../../Parser/Pubsub.js'\n\nconst EXPANDED = CSS_CLASS_NAMES.EXPANDED;\nconst EVENTS = { VALUE: 'value', DATA: 'data', WHICH: 'which', KEYCODE: 'keyCode', KEY: 'key' };// No I18N\n\nexport function parseSelectionID(selectionID) {\n    return selectionID.split('__');\n}\n\nexport function createNewOptionForMultiSelectCallback(qaid, currentCellRecordID, currentCellFieldID) {\n    const self = this;\n    let newOptionIDs;\n    let multiSelectDS;\n\n    function onDataUpdate(baseID, tableID, data, actionInfo) {\n        if (actionInfo.isSameAction(qaid)) {\n            Response.unsubscribe('UI', EVENTS_TABLE_DATA_UPDATE, onDataUpdate);//No I18N\n\n            const array = data[0];\n            const fieldIDs = array[0];\n            const bitsetJSON = array[1];\n            let values;\n            for (const bitset in bitsetJSON) {\n                const recordIDJSON = bitsetJSON[bitset];\n                for (const recordID in recordIDJSON) {\n                    if(recordID === currentCellRecordID) {\n                        values = recordIDJSON[recordID];\n                        break;\n                    }\n                }\n            }\n            let fieldID;\n            let value;\n            let fieldType;\n            for (let i = 0; i < fieldIDs.length; i++) {\n                fieldID = fieldIDs[i];\n                value = values[i];\n                fieldType = getFieldType(baseID, tableID, fieldID);\n                if (fieldType === MULTIPLE_SELECTION && fieldID === currentCellFieldID) {\n                    newOptionIDs = value;\n                    break;\n                }\n            }\n            updateSelection();\n        }\n    }\n\n    function onSelectionOptionInsert(baseID, selectionID, selection, actionInfo) {\n        if (actionInfo.isSameAction(qaid)) {\n            Response.unsubscribe('UI', EVENTS_BASE_SELECTION_OPTION_INSERT, onSelectionOptionInsert);//No I18N\n\n            multiSelectDS = getMultiSelectDS(baseID, selectionID);\n            updateSelection();\n        }\n    }\n\n    function updateSelection() {\n        if (newOptionIDs && multiSelectDS) {\n            const ValueHolder = self.getData();\n            const array = newOptionIDs.split(',');\n            ValueHolder.setSelectionDS(multiSelectDS);\n            ValueHolder.setSelectedIDs(array);\n\n            self.setFullData(ValueHolder);\n            self.addClass(EXPANDED);\n            self.clickPlusButton();\n        }\n    }\n\n    Response.subscribe('UI', EVENTS_TABLE_DATA_UPDATE, onDataUpdate, ['BASEID', 'TABLEID', 'DATA', 'ACTIONINFO']);  //No I18N\n    Response.subscribe('UI', EVENTS_BASE_SELECTION_OPTION_INSERT, onSelectionOptionInsert, ['BASEID', 'SELECTIONID', 'SELECTION', 'ACTIONINFO']);  //No I18N\n}\n\nexport function createNewOptionForSingleSelectCallback(qaid, disableCellEditAndPlaceCellSelectionCallback, currentCellRecordID, currentCellFieldID) {\n    const self = this; //TODO 2162846.100000024\n    let newOptionID;\n    let singleSelectDS;\n\n    function onDataUpdate(baseID, tableID, data, actionInfo) {\n        if (actionInfo.isSameAction(qaid)) {\n            Response.unsubscribe('UI', EVENTS_TABLE_DATA_UPDATE, onDataUpdate);//No I18N\n            let fieldID;\n                let i,j;\n                let fieldType;\n            \n            for( i = 0;i<data.length;i++){\n                const bitsetJSON = data[i];\n                const fieldIDs = bitsetJSON[0];\n                \n                for (j = 0; j < fieldIDs.length; j++) {\n                    fieldID = fieldIDs[j];\n                    fieldType = getFieldType(baseID, tableID, fieldID);\n                    if (fieldType === SINGLE_SELECTION && fieldID === currentCellFieldID) {\n                        break;\n                    }\n                }\n            \n            // const bitsetJSON = data[i];\n            const recordBitset = bitsetJSON[1];\n            const singleselectFieldBitPosition = 1 << j;\n                for (const bitset in recordBitset) {\n                    const isPresent  = parseInt(bitset) & singleselectFieldBitPosition;\n                    if(isPresent){\n                        const singleSelectIndex = Math.floor(Math.log2(isPresent));\n                        const recordIDJSON = recordBitset[bitset];\n                        for (const recordID in recordIDJSON) {\n                            if(recordID === currentCellRecordID) {\n                                newOptionID = recordIDJSON[recordID][singleSelectIndex];\n                                updateSelection();\n                                break;\n                            }\n                        }\n                    }\n                    \n                }\n \n            }\n            \n            \n        }\n    }\n\n    function onSelectionOptionInsert(baseID, selectionID, selection, actionInfo) {\n        if (actionInfo.isSameAction(qaid)) {\n            Response.unsubscribe('UI', EVENTS_BASE_SELECTION_OPTION_INSERT, onSelectionOptionInsert);//No I18N\n\n            singleSelectDS = getMultiSelectDS(baseID, selectionID);\n            updateSelection();\n        }\n    }\n\n    function updateSelection() {\n        if (newOptionID && singleSelectDS) {\n            const ValueHolder = self.getData();\n            ValueHolder.setSelectionDS(singleSelectDS);\n            ValueHolder.setValue(newOptionID);\n            self.setData(ValueHolder);\n            disableCellEditAndPlaceCellSelectionCallback();\n        }\n    }\n\n    Response.subscribe('UI', EVENTS_TABLE_DATA_UPDATE, onDataUpdate, ['BASEID', 'TABLEID', 'DATA', 'ACTIONINFO']);  //No I18N\n    Response.subscribe('UI', EVENTS_BASE_SELECTION_OPTION_INSERT, onSelectionOptionInsert, ['BASEID', 'SELECTIONID', 'SELECTION', 'ACTIONINFO']);  //No I18N\n}\n\nexport function generateInputEvent(string) {\n    const event = new Event('input', {// No I18N\n        bubbles: false,\n        cancelable: true\n    });\n\n    const data = {};\n    data[EVENTS.VALUE] = string;\n\n    const which = {};\n    which[EVENTS.VALUE] = string.charCodeAt(0);\n\n    Object.defineProperty(event, EVENTS.DATA, data);\n    Object.defineProperty(event, EVENTS.WHICH, which);\n\n    return event;\n}\n\nexport function generateKeyDownEvent(string) {\n    const event = new Event('keydown', {// No I18N\n        bubbles: false,\n        cancelable: true\n    });\n\n    const data = {};\n    data[EVENTS.VALUE] = string;\n\n    const which = {};\n    which[EVENTS.VALUE] = string.charCodeAt(0);\n\n    Object.defineProperty(event, EVENTS.KEY, data);\n    Object.defineProperty(event, EVENTS.WHICH, which);\n\n    return event;\n}\n\n\nexport function generateKeyUpEvent(string, keyDownEvent) {\n    const event = new Event('keyup', {// No I18N\n        bubbles: false,\n        cancelable: true\n    });\n\n    const data = {};\n    data[EVENTS.VALUE] = string;\n\n    const which = {};\n    which[EVENTS.VALUE] = keyDownEvent.which;\n\n    const keyCode = {};\n    keyCode[EVENTS.VALUE] = keyDownEvent.keyCode;\n\n    Object.defineProperty(event, EVENTS.KEY, data);\n    Object.defineProperty(event, EVENTS.WHICH, which);\n    Object.defineProperty(event, EVENTS.KEYCODE, keyCode);\n\n    return event;\n}\n\n\nexport function getOppositeTableID(baseID, relationshipID, relationshipDirection) {\n\tconst base               = Table.Data.Workspace.get(baseID);\n\tconst relationship       = base.getRelationship(relationshipID);\n\tconst sourceTableID      = relationship.getSourceTableID()\n\tconst destinationTableID = relationship.getDestinationTableID()\n\n\treturn relationshipDirection === RELATIONSHIP_DIRECTION_FORWARD ? destinationTableID : sourceTableID\n}\n\nexport function getTable(baseID, tableID) {\n    const base = Table.Data.Workspace.baseMap.get(baseID);\n    const table = base.tables.get(tableID);\n    return table;\n}\n\nexport function onTableAttachmentDataUpdate(expandDialog, baseID, tableID, data) {\n    const array = data[0];\n    const fieldIDList = array[0];\n    const bitsetJSON = array[1];\n    let values;\n    for (const bitset in bitsetJSON) {\n        const recordIDJSON = bitsetJSON[bitset];\n        for (const recordID in recordIDJSON) {\n            values = recordIDJSON[recordID];\n        }\n    }\n    for (let i = 0; i < fieldIDList.length; i++) {\n        const fieldType = getFieldType(baseID, tableID, fieldIDList[i]);\n        if (fieldType === ATTACHMENT) {\n            const updatedData = JSON.parse(values[i]);\n            let attachmentIDs = [];\n            const base = Table.Data.Workspace.get(baseID);\n            for (let i = 0; i < updatedData.length; i++) {\n                attachmentIDs.push(updatedData[i][0]);\n                let attachment = base.getAttachmentDS(updatedData[i][0]);\n                attachment.setFileName(updatedData[i][1]);\n                // attachment.setFileExtension(updatedData[i][2]);\n            }\n            expandDialog.addAttachments(attachmentIDs);\n        }\n    }\n}\n\nexport function onAttachmentUpdate(component, baseID, attachments) {\n    const fieldID = Object.keys(attachments)[0];\n    const recordID = Object.keys(attachments[fieldID])[0];\n    const attachmentIDs = attachments[fieldID][recordID];\n    for (let i = 0; i < attachmentIDs.length; i++) {\n        const attachmentDS = getAttachmentDS(baseID, attachmentIDs[i]);\n        const valueHolder = component.getData();\n        valueHolder.addURL(attachmentDS.imgSrc);\n        component.setData(valueHolder);\n    }\n}\n\nexport function getAttachmentInfo(baseID, attachmentIDs) {\n\tlet   attachmentInfo = {};\n\tconst base           = Table.Data.Workspace.get(baseID);\n\tfor (let i = 0; i < attachmentIDs.length; i++) {\n\t\tlet            info         = base.getAttachmentDS(attachmentIDs[i]);\n\t\tattachmentInfo[info.imgSrc] = { downloadURL: info.downloadURL, fileName: info.fileName, fileExtension: info.fileExtension };\n\t}\n\treturn attachmentInfo;\n}\n\nexport function onAttachmentInsert(component, baseID, attachments) {\n    for (let key in attachments) {\n        const attachmentDS = getAttachmentDS(baseID, key);\n        const valueHolder = component.getData();\n        valueHolder.addURL(attachmentDS.imgSrc);\n\t\t//adding attachmentInfo to include updated attachment in SecondaryReadWriteComponent(Record View)\n\t\tconst attachmentInfo = getAttachmentInfo(baseID, [key]);\n\t\tcomponent.addAttachmentInfo && component.addAttachmentInfo(attachmentInfo);\n        component.setData(valueHolder);\n    }\n}\n\n// export function onAttachmentInsert(component, baseID, attachments) {\n//     for (const key in attachments) {\n//         const attachmentUrl = getAttachmentURLs(baseID, key);\n//         const valueHolder = component.getData();\n//         valueHolder.addURL(attachmentUrl);\n//         component.setData(valueHolder);\n//     }\n// }\n\nexport function getAttachments(baseID, uploadedFiles) {\n    let attachments = [];\n    const base = Table.Data.Workspace.get(baseID);\n    const attachmentDS = base.attachmentDS;\n    uploadedFiles.forEach(file => {\n        for (let key in attachmentDS) {\n            if (file === attachmentDS[key].imgSrc) {\n                attachments.push(key);\n            }\n        }\n    });\n    return attachments;\n}\n\nfunction getAttachmentDS(baseID, attachmentID) {\n    const base = Table.Data.Workspace.get(baseID);\n    return base.getAttachmentDS(attachmentID);\n}\n\nfunction getMultiSelectDS(baseID, selectionID) {\n    const base = Table.Data.Workspace.get(baseID);\n    return base.getMultiSelectDS(selectionID);\n}\n\nfunction getFieldType(baseID, tableID, fieldID) {\n    const base = Table.Data.Workspace.get(baseID);\n    const table = base.getTable(tableID);\n    const field = table.getField(fieldID);\n    return field.getType().getType();\n}\n\nexport const oppositeTableID = 1;\nexport const oppositeViewID = 1;\nexport const oppositeFieldID = 1;\nexport const allowMultiple = 0;\n","\nimport { AttachFile } from \"../../../AttachmentField/AttachFileForForm.js\";\nimport { getAttachmentCallbacks } from \"../../../AttachmentField/AttachmentCallbacksForForm.js\";\nimport { FORM_VIEW_ATTACHMENT_IMAGE_ERROR_EVENT_CLASS } from \"../../../Constants/CssClassNamesForUI.js\";\nimport { ENTER, ESC } from \"../../../Constants/KeyCodes.js\";\nimport { WDUtil } from \"../../../Utility/WDUtil.js\";\nimport { onAttachmentInsert } from \"../../../View/Grid/Pane/FieldTypeComponents/Utilities/ExtraUtilitiesForCallback.js\";\n\nconst IMAGE_SIZE_STRING = \"?size=l\";\nconst SLASH             = '/';\nconst TIMER             = 5000;\n\nconst FORM_ATTACHMENT_DOWNLOAD   = 'formAttachmentDownload.do';  // No I18N\nconst FORM_ATTACHMENT_PREVIEW    = 'formAttachmentPreview.do';   // No I18N\nconst FORM_PUBLIC_ATTACHMENT_DOWNLOAD   = 'publicFormAttachmentDownload.do';  // No I18N\nconst FORM_PUBLIC_ATTACHMENT_PREVIEW    = 'publicFormAttachmentPreview.do';   // No I18N\nconst QUERY_PARAM                = '?'\nconst AMPERSAND                  = '&';\nconst URL                        = 'url';                        // No I18N\nconst EQUALS                     = '=';\nconst ATTACHMENT_FILE_ID         = 'attachmentFileID';           // No I18N\nconst ATTACHMENT_FILE_SIZE       = 'size';                       // No I18N\nconst ATTACHMENT_FILE_SIZE_LARGE = 'l';                          // No I18N\n\nexport function getAttachmentCallback(shareID, teamDriveServerURL, teamDriveDownloadURL, teamDrivePreviewURL, isAttachmentPreviewNeeded, planType, attachmentFieldEventHandler) {\n    const callback = {\n\n        oldName: null,\n\n        onPlusButtonClick(ev, AttachmentComponent) {\n            const attachFile = new AttachFile({}, getAttachmentCallbacks(planType), (event, ajaxRequestCompleteEvent) => {\n                onSuccessCallback(event, ajaxRequestCompleteEvent, teamDriveServerURL, teamDriveDownloadURL, teamDrivePreviewURL, AttachmentComponent);\n            }, (event, ajaxRequestCompleteEvent) => {\n                onFailureCallback(event, ajaxRequestCompleteEvent);\n            }, (event, ajaxRequestCompleteEvent) => {\n                onUploadProgressCallback(event, ajaxRequestCompleteEvent);\n            }, planType, attachmentFieldEventHandler);\n            attachFile.open(onAttachmentInsert.bind(this, AttachmentComponent));\n            attachFile.activateAttachMethod('byFile'); // No I18N\n        },\n\n        onDeleteBtnClick(ev, AttachmentOption, AttachmentComponent, attachmentID) {\n            const valueHolder  = AttachmentComponent.getData();\n            const URL          = AttachmentOption.getURL();\n\t\t\tvalueHolder.removeURL(URL);\n            valueHolder.removeID(attachmentID);\n            valueHolder.removeAttachmentInfo(URL);\n\t\t\tAttachmentOption.remove();\n\t\t},\n\n        onDownloadBtnClick(ev, AttachmentOption, AttachmentComponent) {\n        },\n\n        onEditBtnClick(ev, AttachmentOption, AttachmentComponent) {\n            const oldName = AttachmentOption.getFileName();\n\t\t\tthis.oldName  = oldName;\n\t\t\tAttachmentOption.setName(oldName);\n\t\t},\n\n        keyListeners(event, AttachmentOption, attachmentID){\n\t\t\tif (event.keyCode == ESC) {\n\t\t\t\tmakeNonEditable(AttachmentOption);\n\t\t\t\tAttachmentOption.setName(this.oldName);\n\t\t\t}\n\t\t\telse if (event.keyCode == ENTER) {\n\t\t\t\tthis.disableAttachmentEditAndSetNewName(AttachmentOption);\n\t\t\t}\n\t\t},\n\n\t\tmouseListeners(event, AttachmentOption, attachmentID){\n\t\t\tconst path = event.path || event.composedPath();\n\t\t\tif(path.indexOf(AttachmentOption.fileInput) != 0){\n\t\t\t\tthis.disableAttachmentEditAndSetNewName(AttachmentOption);\n\t\t\t}\n\t\t\telse{\n\t\t\t\tevent.stopPropagation();\n\t\t\t}\n\t\t},\n\n        disableAttachmentEditAndSetNewName(AttachmentOption) {\n            makeNonEditable(AttachmentOption);\n            const latestName = AttachmentOption.fileInput.value.trim();\n            AttachmentOption.setName(latestName);\n\n            const component   = AttachmentOption.getComponent();\n            const valueHolder = component.getData();\n            const url         = AttachmentOption.getURL();\n            valueHolder.renameAttachedFileName(url, latestName);\n        },\n\n        onImageErrorEvent(AttachmentOption) {\n            AttachmentOption.addClass(FORM_VIEW_ATTACHMENT_IMAGE_ERROR_EVENT_CLASS);\n        },\n\n        onImageLoadEvent(AttachmentOption) {\n            AttachmentOption.removeClass(FORM_VIEW_ATTACHMENT_IMAGE_ERROR_EVENT_CLASS);\n        },\n\n        onAttachmentClick(ev, attachmentOption, component) {\n            if(!isAttachmentPreviewNeeded) {\n                return;\n            }\n            const url                    = attachmentOption.getURL();\n            const clickedAttachmentResID = this.getResourceID(url);\n            const attachmentResIDList    = [];\n            const urls                   = component.getData().getURL();\n\n            for(let i = 0 ; i < urls.length ; i++){\n                const currentURL      = urls[i];\n                const attachmentResID = this.getResourceID(currentURL);\n                attachmentResIDList.push(attachmentResID);\n            }\n            const wdUtil    = WDUtil || (WDUtil = {});\n            const workdrive = new WorkDrive();\n            workdrive.showResourcePreview({\n                \"service\": \"ZohoTables\",\t//No I18N\n                \"WDDomainURL\": wdUtil.workdriveURL,\t//No I18N\n                \"resourceId\": clickedAttachmentResID,\t//No I18N\n                \"resourceIdList\": attachmentResIDList,  //No I18N\n                \"showToolBar\": true\t//No I18N\n            });\n        },\n\n        getResourceID(url) {\n            // return url.replace(teamDrivePreviewURL + SLASH, '').replace(IMAGE_SIZE_STRING, '');\n            return decodeURIComponent(url.replace(window.location.origin + SLASH, '').replace(FORM_ATTACHMENT_PREVIEW, '').split('&')[1].replace(ATTACHMENT_FILE_ID + EQUALS, ''))\n        }\n    }\n    return callback;\n}\n\nfunction makeNonEditable(AttachmentOption){\n\tAttachmentOption.fileNameCtr.classList.remove(\"edit\");\t// No I18N\n\tAttachmentOption.fileInput.disabled = true;\n\tAttachmentOption.fileInput.blur();\n\tAttachmentOption.fileInput.removeEventListener(\"keydown\", AttachmentOption.bodyKeyListeners, true);\t//No I18N\t\n\tdocument.body.removeEventListener(\"click\", AttachmentOption.bodyMouseListeners, true);\t//No I18N\n}\n\nfunction onSuccessCallback(event, ajaxRequestCompleteEvent, teamDriveServerURL, teamDriveDownloadURL, teamDrivePreviewURL, AttachmentComponent, tempID) {\n    if(ajaxRequestCompleteEvent.response) {\n        const response = JSON.parse(ajaxRequestCompleteEvent.response);\n        for(let attachmentID in response) {\n            const meta             = response[attachmentID];\n            const attachmentFileID = meta.attachmentFileID;\n            const extension        = meta.fileExtension;\n            const fileName         = meta.fileName;\n            \n\t\t\tconst shareURL = window.location.href;\n\t\t\tconst dURL = shareURL.indexOf(\"/publish/\") != -1? FORM_PUBLIC_ATTACHMENT_DOWNLOAD : FORM_ATTACHMENT_DOWNLOAD; \n\t\t\tconst pURL = shareURL.indexOf(\"/publish/\") != -1? FORM_PUBLIC_ATTACHMENT_PREVIEW : FORM_ATTACHMENT_PREVIEW; \n\n            const downloadURL = window.location.origin + SLASH + dURL + QUERY_PARAM + URL + EQUALS + encodeURIComponent(shareURL) + AMPERSAND + ATTACHMENT_FILE_ID + EQUALS + encodeURIComponent(attachmentFileID);\n            const previewURL  = window.location.origin + SLASH + pURL + QUERY_PARAM + URL + EQUALS + encodeURIComponent(shareURL) + AMPERSAND + ATTACHMENT_FILE_ID + EQUALS + encodeURIComponent(attachmentFileID) + AMPERSAND + ATTACHMENT_FILE_SIZE + EQUALS + ATTACHMENT_FILE_SIZE_LARGE;\n            \n\t\t\t// const downloadURL    = teamDriveDownloadURL + SLASH + attachmentFileID;\n            // const previewURL     = teamDrivePreviewURL + SLASH + attachmentFileID + IMAGE_SIZE_STRING;\n            const attachmentInfo = { downloadURL: downloadURL, fileName: fileName, fileExtension: extension };\n            \n            const valueHolder = AttachmentComponent.getData();\n            valueHolder.addAttachmentInfo(previewURL, attachmentInfo);\n            valueHolder.addID(attachmentID);\n            valueHolder.addURL(previewURL);\n            AttachmentComponent.setData(valueHolder);\n\n            const timerID = setInterval(() => {\n                const promises    = AttachmentComponent.getPromises();\n                const options     = AttachmentComponent.getAttachedOptions();\n                const valueHolder = AttachmentComponent.getData();\n                const URLs        = valueHolder.getURL();\n\n                for(let i = 0; i < URLs.length; i++) {\n                    const URL    = URLs[i];\n                    const option = options[URL];\n\n                    if(!option.promiseResolved) {\n                        const newPromise = option.loadImage(URL);\n                        newPromise.then(() => {}).catch(() => {});\n                        promises[i] = newPromise;\n                    } else {\n                        promises.splice(i, 1);\n                        if(!promises.length) {\n                            clearInterval(timerID);\n                            break;\n                        }\n                    }\n                }\n            }, TIMER);\n        }\n    }\n}\n\nfunction onFailureCallback(event, ajaxRequestCompleteEvent) {\n    // console.log('onFailureCallback', event, ajaxRequestCompleteEvent);\n}\n\nfunction onUploadProgressCallback(event, ajaxRequestCompleteEvent) {\n    // console.log('onUploadProgressCallback', event, ajaxRequestCompleteEvent);\n}\n","export function getCheckboxCallback() {\n\n\tconst callback = {\n\n\t\tonChange(ValueHolder, oldValue) {\n\t\t\t// console.log('Checkbox change: ');\n\t\t},\n\n\t\tonFocus() {\n\n\t\t}\n\n\t};\n\treturn callback;\n}\n","const globalThis_ = globalThis as any;\nconst JSMsg       = globalThis_.Table.Constants.JSMsg;\n\nexport const TYPE_TO_FIND_OR_ADD_AN_OPTION_PLACEHOLDER = JSMsg['UI.tables.findAnItemComponent.search.placeholder.singleSelect.typeToFindOrAddAnOption'];  // No I18N\nexport const FIND_A_USER_OR_ADD_A_USER_PLACEHOLDER     = JSMsg['UI.tables.findAnItemComponent.search.placeholder.collaborator.findAUserOrAddAUser'];      // No I18N\nexport const TYPE_TO_FIND_PLACEHOLDER                  = JSMsg['UI.tables.common.typeToFind'];               // No I18N\nexport const FIND_A_USER_PLACEHOLDER                   = JSMsg['UI.tables.common.typeToFind'];                // No I18N\n","export class EventEmitter {\n    constructor(_callbackContext, _acceptableEventNames) {\n        this._eventListeners = {}; // TODO: See if could be moved to a Weakmap.\n        this._callbackContext = (_callbackContext) ? _callbackContext : null;\n        this._acceptableEventNames = (_acceptableEventNames) ? _acceptableEventNames : null;\n    }\n\n    addEventListener(eventName, callback) {\n\t\tvalidateEventName.call(this, eventName);\n\t\tconst eventList = this._eventListeners[eventName] || (this._eventListeners[eventName] = []);\n\t\teventList.push(callback);\n\t}\n\n    removeEventListener(eventName, callback) {\n\t\tif (this._eventListeners[eventName]) {\n\t\t\tconst index = this._eventListeners[eventName].indexOf(callback);\n\t\t\t(index >= 0) && this._eventListeners[eventName].splice(index, 1);\n\t\t}\n\t}\n\n    dispatchEvent(eventName, event) {\n\t\tconst eventList = this._eventListeners[eventName];\n\t\tif (eventList) {\n\t\t\tfor (let i = 0; i < eventList.length; i++) {\n\t\t\t\t(this._callbackContext) ? eventList[i].call(this._callbackContext, event) : eventList[i](event)\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction validateEventName(eventName) {\n\tif (this._acceptableEventNames && this._acceptableEventNames.includes(eventName)) {\n        return;\n    }\n\tthrow 'Unknown Event'; // No I18N\n}\n","import { getTemplate } from \"../../TemplatesForAll.js\";\nimport { EventEmitter } from \"../../Utility/EventEmitter.js\";\n\nconst UNITS = { PIXELS: 'px', PERCENT: '%' }; //No I18N\nconst EVENTS = { OPEN: 'open', CLOSE: 'close' }; //No I18N\n\nexport class DialogComponent extends EventEmitter {\n\tconstructor(DialogStack, properties) {\n\t\tsuper(null, [EVENTS.OPEN, EVENTS.CLOSE]);\n\t\t!properties && (properties = {});\n\n\t\tthis.properties     = properties;\n\t\tthis.referenceDom   = null;\n\t\tthis.referenceDoms  = [];\n\t\tthis.neutralElement = null;\n\t\tthis.isOpen         = false;\n\t\tthis.dom            = getTemplate('formDialogComponentTemplate').querySelector('#dialog');  // No I18N\n\t\tthis.onEscpress = (ev) => {\n\t\t\tif(ev.keyCode == 27) {\n\t\t\t\tDialogStack.closeDialog(this);\n\t\t\t}\n\t\t}\n\t}\n\n\tgetProperties() {\n\t\treturn this.properties;\n\t}\n\n\tflush() {\n\t\tthis.dom.innerHTML = '';\n\t}\n\n\tappend(dom) {\n\t\tthis.dom.appendChild(dom);\n\t}\n\n\tclose() {\n\t\tthis.dom.open = false;\n\t\tthis.dom.remove();\n\t\tthis.isOpen = false;\n\t\tthis.dispatchEvent(EVENTS.CLOSE, {});\n\t\twindow.removeEventListener('keydown', this.onEscpress, true);\n\t}\n\n\tgetDom() {\n\t\treturn this.dom;\n\t}\n\n\tisOpened() {\n\t\treturn this.isOpen;\n\t}\n\n\topen() {\n\t\tdocument.body.appendChild(this.dom);\n\t\tthis.dom.open = true;\n\t\tthis.isOpen = true;\n\t\tthis.dispatchEvent(EVENTS.OPEN, {});\n\t\twindow.addEventListener('keydown', this.onEscpress, true);\n\t}\n\n\tsetWidthInPixels(width) {\n\t\tthis.dom.style.width = width + UNITS.PIXELS;\n\t}\n\n\tsetLeftInPixels(left) {\n\t\tthis.dom.style.left = left + UNITS.PIXELS;\n\t}\n\n\tsetRightInPixels(right) {\n\t\tthis.dom.style.right = right + UNITS.PIXELS;\n\t}\n\n\tsetTopInPixels(top) {\n\t\tthis.dom.style.top = top + UNITS.PIXELS;\n\t}\n\n\tsetBottomInPixels(bottom) {\n\t\tthis.dom.style.bottom = bottom + UNITS.PIXELS;\n\t}\n\n\tsetLeftInPercent(left) {\n\t\tthis.dom.style.left = left + UNITS.PERCENT;\n\t}\n\n\tsetRightInPercent(right) {\n\t\tthis.dom.style.right = right + UNITS.PERCENT;\n\t}\n\n\tsetTopInPercent(top) {\n\t\tthis.dom.style.top = top + UNITS.PERCENT;\n\t}\n\n\tsetBottomInPercent(bottom) {\n\t\tthis.dom.style.bottom = bottom + UNITS.PERCENT;\n\t}\n\n\tsetLeft(left) {\n\t\tthis.dom.style.left = left;\n\t}\n\n\tsetRight(right) {\n\t\tthis.dom.style.right = right;\n\t}\n\n\tsetTop(top) {\n\t\tthis.dom.style.top = top;\n\t}\n\n\tsetBottom(bottom) {\n\t\tthis.dom.style.bottom = bottom;\n\t}\n\n\tsetReferenceDom(referenceDom) {\n\t\tthis.referenceDom = referenceDom;\n\t}\n\n\tsetReferenceDoms(referenceDoms) {\n\t\tthis.referenceDoms = [].concat(referenceDoms);\n\t}\n\n\tgetReferenceDom() {\n\t\treturn this.referenceDom;\n\t}\n\n\tgetReferenceDoms() {\n\t\treturn this.referenceDoms;\n\t}\n\n\tgetNeutralElement() {\n\t\treturn this.neutralElement;\n\t}\n\n\tsetNeutralElement(neutralElement) {\n\t\tthis.neutralElement = neutralElement;\n\t}\n\n\tsetPosition(position) {\n\t\tthis.dom.classList.add(position);\n\t}\n\n\tgetBoundingClientRect() {\n\t\treturn this.dom.getBoundingClientRect();\n\t}\n\n\ttranslateToCenter() {\n\t\tthis.dom.style.transform = 'translate(-50%, -50%)';// No I18N\n\t}\n\n\trepositionWithinViewPortInPixels(dialogRect, referenceRect) {\n\t\tconst dialogHeight = dialogRect.height;\n\t\tconst dialogY = dialogRect.y;\n\t\tconst dialogWidth = dialogRect.width;\n\t\tconst dialogX = dialogRect.x;\n\n\t\tconst referenceRectY = referenceRect.y;\n\n\t\tif(dialogX + dialogWidth >= globalThis.innerWidth) {\n\t\t\tconst diffX =  dialogX + dialogWidth - globalThis.innerWidth;\n\t\t\tconst newX  = dialogX - diffX;\n\t\t\tthis.setLeftInPixels(newX);\n\t\t}\n\n\t\tif(dialogY + dialogHeight >= globalThis.innerHeight) {\n\t\t\t// const newY = referenceRectY - dialogHeight;\n\t\t\t// this.setTopInPixels(newY);\n\t\t\tthis.setTop(AUTO);\n\t\t\tthis.setBottomInPixels(globalThis.innerHeight - referenceRectY);\n\t\t}\n\t}\n}\n","import { DialogComponent } from \"./DialogComponent.js\";\n\nconst bodyWheelListenerOptions = { capture: true, passive: false };\nconst ZCOMPONENTS_DROPDOWN     = 'zdropdownlist__body';              // No I18N\n\nclass Dialogstack {\n\tconstructor() {\n\t\tthis.dialogStack      = [];\n\t\tthis.closeOnBodyClick = true;\n\n\t\tthis.onBodyMouseDown = ev => {\n\t\t\tif (this.closeOnBodyClick) {\n\t\t\t\tonBodyMouseDown.call(this, ev);\n\t\t\t}\n\t\t};\n\n\t\tthis.onBodyWheel = ev => {\n\t\t\tonBodyWheel.call(this, ev);\n\t\t};\n\t}\n\n\tcreateDialog(properties) {\n\t\treturn new DialogComponent(this, properties);\n\t}\n\n\tgetCloseOnBodyClick() {\n\t\treturn this.closeOnBodyClick;\n\t}\n\n\tsetCloseOnBodyClick(bool) {\n\t\tthis.closeOnBodyClick = bool;\n\t}\n\n\topenDialog(dialog) {\n\t\tif (this.dialogStack.length === 0) {\n\t\t\tdocument.body.addEventListener('mousedown', this.onBodyMouseDown, true);\n\t\t\tdocument.body.addEventListener('wheel', this.onBodyWheel, bodyWheelListenerOptions);\n\t\t}\n\t\tthis.dialogStack.push(dialog);\n\t\tdialog.open();\n\t}\n\n\tcloseAllDialogs() {\n\t\tfor (let i = this.dialogStack.length - 1; i >= 0; i--) {\n\t\t\tthis.dialogStack[i] && this.dialogStack[i].close();\n\t\t}\n\n\t\tdocument.body.removeEventListener('mousedown', this.onBodyMouseDown, true);\n\t\tdocument.body.removeEventListener('wheel', this.onBodyWheel, bodyWheelListenerOptions);\n\t\tthis.dialogStack = [];\n\t}\n\n\tcloseChildDialogs(dialog) {\n\t\tconst index = this.dialogStack.indexOf(dialog) + 1;\n\t\tif (index > -1) {\n\t\t\tfor (let i = this.dialogStack.length - 1; i >= index; i--) {\n\t\t\t\tthis.dialogStack[i] && this.dialogStack[i].close();\n\t\t\t\tthis.dialogStack.splice(i, 1);\n\t\t\t}\n\t\t}\n\t}\n\n\tcloseLastOpenedDialog() {\n\t\tconst index = this.dialogStack.length - 1;\n\t\tif (index > -1) {\n\t\t\tthis.dialogStack[index].close();\n\t\t\tthis.dialogStack.splice(index, 1);\n\t\t}\n\n\t\tif (this.dialogStack.length <= 0) {\n\t\t\tdocument.body.removeEventListener('mousedown', this.onBodyMouseDown, true);\n\t\t\tdocument.body.removeEventListener('wheel', this.onBodyWheel, bodyWheelListenerOptions);\n\t\t}\n\t}\n\n\tcloseDialog(dialog) {\n\t\tconst index = this.dialogStack.indexOf(dialog);\n\t\tif (index > -1) {\n\t\t\tfor (let i = this.dialogStack.length - 1; i >= index; i--) {\n\t\t\t\tthis.dialogStack[i] && this.dialogStack[i].close();\n\t\t\t\tthis.dialogStack.splice(i, 1);\n\t\t\t}\n\t\t}\n\n\t\tif (this.dialogStack.length <= 0) {\n\t\t\tdocument.body.removeEventListener('mousedown', this.onBodyMouseDown, true);\n\t\t\tdocument.body.removeEventListener('wheel', this.onBodyWheel, bodyWheelListenerOptions);\n\t\t}\n\t}\n}\n\nfunction onBodyMouseDown(ev) {\n\tconst path = ev.path || ev.composedPath();\n\tlet dialog;\n\tlet isDialogPresent;\n\tlet isReferenceDomPresent;\n\tlet activeDialog;\n\n\tlet isNeutralElementPresent;\n\tfor (let i = 0; i < this.dialogStack.length; i++) {\n\t\tdialog = this.dialogStack[i];\n\n\t\tisNeutralElementPresent = path.includes(dialog.getNeutralElement());\n\t\tif (isNeutralElementPresent) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!isDialogPresent) {\n\t\t\tisDialogPresent = path.includes(dialog.getDom());\n\t\t\tisDialogPresent && (activeDialog = dialog);\n\t\t}\n\t\tisReferenceDomPresent = path.includes(dialog.getReferenceDom());\n\n\t\tif ((isDialogPresent && isReferenceDomPresent) || (!isDialogPresent && isReferenceDomPresent)) {\n\t\t\treturn;\n\t\t}\n\t}\n\n\tconst hasDatePicker = hasDatePickerDropDown(path);\n\n\tif (!isDialogPresent && !isReferenceDomPresent && !hasDatePicker) {\n\t\tthis.closeAllDialogs();\n\t} else if (isDialogPresent && !isReferenceDomPresent && !hasDatePicker) {\n\t\tthis.closeChildDialogs(activeDialog);\n\t}\n}\n\nfunction onBodyWheel(ev) {\n\tconst path                = ev.path || ev.composedPath();\n\tconst lastDialog          = this.dialogStack[this.dialogStack.length - 1];\n\tconst isLastDialogPresent = path.includes(lastDialog.getDom());\n\tconst hasDatePicker       = hasDatePickerDropDown(path);\n\n\tconst properties      = lastDialog.getProperties();\n\tconst bodyWheelNeeded = properties.bodyWheel;\n\n\tif (!isLastDialogPresent && !hasDatePicker && !bodyWheelNeeded) {\n\t\tev.preventDefault();\n\t\tev.stopPropagation();\n\t}\n}\n\nfunction hasDatePickerDropDown(path) {\n\tlet element;\n\tfor (let i = 0; i < path.length; i++) {\n\t\telement = path[i];\n\t\tif (element.classList && element.classList.contains(ZCOMPONENTS_DROPDOWN)) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nexport const DialogStack = new Dialogstack();\n","const DATE_FORMAT_MONTH_D_YYYY = 'Month D, YYYY';  // No I18N\nconst DATE_FORMAT_DD_MM_YYYY   = 'DD/MM/YYYY';     // No I18N\nconst DATE_FORMAT_MM_DD_YYYY   = 'MM/DD/YYYY';     // No I18N\nconst DATE_FORMAT_YYYY_MM_DD   = 'YYYY/MM/DD';     // No I18N\n\nconst globalThis_   = globalThis as any;\nconst dateFormatter = globalThis_.CraftGrid.Utility.dateFormatter;\nconst timeFormatter = globalThis_.CraftGrid.Utility.timeFormatter;\nconst TIME_ZONE_UTC = 'UTC';                                        // No I18N\n\nexport function encodeFromAbsoluteDate(dateObject: Date) {\n    return Date.UTC(dateObject.getFullYear(), dateObject.getMonth(), dateObject.getDate(), dateObject.getHours(), dateObject.getMinutes(), dateObject.getSeconds(), 0);\n    // return Date.UTC(dateObject.getFullYear(), dateObject.getMonth(), dateObject.getDate(), dateObject.getHours(), dateObject.getMinutes(), dateObject.getSeconds(), dateObject.getMilliseconds());\n}\n\nexport function decodeToAbsoluteDate(timeStamp: any) {\n    if(timeStamp === '') {\n        return null;\n    }\n\n    const dateObject = new Date(Number(timeStamp));\n    return {\n        year: dateObject.getUTCFullYear(),\n        monthIndex: dateObject.getUTCMonth(),\n        date: dateObject.getUTCDate(),\n        hours: dateObject.getUTCHours(),\n        minutes: dateObject.getUTCMinutes(),\n        seconds: dateObject.getUTCSeconds(),\n        milliSeconds: dateObject.getUTCMilliseconds()\n    }\n}\n\nexport function getDateStringToBeRendered(absoluteDate: any, locale: any, dateFormat: any) {\n    if(!absoluteDate) {\n        return '';\n    }\n\n    // frame date string\n    const UTCTimeStamp = Date.UTC(absoluteDate.year, absoluteDate.monthIndex, absoluteDate.date);\n    return dateFormatter(UTCTimeStamp, locale, dateFormat, TIME_ZONE_UTC);\n}\n\nexport function getTimeStringToBeRendered(absoluteDate: any, locale: any, timeFormat: any, hourCycle: any) {\n    if(!absoluteDate) {\n        return '';\n    }\n\n    // frame time string\n    const UTCTimeStamp = Date.UTC(absoluteDate.year, absoluteDate.monthIndex, absoluteDate.date, absoluteDate.hours, absoluteDate.minutes, absoluteDate.seconds, absoluteDate.milliSeconds);\n    return timeFormatter(UTCTimeStamp, locale, timeFormat, hourCycle, TIME_ZONE_UTC);\n}\n","import { ADD_FIELD_SUPPORTED_DATE_FORMATS_1, ADD_FIELD_SUPPORTED_DATE_FORMATS_2, ADD_FIELD_SUPPORTED_DATE_FORMATS_3, ADD_FIELD_SUPPORTED_DATE_FORMATS_4 } from \"../Constants/AddFieldConstants.js\";\nimport { ZCOMPONENTS_DATE_FIELD_DATE_FORMATS, ZCOMPONENTS_DATE_FIELD_PLACEHOLDER_DATE_FORMATS } from \"../Constants/ZohoComponentDateFieldConstants.js\";\nimport { decodeToAbsoluteDate, encodeFromAbsoluteDate, getDateStringToBeRendered } from \"../DateComponentEncoderDecoder.ts\";\nimport { EventEmitter } from \"../Utility/EventEmitter.js\";\n// import { dateFormatterForDateField } from \"../Utility/DateFormatterUtilityForDateField.js\";\n\nconst dateFormatter = globalThis.ZSGrid.dateFormatter;\n// const timeFormatter = globalThis.CraftGrid.Utility.timeFormatter;\n\nconst EVENTS = {\n\tDATE_CHANGE: 'datechange', //NO I18N\n\tDATE_SELECT: 'dateselect' //NO I18N\n};\nconst CONSTANTS           = { CUSTOM: 'custom' };   //NO I18N\nconst UNKNOWN_DATE_FORMAT = 'Unknown date format';  //NO I18N\n\n// const DATE_FORMAT      = 'Month D, YYYY';\n// const TIME_FORMAT      = 'HH:MM:SS';\n// const HOUR_CYCLE       = '23H';\n// const INDIAN_TIME_ZONE = 'Asia/Kolkata';\n\nexport class DateField extends EventEmitter {\n\tconstructor(isReadOnly, timeStamp, locale, timeZone, dateFormat, callback) {\n\t\tsuper(null, [EVENTS.DATE_CHANGE, EVENTS.DATE_SELECT]);\n\t\tthis.parentElement = document.createElement('div');\n\t\tthis.isReadOnly = isReadOnly;\n\t\tthis.timeStamp = timeStamp;\n\t\tthis.locale = locale;\n\t\tthis.timeZone = timeZone;\n\t\tthis.dateFormat = dateFormat;\n\t\tthis.callback = callback;\n\t\tthis.instance = null;\n\t\tthis.pickerOpened = false;\n\t}\n\n\tinit() {\n\n\t\tconst placeholderDateFormat = this.getPlaceholderDateFormat();\n\n\t\tvar self = this;\n\t\tconst options = {\n\t\t\tforElement: this.parentElement,\n\t\t\tblur(event, data) {\n\t\t\t\t// console.log('blur');\n\t\t\t\tself.onPickerBlur(event, data, data.dateValue);\n\t\t\t\tself.close();\n\t\t\t},\n\t\t\tfocus(event, data) {\n\t\t\t\t// console.log('focus');\n\t\t\t\tself.onPickerFocus(event, data, data.dateValue);\n\t\t\t},\n\t\t\tpickerbeforeopen( event, data ) {\n\t\t\t\tself.onPickerBeforeOpen(event, data, data.dateValue);\n\t\t\t},\n\t\t\tchange(event, data) {\n\t\t\t\t// console.log('change');\n\t\t\t\tself.onChange(event, data, data.dateValue, EVENTS.DATE_CHANGE);\n\t\t\t},\n\t\t\tpickerdateselect(event, data) {\n\t\t\t\t// console.log('pickerdateselect');\n\t\t\t\tself.onPickerDateSelect(event, data, data.value, EVENTS.DATE_SELECT);\n\t\t\t},\n\t\t\t// pickerclear: function(event) {\n\t\t\t// console.log('pickerclear');\n\t\t\t// },\n\t\t\tclear: function(event) {\n\t\t\t\tself.onChange(event, '', '', EVENTS.DATE_CHANGE);\n\t\t\t},\n\t\t\tpickeropen(event, data) {\n\t\t\t\t// console.log('pickeropen');\n\t\t\t\tself.pickerOpened = true;\n\t\t\t},\n\t\t\tpickerclose(event, data) {\n\t\t\t\t// console.log('pickerclose');\n\t\t\t\tself.pickerOpened = false;\n\t\t\t\tself.onPickerClose(event, data, data.dateValue);\n\t\t\t},\n\t\t\tvalue: this.getValue(),\n\t\t\tformat: this.getDateFormat(),\n\t\t\tlocale: this.locale,\n\t\t\ttimeZone: this.timeZone,\n\t\t\tpicker: true,\n\t\t\treadonly: this.isReadOnly,\n\n\t\t\tplaceholderType: CONSTANTS.CUSTOM,\n\t\t\tplaceholder: {\n\t\t\t\tdate: placeholderDateFormat.date,\n\t\t\t\tmonth: placeholderDateFormat.month,\n\t\t\t\tyear: placeholderDateFormat.year\n\t\t\t}\n\t\t};\n\n\t\tthis.instance = globalThis.ZTComponents.datefield(this.parentElement, options);\n\t}\n\n\tisPickerOpened() {\n\t\treturn this.pickerOpened;\n\t}\n\n\ttogglePicker() {\n\t\tif (!this.isPickerOpened()) {\n\t\t\tthis.open();\n\t\t} else {\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\tgetPlaceholderDateFormat() {\n\t\treturn ZCOMPONENTS_DATE_FIELD_PLACEHOLDER_DATE_FORMATS[this.dateFormat];\n\t}\n\n\tonPickerDateSelect(event, data, date, eventName) {\n\t\tthis.onChange(event, data, date, eventName);\n\t}\n\n\tonPickerBeforeOpen(event, data, date) {\n\t\tthis.timeStamp = '';\n\t\t// date && (this.timeStamp = date.getTime());\n\t\tdate && (this.timeStamp = this.getUTCTimeStamp(data, date));\n\t\tthis.callback && this.callback.onPickerBeforeOpen && this.callback.onPickerBeforeOpen(this.timeStamp);\n\t}\n\n\tonPickerFocus(event, data, date) {\n\t\tthis.timeStamp = '';\n\t\t// date && (this.timeStamp = date.getTime());\n\t\tdate && (this.timeStamp = this.getUTCTimeStamp(data, date));\n\t\tthis.callback && this.callback.onFocus && this.callback.onFocus(this.timeStamp);\n\t}\n\n\tonPickerBlur(event, data, date) {\n\t\tthis.timeStamp = '';\n\t\t// date && (this.timeStamp = date.getTime());\n\t\tdate && (this.timeStamp = this.getUTCTimeStamp(data, date));\n\t\tthis.callback && this.callback.onBlur && this.callback.onBlur(this.timeStamp);\n\t}\n\n\tonChange(event, data, date, eventName) {\n\t\tthis.timeStamp = '';\n\t\t// this.timeStamp = date.getTime();\n\t\tdate && (this.timeStamp = this.getUTCTimeStamp(data, date));\n\t\tconst formattedDate = this.getValue();\n\n\t\tthis.dispatchEvent(eventName, new DateChangeEvent(date, formattedDate));\n\t\tthis.callback && this.callback.onChange && this.callback.onChange(this.timeStamp);\n\t}\n\n\tonPickerClose(event, data, date) {\n\t\tthis.timeStamp = '';\n\t\t// date && (this.timeStamp = date.getTime());\n\t\tdate && (this.timeStamp = this.getUTCTimeStamp(data, date));\n\t\tthis.callback && this.callback.onPickerClose && this.callback.onPickerClose(this.timeStamp);\n\t}\n\n\tgetValue() {\n\t\tif (!this.timeStamp) {\n\t\t\treturn '';\n\t\t}\n\t\tconst absoluteDate = decodeToAbsoluteDate(this.timeStamp);\n\t\treturn getDateStringToBeRendered(absoluteDate, this.locale, this.dateFormat);\n\t}\n\n\tgetDateFormat() {\n\t\treturn ZCOMPONENTS_DATE_FIELD_DATE_FORMATS[this.dateFormat];\n\t}\n\n\tgetDom() {\n\t\treturn this.parentElement;\n\t}\n\n\tfocus() {\n\t\tthis.instance.focus();\n\t}\n\n\tselectText() {\n\t\tswitch(this.dateFormat) {\n\t\t\tcase ADD_FIELD_SUPPORTED_DATE_FORMATS_2:\n\t\t\t\tthis.instance._selectText('d');  //NO I18N\n\t\t\t\tbreak;\n\n\t\t\tcase ADD_FIELD_SUPPORTED_DATE_FORMATS_1:\n\t\t\tcase ADD_FIELD_SUPPORTED_DATE_FORMATS_3:\n\t\t\t\tthis.instance._selectText('M');  //NO I18N\n\t\t\t\tbreak;\n\n\t\t\tcase ADD_FIELD_SUPPORTED_DATE_FORMATS_4:\n\t\t\t\tthis.instance._selectText('y');  //NO I18N\n\t\t\t\tbreak;\n\t\t\t\n\t\t\tdefault:\n\t\t\t\tthrow(UNKNOWN_DATE_FORMAT);\n\t\t}\n\t\t\n\t}\n\n\topen() {\n\t\tthis.instance.openPicker();\n\t}\n\n\tclose() {\n\t\tthis.instance.closePicker();\n\t}\n\n\tdestroy() {\n\t\tdocument.activeElement.blur(); // needed to trigger onPickerClose in grid edit\n\t\tthis.instance && this.instance.destroy();\n\t}\n\n\tsetValue(timeStamp) {\n\t\tthis.timeStamp = timeStamp;\n\t\tconst date = this.getValue();\n\t\tthis.instance.setValue(date);\n\t}\n\n\tgetUTCTimeStamp(data, date) {\n\t\treturn getUTCTimeStamp.call(this, data, date);\n\t}\n}\n\nclass DateChangeEvent {\n\tconstructor(date, formattedDate) {\n\t\tthis.date = date;\n\t\tthis.formattedDate = formattedDate;\n\t}\n}\n\nexport function getUTCTimeStamp(data, date) {\n\t// const currentClientTimeStamp = date.getTime();\n\t// const currentServerDate      = dateFormatter(currentClientTimeStamp, this.locale, DATE_FORMAT, this.timeZone);\n\t// const currentServerTime      = timeFormatter(currentClientTimeStamp, this.locale, TIME_FORMAT, HOUR_CYCLE, this.timeZone);\n\t// const currentServerTimeStamp = new Date(currentServerDate + ' ' + currentServerTime).getTime();\n\n\t// const diff         = currentClientTimeStamp - currentServerTimeStamp;\n\t// const newTimeStamp = currentClientTimeStamp + diff;\n\n\t// const exactDate      = dateFormatter(newTimeStamp, this.locale, DATE_FORMAT, INDIAN_TIME_ZONE);\n\t// const exactTime      = timeFormatter(newTimeStamp, this.locale, TIME_FORMAT, HOUR_CYCLE, INDIAN_TIME_ZONE);\n\t// const exactTimeStamp = new Date(exactDate + ' ' + exactTime).getTime();\n\t// return exactTimeStamp;\n\t\n\t// if(date) {\n\t// \treturn Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getUTCMilliseconds());\n\t// }\n\t// return '';\n\t\n\t// if(data) {\n\t// \treturn data.UTC;\n\t// }\n\t// return '';\n\n\n\t// working starts\n\tif(data.value instanceof Date) {\n\t\tconst date = data.value;\n\t\treturn encodeFromAbsoluteDate(date);\n\t}\n\n\tif(date instanceof Date) {\n\t\treturn encodeFromAbsoluteDate(date);\n\t}\n\n\treturn '';\n\t// working ends\n}\n","import { ADD_FIELD_SUPPORTED_DATE_FORMATS_1, ADD_FIELD_SUPPORTED_DATE_FORMATS_2, ADD_FIELD_SUPPORTED_DATE_FORMATS_3, ADD_FIELD_SUPPORTED_DATE_FORMATS_4 } from \"../Constants/AddFieldConstants.js\";\nimport { ZCOMPONENTS_DATE_FIELD_DATE_FORMATS, ZCOMPONENTS_DATE_FIELD_PLACEHOLDER_DATE_FORMATS, ZCOMPONENTS_DATE_FIELD_PLACEHOLDER_TIME_FORMATS, ZCOMPONENTS_DATE_FIELD_TIME_FORMATS, ZOHO_TABLES_TIME_FORMAT } from \"../Constants/ZohoComponentDateFieldConstants.js\";\nimport { decodeToAbsoluteDate, getDateStringToBeRendered, getTimeStringToBeRendered } from \"../DateComponentEncoderDecoder.ts\";\nimport { EventEmitter } from \"../Utility/EventEmitter.js\";\nimport { getUTCTimeStamp } from \"./DateField2.js\";\n// import { dateFormatterForDateField } from \"../Utility/DateFormatterUtilityForDateField.js\";\n// import { timeFormatterForDateField } from \"../Utility/TimeFormatterUtilityForDateField.js\";\n\nconst ZSGrid        = globalThis.ZSGrid;\nconst dateFormatter = ZSGrid.dateFormatter;\nconst timeFormatter = ZSGrid.timeFormatter;\n\nconst EVENTS = {\n\tDATE_CHANGE: 'datechange', //NO I18N\n\tDATE_SELECT: 'dateselect' //NO I18N\n};\nconst CONSTANTS = { CUSTOM: 'custom' }; //NO I18N\n\nexport class DateTimeField extends EventEmitter{\n\tconstructor(\n\t\tisReadOnly,\n\t\ttimeStamp,\n\t\tlocale,\n\t\ttimeZone,\n\t\tdateFormat,\n\t\ttimeFormat,\n\t\thourCycle,\n\t\tdelimiter,\n\t\tcallback\n\t) {\n\t\tsuper(null, [EVENTS.DATE_CHANGE, EVENTS.DATE_SELECT]);\n\t\tthis.parentElement = document.createElement('div');\n\t\tthis.isReadOnly = isReadOnly;\n\t\tthis.timeStamp = timeStamp;\n\t\tthis.locale = locale;\n\t\tthis.timeZone = timeZone;\n\t\tthis.dateFormat = dateFormat;\n\t\tthis.timeFormat = timeFormat;\n\t\tthis.hourCycle = hourCycle;\n\t\tthis.delimiter = delimiter;\n\t\tthis.callback = callback;\n\t\tthis.instance = null;\n\t\tthis.pickerOpened = false;\n\t}\n\n\tinit() {\n\n\t\tconst placeholderDateFormat = this.getPlaceholderDateFormat();\n\t\tconst placeholderTimeFormat = this.getPlaceholderTimeFormat();\n\n\t\tvar self = this;\n\t\tconst options = {\n\t\t\tforElement: this.parentElement,\n\t\t\tblur(event, data) {\n\t\t\t\t// console.log('blur');\n\t\t\t\t// self.close();\n\t\t\t\tself.onPickerBlur(event, data, data.dateValue);\n\t\t\t},\n\t\t\tfocus(event, data) {\n\t\t\t\t// console.log('focus');\n\t\t\t\tself.onPickerFocus(event, data, data.dateValue);\n\t\t\t},\n\t\t\tpickerbeforeopen( event, data ) {\n\t\t\t\tself.onPickerBeforeOpen(event, data, data.dateValue);\n\t\t\t},\n\t\t\tchange(event, data) {\n\t\t\t\t// console.log('change');\n\t\t\t\tself.onChange(event, data, data.dateValue, EVENTS.DATE_CHANGE);\n\t\t\t},\n\t\t\tpickerdateselect(event, data) {\n\t\t\t\t// console.log('pickerdateselect');\n\t\t\t\tself.onPickerDateSelect(event, data, data.value, EVENTS.DATE_SELECT);\n\t\t\t},\n\t\t\tpickertimechange(event, data) {\n\t\t\t\t// console.log('timechange');\n\t\t\t\tif(!data.value) {\n\t\t\t\t\tself.onPickerTimeSelectWithoutDate(event, data, data.selectedTime, EVENTS.DATE_CHANGE);\n\t\t\t\t} else {\n\t\t\t\t\tself.onPickerTimeSelectWithDate(event, data, data.value, EVENTS.DATE_CHANGE);\n\t\t\t\t}\n\t\t\t},\n\t\t\t// pickerclear: function(event) {\n\t\t\t// console.log('pickerclear');\n\t\t\t// },\n\t\t\tclear: function(event) {\n\t\t\t\tself.onChange(event, '', '', EVENTS.DATE_CHANGE);\n\t\t\t},\n\t\t\tpickeropen(event, data) {\n\t\t\t\t// console.log('pickeropen');\n\t\t\t\tself.pickerOpened = true;\n\t\t\t},\n\t\t\tpickerclose(event, data) {\n\t\t\t\t// console.log('pickerclose');\n\t\t\t\tself.pickerOpened = false;\n\t\t\t\tself.onPickerClose(event, data, data.dateValue);\n\t\t\t},\n\t\t\tvalue: this.getValue(),\n\t\t\tformat: this.getDateFormat(),\n\t\t\tlocale: this.locale,\n\t\t\ttimeZone: this.timeZone,\n\t\t\tpicker: true,\n\t\t\treadonly: this.isReadOnly,\n\n\t\t\tplaceholderType: CONSTANTS.CUSTOM,\n\t\t\tplaceholder: {\n\n\t\t\t\tdate: placeholderDateFormat.date,\n\t\t\t\tmonth: placeholderDateFormat.month,\n\t\t\t\tyear: placeholderDateFormat.year,\n\t\t\t\thour: placeholderTimeFormat.hour,\n\t\t\t\tminute: placeholderTimeFormat.minute,\n\t\t\t\tsecond: placeholderTimeFormat.second\n\t\t\t}\n\t\t};\n\n\t\tplaceholderTimeFormat.period && (options.placeholder.period = placeholderTimeFormat.period);\n\n\t\tthis.instance = globalThis.ZTComponents.datetimefield(this.parentElement, options);\n\t}\n\n\tisPickerOpened() {\n\t\treturn this.pickerOpened;\n\t}\n\n\ttogglePicker() {\n\t\tif (!this.isPickerOpened()) {\n\t\t\tthis.open();\n\t\t} else {\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\tgetPlaceholderDateFormat() {\n\t\treturn ZCOMPONENTS_DATE_FIELD_PLACEHOLDER_DATE_FORMATS[this.dateFormat];\n\t}\n\n\tgetPlaceholderTimeFormat() {\n\t\treturn ZCOMPONENTS_DATE_FIELD_PLACEHOLDER_TIME_FORMATS[this.hourCycle];\n\t}\n\n\tonPickerDateSelect(event, data, date, eventName) {\n\t\tthis.onChange(event, data, date, eventName);\n\t}\n\n\tonPickerBeforeOpen(event, data, date) {\n\t\tthis.timeStamp = '';\n\t\t// date && (this.timeStamp = date.getTime());\n\t\tdate && (this.timeStamp = this.getUTCTimeStamp(data, date));\n\t\tthis.callback && this.callback.onPickerBeforeOpen && this.callback.onPickerBeforeOpen(this.timeStamp);\n\t}\n\n\tonPickerTimeSelectWithDate(event, data, date, eventName) {\n\t\tthis.onChange(event, data, date, eventName);\n\t}\n\n\tonPickerTimeSelectWithoutDate(event, data, date, eventName) {\n\t\t// this.timeStamp = date.getTime();\n\t\tthis.timeStamp = this.getUTCTimeStamp(data, date);\n\t\tthis.setValue(this.timeStamp);\n\t\tthis.onChange(event, data, date, eventName);\n\t}\n\n\tonPickerFocus(event, data, date) {\n\t\tthis.timeStamp = '';\n\t\t// date && (this.timeStamp = date.getTime());\n\t\tdate && (this.timeStamp = this.getUTCTimeStamp(data, date));\n\t\tthis.callback && this.callback.onFocus && this.callback.onFocus(this.timeStamp);\n\t}\n\n\tonPickerBlur(event, data, date) {\n\t\tthis.timeStamp = '';\n\t\t// date && (this.timeStamp = date.getTime());\n\t\tdate && (this.timeStamp = this.getUTCTimeStamp(data, date));\n\t\tthis.callback && this.callback.onBlur && this.callback.onBlur(this.timeStamp);\n\t}\n\n\tonChange(event, data, date, eventName) {\n\t\t// this.timeStamp = date.getTime();\n\t\tthis.timeStamp = this.getUTCTimeStamp(data, date);\n\t\tconst formattedDate = this.getValue();\n\n\t\tthis.dispatchEvent(eventName, new DateChangeEvent(date, formattedDate));\n\t\tthis.callback && this.callback.onChange && this.callback.onChange(this.timeStamp);\n\t}\n\n\tonPickerClose(event, data, date) {\n\t\tthis.timeStamp = '';\n\t\t// date && (this.timeStamp = date.getTime());\n\t\tdate && (this.timeStamp = this.getUTCTimeStamp(data, date));\n\t\tthis.callback && this.callback.onPickerClose && this.callback.onPickerClose(this.timeStamp);\n\t}\n\n\tgetValue() {\n\t\tif (!this.timeStamp) {\n\t\t\treturn '';\n\t\t}\n\t\tconst absoluteDate = decodeToAbsoluteDate(this.timeStamp);\n\t\tconst date         = getDateStringToBeRendered(absoluteDate, this.locale, this.dateFormat);\n\t\tconst time         = getTimeStringToBeRendered(absoluteDate, this.locale, ZOHO_TABLES_TIME_FORMAT, this.hourCycle);\n\t\treturn date + this.delimiter + time;\n\t}\n\n\tgetDateFormat() {\n\t\tconst dateFormat = ZCOMPONENTS_DATE_FIELD_DATE_FORMATS[this.dateFormat];\n\t\tconst timeFormat = ZCOMPONENTS_DATE_FIELD_TIME_FORMATS[this.hourCycle];\n\t\treturn dateFormat + this.delimiter + timeFormat;\n\t}\n\n\tgetDom() {\n\t\treturn this.parentElement;\n\t}\n\n\tfocus() {\n\t\tthis.instance.focus();\n\t}\n\n\tselectText() {\n\t\tswitch(this.dateFormat) {\n\t\t\tcase ADD_FIELD_SUPPORTED_DATE_FORMATS_2:\n\t\t\t\tthis.instance._selectText('d');  //NO I18N\n\t\t\t\tbreak;\n\n\t\t\tcase ADD_FIELD_SUPPORTED_DATE_FORMATS_1:\n\t\t\tcase ADD_FIELD_SUPPORTED_DATE_FORMATS_3:\n\t\t\t\tthis.instance._selectText('M');  //NO I18N\n\t\t\t\tbreak;\n\n\t\t\tcase ADD_FIELD_SUPPORTED_DATE_FORMATS_4:\n\t\t\t\tthis.instance._selectText('y');  //NO I18N\n\t\t\t\tbreak;\n\t\t\t\n\t\t\tdefault:\n\t\t\t\tthrow(UNKNOWN_DATE_FORMAT);\n\t\t}\n\t\t\n\t}\n\n\topen() {\n\t\tthis.instance.openPicker();\n\t}\n\n\tclose() {\n\t\tthis.instance.closePicker();\n\t}\n\n\tdestroy() {\n\t\tdocument.activeElement.blur(); // needed to trigger onPickerClose in grid edit\n\t\tthis.instance && this.instance.destroy();\n\t}\n\n\tsetValue(timeStamp) {\n\t\tthis.timeStamp = timeStamp;\n\t\tconst date = this.getValue();\n\t\tthis.instance.setValue(date);\n\t}\n\n\tgetUTCTimeStamp(data, date) {\n\t\treturn getUTCTimeStamp.call(this, data, date);\n\t}\n}\n\nclass DateChangeEvent {\n\tconstructor(date, formattedDate) {\n\t\tthis.date = date;\n\t\tthis.formattedDate = formattedDate;\n\t}\n}\n","import { DateField } from \"../../Components/DateField2.js\";\nimport { DateTimeField } from \"../../Components/DateTimeField2.js\";\n\nexport const INVALID_NUMBER_STRING          = Table.Constants.JSMsg[\"tables.common.pleaseenteranumber\"];\nexport const INVALID_PERCENT_STRING         = Table.Constants.JSMsg[\"tables.common.pleaseenteranumber\"];\nexport const INVALID_CURRENCY_STRING        = Table.Constants.JSMsg[\"tables.common.pleaseenteranumber\"];\nexport const INVALID_EMAIL_STRING           = Table.Constants.JSMsg[\"UI.tables.formView.invalidEmailString\"];\nexport const INVALID_URL_STRING             = Table.Constants.JSMsg[\"UI.tables.common.invalidURLString\"];\nexport const INVALID_PHONE_NUMBER_STRING    = Table.Constants.JSMsg[\"UI.tables.formView.invalidPhoneNumberString\"];\nexport const MANDATORY_FIELDS_ERROR_MESSAGE = Table.Constants.JSMsg[\"UI.tables.formView.mandatoryFieldsMessage\"];\nexport const INVALID_DATA_ERROR_MESSAGE     = Table.Constants.JSMsg[\"UI.tables.formView.invalidDataErrorMessage\"];\n\nexport function getReadWriteDateFieldComponent(cellValue, locale, timeZone, dateFormat, timeFormat, hourCycle, delimiter, dateCallback, setDataCallback) {\n\tif (!hourCycle) {\n\t\treturn new DateField(false, cellValue, locale, timeZone, dateFormat, dateCallback, setDataCallback);\n\t}\n\treturn new DateTimeField(false, cellValue, locale, timeZone, dateFormat, timeFormat, hourCycle, delimiter, dateCallback, setDataCallback);\n}\n\nexport function convertToString(choicesOrder) {\n\tfor (let i = 0; i < choicesOrder.length; i++) {\n\t\tchoicesOrder[i] = choicesOrder[i].toString();\n\t}\n\treturn choicesOrder;\n}\n\nexport function getRadioButtonName() {\n\treturn Math.random().toString();\n}\n\nexport function alignDialogWithinViewport(dialog, buttonRect) {\n\tdialog.setLeftInPixels(10);\n\tdialog.setTopInPixels(10);\n\n\tconst dialogRect   = dialog.getBoundingClientRect();\n\tconst dialogHeight = dialogRect.height;\n\n\tconst referenceHeight = buttonRect.bottom + dialogHeight;\n\treferenceHeight >= globalThis.innerHeight ? dialog.setTopInPixels(buttonRect.top - dialogHeight) : dialog.setTopInPixels(buttonRect.bottom);\n\tdialog.setLeftInPixels(buttonRect.left);\n}\n","\nexport function searchCallback({ which }, FindAnItemComponent, searchTerm, valueHolder, findAnItemIDs, findAnItemOptions, resetCallback) {\n\tconst key = which;\n\tswitch (key) {\n\t\tcase 16:\n\t\t\tbreak;\n            \n\t\tdefault:\n\t\t\tif (searchTerm !== '') {\n\t\t\t\t\n\t\t\t\tconst searchTermLowerCase = searchTerm.toLowerCase();\n\n\t\t\t\tconst startsWithIDs     = [];\n\t\t\t\tconst includesIDs       = [];\n\t\t\t\tconst startsWithOptions = [];\n\t\t\t\tconst includesOptions   = [];\n\n\t\t\t\tfor (let i = 0; i < findAnItemIDs.length; i++) {\n\n\t\t\t\t\tconst ID     = findAnItemIDs[i];\n\t\t\t\t\tconst option = findAnItemOptions[ID];\n\t\t\t\t\tconst name   = option.getName().toLowerCase();\n\n\t\t\t\t\tif (name.startsWith(searchTermLowerCase)) {\n\t\t\t\t\t\tstartsWithIDs.push(ID);\n\t\t\t\t\t\tstartsWithOptions.push(option);\n\t\t\t\t\t} else if (name.includes(searchTermLowerCase)) {\n\t\t\t\t\t\tincludesIDs.push(ID);\n\t\t\t\t\t\tincludesOptions.push(option);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst concatIDs     = startsWithIDs.concat(includesIDs);\n\t\t\t\tconst concatOptions = startsWithOptions.concat(includesOptions);\n\n\t\t\t\tFindAnItemComponent.flush();\n\t\t\t\tFindAnItemComponent.setSearchData(concatIDs, concatOptions, valueHolder);\n\n\t\t\t\tconst option = FindAnItemComponent.getOption(0);\n\t\t\t\tFindAnItemComponent.setActiveOption(option);\n\n\t\t\t} else {\n\t\t\t\tresetCallback();\n\t\t\t}\n\t}\n}\n\nexport function collaboratorSearchCallback({ which }, FindAnItemComponent, searchTerm, valueHolder, findAnItemIDs, findAnItemOptions, isActiveUser, isInactiveUser, getActiveUserName, getInactiveUserName, getActiveUserEmailID, getInactiveUserEmailID, resetCallback) {\n\tconst key = which;\n\tswitch (key) {\n\t\tcase 16:\n\t\t\tbreak;\n            \n\t\tdefault:\n\t\t\tif (searchTerm !== '') {\n\t\t\t\t\n\t\t\t\tconst searchTermLowerCase = searchTerm.toLowerCase();\n\n\t\t\t\tconst startsWithIDs     = [];\n\t\t\t\tconst includesIDs       = [];\n\t\t\t\tconst startsWithOptions = [];\n\t\t\t\tconst includesOptions   = [];\n\n\t\t\t\tconst emailStartsWithIDs     = [];\n\t\t\t\tconst emailIncludesIDs       = [];\n\t\t\t\tconst emailStartsWithOptions = [];\n\t\t\t\tconst emailIncludesOptions   = [];\n\n\t\t\t\tfor (let i = 0; i < findAnItemIDs.length; i++) {\n\n\t\t\t\t\tconst ID     = findAnItemIDs[i];\n\t\t\t\t\tconst option = findAnItemOptions[ID];\n\t\t\t\t\t\n\t\t\t\t\tlet name, emailID;\n\t\t\t\t\tif(isActiveUser(ID)) {\n\t\t\t\t\t\tname    = getActiveUserName(ID);\n\t\t\t\t\t\temailID = getActiveUserEmailID(ID);\n\t\t\t\t\t} else if(isInactiveUser(ID)) {\n\t\t\t\t\t\tname    = getInactiveUserName(ID);\n\t\t\t\t\t\temailID = getInactiveUserEmailID(ID);\n\t\t\t\t\t}\n\n\t\t\t\t\tname    = name.toLowerCase();\n\t\t\t\t\temailID = emailID.toLowerCase();\n\n\t\t\t\t\tif (name.startsWith(searchTermLowerCase)) {\n\t\t\t\t\t\tstartsWithIDs.push(ID);\n\t\t\t\t\t\tstartsWithOptions.push(option);\n\t\t\t\t\t} else if (name.includes(searchTermLowerCase)) {\n\t\t\t\t\t\tincludesIDs.push(ID);\n\t\t\t\t\t\tincludesOptions.push(option);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (emailID.startsWith(searchTermLowerCase)) {\n\t\t\t\t\t\temailStartsWithIDs.push(ID);\n\t\t\t\t\t\temailStartsWithOptions.push(option);\n\t\t\t\t\t} else if (emailID.includes(searchTermLowerCase)) {\n\t\t\t\t\t\temailIncludesIDs.push(ID);\n\t\t\t\t\t\temailIncludesOptions.push(option);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst startsWithIDs_          = startsWithIDs.concat(includesIDs);\n\t\t\t\tconst startsWithOptions_      = startsWithOptions.concat(includesOptions);\n\t\t\t\tconst emailStartsWithIDs_     = emailStartsWithIDs.concat(emailIncludesIDs);\n\t\t\t\tconst emailStartsWithOptions_ = emailStartsWithOptions.concat(emailIncludesOptions);\n\n\t\t\t\temailStartsWithIDs_.forEach((ID, index) => {\n\t\t\t\t\tif(startsWithIDs.includes(ID)) {\n\t\t\t\t\t\temailStartsWithIDs_.splice(index, 1);\n\t\t\t\t\t\temailStartsWithOptions_.splice(index, 1);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tconst concatIDs     = startsWithIDs_.concat(emailStartsWithIDs_);\n\t\t\t\tconst concatOptions = startsWithOptions_.concat(emailStartsWithOptions_);\n\n\t\t\t\tFindAnItemComponent.flush();\n\t\t\t\tFindAnItemComponent.setSearchData(concatIDs, concatOptions, valueHolder);\n\n\t\t\t\tconst activeOption = FindAnItemComponent.getOption(0);\n\t\t\t\tFindAnItemComponent.setActiveOption(activeOption);\n\n\t\t\t} else {\n\t\t\t\tresetCallback();\n\t\t\t}\n\t}\n}\n\n","import { FIND_A_USER_PLACEHOLDER } from \"../../../Constants/PlaceholderConstants.ts\";\nimport { DialogStack } from \"../DialogStack.js\";\nimport { alignDialogWithinViewport } from \"../FormViewUtility.js\";\nimport { collaboratorSearchCallback } from \"./FormViewMultiSelectSearchCallback.js\";\n\nconst FindAnItemComponent = globalThis.FieldTypeComponents.FindAnItem.Component;\n\nexport function getCollaboratorMultiSelectPickListCallback() {\n\n\tconst callback = {\n\n\t\tonChange(MultiSelectComponent, ID, status) {\n\t\t\tconst ValueHolder = MultiSelectComponent.getData();\n\t\t\t!status ? ValueHolder.removeID(ID) : ValueHolder.addID(ID);\n\t\t\tconst selectedIDs = ValueHolder.getSelectedIDs();\n\t\t\tselectedIDs.length ? MultiSelectComponent.showClearSelection() : MultiSelectComponent.hideClearSelection();\n\t\t},\n\n\t\tclearSelection(MultiSelectComponent) {\n\t\t\tconst selectedIDs = [];\n\t\t\tconst ValueHolder = MultiSelectComponent.getData();\n\t\t\tValueHolder.setSelectedIDs(selectedIDs);\n\t\t\tMultiSelectComponent.setCollaboratorOptions(ValueHolder);\n\t\t}\n\n\t};\n\treturn callback;\n}\n\nexport function getCollaboratorMultiSelectDropDownCallback() {\n\tlet dialog;\n\tlet findAnItemComponent;\n\n\tconst optionCallback = {\n\n\t\tonChange(MultiSelectComponent, ID, status, MultiSelectOption) {\n\t\t\tconst ValueHolder = MultiSelectComponent.getData();\n\t\t\tif (status) {\n                MultiSelectOption.addActive();\n\t\t\t\tValueHolder.addID(ID);\n            } else {\n                MultiSelectOption.removeActive();\n\t\t\t\tValueHolder.removeID(ID);\n            }\n\t\t\tMultiSelectComponent.setData(ValueHolder);\n\t\t},\n\n\t\tonEnter(MultiSelectComponent, ID, status, MultiSelectOption) {\n\t\t\tthis.onChange(MultiSelectComponent, ID, status, MultiSelectOption);\n\t\t},\n\n\t\tonInput(ev, MultiSelectComponent, searchTerm) {\n\t\t\tconst ValueHolder       = MultiSelectComponent.getData();\n\t\t\tconst findAnItemIDs     = ValueHolder.getFindAnItemCheckboxOptionIDs();\n\t\t\tconst findAnItemOptions = ValueHolder.getCollaboratorOptions();\n\n            const collaboratorDS         = ValueHolder.getCollaboratorDS();\n            const isActiveUser           = userID => collaboratorDS.isActiveUser(userID);\n            const isInactiveUser         = userID => collaboratorDS.isInactiveUser(userID);\n            const getActiveUserName      = (activeUserID) => collaboratorDS.getActiveUserName(activeUserID);\n            const getInactiveUserName    = (inactiveUserID) => collaboratorDS.getInactiveUserName(inactiveUserID);\n            const getActiveUserEmailID   = (activeUserID) => collaboratorDS.getActiveUserEmailID(activeUserID);\n            const getInactiveUserEmailID = (inactiveUserID) => collaboratorDS.getInactiveUserEmailID(inactiveUserID);\n\t\t\t\n\t\t\tconst resetCallback = () => {\n\t\t\t\tfindAnItemComponent.reset();\n\t\t\t\tfindAnItemComponent.setCollaboratorMultiSelectOptions(ValueHolder);\n\t\t\t}\n\t\t\tcollaboratorSearchCallback(ev, findAnItemComponent, searchTerm, ValueHolder, findAnItemIDs, findAnItemOptions, isActiveUser, isInactiveUser, getActiveUserName, getInactiveUserName, getActiveUserEmailID, getInactiveUserEmailID, resetCallback);\n\t\t},\n\n\t\tonFocus() {\n\t\t},\n\n\t\tonBlur() {\n\t\t}\n\n\t};\n\n\tconst callback = {\n\n\t\tonDropDownClick(ev, MultiSelectComponent, button) {\n\t\t\tif (!dialog) {\n\t\t\t\tdialog              = DialogStack.createDialog();\n\t\t\t\tfindAnItemComponent = new FindAnItemComponent(MultiSelectComponent, optionCallback);\n\t\t\t\tconst dom           = findAnItemComponent.getDom();\n\t\t\t\tdialog.append(dom);\n\t\t\t\tdialog.setReferenceDom(button);\n\t\t\t\tfindAnItemComponent.setPlaceholder(FIND_A_USER_PLACEHOLDER);\n\n\t\t\t\tdialog.addEventListener('open', ev => {\n\t\t\t\t\tfindAnItemComponent.focus();\n\t\t\t\t});\n\n\t\t\t\tdialog.addEventListener('close', ev => {\n\t\t\t\t\tdocument.activeElement.blur();\n\t\t\t\t\tMultiSelectComponent.focus();\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (!dialog.isOpened()) {\n\t\t\t\tconst ValueHolder = MultiSelectComponent.getData();\n\t\t\t\tfindAnItemComponent.reset();\n\t\t\t\tfindAnItemComponent.setCollaboratorMultiSelectOptions(ValueHolder);\n\t\t\t\tDialogStack.openDialog(dialog);\n\t\t\t\talignDialogWithinViewport(dialog, button.getBoundingClientRect());\n\t\t\t} else {\n\t\t\t\tDialogStack.closeDialog(dialog);\n\t\t\t}\n\t\t},\n\n\t\tonCloseButtonClick(ev, MultiSelectComponent, ID) {\n\t\t\tconst ValueHolder = MultiSelectComponent.getData();\n\t\t\tValueHolder.removeID(ID);\n\t\t\tMultiSelectComponent.setData(ValueHolder);\n\t\t}\n\n\t};\n\treturn callback;\n}\n","import { FIND_A_USER_PLACEHOLDER } from \"../../../Constants/PlaceholderConstants.ts\";\nimport { DialogStack } from \"../DialogStack.js\";\nimport { alignDialogWithinViewport } from \"../FormViewUtility.js\";\nimport { collaboratorSearchCallback } from \"./FormViewMultiSelectSearchCallback.js\";\n\nconst FindAnItemComponent = globalThis.FieldTypeComponents.FindAnItem.Component;\n\nexport function getCollaboratorSingleSelectPickListCallback() {\n\n\tconst callback = {\n\n\t\tonChange(SingleSelectComponent, ID, status, SingleSelectOption) {\n\t\t\tSingleSelectComponent.setSelectedID(ID);\n\t\t\tconst ValueHolder = SingleSelectComponent.getData();\n\n\t\t\tconst isNoOptionChosen = !ValueHolder.toString();\n\t\t\tisNoOptionChosen ? SingleSelectComponent.hideClearSelection() : SingleSelectComponent.showClearSelection();\n\t\t},\n\n\t\tclearSelection(SingleSelectComponent) {\n\t\t\tSingleSelectComponent.setSelectedID(null);\n\t\t\tconst ValueHolder = SingleSelectComponent.getData();\n\t\t\tSingleSelectComponent.setCollaboratorOptions(ValueHolder); \n\t\t}\n\n\t};\n\treturn callback;\n}\n\nexport function getCollaboratorSingleSelectDropDownCallback() {\n\tlet dialog;\n\tlet findAnItemComponent;\n\n\tconst optionCallback = {\n\n\t\tonClick(SingleSelectComponent, ID) {\n\t\t\tconst ValueHolder = SingleSelectComponent.getData();\n\t\t\tValueHolder.replaceID(ID);\n\t\t\tSingleSelectComponent.setData(ValueHolder);\n\t\t\tDialogStack.closeDialog(dialog);\n\t\t},\n\n\t\tonEnter(SingleSelectComponent, ID) {\n\t\t\tthis.onClick(SingleSelectComponent, ID);\n\t\t},\n\n\t\tonInput(ev, SingleSelectComponent, searchTerm) {\n            const ValueHolder       = SingleSelectComponent.getData();\n\t\t\tconst findAnItemIDs     = ValueHolder.getFindAnItemIDs();\n\t\t\tconst findAnItemOptions = ValueHolder.getCollaboratorOptions();\n\n            const collaboratorDS         = ValueHolder.getCollaboratorDS();\n            const isActiveUser           = userID => collaboratorDS.isActiveUser(userID);\n            const isInactiveUser         = userID => collaboratorDS.isInactiveUser(userID);\n            const getActiveUserName      = (activeUserID) => collaboratorDS.getActiveUserName(activeUserID);\n            const getInactiveUserName    = (inactiveUserID) => collaboratorDS.getInactiveUserName(inactiveUserID);\n            const getActiveUserEmailID   = (activeUserID) => collaboratorDS.getActiveUserEmailID(activeUserID);\n            const getInactiveUserEmailID = (inactiveUserID) => collaboratorDS.getInactiveUserEmailID(inactiveUserID);\n\t\t\t\n\t\t\tconst resetCallback = () => {\n\t\t\t\tfindAnItemComponent.reset();\n\t\t\t\tfindAnItemComponent.addBlankDom();\n\t\t\t\tfindAnItemComponent.setCollaboratorSingleSelectOptions(ValueHolder);\n\t\t\t}\n\t\t\tcollaboratorSearchCallback(ev, findAnItemComponent, searchTerm, ValueHolder, findAnItemIDs, findAnItemOptions, isActiveUser, isInactiveUser, getActiveUserName, getInactiveUserName, getActiveUserEmailID, getInactiveUserEmailID, resetCallback);\n\t\t},\n\n\t\tonFocus() {\n\t\t},\n\n\t\tonBlur() {\n\t\t},\n\n\t\tonBlankDomClick(SingleSelectComponent) {\n\t\t\tconst ValueHolder = SingleSelectComponent.getData();\n\t\t\tValueHolder.replaceID(null);\n\t\t\tSingleSelectComponent.setData(ValueHolder);\n\t\t\tDialogStack.closeDialog(dialog);\n\t\t}\n\t};\n\n\tconst callback = {\n\n\t\tonDropDownClick(SingleSelectComponent, button) {\n\t\t\tif (!dialog) {\n\t\t\t\tdialog              = DialogStack.createDialog();\n\t\t\t\tfindAnItemComponent = new FindAnItemComponent(SingleSelectComponent, optionCallback);\n\t\t\t\tconst dom           = findAnItemComponent.getDom();\n\t\t\t\tdialog.append(dom);\n\t\t\t\tdialog.setReferenceDom(button);\n\t\t\t\tfindAnItemComponent.setPlaceholder(FIND_A_USER_PLACEHOLDER);\n\n\t\t\t\tdialog.addEventListener('open', ev => {\n\t\t\t\t\tfindAnItemComponent.focus();\n\t\t\t\t});\n\n\t\t\t\tdialog.addEventListener('close', ev => {\n\t\t\t\t\tdocument.activeElement.blur();\n\t\t\t\t\tSingleSelectComponent.focus();\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (!dialog.isOpened()) {\n\t\t\t\tconst ValueHolder = SingleSelectComponent.getData();\n\t\t\t\tfindAnItemComponent.reset();\n\t\t\t\tfindAnItemComponent.addBlankDom();\n\t\t\t\tfindAnItemComponent.setCollaboratorSingleSelectOptions(ValueHolder);\n\t\t\t\tDialogStack.openDialog(dialog);\n\t\t\t\talignDialogWithinViewport(dialog, button.getBoundingClientRect());\n\t\t\t} else {\n\t\t\t\tDialogStack.closeDialog(dialog);\n\t\t\t}\n\t\t}\n\t};\n\treturn callback;\n}\n","const VALID_EMAIL_ID_REGEX     = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\nconst VALID_URL_REGEX          = /\\b(?:(?:https?|ftp|file):\\/\\/|www\\.|ftp\\.)?(?:[-a-zA-Z0-9@:%_\\+~#=]{2,256})(?:\\.[a-z]{2,6})(?:[-a-zA-Z0-9@:%_\\+.~#?&//=]*)/i;\nconst VALID_PHONE_NUMBER_REGEX = /^(\\s)*(\\+)?(\\(\\d+\\)\\s)?((\\d)+[\\s\\-\\.\\(\\)]*(\\d))+(\\s)*$/;\nconst NUMBER_FIELD_REGEX       = /^[0-9\\.\\,\\-]+$/;\nconst PERCENT_FIELD_REGEX      = /^[0-9\\.\\,\\%\\-]+$/;\nconst CURRENCY_FIELD_REGEX     = /^[0-9\\.\\,\\$\\₣\\€\\₹\\£\\￡\\¥\\￥\\R\\-]+$/;\nconst PHONE_NUMBER_FIELD_REGEX = /^[0-9\\.\\- \\(\\)]+$/;\n\nconst REPLACE_REGEX_FOR_NUMBER_FIELD       = /\\,/g;                      // changes should be updated here if any changes made in NUMBER_FIELD_REGEX\nconst REPLACE_REGEX_FOR_PERCENT_FIELD      = /[\\,\\%]/g;                  // changes should be updated here if any changes made in PERCENT_FIELD_REGEX\nconst REPLACE_REGEX_FOR_CURRENCY_FIELD     = /[\\,\\$\\₣\\€\\₹\\£\\￡\\¥\\￥\\R]/g; // changes should be updated here if any changes made in CURRENCY_FIELD_REGEX\nconst REPLACE_REGEX_FOR_PHONE_NUMBER_FIELD = /[\\.\\- \\(\\)]/g;             // changes should be updated here if any changes made in PHONE_NUMBER_FIELD_REGEX\n\nconst IP_ADDRESS_REGEX = /\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}/gi;\nconst MINUS            = '-';\nconst DOT              = '.';\n\nexport function isValidEmailID(emailID) {\n    return VALID_EMAIL_ID_REGEX.test(emailID);\n}\n\nexport function isValidURL(URL) {\n    return VALID_URL_REGEX.test(URL);\n}\n\nexport function isValidPhoneNumber(phoneNumber) {\n    return VALID_PHONE_NUMBER_REGEX.test(phoneNumber);\n}\n\nexport function isValidNumberFieldData(data) {\n    return NUMBER_FIELD_REGEX.test(data);\n}\n\nexport function isValidPercentFieldData(data) {\n    return PERCENT_FIELD_REGEX.test(data);\n}\n\nexport function isValidCurrencyFieldData(data) {\n    return CURRENCY_FIELD_REGEX.test(data);\n}\n\nexport function isValidPhoneNumberFieldData(data) {\n    return PHONE_NUMBER_FIELD_REGEX.test(data);\n}\n\nexport function getActualDataForNumberField(data) {\n    const newData                   = data.replaceAll(REPLACE_REGEX_FOR_NUMBER_FIELD, '');\n    const valueAfterMinusSignFilter = applyFilterForMinusSign(newData);\n    return applyFilterForDot(valueAfterMinusSignFilter);\n}\n\nexport function getActualDataForPercentField(data) {\n    const newData                   = data.replaceAll(REPLACE_REGEX_FOR_PERCENT_FIELD, '');\n    const valueAfterMinusSignFilter = applyFilterForMinusSign(newData);\n    return applyFilterForDot(valueAfterMinusSignFilter);\n}\n\nexport function getActualDataForCurrencyField(data) {\n    const newData                   = data.replaceAll(REPLACE_REGEX_FOR_CURRENCY_FIELD, '');\n    const valueAfterMinusSignFilter = applyFilterForMinusSign(newData);\n    return applyFilterForDot(valueAfterMinusSignFilter);   \n}\n\nexport function getActualDataForPhoneNumberField(data) {\n    return data.replaceAll(REPLACE_REGEX_FOR_PHONE_NUMBER_FIELD, '');\n}\n\nfunction applyFilterForMinusSign(data) {\n    if(data === MINUS) {\n        return '';\n    }\n\n    // positive data\n    const minusIndex = data.indexOf(MINUS);\n    if(minusIndex <= -1) {\n        return data;\n    }\n\n    // only one minus should be present and it should be in 0th index\n    const minusLastIndex = data.lastIndexOf(MINUS);\n    if(minusIndex === minusLastIndex && minusIndex === 0) {\n        return data;\n    }\n\n    return '';\n}\n\nfunction applyFilterForDot(data) {\n    const dotIndex = data.indexOf(DOT);\n    if(dotIndex <= -1) {\n        return data;\n    }\n\n    // only one dot is present\n    const dotLastIndex = data.lastIndexOf(DOT);\n    if(dotIndex === dotLastIndex) {\n        return data;\n    }\n\n    // more than one dot is present\n    const iterator = data.matchAll(/\\./g);\n    let count = 0;\n    while(true) {\n        const iteratorNext = iterator.next();\n        const secondIndex  = iteratorNext.value.index;\n        ++count;\n        if(count === 2) {\n            const substringedData = data.substring(0, secondIndex);\n            return substringedData;\n        }\n    }\n}\n\nexport function getTextAndLinkFromTextFieldData(textFieldData) {\n    const totalMatches = [...textFieldData.matchAll(/\\b((\\d{10})|(\\d{3}\\-\\d{3}\\-\\d{4})|(\\d{3}\\s\\d{3}\\-\\d{4})|(\\d{3}\\s\\d{3}\\s\\d{4})|(\\d{3}\\.\\d{3}\\.\\d{4})|(\\(\\d{3}\\)\\s\\d{3}\\-\\d{4}))\\b|(\\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}\\b)|((((ht)(tps):\\/\\/|(ht)(tp):\\/\\/|file:\\/\\/\\/|mailto:|tel:|ftp:\\/\\/)(?:[\\-;:&=\\+\\$,\\w]+@)?[A-Za-z0-9:\\.\\-]+|(?:www\\.|[\\-;:&=\\+\\$,\\w]+@)[A-Za-z0-9\\.\\-]+)((?:\\/[\\+~%\\/\\.\\w\\-_]*)?\\??(?:[\\-\\+=&;%@\\.\\w_]*)#?(?:[\\.\\!\\/\\\\\\w\\-]*))?)|(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})|([\\w\\-]{3,}\\.[\\w]{2,}(\\.[\\w]+)?)/gi)];  // any changes made here should be reflected in the below three regex too.. Also check once the regexes present in the beginning of this file (first line)\n\n    if(totalMatches.length) {\n        let rightString         = textFieldData;\n        let valueToBeSubtracted = 0;\n\n        const resultArray = [];\n        totalMatches.forEach(matchValueArray => {\n            const matchValue        = matchValueArray[0];\n            const matchIndex        = matchValueArray.index;\n            const valueForComparing = matchIndex - valueToBeSubtracted;\n    \n            let leftString = rightString.substring(0, valueForComparing);\n            resultArray.push({text: leftString});\n\n            const isPhoneNumber = matchValue.match(/\\b((\\d{10})|(\\d{3}\\-\\d{3}\\-\\d{4})|(\\d{3}\\s\\d{3}\\-\\d{4})|(\\d{3}\\s\\d{3}\\s\\d{4})|(\\d{3}\\.\\d{3}\\.\\d{4})|(\\(\\d{3}\\)\\s\\d{3}\\-\\d{4}))\\b/gi);\n            const isEmailID     = matchValue.match(/(\\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}\\b)/gi);\n            const isURL         = matchValue.match(/((((ht)(tps):\\/\\/|(ht)(tp):\\/\\/|file:\\/\\/\\/|mailto:|tel:|ftp:\\/\\/)(?:[\\-;:&=\\+\\$,\\w]+@)?[A-Za-z0-9:\\.\\-]+|(?:www\\.|[\\-;:&=\\+\\$,\\w]+@)[A-Za-z0-9\\.\\-]+)((?:\\/[\\+~%\\/\\.\\w\\-_]*)?\\??(?:[\\-\\+=&;%@\\.\\w_]*)#?(?:[\\.\\!\\/\\\\\\w\\-]*))?)|(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})|([\\w\\-]{3,}\\.[\\w]{2,}(\\.[\\w]+)?)/gi);\n\n            if(isPhoneNumber) {\n                resultArray.push({tel: matchValue});\n            }else if(isEmailID) {\n                resultArray.push({email: matchValue});\n            }else if(isURL) {\n                // check matchValue variable is an IP address as well as decimal numbers should not come as link\n                const hasOnlyNumbersAndDots = hasStringContainsOnlyNumbersAndDots(matchValue);\n                if(hasOnlyNumbersAndDots) {\n                    const isIPAddress = matchValue.match(IP_ADDRESS_REGEX);\n                    if(isIPAddress) {\n                        leftString = ' ';\n                    } else { // it is a decimal number.. just add some character other than space to leftString variable to make it as text..\n                        leftString = 'a';  // No I18N\n                    }\n                }\n\n                // eg: \"https://www.smartsuite.com/features/calendar-view\" it should be a link\n                if(!leftString) {\n                    resultArray.push({url: matchValue});\n                }else { // eg: \"dmfgndfnhttps://www.smartsuite.com/features/calendar-view\" it should not be a link\n                    const isSpaceCharacter = leftString[leftString.length - 1].match(/\\s/gi);\n                    isSpaceCharacter ? resultArray.push({url: matchValue}) : resultArray.push({text: matchValue});\n                }\n            }\n\n            const matchValueLength = matchValue.length;\n            rightString            = rightString.substring(valueForComparing + matchValueLength, rightString.length);\n            valueToBeSubtracted    = matchIndex + matchValueLength;\n        });\n        resultArray.push({text: rightString});\n        return resultArray;\n    }\n\n    return [{text: textFieldData}];\n}\n\nfunction hasStringContainsOnlyNumbersAndDots(inputString) {\n    const onlyNumbersString = inputString.replaceAll('\\.', '');\n    const emptyString       = onlyNumbersString.replaceAll(/\\d/g, '');\n    return emptyString === '';\n}\n","import { isValidCurrencyFieldData } from \"../../../Constants/RegexValidator.js\";\n\nexport function getCurrencyCallback(schemaUI) {\n\tconst callback = {\n\n\t\tonClick() {\n\t\t},\n\n\t\tonInput(ValueHolder) {\n\t\t},\n\n\t\tonFocus(ValueHolder) {\n\t\t},\n\n\t\tonBlur(ValueHolder) {\n\t\t\tconst value = ValueHolder.toString();\n\t\t\tif(!value) {\n\t\t\t\tschemaUI.hideErrorMessage();\n\t\t\t\tschemaUI.validDataEntered();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isValidID = isValidCurrencyFieldData(value);\n\t\t\tif(!isValidID) {\n\t\t\t\tschemaUI.showErrorMessage();\n\t\t\t\tschemaUI.invalidDataEntered();\n\t\t\t} else {\n\t\t\t\tschemaUI.hideErrorMessage();\n\t\t\t\tschemaUI.validDataEntered();\n\t\t\t}\n\t\t}\n\n\t};\n\treturn callback;\n}\n","\nexport function getDateCallback(formViewSchema) {\n\tvar callback = {\n\n\t\tonChange(timeStamp) {\n\t\t\tconst DateComponent = formViewSchema.getValue();\n\t\t\tconst ValueHolder   = DateComponent.getData();\n\t\t\tValueHolder.setTimeStamp(timeStamp.toString());\n\t\t\tDateComponent.setData(ValueHolder);\n\t\t}\n\n\t};\n\treturn callback;\n}\n","\nimport { isValidEmailID } from \"../../../Constants/RegexValidator.js\";\n\nexport function getEmailCallback(schemaUI) {\n\tconst callback = {\n\n\t\tonClick() {\n\t\t},\n\n\t\tonInput(ValueHolder) {\n\t\t},\n\n\t\tonFocus(ValueHolder) {\n\t\t},\n\n\t\tonBlur(ValueHolder) {\n\t\t\tconst value = ValueHolder.toString();\n\t\t\tif(!value) {\n\t\t\t\tschemaUI.hideErrorMessage();\n\t\t\t\tschemaUI.validDataEntered();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isValidID = isValidEmailID(value);\n\t\t\tif(!isValidID) {\n\t\t\t\tschemaUI.showErrorMessage();\n\t\t\t\tschemaUI.invalidDataEntered();\n\t\t\t} else {\n\t\t\t\tschemaUI.hideErrorMessage();\n\t\t\t\tschemaUI.validDataEntered();\n\t\t\t}\n\t\t}\n\n\t};\n\treturn callback;\n}\n","import { getTemplate } from \"../../TemplatesForAll.js\";\nimport { IUpgradeConfirmationDialogEventHandler } from \"./IUpgradeConfirmationDialogEventHandler\";\n\nexport class UpgradeConfirmationDialog {\n\n\tprivate readonly pricingConfirmationDialog             : HTMLDivElement\n\tprivate readonly pricingConfirmationDialogMessage      : HTMLSpanElement\n\tprivate readonly pricingConfirmationDialogUpgradeButton: HTMLButtonElement\n\tprivate readonly pricingConfirmationDialogCancelButton : HTMLButtonElement\n\n\tprivate readonly upgradeConfirmationDialogEventHandler: IUpgradeConfirmationDialogEventHandler\n\n\n\tconstructor(upgradeConfirmationDialogEventHandler: IUpgradeConfirmationDialogEventHandler) {\n\n\t\tconst pricingConfirmationDialogTemplate     = getTemplate('pricingConfirmationDialogTemplate') as HTMLTemplateElement\n\n\t\tthis.pricingConfirmationDialog              = pricingConfirmationDialogTemplate.querySelector('.pricingConfirmationDialog') as HTMLDivElement\n\t\tthis.pricingConfirmationDialogMessage       = pricingConfirmationDialogTemplate.querySelector('.pricingConfirmationDialogMessage') as HTMLSpanElement\n\t\tthis.pricingConfirmationDialogUpgradeButton = pricingConfirmationDialogTemplate.querySelector('.pricingConfirmationDialogUpgradeButton') as HTMLButtonElement\n\t\tthis.pricingConfirmationDialogCancelButton  = pricingConfirmationDialogTemplate.querySelector('.pricingConfirmationDialogCancelButton') as HTMLButtonElement\n\n\t\tthis.upgradeConfirmationDialogEventHandler  = upgradeConfirmationDialogEventHandler\n\n\t\tthis.addEventListener()\n\t}\n\n\tprivate addEventListener() {\n\t\tthis.pricingConfirmationDialogUpgradeButton.addEventListener('click', (ev) => { this.upgradeConfirmationDialogEventHandler.onUpgradeButtonClick() })\n\t\tthis.pricingConfirmationDialogCancelButton .addEventListener('click', (ev) => { this.upgradeConfirmationDialogEventHandler.onCancelButtonClick() })\n\t}\n\n\tappendTo(parent: HTMLElement) {\n\t\tparent.appendChild(this.pricingConfirmationDialog)\n\t}\n\n\tsetContent(content: string | HTMLElement) {\n\t\tthis.pricingConfirmationDialogMessage.textContent = \"\"\n\t\ttypeof(content) === \"string\" ?  this.pricingConfirmationDialogMessage.textContent = content : this.pricingConfirmationDialogMessage.append(content)\n\t}\n\n\tfocus(){\n\t\tthis.pricingConfirmationDialogUpgradeButton.focus()\n\t}\n\n\tgetDom() {\n\t\treturn this.pricingConfirmationDialog\n\t}\n}","export function getTemplate(templateID) {\n    let template = document.getElementById(templateID);\n    template     = template.content.cloneNode(true);\n    return template;\n}\n","import { getTemplate } from \"../../../Utility/GetTemplate.js\"\n\nexport class DialogModal {\n\tprivate readonly dialogModal: HTMLDialogElement\n\n\tconstructor() {\n\t\tconst dialogModalTemplate = getTemplate('dialogModalTemplate') as HTMLTemplateElement\n\t\tthis.dialogModal          = dialogModalTemplate.querySelector('#dialogModal') as HTMLDialogElement\n\t}\n\n\topen() {\n\t\tdocument.body.appendChild(this.dialogModal)\n\t\tthis.dialogModal.showModal()\n\t}\n\n\tclose() {\n\t\tthis.dialogModal.close()\n\t}\n\n\tappendIntoDialog(dom: HTMLElement) {\n\t\tthis.dialogModal.textContent = \"\"\n\t\tthis.dialogModal.appendChild(dom)\n\t}\n\t\n\taddCSSClass(className: string) {\n\t\tthis.dialogModal.classList.add(className);\n\t}\n\n\tremoveCSSClass(className: string) {\n\t\tthis.dialogModal.classList.remove(className);\n\t}\n\n}\n","import { getTemplate } from \"../../../TemplatesForAll.js\";\nimport { IUpgradeConfirmationDialogEventHandler } from \"../../Dialog/IUpgradeConfirmationDialogEventHandler\";\nimport { UpgradeConfirmationDialog } from \"../../Dialog/UpgradeConfirmationDialog\";\nimport { DialogModal } from \"../../DialogModal/Implementation/DialogModal\";\n\nexport class PricingUpgradeButton {\n\n\tprivate readonly pricingUpgradeButton       : HTMLButtonElement\n\tprivate readonly pricingUpgradeButtonContent: HTMLSpanElement\n\tprivate readonly pricingModalDialog         : DialogModal\n\tprivate readonly pricingConfrimationDialog  : UpgradeConfirmationDialog\n\tprivate isDialogOpen               : boolean\n\n\tconstructor() {\n\n\t\tconst pricingUpgradeButtonTemplate    = getTemplate('pricingUpgradeButtonTemplate') as HTMLTemplateElement\t\t\n\t\tconst pricingConfrimationDialogEventHandler = new PricingUpgradeButton.PricingCrownIconAsUpdateConfirmationDialogEventHandler(this)\n\n        this.pricingUpgradeButton             = pricingUpgradeButtonTemplate.querySelector('.pricingUpgradeButton') as HTMLButtonElement\n        this.pricingUpgradeButtonContent      = pricingUpgradeButtonTemplate.querySelector('.pricingUpgradeButtonContent') as HTMLSpanElement\n\t\t\n\t\tthis.pricingModalDialog               = new DialogModal()\n\t\tthis.pricingConfrimationDialog        = new UpgradeConfirmationDialog(pricingConfrimationDialogEventHandler)\n\n\t\tthis.isDialogOpen                     = false\n\n\t\tthis.init()\n\t\tthis.addEventListener()\n\n\t}\n\n\tprivate init() {\n\t\tconst pricingConfirmationDialogDom = this.pricingConfrimationDialog.getDom()\n\t\tthis.pricingModalDialog.appendIntoDialog(pricingConfirmationDialogDom)\n\t}\n\n\tprivate addEventListener(): void {\n\t\tthis.pricingUpgradeButton.addEventListener('click', (ev) => {\n\t\t\tthis.pricingModalDialog.open()\n\t\t\tthis.isDialogOpen = true;\n\t\t\tthis.pricingConfrimationDialog.focus()\n\t\t\tev.stopImmediatePropagation()\n\t\t})\n\t}\n\taddMouseOverEventListener(callback){\n\t\tthis.pricingUpgradeButton.addEventListener('mouseover', callback);\n\t}\n\tremoveMouseOverEventListener(callback){\n\t\tthis.pricingUpgradeButton.removeEventListener('mouseover',  callback);\n\t}\n\tgetIsDialogOpen(): boolean {\n\t\treturn this.isDialogOpen;\n\t}\n\taddCSSClass(className: string) {\n\t\tthis.pricingUpgradeButton.classList.add(className)\n\t}\n\n\tremoveCSSClass(className: string) {\n\t\tthis.pricingUpgradeButton.classList.remove(className)\n\t}\n\n\tgetButton() : HTMLButtonElement {\n\t\treturn this.pricingUpgradeButton;\n\t}\n\n\tsetTitle(content : string) {\n\t\tthis.pricingUpgradeButton.title = content;\n\t}\n\n    setButtonContent(content: string) {\n        this.pricingUpgradeButtonContent.textContent = content\n    }\n\n\tappendBefore(sibiling: HTMLElement) {\n\t\tconst parent = sibiling.parentElement\n\t\tif (parent) { parent.insertBefore(this.pricingUpgradeButton, sibiling) }\n\t}\n\n\tappendTo(parent: HTMLElement): void {\n\t\tparent.appendChild(this.pricingUpgradeButton)\n\t}\n\n\tappendAfter(sibiling: HTMLElement): void {\n\t\tconst parent = sibiling.parentElement\n\t\tif (parent) { parent.insertBefore(this.pricingUpgradeButton, sibiling.nextElementSibling) }\n\t}\n\n\tremove(): void {\n\t\tthis.pricingUpgradeButton.remove()\n\t}\n\n\tprivate upgradeDialogUpgradeButtonClick() {\n\t\tconst portalID           = Table.State.getPortalID()                                                                             //TODO: Get from state, this hotfix is due to listingPage\n\t\tconst serviceID          = Table.Constants.Store.ServiceID\n\t\tconst redirectionURL     = Table.Constants.Store.RedirectionURL\n\t\tconst planRedirectionURL = Table.Constants.Store.PlanRedirectionURL\n\t\tconst isPortalOwner      = Table.State.getIsPortalOwner()\n\t\tconst isZohoOnePortal\t = Table.State.getIsZohoOnePortal();\n\t\tconst zohoOneRedirectionURL = Table.State.getZohoOneSubscriptionRedirectionURL();\n\t\tconst url                = isZohoOnePortal ? zohoOneRedirectionURL : isPortalOwner ? `${redirectionURL}?serviceId=${serviceID}&customId=${portalID}` : planRedirectionURL\n\t\topen(url,'_blank')\n\t\tthis.pricingModalDialog.close()\n\t}\n\n\tprivate upgradeDialogCancelButtonClick() {\n\t\tthis.pricingModalDialog.close()\n\t\tthis.isDialogOpen = false\n\t}\n\n\tstatic PricingCrownIconAsUpdateConfirmationDialogEventHandler = class implements IUpgradeConfirmationDialogEventHandler {\n\n\t\tprivate readonly context: PricingUpgradeButton\n\n\t\tconstructor(context: PricingUpgradeButton) {\n\t\t\tthis.context = context\n\t\t}\n\n\t\tonUpgradeButtonClick() {\n\t\t\tthis.context.upgradeDialogUpgradeButtonClick()\n\t\t}\n\n\t\tonCancelButtonClick() {\n\t\t\tthis.context.upgradeDialogCancelButtonClick()\n\t\t}\n\t}\n\n}\n","import { getTemplate } from \"../../Utility/GetTemplate.js\";\n\nclass ToastersContainerClass {\n    constructor() {\n        const template             = getTemplate(\"toasterMsgContainer_template\"); // No I18N\n        this.toasterMsgContainer = template.querySelector(\"#toasterMsgContainer\");  // No I18N\n        this.toastersMap         = new Map(); // Map()<toastId, new Toaster()>;\n        this.isOpened            = false;\n        this.toastCount          = 0;\n    }\n\n    append(toasterDom) {\n\t\tthis.toasterMsgContainer.appendChild(toasterDom);\n\t}\n\n    prepend(toasterDom) {\n\t\tthis.toasterMsgContainer.prepend(toasterDom);\n\t}\n\n    getDom() {\n\t\treturn this.toasterMsgContainer;\n\t}\n\n    show() {\n\t\tthis.isOpened = true;\n\t\tdocument.body.append(this.toasterMsgContainer);\n\t}\n\n    remove() {\n\t\tthis.isOpened = false;\n\t\tthis.toasterMsgContainer.remove();\n\t}\n\n    addToasterToMap(toaster) {\n\t\tthis.toastersMap.has(this.toastCount) && this.toastersMap.get(this.toastCount).remove();\n\t\tconst self = this;\n\t\tconst timeOut = setTimeout(() => {\n\t\t\tself.append(toaster.getDom());\n\t\t\tself.toastCount++;\n\t\t\ttoaster.setToasterId(self.toastCount);\n\t\t\tself.toastersMap.set(self.toastCount, toaster);\n\t\t\t!self.isOpened && self.show();\n\t\t\tclearTimeout(timeOut);\n\t\t}, 300);\n\t}\n\n    deleteToasterFromMap(toastId) {\n\t\tthis.toastersMap.delete(toastId);\n\t\tif(this.toastersMap.size === 0){\n\t\t\tthis.remove();\n\t\t}\n\t}\n\n    getToasters() {\n\t\treturn this.toastersMap;\n\t}\n}\n\nexport const ToastersMsgContainer = new ToastersContainerClass();\n","import { ToastersMsgContainer as ToastersContainer } from \"../Components/Toaster/ToastersContainer.js\";\nimport { getTemplate } from \"../TemplatesForAll.js\";\n\nexport class ErrorDomToaster{\n\tprivate readonly dom : HTMLElement\n\tprivate readonly contentDom : HTMLElement\n\tprivate readonly closeButton : HTMLElement\n\tprivate toastId : Number | null; \n\n    constructor(dom: HTMLElement) {\n        const template: HTMLTemplateElement = getTemplate(\"errorToaster_template\") as HTMLTemplateElement; // No I18N\n\t\tthis.dom        = template.querySelector(\"#toaster_wrapper\") as HTMLElement;  // No I18N\n        this.contentDom = this.dom.querySelector('#msgContainer') as HTMLElement;  // No I18N\n\t\tthis.closeButton = this.dom.querySelector('#closeBtn') as HTMLElement;  // No I18N\n\n        this.toastId   = null;\n\n        this.contentDom.append(dom);\n\n\t\tthis.addListener()\n    }\n\n    getDom() {\n\t\treturn this.dom;\n\t}\n    \n    setToasterId(id: Number) {\n\t\tthis.toastId = id;\n\t}\n    \n    show() {\n\t\tToastersContainer.addToasterToMap(this); // dom added inside in this method\n\t\tthis.dom.style.animationName = \"slideIn\"; // No I18N\n\t\tsetTimeout(()=>{\n\t\t\tthis.remove();\n\t\t}, 5000);\n\t}\n\n\tremove() {\n\t\tthis.dom.addEventListener('animationend', ev => {\n\t\t\t\n\t\t\tthis.dom.remove();\n\t\t\tToastersContainer.deleteToasterFromMap(this.toastId);\n\t\t}, {once: true})\n\n\t\tthis.dom.style.animationName = \"slideOut\"; // No I18N\n\t}\n\n\tprivate addListener() {\n\t\tthis.closeButton.addEventListener('click', () => {\n\t\t\tthis.remove()\n\t\t})\n\t}\n\n}\n","import { ToastersMsgContainer as ToastersContainer } from \"../Components/Toaster/ToastersContainer.js\";\nimport { getTemplate } from \"../TemplatesForAll.js\";\n\nexport class ErrorToaster {\n\tprivate readonly dom : HTMLElement\n\tprivate readonly contentDom : HTMLElement\n\tprivate readonly closeButton : HTMLElement\n\tprivate toastId : Number | null; \n\n    constructor(msg: string) {\n        const template: HTMLTemplateElement = getTemplate(\"errorToaster_template\") as HTMLTemplateElement; // No I18N\n\t\tthis.dom        = template.querySelector(\"#toaster_wrapper\") as HTMLElement;  // No I18N\n        this.contentDom = this.dom.querySelector('#msgContainer') as HTMLElement;  // No I18N\n\t\tthis.closeButton = this.dom.querySelector('#closeBtn') as HTMLElement;  // No I18N\n\n        this.toastId   = null;\n\n        this.contentDom.textContent = msg;\n\n\t\tthis.addListener()\n    }\n\n    getDom() {\n\t\treturn this.dom;\n\t}\n    \n    setToasterId(id: Number) {\n\t\tthis.toastId = id;\n\t}\n    \n    show() {\n\t\tToastersContainer.addToasterToMap(this); // dom added inside in this method\n\t\tthis.dom.style.animationName = \"slideIn\"; // No I18N\n\t\tsetTimeout(()=>{\n\t\t\tthis.remove();\n\t\t}, 5000);\n\t}\n\n\tremove() {\n\t\tthis.dom.addEventListener('animationend', ev => {\n\t\t\t\n\t\t\tthis.dom.remove();\n\t\t\tToastersContainer.deleteToasterFromMap(this.toastId);\n\t\t}, {once: true})\n\n\t\tthis.dom.style.animationName = \"slideOut\"; // No I18N\n\t}\n\n\tprivate addListener() {\n\t\tthis.closeButton.addEventListener('click', () => {\n\t\t\tthis.remove()\n\t\t})\n\t}\n\n}\n","import { PricingUpgradeButton } from \"../Components/Button/Pricing/PricingUpgradeButton\";\nimport { MurphyUtility } from \"../DataStore/MurphyUtility.js\";\nimport { getDynamicMessage } from \"../Utility/Utility.js\";\nimport { ErrorDomToaster } from \"./ErrorDomToaster\";\nimport { ErrorToaster } from \"./ErrorToaster\";\n\nconst Constants        = Table.Constants;\nconst WCErrorConstants = Constants.WCErrorConstants;\nconst RESPONSE_KEYS    = Constants.RESPONSE_KEYS;\nconst ErrorMsg           = Constants.ErrorMsg;\nconst ERROR_KEY        = 'ERROR_KEY'\nconst EXCEPTION = \"Exception\";\nconst ERROR_CODE = \"ERROR_CODE\";\n\nexport function getStaticErrorMessage(errorcode) {\n\treturn  ErrorMsg[WCErrorConstants[errorcode]]\n}\n\nexport function getErrorMessage(errorKey) {\n\treturn ErrorMsg[errorKey];\n}\n\nexport function getDynamicErrorMessage(errorKey, dynamicContent) {\n\tconst msg = ErrorMsg[errorKey];\n\treturn getDynamicMessage(msg, dynamicContent);\n}\n\nexport function parseErrorResponse(response) {\n\tconst resp = Object.create({})\n\tconst baseResponse = response.RESPONSE[Object.keys(response.RESPONSE)[0]];\n\t\n\tif(baseResponse.hasOwnProperty(RESPONSE_KEYS.ACTION_INFO)) {\n\t\tconst actionInfo = baseResponse[RESPONSE_KEYS.ACTION_INFO];\n\t\tif(actionInfo.hasOwnProperty(RESPONSE_KEYS.ERROR_CODE)) {\n\t\t\tconst errorCode = actionInfo[RESPONSE_KEYS.ERROR_CODE]\n\t\t\tresp[ERROR_KEY] = WCErrorConstants[errorCode];\t\n\t\t}\n\t}\n\n\treturn resp\n}\nexport function parseClientFailureException(exceptionResponse) {\n\tconst exception = exceptionResponse[EXCEPTION];\n\tconst errorCode = exception[ERROR_CODE];\n\treturn errorCode;\n}\n\nexport function DisplayErrorToaster(errorCode, response) {\n\tconst errorMessage = getStaticErrorMessage(errorCode);\n\tconst errorKey = WCErrorConstants[errorCode];\n\tif(errorMessage){\n\t\tswitch(errorKey){\n\t\t\tcase \"ErrorHandling.CollaboratorLimitReached\":{\n\t\t\t\tconst dom = document.createElement('div');\n\t\t\t\tdom.textContent = errorMessage+\" \";\n\t\t\t\tconst pricingUpgradeButton = new PricingUpgradeButton();\n\t\t\t\tconst removeClassList = [\"ZT-lineBtn\", \"ZT-mRL10\", \"ZTP-smallBtn\"];\n\t\t\t\tfor(const className of removeClassList){\n\t\t\t\t\tpricingUpgradeButton.removeCSSClass(className);\n\t\t\t\t}\n\t\t\t\tpricingUpgradeButton.addCSSClass(\"ZTM-warningTextBtn\");\n\t\t\t\tpricingUpgradeButton.appendTo(dom);\n\t\t\t\tconst toaster = new ErrorDomToaster(dom);\n\t\t\t\ttoaster.show();\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdefault:{\n\t\t\t\tconst toaster = new ErrorToaster(errorMessage);\n\t\t\t\ttoaster.show();\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}else{\n\t\tMurphyUtility.throwCustomErrorMurphy(response, \"Error message not found\");\n\t}\n}","import { FORM_VIEW_ACTION_CONTENT_TYPE, FORM_VIEW_ACTION_FETCH_LINK_FIELD_DATA_URL, FORM_VIEW_ACTION_FIELD_ID, FORM_VIEW_ACTION_FIELD_IDS, FORM_VIEW_ACTION_JSON, FORM_VIEW_ACTION_PUBLIC_FETCH_LINK_FIELD_DATA_URL, FORM_VIEW_ACTION_SHARE_ID, FORM_VIEW_ACTION_SUBMIT_FORM_VIEW_URL, FORM_VIEW_ACTION_SUBMIT_PUBLIC_FORM_VIEW_URL, FORM_VIEW_ACTION_URL_ENCODED_FORM_UTF8, FORM_VIEW_ACTION_VALUES } from \"../Constants/FormViewConstants.js\";\nimport { DisplayErrorToaster } from \"../ErrorHandling/Utility.js\";\nimport { AjaxRequest, METHOD } from \"../Utility/AjaxRequest.js\";\nimport { getCSRFCookie } from \"../Utility/Cookie.js\";\nimport { getShareViewURL } from \"../Utility/Utility.js\";\n\nexport function FetchLinkFieldDataAction(shareID, fieldID, callback, onFailure) {\n\t\n\tconst shareURL = getShareViewURL();\n\tconst requestURL = shareURL.indexOf(\"/publish/\") != -1 ? FORM_VIEW_ACTION_PUBLIC_FETCH_LINK_FIELD_DATA_URL : FORM_VIEW_ACTION_FETCH_LINK_FIELD_DATA_URL; \n\t\n\tconst ajaxRequest = new AjaxRequest();\n\n\tajaxRequest.setMethod(METHOD.POST);\n\tajaxRequest.setRequestHeader(FORM_VIEW_ACTION_CONTENT_TYPE, FORM_VIEW_ACTION_URL_ENCODED_FORM_UTF8);\n\tajaxRequest.setResponseType(FORM_VIEW_ACTION_JSON);\n\tajaxRequest.setRequestHeader(\"X-ZCSRF-TOKEN\", 'ztreqcsr=' + getCSRFCookie()); // No I18N\n\tajaxRequest.setUrl(requestURL);\n\n\t// ajaxRequest.setFormData(FORM_VIEW_ACTION_FORM_DATA, getCSRFCookie());\n\tajaxRequest.setFormData(FORM_VIEW_ACTION_SHARE_ID, shareURL);\n\tajaxRequest.setFormData(FORM_VIEW_ACTION_FIELD_ID, fieldID);\n\tajaxRequest.send();\n\tajaxRequest.addEventListener('success', (event, ajaxRequestCompleteEvent) => {\n\t\tconst response = ajaxRequestCompleteEvent.response;\n\t\tcallback && callback(response);\n\t});\n\n\tajaxRequest.addEventListener('failure', (event, ajaxRequestCompleteEvent) => {\n\t\tonFailure && onFailure();\n\t\tconst response = ajaxRequestCompleteEvent.response;\n            const errorCode = response.ERROR_CODE;\n            DisplayErrorToaster(errorCode, response);\n    });\n}\n\nexport function SubmitFormViewAction(shareID, fieldIDs, fieldValues, callback, failureCallback) {\n\tconst ajaxRequest = new AjaxRequest();\n\n\tconst requestURL = shareID.indexOf(\"/publish/\") != -1? FORM_VIEW_ACTION_SUBMIT_PUBLIC_FORM_VIEW_URL : FORM_VIEW_ACTION_SUBMIT_FORM_VIEW_URL; \n\n\tajaxRequest.setMethod(METHOD.POST);\n\tajaxRequest.setRequestHeader(FORM_VIEW_ACTION_CONTENT_TYPE, FORM_VIEW_ACTION_URL_ENCODED_FORM_UTF8);\n\tajaxRequest.setResponseType(FORM_VIEW_ACTION_JSON);\n\tajaxRequest.setRequestHeader(\"X-ZCSRF-TOKEN\", 'ztreqcsr=' + getCSRFCookie()); // No I18N\n\tajaxRequest.setUrl(requestURL);\n\n\t// ajaxRequest.setFormData(FORM_VIEW_ACTION_FORM_DATA, getCSRFCookie());\n\tajaxRequest.setFormData(FORM_VIEW_ACTION_SHARE_ID, shareID);\n\tajaxRequest.setFormData(FORM_VIEW_ACTION_FIELD_IDS, JSON.stringify(fieldIDs));\n\tajaxRequest.setFormData(FORM_VIEW_ACTION_VALUES, JSON.stringify(fieldValues));\n\t// ajaxRequest.setFormData(FORM_VIEW_ACTION_PROXY_URL, FORM_VIEW_SUBMIT_PROXY_URL);\n\n\tajaxRequest.send();\n\tajaxRequest.addEventListener('success', (event, ajaxRequestCompleteEvent) => {\n\t\tconst response = ajaxRequestCompleteEvent.response;\n\t\tcallback && callback(response);\n\t});\n\n\tajaxRequest.addEventListener('failure', (event, ajaxRequestCompleteEvent) => {\n\t\tconst response = ajaxRequestCompleteEvent.response;\n\t\tconst errorCode = response.ERROR_CODE;\n        DisplayErrorToaster(errorCode, response);\n\t\tfailureCallback && failureCallback(response);\n\t});\n}\n","import { FetchLinkFieldDataAction } from \"../../../Actions/FormViewActions.js\";\nimport { DialogStack } from \"../DialogStack.js\";\nimport { searchCallback } from \"./FormViewMultiSelectSearchCallback.js\";\n\nconst FindAnItem                      = globalThis.FieldTypeComponents.FindAnItem;\nconst FindAnItemLinkFieldComponent    = FindAnItem.LinkFieldComponent;\nconst FindAnItemLinkFieldButtonOption = FindAnItem.LinkFieldButtonOption;\n\nexport function getLinkFieldMultiSelectCallback(shareID, fieldID) {   \n    let dialog, findAnItemComponent, totalRecordIDs, options;\n\n    const optionCallback = {\n\n\t\tonClick(ev, LinkFieldMultiSelectComponent, ID, name) {\n\t\t\tconst ValueHolder = LinkFieldMultiSelectComponent.getData();\n\t\t\tValueHolder.addRecordID(ID);\n            ValueHolder.addRecordName(name);\n\t\t\tLinkFieldMultiSelectComponent.setData(ValueHolder);\n\t\t\tDialogStack.closeDialog(dialog);\n\t\t},\n\n\t\tonEnter(LinkFieldMultiSelectComponent, ID, name) {\n\t\t\tthis.onClick(LinkFieldMultiSelectComponent, ID, name);\n\t\t},\n\n\t\tonInput(ev, LinkFieldMultiSelectComponent, searchTerm) {\n\t\t\tconst ValueHolder       = LinkFieldMultiSelectComponent.getData();\n\t\t\tconst findAnItemIDs     = totalRecordIDs;\n\t\t\tconst findAnItemOptions = options;\n\n\t\t\tconst resetCallback = () => {\n\t\t\t\tfindAnItemComponent.reset();\n\t\t\t\tfindAnItemComponent.setData(ValueHolder, totalRecordIDs, options);\n\t\t\t}\n\t\t\tsearchCallback(ev, findAnItemComponent, searchTerm, ValueHolder, findAnItemIDs, findAnItemOptions, resetCallback);\n\t\t},\n\n\t\tonFocus() {\n\t\t},\n\n\t\tonBlur() {\n\t\t}\n\n\t};\n\n\tconst callback = {\n\n\t\tonPlusButtonClick(ev, LinkFieldMultiSelectComponent, button) {\n\t\t\tLinkFieldMultiSelectComponent.showLoader();\n\t\t\tif (!dialog) {\n\t\t\t\tdialog              = DialogStack.createDialog();\n\t\t\t\tfindAnItemComponent = new FindAnItemLinkFieldComponent(LinkFieldMultiSelectComponent, optionCallback);\n\t\t\t\tconst dom           = findAnItemComponent.getDom();\n\t\t\t\tdialog.append(dom);\n\t\t\t\tdialog.setReferenceDom(button);\n\n\t\t\t\tdialog.addEventListener('open', ev => {\n\t\t\t\t\tfindAnItemComponent.focus();\n\t\t\t\t});\n\n\t\t\t\tdialog.addEventListener('close', ev => {\n\t\t\t\t\tdocument.activeElement.blur();\n\t\t\t\t\tLinkFieldMultiSelectComponent.focus();\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (!dialog.isOpened()) {\n\n\t\t\t\tconst buttonRect = button.getBoundingClientRect();\n\t\t\t\tdialog.setLeftInPixels(buttonRect.left);\n\t\t\t\tdialog.setTopInPixels(buttonRect.top + 25);\n\n\t\t\t\tFetchLinkFieldDataAction(shareID, fieldID, (response) => {\n\t\t\t\t\tLinkFieldMultiSelectComponent.hideLoader();\n\t\t\t\t\tDialogStack.openDialog(dialog);\n\t\t\t\t\tconst dialogRect = dialog.getBoundingClientRect();\n\t\t\t\t\tif (dialogRect.top + dialogRect.height >= globalThis.innerHeight) {\n\t\t\t\t\t\tdialog.setTopInPixels(dialogRect.top - dialogRect.height - buttonRect.height - 18);\n\t\t\t\t\t}\n\t\t\t\t\tconst object   = parseResponse(response, LinkFieldMultiSelectComponent);\n\t\t\t\t\ttotalRecordIDs = object.totalRecordIDs;\n\t\t\t\t\toptions        = object.options;\n\t\t\t\t\tconst ValueHolder = LinkFieldMultiSelectComponent.getData();\n\t\t\t\t\tfindAnItemComponent.reset();\n\t\t\t\t\tfindAnItemComponent.setData(ValueHolder, totalRecordIDs, options);\n\t\t\t\t}, () => {\n\t\t\t\t\tLinkFieldMultiSelectComponent.hideLoader();\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tLinkFieldMultiSelectComponent.hideLoader();\n\t\t\t\tDialogStack.closeDialog(dialog);\n\t\t\t}\n        },\n\n        onCloseButtonClick(ev, LinkFieldMultiSelectComponent, ID, LinkFieldMultiSelectOption) {\n\t\t\tLinkFieldMultiSelectOption.remove();\n            const ValueHolder = LinkFieldMultiSelectComponent.getData();\n            ValueHolder.removeIDAndName(ID);\n            LinkFieldMultiSelectComponent.setValueHolder(ValueHolder);\n        }\n\n\t};\n\n\treturn callback;\n}\n\nfunction parseResponse(response, LinkFieldMultiSelectComponent) {\n\tconst totalRecordIDs = response.RECORD_IDS;\n\tconst totalValues    = response.VALUES;\n\n    const ValueHolder       = LinkFieldMultiSelectComponent.getData();\n    const selectedRecordIDs = ValueHolder.getRecordIDs();\n    \n    for(let i = 0; i < selectedRecordIDs.length; i++) {\n        const selectedRecordID = selectedRecordIDs[i];\n        const index            = totalRecordIDs.indexOf(selectedRecordID);\n        totalRecordIDs.splice(index, 1);\n        totalValues.splice(index, 1);\n    }\n    \n    const color   = ValueHolder.getColor();\n    const options = {};\n    \n    for(let i = 0; i < totalRecordIDs.length; i++) {\n        const recordID = totalRecordIDs[i];\n        const value    = totalValues[i];\n        const option   = new FindAnItemLinkFieldButtonOption(recordID);\n        option.setColor(color);\n        option.setName(value);\n        options[recordID] = option;\n    }\n\n    return {\n        totalRecordIDs: totalRecordIDs,\n        totalValues: totalValues,\n        options: options\n    };\n}\n","import { isValidEmailID } from \"../../../Constants/RegexValidator.js\";\n\n// import { context as Key } from \"../../../BrowserEvents/Keyboard/KeyContextMapping.js\";\nconst FOCUS_CLASS  = \"has-focus\"  //No I18N\nconst ERROR_BORDER = \"errorBorder\" //No I18N\n\nexport function getMultiEmailCallback(schemaUI) {\n\tconst errorCheck = (values, component) => {\n\t\tif(!values) {\n\t\t\tschemaUI.hideErrorMessage();\n\t\t\tschemaUI.validDataEntered();\n\t\t\treturn;\n\t\t}\n\n\t\tlet isValidMailID = true;\n\t\tvalues.forEach((value, i) => {\n\t\t\tif(!isValidEmailID(value)) {\n\t\t\t\tisValidMailID = false;\n\t\t\t\tcomponent.addClassInItem(i, ERROR_BORDER)\n\t\t\t}\n\t\t\telse {\n\t\t\t\tcomponent.removeClassInItem(i, ERROR_BORDER)\n\t\t\t}\n\t\t})\n\n\t\tif(!isValidMailID) {\n\t\t\tschemaUI.showErrorMessage();\n\t\t\tschemaUI.invalidDataEntered();\n\t\t} else {\n\t\t\tschemaUI.hideErrorMessage();\n\t\t\tschemaUI.validDataEntered();\n\t\t}\n\t}\n\n\tconst callback = {\n\n\t\tonClick() {\n\t\t},\n\n\t\tonInput(ValueHolder, component) {\n\t\t    component && component.removeClass(FOCUS_CLASS)\n\n\t\t\tcomponent.setData(ValueHolder);\n\t\t\tconst values = ValueHolder.getValue();\n\t\t\terrorCheck(values, component);\n\t\t},\n\n\t\tonFocus(value, component) {\n            component.addClass(FOCUS_CLASS)\n\t\t},\n\n\t\tonBlur(ValueHolder, component) {\n\t\t    component.removeClass(FOCUS_CLASS)\n\t\t\n\t\t\tcomponent.setData(ValueHolder);\n\t\t\tconst values = ValueHolder.getValue();\n\t\t\terrorCheck(values, component);\n\t\t},\n\n        onInputFocus(component) {\n            component.addClass(FOCUS_CLASS)  \n        }\n\t};\n\treturn callback;\n}\n","import { isValidPhoneNumber } from \"../../../Constants/RegexValidator.js\";\n\n// import { context as Key } from \"../../../BrowserEvents/Keyboard/KeyContextMapping.js\";\nconst FOCUS_CLASS = \"has-focus\"  //No I18N\nconst ERROR_BORDER = \"errorBorder\" //No I18N\n\nexport function getMultiPhoneNumberCallback(schemaUI) {\n\tconst errorCheck = (values, component) => {\n\t\tif(!values) {\n\t\t\tschemaUI.hideErrorMessage();\n\t\t\treturn;\n\t\t}\n\n\t\tlet isValidPhoneNumberID = true;\n\t\tvalues.forEach((value, i) => {\n\t\t\tif(!isValidPhoneNumber(value)) {\n\t\t\t\tisValidPhoneNumberID = false;\n\t\t\t\tcomponent.addClassInItem(i, ERROR_BORDER)\n\t\t\t}\n\t\t\telse {\n\t\t\t\tcomponent.removeClassInItem(i, ERROR_BORDER)\n\t\t\t}\n\t\t})\n\n\n\t\tif(!isValidPhoneNumberID) {\n\t\t\tschemaUI.showErrorMessage();\n\t\t\tschemaUI.invalidDataEntered();\n\t\t} else {\n\t\t\tschemaUI.hideErrorMessage();\n\t\t\tschemaUI.validDataEntered();\n\t\t}\n\n\t}\n\n\tconst callback = {\n\n\t\tonClick() {\n\t\t},\n\n\t\tonInput(ValueHolder, component) {\n\t\t    component && component.removeClass(FOCUS_CLASS)\n\n\t\t\tcomponent.setData(ValueHolder);\n\t\t\tconst values = ValueHolder.getValue();\n\t\t\terrorCheck(values, component);\n\t\t},\n\n\t\tonFocus(value, component) {\n            component.addClass(FOCUS_CLASS)\n\t\t},\n\n\t\tonBlur(ValueHolder, component) {\n\t\t    component.removeClass(FOCUS_CLASS)\n\t\t\n\t\t\tcomponent.setData(ValueHolder);\n\t\t\tconst values = ValueHolder.getValue();\n\t\t\terrorCheck(values, component);\n\t\t},\n\n        onInputFocus(component) {\n            component.addClass(FOCUS_CLASS)  \n        }\n\t};\n\treturn callback;\n}\n","import { TYPE_TO_FIND_PLACEHOLDER } from \"../../../Constants/PlaceholderConstants.ts\";\nimport { DialogStack } from \"../DialogStack.js\";\nimport { alignDialogWithinViewport } from \"../FormViewUtility.js\";\nimport { searchCallback } from \"./FormViewMultiSelectSearchCallback.js\";\n\nconst FindAnItemComponent = globalThis.FieldTypeComponents.FindAnItem.Component;\n\nexport function getMultiSelectPickListCallback() {\n\n\tconst callback = {\n\n\t\tonChange(MultiSelectComponent, ID, status) {\n\t\t\tconst ValueHolder = MultiSelectComponent.getData();\n\t\t\t!status ? ValueHolder.removeID(ID) : ValueHolder.addID(ID);\n\t\t\tconst selectedIDs = ValueHolder.getSelectedIDs();\n\t\t\tselectedIDs.length ? MultiSelectComponent.showClearSelection() : MultiSelectComponent.hideClearSelection();\n\t\t},\n\n\t\tclearSelection(MultiSelectComponent) {\n\t\t\tconst selectedIDs = [];\n\t\t\tconst ValueHolder = MultiSelectComponent.getData();\n\t\t\tValueHolder.setSelectedIDs(selectedIDs);\n\t\t\tMultiSelectComponent.setData(ValueHolder);\n\t\t}\n\n\t};\n\treturn callback;\n}\n\nexport function getMultiSelectDropDownCallback() {\n\tlet dialog;\n\tlet findAnItemComponent;\n\n\tconst optionCallback = {\n\n\t\tonChange(MultiSelectComponent, ID, status, MultiSelectOption) {\n\t\t\tconst ValueHolder = MultiSelectComponent.getData();\n\t\t\tif (status) {\n                MultiSelectOption.addActive();\n\t\t\t\tValueHolder.addID(ID);\n            } else {\n                MultiSelectOption.removeActive();\n\t\t\t\tValueHolder.removeID(ID);\n            }\n\t\t\tMultiSelectComponent.setData(ValueHolder);\n\t\t},\n\n\t\tonEnter(MultiSelectComponent, ID, status, MultiSelectOption) {\n\t\t\tthis.onChange(MultiSelectComponent, ID, status, MultiSelectOption);\n\t\t},\n\n\t\tonInput(ev, MultiSelectComponent, searchTerm) {\n\t\t\tconst ValueHolder       = MultiSelectComponent.getData();\n\t\t\tconst findAnItemIDs     = ValueHolder.getFindAnItemCheckboxOptionIDs();\n\t\t\tconst findAnItemOptions = ValueHolder.getFindAnItemCheckboxOptions();\n\t\t\t\n\t\t\tconst resetCallback = () => {\n\t\t\t\tfindAnItemComponent.reset();\n\t\t\t\tfindAnItemComponent.setCheckboxOptions(ValueHolder);\n\t\t\t}\n\t\t\tsearchCallback(ev, findAnItemComponent, searchTerm, ValueHolder, findAnItemIDs, findAnItemOptions, resetCallback);\n\t\t},\n\n\t\tonFocus() {\n\t\t},\n\n\t\tonBlur() {\n\t\t}\n\n\t};\n\n\tconst callback = {\n\n\t\tonDropDownClick(ev, MultiSelectComponent, button) {\n\t\t\tif (!dialog) {\n\t\t\t\tdialog              = DialogStack.createDialog();\n\t\t\t\tfindAnItemComponent = new FindAnItemComponent(MultiSelectComponent, optionCallback);\n\t\t\t\tconst dom           = findAnItemComponent.getDom();\n\t\t\t\tdialog.append(dom);\n\t\t\t\tdialog.setReferenceDom(button);\n\t\t\t\tfindAnItemComponent.setPlaceholder(TYPE_TO_FIND_PLACEHOLDER);\n\n\t\t\t\tdialog.addEventListener('open', ev => {\n\t\t\t\t\tfindAnItemComponent.focus();\n\t\t\t\t});\n\n\t\t\t\tdialog.addEventListener('close', ev => {\n\t\t\t\t\tdocument.activeElement.blur();\n\t\t\t\t\tMultiSelectComponent.focus();\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (!dialog.isOpened()) {\n\t\t\t\tconst ValueHolder = MultiSelectComponent.getData();\n\t\t\t\tfindAnItemComponent.reset();\n\t\t\t\tfindAnItemComponent.setCheckboxOptions(ValueHolder);\n\t\t\t\tDialogStack.openDialog(dialog);\n\t\t\t\talignDialogWithinViewport(dialog, button.getBoundingClientRect());\n\t\t\t} else {\n\t\t\t\tDialogStack.closeDialog(dialog);\n\t\t\t}\n\t\t},\n\n\t\tonCloseButtonClick(ev, MultiSelectComponent, ID) {\n\t\t\tconst ValueHolder = MultiSelectComponent.getData();\n\t\t\tValueHolder.removeID(ID);\n\t\t\tMultiSelectComponent.setData(ValueHolder);\n\t\t}\n\n\t};\n\treturn callback;\n}\n","import { isValidURL } from \"../../../Constants/RegexValidator.js\";\n\nconst FOCUS_CLASS = \"has-focus\"  //No I18N\nconst ERROR_BORDER = \"errorBorder\" //No I18N\n\nexport function getMultiURLCallback(schemaUI) {\n\tconst errorCheck = (values, component) => {\n\t\tif(!values) {\n\t\t\tschemaUI.hideErrorMessage();\n\t\t\treturn;\n\t\t}\n\n\t\tlet isValidURLID = true;\n\t\tvalues.forEach((value, i) => {\n\t\t\tif(!isValidURL(value)) {\n\t\t\t\tisValidURLID = false;\n\t\t\t\tcomponent.addClassInItem(i, ERROR_BORDER)\n\t\t\t}\n\t\t\telse {\n\t\t\t\tcomponent.removeClassInItem(i, ERROR_BORDER)\n\t\t\t}\n\t\t})\n\n\n\t\tif(!isValidURLID) {\n\t\t\tschemaUI.showErrorMessage();\n\t\t\tschemaUI.invalidDataEntered();\n\t\t} else {\n\t\t\tschemaUI.hideErrorMessage();\n\t\t\tschemaUI.validDataEntered();\n\t\t}\n\n\t}\n\n\tconst callback = {\n\n\t\tonClick() {\n\t\t},\n\n\t\tonInput(ValueHolder, component) {\n\t\t    component && component.removeClass(FOCUS_CLASS)\n\n\t\t\tcomponent.setData(ValueHolder);\n\t\t\tconst values = ValueHolder.getValue();\n\t\t\terrorCheck(values, component);\n\t\t},\n\n\t\tonFocus(value, component) {\n            component.addClass(FOCUS_CLASS)\n\t\t},\n\n\t\tonBlur(ValueHolder, component) {\n\t\t    component.removeClass(FOCUS_CLASS)\n\t\t\n\t\t\tcomponent.setData(ValueHolder);\n\t\t\tconst values = ValueHolder.getValue();\n\t\t\terrorCheck(values, component);\n\t\t},\n\n        onInputFocus(component) {\n            component.addClass(FOCUS_CLASS)  \n        }\n\t};\n\treturn callback;\n}\n","import { isValidNumberFieldData } from \"../../../Constants/RegexValidator.js\";\n\nexport function getNumberCallback(schemaUI) {\n\tconst callback = {\n\n\t\tonClick() {\n\t\t},\n\n\t\tonInput(ValueHolder) {\n\t\t},\n\n\t\tonFocus(ValueHolder) {\n\t\t},\n\n\t\tonBlur(ValueHolder) {\n\t\t\tconst value = ValueHolder.toString();\n\t\t\tif(!value) {\n\t\t\t\tschemaUI.hideErrorMessage();\n\t\t\t\tschemaUI.validDataEntered();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isValidID = isValidNumberFieldData(value);\n\t\t\tif(!isValidID) {\n\t\t\t\tschemaUI.showErrorMessage();\n\t\t\t\tschemaUI.invalidDataEntered();\n\t\t\t} else {\n\t\t\t\tschemaUI.hideErrorMessage();\n\t\t\t\tschemaUI.validDataEntered();\n\t\t\t}\n\t\t}\n\n\t};\n\treturn callback;\n}\n","import { isValidPercentFieldData } from \"../../../Constants/RegexValidator.js\";\n\nexport function getPercentCallback(schemaUI) {\n\tconst callback = {\n\n\t\tonClick() {\n\t\t},\n\n\t\tonInput(ValueHolder) {\n\t\t},\n\n\t\tonFocus(ValueHolder) {\n\t\t},\n\n\t\tonBlur(ValueHolder) {\n\t\t\tconst value = ValueHolder.toString();\n\t\t\tif(!value) {\n\t\t\t\tschemaUI.hideErrorMessage();\n\t\t\t\tschemaUI.validDataEntered();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isValidID = isValidPercentFieldData(value);\n\t\t\tif(!isValidID) {\n\t\t\t\tschemaUI.showErrorMessage();\n\t\t\t\tschemaUI.invalidDataEntered();\n\t\t\t} else {\n\t\t\t\tschemaUI.hideErrorMessage();\n\t\t\t\tschemaUI.validDataEntered();\n\t\t\t}\n\t\t}\n\n\t};\n\treturn callback;\n}\n","\nimport { isValidPhoneNumber } from \"../../../Constants/RegexValidator.js\";\n\nexport function getPhoneNumberCallback(schemaUI) {\n\tconst callback = {\n\n\t\tonClick() {\n\t\t},\n\n\t\tonInput(ValueHolder) {\n            \n\t\t},\n\n\t\tonFocus(ValueHolder) {\n\t\t},\n\n\t\tonBlur(ValueHolder) {\n\t\t\tconst value = ValueHolder.toString();\n\t\t\tif(!value) {\n\t\t\t\tschemaUI.hideErrorMessage();\n\t\t\t\tschemaUI.validDataEntered();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isValidID = isValidPhoneNumber(value);\n\t\t\tif(!isValidID) {\n\t\t\t\tschemaUI.showErrorMessage();\n\t\t\t\tschemaUI.invalidDataEntered();\n\t\t\t} else {\n\t\t\t\tschemaUI.hideErrorMessage();\n\t\t\t\tschemaUI.validDataEntered();\n\t\t\t}\n\t\t}\n\n\t};\n\treturn callback;\n}\n","export function getRatingCallback(formBuilderSchema) {\n\n\tconst callback = {\n\n\t\tonClick(ValueHolder, oldCount) {\n\t\t\t// console.log('Rating click: ');\n\t\t}\n\n\t};\n\treturn callback;\n}\n","\nexport function getSingleLineTextCallback(formBuilderSchema) {\n\tconst callback = {\n\n\t\tonClick() {\n\t\t},\n\n\t\tonInput(ValueHolder, SingleLineTextComponent) {\n\t\t\tconst contentInTextArea = ValueHolder.getValue();\n\t\t\t!contentInTextArea ? SingleLineTextComponent.hideClearAllButton() : SingleLineTextComponent.showClearAllButton();\n\t\t},\n\n\t\tonFocus(ValueHolder) {\n\t\t},\n\n\t\tonBlur(ValueHolder) {\n\t\t},\n\n\t\tonClearAllButtonClick(ValueHolder, SingleLineTextComponent) {\n\t\t\tValueHolder.setValue(\"\");\n\t\t\tSingleLineTextComponent.setData(ValueHolder);\n\t\t\tSingleLineTextComponent.adjustHeightOfTextArea();\n\t\t}\n\n\t};\n\treturn callback;\n}\n","import { TYPE_TO_FIND_PLACEHOLDER } from \"../../../Constants/PlaceholderConstants.ts\";\nimport { DialogStack } from \"../DialogStack.js\";\nimport { alignDialogWithinViewport } from \"../FormViewUtility.js\";\nimport { searchCallback } from \"./FormViewMultiSelectSearchCallback.js\";\n\nconst FindAnItemComponent = globalThis.FieldTypeComponents.FindAnItem.Component;\n\nexport function getSingleSelectPickListCallback() {\n\n\tconst callback = {\n\n\t\tonChange(SingleSelectComponent, ID, status, SingleSelectOption) {\n\t\t\tSingleSelectComponent.setSelectedID(ID);\n\t\t\tconst ValueHolder = SingleSelectComponent.getData();\n\n\t\t\tconst isNoOptionChosen = !ValueHolder.toString();\n\t\t\tisNoOptionChosen ? SingleSelectComponent.hideClearSelection() : SingleSelectComponent.showClearSelection();\n\t\t},\n\n\t\tclearSelection(SingleSelectComponent) {\n\t\t\tSingleSelectComponent.setSelectedID(null);\n\t\t\tconst ValueHolder = SingleSelectComponent.getData();\n\t\t\tSingleSelectComponent.setData(ValueHolder);\n\t\t}\n\n\t};\n\treturn callback;\n}\n\nexport function getSingleSelectDropDownCallback() {\n\tlet dialog;\n\tlet findAnItemComponent;\n\n\tconst optionCallback = {\n\n\t\tonClick(SingleSelectComponent, ID) {\n\t\t\tconst ValueHolder = SingleSelectComponent.getData();\n\t\t\tValueHolder.replaceID(ID);\n\t\t\tSingleSelectComponent.setData(ValueHolder);\n\t\t\tDialogStack.closeDialog(dialog);\n\t\t},\n\n\t\tonEnter(SingleSelectComponent, ID) {\n\t\t\tthis.onClick(SingleSelectComponent, ID);\n\t\t},\n\n\t\tonInput(ev, SingleSelectComponent, searchTerm) {\n\t\t\tconst ValueHolder       = SingleSelectComponent.getData();\n\t\t\tconst findAnItemIDs     = ValueHolder.getFindAnItemIDs();\n\t\t\tconst findAnItemOptions = ValueHolder.getFindAnItemOptions();\n\n\t\t\tconst resetCallback = () => {\n\t\t\t\tfindAnItemComponent.reset();\n\t\t\t\tfindAnItemComponent.addBlankDom();\n\t\t\t\tfindAnItemComponent.setData(ValueHolder);\n\t\t\t}\n\t\t\tsearchCallback(ev, findAnItemComponent, searchTerm, ValueHolder, findAnItemIDs, findAnItemOptions, resetCallback);\n\t\t},\n\n\t\tonFocus() {\n\t\t},\n\n\t\tonBlur() {\n\t\t},\n\n\t\tonBlankDomClick(SingleSelectComponent) {\n\t\t\tconst ValueHolder = SingleSelectComponent.getData();\n\t\t\tValueHolder.replaceID(null);\n\t\t\tSingleSelectComponent.setData(ValueHolder);\n\t\t\tDialogStack.closeDialog(dialog);\n\t\t}\n\t};\n\n\tconst callback = {\n\n\t\tonDropDownClick(SingleSelectComponent, button) {\n\t\t\tif (!dialog) {\n\t\t\t\tdialog              = DialogStack.createDialog();\n\t\t\t\tfindAnItemComponent = new FindAnItemComponent(SingleSelectComponent, optionCallback);\n\t\t\t\tconst dom           = findAnItemComponent.getDom();\n\t\t\t\tdialog.append(dom);\n\t\t\t\tdialog.setReferenceDom(button);\n\t\t\t\tfindAnItemComponent.setPlaceholder(TYPE_TO_FIND_PLACEHOLDER);\n\n\t\t\t\tdialog.addEventListener('open', ev => {\n\t\t\t\t\tfindAnItemComponent.focus();\n\t\t\t\t});\n\n\t\t\t\tdialog.addEventListener('close', ev => {\n\t\t\t\t\tdocument.activeElement.blur();\n\t\t\t\t\tSingleSelectComponent.focus();\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (!dialog.isOpened()) {\n\t\t\t\tconst ValueHolder = SingleSelectComponent.getData();\n\t\t\t\tfindAnItemComponent.reset();\n\t\t\t\tfindAnItemComponent.addBlankDom();\n\t\t\t\tfindAnItemComponent.setData(ValueHolder);\n\t\t\t\tDialogStack.openDialog(dialog);\n\t\t\t\talignDialogWithinViewport(dialog, button.getBoundingClientRect());\n\t\t\t} else {\n\t\t\t\tDialogStack.closeDialog(dialog);\n\t\t\t}\n\t\t}\n\t};\n\treturn callback;\n}\n","\nimport { isValidURL } from \"../../../Constants/RegexValidator.js\";\n\nexport function getURLCallback(schemaUI) {\n\tconst callback = {\n\n\t\tonClick() {\n\t\t},\n\n\t\tonInput(ValueHolder) {\n\t\t},\n\n\t\tonFocus(ValueHolder) {\n\t\t},\n\n\t\tonBlur(ValueHolder) {\n\t\t\tconst value = ValueHolder.toString();\n\t\t\tif(!value) {\n\t\t\t\tschemaUI.hideErrorMessage();\n\t\t\t\tschemaUI.validDataEntered();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isValidID = isValidURL(value);\n\t\t\tif(!isValidID) {\n\t\t\t\tschemaUI.showErrorMessage();\n\t\t\t\tschemaUI.invalidDataEntered();\n\t\t\t} else {\n\t\t\t\tschemaUI.hideErrorMessage();\n\t\t\t\tschemaUI.validDataEntered();\n\t\t\t}\n\t\t}\n\n\t};\n\treturn callback;\n}\n","\nimport { ADD_FIELD_CURRENCIES_INR, ADD_FIELD_CURRENCY_POSITIONS_BEFORE, getCurrency, getDateFormat, getHourCycle } from '../../../Constants/AddFieldConstants.js'\nimport { CURSOR_DEFAULT } from '../../../Constants/CssClassNamesForUI.js'\nimport * as FIELD_TYPES from '../../../Constants/FieldTypes.js'\nimport { FORM_SCHEMA_COMPONENT_TYPES_DROP_DOWN } from '../../../Constants/FormConstants.js'\nimport { ZOHO_TABLES_TIME_FORMAT } from '../../../Constants/ZohoComponentDateFieldConstants.js'\nimport { LOCALE } from '../../../Locale.js'\nimport { getCheckbox, getMultipleValues, getRating, getSelectedID, getSelectedIDs } from '../../../View/Grid/Pane/FieldTypeComponents/Utilities/ExtraUtilities.js'\nimport { getAttachmentCallback } from '../Callbacks/FormViewAttachmentCallback.js'\nimport { getCheckboxCallback } from '../Callbacks/FormViewCheckboxCallback.js'\nimport { getCollaboratorMultiSelectDropDownCallback, getCollaboratorMultiSelectPickListCallback } from '../Callbacks/FormViewCollaboratorMultiSelectCallback.js'\nimport { getCollaboratorSingleSelectDropDownCallback, getCollaboratorSingleSelectPickListCallback } from '../Callbacks/FormViewCollaboratorSingleSelectCallback.js'\nimport { getCurrencyCallback } from '../Callbacks/FormViewCurrencyCallback.js'\nimport { getDateCallback } from '../Callbacks/FormViewDateCallback.js'\nimport { getEmailCallback } from '../Callbacks/FormViewEmailCallback.js'\nimport { getLinkFieldMultiSelectCallback } from '../Callbacks/FormViewLinkFieldMultiSelectCallback.js'\nimport { getMultiEmailCallback } from '../Callbacks/FormViewMultiEmailCallback.js'\nimport { getMultiPhoneNumberCallback } from '../Callbacks/FormViewMultiPhoneNumberCallback.js'\nimport { getMultiSelectDropDownCallback, getMultiSelectPickListCallback } from '../Callbacks/FormViewMultiSelectCallback.js'\nimport { getMultiURLCallback } from '../Callbacks/FormViewMultiURLCallback.js'\nimport { getNumberCallback } from '../Callbacks/FormViewNumberCallback.js'\nimport { getPercentCallback } from '../Callbacks/FormViewPercentCallback.js'\nimport { getPhoneNumberCallback } from '../Callbacks/FormViewPhoneNumberCallback.js'\nimport { getRatingCallback } from '../Callbacks/FormViewRatingCallback.js'\nimport { getSingleLineTextCallback } from '../Callbacks/FormViewSingleLineTextCallback.js'\nimport { getSingleSelectDropDownCallback, getSingleSelectPickListCallback } from '../Callbacks/FormViewSingleSelectCallback.js'\nimport { getURLCallback } from '../Callbacks/FormViewURLCallback.js'\nimport { convertToString, getRadioButtonName, getReadWriteDateFieldComponent } from '../FormViewUtility.js'\n\nconst Editor               = globalThis.FieldTypeComponents;\nconst MultiSelect          = Editor.MultiSelect;\nconst SingleSelect         = Editor.SingleSelect;\nconst SingleLineText       = Editor.SingleLineText;\nconst Checkbox             = Editor.Checkbox;\nconst Rating               = Editor.Rating;\nconst URL                  = Editor.URL;\nconst Email                = Editor.Email;\nconst Currency             = Editor.Currency;\nconst DateObject           = Editor.Date;\nconst NumberObject         = Editor.Number;\nconst Percent              = Editor.Percent;\nconst PhoneNumber          = Editor.PhoneNumber;\nconst LinkFieldMultiSelect = Editor.LinkFieldMultiSelect;\nconst CollaboratorMS       = Editor.CollaboratorMS;\nconst CollaboratorSS       = Editor.CollaboratorSS;\nconst Attachment           = Editor.Attachment;\nconst MultipleEmail        = Editor.MultipleEmail;\nconst MultipleURL          = Editor.MultipleURL;\nconst MultiplePhoneNumber  = Editor.MultiplePhoneNumber;\n\nconst DELIMITER_FOR_DATE_TIME_FIELD = '   ';\nconst COLLABORATOR_SELECTION_TYPES  = FIELD_TYPES.COLLABORATOR_SELECTION_TYPES;\nconst STROKE_STYLE                  = \"rgba(0,0,0,0)\";                           //No I18N\nconst UNKNOWN_FIELD_TYPE            = \"Unknown Field Type\";                      //No I18N\nconst ROW_HEIGHT                    = 20;\nconst INPUT_CLASS                   = \"input\";                                   //No I18N\n\nconst ERROR_MESSAGE_PLEASE_ENTER_A_NUMBER = getTemplate('numberEditorErrorMessageTextTemplate').querySelector('span').textContent;  //No I18N\n\nexport function getFormViewReadWriteComponent(schemaUI, fieldID, fieldType, fieldSpecifications, styles, cellValue, componentType, choicesOrder, shareID, timeZone, collaboratorDS, getSelectionDS, teamDriveServerURL, teamDriveDownloadURL, teamDrivePreviewURL, isAttachmentPreviewNeeded, planType, attachmentFieldEventHandler) {\n\tvar component;\n\tswitch (fieldType) {\n\n\t\tcase FIELD_TYPES.TEXT: {\n\t\t\t\n\t\t\tconst textFormat  = fieldSpecifications[0];\n\t\t\tconst autoDetectHyperlink  = fieldSpecifications[1];\n\t\t\tconst valueHolder = new SingleLineText.ValueHolder(cellValue, textFormat, styles, autoDetectHyperlink);\n\t\t\tconst callback    = getSingleLineTextCallback();\n\t\t\tcomponent         = new SingleLineText.TextAreaWithClearButtonReadWriteComponent(callback);\n\t\t\tcomponent.setData(valueHolder);\n\t\t\tbreak;\n\n\t\t}\n\n\t\tcase FIELD_TYPES.MULTIPLE_SELECTION: {\n\t\t\t\n\t\t\tconst selectedIDs    = getSelectedIDs(cellValue);\n\t\t\tconst coloredOptions = fieldSpecifications[0];\n\t\t\tconst selectionID    = fieldSpecifications[1];\n\t\t\tconst selectionDS    = getSelectionDS(selectionID);\n\t\t\tconst valueHolder    = new MultiSelect.ValueHolderForForm(selectedIDs, selectionDS, styles, selectionID, coloredOptions, convertToString(choicesOrder), ROW_HEIGHT);\n\n\t\t\tif (componentType === FORM_SCHEMA_COMPONENT_TYPES_DROP_DOWN) {\n\n\t\t\t\tconst callback = getMultiSelectDropDownCallback();\n\t\t\t\tcomponent      = new MultiSelect.FormViewDropDownReadWriteComponent(callback);\n\t\t\t\tcomponent.setData(valueHolder);\n\n\t\t\t} else {\n\n\t\t\t\tconst callback = getMultiSelectPickListCallback();\n\t\t\t\tcomponent = new MultiSelect.CheckboxTypeReadWriteComponent(callback);\n\t\t\t\tcomponent.setData(valueHolder);\n\n\t\t\t}\n\t\t\tbreak;\n\n\t\t}\n\n\t\tcase FIELD_TYPES.SINGLE_SELECTION: {\n\t\t\t\n\t\t\tconst selectedID     = getSelectedID(cellValue);\n\t\t\tconst coloredOptions = fieldSpecifications[0];\n\t\t\tconst selectionID    = fieldSpecifications[1];\n\t\t\tconst selectionDS    = getSelectionDS(selectionID);\n\t\t\tconst valueHolder    = new SingleSelect.ValueHolderForForm(selectedID, selectionDS, styles, selectionID, coloredOptions, convertToString(choicesOrder));\n\n\t\t\tif (componentType === FORM_SCHEMA_COMPONENT_TYPES_DROP_DOWN) {\n\n\t\t\t\tconst callback = getSingleSelectDropDownCallback();\n\t\t\t\tcomponent    = new SingleSelect.SecondaryReadWriteComponent(callback);\n\t\t\t\tcomponent.setData(valueHolder);\n\n\t\t\t} else {\n\n\t\t\t\tconst callback = getSingleSelectPickListCallback();\n\t\t\t\tcomponent    = new SingleSelect.RadioTypeReadWriteComponent(callback);\n\t\t\t\tcomponent.setData(valueHolder, getRadioButtonName());\n\n\t\t\t}\n\t\t\tbreak;\n\n\t\t}\n\n\t\tcase FIELD_TYPES.COLLABORATOR_CLIENT: {\n\t\t\t\n\t\t\tconst selectionType = fieldSpecifications[0];\n\n\t\t\tif (selectionType === COLLABORATOR_SELECTION_TYPES.SINGLE_SELECT) {\n\t\t\t\t\n\t\t\t\tconst selectedID  = getSelectedID(cellValue);\n\t\t\t\tconst valueHolder = new CollaboratorSS.ValueHolderForForm(selectedID, collaboratorDS, styles, convertToString(choicesOrder));\n\n\t\t\t\tif (componentType === FORM_SCHEMA_COMPONENT_TYPES_DROP_DOWN) {\n\t\t\t\t\t\n\t\t\t\t\tconst callback = getCollaboratorSingleSelectDropDownCallback();\n\t\t\t\t\tcomponent      = new CollaboratorSS.SecondaryReadWriteComponent(callback);\n\t\t\t\t\tcomponent.setData(valueHolder);\n\n\t\t\t\t} else {\n\t\t\t\t\t\n\t\t\t\t\tconst callback = getCollaboratorSingleSelectPickListCallback();\n\t\t\t\t\tcomponent      = new CollaboratorSS.RadioTypeReadWriteComponent(callback);\n\t\t\t\t\tcomponent.setCollaboratorOptions(valueHolder, getRadioButtonName());\n\n\t\t\t\t}\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tconst selectedIDs = getSelectedIDs(cellValue);\n\t\t\t\tconst valueHolder = new CollaboratorMS.ValueHolderForForm(selectedIDs, collaboratorDS, styles, convertToString(choicesOrder), null, ROW_HEIGHT);\n\n\t\t\t\tif (componentType === FORM_SCHEMA_COMPONENT_TYPES_DROP_DOWN) {\n\t\t\t\t\t\n\t\t\t\t\tconst callback = getCollaboratorMultiSelectDropDownCallback();\n\t\t\t\t\tcomponent      = new CollaboratorMS.FormViewDropDownReadWriteComponent(callback);\n\t\t\t\t\tcomponent.setData(valueHolder);\n\t\t\t\t} else {\n\t\t\t\t\t\n\t\t\t\t\tconst callback = getCollaboratorMultiSelectPickListCallback();\n\t\t\t\t\tcomponent      = new CollaboratorMS.CheckboxTypeReadWriteComponent(callback);\n\t\t\t\t\tcomponent.setCollaboratorOptions(valueHolder);\n\t\t\t\t}\n\n\n\t\t\t}\n\t\t\tbreak;\n\n\t\t}\n\n\t\tcase FIELD_TYPES.LINK: {\n\n\t\t\tconst recordIDs   = [];\n\t\t\tconst recordNames = [];\n\t\t\tconst valueHolder = new LinkFieldMultiSelect.ValueHolder2(null, null, null, null, null, recordIDs, recordNames, styles.optionColor, styles);\n\t\t\tconst callback    = getLinkFieldMultiSelectCallback(shareID, fieldID);\n\t\t\tcomponent         = new LinkFieldMultiSelect.FormReadWriteComponent(callback);\n\t\t\tcomponent.setData(valueHolder);\n\t\t\tbreak;\n\n\t\t}\n\n\t\tcase FIELD_TYPES.CHECKBOX: {\n\n\t\t\tconst value         = getCheckbox(cellValue);\n\t\t\tconst checkboxStyle = fieldSpecifications[0];\n\t\t\tconst fillStyle     = fieldSpecifications[1];\n\t\t\tconst props         = {};\n\t\t\tprops.fillStyle     = fillStyle;\n\t\t\tprops.strokeStyle   = STROKE_STYLE;\n\t\t\tconst valueHolder   = new Checkbox.ValueHolder(value, checkboxStyle, props, styles);\n\t\t\tconst callback      = getCheckboxCallback();\n\t\t\tcomponent           = new Checkbox.FormViewReadWriteComponent(callback);\n\t\t\tcomponent.setData(valueHolder);\n\t\t\tbreak;\n\n\t\t}\n\n\t\tcase FIELD_TYPES.RATING: {\n\n\t\t\tconst rating      = getRating(cellValue);\n\t\t\tconst ratingStyle = fieldSpecifications[0];\n\t\t\tconst fillStyle   = fieldSpecifications[1];\n\t\t\tconst maxCount    = fieldSpecifications[2];\n\t\t\tconst props       = {};\n\t\t\tprops.fillStyle   = fillStyle;\n\t\t\tprops.strokeStyle = STROKE_STYLE;\n\t\t\tconst valueHolder = new Rating.ValueHolder(rating, ratingStyle, props, maxCount, styles);\n\t\t\tconst callback    = getRatingCallback();\n\t\t\tcomponent         = new Rating.FormViewReadWriteComponent(callback);\n\t\t\tcomponent.setData(valueHolder);\n\t\t\tbreak;\n\n\t\t}\n\n\t\tcase FIELD_TYPES.DATE_TIME: {\n\n\t\t\tconst locale       = LOCALE.EN_US;\n\t\t\tconst timeFormat   = ZOHO_TABLES_TIME_FORMAT;\n\t\t\tconst dateFormat   = getDateFormat(fieldSpecifications[0]);\n\t\t\tconst hourCycle    = getHourCycle(fieldSpecifications[1]);\n            const dateCallback = getDateCallback(schemaUI);\n            const dateField    = getReadWriteDateFieldComponent(cellValue, locale, timeZone, dateFormat, timeFormat, hourCycle, DELIMITER_FOR_DATE_TIME_FIELD, dateCallback);\n            const valueHolder  = new DateObject.ValueHolder(cellValue, locale, dateFormat, timeFormat, hourCycle, styles);\n            component          = new DateObject.FormViewDateComponent(dateCallback, dateField);\n\t\t\tcomponent.setData(valueHolder);\n            component.setStyles && component.setStyles(styles);\n\t\t\tbreak;\n\t\t\t\n\t\t}\n\n\t\tcase FIELD_TYPES.NUMBER: {\n\n\t\t\tconst locale            = LOCALE.EN_US;\n\t\t\tconst precision         = fieldSpecifications[0];\n\t\t\tconst thousandSeparator = fieldSpecifications[1];\n\t\t\tconst valueHolder       = new NumberObject.ValueHolder(cellValue, locale, thousandSeparator, precision, styles);\n\t\t\tconst callback          = getNumberCallback(schemaUI);\n\t\t\tcomponent               = new NumberObject.FormViewReadWriteComponent(callback);\n\t\t\tcomponent.setData(valueHolder);\n\t\t\tcomponent.setErrorMessage(ERROR_MESSAGE_PLEASE_ENTER_A_NUMBER);\n\t\t\tbreak;\n\n\t\t}\n\n\t\tcase FIELD_TYPES.PERCENT: {\n\t\t\t\n\t\t\tconst locale            = LOCALE.EN_US;\n\t\t\tconst precision         = fieldSpecifications[0];\n\t\t\tconst showSymbol        = fieldSpecifications[1];\n\t\t\tconst thousandSeparator = fieldSpecifications[2];\n\t\t\tconst valueHolder       = new Percent.ValueHolder(cellValue, locale, thousandSeparator, precision, showSymbol, styles);\n\t\t\tconst callback          = getPercentCallback(schemaUI);\n\t\t\tcomponent               = new Percent.FormViewReadWriteComponent(callback);\n\t\t\tcomponent.setData(valueHolder);\n\t\t\tcomponent.setErrorMessage(ERROR_MESSAGE_PLEASE_ENTER_A_NUMBER);\n\t\t\tbreak;\n\n\t\t}\n\n\t\tcase FIELD_TYPES.CURRENCY: {\n\n\t\t\tconst currency          = fieldSpecifications[0];\n\t\t\tconst position          = fieldSpecifications[1];\n\t\t\tconst precision         = fieldSpecifications[2];\n\t\t\tconst thousandSeparator = fieldSpecifications[3];\n\n\t\t\tlet symbol = getCurrency(currency);\n\t\t\tif (position === ADD_FIELD_CURRENCY_POSITIONS_BEFORE) {\n\t\t\t\tsymbol += ' ';\n\t\t\t} else {\n\t\t\t\tsymbol = ` ${symbol}`;\n\t\t\t}\n\n\t\t\tlet locale;\n\t\t\tif (currency === ADD_FIELD_CURRENCIES_INR) {\n\t\t\t\tlocale = LOCALE.EN_IN;\n\t\t\t} else {\n\t\t\t\tlocale = LOCALE.EN_US;\n\t\t\t}\n\n\t\t\tconst valueHolder = new Currency.ValueHolder(cellValue, locale, symbol, thousandSeparator, precision, position, styles, false, false);\n\t\t\tconst callback    = getCurrencyCallback(schemaUI);\n\t\t\tcomponent         = new Currency.FormViewReadWriteComponent(callback);\n\t\t\tcomponent.setData(valueHolder);\n\t\t\tcomponent.setErrorMessage(ERROR_MESSAGE_PLEASE_ENTER_A_NUMBER);\n\t\t\tbreak;\n\n\t\t}\n\n\t\tcase FIELD_TYPES.EMAIL: {\n\n\t\t\tconst allowMultiple = fieldSpecifications[0];\n\t\t\tlet valueHolder;\n\n            if (!allowMultiple) {\n                \n\t\t\t\tvalueHolder    = new Email.ValueHolder(cellValue, styles);\n\t\t\t\tconst callback = getEmailCallback(schemaUI);\n\t\t\t\tcomponent      = new Email.FormViewReadWriteComponent(callback);\n\n            } else {\n                \n\t\t\t\tconst values   = getMultipleValues(cellValue);\n                const color    = styles.optionColor;\n                valueHolder    = new MultipleEmail.ValueHolder(values, styles, color);\n\t\t\t\tconst callback = getMultiEmailCallback(schemaUI);\n                component      = new MultipleEmail.PrimaryReadWriteComponent(callback);\n\t\t\t\tcomponent.addClass(INPUT_CLASS)\n\t\t\t\t\n            }\n\t\t\t\n            component.setData(valueHolder);\n            break;\n\n\t\t}\n\n\t\tcase FIELD_TYPES.PHONE_NUMBER: {\n\n\t\t\tconst phoneNumberFormat = fieldSpecifications[0];\n\t\t\tconst allowMultiple     = fieldSpecifications[1];\n\t\t\tlet valueHolder;\n\n            if (!allowMultiple) {\n                \n\t\t\t\tvalueHolder    = new PhoneNumber.ValueHolder(cellValue, phoneNumberFormat, styles);\n\t\t\t\tconst callback = getPhoneNumberCallback(schemaUI);\n\t\t\t\tcomponent      = new PhoneNumber.FormViewReadWriteComponent(callback);\n\n            } else {\n                \n\t\t\t\tconst values   = getMultipleValues(cellValue);\n\t\t\t\tconst color    = styles.optionColor;\n\t\t\t\tvalueHolder    = new MultiplePhoneNumber.ValueHolder(values, phoneNumberFormat, styles, color);\n\t\t\t\tconst callback = getMultiPhoneNumberCallback(schemaUI);\n\t\t\t\tcomponent      = new MultiplePhoneNumber.PrimaryReadWriteComponent(callback);\n\t\t\t\tcomponent.addClass(INPUT_CLASS);\n\t\t\t\t\n            }\n\t\t\t\n\t\t\tcomponent.setData(valueHolder);\n\t\t\tbreak;\n\n\t\t}\n\n\t\tcase FIELD_TYPES.URL: {\n\n\t\t\tconst allowMultiple = fieldSpecifications[0];\n\t\t\tlet valueHolder;\n\n            if (!allowMultiple) {\n                \n\t\t\t\tvalueHolder    = new URL.ValueHolder(cellValue, styles);\n\t\t\t\tconst callback = getURLCallback(schemaUI);\n\t\t\t\tcomponent      = new URL.FormViewReadWriteComponent(callback);\n\n            } else {\n                \n\t\t\t\tconst values   = getMultipleValues(cellValue);\n                const color    = styles.optionColor;\n                valueHolder    = new MultipleURL.ValueHolder(values, styles, color);\n\t\t\t\tconst callback = getMultiURLCallback(schemaUI);\n                component      = new MultipleURL.PrimaryReadWriteComponent(callback);\n\t\t\t\tcomponent.addClass(INPUT_CLASS)\n\t\t\t\n            }\n\t\t\t\n\t\t\tcomponent.setData(valueHolder);\n\t\t\tbreak;\n\n\t\t}\n\n\t\tcase FIELD_TYPES.ATTACHMENT: {\n\t\t\tconst valueHolder = new Attachment.ValueHolder([], [], {});\n\t\t\tconst callback    = getAttachmentCallback(shareID, teamDriveServerURL, teamDriveDownloadURL, teamDrivePreviewURL, isAttachmentPreviewNeeded, planType, attachmentFieldEventHandler);\n\t\t\tcomponent         = new Attachment.FormReadWriteComponent(callback);\n\t\t\tcomponent.setData(valueHolder);\n\t\t\t!isAttachmentPreviewNeeded ? component.addClass(CURSOR_DEFAULT) : component.removeClass(CURSOR_DEFAULT);\n\t\t\tbreak;\n\n\t\t}\n\n\t\tdefault:\n\t\t\tthrow(UNKNOWN_FIELD_TYPE);\n\n\t}\n\treturn component;\n}\n","\nexport class AbstractClassFormViewInteracter {\n    constructor(isAttachmentPreviewNeeded, teamDriveServerURL, teamDriveDownloadURL, teamDrivePreviewURL, timeZone, collaboratorDS, selectionsDS, fieldsDS, formViewDS, mandatoryFields, shareID, shareURL, planType, getAttachmentFieldEventHandler) {\n        this.isAttachmentPreviewNeeded = isAttachmentPreviewNeeded;\n        this.teamDriveServerURL   = teamDriveServerURL;\n        this.teamDriveDownloadURL = teamDriveDownloadURL;\n        this.teamDrivePreviewURL  = teamDrivePreviewURL;\n        this.timeZone             = timeZone;\n        this.collaboratorDS       = collaboratorDS;\n        this.selectionsDS         = selectionsDS;\n        this.fieldsDS             = fieldsDS; \n        this.formViewDS           = formViewDS;\n        this.mandatoryFields      = mandatoryFields;\n        this.shareID              = shareID;\n        this.shareURL             = shareURL;\n        this.planType             = planType;\n        this.getAttachmentFieldEventHandler = getAttachmentFieldEventHandler\n    }\n    \n    getTeamDriveServerURL() { }\n    getTeamDriveDownloadURL() { }\n    getTeamDrivePreviewURL() { }\n    getShareID() { }\n    getTimeZone() { }\n    getCollaboratorDS() { }\n    getCoverImage() { }\n    getLogo() { }\n    getNameParameters() { }\n    getName() { }\n    getDescription() { }\n    getLabelAlignment() { }\n    getColorTheme() { }\n    getFieldsCount() { }\n    getFieldIDFromIndex(index) { }\n    getSchemaIDFromFieldID(fieldID) { }\n    getSchema(schemaID) { }\n    getFieldType(fieldID) { }\n    getFieldTypeParameters(fieldID) { }\n    getReadWriteComponent(schemaUI, fieldID, componentType, choicesOrder, cellValue) { }\n    getSubmitButtonName() { }\n    getBranding() { }\n    getSchemaUI() { }\n    getSchemaUIWithErrorMessage() { }\n    getMandatoryFields() { }\n    getShareURL() { }\n    getPlanType() { }\n}\n","\nimport { getFieldStylesByType } from \"../FieldTypeStyles.js\";\nimport { FormViewSchema } from \"../UIFiles/FormViewSchema.js\";\nimport { FormViewSchemaWithErrorMessage } from \"../UIFiles/FormViewSchemaWithErrorMessage.js\";\nimport { getFormViewReadWriteComponent } from \"../Utilities/FormViewReadWriteComponentUtility.js\";\nimport { AbstractClassFormViewInteracter } from \"./AbstractClassFormViewInteracter.js\";\n\nconst URL                           = 'url';                           // No I18N\nconst FORM_COVER_IMAGE_LOGO_PREVIEW = 'formCoverImageLogoPreview.do';  // No I18N\nconst FORM_COVER_PUBLIC_IMAGE_LOGO_PREVIEW = 'publicFormCoverImageLogoPreview.do';  // No I18N\nconst ATTACHMENT_FILE_ID            = 'attachmentFileID';              // No I18N\nconst SLASH                         = '/';\nconst QUERY_PARAM                   = '?'\nconst AMPERSAND                     = '&';\nconst EQUALS                        = '=';\n\nexport class FormViewInteracter extends AbstractClassFormViewInteracter {\n\tconstructor(isAttachmentPreviewNeeded, teamDriveServerURL, teamDriveDownloadURL, teamDrivePreviewURL, timeZone, collaboratorDS, selectionsDS, fieldsDS, formViewDS, mandatoryFields, shareID, shareURL, planType, getAttachmentFieldEventHandler) {\n\t\tsuper(isAttachmentPreviewNeeded, teamDriveServerURL, teamDriveDownloadURL, teamDrivePreviewURL, timeZone, collaboratorDS, selectionsDS, fieldsDS, formViewDS, mandatoryFields, shareID, shareURL, planType, getAttachmentFieldEventHandler);\n\t}\n\n\tgetIsAttachmentPreviewNeeded() {\n\t\treturn this.isAttachmentPreviewNeeded;\n\t}\n\n\tgetTeamDriveServerURL() {\n\t\treturn this.teamDriveServerURL;\n\t}\n\n\tgetTeamDriveDownloadURL() {\n\t\treturn this.teamDriveDownloadURL;\n\t}\n\n\tgetTeamDrivePreviewURL() {\n\t\treturn this.teamDrivePreviewURL;\n\t}\n\n\tgetShareID() {\n\t\treturn this.shareID;\n\t}\n\n\tgetTimeZone() {\n\t\treturn this.timeZone;\n\t}\n\n\tgetCollaboratorDS() {\n\t\treturn this.collaboratorDS;\n\t}\n\n\tgetCoverImage() {\n\t\treturn this.formViewDS.getCoverImage();\n\t}\n\n\tgetCoverImageURL(coverImageID) {\n\t\t// return this.getTeamDrivePreviewURL() + SLASH + coverImageID + IMAGE_SIZE_STRING;\n\t\tconst shareURL = window.location.href;\n\t\tconst coverURL = shareURL.indexOf(\"/publish/\") != -1? FORM_COVER_PUBLIC_IMAGE_LOGO_PREVIEW : FORM_COVER_IMAGE_LOGO_PREVIEW; \n\t\treturn window.location.origin + SLASH + coverURL + QUERY_PARAM + URL + EQUALS + encodeURIComponent(shareURL) + AMPERSAND + ATTACHMENT_FILE_ID + EQUALS + encodeURIComponent(coverImageID);\n\t}\n\n\tgetLogo() {\n\t\treturn this.formViewDS.getLogo();\n\t}\n\n\tgetLogoURL(logoID) {\n\t\treturn this.getCoverImageURL(logoID);\n\t}\n\n\tgetNameParameters() {\n\t\treturn this.formViewDS.getNameParameters();\n\t}\n\n\tgetName() {\n\t\treturn this.formViewDS.getFormName();\n\t}\n\n\tgetDescription() {\n\t\treturn this.formViewDS.getFormDescription();\n\t}\n\t\n\tgetLabelAlignment() {\n\t\treturn this.formViewDS.getLabelAlignment();\n\t}\n\n\tgetColorTheme() {\n\t\treturn this.formViewDS.getColorTheme();\n\t}\n\n\tgetFieldsCount() {\n\t\treturn this.formViewDS.getFieldsCount();\n\t}\n\n\tgetFieldIDFromIndex(index) {\n\t\treturn this.formViewDS.getFieldIDFromIndex(index);\n\t}\n\n\tgetSchemaIDFromFieldID(fieldID) {\n\t\treturn this.formViewDS.getSchemaIDFromFieldID(fieldID);\n\t}\n\n\tgetSchema(schemaID) {\n\t\treturn this.formViewDS.getSchema(schemaID);\n\t}\n\n\tgetFieldType(fieldID) {\n\t\tconst fieldDS = this.fieldsDS[fieldID];\n\t\treturn fieldDS.getType();\n\t}\n\n\tgetFieldTypeParameters(fieldID) {\n\t\tconst fieldDS = this.fieldsDS[fieldID];\n\t\treturn fieldDS.getParameters();\n\t}\n\n\tgetReadWriteComponent(schemaUI, fieldID, componentType, choicesOrder, cellValue) {\n\t\tconst fieldType           = this.getFieldType(fieldID);\n\t\tconst fieldSpecifications = this.getFieldTypeParameters(fieldID);\n\t\tconst styles              = getFieldStylesByType(fieldType);\n\n\t\treturn getFormViewReadWriteComponent(schemaUI, fieldID, fieldType, fieldSpecifications, styles, cellValue, componentType, choicesOrder, this.getShareID(), this.getTimeZone(), this.getCollaboratorDS(), selectionID => {\n\t\t\treturn this.selectionsDS[selectionID];\n\t\t}, this.getTeamDriveServerURL(), this.getTeamDriveDownloadURL(), this.getTeamDrivePreviewURL(), this.getIsAttachmentPreviewNeeded(), this.getPlanType(), this.getAttachmentFieldEventHandler());\n\t}\n\n\tgetSubmitButtonName() {\n\t\treturn this.formViewDS.getSubmitButtonName();\n\t}\n\n\tgetBranding() {\n\t\treturn this.formViewDS.getBranding();\n\t}\n\n\tgetSchemaUI() {\n\t\treturn new FormViewSchema();\n\t}\n\n\tgetSchemaUIWithErrorMessage() {\n\t\treturn new FormViewSchemaWithErrorMessage();\n\t}\n\n\tgetMandatoryFields() {\n\t\treturn this.mandatoryFields;\n\t}\n\n\tgetShareURL() {\n\t\treturn this.shareURL;\n\t}\n\n\tgetPlanType() {\n\t\treturn this.planType;\n\t}\n}\n","import { getTemplate } from \"../../../TemplatesForAll.js\";\n\nexport class SubmitFailureDialog {\n    constructor() {\n        const template = getTemplate(\"submitFailureTemplate\");\n        this.dom = template.querySelector(\"#submitFailureDialog\");\n    }\n\n    appendTo(container) {\n        container.append(this.dom);\n    }\n\n    remove() {\n        this.dom.remove();\n    }\n}","\nexport class AbstractClassFormViewSetInteracter {\n    constructor(formViewInteracter, afterSubmitCallback) {\n\t\tthis.formViewInteracter  = formViewInteracter;\n\t\tthis.afterSubmitCallback = afterSubmitCallback;\n\t}\n    \n    createRecord(FormView, schemas, fieldIDs) { }\n    gotoTryTables() { }\n}\n","\nimport { SubmitFormViewAction } from \"../../../Actions/FormViewActions.js\";\nimport { ATTACHMENT, CHECKBOX, PERCENT, RATING } from \"../../../Constants/FieldTypes.js\";\nimport { INVALID_DATA_ERROR_MESSAGE, MANDATORY_FIELDS_ERROR_MESSAGE } from \"../FormViewUtility.js\";\nimport { SubmitFailureDialog } from \"../UIFiles/SubmitFailureDialog.js\";\n\nimport { AbstractClassFormViewSetInteracter } from \"./AbstractClassFormViewSetInteracter.js\";\n\nconst PERCENT_REGEX = /[\\%\\,]/g;\n\nexport class FormViewSetInteracter extends AbstractClassFormViewSetInteracter {\n\tconstructor(formViewInteracter, afterSubmitCallback) {\n\t\tsuper(formViewInteracter, afterSubmitCallback);\n\t}\n\n\tcreateRecord(FormView, schemas, fieldIDs, showLoaderCallback, hideLoaderCallback) {\n\t\tconst fieldCount = this.formViewInteracter.getFieldsCount();\n\t\tfor (let i = 0; i < fieldCount; i++) {\n\t\t\tconst fieldID  = this.formViewInteracter.getFieldIDFromIndex(i);\n\t\t\tconst schemaUI = schemas[fieldID];\n\t\t\tif(schemaUI && schemaUI.isEnteredDataInvalid && schemaUI.isEnteredDataInvalid()) { // TODO: remove first if check when attachment field is added\n\t\t\t\tFormView.setErrorMessage(INVALID_DATA_ERROR_MESSAGE);\n\t\t\t\tFormView.showErrorMessage();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tFormView.setErrorMessage(\"\");\n\t\t\tFormView.hideErrorMessage();\n\t\t}\n\n\t\tconst mandatoryFields = this.formViewInteracter.getMandatoryFields();\n\n\t\tfor (let i = 0; i < mandatoryFields.length; i++) {\n\t\t\tconst fieldID     = mandatoryFields[i];\n\t\t\tconst schemaUI    = schemas[fieldID];\n\t\t\tconst component   = schemaUI.getValue();\n\t\t\tconst valueHolder = component.getData();\n\t\t\tconst fieldValue  = valueHolder.toString();\n\t\t\tconst fieldType   = this.formViewInteracter.getFieldType(fieldID);\n\n\t\t\tswitch(fieldType) {\n\t\t\t\tcase CHECKBOX:\n\t\t\t\tcase RATING:\n\t\t\t\t\tconst valueInNumber = ~~fieldValue;\n\t\t\t\t\tif(!valueInNumber) {\n\t\t\t\t\t\tshowErrorMessage(FormView);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t\n\t\t\t\tcase ATTACHMENT:\n\t\t\t\t\tconst array = JSON.parse(fieldValue);\n\t\t\t\t\tif(!array.length) { // empty array case\n\t\t\t\t\t\tshowErrorMessage(FormView);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\t\t\t\t\tif (!fieldValue) {\n\t\t\t\t\t\tshowErrorMessage(FormView);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tFormView.setErrorMessage(\"\");\n\t\tFormView.hideErrorMessage();\n\n\t\tconst fieldValues = [];\n\t\tfor (let i = 0; i < fieldCount; i++) {\n\t\t\tconst fieldID     = this.formViewInteracter.getFieldIDFromIndex(i);\n\t\t\tconst schemaUI    = schemas[fieldID];\n\t\t\tconst component   = schemaUI.getValue();\n\t\t\tconst valueHolder = component.getData();\n\t\t\tconst fieldValue  = valueHolder.toString();\n\t\t\tconst fieldType   = this.formViewInteracter.getFieldType(fieldID);\n\n\t\t\tconst isPercentFieldType = fieldType === PERCENT;\n\t\t\tif(isPercentFieldType) {\n\t\t\t\tif(!fieldValue) {\n\t\t\t\t\tfieldValues.push(fieldValue);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst newFieldValue = fieldValue.replaceAll(PERCENT_REGEX, '');\n\t\t\t\tconst valueToBeSent = Number(newFieldValue) / 100;\n\t\t\t\tfieldValues.push(valueToBeSent);\n\t\t\t} else {\n\t\t\t\tfieldValues.push(fieldValue);\n\t\t\t}\n\t\t}\n\t\t\n\t\tshowLoaderCallback && showLoaderCallback();\n\t\tSubmitFormViewAction(this.formViewInteracter.getShareURL(), fieldIDs, fieldValues, this.afterSubmitCallback, () => {\n\t\t\thideLoaderCallback();\n\t\t\tFormView.hideLoader();\n\t\t\tFormView.remove();\n\t\t\tconst submitFailureDialog = new SubmitFailureDialog();\n\t\t\tsubmitFailureDialog.appendTo(document.body);\n\t\t});\n\t}\n\n\tgotoTryTables() {\n\t\t// console.log('Go to try tables page');\n\t}\n}\n\nfunction showErrorMessage(FormView) {\n\tFormView.setErrorMessage(MANDATORY_FIELDS_ERROR_MESSAGE);\n\tFormView.showErrorMessage();\n}\n","\nimport { HASH } from \"../../Constants/CssClassNamesForUI.js\";\n\nconst EXCEPT_DIGITS_REGEX = /\\D/g;\nconst WHITE_COLOR         = 'ffffff';// No I18N\n// const getColor            = ColorUtil.getColor;\nexport const TIMER        = 700;\nexport const BACKGROUND_IMAGE_PROPERTY = 'background-image';// No I18N\n\nexport function getRGBColor(colorWithoutHex) {// TODO: New Base Color - changes: Remove the commented codes after 6 months of release..\n\t// const rgbString = getColor(colorWithoutHex, WHITE_COLOR, 0);\n\t// const array     = rgbString.split(',');\n\t// let   bgColor   = '';\n\n\t// for (let i = 0; i < array.length; i++) {\n\t// \tbgColor += array[i].replace(EXCEPT_DIGITS_REGEX, '');\n\t// \tif (i + 1 < array.length) {\n\t// \t\tbgColor += ', ';\n\t// \t}\n\t// }\n\t// return bgColor;\n\treturn `${HASH}${colorWithoutHex}`;\n}\n\nexport function getRadioButtonName() {\n\treturn Math.random().toString();\n}\n\nexport function getFormViewDS(baseID, tableID, viewID) {\n\tconst table = getTable(baseID, tableID);\n\treturn table.getView(viewID);\n}\n\nfunction getBase(baseID) {\n\treturn Table.Data.Workspace.get(baseID);\n}\n\nexport function getTable(baseID, tableID) {\n\tconst base = getBase(baseID);\n\treturn base.getTable(tableID);\n}\n\nfunction getField(baseID, tableID, fieldID) {\n\tconst table = getTable(baseID, tableID);\n\treturn table.getField(fieldID);\n}\n\nexport function getFieldType(baseID, tableID, fieldID) {\n\tconst field = getField(baseID, tableID, fieldID);\n\treturn field.getType().getType();\n}\n\nexport function getIsFormViewBrandingDisablingAllowed(baseID) {\n\tconst base = getBase(baseID);\n\treturn base.getIsFormViewBrandingDisablingAllowed();\n}\n","import { ATTACHMENT, CHECKBOX, COLLABORATOR_CLIENT, CURRENCY, DATE_TIME, EMAIL, INVALID_FIELD_TYPE, LINK, MULTIPLE_SELECTION, NUMBER, PERCENT, PHONE_NUMBER, RATING, SINGLE_SELECTION, TEXT, URL } from \"../../Constants/FieldTypes.js\";\nimport { FORM_LABEL_ALIGNMENT_LEFT, FORM_LABEL_ALIGNMENT_RIGHT, FORM_LABEL_ALIGNMENT_TOP, FORM_NAME_ALIGNMENT_CENTER, FORM_NAME_ALIGNMENT_LEFT, FORM_NAME_ALIGNMENT_RIGHT, FORM_NAME_SIZE_LARGE, FORM_NAME_SIZE_MEDIUM, FORM_NAME_SIZE_SMALL } from \"../../Constants/FormConstants.js\";\nimport { INVALID_CURRENCY_STRING, INVALID_EMAIL_STRING, INVALID_NUMBER_STRING, INVALID_PERCENT_STRING, INVALID_PHONE_NUMBER_STRING, INVALID_URL_STRING } from \"./FormViewUtility.js\";\n\nconst LABEL_ALIGNMENT_ERROR_MESSAGE = \"Invalid label alignment present\";  // No I18N\nconst INVALID_SIZE                  = \"Invalid Size\";                     // No I18N\nconst INVALID_ALIGNMENT             = \"Invalid Alignment\";                // No I18N\n\nexport function initializeFormView(FormViewInteracter, FormView) {\n\tFormView.reset();\n\n\t// set coverImage\n\tconst coverImage          = FormViewInteracter.getCoverImage();\n\tconst isCoverImageVisible = coverImage.getVisibility();\n\t\n\tif(isCoverImageVisible) {\n\t\tFormView.showCoverImage();\n\t\tconst coverImageID  = coverImage.getID();\n\t\tconst coverImageURL = FormViewInteracter.getCoverImageURL(coverImageID);\n\t\tFormView.setCoverImage(coverImageURL);\n\t} else {\n\t\tFormView.hideCoverImage();\n\t}\n\n\t// set logo\n\tconst logo          = FormViewInteracter.getLogo();\n\tconst isLogoVisible = logo.getVisibility();\n\t\n\tif(isLogoVisible) {\n\t\tFormView.showLogo();\n\t\tconst logoID  = logo.getID();\n\t\tconst logoURL = FormViewInteracter.getLogoURL(logoID);\n\t\tFormView.setLogo(logoURL);\n\t\t\n\t\tswitch(logo.getSize()) {\n\t\t\tcase FORM_NAME_SIZE_SMALL:\n\t\t\t\tFormView.setLogoSizeSmall();\n\t\t\t\tbreak;\n\t\n\t\t\tcase FORM_NAME_SIZE_MEDIUM:\n\t\t\t\tFormView.setLogoSizeMedium();\n\t\t\t\tbreak;\n\t\n\t\t\tcase FORM_NAME_SIZE_LARGE:\n\t\t\t\tFormView.setLogoSizeLarge();\n\t\t\t\tbreak;\n\t\n\t\t\tdefault:\n\t\t\t\tthrow(INVALID_SIZE);\n\t\t}\n\t\n\t\tswitch (logo.getAlignment()) {\n\t\t\tcase FORM_NAME_ALIGNMENT_LEFT:\n\t\t\t\tFormView.setLogoAlignmentLeft();\n\t\t\t\tbreak;\n\t\n\t\t\tcase FORM_NAME_ALIGNMENT_CENTER:\n\t\t\t\tFormView.setLogoAlignmentCenter();\n\t\t\t\tbreak;\n\t\n\t\t\tcase FORM_NAME_ALIGNMENT_RIGHT:\n\t\t\t\tFormView.setLogoAlignmentRight();\n\t\t\t\tbreak;\n\t\t\t\n\t\t\tdefault:\n\t\t\t\tthrow(INVALID_ALIGNMENT);\n\t\t}\n\t} else {\n\t\tFormView.hideLogo();\n\t}\n\n\n\tconst nameParameters           = FormViewInteracter.getNameParameters();\n\tconst nameParametersVisibility = nameParameters.getVisibility();\n\n\tif(!nameParametersVisibility) {\n\t\tFormView.hideFormNameContainer();\n\t} else {\n\t\tFormView.showFormNameContainer();\n\t\tFormView.setName(FormViewInteracter.getName());\n\t\tFormView.setDescription(FormViewInteracter.getDescription());\n\n\t\tconst nameParametersAlignment = nameParameters.getAlignment();\n\t\tconst nameParametersSize      = nameParameters.getSize();\n\n\t\tswitch (nameParametersSize) {\n\t\t\tcase FORM_NAME_SIZE_SMALL:\n\t\t\t\tFormView.setFormNameSizeSmall();\n\t\t\t\tbreak;\n\t\n\t\t\tcase FORM_NAME_SIZE_MEDIUM:\n\t\t\t\tFormView.setFormNameSizeMedium();\n\t\t\t\tbreak;\n\t\n\t\t\tcase FORM_NAME_SIZE_LARGE:\n\t\t\t\tFormView.setFormNameSizeLarge();\n\t\t\t\tbreak;\n\t\n\t\t\tdefault:\n\t\t\t\tthrow(INVALID_SIZE);\n\t\t}\n\t\n\t\tswitch (nameParametersAlignment) {\n\t\t\tcase FORM_NAME_ALIGNMENT_LEFT:\n\t\t\t\tFormView.setFormNameAlignmentLeft();\n\t\t\t\tbreak;\n\t\n\t\t\tcase FORM_NAME_ALIGNMENT_CENTER:\n\t\t\t\tFormView.setFormNameAlignmentCenter();\n\t\t\t\tbreak;\n\t\n\t\t\tcase FORM_NAME_ALIGNMENT_RIGHT:\n\t\t\t\tFormView.setFormNameAlignmentRight();\n\t\t\t\tbreak;\n\t\t\t\n\t\t\tdefault:\n\t\t\t\tthrow(INVALID_ALIGNMENT);\n\t\t}\n\t}\n\n\t(!isCoverImageVisible && !isLogoVisible && !nameParametersVisibility) ? FormView.hideLogoContainerBottomHorizontalLine() : FormView.showLogoContainerBottomHorizontalLine();\n\t\n\tconst labelAlignment = FormViewInteracter.getLabelAlignment();\n\tswitch(labelAlignment) {\n\t\tcase FORM_LABEL_ALIGNMENT_TOP:\n\t\t\tFormView.setLabelAlignmentTop();\n\t\t\tbreak;\n\n\t\tcase FORM_LABEL_ALIGNMENT_LEFT:\n\t\t\tFormView.setLabelAlignmentLeft();\n\t\t\tbreak;\n\n\t\tcase FORM_LABEL_ALIGNMENT_RIGHT:\n\t\t\tFormView.setLabelAlignmentRight();\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tthrow(LABEL_ALIGNMENT_ERROR_MESSAGE);\n\t}\n\n\tFormView.setColorTheme(FormViewInteracter.getColorTheme());\n\n\tconst count = FormViewInteracter.getFieldsCount();\n\tfor (let i = 0; i < count; i++) {\n\n\t\tconst fieldID           = FormViewInteracter.getFieldIDFromIndex(i);\n\t\tconst schemaID          = FormViewInteracter.getSchemaIDFromFieldID(fieldID);\n\t\tconst schema            = FormViewInteracter.getSchema(schemaID);\n\t\tconst schemaName        = schema.getName();\n\t\tconst schemaDescription = schema.getDescription();\n\t\tconst required          = schema.getRequired();\n\t\tconst componentType     = schema.getComponentType();\n\t\tconst choicesOrder      = schema.getChoicesOrder();\n\t\tconst schemaUI          = getSchemaUI(FormViewInteracter, fieldID);\n\t\tconst cellValue         = '';\n\t\tconst component         = FormViewInteracter.getReadWriteComponent(schemaUI, fieldID, componentType, choicesOrder, cellValue);\n        \n\t\tschemaUI.setName(schemaName);\n\t\tschemaDescription ? schemaUI.setDescription(schemaDescription) : schemaUI.removeDescription();\n\t\trequired ? schemaUI.addRequired() : schemaUI.removeRequired();\n\t\tschemaUI.setValue(component);\n\n        FormView.addSchema(fieldID, schemaUI);\n        FormView.addFieldID(fieldID);\n\t\tFormView.appendSchema(schemaUI);\n\t}\n\n\tFormView.setSubmitButtonName(FormViewInteracter.getSubmitButtonName());\n\n\tconst branding = FormViewInteracter.getBranding();\n    !branding ? FormView.removeBranding() : FormView.addBranding();\n}\n\nfunction getSchemaUI(FormViewInteracter, fieldID) {\n\tconst fieldType = FormViewInteracter.getFieldType(fieldID);\n\tswitch(fieldType) {\n\t\tcase TEXT:\n\t\tcase MULTIPLE_SELECTION:\n\t\tcase SINGLE_SELECTION:\n\t\tcase COLLABORATOR_CLIENT:\n\t\tcase LINK:\n\t\tcase CHECKBOX:\n\t\tcase RATING:\n\t\tcase DATE_TIME:\n\t\tcase ATTACHMENT:\n\t\t\treturn FormViewInteracter.getSchemaUI();\n\n\t\tcase NUMBER:{\n\t\t\tconst schemaUI = FormViewInteracter.getSchemaUIWithErrorMessage();\n\t\t\tschemaUI.setErrorMessage(INVALID_NUMBER_STRING);\n\t\t\treturn schemaUI;\n\t\t}\n\n\t\tcase PERCENT:{\n\t\t\tconst schemaUI = FormViewInteracter.getSchemaUIWithErrorMessage();\n\t\t\tschemaUI.setErrorMessage(INVALID_PERCENT_STRING);\n\t\t\treturn schemaUI;\n\t\t}\n\n\t\tcase CURRENCY:{\n\t\t\tconst schemaUI = FormViewInteracter.getSchemaUIWithErrorMessage();\n\t\t\tschemaUI.setErrorMessage(INVALID_CURRENCY_STRING);\n\t\t\treturn schemaUI;\n\t\t}\n\n\t\tcase PHONE_NUMBER: {\n\t\t\tconst schemaUI = FormViewInteracter.getSchemaUIWithErrorMessage();\n\t\t\tschemaUI.setErrorMessage(INVALID_PHONE_NUMBER_STRING);\n\t\t\treturn schemaUI;\n\t\t}\n\n\t\tcase EMAIL: {\n\t\t\tconst schemaUI = FormViewInteracter.getSchemaUIWithErrorMessage();\n\t\t\tschemaUI.setErrorMessage(INVALID_EMAIL_STRING);\n\t\t\treturn schemaUI;\n\t\t}\n\n\t\tcase URL: {\n\t\t\tconst schemaUI = FormViewInteracter.getSchemaUIWithErrorMessage();\n\t\t\tschemaUI.setErrorMessage(INVALID_URL_STRING);\n\t\t\treturn schemaUI;\n\t\t}\n\n\t\tdefault:\n\t\t\tthrow(INVALID_FIELD_TYPE);\n\t}\n}\n","\nexport class AbstractClassFormView {\n    constructor(formViewSetInteracter, formViewInteracter) {\n        this.formViewSetInteracter = formViewSetInteracter;\n\t\tthis.formViewInteracter    = formViewInteracter;\n    }\n\n    focusFirstComponent() { }\n    initialize() { }\n    appendTo(container) { }\n    remove() { }\n    setCoverImage(coverImage) { }\n    setLogo(logo) { }\n    setFormNameSizeSmall() { }\n    setFormNameSizeMedium() { }\n    setFormNameSizeLarge() { }\n    setFormNameAlignmentLeft() { }\n    setFormNameAlignmentCenter() { }\n    setFormNameAlignmentRight() { }\n    setName(formName) { }\n    setDescription(formDescription) { }\n    setLabelAlignmentTop() { }\n    setLabelAlignmentLeft() { }\n    setLabelAlignmentRight() { }\n    setColorTheme(color) { }\n    appendSchema(schema) { }\n    addSchema(fieldID, schema) { }\n    addFieldID(fieldID) { }\n    setSubmitButtonName(submitButtonName) { }\n    addBranding() { }\n    removeBranding() { }\n    reset() { }\n    setInteracters(formViewSetInteracter, formViewInteracter) { }\n    showErrorMessage() { }\n    hideErrorMessage() { }\n    setErrorMessage(errorMessage) { }\n    showFormNameContainer() { }\n    hideFormNameContainer() { }\n    showCoverImageSkeletonLoader() { }\n    hideCoverImageSkeletonLoader() { }\n    showLogoSkeletonLoader() { }\n    hideLogoSkeletonLoader() { }\n}","import { FBH_UPLOAD_LOGO_LOADER_ACTIVE, FORM_BACKGROUND_COLOR, FORM_LOGO_ALIGN_CENTER, FORM_LOGO_ALIGN_LEFT, FORM_LOGO_ALIGN_RIGHT, FORM_LOGO_SIZE_LARGE, FORM_LOGO_SIZE_MEDIUM, FORM_LOGO_SIZE_SMALL, FORM_NAME_ALIGN, FORM_NAME_ALIGN_CENTER, FORM_NAME_ALIGN_LEFT, FORM_NAME_ALIGN_RIGHT, FORM_NAME_SIZE, FORM_NAME_SIZE_LARGE, FORM_NAME_SIZE_MEDIUM, FORM_NAME_SIZE_SMALL, FORM_VIEW_LABEL_ALIGN_LEFT, FORM_VIEW_LABEL_ALIGN_RIGHT, FORM_VIEW_LABEL_ALIGN_TOP, HIDE, ZT_CURSOR_PROGRESS, ZT_SKELETON_LOADER } from \"../../../Constants/CssClassNamesForUI.js\";\nimport { getTemplateByID } from \"../../../TemplatesForAll.js\";\nimport { getRGBColor } from '../../FormBuilder/FormBuilderUtility.js';\nimport { initializeFormView } from \"../InitializeFormView.js\";\nimport { AbstractClassFormView } from \"./AbstractClassFormView.js\";\n\nexport class FormView extends AbstractClassFormView {\n\tconstructor(formViewSetInteracter, formViewInteracter) {\n\t\tsuper(formViewSetInteracter, formViewInteracter);\n\n\t\tthis.dom                     = getTemplateByID('formView2Template', 'formView');    // No I18N\n\t\tthis.innerPanel              = this.dom.querySelector('#innerPanel');               // No I18N\n\t\t// this.coverImageContainer     = this.dom.querySelector('#coverImageContainer');      // No I18N\n\t\tthis.coverImage              = this.dom.querySelector('#coverImage');               // No I18N\n\t\tthis.coverImageTag           = this.dom.querySelector('#coverImageTag');               // No I18N\n\t\tthis.logoContainer           = this.dom.querySelector('#logoContainer');            // No I18N\n\t\tthis.logo                    = this.dom.querySelector('#logo');                     // No I18N\n\t\tthis.logoImgContainer        = this.dom.querySelector('#logoImgContainer'); // No I18N\n\t\tthis.logoImageTag            = this.dom.querySelector('#logoImageTag');             // No I18N\n\t\tthis.formMetaContainer       = this.dom.querySelector('#formMetaContainer');        // No I18N\n\t\tthis.name                    = this.dom.querySelector('#formName');                 // No I18N\n\t\tthis.description             = this.dom.querySelector('#formDescription');          // No I18N\n\t\tthis.schemaContainer         = this.dom.querySelector('#schemaContainer');          // No I18N\n\t\tthis.errorMessage            = this.dom.querySelector('#errorMessage');             // No I18N\n\t\tthis.submitButton            = this.dom.querySelector('#submitButton');             // No I18N\n\t\tthis.submitButtonLoader      = this.dom.querySelector('#submitButtonLoader');       // No I18N\n\t\tthis.submitButtonLoader.remove();\n\n\t\tthis.submitContent           = this.dom.querySelector('#submitContent');            // No I18N\n \t\tthis.brandingButtonContainer = this.dom.querySelector('#brandingButtonContainer');  // No I18N\n\t\tthis.brandingButton          = this.dom.querySelector('#brandingButton');           // No I18N\n\t\tthis.schemas                 = {};\n\t\tthis.fieldIDs                = [];\n\t\taddListener.call(this);\n\n\t\tthis.coverImageOnLoadCallback = () => {\n\t\t\tthis.hideCoverImageSkeletonLoader();\n\t\t\tthis.coverImageTag.removeEventListener('load', this.coverImageOnLoadCallback);\n\t\t\tthis.coverImageTag.removeEventListener('error', this.coverImageOnErrorCallback);\n\t\t}\n\n\t\tthis.coverImageOnErrorCallback = () => {\n\t\t\tthis.coverImageTag.removeEventListener('error', this.coverImageOnErrorCallback);\n\t\t\tthis.hideCoverImageSkeletonLoader();\n\t\t\tthis.setCoverImage('');\n\t\t}\n\n\t\tthis.logoOnLoadCallback = () => {\n\t\t\tthis.hideLogoSkeletonLoader();\n\t\t\tthis.logoImageTag.removeEventListener('load', this.logoOnLoadCallback);\n\t\t\tthis.logoImageTag.removeEventListener('error', this.logoOnErrorCallback);\n\t\t}\n\n\t\tthis.logoOnErrorCallback = () => {\n\t\t\tthis.logoImageTag.removeEventListener('error', this.logoOnErrorCallback);\n\t\t\tthis.hideLogoSkeletonLoader();\n\t\t\tthis.setLogo('');\n\t\t}\n\t}\n\n\tfocusFirstComponent() {\n\t\tconst firstFieldID = this.fieldIDs[0];\n\t\tconst schemaUI     = this.schemas[firstFieldID];\n\t\tschemaUI.focus();\n\t}\n\n\tinitialize() {\n\t\tinitializeFormView(this.formViewInteracter, this);\n\t}\n\n\tappendTo(container) {\n\t\tcontainer.appendChild(this.dom);\n\t}\n\n\tremove() {\n\t\tthis.dom.remove();\n\t}\n\n\tsetCoverImage(coverImageURL) {\n\t\tthis.coverImageTag.addEventListener('load', this.coverImageOnLoadCallback);\n\t\tthis.coverImageTag.addEventListener('error', this.coverImageOnErrorCallback);\n\t\tthis.showCoverImageSkeletonLoader();\n\t\tthis.coverImageTag.src = coverImageURL;\n\t}\n\n\tsetLogo(logoURL) {\n\t\tthis.logoImageTag.addEventListener('load', this.logoOnLoadCallback);\n\t\tthis.logoImageTag.addEventListener('error', this.logoOnErrorCallback);\n\t\tthis.showLogoSkeletonLoader();\n\t\tthis.logoImageTag.src = logoURL;\n\t}\n\n\tshowCoverImage() {\n\t\tthis.coverImage.classList.remove(HIDE);\n\t}\n\n\thideCoverImage() {\n\t\tthis.coverImage.classList.add(HIDE);\n\t}\n\n\tshowLogo() {\n\t\tthis.logo.classList.remove(HIDE);\n\t}\n\n\thideLogo() {\n\t\tthis.logo.classList.add(HIDE);\n\t}\n\n\tsetLogoSizeSmall() {\n\t\tthis.logoImgContainer.classList.add(FORM_LOGO_SIZE_SMALL);\n\t}\n\n\tsetLogoSizeMedium() {\n\t\tthis.logoImgContainer.classList.add(FORM_LOGO_SIZE_MEDIUM);\n\t}\n\n\tsetLogoSizeLarge() {\n\t\tthis.logoImgContainer.classList.add(FORM_LOGO_SIZE_LARGE);\n\t}\n\n\tsetLogoAlignmentLeft() {\n\t\tthis.logo.classList.add(FORM_LOGO_ALIGN_LEFT);\n\t}\n\n\tsetLogoAlignmentCenter() {\n\t\tthis.logo.classList.add(FORM_LOGO_ALIGN_CENTER);\n\t}\n\n\tsetLogoAlignmentRight() {\n\t\tthis.logo.classList.add(FORM_LOGO_ALIGN_RIGHT);\n\t}\n\n\tsetFormNameSizeSmall() {\n\t\tthis.formMetaContainer.style.setProperty(FORM_NAME_SIZE, FORM_NAME_SIZE_SMALL);\n\t}\n\n\tsetFormNameSizeMedium() {\n\t\tthis.formMetaContainer.style.setProperty(FORM_NAME_SIZE, FORM_NAME_SIZE_MEDIUM);\n\t}\n\n\tsetFormNameSizeLarge() {\n\t\tthis.formMetaContainer.style.setProperty(FORM_NAME_SIZE, FORM_NAME_SIZE_LARGE);\n\t}\n\n\tsetFormNameAlignmentLeft() {\n\t\tthis.formMetaContainer.style.setProperty(FORM_NAME_ALIGN, FORM_NAME_ALIGN_LEFT);\n\t}\n\n\tsetFormNameAlignmentCenter() {\n\t\tthis.formMetaContainer.style.setProperty(FORM_NAME_ALIGN, FORM_NAME_ALIGN_CENTER);\n\t}\n\n\tsetFormNameAlignmentRight() {\n\t\tthis.formMetaContainer.style.setProperty(FORM_NAME_ALIGN, FORM_NAME_ALIGN_RIGHT);\n\t}\n\n\tsetName(formName) {\n\t\tthis.name.textContent = formName;\n\t}\n\n\tsetDescription(formDescription) {\n\t\tthis.description.textContent = formDescription;\n\t}\n\n\tsetLabelAlignmentTop() {\n\t\tthis.schemaContainer.classList.add(FORM_VIEW_LABEL_ALIGN_TOP);\n\t}\n\n\tsetLabelAlignmentLeft() {\n\t\tthis.schemaContainer.classList.add(FORM_VIEW_LABEL_ALIGN_LEFT);\n\t}\n\n\tsetLabelAlignmentRight() {\n\t\tthis.schemaContainer.classList.add(FORM_VIEW_LABEL_ALIGN_RIGHT);\n\t}\n\n\tsetColorTheme(color) {\n\t\tthis.dom.style.setProperty(FORM_BACKGROUND_COLOR, getRGBColor(color));\n\t}\n\n\tappendSchema(schema) {\n\t\tschema.appendTo(this.schemaContainer);\n\t}\n\n\taddSchema(fieldID, schema) {\n\t\tthis.schemas[fieldID] = schema;\n\t}\n\n\taddFieldID(fieldID) {\n\t\tthis.fieldIDs.push(fieldID);\n\t}\n\n\tsetSubmitButtonName(submitButtonName) {\n\t\tthis.submitContent.textContent = submitButtonName;\n\t}\n\n\tenableSubmitButton() {\n\t\tthis.submitButton.classList.remove(ZT_CURSOR_PROGRESS);\n\t\tthis.shouldDisableSubmitButton = false;\n\t}\n\n\tdisableSubmitButton() {\n\t\tthis.submitButton.classList.add(ZT_CURSOR_PROGRESS);\n\t\tthis.shouldDisableSubmitButton = true;\n\t}\n\n\tsetSubmitButtonInfo(submitButtonInfo) {\n\t\tthis.submitButton.title = submitButtonInfo;\n\t}\n\n\taddBranding() {\n\t\tthis.innerPanel.appendChild(this.brandingButtonContainer);\n\t}\n\n\tremoveBranding() {\n\t\tthis.brandingButtonContainer.remove();\n\t}\n\n\treset() {\n\t\tthis.schemas                   = {};\n\t\tthis.fieldIDs                  = [];\n\t\tthis.schemaContainer.innerHTML = '';\n\t\tthis.setErrorMessage(\"\");\n\t\tthis.hideErrorMessage();\n\t}\n\n\tsetInteracters(formViewSetInteracter, formViewInteracter) {\n\t\tthis.formViewSetInteracter = formViewSetInteracter;\n\t\tthis.formViewInteracter    = formViewInteracter;\n\t}\n\n\tshowErrorMessage() {\n\t\tthis.errorMessage.classList.remove(HIDE);\n\t}\n\n\thideErrorMessage() {\n\t\tthis.errorMessage.classList.add(HIDE);\n\t}\n\n\tsetErrorMessage(errorMessage) {\n\t\tthis.errorMessage.textContent = errorMessage;\n\t}\n\n\tshowFormNameContainer() {\n\t\tthis.formMetaContainer.classList.remove(HIDE);\n\t}\n\n\thideFormNameContainer() {\n\t\tthis.formMetaContainer.classList.add(HIDE);\n\t}\n\n\tshowLoader(){\n\t\tthis.submitButton.prepend(this.submitButtonLoader);\n\t\tthis.submitButton.classList.add('ZTCL-active');\n\t}\n\n\thideLoader(){\n\t\tthis.submitButton.classList.remove('ZTCL-active');\n\t\tthis.submitButtonLoader.remove();\n\t}\n\n\thideLogoContainerBottomHorizontalLine() {\n\t\tthis.logoContainer.classList.add(HIDE);\n\t}\n\n\tshowLogoContainerBottomHorizontalLine() {\n\t\tthis.logoContainer.classList.remove(HIDE);\n\t}\n\n\tshowCoverImageSkeletonLoader() {\n\t\tthis.coverImage.classList.add(ZT_SKELETON_LOADER);\n\t}\n\n    hideCoverImageSkeletonLoader() {\n\t\tthis.coverImage.classList.remove(ZT_SKELETON_LOADER);\n\t}\n\n\tshowLogoSkeletonLoader() {\n\t\tthis.logoContainer.classList.add(FBH_UPLOAD_LOGO_LOADER_ACTIVE);\n\t}\n\n    hideLogoSkeletonLoader() {\n\t\tthis.logoContainer.classList.remove(FBH_UPLOAD_LOGO_LOADER_ACTIVE);\n\t}\n}\n\nfunction addListener() {\n\tthis.submitButton.addEventListener('mousedown', ev => {\n\t\tthis.shouldDisableSubmitButton && ev.preventDefault();\n\t})\n\n\tthis.submitButton.addEventListener('click', ev => {\n\t\tif(this.shouldDisableSubmitButton) return;\n\n\t\tthis.formViewSetInteracter.createRecord(this, this.schemas, this.fieldIDs, ()=>{\n\t\t\tthis.showLoader();\n\t\t}, () => {\n\t\t\tthis.hideLoader();\n\t\t});\n\t});\n\n\tthis.brandingButton.addEventListener('click', ev => {\n\t\tthis.formViewSetInteracter.gotoTryTables();\n\t});\n}\n","\nimport * as FIELD_TYPES from './../../Constants/FieldTypes.js';\nimport { A, ADD, ALT, BACKSLASH, CLOSEBRACKET, COMMA, COMMAND, CTRL, DECIMAL, DIVIDE, DOT, EQUAL, LEFTCOMMAND, MINUS, MULTIPLY, NINE, NUMPAD_NINE, NUMPAD_ZERO, OPENBRACKET, PURE_PRINTABLE_CHAR, RIGHTCOMMAND, SEMICOLON, SHIFT, SINGLEQUOTE, SLASH, SPACE, SUBTRACT, TILDE, Z, ZERO } from './../../Constants/KeyCodes.js';\nexport let SUPER;\nlet getShortCutKeyCombo;\nif (window.navigator.platform.toUpperCase().includes(\"MAC\")) {\n\tSUPER = COMMAND;\n\tgetShortCutKeyCombo = ev => {\n\t\tconst keyCode = getKeyCode(ev);\n\t\tlet Key = '';\n\t\tev.metaKey && (Key += `${SUPER}+`);\n\t\tev.ctrlKey && (Key += `${CTRL}+`);\n\t\tev.altKey && (Key += `${ALT}+`);\n\t\tev.shiftKey && (Key += `${SHIFT}+`);\n\t\tKey += keyCode;\n\t\treturn Key;\n\t}\n} else {\n\tSUPER = CTRL;\n\tgetShortCutKeyCombo = ev => {\n\t\tconst keyCode = getKeyCode(ev);\n\t\tlet Key = '';\n\t\tev.ctrlKey && (Key += `${CTRL}+`);\n\t\tev.altKey && (Key += `${ALT}+`);\n\t\tev.shiftKey && (Key += `${SHIFT}+`);\n\t\tKey += keyCode;\n\t\treturn Key;\n\t}\n}\n\nexport function getKeyCode(ev) {\n\tconst keyCode = ev.keyCode || ev.which;\n\treturn keyCode.toString();\n}\n\nconst KeyCode_A = ~~A;\nconst KeyCode_Z = ~~Z;\nconst KeyCode_ZERO = ~~ZERO;\nconst KeyCode_NINE = ~~NINE;\nconst KeyCode_NUMPAD_ZERO = ~~NUMPAD_ZERO;\nconst KeyCode_NUMPAD_NINE = ~~NUMPAD_NINE;\n\nfunction isPrintable(ev) {\n\tif (!ev.metaKey && !ev.ctrlKey && !ev.altKey) {\n\n\t\tvar keyCode = ev.keyCode || ev.which;\n\t\tif ((keyCode >= KeyCode_A && keyCode <= KeyCode_Z) || (keyCode >= KeyCode_ZERO && keyCode <= KeyCode_NINE) || (keyCode >= KeyCode_NUMPAD_ZERO && keyCode <= KeyCode_NUMPAD_NINE)) {\n\t\t\treturn true\n\t\t}\n\n\t\tvar keyCode = getKeyCode(ev);\n\t\tswitch (keyCode) {\n\t\t\tcase TILDE:\n\t\t\tcase MINUS:\n\t\t\tcase EQUAL:\n\t\t\tcase OPENBRACKET:\n\t\t\tcase CLOSEBRACKET:\n\t\t\tcase BACKSLASH:\n\t\t\tcase SEMICOLON:\n\t\t\tcase SINGLEQUOTE:\n\t\t\tcase COMMA:\n\t\t\tcase DOT:\n\t\t\tcase SLASH:\n\t\t\tcase ADD:\n\t\t\tcase SUBTRACT:\n\t\t\tcase MULTIPLY:\n\t\t\tcase DIVIDE:\n\t\t\tcase DECIMAL:\n\t\t\t\t// case DELETE       : // DELETE and BACKSPACE doesn't come under PurePrinatbleCharacter\n\t\t\t\t// case BACKSPACE    :\n\t\t\t\treturn true;\n\t\t\tcase SPACE:\n\t\t\t\treturn !ev.shiftKey;\n\t\t}\n\t}\n\treturn false;\n}\nfunction exceptionCase(ev) {\n\tif (Table.Data && Table.Data.Workspace && window.grid && interacter) {\n\t\tconst keyCode = getKeyCode(ev);\n\t\tconst activeCell = grid.Navigation.getActiveCell();\n\t\tconst activeFID = interacter.getFieldID(activeCell.startCol);\n\t\treturn (keyCode === SPACE) && (interacter.getFieldType(activeFID) == FIELD_TYPES.CHECKBOX) ? true : false;\n\t}\n\treturn false;\n}\nexport function getKeyCombination(ev) {\n\tconst keyCode = getKeyCode(ev);\n\tlet Key = '';\n\tconst isModifierKey = (keyCode === RIGHTCOMMAND || keyCode === LEFTCOMMAND || keyCode === COMMAND) || (keyCode === SHIFT) || (keyCode === ALT) || (keyCode === CTRL);\n\tif (isPrintable(ev)) {\n\t\t// if (isPrintable(ev)) {// TODO: space is needed for toggling data in checkbox field in grid.. Dhanush did it\t \n\t\tKey = PURE_PRINTABLE_CHAR;\n\t} else if (!isModifierKey) {\n\t\tKey = getShortCutKeyCombo(ev);\n\t} else {\n\t\tev.metaKey && (Key = COMMAND);\n\t\tKey += (ev.ctrlKey ? (Key === '' ? '' : '+') + CTRL : '');\n\t\tKey += (ev.altKey ? (Key === '' ? '' : '+') + ALT : '');\n\t\tKey += (ev.shiftKey ? (Key === '' ? '' : '+') + SHIFT : '');\n\t}\n\treturn Key;\n}\n","import { getKeyCombination } from \"../../../BrowserEvents/Keyboard/KeyListener.js\";\nimport { ENTER } from \"../../../Constants/KeyCodes.js\";\nimport { getTemplate } from \"../../../TemplatesForAll.js\";\n\nexport class PasswordDialog {\n    #keyListener;\n\n    constructor(callback) {\n        const template  = getTemplate('passwordDialogTemplate'); //No I18N\n        this.dom        = template.querySelector('.FB-shareFormSec'); //No I18N\n        this.inputPanel = this.dom.querySelector('.FB-shareFormPasswordPanel'); //No I18N\n        this.button     = this.dom.querySelector('.FBSF-primaryBtn'); //No I18N\n        this.input      = this.dom.querySelector('#passwordInput'); //No I18N\n        this.errorMsg   = this.dom.querySelector('.FBSF-errorMsg'); //No I18N\n        this.eyeSlash   = this.dom.querySelector('#eyeSlash'); //No I18N\n        this.eye        = this.dom.querySelector('.FBSF-hideShowIcon'); //No I18N\n        this.loader     = this.dom.querySelector('#loader'); //No I18N\n        this.loader.remove();\n\n        this.#addListener(callback);\n        this.button.disabled = true;\n        this.showPassword    = true;\n\n        const self = this;\n        this.#keyListener    = keyListener.bind(this, {\n            onEnter: function () {\n                if(self.input.value.length > 0) {\n                    self.showLoader();\n                    callback && callback(self.input.value);\n                }\n            }\n        });\n    }\n\n    appendTo(container) {\n        container.append(this.dom);\n        bindKeyboardListener(this.#keyListener);\n    }\n\n    remove() {\n        this.dom.remove();\n        unbindKeyboardListener(this.#keyListener);\n    }\n\n    showErrorState() {\n        this.errorMsg.classList.remove('hide');\n        this.inputPanel.classList.add('msgError');\n    }\n\n    showLoader(){\n        this.button.prepend(this.loader);\n        this.button.classList.add(\"ZTCL-active\");\n        this.inputPanel.classList.add('ZT-cursorDisable');\n    }\n\n    hideLoader(){\n        this.button.classList.remove(\"ZTCL-active\");\n        this.inputPanel.classList.remove('ZT-cursorDisable');\n        this.loader.remove();\n    }\n\n    #addListener(callback) {\n        this.button.addEventListener('click', () => {\n            this.showLoader();\n            callback && callback(this.input.value);\n        });\n\n        this.input.addEventListener('input', () => {\n            this.errorMsg.classList.add('hide');\n            this.inputPanel.classList.remove('msgError');\n            this.button.disabled = this.input.value ? false : true;\n        });\n\n        this.eye.addEventListener('click', (ev) => {\n            if(this.showPassword) {\n                this.eyeSlash.classList.add('hide');\n                this.input.type = 'text'\n            }\n            else {\n                this.eyeSlash.classList.remove('hide');\n                this.input.type = 'password'\n            }\n            this.showPassword = !this.showPassword;\n        })\n    }\n\n}\n\nfunction keyListener(callback, ev) {\n    const keyCombo = getKeyCombination(ev);\n    switch(keyCombo) {\n        case ENTER:\n            callback.onEnter();\n    } \n}\n\nfunction bindKeyboardListener(fn) {\n    document.body.addEventListener('keydown', fn);\n}\n\nfunction unbindKeyboardListener(fn) {\n    document.body.removeEventListener('keydown', fn);    \n}\n","import { FORM_BACKGROUND_COLOR, FVT_COVER_IMAGE_ACTIVE, HIDE } from \"../../../Constants/CssClassNamesForUI.js\";\nimport { getTemplate } from \"../../../TemplatesForAll.js\";\nimport { getRGBColor } from \"../../FormBuilder/FormBuilderUtility.js\";\n\nexport class ThankyouDialog {\n    constructor() {\n        const template   = getTemplate('thankYouPageTemplate'); //No I18N\n        this.dom         = template.querySelector('#thankYouPage'); //No I18N\n        this.redirectURL = this.dom.querySelector('#redirectURL'); //No I18N\n        this.message     = this.dom.querySelector('#thankYouMessage'); //No I18N\n        // this.formName    = this.dom.querySelector('#formTitleName'); //No I18N\n        // this.formDescription = this.dom.querySelector('#formDescription'); //No I18N\n        this.redirectPanel   = this.dom.querySelector('#redirectPanel');  //No I18N\n        this.submitAnthorResponse = this.dom.querySelector('#submitAnthorResponse'); //No I18N\n        this.coverImageContainer = this.dom.querySelector('#coverImageContainer'); //No I18N\n        this.coverImage = this.dom.querySelector('#coverImage'); //No I18N\n\n        this.#addListener()\n    }\n\n    appendTo(container) {\n        container.append(this.dom);\n    }\n\n    remove() {\n        this.dom.remove();\n    }\n\n    setRedirectURL(url) {\n        this.redirectPanel.classList.remove('hide');  //No I18N\n        this.redirectURL.textContent = url;\n        this.redirectURL.href        = url;\n    }\n\n    // setName(name) {\n    //     this.formName.textContent = name;\n    // }\n\n    setMessage(msg) {\n        this.message.textContent = msg;\n    }\n\n    removeSubmitAnthorRespButton() {\n        this.submitAnthorResponse.remove();\n    }\n\n    // setDescription(des) {\n    //     this.formDescription.textContent = des;\n    // }\n\n    setColorTheme(color) {\n\t\tthis.dom.style.setProperty(FORM_BACKGROUND_COLOR, getRGBColor(color));\n\t}\n\n    setCoverImage(imageURL) {\n        this.coverImage.src = imageURL;\n        this.coverImageContainer.classList.add(FVT_COVER_IMAGE_ACTIVE);\n        this.coverImageContainer.classList.remove(HIDE);\n    }\n\n    removeCoverImage() {\n        this.coverImageContainer.classList.remove(FVT_COVER_IMAGE_ACTIVE);\n        this.coverImageContainer.classList.add(HIDE);\n    }\n\n    #addListener() {\n        this.submitAnthorResponse.addEventListener('click', () => {\n            location.reload()\n        })\n    }\n}\n","import { FetchFormMetaAction } from '../Actions/FetchFormMetaAction.js';\nimport { FormValidationAction } from '../Actions/FormValidationAction.js';\nimport { FORM_VIEW_FAILURE, FORM_VIEW_PASSWORD, FORM_VIEW_SUCCESS } from '../Constants/FormViewConstants.js';\nimport { getTemplate } from '../TemplatesForAll.js';\nimport { getShareViewURL } from '../Utility/Utility.js';\nimport { FormDataStore } from './FormDataStore.js';\nimport { formMetaParser } from './FormMetaParser.js';\nimport { FormViewInteracter } from './FormView/Interacters/FormViewInteracter.js';\nimport { FormViewSetInteracter } from './FormView/Interacters/FormViewSetInteracter.js';\nimport { FormView } from './FormView/UIFiles/FormView.js';\nimport { PasswordDialog } from './FormView/UIFiles/PasswordDialog.js';\nimport { ThankyouDialog } from './FormView/UIFiles/ThankyouDialog.js';\n\nconst shareURL    = getShareViewURL();\nconst loader      = getTemplate(\"loaderTemplate\").querySelector(\".ZT-loader\");             // NO I18N\n\nconst REDIRECT_TIME = 5 * 1000;\n\nconst HTTP  = \"htt\" + \"p://\";//No I18N\nconst HTTPS = \"htt\" + \"ps://\";//No I18N\n\nconst URL                           = 'url';                           // No I18N\nconst FORM_COVER_IMAGE_LOGO_PREVIEW = 'formCoverImageLogoPreview.do';  // No I18N\nconst FORM_COVER_PUBLIC_IMAGE_LOGO_PREVIEW = 'publicFormCoverImageLogoPreview.do';  // No I18N\nconst ATTACHMENT_FILE_ID            = 'attachmentFileID';              // No I18N\nconst SLASH                         = '/';\nconst QUERY_PARAM                   = '?'\nconst AMPERSAND                     = '&';\nconst EQUALS                        = '=';\n\ndocument.body.append(loader);\n\nFetchFormMetaAction(shareURL, (response) => {\n\tif(response.hasOwnProperty(FORM_VIEW_PASSWORD)) {\n\t\tconst hasPassword = response[FORM_VIEW_PASSWORD];\n\t\tif(hasPassword){\n\t\t\tshowPasswordPage(() => loader.classList.add(\"loaded\"));\n\t\t\treturn;\n\t\t}\n\t}\n\t\n\tinitializeFormView(response, () => loader.classList.add(\"loaded\")); // NO I18N\n})\n\nfunction showPasswordPage(callBack) {\n\tconst passwordDialog = new PasswordDialog((password) => {\n\t\tFormValidationAction(shareURL, password, (response) => {\n\t\t\tif(response.hasOwnProperty(FORM_VIEW_FAILURE)) {\n\t\t\t\tpasswordDialog.showErrorState();\n\t\t\t\tpasswordDialog.hideLoader();\n\t\t\t}\n\t\t\telse {\n\t\t\t\tpasswordDialog.hideLoader();\n\t\t\t\tpasswordDialog.remove();\n\t\t\t\tinitializeFormView(response)\n\t\t\t}\n\t\t}, () => {\n\t\t\tpasswordDialog.hideLoader();\n\t\t})\n\t});\n\tcallBack && callBack();\n\tpasswordDialog.appendTo(document.body);\n}\n\nfunction initializeFormView(response, callback) {\n\t// const scriptTag = document.createElement('script'); // load Workdrive file\n\t// scriptTag.setAttribute('src', 'https://static.localzohocdn.com/personal/stable/jsapps/workdrive-third-party/workdrive-components.js');  // No I18N\n\t// document.body.appendChild(scriptTag);\n\n\tconst dataStore = new FormDataStore();\n\tformMetaParser(response, dataStore); \n\t\n\tconst thankyouDialog = new ThankyouDialog();\n\n\tconst formViewAfterSubmit = (response) => {\n\t\tformView.hideLoader();\n\t\tformView.remove();\n\t\tif(response.hasOwnProperty(FORM_VIEW_SUCCESS)) {\n\t\t\tconst formViewDS = dataStore.getFormViewDS();\n\t\t\tconst name = formViewDS.getFormName();\n\t\t\tlet url    = formViewDS.getRedirectURL();\n\n\t\t\t// name && thankyouDialog.setName(name);\n\t\t\tif(url) {\n\t\t\t\turl = url.startsWith(HTTP) || url.startsWith(HTTPS) ? url : HTTP + url;\n\t\t\t\tthankyouDialog.setRedirectURL(url);\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\twindow.open(url, \"_self\")\n\t\t\t\t}, REDIRECT_TIME)\n\t\t\t}\n\n\t\t\tdataStore.getMultiSubmit() && thankyouDialog.removeSubmitAnthorRespButton();\n\t\t\t\n\t\t\t// set coverImage\n\t\t\tconst coverImage          = formViewDS.getCoverImage();\n\t\t\tconst isCoverImageVisible = coverImage.getVisibility();\n\t\t\t\n\t\t\tif(isCoverImageVisible) {\n\t\t\t\tconst coverImageID  = coverImage.getID();\n\t\t\t\tconst shareURL = window.location.href;\n\t\t\t\tconst coverURL = shareURL.indexOf(\"/publish/\") != -1? FORM_COVER_PUBLIC_IMAGE_LOGO_PREVIEW : FORM_COVER_IMAGE_LOGO_PREVIEW; \n\n\t\t\t\tconst coverImageURL = window.location.origin + SLASH + coverURL + QUERY_PARAM + URL + EQUALS + encodeURIComponent(window.location.href) + AMPERSAND + ATTACHMENT_FILE_ID + EQUALS + encodeURIComponent(coverImageID);\n\t\t\t\tthankyouDialog.setCoverImage(coverImageURL);\n\t\t\t} else {\n\t\t\t\tthankyouDialog.removeCoverImage();\n\t\t\t}\n\t\t\t// thankyouDialog.setDescription(formViewDS.getFormDescription());\n\t\t\tthankyouDialog.setMessage(formViewDS.getMessageAfterSubmit());\n\t\t\tthankyouDialog.setColorTheme(formViewDS.getColorTheme());\n\t\t\tthankyouDialog.appendTo(document.body);\n\n\t\t}\n\t}\n\n\tconst formView = buildFormView(dataStore, formViewAfterSubmit);\n\t\n\tcallback && callback()\n\tformView.appendTo(document.body);\n\tformView.focusFirstComponent();\n}\n\nfunction buildFormView(dataStore, formViewAfterSubmitCallback) {\n\n\tconst isAttachmentPreviewNeeded = dataStore.getIsAttachmentPreviewNeeded();\n\tconst teamDriveServerURL   = dataStore.getTeamDriveServerURL();\n\tconst teamDriveDownloadURL = dataStore.getTeamDriveDownloadURL();\n\tconst teamDrivePreviewURL  = dataStore.getTeamDrivePreviewURL();\n\tconst timeZone             = dataStore.getTimeZone();\n\tconst collaboratorDS       = dataStore.getCollaboratorDS();\n\tconst selectionDS          = dataStore.getSelectionDS();\n\tconst fieldsDS             = dataStore.getFieldDS();\n\tconst formViewDS           = dataStore.getFormViewDS();\n\tconst shareID              = dataStore.getShareID()\n\tconst mandatoryFields      = dataStore.getMandatoryFields();\n\tconst planType             = dataStore.getPlanType();\n\n\tconst formViewInteracter    = new FormViewInteracter(isAttachmentPreviewNeeded, teamDriveServerURL, teamDriveDownloadURL, teamDrivePreviewURL, timeZone, collaboratorDS, selectionDS, fieldsDS, formViewDS, mandatoryFields, shareID, shareURL, planType, () => {\n\t\treturn new AttachmentFieldEventHandler(formView);\n\t});\n\tconst formViewSetInteracter = new FormViewSetInteracter(formViewInteracter, formViewAfterSubmitCallback);\n\tconst formView              = new FormView(formViewSetInteracter, formViewInteracter);\n\n\tformView.initialize();\n\treturn formView;\n}\n\nclass AttachmentFieldEventHandler {\n\t#formView;\n\n\tconstructor(formView) {\n\t\tthis.#formView = formView;\n\t}\n\n\tenableSubmitButton() {\n\t\tthis.#formView.enableSubmitButton();\n\t}\n\n\tdisableSubmitButton() {\n\t\tthis.#formView.disableSubmitButton();\n\t}\n\n\tsetSubmitButtonInfo(submitButtonInfo) {\n\t\tthis.#formView.setSubmitButtonInfo(submitButtonInfo);\n\t}\n}\n","window.onload = function () { ZTComponents.tooltip('body', {ignoreEllipsis: false}); } //NO I18N"],"names":["ctx","Table","Constants","CONTENT_TYPE","TEXT","HTML","JAVASCRIPT","OCTET_STREAM","MULTIPART_FORM_DATA","GIF","JPEG","PNG","SVG","WEBP","URL_ENCODED_FORM","RESPONSE_HEADER_SPLITTER","DEFAULT_RETRY_COUNT","RETRY_HEADERS","AjaxRequest","METHOD","eventName","callback","EVENTS","value","method","url","key","param","self","loadProgressEventListeners","ev","onReadyStateChange","onTransportError","loadRequestHeadersToXmlHttpRequest","encodedData","getEncodedFormData","name","count","arr","headerMap","i","parts","header","payload","context","xmlHttpRequest","readystate","status","isSuccess","response","dispatchEventList","AjaxRequestCompleteEvent","eventList","ajaxRequestCompleteEvent","progressEventListeners","headers","headerName","headerValue","formData","encodedFormData","URLEncodedFormData","urlEncodedFormData","keys","encodedFormPair","result","responseCode","getCSRFCookie","readCookie","nameEQ","cookieAry","cookie","UserPresence","tabID","activeCell","printer","Pattern","print","type","args","style","log","Logger_","Logger","MurphyUtility","detail","message","error_details","envData","digestValue","data","hashBuffer","b","LogError","error","errortag","errorMeta","errorData","pcounter","ProfileConstants","LinkedRecordID","tableID","recordID","StateView","linkedRecordID","index","bool","recordIDs","records","StateTable","viewID","StateBase","automationID","copyKey","GRID_SELECTION_VIEW_TYPE","CALENDER_SELECTION_VIEW_TYPE","GALLERY_SELECTION_VIEW_TYPE","KANBAN_SELECTION_VIEW_TYPE","FORM_SELECTION_VIEW_TYPE","AbstractSelection","CalenderViewSelection","state","GalleryViewSelection","SelectionState","fieldID","selectionState","RepaintSelectionState","NavigationInteracter","baseID","recordCount","getRecordCount","currentCellSelection","currentCellSelectionStartRow","currentCellSelectionStartCol","currentCellSelectionEndRow","currentCellSelectionEndCol","fieldIDs","leastRecordIndex","leastFieldIndex","placedAtleastOneSelection","fieldIndex","getFieldIndex","rangeID","startRow","endRow","startCol","endCol","activeCellRecordID","activeCellFieldID","activeCellRecordIndex","getRecordIndex","activeCellFieldIndex","recordIndex","minFieldIndex","maxFieldIndex","minRecordIndex","maxRecordIndex","emptyRowCount","base","table","view","recordAxis","fieldAxis","GridViewSelection","CellSelection","RangeMap","id","range","pre","iterator1","cur","array","KanbanState","left","stackID","isCollapse","getSelection","viewType","ViewState","KEY_DELIMITER","WorkspaceState","getViewStateKey","viewState","tempLayoutGridID","tempLayoutCalendarID","State_","layoutID","workspaceState","portalID","moduleType","mode","layoutIDs","State","STORAGE_KEY","storage","UserProfileStorage","rootColors","TabProfile_","initUserProfile","ID","event","TabProfileIDUpdateEvent","subscribers","options","color","userProfileStorage","setDefaultUserProfileValueIfUndefined","defaultValue","target","TabProfile","UTF_8_URL_ENCODED","rid","paramArray","params","values","getTabID","blob","setEndOfContenteditable","el","selection","getBaseFromCurrentURL","origin","paths","getBaseIDFromCurrentURL","getTableIDFromCurrentURL","tableIndexInUrl","getViewIDFromCurrentURL","viewIndexInUrl","getHashedViewIDFromCurrentURL","getShareViewURL","getCDNStaticURL","fileName","jsPath","staticMap","getStorePageURL","serviceID","redirectionURL","planRedirectionURL","stringInterpolate","str","interpolate","names","vals","getDynamicMessage","dynamicContent","DYNAMIC_STRING_START","DYNAMIC_STRING_END","getDynamicHTMLFragment","dynamicObject","DYNAMIC_IDX","fragment","sIdx","eIdx","txtNode","getDynamicHTMLFragmentNew","templateTag","strings","getTextElement","text","shareID","QuickAction","FetchFormMetaAction","shareURL","callBack","onFailure","action","requestURL","FormValidationAction","password","FORM_VIEW_TIME_ZONE","FORM_VIEW_COLOR","FORM_VIEW_IMAGE_SERVER_URL","TEAMDRIVE_SERVER_URL","TEAMDRIVE_DOWNLOAD_URL","TEAMDRIVE_PREVIEW_URL","MULTIPLE_SUBMIT","PLAN_TYPE","IS_ATTACHMENT_PREVIEW_NEEDED","FORM_VIEW_COLLABORATORS","FORM_VIEW_USER_ID","FORM_VIEW_ID_KEY","FORM_VIEW_EXTENSION_KEY","FORM_VIEW_USER_NAME","FORM_VIEW_USER_TYPE","FORM_VIEW_USER_LEVEL","FORM_VIEW_USER_EMAIL","FORM_VIEW_USER_PERMISSION","FORM_VIEW_MODULE_TYPE","FORM_VIEW_IS_ENABLED","FORM_VIEW_IS_EDITABLE_USER","FORM_VIEW_USER_WORKSPACE_ROLE","FORM_VIEW_SELECTION","FORM_VIEW_FIELDS","FORM_VIEW_NAME","FORM_VIEW_TYPE","FORM_VIEW_PARAMETERS","FORM_VIEW_FORM","FORM_VIEW_COVER_IMAGE","FORM_VIEW_LOGO","FORM_VIEW_URL","FORM_VIEW_FILE","FORM_VIEW_VISIBILITY","FORM_VIEW_SIZE","FORM_VIEW_DESCRIPTION","FORM_VIEW_ALIGNMENT","FORM_VIEW_FORM_NAME","FORM_VIEW_NAME_PARAMETERS","FORM_VIEW_FORM_DESCRIPTION","FORM_VIEW_LABEL_ALIGNMENT","FORM_VIEW_COLOR_THEME","FORM_VIEW_SUBMIT_BUTTON","FORM_VIEW_BRANDING","FORM_VIEW_REDIRECT_URL","FORM_VIEW_MESSAGE_AFTER_SUBMIT","FORM_VIEW_FIELD_ORDER","FORM_VIEW_SCHEMAS","FORM_VIEW_FIELD_ID","FORM_VIEW_REQUIRED","FORM_VIEW_COMPONENT_TYPE","FORM_VIEW_CHOICES","FORM_VIEW_PASSWORD","FORM_VIEW_SUCCESS","FORM_VIEW_FAILURE","FORM_VIEW_ACTION_FORM_DATA","FORM_VIEW_ACTION_CONTENT_TYPE","FORM_VIEW_ACTION_BLOB","FORM_VIEW_ACTION_JSON","FORM_VIEW_ACTION_FORM_META_URL","FORM_VIEW_ACTION_FETCH_FORM_VIEW_URL","FORM_VIEW_ACTION_FETCH_LINK_FIELD_DATA_URL","FORM_VIEW_ACTION_PUBLIC_FETCH_LINK_FIELD_DATA_URL","FORM_VIEW_ACTION_SUBMIT_FORM_VIEW_URL","FORM_VIEW_ACTION_SUBMIT_PUBLIC_FORM_VIEW_URL","FORM_VIEW_ACTION_SUBMIT_FORM_VIEW_URL2","FORM_VIEW_UPLOAD_ATTACHMENTS","FORM_VIEW_PUBLIC_UPLOAD_ATTACHMENTS","FORM_VIEW_UPDATE_ATTACHMENT_NAME","FORM_VIEW_ACTION_URL_ENCODED_FORM_UTF8","FORM_VIEW_ACTION_SHARE_ID","FORM_VIEW_ACTION_FIELD_ID","FORM_VIEW_ACTION_FIELD_IDS","FORM_VIEW_ACTION_VALUES","FORM_VIEW_ACTION_ATTACHMENT_IDS","FORM_VIEW_ACTION_ATTACHMENT_ID","FORM_VIEW_ACTION_ATTACHMENT_NAME","FORM_VIEW_ACTION_PROXY_URL","FORM_VIEW_SUBMIT_PROXY_URL","FORM_VIEW_UPLOAD_ATTACHMENT_PROXY_URL","FORM_VIEW_UPDATE_ATTACHMENT_NAME_PROXY_URL","templates","templateID","template","selectorID","getTemplateByClassName","selectorClassName","User","userID","emailID","permission","module","viewIDs","viewIDIndex","meta","FILE_URL","ANONYMOUS_USER","Collaborator","getBaseColor","getImageServerURL","userName","userEmailID","userPermission","userModuleType","userIsEnabled","userIsEditable","user","collaboratorID","userType","userLevel","userWSRole","removedUserName","collaborators","collaboratorGroup","emailIDLowercase","valueToCompare","Field","desc","typeObj","parameters","isEphiCompliant","DSFormViewCoverImage","extension","visibility","DSFormViewLogo","size","alignment","DSFormViewNameParameters","DSFormViewSchemaChoice","DSFormViewSchema","choiceID","description","requiredState","componentType","choice","choicesOrder","relativeChoiceID","HASHEDID_REGEX","Filter","filterID","condition","logicalString","getOrder","filterOrder","filterOrderLength","currentFieldID","order","ConditionalFormat","selectionFieldID","Condition","DSGroupBy","groupIDs","groupID","sortType","emptyIcon","relativeGroupID","toIndex","targetGroupID","position","fromIndex","DSGroupByMetaOrder","ids","DSGroupByMetaStorage","groupByMeta","recordIDsOrder","expand","summaryFieldID","summaryType","summaryValue","targetID","relativeID","DSGroupByMeta","groupPath","orderDS","indexes","currentGroupPath","group","summary","groupMeta","fromGroupPath","targetRecordID","relativeRecordID","toGroupPath","fromGroupMeta","toGroupMeta","map","ShareView","timeStamp","Sort","sortID","sortOrder","DSActiveViewUser","role","isBaseEnabled","isEditableUser","DSInactiveViewUser","DSViewCollaborator","collabID","packsize","DSView","viewName","xid","isEmptyIconApplied","summaryFieldIDs","j","searchInGroupPath","currentPath","isApplied","currLoaded","canRegister","DSFormView","viewMeta","schemaID","formName","formDescription","labelAlignment","colorTheme","submitButtonName","branding","schema","fieldOrder","relativeFieldID","targetIndex","relativeIndex","fieldWidth","fetchConstant","multiplier","MultiSelect","FormDataStore","isAttachmentPreviewNeeded","teamDriveServerURL","teamDriveDownloadURL","teamDrivePreviewURL","imageServerURL","multipleSubmit","timeZone","baseColor","planType","selectionID","optionID","optionColor","optionName","fieldName","fieldType","fieldParameters","fieldDS","coverImageID","coverImageExtension","coverImageName","coverImageVisibility","coverImageDS","logoID","logoExtension","logoName","logoVisibility","logoSize","logoAlignment","logoDS","redirectURL","messageAfterSubmit","nameParametersSize","nameParametersAlignment","nameParametersVisibility","nameParametersDS","schemaName","schemaDescription","required","choices","schemaDS","CSS_CLASS_NAMES","CSS_STYLE_VALUES","FORM_BUILDER_VIEW_ONLY_BASE","HIDE","SHOW","ZERO_OPACITY","POINTER_EVENTS_NONE_CLASS","ACTIVE","EXPANDED","REQUIRED","REQUIRED_RED_STAR","EMPTY","EDIT_SUBMIT","SELECTION","SELECTION_CONTAINER","ERROR_URL","LABEL_ALIGN_TOP","LABEL_ALIGN_LEFT","LABEL_ALIGN_RIGHT","FORM_LOGO_ALIGN_LEFT","FORM_LOGO_ALIGN_CENTER","FORM_LOGO_ALIGN_RIGHT","FORM_NAME_ALIGN_LEFT","FORM_NAME_ALIGN_CENTER","FORM_NAME_ALIGN_RIGHT","FORM_NAME_SIZE_SMALL","FORM_NAME_SIZE_MEDIUM","FORM_NAME_SIZE_LARGE","FORM_BACKGROUND_COLOR","FORM_LOGO_SIZE_SMALL","FORM_LOGO_SIZE_MEDIUM","FORM_LOGO_SIZE_LARGE","FORM_NAME_SIZE","FORM_NAME_ALIGN","LABEL_ALIGN","STROKE_STYLE","FBH_HIDE","FBH_ERROR_BORDER","FB_NEW_FIELD_ANIMATION","FORM_OPEN","FORM_BUTTON_DISABLE","FORM_ACTIVE_ICON_BLOCK","FORM_COVER_IMAGE_UPLOADED","FORM_LOGO_UPLOADED","FORM_CLOSE_BUTTON_SHOW_LOADER","PROGRESS_BAR_COMPLETED","PROGRESS_BAR_DOWN_ARROW_ROTATE_180","PROGRESS_BAR_ERROR","ZT_SKELETON_LOADER","FBH_UPLOAD_LOGO_LOADER_ACTIVE","FB_COVER_IMAGE_DELETE_LOADER","FB_LOGO_DELETE_LOADER","FB_LOGO_FRAME_SMALL","FB_LOGO_FRAME_MEDIUM","FB_LOGO_FRAME_LARGE","FVT_COVER_IMAGE_ACTIVE","FB_COVER_IMAGE_UPLOADING","FB_COVER_IMAGE_UPLOADED_FAILURE","FB_COVER_IMAGE_UPLOADED_FAILURE_TWO","FB_COVER_IMAGE_UPLOADED_PAGE_REFRESH","FB_LOGO_UPLOADING","FB_LOGO_UPLOADED_FAILURE","FB_LOGO_UPLOADED_FAILURE_TWO","FB_LOGO_UPLOADED_PAGE_REFRESH","FORM_VIEW_LABEL_ALIGN_TOP","FORM_VIEW_LABEL_ALIGN_LEFT","FORM_VIEW_LABEL_ALIGN_RIGHT","FORM_VIEW_ATTACHMENT_IMAGE_ERROR_EVENT_CLASS","CURSOR_DEFAULT","ZT_CURSOR_PROGRESS","FORM_SCHEMA_ERROR","SEARCHING","EMPTY_TILE","MANAGE_FIELDS","DRAGGING","HIDE_DRAG_BUTTON","DESIGN_CUSTOMIZATION_FONT_PANEL","VISIBLE","COLOR_OPTION_CSS_VARIABLE","COLOR_OPTION_BORDER_CSS_VARIABLE","HIDE_LEVELS","HIDE_TOGGLE","RECORD_VIEW_DATE_PLACEHOLDER","RECORD_VIEW_PREMIUM_FIELD","RECORD_VIEW_EPHI_RESTRICTED_FIELD","ATTACHMENT_EPHI_RESTRICTED","ONE","PIXELS","PERCENT","UNSET","FIXED","LEFT_ARROW","BOTTOM_RIGHT_ARROW","HIDE_BASE_SHARE_SEPARATOR","BOLD","ITALIC","OVERLINE","STRIKE_THROUGH","UNDERLINE","LEFT","CENTER","RIGHT","FLEX_START","FLEX_END","TOP","MIDDLE","BOTTOM","NONE","CLIPBOARD_DATA_AS_TEXT","MULTISELECT_COLOR","MULTISELECT_COLOR_KANBAN","KEYWORD_EXTRACT_COLOR","LIST_PANEL_RECORD_VIEW","TABLE_EDIT","POINTER_EVENTS_NONE","WRITER_EDITOR_DIV_CLASS_NAME","FORMULA_EDITOR_CUSTOM_DROPDOWN_ELEMENT","ZT_DIALOG_ACTIVE","ZT_ERROR_TOAST","ZTP_FIELD_DISABLE","ZT_mRL10","ZTCL_ACTIVE","ZT_CURSOR_NO_DROP","ATTRIBUTE_TITLE","ZT_ROW_ADD_CONTAINER","MSG_ERROR","ZT_TOGGLE_OPEN","SF_DISABLED","SB_TOAST_SHOW","LIGHT","DEFAULT_COLOR_IN_HEX","__TEXT_DARK","HASH","CHECKED","CONTENT","__BASE_DARK_COLOR","__BASE_LIGHT_COLOR","__BASE_ULTRA_LIGHT_COLOR","__BASE_TEXT_COLOR","__BASE_COLOR","ZT_LIGHT_THEME","__SS_OVAL","__SS_DOT","__CARD_COLOR","__CARD_LIGHT_COLOR","__CARD_COVER_COLOR","ZDC_CARD_DARK_COLOR","ZDC_CARD_LIGHT_COLOR","EDIT_BASE","LP_BASE_EDIT","ZT_OVERFLOW_HIDDEN","deepFreeze","object","propNames","BASE_THEME_CONFIGURATION","BUBBLE_NODE_COLOR_PALETTE_CONFIGURATION","BASE_DARK_THEMES","BASE_LIGHT_THEMES","BUBBLE_NODE_DARK_THEMES","BUBBLE_NODE_LIGHT_THEMES","BUBBLE_NODE_ULTRALIGHT_THEMES","FORM_ULTRALIGHT_THEMES","THEME_CLASSES","NON_COLORED_BUBBLE_NODE_COLOR","getBaseTextColor","colorLowerCase","isTextColorLight","getDarkThemeColor","getLightThemeColor","getUltraLightThemeColor","isDarkThemeColor","getBubbleNodeInnerCircleColor","getBubbleNodeOuterCircleColor","getBubbleNodeTextColor","getBaseThemeBodyClassChanges","bodyClassToApply","cls","getRecordColor","getCardColor","getCardLightColor","getCardCoverColor","getFormColorThemeBorderColor","FieldTypeComponents","FindAnItem","Checkbox","Rating","SingleSelect","DateObject","CollaboratorSS","CollaboratorMS","LinkFieldMultiSelectFormReadWriteOption","FindAnItemBlankButtonDom","FindAnItemComponent","FindAnItemCheckboxOption","FindAnItemCollaboratorMSCheckboxWithEmailIDOption","FindAnItemLinkFieldOption","FindAnItemSingleSelectButtonOption","FindAnItemCollaboratorSSWithEmailIDButtonOption","MultiSelectReadWriteOption","MultiSelectCheckboxTypeReadWriteOption","SingleSelectRadioTypeReadWriteOption","SingleSelectReadOnlyOption","CollaboratorSingleSelectValueHolderForForm","Attachment","Utility","UNKNOWN_CHECKBOX_STYLE","UNKNOWN_RATING_STYLE","ZSGrid","CSS_VARIABLES","overrideComponents","userImageURL","option","totalIDs","placeholder","newColor","lightColor","coloredOptions","getModifiedColor","className","newFileName","innerCircleColor","ultraLightColor","getLightColor","split","lighter","OPTION_ID","OPTION_NAME","OPTION_COLOR","VISIBILITY_IS_TRUE","VISIBILITY_IS_FALSE","formMetaParser","dataStore","userIsEditableUser","selectionArray","fields","field","form","coverImageFileObject","logo","logoFileObject","nameParameters","schemas","ADDRESS","ATTACHMENT","AUTO_NUMBER","CHECKBOX","CREATED_TIME","CURRENCY","DATE_TIME","DURATION","EMAIL","FORMULA","FRACTION","MODIFIED_TIME","MULTIPLE_SELECTION","NATIONAL_IDENTIFICATION_NUMBER","NUMBER","PHONE_NUMBER","COLLABORATOR_CLIENT","RATING","SCIENTIFIC","SINGLE_SELECTION","SLIDER","CREATED_BY","MODIFIED_BY","LOOKUP","ROLLUP","LINK","SENTIMENTAL_ANALYSIS","KEYWORD_EXTRACTION","LANGUAGE_DETECTOR","LANGUAGE_TRANSLATOR","AUTO_NUMBER_CLIENT","CURRENCY_CLIENT","PERCENT_CLIENT","PHONE_NUMBER_CLIENT","DATE_TIME_CLIENT","MODIFIED_TIME_CLIENT","CREATED_TIME_CLIENT","LINK_CLIENT","BARCODE","NUMBER_CLIENT","SELECTION_FIELD_TYPES","FORM_SELECTION_FIELD_TYPES","COMMON_DELIMITERS","COLLABORATOR_SELECTION_TYPES","isNonEditableFieldType","isFormNonEditableFieldType","isPopupFieldType","isConfirmationNeededFieldType","isSelectionFieldType","isFormSelectionFieldType","toRestrictDuplicateWithoutDataFieldTypes","FIELD_TYPES_BASIC_ORDER","FIELD_TYPES_AI_FIELDS_ORDER","FIELD_TYPES_PICK_LISTS_ORDER","FIELD_TYPES_NUMERICAL_ORDER","FIELD_TYPES_PERSONAL_INFORMATION_ORDER","FIELD_TYPES_DATE_AND_TIME_ORDER","FIELD_TYPES_RELATIONSHIP_ORDER","FIELD_TYPES_BASIC_KEY","FIELD_TYPES_AI_FIELDS_ORDER_KEY","FIELD_TYPES_PICK_LISTS_ORDER_KEY","FIELD_TYPES_NUMERICAL_ORDER_KEY","FIELD_TYPES_PERSONAL_INFORMATION_ORDER_KEY","FIELD_TYPES_DATE_AND_TIME_ORDER_KEY","FIELD_TYPES_RELATIONSHIP_ORDER_KEY","FIELD_TYPES_DISPLAY_ORDER_IN_UI","INVALID_FIELD_TYPE","STYLES","STYLE_VALUES","getFieldStylesByType","commonFunction","styles","styleValues","fieldStyles","InterfaceFormViewSchema","container","component","FormViewSchema","InterfaceFormViewSchemaWithErrorMessage","errorMessage","FormViewSchemaWithErrorMessage","UNKNOWN_HOUR_CYCLE","UNKNOWN_CURRENCY_FORMAT","ADD_FIELD_CURRENCIES_USD","ADD_FIELD_CURRENCIES_EUR","ADD_FIELD_CURRENCIES_GBP","ADD_FIELD_CURRENCIES_JPY","ADD_FIELD_CURRENCIES_CAD","ADD_FIELD_CURRENCIES_AUD","ADD_FIELD_CURRENCIES_CNY","ADD_FIELD_CURRENCIES_CHF","ADD_FIELD_CURRENCIES_SGD","ADD_FIELD_CURRENCIES_INR","ADD_FIELD_CURRENCIES_ZAR","ADD_FIELD_PRECISIONS_ZERO_PRECISION","ADD_FIELD_PRECISIONS_ONE_PRECISION","ADD_FIELD_PRECISIONS_TWO_PRECISION","ADD_FIELD_PRECISIONS_THREE_PRECISION","ADD_FIELD_CURRENCY_POSITIONS_NONE","ADD_FIELD_CURRENCY_POSITIONS_BEFORE","ADD_FIELD_CURRENCY_POSITIONS_AFTER","ADD_FIELD_CURRENCY_POSITIONS_ACCOUNTING","ADD_FIELD_TEXT_FORMATS_DEFAULT","ADD_FIELD_TEXT_FORMATS_INIT_CAPS","ADD_FIELD_TEXT_FORMATS_LOWER_CASE","ADD_FIELD_TEXT_FORMATS_UPPER_CASE","ADD_FIELD_TEXT_FORMATS_SENTENCE_CASE","ADD_FIELD_PERCENT_SYMBOL_SHOW","ADD_FIELD_PHONE_NUMBER_FORMATS_DEFAULT","ADD_FIELD_PHONE_NUMBER_FORMATS_HYPHEN","ADD_FIELD_PHONE_NUMBER_FORMATS_SPACE_HYPHEN","ADD_FIELD_PHONE_NUMBER_FORMATS_SPACE","ADD_FIELD_PHONE_NUMBER_FORMATS_BRACES_SPACE_HYPHEN","ADD_FIELD_PHONE_NUMBER_FORMATS_PERIOD","ADD_FIELD_DATE_FORMATS_DEFAULT","ADD_FIELD_DATE_FORMATS_DATE_FIRST","ADD_FIELD_DATE_FORMATS_MONTH_FIRST","ADD_FIELD_DATE_FORMATS_YEAR_FIRST","ADD_FIELD_TIME_FORMATS_NONE","ADD_FIELD_TIME_FORMATS_FULL_DAY","ADD_FIELD_TIME_FORMATS_HALF_DAY","ADD_FIELD_RATING_ICON_STYLES_HEART","ADD_FIELD_RATING_ICON_STYLES_STAR","ADD_FIELD_RATING_ICON_STYLES_FLAG","ADD_FIELD_RATING_ICON_STYLES_THUMB","ADD_FIELD_RATING_ICON_STYLES_CHECKBOX","ADD_FIELD_RATING_ICON_STYLES_BADGE","ADD_FIELD_RATING_ICON_STYLES_TOOGLEBUTTON","ADD_FIELD_RATING_ICON_STYLES_SMILEY","ADD_FIELD_RATING_ICON_STYLES_SHIELD","ADD_FIELD_MAX_COUNTS_ONE","ADD_FIELD_MAX_COUNTS_TWO","ADD_FIELD_MAX_COUNTS_THREE","ADD_FIELD_MAX_COUNTS_FOUR","ADD_FIELD_MAX_COUNTS_FIVE","ADD_FIELD_MAX_COUNTS_SIX","ADD_FIELD_MAX_COUNTS_SEVEN","ADD_FIELD_MAX_COUNTS_EIGHT","ADD_FIELD_MAX_COUNTS_NINE","ADD_FIELD_MAX_COUNTS_TEN","ADD_FIELD_AUTO_NUMBER_THOUSAND_SEPARATOR","ADD_FIELD_AUTO_NUMBER_PRECISION","ADD_FIELD_TIME_FORMAT","ADD_FIELD_SUPPORTED_DATE_FORMATS_1","ADD_FIELD_SUPPORTED_DATE_FORMATS_2","ADD_FIELD_SUPPORTED_DATE_FORMATS_3","ADD_FIELD_SUPPORTED_DATE_FORMATS_4","ADD_FIELD_SUPPORTED_HOUR_CYCLES_0","ADD_FIELD_SUPPORTED_HOUR_CYCLES_1","ADD_FIELD_SUPPORTED_HOUR_CYCLES_2","ADD_FIELD_SUPPORTED_CURRENCY_VALUE_1","ADD_FIELD_SUPPORTED_CURRENCY_VALUE_2","ADD_FIELD_SUPPORTED_CURRENCY_VALUE_3","ADD_FIELD_SUPPORTED_CURRENCY_VALUE_4","ADD_FIELD_SUPPORTED_CURRENCY_VALUE_5","ADD_FIELD_SUPPORTED_CURRENCY_VALUE_6","ADD_FIELD_SUPPORTED_CURRENCY_VALUE_7","ADD_FIELD_SUPPORTED_CURRENCY_VALUE_8","ADD_FIELD_SUPPORTED_CURRENCY_VALUE_9","ADD_FIELD_SUPPORTED_CURRENCY_VALUE_10","ADD_FIELD_SUPPORTED_CURRENCY_VALUE_11","SUPPORTED_CURRENCY_VALUES","SUPPORTED_HOUR_CYCLES","SUPPORTED_DATE_FORMATS","getDateFormat","dateFormat","supportedDateFormat","getHourCycle","hourCycle","supportedHourCycle","getCurrency","currency","supportedCurrency","ZCOMPONENTS_DATE_FIELD_DATE_FORMATS","ZCOMPONENTS_DATE_FIELD_TIME_FORMATS","ZCOMPONENTS_DATE_FIELD_PLACEHOLDER_DATE_FORMATS","ZCOMPONENTS_DATE_FIELD_PLACEHOLDER_TIME_FORMATS","ZOHO_TABLES_TIME_FORMAT","TableLocale","getLocale","setLocale","locale","LOCALE","dgInteracter","getDGInteracter","setDGInteracter","dgInteracter_","refreshGrid","getAutoNumber","getDateAndTime","string","splits","date","time","secondPart","firstPart","getSelectedIDs","fieldValue","selectedIDs","selectedID","getSelectedID","getBoolean","getRating","number","getCheckbox","purePrintableCharacter","getSentimentMeta","sentimentID","getBaseID","getAttachmentsDS","attachmentIDs","attachmentDS","attachmentID","attachment","getAttachmentURLs","attachmentURLs","attachmentIds","attachmentInfo","getMultiSelectDS","multiSelectID","getTableID","getCollaboratorDS","parseSelectionID","getRelationshipProperty","relationshipID","relationshipDirection","relationship","allowMultiple","allowRepeated","getMultipleValues","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","ESC","TILDE","BACKSPACE","DELETE","TAB","OPENBRACKET","CLOSEBRACKET","BACKSLASH","CAPSLOCK","SINGLEQUOTE","ENTER","SHIFT","COMMA","DOT","SLASH","SPACE","CTRL","ALT","LEFTCOMMAND","RIGHTCOMMAND","COMMAND","UP","DOWN","HOME","END","PAGEUP","PAGEDOWN","NUMPAD_ZERO","NUMPAD_ONE","NUMPAD_TWO","NUMPAD_THREE","NUMPAD_FOUR","NUMPAD_FIVE","NUMPAD_SIX","NUMPAD_SEVEN","NUMPAD_EIGHT","NUMPAD_NINE","NUMLOCK","DECIMAL","MULTIPLY","ADD","SUBTRACT","DIVIDE","PURE_PRINTABLE_CHAR","TEMP_MINUS","TEMP_EQUAL","TEMP_PLUS","TEMP_SEMICOLON","TEMP_PRINTSCREEN","MINUS","EQUAL","PLUS","SEMICOLON","PRINTSCREEN","JSKeyCode","SUPER","getPlanName","AttachFromLocal","attachComponent","attachmentCallbacks","onSuccessCallback","onFailureCallback","onUploadProgressCallback","attachmentFieldEventHandler","footerTemplate","pasteEventhandler","init","addListener","fieldParams","REQUEST_KEYS","TABLE_CSRF_HEADER","UPLOAD_URL","POST_METHOD","FORM_KEY","AttachFromURL","importComponent","sendRequest","xhttp","formdata","ATTACH_METHOD","AttachFile","progressTemplate","clearDom","attachMethod","IMAGE_EXTENSIONS","DEFAULT_IMAGE","UploadPreviewImg","title","imgSrc","uploadPreviewTemplate","addListeners","fileExtension","UploadProgressState","currentFile","retryCallback","closeCallback","uploadProgressTemplate","progressValue","formatBytes","displayImg","bytes","decimals","k","dm","sizes","SUBMIT_BUTTON_INFO_ON_ATTACHMENT_UPLOAD","getAttachmentCallbacks","callbacks","files","checkUploadedFile","addProgressState","isValidFileSize","maxCountExceeded","maxUploadSize","kSize","file","dom","removeUploadedFile","contentDom","isRetry","uploadProgressState","checkEmptyProgressDialog","updateUploadingCount","ajaxRequest","progress","uploadingCount","WDUtil_","WDUtil","CustomCallback","fn","Pubsub","grp","custCallback","_","customCallback","evt","funcRef","exec","Response","createNewOptionForMultiSelectCallback","qaid","currentCellRecordID","currentCellFieldID","newOptionIDs","multiSelectDS","onDataUpdate","actionInfo","EVENTS_TABLE_DATA_UPDATE","bitsetJSON","bitset","recordIDJSON","getFieldType","updateSelection","onSelectionOptionInsert","EVENTS_BASE_SELECTION_OPTION_INSERT","ValueHolder","createNewOptionForSingleSelectCallback","disableCellEditAndPlaceCellSelectionCallback","newOptionID","singleSelectDS","recordBitset","singleselectFieldBitPosition","isPresent","singleSelectIndex","generateInputEvent","which","generateKeyDownEvent","generateKeyUpEvent","keyDownEvent","keyCode","getOppositeTableID","sourceTableID","destinationTableID","RELATIONSHIP_DIRECTION_FORWARD","getTable","onTableAttachmentDataUpdate","expandDialog","fieldIDList","updatedData","onAttachmentUpdate","attachments","getAttachmentDS","valueHolder","getAttachmentInfo","info","onAttachmentInsert","getAttachments","uploadedFiles","oppositeTableID","oppositeViewID","oppositeFieldID","IMAGE_SIZE_STRING","TIMER","FORM_ATTACHMENT_DOWNLOAD","FORM_ATTACHMENT_PREVIEW","FORM_PUBLIC_ATTACHMENT_DOWNLOAD","FORM_PUBLIC_ATTACHMENT_PREVIEW","QUERY_PARAM","AMPERSAND","EQUALS","ATTACHMENT_FILE_ID","ATTACHMENT_FILE_SIZE","ATTACHMENT_FILE_SIZE_LARGE","getAttachmentCallback","AttachmentComponent","attachFile","AttachmentOption","URL","oldName","makeNonEditable","latestName","attachmentOption","clickedAttachmentResID","attachmentResIDList","urls","currentURL","attachmentResID","wdUtil","tempID","attachmentFileID","dURL","pURL","downloadURL","previewURL","timerID","promises","URLs","newPromise","getCheckboxCallback","oldValue","TYPE_TO_FIND_OR_ADD_AN_OPTION_PLACEHOLDER","FIND_A_USER_OR_ADD_A_USER_PLACEHOLDER","TYPE_TO_FIND_PLACEHOLDER","FIND_A_USER_PLACEHOLDER","EventEmitter","_callbackContext","_acceptableEventNames","validateEventName","UNITS","DialogComponent","DialogStack","properties","width","right","top","bottom","referenceDom","referenceDoms","neutralElement","dialogRect","referenceRect","dialogHeight","dialogY","dialogWidth","dialogX","referenceRectY","diffX","newX","bodyWheelListenerOptions","ZCOMPONENTS_DROPDOWN","Dialogstack","onBodyMouseDown","onBodyWheel","dialog","path","isDialogPresent","isReferenceDomPresent","activeDialog","isNeutralElementPresent","hasDatePicker","hasDatePickerDropDown","lastDialog","isLastDialogPresent","bodyWheelNeeded","element","DATE_FORMAT_MONTH_D_YYYY","DATE_FORMAT_DD_MM_YYYY","DATE_FORMAT_MM_DD_YYYY","DATE_FORMAT_YYYY_MM_DD","dateFormatter","timeFormatter","TIME_ZONE_UTC","encodeFromAbsoluteDate","dateObject","decodeToAbsoluteDate","getDateStringToBeRendered","absoluteDate","UTCTimeStamp","getTimeStringToBeRendered","timeFormat","CONSTANTS","DateField","isReadOnly","placeholderDateFormat","formattedDate","DateChangeEvent","getUTCTimeStamp","DateTimeField","delimiter","placeholderTimeFormat","INVALID_NUMBER_STRING","INVALID_PERCENT_STRING","INVALID_CURRENCY_STRING","INVALID_EMAIL_STRING","INVALID_URL_STRING","INVALID_PHONE_NUMBER_STRING","MANDATORY_FIELDS_ERROR_MESSAGE","INVALID_DATA_ERROR_MESSAGE","getReadWriteDateFieldComponent","cellValue","dateCallback","setDataCallback","convertToString","getRadioButtonName","alignDialogWithinViewport","buttonRect","searchCallback","searchTerm","findAnItemIDs","findAnItemOptions","resetCallback","searchTermLowerCase","startsWithIDs","includesIDs","startsWithOptions","includesOptions","concatIDs","concatOptions","collaboratorSearchCallback","isActiveUser","isInactiveUser","getActiveUserName","getInactiveUserName","getActiveUserEmailID","getInactiveUserEmailID","emailStartsWithIDs","emailIncludesIDs","emailStartsWithOptions","emailIncludesOptions","startsWithIDs_","startsWithOptions_","emailStartsWithIDs_","emailStartsWithOptions_","activeOption","getCollaboratorMultiSelectPickListCallback","MultiSelectComponent","getCollaboratorMultiSelectDropDownCallback","findAnItemComponent","optionCallback","MultiSelectOption","collaboratorDS","activeUserID","inactiveUserID","button","getCollaboratorSingleSelectPickListCallback","SingleSelectComponent","SingleSelectOption","getCollaboratorSingleSelectDropDownCallback","VALID_EMAIL_ID_REGEX","VALID_URL_REGEX","VALID_PHONE_NUMBER_REGEX","NUMBER_FIELD_REGEX","PERCENT_FIELD_REGEX","CURRENCY_FIELD_REGEX","PHONE_NUMBER_FIELD_REGEX","REPLACE_REGEX_FOR_NUMBER_FIELD","REPLACE_REGEX_FOR_PERCENT_FIELD","REPLACE_REGEX_FOR_CURRENCY_FIELD","REPLACE_REGEX_FOR_PHONE_NUMBER_FIELD","IP_ADDRESS_REGEX","isValidEmailID","isValidURL","isValidPhoneNumber","phoneNumber","isValidNumberFieldData","isValidPercentFieldData","isValidCurrencyFieldData","isValidPhoneNumberFieldData","getActualDataForNumberField","newData","valueAfterMinusSignFilter","applyFilterForMinusSign","applyFilterForDot","getActualDataForPercentField","getActualDataForCurrencyField","getActualDataForPhoneNumberField","minusIndex","minusLastIndex","dotIndex","dotLastIndex","iterator","secondIndex","getTextAndLinkFromTextFieldData","textFieldData","totalMatches","rightString","valueToBeSubtracted","resultArray","matchValueArray","matchValue","matchIndex","valueForComparing","leftString","isPhoneNumber","isEmailID","isURL","hasStringContainsOnlyNumbersAndDots","matchValueLength","inputString","getCurrencyCallback","schemaUI","getDateCallback","formViewSchema","DateComponent","getEmailCallback","UpgradeConfirmationDialog","upgradeConfirmationDialogEventHandler","pricingConfirmationDialogTemplate","parent","content","DialogModal","dialogModalTemplate","pricingUpgradeButtonTemplate","pricingConfrimationDialogEventHandler","pricingConfirmationDialogDom","sibiling","isPortalOwner","isZohoOnePortal","zohoOneRedirectionURL","PricingUpgradeButton","ToastersContainerClass","toasterDom","toaster","timeOut","toastId","ToastersMsgContainer","ErrorDomToaster","ErrorToaster","msg","WCErrorConstants","RESPONSE_KEYS","ErrorMsg","ERROR_KEY","EXCEPTION","ERROR_CODE","getStaticErrorMessage","errorcode","getErrorMessage","errorKey","getDynamicErrorMessage","parseErrorResponse","resp","baseResponse","errorCode","parseClientFailureException","exceptionResponse","DisplayErrorToaster","pricingUpgradeButton","removeClassList","FetchLinkFieldDataAction","SubmitFormViewAction","fieldValues","failureCallback","FindAnItemLinkFieldComponent","FindAnItemLinkFieldButtonOption","getLinkFieldMultiSelectCallback","totalRecordIDs","LinkFieldMultiSelectComponent","parseResponse","LinkFieldMultiSelectOption","totalValues","selectedRecordIDs","selectedRecordID","FOCUS_CLASS","ERROR_BORDER","getMultiEmailCallback","errorCheck","isValidMailID","getMultiPhoneNumberCallback","isValidPhoneNumberID","getMultiSelectPickListCallback","getMultiSelectDropDownCallback","getMultiURLCallback","isValidURLID","getNumberCallback","getPercentCallback","getPhoneNumberCallback","getRatingCallback","formBuilderSchema","oldCount","getSingleLineTextCallback","SingleLineTextComponent","getSingleSelectPickListCallback","getSingleSelectDropDownCallback","getURLCallback","Editor","SingleLineText","Email","Currency","NumberObject","Percent","PhoneNumber","LinkFieldMultiSelect","MultipleEmail","MultipleURL","MultiplePhoneNumber","DELIMITER_FOR_DATE_TIME_FIELD","UNKNOWN_FIELD_TYPE","ROW_HEIGHT","INPUT_CLASS","ERROR_MESSAGE_PLEASE_ENTER_A_NUMBER","getFormViewReadWriteComponent","fieldSpecifications","getSelectionDS","textFormat","autoDetectHyperlink","selectionDS","recordNames","checkboxStyle","fillStyle","props","rating","ratingStyle","maxCount","dateField","precision","thousandSeparator","showSymbol","symbol","phoneNumberFormat","AbstractClassFormViewInteracter","selectionsDS","fieldsDS","formViewDS","mandatoryFields","getAttachmentFieldEventHandler","FORM_COVER_IMAGE_LOGO_PREVIEW","FORM_COVER_PUBLIC_IMAGE_LOGO_PREVIEW","FormViewInteracter","coverURL","SubmitFailureDialog","AbstractClassFormViewSetInteracter","formViewInteracter","afterSubmitCallback","FormView","PERCENT_REGEX","FormViewSetInteracter","showLoaderCallback","hideLoaderCallback","fieldCount","showErrorMessage","newFieldValue","valueToBeSent","EXCEPT_DIGITS_REGEX","WHITE_COLOR","BACKGROUND_IMAGE_PROPERTY","getRGBColor","colorWithoutHex","getFormViewDS","getBase","getField","getIsFormViewBrandingDisablingAllowed","LABEL_ALIGNMENT_ERROR_MESSAGE","INVALID_SIZE","INVALID_ALIGNMENT","initializeFormView","coverImage","isCoverImageVisible","coverImageURL","isLogoVisible","logoURL","getSchemaUI","AbstractClassFormView","formViewSetInteracter","firstFieldID","submitButtonInfo","getShortCutKeyCombo","getKeyCode","Key","KeyCode_A","KeyCode_Z","KeyCode_ZERO","KeyCode_NINE","KeyCode_NUMPAD_ZERO","KeyCode_NUMPAD_NINE","isPrintable","exceptionCase","activeFID","getKeyCombination","isModifierKey","PasswordDialog","keyListener","bindKeyboardListener","unbindKeyboardListener","ThankyouDialog","imageURL","loader","REDIRECT_TIME","HTTP","HTTPS","showPasswordPage","passwordDialog","thankyouDialog","formView","buildFormView","formViewAfterSubmitCallback","AttachmentFieldEventHandler"],"sourceRoot":""}