{"version":3,"file":"js/app.2bef1dfd.js","mappings":"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ACXC,UACE,m4BACFC,OACE,62CACFC,KAAM,85DACNC,KAAM,4OACNtqD,OACE,gTACFuqD,KAAM,mPACNC,KAAM,yPACNC,SACE,olBACFhlD,QACE,ydACFvF,WAAY,mDACZyU,KAAM,8qBACN1P,MAAO,yCACPylD,YACE,+/CACF3jD,KAAM,iCACN4jD,UACE,uEACFC,IAAK,gsBACL3qD,aACE,ibACF4qD,SACE,srBACF/gD,SACE,ojCACFghD,MACE,yTACFC,WACE,0UACFzkD,KAAM,y9BACNkU,IAAK,m7BACLsH,MACE,6oCACFkpC,MACE,qiBACFC,KAAM,uhCACNC,WACE,ivBACFprD,KAAM,6XACNqrD,OACE,oWACFC,QACE,uPACFxwD,MACE,yiBACFF,QACE,6XACFiwB,KAAM,0dACN0gC,QACE,oWACFp/B,OACE,mUACFq/B,MACE,s+CACFC,MACE,8QACFC,aACE,ieACFC,gBACE,mbACFC,iBACE,0uBACFC,aACE,+wDACFC,YACE,s2DACF5S,MACE,ylBACF6S,MACE,wjFACFC,cACE,inFACFC,YACE,4vCACFC,QACE,uEACFC,aACE,8fACF34B,SACE,4kBACF44B,UACE,srCACF9rD,OACE,+7BACFvG,KAAM,mvCACNsyD,MACE,yLACFC,KAAM,yVACN14B,KAAM,unBACN24B,WACE,w5BACFnnB,SACE,80BACFonB,KAAM,gFACNC,SACE,4QACFC,SACE,uJACFC,cACE,ytCACFC,YACE,6dACFC,cACE,+fACFC,iBAAkB,sDAClBC,eACE,oeACFC,aACE,qeACF3gC,YACE,gnEACF4gC,cACE,8gCACFC,WACE,wbACFC,aACE,i5CACFhU,MACE,4WACFtsC,KAAM,w1BACNwvB,OACE,6YACF+wB,KAAM,y5BACNC,MACE,oWACFC,OACE,6tBACFC,OACE,sFACFC,OACE,sQACF7oC,KAAM,2UACN8oC,gBACE,+NACFC,gBACE,ghBACFC,IAAK,oHC3KP,GACEC,aAAc,qBACdxc,aAAc,qBACdE,mBAAoB,2BACpBuc,iBAAkB,yBAClB7c,qBAAsB,6BACtB8c,gBAAiB,6B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CAC9C,MACA,KACA,MAED,kDAAmD,CAClD,MACA,KACA,MAED,kCAAmC,CAClC,MACA,MAED,sCAAuC,CACtC,MACA,MAED,mCAAoC,CACnC,MACA,MAED,uCAAwC,CACvC,MACA,MAED,kCAAmC,CAClC,MACA,MAED,sCAAuC,CACtC,MACA,MAED,mCAAoC,CACnC,MACA,KAED,uCAAwC,CACvC,MACA,KAED,oCAAqC,CACpC,MACA,MAED,wCAAyC,CACxC,MACA,MAED,uCAAwC,CACvC,MACA,MAED,2CAA4C,CAC3C,MACA,MAED,4BAA6B,CAC5B,MACA,MAED,gCAAiC,CAChC,MACA,MAED,+BAAgC,CAC/B,MACA,MAED,mCAAoC,CACnC,MACA,MAED,wBAAyB,CACxB,MACA,MAED,4BAA6B,CAC5B,MACA,MAED,wBAAyB,CACxB,MACA,KACA,KAED,4BAA6B,CAC5B,MACA,KACA,KAED,yBAA0B,CACzB,MACA,KACA,KACA,MAED,6BAA8B,CAC7B,MACA,KACA,KACA,MAED,8BAA+B,CAC9B,KACA,MAED,kCAAmC,CAClC,KACA,MAED,qCAAsC,CACrC,MACA,MAED,yCAA0C,CACzC,MACA,MAED,iDAAkD,CACjD,MACA,MAED,qDAAsD,CACrD,MACA,MAED,kDAAmD,CAClD,MACA,MAED,sDAAuD,CACtD,MACA,MAED,+CAAgD,CAC/C,MACA,MAED,mDAAoD,CACnD,MACA,MAED,iDAAkD,CACjD,MACA,MAED,qDAAsD,CACrD,MACA,MAED,sCAAuC,CACtC,MACA,MAED,0CAA2C,CAC1C,MACA,MAED,qDAAsD,CACrD,MACA,MAED,yDAA0D,CACzD,MACA,MAED,uCAAwC,CACvC,MACA,MAED,2CAA4C,CAC3C,MACA,MAED,iCAAkC,CACjC,MACA,MAED,qCAAsC,CACrC,MACA,MAED,uCAAwC,CACvC,MACA,KAED,2CAA4C,CAC3C,MACA,KAED,oCAAqC,CACpC,MACA,KAED,wCAAyC,CACxC,MACA,KAED,oBAAqB,CACpB,MACA,IACA,KACA,MAED,wBAAyB,CACxB,MACA,IACA,KACA,MAED,6BAA8B,CAC7B,MACA,MAED,iCAAkC,CACjC,MACA,MAED,6BAA8B,CAC7B,MACA,MAED,iCAAkC,CACjC,MACA,MAED,gCAAiC,CAChC,OAED,oCAAqC,CACpC,OAED,yBAA0B,CACzB,MACA,KAED,6BAA8B,CAC7B,MACA,KAED,kBAAmB,CAClB,MACA,MAED,sBAAuB,CACtB,MACA,MAED,kBAAmB,CAClB,MACA,MAED,sBAAuB,CACtB,MACA,MAED,mBAAoB,CACnB,MACA,MAED,uBAAwB,CACvB,MACA,MAED,0BAA2B,CAC1B,KACA,MAED,8BAA+B,CAC9B,KACA,MAED,gCAAiC,CAChC,MACA,MAED,oCAAqC,CACpC,MACA,MAED,+BAAgC,CAC/B,MACA,KACA,KACA,MAED,mCAAoC,CACnC,MACA,KACA,KACA,MAED,+BAAgC,CAC/B,MACA,KAED,mCAAoC,CACnC,MACA,KAED,oCAAqC,CACpC,MACA,KACA,KACA,MAED,wCAAyC,CACxC,MACA,KACA,KACA,MAED,iCAAkC,CACjC,MACA,MAED,qCAAsC,CACrC,MACA,MAED,4BAA6B,CAC5B,MACA,KACA,MAED,gCAAiC,CAChC,MACA,KACA,MAED,mDAAoD,CACnD,KACA,MAED,uDAAwD,CACvD,KACA,MAED,yDAA0D,CACzD,MACA,MAED,6DAA8D,CAC7D,MACA,MAED,kCAAmC,CAClC,MACA,MAED,sCAAuC,CACtC,MACA,MAED,6CAA8C,CAC7C,MACA,MAED,iDAAkD,CACjD,MACA,MAED,wCAAyC,CACxC,MACA,MAED,4CAA6C,CAC5C,MACA,MAED,6CAA8C,CAC7C,MACA,MAED,iDAAkD,CACjD,MACA,MAED,yCAA0C,CACzC,KACA,MAED,6CAA8C,CAC7C,KACA,MAED,mDAAoD,CACnD,MACA,MAED,uDAAwD,CACvD,MACA,MAED,uDAAwD,CACvD,KACA,MAED,2DAA4D,CAC3D,KACA,MAED,6CAA8C,CAC7C,MACA,MAED,iDAAkD,CACjD,MACA,MAED,uCAAwC,CACvC,MACA,KACA,KACA,IACA,KACA,MAED,2CAA4C,CAC3C,MACA,KACA,KACA,IACA,KACA,MAED,8CAA+C,CAC9C,MACA,KAED,kDAAmD,CAClD,MACA,KAED,0CAA2C,CAC1C,MACA,MAED,8CAA+C,CAC9C,MACA,MAED,yCAA0C,CACzC,MACA,MAED,6CAA8C,CAC7C,MACA,MAED,2CAA4C,CAC3C,MACA,KACA,KACA,IACA,KAED,+CAAgD,CAC/C,MACA,KACA,KACA,IACA,KAED,kCAAmC,CAClC,MACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,sCAAuC,CACtC,MACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,6CAA8C,CAC7C,MACA,KACA,KACA,KACA,KAED,iDAAkD,CACjD,MACA,KACA,KACA,KACA,KAED,8CAA+C,CAC9C,MACA,KACA,MAED,kDAAmD,CAClD,MACA,KACA,MAED,wCAAyC,CACxC,KACA,KACA,KACA,IACA,KACA,MAED,4CAA6C,CAC5C,KACA,KACA,KACA,IACA,KACA,MAED,qCAAsC,CACrC,MACA,KAED,yCAA0C,CACzC,MACA,KAED,iDAAkD,CACjD,MACA,MAED,qDAAsD,CACrD,MACA,MAED,0CAA2C,CAC1C,MACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,MAED,8CAA+C,CAC9C,MACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,MAED,+CAAgD,CAC/C,MACA,MAED,mDAAoD,CACnD,MACA,MAED,sDAAuD,CACtD,MACA,MAED,0DAA2D,CAC1D,MACA,MAED,yDAA0D,CACzD,MACA,MAED,6DAA8D,CAC7D,MACA,MAED,wDAAyD,CACxD,MACA,MAED,4DAA6D,CAC5D,MACA,MAED,8CAA+C,CAC9C,MACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,MAED,kDAAmD,CAClD,MACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,MAED,kCAAmC,CAClC,MACA,MAED,sCAAuC,CACtC,MACA,MAED,8BAA+B,CAC9B,MACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,kCAAmC,CAClC,MACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,kCAAmC,CAClC,GACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,MAED,sCAAuC,CACtC,GACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,MAED,4CAA6C,CAC5C,KACA,MAED,gDAAiD,CAChD,KACA,MAED,mDAAoD,CACnD,MACA,MAED,uDAAwD,CACvD,MACA,MAED,2CAA4C,CAC3C,MACA,KACA,MAED,+CAAgD,CAC/C,MACA,KACA,MAED,yCAA0C,CACzC,MACA,KACA,MAED,6CAA8C,CAC7C,MACA,KACA,MAED,8CAA+C,CAC9C,MACA,KACA,KACA,IACA,KACA,KACA,KACA,KAED,kDAAmD,CAClD,MACA,KACA,KACA,IACA,KACA,KACA,KACA,KAED,4CAA6C,CAC5C,MACA,MAED,gDAAiD,CAChD,MACA,MAED,2DAA4D,CAC3D,MACA,KACA,KACA,IACA,KACA,KAED,+DAAgE,CAC/D,MACA,KACA,KACA,IACA,KACA,KAED,gEAAiE,CAChE,MACA,MAED,oEAAqE,CACpE,MACA,MAED,6DAA8D,CAC7D,MACA,MAED,iEAAkE,CACjE,MACA,MAED,8DAA+D,CAC9D,MACA,MAED,kEAAmE,CAClE,MACA,MAED,4DAA6D,CAC5D,MACA,KACA,KACA,IACA,KAED,gEAAiE,CAChE,MACA,KACA,KACA,IACA,KAED,mEAAoE,CACnE,MACA,MAED,uEAAwE,CACvE,MACA,MAED,4DAA6D,CAC5D,MACA,IAED,gEAAiE,CAChE,MACA,IAED,yDAA0D,CACzD,MACA,MAED,6DAA8D,CAC7D,MACA,MAED,0DAA2D,CAC1D,MACA,MAED,8DAA+D,CAC9D,MACA,MAED,kEAAmE,CAClE,MACA,MAED,sEAAuE,CACtE,MACA,MAED,yDAA0D,CACzD,MACA,MAED,6DAA8D,CAC7D,MACA,MAED,qDAAsD,CACrD,MACA,MAED,yDAA0D,CACzD,MACA,MAED,qDAAsD,CACrD,MACA,MAED,yDAA0D,CACzD,MACA,MAED,oDAAqD,CACpD,MACA,MAED,wDAAyD,CACxD,MACA,MAED,mDAAoD,CACnD,MACA,KACA,MAED,uDAAwD,CACvD,MACA,KACA,MAED,6BAA8B,CAC7B,MACA,KACA,MAED,iCAAkC,CACjC,MACA,KACA,MAED,iCAAkC,CACjC,MACA,KACA,KACA,MAED,qCAAsC,CACrC,MACA,KACA,KACA,MAED,gCAAiC,CAChC,KACA,MAED,oCAAqC,CACpC,KACA,MAED,kCAAmC,CAClC,MACA,MAED,sCAAuC,CACtC,MACA,MAED,kCAAmC,CAClC,MACA,MAED,sCAAuC,CACtC,MACA,MAED,8BAA+B,CAC9B,MACA,KACA,KACA,KACA,KACA,KACA,MAED,kCAAmC,CAClC,MACA,KACA,KACA,KACA,KACA,KACA,MAED,uDAAwD,CACvD,MACA,MAED,2DAA4D,CAC3D,MACA,MAED,mDAAoD,CACnD,MACA,KACA,KACA,KACA,MAED,uDAAwD,CACvD,MACA,KACA,KACA,KACA,MAED,gDAAiD,CAChD,MACA,KACA,MAED,oDAAqD,CACpD,MACA,KACA,MAED,sDAAuD,CACtD,MACA,KAED,0DAA2D,CAC1D,MACA,KAED,iDAAkD,CACjD,MACA,KACA,MAED,qDAAsD,CACrD,MACA,KACA,MAED,sDAAuD,CACtD,MACA,MAED,0DAA2D,CAC1D,MACA,MAED,gDAAiD,CAChD,MACA,KACA,KACA,KACA,MAED,oDAAqD,CACpD,MACA,KACA,KACA,KACA,MAED,mDAAoD,CACnD,MACA,KACA,MAED,uDAAwD,CACvD,MACA,KACA,MAED,yDAA0D,CACzD,MACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,6DAA8D,CAC7D,MACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,qDAAsD,CACrD,MACA,KACA,KACA,KACA,KACA,MAED,yDAA0D,CACzD,MACA,KACA,KACA,KACA,KACA,MAED,yBAA0B,CACzB,OAED,6BAA8B,CAC7B,OAED,wBAAyB,CACxB,MACA,MAED,4BAA6B,CAC5B,MACA,MAED,uBAAwB,CACvB,MACA,MAED,2BAA4B,CAC3B,MACA,MAED,8BAA+B,CAC9B,MACA,MAED,kCAAmC,CAClC,MACA,MAED,yBAA0B,CACzB,MACA,MAED,6BAA8B,CAC7B,MACA,MAED,gCAAiC,CAChC,MACA,KACA,MAED,oCAAqC,CACpC,MACA,KACA,MAED,uCAAwC,CACvC,MACA,MAED,2CAA4C,CAC3C,MACA,MAED,2CAA4C,CAC3C,MACA,MAED,+CAAgD,CAC/C,MACA,MAED,uCAAwC,CACvC,MACA,MAED,2CAA4C,CAC3C,MACA,MAED,oCAAqC,CACpC,MACA,MAED,wCAAyC,CACxC,MACA,MAED,wCAAyC,CACxC,MACA,KACA,MAED,4CAA6C,CAC5C,MACA,KACA,MAED,gCAAiC,CAChC,MACA,MAED,oCAAqC,CACpC,MACA,MAED,0CAA2C,CAC1C,MACA,MAED,8CAA+C,CAC9C,MACA,MAED,oCAAqC,CACpC,MACA,IACA,MAED,wCAAyC,CACxC,MACA,IACA,MAED,2CAA4C,CAC3C,MACA,MAED,+CAAgD,CAC/C,MACA,MAED,uCAAwC,CACvC,MACA,IAED,2CAA4C,CAC3C,MACA,IAED,kCAAmC,CAClC,MACA,MAED,sCAAuC,CACtC,MACA,MAED,oBAAqB,CACpB,OAED,wBAAyB,CACxB,OAED,uBAAwB,CACvB,MACA,MAED,2BAA4B,CAC3B,MACA,MAED,oBAAqB,CACpB,MACA,MAED,wBAAyB,CACxB,MACA,MAED,sBAAuB,CACtB,MACA,MAED,0BAA2B,CAC1B,MACA,MAED,iBAAkB,CACjB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,eAAgB,CACf,MACA,MAED,mBAAoB,CACnB,MACA,MAED,mBAAoB,CACnB,KACA,MAED,uBAAwB,CACvB,KACA,MAED,eAAgB,CACf,MACA,MAED,mBAAoB,CACnB,MACA,MAED,4BAA6B,CAC5B,MACA,MAED,gCAAiC,CAChC,MACA,MAED,sBAAuB,CACtB,MACA,MAED,0BAA2B,CAC1B,MACA,MAED,oBAAqB,CACpB,MACA,MAED,wBAAyB,CACxB,MACA,MAED,mBAAoB,CACnB,MACA,MAED,uBAAwB,CACvB,MACA,MAED,iBAAkB,CACjB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,sBAAuB,CACtB,KACA,MAED,0BAA2B,CAC1B,KACA,MAED,mBAAoB,CACnB,MACA,MAED,uBAAwB,CACvB,MACA,MAED,gBAAiB,CAChB,MACA,MAED,oBAAqB,CACpB,MACA,MAED,mBAAoB,CACnB,MACA,MAED,uBAAwB,CACvB,MACA,MAED,eAAgB,CACf,KACA,MAED,mBAAoB,CACnB,KACA,MAED,gBAAiB,CAChB,MACA,MAED,oBAAqB,CACpB,MACA,MAED,uBAAwB,CACvB,MACA,MAED,2BAA4B,CAC3B,MACA,MAED,sBAAuB,CACtB,KACA,MAED,0BAA2B,CAC1B,KACA,MAED,2BAA4B,CAC3B,MACA,MAED,+BAAgC,CAC/B,MACA,MAED,yBAA0B,CACzB,MACA,MAED,6BAA8B,CAC7B,MACA,MAED,gBAAiB,CAChB,MACA,MAED,oBAAqB,CACpB,MACA,MAED,iBAAkB,CACjB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,iBAAkB,CACjB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,eAAgB,CACf,MACA,MAED,mBAAoB,CACnB,MACA,MAED,mBAAoB,CACnB,KACA,MAED,uBAAwB,CACvB,KACA,MAED,kBAAmB,CAClB,MACA,MAED,sBAAuB,CACtB,MACA,MAED,iBAAkB,CACjB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,0BAA2B,CAC1B,MACA,MAED,8BAA+B,CAC9B,MACA,MAED,mBAAoB,CACnB,MACA,IACA,KACA,MAED,uBAAwB,CACvB,MACA,IACA,KACA,MAED,gBAAiB,CAChB,KACA,IACA,KACA,MAED,oBAAqB,CACpB,KACA,IACA,KACA,MAED,iBAAkB,CACjB,KACA,MAED,qBAAsB,CACrB,KACA,MAED,wCAAyC,CACxC,MACA,KAED,4CAA6C,CAC5C,MACA,KAED,0CAA2C,CAC1C,MACA,MAED,8CAA+C,CAC9C,MACA,MAED,4CAA6C,CAC5C,MACA,IACA,KACA,KACA,MAED,gDAAiD,CAChD,MACA,IACA,KACA,KACA,MAED,gCAAiC,CAChC,MACA,MAED,oCAAqC,CACpC,MACA,MAED,wCAAyC,CACxC,MACA,MAED,4CAA6C,CAC5C,MACA,MAED,wCAAyC,CACxC,MACA,MAED,4CAA6C,CAC5C,MACA,MAED,oCAAqC,CACpC,MACA,IACA,MAED,wCAAyC,CACxC,MACA,IACA,MAED,wCAAyC,CACxC,MACA,MAED,4CAA6C,CAC5C,MACA,MAED,kCAAmC,CAClC,MACA,IACA,MAED,sCAAuC,CACtC,MACA,IACA,MAED,oCAAqC,CACpC,MACA,IACA,KACA,MAED,wCAAyC,CACxC,MACA,IACA,KACA,MAED,iCAAkC,CACjC,KACA,MAED,qCAAsC,CACrC,KACA,MAED,gCAAiC,CAChC,MACA,IACA,KAED,oCAAqC,CACpC,MACA,IACA,KAED,oCAAqC,CACpC,MACA,MAED,wCAAyC,CACxC,MACA,MAED,mCAAoC,CACnC,MACA,MAED,uCAAwC,CACvC,MACA,MAED,mCAAoC,CACnC,MACA,IACA,MAED,uCAAwC,CACvC,MACA,IACA,MAED,oCAAqC,CACpC,KACA,MAED,wCAAyC,CACxC,KACA,MAED,0BAA2B,CAC1B,MACA,IACA,MAED,8BAA+B,CAC9B,MACA,IACA,MAED,+BAAgC,CAC/B,MACA,MAED,mCAAoC,CACnC,MACA,MAED,oBAAqB,CACpB,MACA,MAED,wBAAyB,CACxB,MACA,MAED,4BAA6B,CAC5B,MACA,KAED,gCAAiC,CAChC,MACA,KAED,6BAA8B,CAC7B,MACA,MAED,iCAAkC,CACjC,MACA,MAED,iCAAkC,CACjC,MACA,MAED,qCAAsC,CACrC,MACA,MAED,2CAA4C,CAC3C,MACA,IACA,KACA,MAED,+CAAgD,CAC/C,MACA,IACA,KACA,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AA2B,CAC1B,MACA,MAED,2BAA4B,CAC3B,MACA,MAED,0BAA2B,CAC1B,KACA,MAED,qBAAsB,CACrB,MACA,MAED,4BAA6B,CAC5B,MACA,IACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,MAED,0BAA2B,CAC1B,MACA,MAED,+BAAgC,CAC/B,MACA,MAED,wBAAyB,CACxB,MACA,MAED,2BAA4B,CAC3B,MACA,KACA,MAED,0BAA2B,CAC1B,MACA,KAED,iCAAkC,CACjC,MACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,gCAAiC,CAChC,MACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,MAED,iCAAkC,CACjC,MACA,MAED,kCAAmC,CAClC,MACA,KACA,KACA,IACA,MAED,kCAAmC,CAClC,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,qBAAsB,CACrB,MACA,KACA,MAED,mBAAoB,CACnB,MACA,MAED,oBAAqB,CACpB,MACA,MAED,wBAAyB,CACxB,MACA,MAED,4BAA6B,CAC5B,MACA,IACA,KACA,KACA,KACA,MAED,wBAAyB,CACxB,MACA,IACA,KACA,MAED,oBAAqB,CACpB,MACA,OAGF,SAAS+4B,EAAoBC,GAC5B,IAAIC,EAAoBC,EAAEl5B,EAAKg5B,GAC9B,OAAOlpC,QAAQC,UAAUpJ,MAAK,WAC7B,IAAIwyC,EAAI,IAAIC,MAAM,uBAAyBJ,EAAM,KAEjD,MADAG,EAAEhhB,KAAO,mBACHghB,CACP,IAGD,IAAIE,EAAMr5B,EAAIg5B,GAAMzzC,EAAK8zC,EAAI,GAC7B,OAAOvpC,QAAQihC,IAAIsI,EAAIoF,MAAM,GAAGz+B,IAAIi5B,EAAoBE,IAAIxyC,MAAK,WAChE,OAAOsyC,EAAoB1zC,EAC5B,GACD,CACAwzC,EAAoBO,KAAO,WAAa,OAAOjF,OAAOiF,KAAKt5B,EAAM,EACjE+4B,EAAoBxzC,GAAK,MACzB4B,EAAOo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,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,YAAYA,GAAW,KACp6I,C,eCHA1tB,EAAoB6tB,SAAW,SAASH,GAEvC,MAAO,OAASA,EAAU,IAAM,CAAC,GAAK,WAAW,GAAK,WAAW,GAAK,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO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KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,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","sources":["webpack://kat-app/./src/composables/module.ts","webpack://kat-app/./src/composables/componentState.ts","webpack://kat-app/./src/composables/webgl.ts","webpack://kat-app/./src/composables/textToSpeech.ts","webpack://kat-app/./src/composables/slide.ts","webpack://kat-app/./src/composables/aiTopic.ts","webpack://kat-app/./src/composables/project.ts","webpack://kat-app/./src/composables/auth.ts","webpack://kat-app/./src/composables/administration.ts","webpack://kat-app/./src/composables/inputValidation.ts","webpack://kat-app/./src/composables/tag.ts","webpack://kat-app/./src/composables/color.ts","webpack://kat-app/./src/composables/moduleIntake.ts","webpack://kat-app/./src/composables/moduleNavigation.ts","webpack://kat-app/./src/composables/modulePresentation.ts","webpack://kat-app/./src/composables/moduleQuiz.ts","webpack://kat-app/./src/composables/code.ts","webpack://kat-app/./src/composables/analytic.ts","webpack://kat-app/./src/composables/pdf.ts","webpack://kat-app/./src/composables/moduleSpeech.ts","webpack://kat-app/./src/composables/shortcut.ts","webpack://kat-app/./src/composables/publishListener.ts","webpack://kat-app/./src/lang/translations/ lazy ^\\.\\/.*\\/termsOfService\\.json$ namespace object","webpack://kat-app/./src/views/protected/admin/ lazy ^\\.\\/.*\\.vue$ namespace object","webpack://kat-app/./src/lang/translations/ lazy ^\\.\\/.*\\/header\\.json$ namespace object","webpack://kat-app/./src/composables/storage.ts","webpack://kat-app/./src/static/js/colors.js","webpack://kat-app/./src/composables/utils.ts","webpack://kat-app/./src/views/auth/ lazy ^\\.\\/.*\\.vue$ namespace object","webpack://kat-app/./src/views/protected/projects/ lazy ^\\.\\/.*\\.vue$ namespace object","webpack://kat-app/./src/components/theme/Accordion.vue?69a1","webpack://kat-app/./src/components/theme/Accordion.vue","webpack://kat-app/./src/components/theme/Accordion.vue?89bd","webpack://kat-app/./src/store/Auth/getters.ts","webpack://kat-app/./src/store/Auth/actions.ts","webpack://kat-app/./src/store/Auth/mutations.ts","webpack://kat-app/./src/store/Auth/index.ts","webpack://kat-app/./src/store/Asset/getters.ts","webpack://kat-app/./src/store/Asset/actions.ts","webpack://kat-app/./src/store/Asset/mutations.ts","webpack://kat-app/./src/store/Asset/index.ts","webpack://kat-app/./src/store/Settings/getters.ts","webpack://kat-app/./src/store/Settings/actions.ts","webpack://kat-app/./src/store/Settings/mutations.ts","webpack://kat-app/./src/store/Settings/index.ts","webpack://kat-app/./src/store/Module/getters.ts","webpack://kat-app/./src/store/Module/actions.ts","webpack://kat-app/./src/store/Module/mutations.ts","webpack://kat-app/./src/store/Module/index.ts","webpack://kat-app/./src/store/Content/getters.ts","webpack://kat-app/./src/store/Content/actions.ts","webpack://kat-app/./src/store/Content/mutations.ts","webpack://kat-app/./src/store/Content/index.ts","webpack://kat-app/./src/store/index.ts","webpack://kat-app/./src/views/protected/share/ lazy ^\\.\\/.*\\.vue$ namespace object","webpack://kat-app/./src/lang/translations/ lazy ^\\.\\/.*\\/pages\\.json$ namespace object","webpack://kat-app/./src/lang/translations/ lazy ^\\.\\/.*\\/component\\.json$ namespace object","webpack://kat-app/./src/composables/event.ts","webpack://kat-app/./src/router/auth/Auth.ts","webpack://kat-app/./src/router/protected/Admin.ts","webpack://kat-app/./src/router/protected/AiTools.ts","webpack://kat-app/./src/router/protected/Profile.ts","webpack://kat-app/./src/router/protected/Projects.ts","webpack://kat-app/./src/router/protected/Share.ts","webpack://kat-app/./src/router/protected/Protected.ts","webpack://kat-app/./src/router/index.ts","webpack://kat-app/./src/components/projects/webgl/Webgl.vue?d884","webpack://kat-app/./src/components/projects/webgl/Webgl.vue","webpack://kat-app/./src/components/projects/webgl/Webgl.vue?516c","webpack://kat-app/./src/components/dashboard/SideNotifications.vue?2485","webpack://kat-app/./src/components/dashboard/SideNotifications.vue","webpack://kat-app/./src/components/dashboard/SideNotifications.vue?1c3f","webpack://kat-app/./src/lang/translations/ lazy ^\\.\\/.*\\/module\\.json$ namespace object","webpack://kat-app/./src/lang/translations/ lazy ^\\.\\/.*\\/shared\\.json$ namespace object","webpack://kat-app/./src/views/protected/profile/ lazy ^\\.\\/.*\\.vue$ namespace object","webpack://kat-app/./src/lang/index.ts","webpack://kat-app/./src/composables/translation.ts","webpack://kat-app/./src/static/ts/constants.ts","webpack://kat-app/./src/App.vue?cb76","webpack://kat-app/./src/App.vue","webpack://kat-app/./src/App.vue?7ccd","webpack://kat-app/./src/plugins/veelidateRules.ts","webpack://kat-app/./src/plugins/globalComponents.ts","webpack://kat-app/./src/assets/icons/icons.ts","webpack://kat-app/./src/static/ts/events.ts","webpack://kat-app/./src/static/ts/apiConfig.ts","webpack://kat-app/./src/static/ts/endpoints.ts","webpack://kat-app/./src/main.ts","webpack://kat-app/./src/components/ lazy ^\\.\\/.*$ namespace object","webpack://kat-app/./src/models/utils.ts","webpack://kat-app/./src/composables/asset.ts","webpack://kat-app/./src/composables/notificationsLocal.ts","webpack://kat-app/./src/views/protected/aiTools/ lazy ^\\.\\/.*\\.vue$ namespace object","webpack://kat-app/./src/views/protected/ lazy ^\\.\\/.*\\.vue$ namespace object","webpack://kat-app/./src/composables/notification.ts","webpack://kat-app/webpack/bootstrap","webpack://kat-app/webpack/runtime/chunk loaded","webpack://kat-app/webpack/runtime/compat get default export","webpack://kat-app/webpack/runtime/create fake namespace object","webpack://kat-app/webpack/runtime/define property getters","webpack://kat-app/webpack/runtime/ensure chunk","webpack://kat-app/webpack/runtime/get javascript chunk filename","webpack://kat-app/webpack/runtime/get mini-css chunk filename","webpack://kat-app/webpack/runtime/global","webpack://kat-app/webpack/runtime/hasOwnProperty shorthand","webpack://kat-app/webpack/runtime/load script","webpack://kat-app/webpack/runtime/make namespace object","webpack://kat-app/webpack/runtime/node module decorator","webpack://kat-app/webpack/runtime/publicPath","webpack://kat-app/webpack/runtime/css loading","webpack://kat-app/webpack/runtime/jsonp chunk loading","webpack://kat-app/webpack/startup"],"sourcesContent":["import axios from \"axios\";\nimport { inject } from \"vue\";\nimport { useStore } from \"vuex\";\nimport { useRoute, useRouter } from \"vue-router\";\nimport { useNotification } from \"./notification\";\nimport {\n Module,\n ModuleBaseResponse,\n ModuleData,\n ModuleMostRecent,\n ModuleTypes,\n} from \"@/models/module\";\nimport { AiTopic } from \"@/models/aiTopic\";\nimport { Tag } from \"@/models/tag\";\nimport { Language } from \"@/models/utils\";\nimport { Project, ProjectContentItem } from \"@/models/project\";\nimport _ from \"lodash\";\nimport { useUtils } from \"./utils\";\n\nexport const useModule = () => {\n const endpoints = inject(\"endpoints\") as EndpointsEnum;\n const constants = inject(\"constants\") as ConstantsEnum;\n\n const store = useStore();\n const router = useRouter();\n const notificationComposable = useNotification();\n const utilsComposable = useUtils();\n const route = useRoute();\n\n const { clientId, id, email } = store.state.Auth.originalInfo;\n\n function createModule(\n type: ModuleTypes | \"Project\",\n name: string,\n tags: Array = [],\n lang: Language = Language.en\n ) {\n const payload = {\n moduleName: name,\n tags: tags,\n moduleType_chr: type,\n clientId: clientId,\n calling_UserID_chr: id,\n lastUpdatedByUserId: email,\n lang,\n };\n\n return axios\n .post(endpoints.MODULES.CREATE, payload)\n .then((response: any) => {\n notificationComposable.success(\"module.create_module_success\");\n return response as Module;\n })\n .catch((error) => {\n notificationComposable.error(\"module.create_module_error\");\n throw error;\n });\n }\n\n function makeContentObject(\n moduleResponse: ModuleBaseResponse\n ): ProjectContentItem {\n const _module = moduleResponse.module;\n return {\n id: _module.moduleId,\n name: _module.moduleName,\n type: _module.moduleType_chr,\n tags: _module.tags,\n status: _module.status,\n lang: _module.lang,\n createdAt: _module.createdDateTime,\n displayStatus: utilsComposable.getStatusName(_module.status),\n lastUpdateAt: _module.lastUpdatedDateTime,\n extraInfo: {\n length: moduleResponse.length,\n questionsCount: moduleResponse.questionsCount,\n slidesCount: moduleResponse.slidesCount,\n mediasCount: moduleResponse.mediasCount,\n projectsCount: moduleResponse.projectsCount,\n },\n };\n }\n\n function getModulesList(\n projectId: string | null,\n clientId: number | null,\n moduleType?: string | null\n ) {\n return axios\n .get(endpoints.MODULES.GET_ALL_MODULELIST, {\n params: {\n clientId,\n projectId,\n moduleType,\n },\n })\n .then((response: any) => response as Array)\n .catch((err) => {\n throw err;\n });\n }\n\n function getTimelineModules(projectId: string | null) {\n return axios\n .get(endpoints.MODULES.TIMELINE_MODULES, {\n params: {\n projectId,\n },\n })\n .then((response: any) => response as Array)\n .catch((err) => {\n throw err;\n });\n }\n\n function get(moduleId: string) {\n return axios\n .get(endpoints.MODULES.GET, {\n params: {\n moduleId,\n },\n })\n .then((response: any) => {\n const module: Module = response;\n if (module.clientID_lng !== clientId) {\n router.push({\n path: \"/projects\",\n });\n\n throw notificationComposable.error(\"project.permission_declined\");\n }\n return module;\n });\n }\n\n function getModuleData(moduleId: string) {\n return axios\n .get(endpoints.MODULES.GET_MODULE_DATA, {\n params: {\n moduleId,\n },\n })\n .then((response: any) => {\n return response as ModuleData;\n })\n .catch((err) => {\n throw err;\n });\n }\n\n function deleteModule(moduleId: string) {\n return axios\n .delete(endpoints.MODULES.DELETE, {\n params: { moduleId },\n })\n .then(() => {\n notificationComposable.success(\"module.delete_module_success\");\n })\n .catch((error) => {\n if (error.response.status === 409) {\n notificationComposable.error(\"module.conflict_error\");\n throw error;\n } else {\n notificationComposable.error(\"module.delete_module_error\");\n throw error;\n }\n });\n }\n\n function updateName(moduleId: string, moduleName: string) {\n return axios\n .put(endpoints.MODULES.UPDATE_NAME, {\n moduleId,\n moduleName,\n lastUpdatedByUserId: id,\n })\n .then((response) => {\n notificationComposable.success(\"module.rename_module_success\");\n return response;\n })\n .catch((error) => {\n notificationComposable.error(\"module.rename_module_error\");\n throw error;\n });\n }\n\n function publishModule(moduleId: string) {\n return axios\n .post(endpoints.MODULES.PUBLISH, null, {\n params: { moduleId },\n })\n .then((response: any) => {\n notificationComposable.success(\"notification.publish_module_success\");\n return response;\n })\n .catch((error) => {\n notificationComposable.error(\n error.response.data.includes(\"unpublished topic\")\n ? \"module.publish_module_error_topic\"\n : \"module.publish_module_error\"\n );\n throw error;\n });\n }\n\n function revertModuleToPublished(moduleId: string) {\n return axios\n .post(endpoints.MODULES.REVERT_TO_PUBLISHED, null, {\n params: { moduleId },\n })\n .then((response: any) => {\n notificationComposable.success(\"module.revert_module_success\");\n return response as Module;\n })\n .catch((error) => {\n notificationComposable.error(\"module.revert_module_error\");\n throw error;\n });\n }\n\n function saveCopy(\n moduleId: string,\n clientName: string,\n customClientId?: number\n ) {\n const clientIdValue = customClientId ? customClientId : clientId;\n\n return axios\n .get(endpoints.MODULES.COPY, {\n params: {\n moduleId,\n clientId: clientIdValue,\n clientName,\n },\n })\n .then((response: any) => {\n notificationComposable.success(\"module.copied_module_success\");\n return response as Module;\n })\n .catch((error) => {\n notificationComposable.error(\"module.copied_module_error\");\n throw error;\n });\n }\n\n function goToEditModule(\n moduleId: string,\n moduleType: ModuleTypes | \"Project\" | null,\n projectId?: string\n ) {\n if (moduleType === \"QnA\") return;\n\n const isFromDashboard = !!projectId;\n\n if (isFromDashboard) {\n return router.push({\n name: \"protected.projects.project.module\",\n params: {\n moduleId,\n projectId: projectId,\n },\n query: {\n from: \"dashboard\",\n },\n });\n }\n\n return router.push({\n name: \"protected.projects.project.module\",\n params: {\n moduleId,\n projectId: route.params.projectId,\n },\n });\n }\n\n function saveTopicList(moduleId: string, activeList: Array) {\n return axios\n .post(endpoints.MODULES.SAVE_TOPIC_LIST, {\n moduleId,\n LastUpdatedByUserId: email,\n activeList,\n })\n .then((response: any) => {\n notificationComposable.success(\"module.save_topic_list_success\");\n return response as Module;\n })\n .catch((err) => {\n notificationComposable.error(\"module.save_topic_list_error\");\n throw err;\n });\n }\n\n function getAvailableTopics(moduleId: string) {\n return axios\n .get(endpoints.MODULES.AVAILABLE_TOPICS, {\n params: { moduleId, clientId },\n })\n .then((response: any) => response as Array);\n }\n\n function getRecentModules() {\n return axios\n .get(endpoints.MODULES.GET_RECENT_MODULES, {\n params: { clientId },\n })\n .then((response: any) => {\n const modules = response as Array;\n const contents = [] as Array;\n _.forEach(modules, (p) => {\n contents.push(generateContentItemModule(p));\n });\n return contents;\n });\n }\n\n function generateContentItemModule(module: ModuleMostRecent) {\n const moduleType = utilsComposable.getModuleTypeByEnum(module.moduleType);\n const content = {\n displayStatus: \"Published\",\n id: module.moduleId,\n name: module.moduleName,\n type: moduleType,\n lang: constants.LANGUAGES.EN,\n status: constants.STATE_STATUS.PUBLISHED,\n tags: [],\n } as ProjectContentItem;\n return content;\n }\n\n function getProjectsByModuleId(moduleId: string) {\n return axios\n .get(endpoints.MODULES.GET_PROJECTS_BY_MODULE, {\n params: { moduleId },\n })\n .then((response: any) => {\n return response as Array;\n });\n }\n\n function convertTopicToModule(source: any, topicId: string): Module {\n let topicProperties;\n if (source.modules) {\n topicProperties = source.modules[0].moduleProperties;\n } else {\n topicProperties = null;\n }\n\n const target: Module = {\n id: source.id,\n moduleId: \"\",\n moduleProperties: topicProperties,\n displayStatus: source.status,\n status: source.status,\n moduleState: null,\n isPublished: source.isPublished,\n quiz: null,\n topics: [\n {\n topicId: topicId,\n },\n ],\n intake: null,\n presentation: null,\n navigation: null,\n questionModule: null,\n speech: null,\n intro: null,\n outro: null,\n createdDateTime: source.createdDateTime,\n lastUpdatedDateTime: source.lastUpdatedDateTime,\n clientID_lng: source.clientID_lng,\n lang: source.lang,\n estimatedRuntime: source.estimatedRuntime,\n moduleName: source.topicName,\n moduleType_chr: \"QnA\",\n lastUpdatedByUserId: source.lastUpdatedByUserId,\n tags: [],\n };\n\n return target;\n }\n\n function getModuleTopicsUnpublishedStatus(moduleId: string) {\n return axios\n .get(endpoints.MODULES.GET_MODULE_TOPICS_UNPUBLISHED_CHANGES, {\n params: {\n moduleId,\n },\n })\n .then((response: any) => {\n const topics = response as Array;\n return _.map(topics, (t: AiTopic) => {\n return {\n moduleName: t.topicName,\n moduleId: t.topicId,\n moduleType: \"QnA\" as ModuleTypes,\n };\n });\n });\n }\n\n return {\n get,\n getModuleData,\n createModule,\n getModulesList,\n getTimelineModules,\n deleteModule,\n updateName,\n publishModule,\n revertModuleToPublished,\n saveCopy,\n goToEditModule,\n saveTopicList,\n getAvailableTopics,\n getRecentModules,\n getProjectsByModuleId,\n convertTopicToModule,\n makeContentObject,\n getModuleTopicsUnpublishedStatus,\n };\n};\n","import _ from \"lodash\";\nimport { useStore } from \"vuex\";\nimport { useStorage } from \"./storage\";\nimport { ComponentState } from \"@/models/utils\";\n\nexport const useComponentState = () => {\n const store = useStore();\n const storageComposable = useStorage();\n\n const { id: userId } = store.state.Auth.originalInfo;\n\n function set(state: ComponentState) {\n const storageStates = storageComposable.get(\"component-states\") || {};\n let states: Array = storageStates[userId]\n ? storageStates[userId]\n : [];\n\n states = _.filter(\n states,\n (s) =>\n s.componentName != state.componentName &&\n s.componentId != state.componentId\n );\n\n states.push(state);\n\n storageStates[userId] = states;\n\n storageComposable.set(\"component-states\", storageStates);\n }\n\n function get(componentId: string, componentName: string) {\n const storageStates = storageComposable.get(\"component-states\") || {};\n const states: Array = storageStates[userId]\n ? storageStates[userId]\n : [];\n\n return _.find(\n states,\n (state) =>\n state.componentName === componentName &&\n state.componentId === componentId\n );\n }\n\n function remove(componentId: string, componentName: string) {\n const storageStates = storageComposable.get(\"component-states\") || {};\n let states: Array = storageStates[userId]\n ? storageStates[userId]\n : [];\n\n states = _.filter(\n states,\n (s) => s.componentName != componentName && s.componentId != componentId\n );\n\n storageStates[userId] = states;\n\n storageComposable.set(\"component-states\", storageStates);\n }\n\n return {\n set,\n get,\n remove,\n };\n};\n","import _ from \"lodash\";\nimport {\n WebglMessagePost,\n WebglMessageResponse,\n WebglMessageActionsPost,\n WebglSlide,\n WebglQuiz,\n WebglIntake,\n WebglNavigation,\n} from \"@/models/webgl\";\nimport { ModuleMediaTypes, ModuleTextToSpeechLayerItem } from \"@/models/module\";\nimport { ModuleQuizSlide } from \"@/models/moduleQuiz\";\nimport { ModuleIntakeQuestion } from \"@/models/moduleIntake\";\nimport { ModuleNavigation } from \"@/models/moduleNavigation\";\nimport { ProjectAvatar } from \"@/models/project\";\nimport { useEvent } from \"./event\";\nimport { useStorage } from \"./storage\";\nimport { inject, ref } from \"vue\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport { detect } from \"detect-browser\";\nimport { useTextToSpeech } from \"./textToSpeech\";\nimport { SlideCustomAnimations } from \"@/models/slide\";\n\nconst browser = detect();\n\nconst audioMode = ref(false);\nconst initialized = ref(false);\nconst agentLoaded = ref(false);\nconst animationLoaded = ref(false);\nconst slideReady = ref(false);\nconst audioState = ref({\n duration: 0,\n currentTime: 0 as number,\n playing: false,\n canResumeAudio: false,\n});\nconst avatar = ref();\nconst agentType = ref(\"\");\nconst animationsList = ref<\n Array<{\n text: string;\n value: string;\n duration: number;\n offset: number;\n }>\n>([]);\nconst customAnimations = ref>([]);\n\nconst evtHandler: {\n [action: string]: (data: any) => void;\n} = {};\n\nlet queue: Array = [];\nlet currentSlide: WebglMessagePost | null = null;\nlet audioEl: HTMLAudioElement;\nlet isFirstSlideReady = true;\nlet currentTimeInteval: any = null;\n\nexport { audioState };\n\nexport const useWebgl = () => {\n const events = inject(\"events\") as EventsEnum;\n\n const eventComposable = useEvent();\n const textToSpeechComposable = useTextToSpeech();\n\n function init() {\n if (browser && browser.version) {\n const browserVersion = +browser.version.split(\".\")[0];\n audioMode.value = browser.name === \"safari\" && browserVersion <= 13;\n }\n\n if (!audioMode.value) startEventHandler();\n }\n\n function loadAudio() {\n return new Promise((resolve) => {\n const regex = /[^\\s]/;\n if (\n !regex.test(textToSpeechComposable.text.value) ||\n textToSpeechComposable.text.value == \"\\n\" ||\n !textToSpeechComposable.avatarVoice.value\n ) {\n slideReady.value = true;\n resolve(false);\n return;\n }\n const audioUrl = textToSpeechComposable.avatarVoice.value.soundClipURL;\n\n if (audioEl && audioEl.src === audioUrl) {\n resolve(true);\n return;\n }\n\n if (audioEl) {\n resetSlideInfo();\n audioEl.setAttribute(\"src\", audioUrl);\n audioEl.load();\n } else {\n audioEl = new Audio(audioUrl);\n }\n\n audioEl.oncanplay = () => {\n if (\n !audioState.value.duration &&\n audioEl &&\n audioEl.duration != audioState.value.duration\n ) {\n audioState.value.duration = calcDuration(audioEl.duration);\n slideReady.value = true;\n agentLoaded.value = true;\n initialized.value = true;\n resolve(true);\n }\n };\n\n audioEl.onplay = () => {\n audioState.value.playing = true;\n };\n\n audioEl.onpause = () => {\n audioState.value.playing = false;\n };\n });\n }\n\n function startUpdateCurrentTime() {\n currentTimeInteval = setInterval(() => {\n audioState.value.currentTime += 0.1;\n audioState.value.currentTime = Number(\n audioState.value.currentTime.toFixed(2)\n );\n if (audioState.value.currentTime >= audioState.value.duration) {\n stopUpdateCurrentTime();\n resetSlideInfo();\n pause();\n post({ action: \"clearChalkboard\" });\n reloadCurrentSlide();\n }\n\n eventComposable.emit(\n events.WEBGL_UPDATE_TIME,\n audioState.value.currentTime\n );\n }, 100);\n }\n\n function stopUpdateCurrentTime() {\n if (currentTimeInteval) clearInterval(currentTimeInteval);\n currentTimeInteval = null;\n }\n\n function startEventHandler() {\n evtHandler.initialized = () => {\n initialized.value = true;\n };\n const userLang = useStorage().get(\"language\");\n evtHandler.agentLoaded = () => {\n agentLoaded.value = true;\n _.forEach(queue, (message) => post(message));\n queue = [];\n post({\n action: \"getAvailableNBLGAnimations\",\n data: {\n language: userLang,\n },\n });\n post({\n action: \"enableUtteranceTimeEvent\",\n data: {\n enabled: true,\n },\n });\n reloadCurrentSlide();\n };\n evtHandler.waitingForInitializationMessage = () => {\n post({ action: \"startDynamicMode\" });\n };\n evtHandler.slideReady = (data) => {\n console.log(\"Slide Ready recebido\");\n if (!data.duration) data.duration = 0;\n slideReady.value = true;\n audioState.value.duration = calcDuration(data.duration || 0);\n eventComposable.emit(\n events.TEXT_TO_SPEECH_SLIDE_READY,\n isFirstSlideReady\n );\n isFirstSlideReady = false;\n };\n evtHandler.availableNBLGAnimations = (data) => {\n animationsList.value = [];\n _.forEach(data, (animation) => {\n animationsList.value.push({\n text: animation.label ? animation.label : animation.name,\n value: animation.name,\n duration: animation.animDuration * 1000,\n offset: animation.offset * 1000,\n });\n });\n\n setAnimationLayersDuration();\n };\n }\n\n function show(divId?: string, zIndex?: number) {\n eventComposable.emit(events.WEBGL_SHOW, { divId, zIndex });\n }\n\n function hide() {\n pause();\n post({ action: \"clearChalkboard\" });\n const evtToClear: Array = [\n \"slidePaused\",\n \"quizPaused\",\n \"intakePaused\",\n \"navigationPaused\",\n ];\n _.forEach(evtToClear, (evt) => removeFromQueue(evt));\n currentSlide = null;\n resetSlideInfo();\n eventComposable.emit(events.WEBGL_HIDE);\n }\n\n function pause() {\n stopUpdateCurrentTime();\n if (audioMode.value) {\n if (audioEl) audioEl.pause();\n return;\n } else if (audioState.value.playing) {\n audioState.value.playing = false;\n post({ action: \"pauseSlide\" });\n }\n }\n\n function play() {\n if (audioMode.value) {\n if (audioEl) audioEl.play();\n return;\n }\n const canResumeAudio = !!audioState.value.canResumeAudio;\n const currentTime = _.cloneDeep(audioState.value.currentTime);\n const isTimeChanged = currentTime > 0;\n\n audioState.value.playing = true;\n post({\n action: canResumeAudio ? \"resumeSlide\" : \"playSlide\",\n });\n\n if (isTimeChanged) {\n if (canResumeAudio) {\n seek(currentTime);\n } else {\n evtHandler.slideAudioStarted = () => {\n seek(currentTime);\n delete evtHandler.slideAudioStarted;\n };\n }\n }\n\n audioState.value.canResumeAudio = true;\n\n startUpdateCurrentTime();\n }\n\n function toggleAudio() {\n if (audioState.value.playing) {\n pause();\n } else {\n play();\n }\n }\n\n function getAnimationByName(name: string) {\n return _.find(\n animationsList.value,\n (animation) => animation.value === name\n );\n }\n\n function setCurrentTime(seconds: number) {\n audioState.value.currentTime = seconds;\n\n if (audioMode.value) {\n if (audioEl) {\n audioEl.currentTime = seconds;\n audioState.value.playing = false;\n pause();\n return;\n }\n }\n if (audioState.value.playing) {\n seek(seconds);\n }\n }\n\n function onReceiveEvt(message: WebglMessageResponse) {\n if (evtHandler[message.action]) {\n evtHandler[message.action](message.data);\n }\n }\n\n async function post(message: WebglMessagePost) {\n const isInicializationEvt = [\n \"startDynamicMode\",\n \"getAvailableClothes\",\n \"loadAgent\",\n ].includes(message.action);\n\n const isSlideEvt = [\n \"slidePaused\",\n \"quizPaused\",\n \"intakePaused\",\n \"navigationPaused\",\n ].includes(message.action);\n\n if (isSlideEvt) currentSlide = _.cloneDeep(message);\n\n if (!isInicializationEvt) {\n if (!initialized.value || !agentLoaded.value) {\n removeFromQueue(message.action);\n queue.push(message);\n return;\n }\n } else {\n agentLoaded.value = false;\n }\n\n eventComposable.emit(events.WEBGL_POST, _.cloneDeep(message));\n }\n\n function getPresets(_agentName: string) {\n const agentName = _agentName.includes(\"_\")\n ? _agentName.split(\"_\")[1].toLowerCase()\n : _agentName.toLowerCase();\n\n const clothes: { [agent: string]: { [preset: string]: Array } } = {\n john: {\n default: [\"glasses\", \"shoes\", \"labcoat\", \"belt\", \"slacks\", \"shirt\"],\n },\n allison: {\n default: [\"shoes\", \"hair\", \"pants\", \"shirt\", \"labcoat\"],\n },\n andy: {\n default: [\"hair\", \"shirt\", \"shoes\", \"labcoat\", \"necktie\", \"pants\"],\n },\n peter: {\n default: [\n \"labcoat\",\n \"glasses\",\n \"shoes\",\n \"belt\",\n \"slacks\",\n \"shirt\",\n \"pompador\",\n ],\n },\n hanna: {\n default: [\"hannahair\", \"blouse\", \"loafers\", \"labcoat\", \"pants\"],\n },\n noriko: {\n default: [\"blouse\", \"hairbob\", \"loafers\", \"labcoat\", \"pants\"],\n },\n };\n\n if (!clothes[agentName]) return null;\n\n return clothes[agentName];\n }\n\n function filterClothsByAgent(\n _agentName: string,\n clothes: Array,\n preset = \"default\"\n ) {\n const agentPresets = getPresets(_agentName);\n\n let availableClothes: Array = [];\n\n if (agentPresets) {\n if (agentPresets[preset]) {\n availableClothes = agentPresets[preset];\n } else {\n availableClothes = agentPresets.default;\n }\n }\n\n return _.filter(\n clothes,\n (clothe) =>\n !!_.find(availableClothes, (val) =>\n clothe.toLowerCase().includes(val.toLowerCase())\n )\n );\n }\n\n function removeFromQueue(_action: WebglMessageActionsPost) {\n queue = _.filter(queue, (message) => {\n const action = typeof message === \"object\" ? message.action : message;\n return _action != action;\n });\n }\n\n function seek(time: number) {\n post({\n action: \"seek\",\n data: { time },\n });\n }\n\n function loadAvatar(_avatar: ProjectAvatar, _force = false, preset?: string) {\n if (\n !_force &&\n avatar.value &&\n _avatar.avatarName === avatar.value.avatarName\n ) {\n return;\n }\n avatar.value = _avatar;\n agentType.value = avatar.value.prefabName.split(\"_\")[0];\n agentLoaded.value = false;\n if (!initialized.value) {\n evtHandler.initialized = () => {\n initialized.value = true;\n loadAvatar(_avatar, true, preset);\n };\n return;\n }\n\n setTimeout(() => {\n const agentName = _avatar.prefabName;\n\n evtHandler.availableClothes = (clothesArr: Array) => {\n const clothes: Array = [];\n let bodySettings: Array = [];\n if (agentName.toLowerCase().includes(\"peter\")) {\n bodySettings = [\n {\n itemName: \"DHM_Peter_1\",\n meshName: \"DHM_Peter_Body_GEO\",\n materialIndex: \"0\",\n type: 4,\n name: \"_MainTex\",\n value:\n \"https://qahiastorage.blob.core.windows.net/uploaded-assets/Textures/DHM_WhiteBaseMesh_UV_DHM_White_Body_MAT_BaseMap.png\",\n },\n {\n itemName: \"DHM_Pompador_1\",\n meshName: \"DHM_Pompador_GEO\",\n materialIndex: \"0\",\n type: 0,\n name: \"_Color\",\n value: \"D4D5DBFF\",\n },\n {\n itemName: \"DHM_Pompador_1\",\n meshName: \"DHM_Pompador_GEO\",\n materialIndex: \"0\",\n type: 4,\n name: \"_MainTex\",\n value:\n \"https://qahiastorage.blob.core.windows.net/uploaded-assets/Textures/DHM_pomphair_Lo_initialShadingGroup_BaseMap.png\",\n },\n ];\n }\n _.forEach(\n filterClothsByAgent(agentName, clothesArr, preset),\n (itemAddress) => {\n const sliptItemAdress = itemAddress.split(\"_\");\n sliptItemAdress[0] = agentType.value;\n clothes.push({\n itemAddress: sliptItemAdress.join(\"_\"),\n settings: [],\n });\n }\n );\n\n post({\n action: \"loadAgent\",\n data: {\n agentConfig: {\n agentName,\n bodySettings,\n clothes,\n },\n voiceName: _avatar.voice,\n voiceSystem: _avatar.voiceService,\n },\n });\n };\n\n post({\n action: \"getAvailableClothes\",\n data: {\n agentType: agentType.value,\n },\n });\n }, 3000);\n }\n\n async function loadSlide(\n layers: Array,\n showCme: boolean,\n mediaAttachedUrl?: string,\n mediaAttachedType?: ModuleMediaTypes | null\n ) {\n await getAvatarVoice();\n if (audioMode.value) {\n await loadAudio();\n return;\n }\n\n const slideObj: WebglSlide = {\n id: uuidv4(),\n soundData: textToSpeechComposable.avatarVoice.value,\n pauses: null,\n isConversationEnd: false,\n cardData: {\n data: [],\n },\n customData: null,\n showCme,\n };\n\n if (slideObj.soundData?.text == \"\\n\") {\n slideObj.soundData = null;\n }\n\n const orderedLayers = _.orderBy(\n _.filter(layers, (l) => l.type === \"media\"),\n \"wordIndex\",\n \"asc\"\n );\n const firstMediaLayer = orderedLayers[0];\n if (mediaAttachedUrl) {\n const isVideo =\n mediaAttachedType === \"video\" || mediaAttachedType === \"Video\";\n const obj = {\n type: isVideo ? 1 : 0,\n showAt: 0,\n hideAt:\n firstMediaLayer && !!textToSpeechComposable.avatarVoice.value\n ? textToSpeechComposable.avatarVoice.value.timeIndexes[\n firstMediaLayer.wordIndex\n ].time / 1000\n : 1000,\n };\n\n if (isVideo) {\n slideObj.cardData.data.push({\n ...obj,\n ...{\n videoURL: mediaAttachedUrl,\n videoPauses: [],\n },\n });\n } else {\n slideObj.cardData.data.push({\n ...obj,\n ...{\n imageURL: mediaAttachedUrl,\n clickAction: null,\n },\n });\n }\n }\n\n const avatarVoice = textToSpeechComposable.avatarVoice.value;\n\n _.forEach(orderedLayers, (layer, index) => {\n if (!layer.meta.media) return;\n if (!index) slideObj.cardData.data = [];\n let showAtSec = 0;\n let hideAtSec = 1;\n\n const timeIndex = avatarVoice\n ? avatarVoice.timeIndexes[layer.wordIndex]\n : null;\n\n if (timeIndex && avatarVoice) {\n const lastTimeIndex =\n avatarVoice.timeIndexes[avatarVoice.timeIndexes.length - 1];\n\n showAtSec = timeIndex.time;\n hideAtSec = lastTimeIndex.time;\n\n const nextLayer = orderedLayers[index + 1];\n if (nextLayer) {\n const nextTimeindex = avatarVoice.timeIndexes[nextLayer.wordIndex];\n\n if (nextTimeindex) {\n hideAtSec = nextTimeindex.time;\n if (\n layer.meta.media.type === \"video\" &&\n layer.meta.media.duration &&\n hideAtSec > showAtSec + layer.meta.media.duration\n ) {\n hideAtSec = showAtSec + layer.meta.media.duration;\n }\n }\n } else {\n const toAdd = layer.meta.media.duration\n ? layer.meta.media.duration\n : 10000;\n hideAtSec += toAdd;\n }\n\n showAtSec = showAtSec / 1000;\n hideAtSec = hideAtSec / 1000;\n }\n\n const isImage = layer.meta.media.type === \"image\";\n\n const obj = {\n type: isImage ? 0 : 1,\n showAt: showAtSec,\n hideAt: hideAtSec,\n };\n\n if (isImage) {\n slideObj.cardData.data.push({\n ...obj,\n ...{\n imageURL: layer.meta.media.url,\n clickAction: layer.meta.media.link,\n showFullscreen: layer.meta.media.fullscreen,\n },\n });\n } else {\n slideObj.cardData.data.push({\n ...obj,\n ...{\n videoURL: layer.meta.media.url,\n videoPauses: [],\n showFullscreen: layer.meta.media.fullscreen,\n },\n });\n }\n });\n\n post({\n action: \"slidePaused\",\n data: slideObj,\n });\n }\n\n async function loadQuiz(slide: ModuleQuizSlide, individualOutros: boolean) {\n await getAvatarVoice();\n if (audioMode.value) {\n await loadAudio();\n return;\n }\n const quizObj: WebglQuiz = {\n question: {\n uiText: slide.question.question_chr || \"\",\n answers: [],\n utteranceText: textToSpeechComposable.ssml.value,\n allowMultiple: slide.question.allowMultiple,\n showCme: slide.showCme,\n },\n responses: [],\n defaultResponse: \"\",\n };\n\n _.forEach(slide.answers, (answer, index) => {\n quizObj.question.answers.push({\n uiText: answer.answer_chr || \"\",\n });\n\n if (individualOutros) {\n quizObj.responses.push({\n trigger: [index],\n utteranceText: textToSpeechComposable.generateSSML(\n answer.outro.outroLine_chr,\n answer.outro._layers\n ),\n });\n }\n });\n\n if (!individualOutros) {\n const correctAnswerIndex = _.findIndex(\n slide.answers,\n (answer) => answer.isCorrect\n );\n\n const wrongAnswerIndex = _.findIndex(\n slide.answers,\n (answer) => !answer.isCorrect\n );\n\n quizObj.responses.push({\n trigger: [correctAnswerIndex],\n utteranceText: textToSpeechComposable.generateSSML(\n slide.answers[correctAnswerIndex].outro.outroLine_chr,\n slide.answers[correctAnswerIndex].outro._layers\n ),\n });\n\n quizObj.responses.push({\n trigger: _.filter(\n _.map(slide.answers, (value, index) => index),\n (_index) => _index != correctAnswerIndex\n ),\n utteranceText: textToSpeechComposable.generateSSML(\n slide.answers[wrongAnswerIndex].outro.outroLine_chr,\n slide.answers[wrongAnswerIndex].outro._layers\n ),\n });\n }\n\n post({\n action: \"quizPaused\",\n data: quizObj,\n });\n }\n\n async function loadIntake(intakeQuestion: ModuleIntakeQuestion) {\n await getAvatarVoice();\n if (audioMode.value) {\n await loadAudio();\n return;\n }\n const intakeTypes = [\n \"Two_Choice\",\n \"Number_Range\",\n \"Upload_Media\",\n \"Multiple_Choice\",\n \"Text_Entry\",\n ];\n const intakeObj: WebglIntake = {\n uiText: intakeQuestion.title || \"\",\n utterance: {\n id: uuidv4(),\n soundData: textToSpeechComposable.avatarVoice.value,\n pauses: null,\n isConversationEnd: false,\n cardData: {\n data: [],\n },\n customData: null,\n showCme: true,\n },\n isRequired: true,\n type: _.findIndex(\n intakeTypes,\n (type) => type === intakeQuestion.questionType\n ),\n };\n\n if (intakeQuestion.binaryQ) {\n intakeObj.uiAnswer1 = intakeQuestion.binaryQ.option1 || \"\";\n intakeObj.uiAnswer2 = intakeQuestion.binaryQ.option2 || \"\";\n } else if (intakeQuestion.rangeQ) {\n intakeObj.range = {\n x: intakeQuestion.rangeQ.min,\n y: intakeQuestion.rangeQ.max,\n };\n intakeObj.isNaturalNumbers = intakeQuestion.rangeQ.isNaturalNumbers;\n } else if (intakeQuestion.imageQ) {\n intakeObj.imageURL = intakeQuestion.imageQ.imageURL || \"\";\n intakeObj.checkmarkURL = intakeQuestion.imageQ.checkmarkURL || \"\";\n } else if (intakeQuestion.mcqQ) {\n intakeObj.answers = _.cloneDeep(intakeQuestion.mcqQ.options) || [];\n }\n\n post({\n action: \"intakePaused\",\n data: intakeObj,\n });\n }\n\n async function loadNavigation(navigationModule: ModuleNavigation) {\n await getAvatarVoice();\n if (audioMode.value) {\n await loadAudio();\n return;\n }\n const navigationObj: WebglNavigation = {\n uiText: navigationModule.utterance.line_chr,\n utterance: {\n id: uuidv4(),\n soundData: textToSpeechComposable.avatarVoice.value,\n pauses: null,\n isConversationEnd: false,\n cardData: {\n data: [],\n },\n customData: null,\n showCme: navigationModule.showCme,\n },\n navigationPoints: _.map(navigationModule.navigationButtons, (button) => {\n return {\n moduleId: uuidv4(),\n index: 0,\n uiText: button.buttonLabel,\n type: 0,\n };\n }),\n type: 4,\n isSkippable: true,\n isReplayable: true,\n allowPrevious: true,\n canAskQuestions: true,\n };\n\n post({\n action: \"navigationPaused\",\n data: navigationObj,\n });\n }\n\n function resetSlideInfo() {\n isFirstSlideReady = true;\n slideReady.value = false;\n audioState.value.duration = 0;\n audioState.value.currentTime = 0;\n audioState.value.playing = false;\n audioState.value.canResumeAudio = false;\n }\n\n function animationPreview(animation: string) {\n post({\n action: \"playNBLGAnimation\",\n data: {\n name: animation,\n },\n });\n }\n\n async function reloadCurrentSlide() {\n if (!!currentSlide && currentSlide.action != \"quizPaused\") {\n await getAvatarVoice(true);\n }\n if (!textToSpeechComposable.avatarVoice.value || !currentSlide) return;\n if (currentSlide.action == \"slidePaused\") {\n const data = currentSlide.data as WebglSlide;\n data.soundData = textToSpeechComposable.avatarVoice.value;\n } else {\n const data = currentSlide.data as WebglNavigation | WebglIntake;\n data.utterance.soundData = textToSpeechComposable.avatarVoice.value;\n }\n post(currentSlide);\n }\n\n async function getAvatarVoice(force = false) {\n pause();\n slideReady.value = false;\n audioState.value.currentTime = 0;\n audioState.value.canResumeAudio = false;\n\n const _customAnimations: Array = [];\n\n _.forEach(textToSpeechComposable.layers.value, (layer) => {\n if (!layer.meta.animation) return;\n _customAnimations.push({\n AnimationName: layer.meta.animation.name,\n Word: layer.word,\n WordIndex: layer.wordIndex,\n TimingOffset: 0,\n });\n });\n\n if (\n JSON.stringify(customAnimations.value) !=\n JSON.stringify(_customAnimations)\n ) {\n customAnimations.value = _customAnimations;\n force = true;\n }\n\n await textToSpeechComposable.getAvatarVoice(\n force,\n avatar.value,\n customAnimations.value\n );\n }\n\n function setCmeVisibility(val: boolean) {\n post({\n action: \"setCMeVisibility\",\n data: {\n enabled: val,\n },\n });\n }\n\n function calcDuration(duration: number) {\n let newDuration = duration;\n\n const mediaLayers = _.filter(\n _.orderBy(textToSpeechComposable.layers.value, \"wordIndex\", \"desc\"),\n (l) => l.type === \"media\"\n );\n\n if (mediaLayers) {\n const lastMedia = mediaLayers[0];\n if (\n lastMedia &&\n lastMedia.meta.media &&\n lastMedia.meta.media.type === \"video\" &&\n lastMedia.meta.media.duration\n ) {\n if (textToSpeechComposable.avatarVoice.value) {\n const timeIndex =\n textToSpeechComposable.avatarVoice.value.timeIndexes[\n lastMedia.wordIndex\n ];\n\n const videoEndsAt =\n (timeIndex ? timeIndex.time / 1000 : 0) +\n lastMedia.meta.media.duration / 1000;\n\n if (videoEndsAt > newDuration) {\n newDuration = videoEndsAt;\n }\n } else {\n newDuration = lastMedia.meta.media.duration / 1000;\n }\n }\n }\n\n return newDuration;\n }\n\n function setAnimationLayersDuration() {\n _.forEach(textToSpeechComposable.layers.value, (layer) => {\n if (layer.type === \"animation\" && layer.meta.animation) {\n const animation = getAnimationByName(layer.meta.animation.name);\n if (animation) {\n layer.meta.animation.duration = animation.duration;\n layer.meta.animation.timelineDuration = animation.duration;\n layer.meta.animation.offset = animation.offset;\n }\n animationLoaded.value = true;\n }\n });\n }\n\n return {\n init,\n show,\n hide,\n post,\n pause,\n play,\n onReceiveEvt,\n loadSlide,\n loadAvatar,\n loadQuiz,\n loadIntake,\n loadNavigation,\n removeFromQueue,\n toggleAudio,\n setCurrentTime,\n resetSlideInfo,\n animationPreview,\n reloadCurrentSlide,\n getAnimationByName,\n getPresets,\n setCmeVisibility,\n setAnimationLayersDuration,\n animationLoaded,\n initialized,\n agentLoaded,\n slideReady,\n audioState,\n avatar,\n animationsList,\n audioMode,\n evtHandler,\n };\n};\n","import _ from \"lodash\";\nimport axios from \"axios\";\nimport {\n ModuleTextToSpeechAudioIndex,\n ModuleTextToSpeechLayerItem,\n ModuleTextToSpeechLayerTypes,\n} from \"@/models/module\";\nimport { ref, computed, inject } from \"vue\";\nimport { audioState } from \"./webgl\";\nimport { useEvent } from \"./event\";\nimport { ProjectAvatar, ProjectAvatarVoice } from \"@/models/project\";\nimport { useUtils } from \"./utils\";\nimport {\n SlideCustomAnimations,\n SlidePronunciationsPhonemeTypes,\n} from \"@/models/slide\";\n\nconst layers = ref>([]);\nconst text = ref(\"\");\nconst initialized = ref(false);\nconst showAnimationList = ref(false);\nconst updatedText = ref(\"\");\nconst loadingSlide = ref(false);\n\nconst ssml = ref(\"\");\nconst avatarVoiceOriginal = ref(null);\nconst avatarVoice = ref(null);\nconst audioIndexes = ref>([]);\nconst audioIndexesWithoutPauses = ref>([]);\n\nconst timeToSubtract = ref(0);\n\nconst currentSelection = ref<{\n word: string;\n wordIndex: number;\n type: ModuleTextToSpeechLayerTypes;\n} | null>(null);\n\nconst contextMenuCurrentSelection = ref<{\n word: string;\n wordIndex: number;\n type: ModuleTextToSpeechLayerTypes;\n} | null>(null);\n\nconst layersByType = computed(() =>\n _.groupBy(_.orderBy(layers.value, \"wordIndex\", \"asc\"), \"type\")\n);\nconst durationWithPauses = computed(() => {\n let pausesSum = 0;\n _.forEach(layersByType.value.pause, (pause) => {\n if (pause.meta.pause) {\n const { durationBefore, durationAfter } = pause.meta.pause;\n pausesSum += durationBefore + durationAfter;\n }\n });\n return (\n audioState.value.duration - timeToSubtract.value / 1000 + pausesSum / 1000\n );\n});\nconst currentSelectionLayer = computed(() => {\n return _.find(\n layers.value,\n (_layer) =>\n !!currentSelection.value &&\n _layer.wordIndex === currentSelection.value.wordIndex &&\n _layer.type === currentSelection.value.type\n );\n});\n\nlet source: any = null;\n\nexport const useTextToSpeech = () => {\n const events = inject(\"events\") as EventsEnum;\n const endpoints = inject(\"endpoints\") as EndpointsEnum;\n const eventComposable = useEvent();\n const utilsComposable = useUtils();\n\n function init(_text: string, _layers: Array) {\n setLayers(_layers);\n setText(_text);\n initialized.value = true;\n eventComposable.emit(events.TEXT_TO_SPEECH_INITIALIZED);\n }\n\n function destroy() {\n stopVoiceRequest();\n setLayers([]);\n setText(\"\");\n setSelected(null);\n timeToSubtract.value = 0;\n audioIndexes.value = [];\n initialized.value = false;\n avatarVoice.value = null;\n avatarVoiceOriginal.value = null;\n ssml.value = \"\";\n }\n\n function stopVoiceRequest() {\n if (source) source.cancel();\n }\n\n function setLayers(_layers: Array) {\n layers.value = _.cloneDeep(_layers);\n }\n\n function setText(_text: string) {\n text.value = _text;\n }\n\n function getLayer(_wordIndex: number, _type: ModuleTextToSpeechLayerTypes) {\n return _.find(\n layers.value,\n (_layer) => _layer.wordIndex === _wordIndex && _layer.type === _type\n );\n }\n\n function getLayersByWordIndex(_wordIndex: number) {\n return _.filter(layers.value, (_layer) => _layer.wordIndex === _wordIndex);\n }\n\n function addLayer(_layer: ModuleTextToSpeechLayerItem, _force = false) {\n const layer = getLayer(_layer.wordIndex, _layer.type);\n if (layer && !_force) {\n layer.meta = _layer.meta;\n layer.word = _layer.word;\n } else {\n layers.value.push(_layer);\n }\n }\n\n function clearLayersByType(layerType: ModuleTextToSpeechLayerTypes) {\n layers.value = _.filter(layers.value, (layer) => layer.type !== layerType);\n }\n\n function removeLayer(\n _wordIndex: number,\n _type?: ModuleTextToSpeechLayerTypes\n ) {\n layers.value = _.filter(layers.value, (layer) => {\n let valid = layer.wordIndex == _wordIndex;\n if (_type && valid) valid = layer.type == _type;\n return !valid;\n });\n }\n\n function moveLayer(\n _layer: ModuleTextToSpeechLayerItem,\n newWordIndex: number\n ) {\n layers.value = layers.value.map((layer) => {\n if (layer.wordIndex === _layer.wordIndex && layer.word == _layer.word) {\n return { ...layer, wordIndex: newWordIndex };\n }\n return layer;\n });\n\n if (\n layers.value.some(\n (layer) =>\n layer.wordIndex === newWordIndex &&\n layer.word !== _layer.word &&\n !layer.wordIndex\n )\n ) {\n addLayer(_layer);\n return;\n }\n }\n\n function makeAudioIndexes() {\n if (!avatarVoice.value) {\n audioIndexes.value = [];\n return;\n }\n\n const arr: Array = [];\n\n const endPause = getLayer(avatarVoice.value.timeIndexes.length, \"pause\");\n\n if (!audioIndexes.value.length) {\n timeToSubtract.value = 0;\n _.forEach(avatarVoice.value.timeIndexes, (word, wordIndex) => {\n const obj = {\n wordIndex,\n time: word.time,\n word: word.value,\n typesAvailable: [],\n };\n\n const layer = getLayer(wordIndex, \"pause\");\n if (layer && layer.meta.pause) {\n timeToSubtract.value += layer.meta.pause.durationBefore;\n }\n\n const previousLayer = getLayer(wordIndex - 1, \"pause\");\n if (previousLayer && previousLayer.meta.pause) {\n timeToSubtract.value += previousLayer.meta.pause.durationAfter;\n }\n\n obj.time -= timeToSubtract.value;\n\n arr.push(obj);\n });\n\n const lastLayer = getLayer(arr.length - 1, \"pause\");\n if (lastLayer && lastLayer.meta.pause) {\n const { durationAfter } = lastLayer.meta.pause;\n const toAdd = durationAfter / arr.length;\n let sum = 0;\n _.forEach(arr, (item) => {\n if (item.wordIndex) {\n sum += toAdd;\n item.time += toAdd;\n }\n });\n\n arr[arr.length - 1].time += durationAfter - sum;\n }\n\n audioIndexesWithoutPauses.value = [];\n _.forEach(arr, (obj) => {\n audioIndexesWithoutPauses.value.push(_.cloneDeep(obj));\n });\n } else {\n _.forEach(audioIndexesWithoutPauses.value, (obj) => {\n arr.push(_.cloneDeep(obj));\n });\n }\n\n let toAdd = 0;\n\n _.forEach(arr, (word) => {\n word.time += toAdd;\n const layer = getLayer(word.wordIndex, \"pause\");\n if (layer && layer.meta.pause) {\n toAdd +=\n layer.meta.pause.durationBefore + layer.meta.pause.durationAfter;\n }\n });\n\n audioIndexes.value = arr;\n\n _.forEach(audioIndexes.value, (word) => {\n word.typesAvailable = getWordIndexAvailableTypes(word.wordIndex);\n if (endPause && endPause.wordIndex - 1 === word.wordIndex) {\n word.typesAvailable = _.filter(\n word.typesAvailable,\n (type) => type != \"pause\"\n );\n }\n });\n }\n\n function getWordIndexAvailableTypes(_wordIndex: number) {\n const availableLayers = _.difference(\n [\n \"pause\",\n \"pronunciation\",\n \"animation\",\n \"media\",\n ] as Array,\n _.map(\n _.filter(layers.value, (_layer) => _layer.wordIndex === _wordIndex),\n (_layer) => _layer.type\n )\n );\n\n if (\n availableLayers.includes(\"animation\") &&\n !checkLayerFitsBetween(_wordIndex, \"animation\")\n ) {\n return _.filter(availableLayers, (_type) => _type != \"animation\");\n }\n\n return availableLayers;\n }\n\n function checkLayersDurations() {\n _.forEach([\"pause\", \"media\"], (type) => {\n _.forEach(layersByType.value[type], (_layer, index) => {\n const next = layersByType.value[type][index + 1];\n const nextLayerTime = next\n ? getLayerStartTime(next.wordIndex, type === \"media\")\n : durationWithPauses.value;\n\n let max = (nextLayerTime - getLayerStartTime(_layer.wordIndex)) * 1000;\n\n if (type == \"media\" && _layer.meta.media) {\n const layerPause = getLayer(_layer.wordIndex, \"pause\");\n let pauseSec = 0;\n if (layerPause && layerPause.meta.pause && _layer.type !== \"pause\") {\n pauseSec = layerPause.meta.pause.durationBefore;\n }\n max -= pauseSec;\n\n if (!_layer.meta.media.duration) {\n _layer.meta.media.duration = durationWithPauses.value * 1000;\n } else if (max > _layer.meta.media.duration) {\n max = _layer.meta.media.duration;\n }\n _layer.meta.media.timelineDuration = max;\n }\n });\n });\n }\n\n function getAudioIndex(_wordIndex: number) {\n return _.find(\n audioIndexes.value,\n (audioIndex) => audioIndex.wordIndex == _wordIndex\n );\n }\n\n function getLayerStartTime(\n _wordIndex: number,\n _addPausePauseDuration = false,\n _addAnimationOffset = false\n ) {\n let time = 0;\n const audioIndexObj = getAudioIndex(_wordIndex);\n if (audioIndexObj) time = audioIndexObj.time;\n if (_addPausePauseDuration) {\n const layerPause = getLayer(_wordIndex, \"pause\");\n if (layerPause && layerPause.meta.pause) {\n time += layerPause.meta.pause.durationBefore;\n }\n }\n if (_addAnimationOffset) {\n const layerAnimation = getLayer(_wordIndex, \"animation\");\n if (layerAnimation && layerAnimation.meta.animation) {\n time += layerAnimation.meta.animation.offset;\n }\n }\n return time / 1000;\n }\n\n function checkLayerFitsBetween(\n _wordIndex: number,\n _type: ModuleTextToSpeechLayerTypes,\n _layerToCheck?: ModuleTextToSpeechLayerItem\n ) {\n const layerToCheckStartTime = getLayerStartTime(_wordIndex, false, true);\n\n const animationLayers = _.filter(\n layers.value,\n (_layer) =>\n _layer.type === \"animation\" &&\n _wordIndex != _layer.wordIndex &&\n (_layerToCheck ? _layer.wordIndex != _layerToCheck.wordIndex : true)\n );\n\n const nextAnimationLayers = _.orderBy(\n _.filter(animationLayers, (_layer) => _layer.wordIndex > _wordIndex),\n \"wordIndex\",\n \"asc\"\n );\n\n const nextLayer = nextAnimationLayers[0];\n\n let duration = 0;\n\n if (nextLayer) {\n if (!_layerToCheck) _layerToCheck = getLayer(_wordIndex, _type);\n if (\n _layerToCheck &&\n _layerToCheck.meta.animation &&\n _layerToCheck.meta.animation.duration\n ) {\n duration = _layerToCheck.meta.animation.duration / 1000;\n }\n const nextLayerStartAt = getLayerStartTime(\n nextLayer.wordIndex,\n false,\n true\n );\n const layerEndsAt = layerToCheckStartTime + duration;\n if (layerEndsAt > nextLayerStartAt) return false;\n }\n\n const previousAnimationLayers = _.orderBy(\n _.filter(animationLayers, (_layer) => _layer.wordIndex < _wordIndex),\n \"wordIndex\",\n \"desc\"\n );\n\n const previousLayer = previousAnimationLayers[0];\n\n if (previousLayer) {\n if (\n previousLayer.meta.animation &&\n previousLayer.meta.animation.duration\n ) {\n duration = previousLayer.meta.animation.duration / 1000;\n }\n const previousLayerEndsAt =\n getLayerStartTime(previousLayer.wordIndex, false, true) + duration;\n if (previousLayerEndsAt > layerToCheckStartTime) return false;\n }\n\n return true;\n }\n\n function setSelected(\n obj: {\n word: string;\n wordIndex: number;\n type: ModuleTextToSpeechLayerTypes;\n } | null,\n fromContextMenu = false\n ) {\n if (fromContextMenu) {\n contextMenuCurrentSelection.value = obj;\n } else {\n currentSelection.value = obj;\n }\n }\n\n function secondsToPercentage(seconds: number) {\n const percentage = (seconds * 100) / durationWithPauses.value;\n return percentage < 0 ? 0 : percentage;\n }\n\n function removeCurrentSelection(fromContextMenu = false) {\n const selection = fromContextMenu\n ? contextMenuCurrentSelection.value\n : currentSelectionLayer.value;\n if (!selection) return;\n const { wordIndex, type } = selection;\n setSelected(null);\n removeLayer(wordIndex, type);\n }\n\n function timelineCalcGeneralValues() {\n eventComposable.emit(events.TIMELINE_CALC_GENERAL_VALUES);\n }\n\n function getGridColStyle(index: number) {\n let paddingLeft = 0;\n let paddingRight = 0;\n let width = 0;\n\n if (audioIndexes.value.length && audioIndexes.value[index]) {\n const audioIndex = audioIndexes.value[index];\n const audioIndexTime = audioIndex.time / 1000;\n const nextAudioIndex = audioIndexes.value[index + 1];\n\n const nextAudioIndexTime = nextAudioIndex\n ? nextAudioIndex.time / 1000\n : durationWithPauses.value;\n\n width = secondsToPercentage(nextAudioIndexTime - audioIndexTime);\n\n const layer = getLayer(audioIndex.wordIndex, \"pause\");\n if (layer && layer.meta.pause) {\n paddingLeft = secondsToPercentage(\n layer.meta.pause.durationBefore / 1000\n );\n paddingRight = secondsToPercentage(\n layer.meta.pause.durationAfter / 1000\n );\n }\n }\n\n return {\n paddingLeft: `${paddingLeft}%`,\n paddingRight: `${paddingRight}%`,\n width: `${width}%`,\n originalValues: {\n paddingLeft,\n paddingRight,\n width,\n },\n };\n }\n\n async function getAvatarVoice(\n force = false,\n avatar?: ProjectAvatar,\n customAnimations?: Array\n ) {\n if (!text.value) return;\n\n const cloneText = _.cloneDeep(text.value);\n\n const newSSML = generateSSML(text.value, layers.value);\n if ((newSSML === ssml.value && !force) || !avatar) return;\n ssml.value = newSSML;\n\n return await getVoice(\n avatar,\n text.value,\n ssml.value,\n false,\n customAnimations\n )\n .then((response) => {\n let hasPauseError = false;\n\n const words: Array<{ value: string; index: number }> = [];\n\n for (\n let wordIndex = 0;\n wordIndex < response.timeIndexes.length;\n wordIndex++\n ) {\n const timeIndex = response.timeIndexes[wordIndex];\n\n const indexOfSameWords = _.map(\n _.filter(words, (word) => word.value === timeIndex.value),\n (word) => word.index\n );\n\n hasPauseError = !!_.find(\n layers.value,\n (layer) =>\n indexOfSameWords.includes(layer.wordIndex) &&\n layer.type === \"pause\"\n );\n\n if (!hasPauseError && indexOfSameWords.length) {\n hasPauseError = !!getLayer(wordIndex, \"pause\");\n }\n\n if (hasPauseError) break;\n\n words.push({\n value: timeIndex.value,\n index: wordIndex,\n });\n }\n\n if (hasPauseError) {\n ssml.value = generateSSMLFromTimeIndexes(response);\n return getVoice(avatar, text.value, ssml.value);\n } else {\n return response;\n }\n })\n .then((response) => {\n let toReduce = response.timeIndexes.length\n ? response.timeIndexes[0].time\n : 0;\n const firstIndexPause = getLayer(0, \"pause\");\n\n if (firstIndexPause && firstIndexPause.meta.pause) {\n toReduce -= firstIndexPause.meta.pause.durationBefore;\n }\n\n _.forEach(response.timeIndexes, (item) => (item.time -= toReduce));\n\n avatarVoiceOriginal.value = _.cloneDeep(response);\n avatarVoice.value = _.cloneDeep(response);\n if (cloneText === text.value) {\n eventComposable.emit(events.TEXT_TO_SPEECH_RENDER_LAYERS);\n }\n });\n }\n\n function getVoice(\n _avatar: ProjectAvatar,\n _text: string,\n _ssml?: string | null,\n _ignoreCache?: boolean,\n _customAnimations?: Array\n ) {\n // Extracting Archetype from PrefabName\n const archetype = _avatar.prefabName.split(\"_\")[0];\n\n source = axios.CancelToken.source();\n return axios\n .post(\n endpoints.AVATARS.TEXT_SPEECH,\n {\n VoiceService: _avatar.voiceService,\n Voice: _avatar.voice,\n Text: utilsComposable.replaceTextSpaces(_text),\n Pronunciation: _ssml,\n Format: \"mp3\",\n addSpectrumData: true,\n Pitch: _avatar.pitch,\n Rate: _avatar.rate,\n IgnoreCache: _ignoreCache,\n CustomAnimations: _customAnimations || [],\n Archetype: archetype,\n },\n { cancelToken: source.token }\n )\n .then((response: any) => {\n source = null;\n return response.payload as ProjectAvatarVoice;\n })\n .catch((error) => {\n throw error;\n });\n }\n\n function generateSSMLFromTimeIndexes(avatarVoice: ProjectAvatarVoice) {\n let pausesAndPronunciationTags = \"\";\n let formatedText = text.value;\n\n _.forEach(avatarVoice.timeIndexes, (word, index) => {\n const startAt = formatedText.indexOf(word.value);\n if (startAt >= 0) {\n const endAt = startAt + word.value.length;\n let toAdd = formatedText.substring(0, endAt);\n formatedText = formatedText.substring(endAt, formatedText.length + 1);\n const pronunciationLayer = _.find(\n layers.value,\n (layer) => layer.word === word.value && layer.type === \"pronunciation\"\n );\n\n const pauseLayer = getLayer(index, \"pause\");\n\n if (pronunciationLayer && pronunciationLayer.meta.pronunciation) {\n toAdd = wordReplace(\n toAdd,\n word.value,\n pronunciationLayer.meta.pronunciation.phonemeType\n ? generateSsmlPhonemeTag(\n word.value,\n pronunciationLayer.meta.pronunciation.value,\n pronunciationLayer.meta.pronunciation.phonemeType\n )\n : generateSsmlSubTag(\n word.value,\n pronunciationLayer.meta.pronunciation.value\n )\n );\n }\n\n if (pauseLayer && pauseLayer.meta.pause) {\n const { durationBefore, durationAfter } = pauseLayer.meta.pause;\n\n if (durationBefore) {\n toAdd = `${generateSsmlBreakTag(durationBefore)}${toAdd}`;\n }\n\n if (durationAfter) {\n toAdd = `${toAdd}${generateSsmlBreakTag(durationAfter)}`;\n }\n }\n\n pausesAndPronunciationTags += toAdd;\n }\n });\n\n pausesAndPronunciationTags = pausesAndPronunciationTags + formatedText;\n\n return generateSsmlSpeakTag(pausesAndPronunciationTags);\n }\n\n function generateSSML(\n text: string,\n layers: Array\n ) {\n let pausesAndPronunciationTags = \"\";\n let formatedText = text.replace(/\\xA0/g, \" \");\n\n const pronunciations = _.filter(layers, (l) => l.type === \"pronunciation\");\n const pauses = _.filter(layers, (l) => l.type === \"pause\");\n\n const isWrongIndex = (text: string, word: string, index: number) => {\n if (index === -1) return false;\n if (index > 0 && index + word.length < text.length) {\n const beforeChar = text[index - 1];\n const afterChar = text[index + word.length];\n if (!/^\\s*$/.test(beforeChar) || !/^\\s*$/.test(afterChar)) {\n if (/^[a-zA-Z]+$/.test(beforeChar) || /^[a-zA-Z]+$/.test(afterChar)) {\n return true;\n }\n }\n }\n return false;\n };\n\n _.forEach(_.orderBy(pauses, \"wordIndex\", \"asc\"), (layer): any => {\n const startAt = formatedText.indexOf(layer.word);\n\n if (startAt >= 0) {\n let toAdd;\n const endAt = startAt + layer.word.length;\n\n if (isWrongIndex(formatedText, layer.word, startAt)) {\n const textSplited = formatedText.split(\" \");\n const wordsBefore: Array = [];\n\n _.every(textSplited, (t) => {\n wordsBefore.push(t);\n if (t === layer.word) return false;\n return true;\n });\n\n toAdd = wordsBefore.join(\" \");\n } else {\n toAdd = formatedText.substring(0, endAt);\n }\n\n formatedText = formatedText.substring(endAt, formatedText.length + 1);\n\n if (layer.meta.pause) {\n const { durationBefore, durationAfter } = layer.meta.pause;\n let breakTag = layer.word;\n\n if (durationBefore) {\n breakTag = `${generateSsmlBreakTag(durationBefore)}${breakTag}`;\n }\n\n if (durationAfter) {\n breakTag = `${breakTag}${generateSsmlBreakTag(durationAfter)}`;\n }\n\n toAdd = wordReplace(toAdd, layer.word, breakTag);\n }\n\n pausesAndPronunciationTags += toAdd;\n }\n });\n\n pausesAndPronunciationTags = pausesAndPronunciationTags + formatedText;\n\n const pronunciationsStrings: { [hash: string]: string } = {};\n\n _.forEach(pronunciations, (layer) => {\n if (layer.meta.pronunciation) {\n const hash = (Math.random() + 1).toString(36).substring(7).toString();\n pronunciationsStrings[hash] = layer.meta.pronunciation.phonemeType\n ? generateSsmlPhonemeTag(\n layer.word,\n layer.meta.pronunciation.value,\n layer.meta.pronunciation.phonemeType\n )\n : generateSsmlSubTag(layer.word, layer.meta.pronunciation.value);\n\n pausesAndPronunciationTags = wordReplace(\n pausesAndPronunciationTags,\n layer.word,\n hash\n );\n }\n });\n\n _.forEach(pronunciationsStrings, (tag, hash) => {\n pausesAndPronunciationTags = pausesAndPronunciationTags.replaceAll(\n hash,\n tag\n );\n });\n\n return generateSsmlSpeakTag(pausesAndPronunciationTags);\n }\n\n function generateSsmlSubTag(word: string, pronunciation: string) {\n return `${word}`;\n }\n\n function generateSsmlBreakTag(time: number) {\n return ``;\n }\n\n function generateSsmlPhonemeTag(\n word: string,\n phoneme: string,\n type: SlidePronunciationsPhonemeTypes\n ) {\n return `${word}`;\n }\n\n function generateSsmlSpeakTag(tags: string) {\n return `${tags}`;\n }\n\n function wordReplace(text: string, oldValue: string, newValue: string) {\n const sanitizedOldValue = oldValue.replace(/[$()*+.[\\]?\\\\^{|}]/g, \"\\\\$&\");\n const re = new RegExp(\n `(? {\n const assetComposable = useAsset();\n const textToSpeechComposable = useTextToSpeech();\n\n function createBaseObject(\n value?: string,\n layers?: Array,\n wordIndexes?: Array\n ) {\n const slideBaseObject: SlideBasePutPost = {\n animationTrigger: createAnimationTriggerObject(value, layers),\n mediaTrigger: createMediaTriggerObject(value, layers),\n ssml: createSSMLObject(value, layers, wordIndexes),\n };\n\n return slideBaseObject;\n }\n\n function createBaseResponseObject() {\n const SlideBaseResponseObject: SlideBase = {\n animationTrigger: {\n animation: null,\n htmlContent_Animation: \"\",\n },\n mediaTrigger: {\n htmlContent_Media: \"\",\n media: null,\n },\n ssml: {\n htmlContent: \"\",\n htmlContent_Pauses: \"\",\n pauses: null,\n pronunciations: null,\n ssmL_Answer: \"\",\n },\n _layers: [],\n };\n\n return SlideBaseResponseObject;\n }\n\n function createIntroResponseObject() {\n const slideIntro: SlideIntro = {\n line_chr: \"\",\n ...createBaseResponseObject(),\n };\n return slideIntro;\n }\n\n function createOutroResponseObject() {\n const slideIntro: SlideOutro = {\n outroLine_chr: \"\",\n ...createBaseResponseObject(),\n };\n return slideIntro;\n }\n\n function createAnimationTriggerObject(\n value?: string,\n layers?: Array\n ) {\n const animationTrigger: SlideAnimationTriggerPutPost = {\n HTML_Content_Animation: value ? value : \"\",\n animationName: [],\n animationSpanId: [],\n animationTimingOffset: [],\n animationTriggerType: [],\n animationUrl: [],\n animationWord: [],\n animationWordIndex: [],\n };\n\n if (layers && layers.length) {\n _.forEach(layers, (layer) => {\n if (!layer.meta.animation) return;\n animationTrigger.animationName.push(layer.meta.animation.name);\n animationTrigger.animationSpanId.push(\"\");\n animationTrigger.animationTimingOffset.push(0);\n animationTrigger.animationTriggerType.push(\"video\");\n animationTrigger.animationUrl.push(\"\");\n animationTrigger.animationWord.push(layer.word);\n animationTrigger.animationWordIndex.push(layer.wordIndex);\n });\n }\n\n return animationTrigger;\n }\n\n function createMediaTriggerObject(\n value?: string,\n layers?: Array\n ) {\n const mediaTrigger: SlideMediaTriggerPutPost = {\n HTML_Content_Media: value ? value : \"\",\n mediaFullScr: [],\n mediaId: [],\n mediaLink: [],\n mediaUrl: [],\n mediaStreamingURL: [],\n timingOffset: [],\n triggerType: [],\n word: [],\n wordIndex: [],\n };\n\n if (layers && layers.length) {\n _.forEach(layers, (layer) => {\n if (!layer.meta.media) return;\n mediaTrigger.mediaFullScr.push(layer.meta.media.fullscreen);\n mediaTrigger.mediaId.push(layer.meta.media.id.toString());\n mediaTrigger.mediaLink.push(layer.meta.media.link);\n mediaTrigger.mediaUrl.push(layer.meta.media.url);\n mediaTrigger.mediaStreamingURL.push(\n layer.meta.media.mediaStreamingUrl || \"\"\n );\n mediaTrigger.timingOffset.push(0);\n mediaTrigger.triggerType.push(layer.meta.media.type);\n mediaTrigger.word.push(layer.word);\n mediaTrigger.wordIndex.push(layer.wordIndex);\n });\n }\n\n return mediaTrigger;\n }\n\n function createSSMLObject(\n value?: string,\n layers?: Array,\n wordIndexes?: Array\n ) {\n const pronunciation = createPronunciationObject(layers);\n const pauseList = createPauseListObject(layers);\n\n const ssml: SlideSSMLPutPost = {\n HtmlContent: value ? value : \"\",\n HtmlContent_Pause: value ? value : \"\",\n SSML_Tag_Pause: pauseList.ssmL_Tag_Pause,\n SSML_Tag_Pronunciation: pronunciation.SSML_Tag_Pronunciation,\n PhonemeType_Pronunciation: pronunciation.PhonemeType_Pronunciation,\n Utterances: pronunciation.utterances,\n Utterances_Pauses: pauseList.utterances_Pauses,\n actualWordIds: pauseList.actualWordIds,\n pauseTimeAfter: pauseList.pauseTimeAfter,\n pauseTimeBefore: pauseList.pauseTimeBefore,\n pausesSpanTags: pauseList.pausesSpanTags,\n pausesWordIndexes: pauseList.pausesWordIndexes,\n pronunciation: pronunciation.pronunciation,\n wordIds: pauseList.wordIds,\n wordIndexes: wordIndexes || [],\n };\n\n return ssml;\n }\n\n function createPronunciationObject(\n layers?: Array\n ) {\n const pronunciationObject: SlidePronunciationPutPost = {\n pronunciation: [],\n SSML_Tag_Pronunciation: [],\n utterances: [],\n PhonemeType_Pronunciation: [],\n };\n\n if (layers) {\n _.forEach(layers, (pronunciation) => {\n if (\n !pronunciationObject.utterances.includes(pronunciation.word) &&\n pronunciation.meta.pronunciation\n ) {\n pronunciationObject.pronunciation.push(\n pronunciation.meta.pronunciation.value\n );\n pronunciationObject.utterances.push(pronunciation.word);\n pronunciationObject.SSML_Tag_Pronunciation.push(\n pronunciation.meta.pronunciation.phonemeType\n ? textToSpeechComposable.generateSsmlPhonemeTag(\n pronunciation.word,\n pronunciation.meta.pronunciation.value,\n pronunciation.meta.pronunciation.phonemeType\n )\n : textToSpeechComposable.generateSsmlSubTag(\n pronunciation.word,\n pronunciation.meta.pronunciation.value\n )\n );\n pronunciationObject.PhonemeType_Pronunciation.push(\n pronunciation.meta.pronunciation.phonemeType\n );\n }\n });\n }\n\n return pronunciationObject;\n }\n\n function createPauseListObject(layers?: Array) {\n const pauseList: SlidePauseListPutPost = {\n actualWordIds: [],\n pauseTimeAfter: [],\n pauseTimeBefore: [],\n pausesSpanTags: [],\n pausesWordIndexes: [],\n ssmL_Tag_Pause: [],\n utterances_Pauses: [],\n wordIds: [],\n };\n\n if (layers) {\n _.forEach(layers, (pause) => {\n if (!pause.meta.pause) return;\n pauseList.actualWordIds.push(pause.wordIndex.toString());\n pauseList.pauseTimeAfter.push(pause.meta.pause.durationAfter);\n pauseList.pauseTimeBefore.push(pause.meta.pause.durationBefore);\n pauseList.pausesSpanTags.push(\"\");\n pauseList.pausesWordIndexes.push({\n wordIndex: pause.wordIndex,\n wordId: \"\",\n });\n pauseList.ssmL_Tag_Pause.push(\n `${pause.word}`\n );\n pauseList.utterances_Pauses.push(pause.word);\n pauseList.wordIds.push(\"\");\n });\n }\n\n return pauseList;\n }\n\n function createIntroObject(\n value?: string,\n layers?: Array,\n wordIndexes?: Array\n ) {\n const intro: SlideIntroPutPost = {\n introLine_chr: value ? value : \"\",\n ...createBaseObject(value, layers, wordIndexes),\n };\n return intro;\n }\n\n function createOutroObject(\n value?: string,\n layers?: Array\n ) {\n const outro: SlideOutroPutPost = {\n outroLine_chr: value ? value : \"\",\n ...createBaseObject(value, layers, []),\n };\n return outro;\n }\n\n function createModuleLayersObject(text: string, slide: SlideBaseProps) {\n return [\n ...createMediaLayersObject(slide),\n ...createAnimationLayersObject(slide),\n ...createPronunciationlayersObject(text, slide),\n ...createPauselayersObject(slide),\n ];\n }\n\n function createPauselayersObject(slide: SlideBaseProps) {\n const pauseLayers: Array = [];\n\n if (slide.ssml) {\n let htmlContenPauses: HTMLElement | null = null;\n const findWordIndexFromInHTML = (wordId: string) => {\n if (!htmlContenPauses) {\n htmlContenPauses = document.createElement(\"div\");\n htmlContenPauses.innerHTML = slide.ssml.htmlContent_Pauses;\n }\n\n let sumWordIndex = 0;\n let wordIndex = 0;\n\n _.forEach(htmlContenPauses.childNodes, (el) => {\n const element = el as HTMLElement;\n if (!element || !element.textContent) return;\n sumWordIndex += _.filter(\n element.textContent.split(\" \"),\n (val) => !!val\n ).length;\n if (element.id === wordId) wordIndex = sumWordIndex;\n });\n\n return wordIndex - 1;\n };\n\n if (slide.ssml.pauses) {\n _.forEach(slide.ssml.pauses, (pause) => {\n let wordIndex = pause.wordId;\n if (isNaN(Number(wordIndex)) && typeof wordIndex === \"string\") {\n wordIndex = findWordIndexFromInHTML(wordIndex);\n }\n pauseLayers.push({\n word: pause.utteranceText,\n wordIndex: +wordIndex,\n type: \"pause\",\n meta: {\n pause: {\n durationAfter: +pause.pauseTimeAfter,\n durationBefore: +pause.pauseTimeBefore,\n },\n },\n });\n });\n }\n }\n\n return pauseLayers;\n }\n\n function createPronunciationlayersObject(\n text: string,\n slide: SlideBaseProps\n ) {\n const pronunciationLayers: Array = [];\n if (text && slide.ssml && slide.ssml.pronunciations) {\n _.forEach(slide.ssml.pronunciations, (pronunciation) => {\n const addedWords = _.map(\n pronunciationLayers,\n (pronunciation) => pronunciation.word\n );\n\n if (addedWords.includes(pronunciation.utteranceText)) return;\n\n pronunciationLayers.push({\n word: pronunciation.utteranceText,\n wordIndex: 0,\n type: \"pronunciation\",\n meta: {\n pronunciation: {\n value: pronunciation.pronunciation,\n phonemeType: pronunciation.phonemeType,\n },\n },\n });\n });\n }\n return pronunciationLayers;\n }\n\n function createAnimationLayersObject(slide: SlideBaseProps) {\n const animationsLayers: Array = [];\n if (slide.animationTrigger && slide.animationTrigger.animation) {\n _.forEach(slide.animationTrigger.animation, (animation) => {\n animationsLayers.push({\n word: animation.animationWord,\n wordIndex: animation.animationWordIndex,\n type: \"animation\",\n meta: {\n animation: {\n name: animation.animationName,\n duration: 0,\n timelineDuration: 0,\n offset: 0,\n },\n },\n });\n });\n }\n return animationsLayers;\n }\n\n function createMediaLayersObject(slide: SlideBaseProps) {\n const mediaLayers: Array = [];\n if (slide.mediaTrigger && slide.mediaTrigger.media) {\n _.forEach(slide.mediaTrigger.media, (media) => {\n const galleryAsset = createMediaAssetObject(media.mediaURL);\n if (galleryAsset) {\n mediaLayers.push({\n word: media.word,\n wordIndex: media.wordIndex,\n type: \"media\",\n meta: {\n media: {\n ...galleryAsset,\n ...{\n timelineDuration: 0,\n autoplay: false,\n fullscreen: media.mediaFullScr,\n link: media.mediaLink,\n },\n },\n },\n });\n }\n });\n }\n\n return mediaLayers;\n }\n\n function createMediaAssetObject(url: string) {\n if (!url) return null;\n const galleryAsset = assetComposable.getCachedFile(url);\n if (!galleryAsset) return null;\n return {\n ...galleryAsset,\n timelineDuration: galleryAsset.duration,\n };\n }\n\n function createPauseResponseObject(\n layers?: Array\n ) {\n const pauses: Array = [];\n\n if (layers) {\n _.forEach(layers, (pause) => {\n if (!pause.meta.pause) return;\n const { durationAfter, durationBefore } = pause.meta.pause;\n const pauseList: SlidePauses = {\n utteranceText: pause.word,\n ssmL_Tag: `${pause.word}`,\n pauseTimeAfter: durationAfter.toString(),\n pauseTimeBefore: durationBefore.toString(),\n wordId: pause.wordIndex.toString(),\n spanTag: \"\",\n };\n\n pauses.push(pauseList);\n });\n }\n\n return pauses;\n }\n\n function createPronunciationResponseObject(\n layers?: Array\n ) {\n const pronunciations: Array = [];\n\n if (layers) {\n _.forEach(layers, (pronunciation) => {\n const pronunciationObject: SlidePronunciations = {\n utteranceText: \"\",\n pronunciation: \"\",\n ssmL_Tag: \"\",\n phonemeType: null,\n };\n if (!pronunciation.meta.pronunciation) return;\n pronunciationObject.ssmL_Tag = `${pronunciation.word}`;\n pronunciationObject.utteranceText = pronunciation.word;\n pronunciationObject.pronunciation =\n pronunciation.meta.pronunciation.value;\n pronunciationObject.phonemeType =\n pronunciation.meta.pronunciation.phonemeType;\n pronunciations.push(pronunciationObject);\n });\n }\n\n return pronunciations;\n }\n\n function createMediaTriggerResponseObject(\n layers?: Array\n ) {\n const medias: Array = [];\n\n if (layers && layers.length) {\n _.forEach(layers, (layer) => {\n if (!layer.meta.media) return;\n const mediaTrigger: SlideMediaTrigger = {\n triggerType: layer.meta.media.type,\n wordIndex: layer.wordIndex,\n word: layer.word,\n timingOffset: 0,\n mediaURL: layer.meta.media.url,\n mediaStreamingURL: layer.meta.media.mediaStreamingUrl || \"\",\n mediaLink: layer.meta.media.url,\n mediaFullScr: true,\n mediaId: \"\",\n };\n\n medias.push(mediaTrigger);\n });\n }\n\n return medias;\n }\n\n function createAnimationTriggerResponseObject(\n layers?: Array\n ) {\n const animations: Array = [];\n\n if (layers && layers.length) {\n _.forEach(layers, (layer) => {\n if (!layer.meta.animation) return;\n\n const animationTrigger: SlideAnimationTrigger = {\n animationTriggerType: \"video\",\n animationWordIndex: layer.wordIndex,\n animationWord: layer.word,\n animationTimingOffset: 0,\n animationName: layer.meta.animation.name,\n animationURL: \"\",\n animationSpanId: \"\",\n };\n\n animations.push(animationTrigger);\n });\n }\n\n return animations;\n }\n\n return {\n createBaseObject,\n createIntroObject,\n createAnimationTriggerObject,\n createMediaTriggerObject,\n createPauseListObject,\n createSSMLObject,\n createOutroObject,\n createPronunciationObject,\n createIntroResponseObject,\n createOutroResponseObject,\n createBaseResponseObject,\n createModuleLayersObject,\n createPauseResponseObject,\n createPronunciationResponseObject,\n createMediaTriggerResponseObject,\n createAnimationTriggerResponseObject,\n };\n};\n","import _ from \"lodash\";\nimport axios from \"axios\";\nimport { inject } from \"vue\";\nimport { Tag } from \"@/models/tag\";\nimport {\n AiTopic,\n AiTopicRecord,\n AiTopicRecordPutPost,\n AiTopicRecordWithMarkupInfo,\n AiTopicMarkup,\n AiTopicMarkupPutPost,\n CompareRecordsResponse,\n AiTopicPineconeInstance,\n AiTopicResponse,\n AiTopicQuerySelected,\n AiTopicQuickTest,\n AiTopicLastPublish,\n} from \"@/models/aiTopic\";\nimport { useRouter, useRoute } from \"vue-router\";\nimport { useNotification } from \"./notification\";\nimport { useSlideUtils } from \"./slide\";\nimport { useStore } from \"vuex\";\nimport { useAsset } from \"./asset\";\nimport { ModuleMediaTypes } from \"@/models/module\";\nimport {\n Project,\n ProjectAvatarVoiceTimeIndex,\n ProjectContentItem,\n} from \"@/models/project\";\nimport { Language } from \"@/models/utils\";\nimport { useUtils } from \"./utils\";\nimport { useModule } from \"./module\";\n\nexport const useAiTopic = () => {\n const endpoints = inject(\"endpoints\") as EndpointsEnum;\n\n const store = useStore();\n const route = useRoute();\n const router = useRouter();\n const assetComposable = useAsset();\n const moduleComposable = useModule();\n const slideUtilsComposable = useSlideUtils();\n const notificationComposable = useNotification();\n\n const utilsComposable = useUtils();\n\n const { clientId, email, id } = store.state.Auth.originalInfo;\n\n function getModuleTopics(topicIds: Array) {\n let endpoint = `${endpoints.TOPICS.GET_TOPICS_BY_ID}?`;\n\n _.forEach(topicIds, (id) => {\n endpoint += `topicIds=${id}&`;\n });\n\n endpoint = endpoint.substring(0, endpoint.length - 1);\n\n return axios\n .get(endpoint)\n .then((response: any) => response as Array)\n .catch((err) => {\n notificationComposable.error(\"aitopics.get_module_details_error\");\n throw err;\n });\n }\n\n function getAll(\n clientId: number | null = null,\n lang: Language | null = Language.en\n ) {\n return axios\n .get(endpoints.TOPICS.GET_ALL, {\n params: { clientId, lang },\n })\n .then((response: any) => response as Array)\n .catch((error) => {\n throw error;\n });\n }\n\n function createUpdate(name: string, tags: Array, lang: Language) {\n return axios\n .post(endpoints.TOPICS.CREATE, {\n calling_UserID_chr: id,\n lastUpdatedByUserId: email,\n clientId: clientId,\n tags: tags,\n topicName: name,\n lang,\n })\n .then((response: any) => {\n notificationComposable.success(\"aitopics.create_topic_success\");\n return response as AiTopic;\n });\n }\n\n function updateName(topicId: string, topicName: string) {\n return axios\n .put(endpoints.TOPICS.RENAME_TOPIC, {\n topicId,\n topicName,\n lastUpdatedByUserId: id,\n })\n .then((response: any) => {\n return response as AiTopic;\n });\n }\n\n function makeContentObject(\n topicResponse: AiTopicResponse\n ): ProjectContentItem {\n const _topic = topicResponse.topic;\n return {\n id: _topic.topicId || \"\",\n name: _topic.topicName || \"\",\n type: \"AiTopic\",\n tags: _topic.tags || [],\n status: _topic.status,\n lang: _topic.lang,\n createdAt: _topic.createdDateTime_dtm,\n lastUpdateAt: _topic.lastUpdatedDateTime_dtm,\n displayStatus: utilsComposable.getStatusName(_topic.status),\n extraInfo: {\n length: topicResponse.length,\n questionsCount: topicResponse.questionsCount,\n slidesCount: topicResponse.slidesCount,\n mediasCount: topicResponse.mediasCount,\n projectsCount: topicResponse.projectsCount,\n averageTrainingPhrases: topicResponse.averageTrainingPhrases,\n },\n };\n }\n\n function deleteTopic(topicId: string) {\n return axios\n .delete(endpoints.TOPICS.DETELE_ALL, {\n params: { topicId },\n })\n .then((response: any) => {\n notificationComposable.success(\"aitopics.delete_topic_success\");\n return response as AiTopicRecord;\n });\n }\n\n function getSingle(topicId: string) {\n return axios\n .get(endpoints.TOPICS.GET, {\n params: { topicId },\n })\n .then((response: any) => response as AiTopicLastPublish);\n }\n\n function getRecords(recordIds: Array) {\n return axios\n .post(endpoints.TOPICS.GET_RECORDS, recordIds)\n .then((response: any) => response as Array)\n .catch((error) => {\n if (error.response.status === 404) {\n notificationComposable.error(\"aitopics.could_not_load_topic\");\n }\n throw error;\n });\n }\n\n function goToEdit(topicId: string, projectId?: string) {\n const isFromDashboard = !!projectId;\n\n if (isFromDashboard) {\n return router.push({\n name: \"protected.projects.project.ai_topic\",\n params: {\n topicId,\n projectId: projectId,\n },\n query: {\n from: \"dashboard\",\n },\n });\n }\n\n return router.push({\n name: \"protected.projects.project.ai_topic\",\n params: {\n topicId,\n projectId: route.params.projectId,\n },\n });\n }\n\n async function getMarkup(markupId: string, answer: string) {\n const response = (await axios.get(endpoints.TOPICS.GET_MARKUP, {\n params: { markupId },\n })) as any;\n\n response.mediaTrigger = _.cloneDeep(response.mediaTriggers);\n\n delete response.mediaTriggers;\n const markup: AiTopicMarkup = response;\n\n const assets: Array<{ url: string; type: ModuleMediaTypes; id: string }> =\n _.map(markup.mediaTrigger.media, (media) => {\n return {\n url: media.mediaURL,\n type: media.triggerType,\n id: media.mediaId,\n };\n });\n\n await assetComposable.getModuleAssets(assets);\n\n markup._layers = slideUtilsComposable.createModuleLayersObject(\n answer,\n markup\n );\n\n return markup;\n }\n\n function createUpdateMarkup(markup: AiTopicMarkupPutPost, answer: string) {\n return axios\n .post(endpoints.TOPICS.PUT_POST_MARKUP, markup)\n .then((response: any) => {\n const markup: AiTopicMarkup = response;\n markup._layers = slideUtilsComposable.createModuleLayersObject(\n answer,\n markup\n );\n return markup;\n });\n }\n\n function createMarkupPutPostObject(\n record: AiTopicRecord,\n markup?: AiTopicMarkup,\n timeIndexes: Array = []\n ) {\n const answer = record.answer ? record.answer : \"\";\n const layers = markup ? markup._layers : [];\n const markupObject: AiTopicMarkupPutPost = {\n answer: answer,\n wordIndexes: timeIndexes ? _.map(timeIndexes, (v) => v.value) : [],\n fullScrMedia: markup ? markup.fullScrMedia : false,\n htmlContent: answer,\n htmlContent_Pause: answer,\n markupId: markup ? markup.markupId : null,\n topicId: record.topicId,\n recordId: record.recordId,\n animationTrigger: slideUtilsComposable.createAnimationTriggerObject(\n answer,\n layers\n ),\n mediaTrigger: slideUtilsComposable.createMediaTriggerObject(\n answer,\n layers\n ),\n pauseList: slideUtilsComposable.createPauseListObject(layers),\n ...slideUtilsComposable.createPronunciationObject(layers),\n };\n return markupObject;\n }\n\n function deleteRecord(recordId: string, topicId: string) {\n return axios\n .delete(endpoints.TOPICS.DELETE_RECORD, {\n params: { recordId, topicId, lastUpdatedByUserId: id },\n })\n .then((response: any) => {\n notificationComposable.success(\"aitopics.delete_record_success\");\n return response as AiTopicRecord;\n })\n .catch((error: any) => {\n notificationComposable.error(\"aitopics.delete_record_error\");\n notificationComposable.error(error);\n return;\n });\n }\n\n function exportTopic(topicId: string, topicName: string) {\n return axios\n .get(endpoints.TOPICS.EXPORT_TOPIC, {\n params: { topicId },\n })\n .then((response: any) => {\n utilsComposable.downloadJSON(response, topicName);\n return response;\n });\n }\n\n function createUpdateRecord(record: AiTopicRecordPutPost) {\n return axios\n .post(\n `${endpoints.TOPICS.PUT_POST_RECORD}?topicId=${record.topicId}`,\n record\n )\n .then((response: any) => {\n if (!record.recordId) {\n notificationComposable.success(\"aitopics.create_record_success\");\n }\n return response as AiTopicRecord;\n });\n }\n\n function createRecordPutPostObject(topic: AiTopic, record?: AiTopicRecord) {\n const recordObject: AiTopicRecordPutPost = {\n recordId: record ? record.recordId : null,\n answer: record && record.answer ? record.answer : \"\",\n question: record && record.question ? record.question : \"\",\n topicId: topic.topicId || \"\",\n tags: record && record.tags ? record.tags : [],\n secondaryQuestions:\n record && record.secondaryQuestions ? record.secondaryQuestions : [],\n showCme: record ? record.showCme : true,\n indicator: record ? record.indicator : 0,\n showInFallbackMenu: record ? record.showInFallbackMenu : true,\n };\n return recordObject;\n }\n\n function publishTopic(topicId: string) {\n return axios\n .post(endpoints.TOPICS.PUBLISH, null, {\n params: { topicId },\n })\n .then((response: any) => {\n notificationComposable.success(\"notification.publish_module_success\");\n // publishListenerComposable.set(\"aitopic\", topicId);\n return response;\n })\n .catch((error) => {\n notificationComposable.error(\"notification.publish_error\");\n throw error;\n });\n }\n\n function revertTopicToPublished(topicId: string) {\n return axios\n .post(endpoints.TOPICS.REVERT_TO_PUBLISHED, null, {\n params: { topicId },\n })\n .then((response: any) => {\n notificationComposable.success(\"aitopics.topic_revert_success\");\n return response as AiTopic;\n })\n .catch((error) => {\n notificationComposable.error(\"aitopics.topic_revert_error\");\n throw error;\n });\n }\n\n function saveCopy(topicId: string, clientId: number, clientName: string) {\n return axios\n .get(endpoints.TOPICS.COPY_TOPIC, {\n params: { topicId, clientId, clientName },\n })\n .then(() => {\n notificationComposable.success(\"aitopics.topic_copied_success\");\n })\n .catch(() => {\n notificationComposable.error(\"aitopics.topic_copied_error\");\n });\n }\n\n function importCSVSpreadsheet(topicId: string, file: File) {\n const formData = utilsComposable.makeFormData({\n file,\n });\n return axios\n .post(endpoints.TOPICS.IMPORT_CSV, formData, {\n params: {\n topicId,\n userId: id,\n },\n })\n .then(() => {\n notificationComposable.success(\"aitopics.import_spreadsheed_step_4\");\n })\n .catch(() => {\n notificationComposable.error(\"aitopics.import_error\");\n });\n }\n\n function importFromSpreadsheet(topicId: string, spreadsheetId: string) {\n return axios\n .post(endpoints.TOPICS.IMPORT_FROM_SPREADSHEET, {\n spreadsheetId,\n topicId,\n lastUpdatedByUserId: id,\n })\n .then(async () => {\n const topic = await getSingle(topicId);\n return topic.topic;\n });\n }\n\n function compareRecords(\n topicId: string,\n pineconeInstance: AiTopicPineconeInstance\n ) {\n return axios\n .get(endpoints.TOPICS.COMPARE_RECORDS_WITH_PINECONE, {\n params: {\n topicId,\n pineconeInstance,\n },\n })\n .then((response: any) => {\n if (response.similarRecords && response.similarRecords.length) {\n return response as CompareRecordsResponse;\n } else {\n return { similarRecords: [] } as CompareRecordsResponse;\n }\n });\n }\n\n function queryTopic(\n topicIds: Array,\n text: string,\n pineconeInstance: AiTopicPineconeInstance\n ) {\n return axios\n .post(endpoints.TOPICS.QUERY_TOPIC, {\n topicIds,\n text,\n topK: 5,\n pineconeInstance,\n })\n .then((response: any) => {\n return response as Array;\n })\n .catch((error) => {\n notificationComposable.error(\"aitopics.topic_query_failed\");\n throw error;\n });\n }\n\n function requestTest(topicId: string, pineconeInstance: string) {\n return axios\n .post(endpoints.TOPICS.REQUEST_TEST, null, {\n params: {\n topicId,\n userId: id,\n pineconeInstance,\n },\n })\n .then((response: any) => {\n notificationComposable.success(\"aitopics.test_requested_successfuly\");\n return response;\n })\n .catch((error) => {\n notificationComposable.error(\"aitopics.test_requested_fail\");\n throw error;\n });\n }\n\n function getProjectsByTopicId(topicId: string) {\n return axios\n .get(endpoints.TOPICS.GET_PROJECTS_BY_TOPIC_ID, {\n params: { topicId },\n })\n .then((response: any) => {\n return response as Array;\n });\n }\n\n async function getTopicAndRecordList(\n moduleId: string,\n isMultiple = false\n ): Promise {\n if (!isMultiple) {\n const topic = (await getSingle(moduleId)).topic;\n const recordList = await getRecords(\n _.map(topic.records, (r) => r.recordId)\n );\n return { topic, recordList };\n }\n\n let allRecordsIds: Array = [];\n\n const module = await moduleComposable.get(moduleId);\n const filterTopics = _.filter(module.topics, (t) => t.topicId !== null);\n const topics = await getModuleTopics(_.map(filterTopics, (t) => t.topicId));\n if (!topics.length) {\n throw notificationComposable.error(\"project.module_dont_contain_topics\");\n }\n const topicRecords = _.map(topics, (t) => {\n return _.map(t.records, (r) => r.recordId);\n });\n\n _.forEach(topicRecords, (tr: any) => {\n if (tr && tr.length) {\n allRecordsIds = allRecordsIds.concat(tr);\n }\n });\n\n const recordList = await getRecords(allRecordsIds);\n return { topics, recordList };\n }\n\n function updateRecordIndex(\n recordId: string,\n newIndex: number,\n topicId?: string | null\n ) {\n return axios\n .post(endpoints.TOPICS.UPDATE_RECORD_INDEX, null, {\n params: {\n recordId,\n newIndex,\n topicId,\n },\n })\n .then((response: any) => {\n return response;\n })\n .catch((error) => {\n throw error;\n });\n }\n\n return {\n getModuleTopics,\n createUpdate,\n getAll,\n getSingle,\n getRecords,\n goToEdit,\n getMarkup,\n createUpdateMarkup,\n createMarkupPutPostObject,\n createUpdateRecord,\n createRecordPutPostObject,\n deleteRecord,\n publishTopic,\n revertTopicToPublished,\n saveCopy,\n deleteTopic,\n updateName,\n compareRecords,\n importFromSpreadsheet,\n importCSVSpreadsheet,\n queryTopic,\n requestTest,\n getProjectsByTopicId,\n getTopicAndRecordList,\n exportTopic,\n makeContentObject,\n updateRecordIndex,\n };\n};\n","import _ from \"lodash\";\nimport axios from \"axios\";\nimport { inject } from \"vue\";\nimport { useStore } from \"vuex\";\nimport { useNotification } from \"./notification\";\nimport { useModule } from \"./module\";\nimport { useComponentState } from \"./componentState\";\nimport { useAiTopic } from \"./aiTopic\";\nimport { Module, ModuleBaseResponse } from \"@/models/module\";\nimport { Language } from \"@/models/utils\";\nimport { useRouter, useRoute } from \"vue-router\";\nimport {\n Project,\n ProjectAgentLinesBase,\n ProjectAgentLines,\n ProjectWithExtraInfo,\n ProjectAvatar,\n ProjectContentItem,\n ProjectListResponse,\n ProjectMostRecent,\n} from \"@/models/project\";\nimport { GetAvatar, SetVisibility } from \"@/models/avatar\";\n\nexport const useProject = () => {\n const endpoints = inject(\"endpoints\") as EndpointsEnum;\n const constants = inject(\"constants\") as ConstantsEnum;\n\n const store = useStore();\n const route = useRoute();\n const router = useRouter();\n\n const moduleComposable = useModule();\n const routerComposable = useRouter();\n const aiTopicComposable = useAiTopic();\n const componentState = useComponentState();\n const notificationComposable = useNotification();\n\n const { clientId, id, email, clientName, lang } =\n store.state.Auth.originalInfo;\n\n function getProjects(\n _clientId?: number,\n pageLimit = 15,\n currentPage = 0,\n search = \"\",\n status = \"all\"\n ) {\n if (!_clientId) _clientId = clientId;\n return axios\n .get(endpoints.PROJECTS.LIST, {\n params: {\n clientId: _clientId,\n pageIndex: currentPage,\n search: search.toLowerCase(),\n pageLimit,\n status,\n },\n })\n .then((response: any) => response as ProjectListResponse);\n }\n\n function updateTimeline(\n projectId: string,\n activeList: Array,\n showNotification = true\n ) {\n return axios\n .post(endpoints.PROJECTS.UPDATE_MODULE_LIST, {\n projectId,\n activeList,\n lastUpdatedByUserId: email,\n })\n .then((project: any) => {\n if (showNotification) {\n notificationComposable.success(\"project.update_timeline_success\");\n }\n return project as Project;\n })\n .catch((err) => {\n if (showNotification) {\n notificationComposable.error(\"project.update_timeline_success\");\n }\n throw err;\n });\n }\n\n async function getProject(projectId: string, isAdmin = false) {\n const projectInfo: ProjectWithExtraInfo = await axios.get(\n endpoints.PROJECTS.GET,\n { params: { projectId } }\n );\n\n if (!isAdmin && projectInfo.project.clientID_lng !== clientId) {\n routerComposable.push({\n path: \"/projects\",\n });\n throw notificationComposable.error(\"project.permission_declined\");\n }\n\n return projectInfo;\n }\n\n async function duplicateProject(projectId: string) {\n try {\n const { project: originalProject } = await getProject(projectId);\n const newProject = await createUpdateProject(\n `${originalProject.projectName} (copy)`,\n originalProject.agentLines,\n originalProject.avatarId,\n originalProject.lang,\n originalProject.defaultImageUrl,\n originalProject.defaultClickableAction,\n null,\n originalProject.introVideoId,\n originalProject.isDefaultIntroVideo\n );\n\n if (originalProject.projectId && newProject.projectId) {\n const activeModulesList = await moduleComposable.getTimelineModules(\n originalProject.projectId\n );\n await updateTimeline(\n newProject.projectId,\n _.map(activeModulesList, \"module\"),\n false\n );\n }\n\n notificationComposable.success(\"project.duplicate_project_success\");\n } catch (error) {\n notificationComposable.error(\"project.duplicate_project_error\");\n }\n }\n\n async function deleteProject(projectId: string) {\n return axios\n .delete(endpoints.PROJECTS.DELETE, {\n params: {\n projectId,\n force: true,\n },\n })\n .then(() => {\n notificationComposable.success(\"project.delete_project_success\");\n })\n .catch((error) => {\n notificationComposable.error(\"project.delete_project_fail\");\n throw error;\n });\n }\n\n function getAvatars(onlyVisible = false, lang?: string) {\n return axios\n .get(endpoints.AVATARS.LIST_ALL, {\n params: {\n clientId,\n },\n })\n .then((response: any) => {\n const avatarResponse = response.avatarItems as Array;\n const avatarList = lang\n ? _.filter(avatarResponse, (avatar: ProjectAvatar) =>\n avatar.voice.includes(lang)\n )\n : avatarResponse;\n\n _.forEach(avatarList, (_avatar) => {\n if (!_avatar.rate) _avatar.rate = \"default\";\n if (!_avatar.pitch) _avatar.pitch = \"default\";\n });\n if (onlyVisible) {\n return _.filter(avatarList, (avatar) => avatar.isVisible);\n }\n return avatarList;\n });\n }\n\n function getAvatar(id?: string) {\n return axios\n .get(endpoints.AVATARS.LIST, {\n params: {\n id,\n },\n })\n .then((response: any) => {\n return response as GetAvatar;\n });\n }\n\n function SetAvatarVisibility(avatarId?: string, isVisible?: boolean) {\n return axios\n .put(endpoints.AVATARS.SET_VISIBLE, {\n params: {\n avatarId,\n isVisible,\n },\n })\n .then((response: any) => {\n return response as SetVisibility;\n });\n }\n\n function getOtherLines() {\n return axios.get(endpoints.AVATARS.OTHER_LINES).then((response: any) => {\n return response.data as Array;\n });\n }\n\n function createUpdateProject(\n projectName: string | null,\n agentLines: Array,\n avatarId: string | null,\n lang: Language | null = Language.en,\n defaultImageUrl?: string | null,\n defaultClickableAction?: string | null,\n projectId?: string | null,\n introVideoUrl?: string | null,\n isDefaultIntroVideo?: boolean,\n showNotification = true\n ) {\n return axios\n .post(endpoints.PROJECTS.CREATE_UPDATE, {\n projectName,\n agentLines,\n avatarId,\n lang,\n defaultImageUrl,\n defaultClickableAction,\n calling_UserID_chr: id,\n clientID_lng: clientId,\n lastUpdatedByUserId: email,\n introVideoUrl,\n projectId,\n isDefaultIntroVideo,\n })\n .then((response: any) => {\n if (showNotification) {\n if (!projectId) {\n notificationComposable.success(\"project.create_project_success\");\n } else {\n notificationComposable.success(\"project.update_project_success\");\n }\n }\n return response as Project;\n })\n .catch((error) => {\n if (showNotification) {\n if (!projectId) {\n notificationComposable.error(\"project.create_project_error\");\n } else {\n notificationComposable.error(\"project.update_project_error\");\n }\n }\n throw error;\n });\n }\n\n function publishProject(projectId: string) {\n return axios\n .post(endpoints.PROJECTS.PUBLISH, null, {\n params: { projectId },\n })\n .then((response: any) => {\n notificationComposable.success(\"notification.publish_project_success\");\n return response;\n })\n .catch((_error) => {\n const error = _error.response.data.toString().toLowerCase();\n let errorMsg = \"project.publish_project_error\";\n if (error.includes(\"topic\")) {\n errorMsg = \"project.publish_project_error_topic\";\n } else if (error.includes(\"navigation\")) {\n errorMsg = \"project.publish_project_error_navigation\";\n } else if (error.includes(\"speech\")) {\n errorMsg = \"project.publish_project_error_speech\";\n }\n notificationComposable.error(errorMsg);\n throw error;\n });\n }\n\n function generateLines() {\n return [\n {\n lineText: [],\n lineType: \"noAnswer\",\n },\n {\n lineText: [],\n lineType: \"fallback\",\n },\n {\n lineText: [],\n lineType: \"interrupt\",\n },\n {\n lineText: [],\n lineType: \"resume\",\n },\n ];\n }\n\n function revertProjectToPublished(projectId: string) {\n return axios\n .post(endpoints.PROJECTS.REVERT_TO_PUBLISHED, null, {\n params: { projectId },\n })\n .then((response: any) => {\n notificationComposable.success(\"project.revert_project_success\");\n return response as Project;\n })\n .catch((error) => {\n notificationComposable.error(\"project.revert_project_error\");\n throw error;\n });\n }\n\n function saveCopy(\n projectId: string,\n newProjectName: string,\n clientNameToCopyTo?: string,\n clientIdToCopyTo?: number\n ) {\n if (!clientIdToCopyTo) clientIdToCopyTo = clientId;\n if (!clientNameToCopyTo) clientNameToCopyTo = clientName;\n return axios\n .get(endpoints.PROJECTS.COPY, {\n params: {\n projectId,\n clientIdToCopyTo,\n newProjectName,\n clientName: clientNameToCopyTo,\n },\n })\n .then((response: any) => {\n notificationComposable.success(\"project.copy_project_success\");\n return response as Project;\n })\n .catch((error) => {\n notificationComposable.error(\"project.copy_project_error\");\n throw error;\n });\n }\n\n function setIntroVideo(\n projectId: string,\n videoId: string | null,\n showIntro?: boolean\n ) {\n return axios\n .post(endpoints.PROJECTS.SET_INTRO_VIDEO, null, {\n params: {\n projectId,\n videoId,\n showIntro,\n },\n })\n .then((response: any) => {\n notificationComposable.success(\"project.update_project_success\");\n return response;\n })\n .catch(() => {\n notificationComposable.error(\"project.update_project_error\");\n });\n }\n\n async function getContents(\n projectId: string | null,\n clientId: number | null = null,\n lang: Language,\n moduleType?: string\n ) {\n let aiTopics;\n let modules: Array = [];\n const contents: Array = [];\n if (moduleType === \"AiTopic\" || !moduleType) {\n aiTopics = await aiTopicComposable.getAll(clientId, lang);\n }\n if (moduleType !== \"AiTopic\") {\n modules = await moduleComposable.getModulesList(\n projectId,\n clientId,\n moduleType\n );\n }\n\n _.forEach(modules, (_data) => {\n const _module = moduleComposable.makeContentObject(_data);\n if (!_data.module.moduleId) return;\n contents.push(_module);\n });\n\n _.forEach(aiTopics, (_data) => {\n const _topic = aiTopicComposable.makeContentObject(_data);\n if (!_data.topic.topicId || !_topic.id) return;\n contents.push(_topic);\n });\n\n if (moduleType) {\n store.commit(\"Module/setModule\", {\n type: moduleType.toLowerCase(),\n modules: moduleType === \"AiTopic\" ? aiTopics : modules,\n });\n store.commit(\"Content/setContent\", {\n type: moduleType.toLowerCase(),\n contents: contents,\n });\n }\n\n return { modules, aiTopics, contents };\n }\n\n function goToEditContent(content: ProjectContentItem) {\n if (content.type === \"AiTopic\") {\n aiTopicComposable.goToEdit(content.id);\n } else if (content.type === \"Project\") {\n router.push({\n name: \"protected.projects.project\",\n params: {\n projectId: content.id,\n },\n query: {\n from: \"dashboard\",\n },\n });\n } else {\n moduleComposable.goToEditModule(content.id, content.type, undefined);\n }\n }\n\n function currentProjectIdFromStore() {\n const project = componentState.get(\"project-page\", \"ProjectPage\");\n if (project) {\n return project.info.recentProjectId === route.params.id;\n }\n return false;\n }\n\n function getDefaultAvatar(avatarList: Array) {\n const visibleAvatars = _.filter(avatarList, (_avatar) => _avatar.isVisible);\n const carlosBusinessAvatar = _.find(\n visibleAvatars,\n (_avatar) => _avatar.avatarName === \"CarlosBusiness\"\n );\n const avatar = carlosBusinessAvatar || visibleAvatars[0];\n return avatar;\n }\n\n function clearPronunciations(projectId: string) {\n return axios\n .post(endpoints.PROJECTS.CLEAR_PRONUNCIATIONS, null, {\n params: {\n projectId,\n lastUpdatedByUserId: id,\n },\n })\n .then(() => {\n notificationComposable.success(\n \"project.remove_pronunciation_successfully\"\n );\n })\n .catch(() => {\n notificationComposable.error(\"project.remove_pronunciation_failed\");\n });\n }\n\n async function renameProject(projectId: string, projectName: string) {\n const project = await getProject(projectId);\n project.project.projectName = projectName;\n return axios\n .post(endpoints.PROJECTS.CREATE_UPDATE, {\n ...project.project,\n calling_UserID_chr: id,\n lastUpdatedByUserId: id,\n })\n .catch(() => {\n notificationComposable.error(\"project.fail_to_update_project\");\n });\n }\n\n function clearCachedContents() {\n store.commit(\"Module/clearState\");\n store.commit(\"Content/clearState\");\n componentState.remove(\"project-page\", \"ProjectPage\");\n componentState.remove(\"last-module\", \"LastModule\");\n }\n\n function getRecentProjects() {\n return axios\n .get(endpoints.PROJECTS.GET_MOST_RECENT, {\n params: {\n clientId,\n },\n })\n .then((response: any) => {\n const projects = response as Array;\n const contents = [] as Array;\n _.forEach(projects, (p) => {\n contents.push(generateContentItemProject(p));\n });\n return contents;\n });\n }\n\n function generateContentItemProject(project: ProjectMostRecent) {\n const contentItem = {\n displayStatus: \"Published\",\n id: project.projectId,\n name: project.projectName,\n type: \"Project\",\n lang: lang,\n status: constants.STATE_STATUS.PUBLISHED,\n tags: [],\n } as ProjectContentItem;\n return contentItem;\n }\n\n function getProjectModulesUnpublished(projectId: string) {\n return axios\n .get(endpoints.PROJECTS.GET_PROJECT_MODULES_UNPUBLISHED_CHANGES, {\n params: {\n projectId,\n },\n })\n .then((response: any) => {\n const _modules = response as Array;\n return _.map(_modules, (m: Module) => {\n return {\n moduleName: m.moduleName,\n moduleId: m.moduleId,\n moduleType: m.moduleType_chr,\n };\n });\n });\n }\n\n return {\n getProject,\n getProjects,\n updateTimeline,\n deleteProject,\n getAvatars,\n getOtherLines,\n createUpdateProject,\n duplicateProject,\n generateLines,\n publishProject,\n revertProjectToPublished,\n saveCopy,\n setIntroVideo,\n getContents,\n goToEditContent,\n clearPronunciations,\n renameProject,\n clearCachedContents,\n getRecentProjects,\n getAvatar,\n SetAvatarVisibility,\n getDefaultAvatar,\n currentProjectIdFromStore,\n getProjectModulesUnpublished,\n };\n};\n","import axios from \"axios\";\nimport { useStore } from \"vuex\";\nimport { inject } from \"vue\";\nimport { useStorage } from \"./storage\";\nimport { useNotification } from \"./notification\";\nimport { useRouter } from \"vue-router\";\nimport {\n AuthUser,\n AuthUserImpersonate,\n AuthUserInfo,\n ClientAccessListItem,\n AuthChangePassword,\n ConfirmEmail,\n ForgotPassword,\n GetUser,\n GetServiceStatus,\n} from \"@/models/auth\";\nimport { useUtils } from \"./utils\";\nimport { useProject } from \"./project\";\n\nexport const useAuth = () => {\n const endpoints = inject(\"endpoints\") as EndpointsEnum;\n\n const store = useStore();\n const router = useRouter();\n const utilsComposable = useUtils();\n const storageComposable = useStorage();\n const notificationComposable = useNotification();\n const projectComposable = useProject();\n\n const { id } = store.state.Auth.info;\n\n function init() {\n axios.interceptors.response.use(\n (response) => response.data || response,\n (err) => {\n if (err & err.response && err.response.code === 401) {\n logout();\n }\n throw err;\n }\n );\n\n const token = storageComposable.get(\"token\");\n if (token) setToken(token);\n\n const impersonate = storageComposable.get(\"impersonate\");\n if (\n !!impersonate &&\n !!impersonate.type &&\n !!impersonate.id &&\n !!impersonate.originalId\n ) {\n setImpersonated(impersonate);\n }\n }\n\n function login(email: string, password: string): any {\n return axios\n .post(endpoints.AUTH.LOGIN, { email, password })\n .then((response: any) => {\n const loginInfo = response as AuthUser;\n setToken(loginInfo.token);\n return getUserInfo();\n })\n .catch((error) => {\n notificationComposable.error(\"auth.invalid_email_or_password\");\n throw error;\n });\n }\n function GetUsers() {\n return axios.get(endpoints.AUTH.USERS).then((response: any) => {\n return response as GetUser;\n });\n }\n\n function logout() {\n delete axios.defaults.headers.common.authorization;\n setImpersonated();\n clearAuthInfo();\n router.push({ name: \"auth\" });\n }\n\n function setToken(token: string) {\n axios.defaults.headers.common[\"authorization\"] = `Bearer ${token}`;\n store.commit(\"Auth/setToken\", token);\n storageComposable.set(\"token\", token);\n }\n\n function setImpersonated(\n obj: {\n type: string | null;\n id: string | number | null;\n originalId: string | number | null;\n token: string | null;\n clientName: string | null;\n } = {\n type: null,\n id: null,\n originalId: null,\n token: null,\n clientName: null,\n }\n ) {\n store.commit(\"Asset/clearCache\");\n store.commit(\"Auth/setImpersonated\", obj);\n storageComposable.set(\"impersonate\", obj);\n if (obj.token) {\n axios.defaults.headers.common[\"authorization\"] = `Bearer ${obj.token}`;\n }\n projectComposable.clearCachedContents();\n }\n\n async function getUserInfo() {\n try {\n const userInfo: AuthUserInfo = await axios.get(endpoints.AUTH.USER_INFO);\n store.commit(\"Auth/setInfo\", userInfo);\n store.commit(\"Auth/setOriginalInfo\", userInfo);\n storageComposable.set(\"user-info\", userInfo);\n\n const clientAccess: Array = await axios.get(\n endpoints.USER_ACCESS.GET_USER_CLIENT_LIST,\n { params: { userId: userInfo.id } }\n );\n store.commit(\"Auth/setClientAccess\", clientAccess);\n storageComposable.set(\"client-access\", clientAccess);\n\n if (userInfo && store.state.Auth.impersonate.type) {\n if (store.state.Auth.impersonate.type === \"client\") {\n const clientId = store.state.Auth.impersonate.id;\n const clientName = store.state.Auth.impersonate.clientName;\n userInfo.clientId = clientId;\n userInfo.clientName = clientName;\n store.commit(\"Auth/setClientId\", userInfo.clientId);\n store.commit(\"Auth/setClientName\", userInfo.clientName);\n } else {\n const originalUserInfo = (await axios.get(endpoints.AUTH.USER_INFO, {\n headers: {\n authorization: `Bearer ${store.state.Auth.token}`,\n },\n })) as AuthUserInfo;\n store.commit(\"Auth/setOriginalInfo\", originalUserInfo);\n }\n }\n return userInfo;\n } catch (error) {\n clearAuthInfo();\n return error;\n }\n }\n\n function clearAuthInfo() {\n storageComposable.remove(\"token\");\n storageComposable.remove(\"user-info\");\n storageComposable.remove(\"impersonate\");\n storageComposable.remove(\"client-access\");\n store.commit(\"Auth/setToken\", \"\");\n store.commit(\"Auth/setInfo\", {});\n }\n\n function impersonateUser(userId: any) {\n if (store.state.Auth.impersonate.type === \"client\") {\n setImpersonated();\n }\n\n return axios\n .get(`${endpoints.AUTH.IMPERSONATE_USER}?userId=${userId}`)\n .then((response: any) => {\n const inpersonateUser = response as AuthUserImpersonate;\n const originalUserId =\n store.state.Auth.impersonate.type === \"user\"\n ? store.state.Auth.impersonate.originalId\n : store.state.Auth.info.id;\n setImpersonated({\n type: \"user\",\n id: userId,\n originalId: originalUserId,\n token: inpersonateUser.token,\n clientName: null,\n });\n return getUserInfo();\n })\n .catch((error) => {\n notificationComposable.error(\"auth.impersonate_user_error\");\n throw error;\n });\n }\n\n function revertImpersonationUser() {\n return axios\n .get(endpoints.AUTH.REVERT_IMPERSONATION)\n .then((response: any) => {\n const inpersonateUser = response as AuthUserImpersonate;\n setToken(inpersonateUser.token);\n setImpersonated();\n return getUserInfo();\n })\n .catch((error) => {\n notificationComposable.error(\"auth.revert_impersonate_error\");\n throw error;\n })\n .finally(() => {\n router.push({ name: \"protected.dashboard\" });\n });\n }\n\n async function impersonateClient(clientId: number, clientName: string) {\n if (store.state.Auth.impersonate.type === \"user\") {\n await revertImpersonationUser();\n }\n\n const originalClientId =\n store.state.Auth.impersonate.type === \"client\"\n ? store.state.Auth.impersonate.originalId\n : store.state.Auth.info.clientId;\n\n setImpersonated({\n type: \"client\",\n id: clientId,\n originalId: originalClientId,\n token: null,\n clientName,\n });\n\n store.commit(\"Auth/setClientId\", clientId);\n store.commit(\"Auth/setClientName\", clientName);\n }\n\n function revertImpersonationClient() {\n setImpersonated();\n return getUserInfo();\n }\n\n function revertImpersonation() {\n if (!store.state.Auth.impersonate.type) return;\n if (store.state.Auth.impersonate.type === \"user\") {\n return revertImpersonationUser();\n } else {\n return revertImpersonationClient();\n }\n }\n\n function forgotPassword(email: string) {\n return axios\n .post(endpoints.AUTH.FORGOT_PASSWORD, { email })\n .then((response: any) => {\n notificationComposable.success(\"auth.forgot_password_success\");\n return response as ForgotPassword;\n })\n .catch((error) => {\n notificationComposable.error(\"auth.forgot_password_error\");\n throw error;\n });\n }\n\n function resetPassword(email: string, password: string, code: string) {\n return axios\n .post(endpoints.AUTH.RESET_PASSWORD, {\n resetEmail: email,\n resetPassword: password,\n resetConfirmPassword: password,\n code,\n })\n .then((response) => {\n notificationComposable.success(\"auth.reset_password_success\");\n return response;\n })\n .catch((error) => {\n notificationComposable.error(\"auth.reset_password_error\");\n notificationComposable.error(error.response.data);\n throw error;\n });\n }\n\n function changePassword(\n confirmPassword: string,\n currentPassword: string,\n newPassword: string\n ) {\n return axios\n .post(endpoints.AUTH.CHANGE_PASSWORD, {\n currentPassword,\n newPassword,\n confirmPassword,\n userId: id,\n })\n .then((response: any) => {\n notificationComposable.success(\"auth.change_password_success\");\n return response as AuthChangePassword;\n })\n .catch((error) => {\n notificationComposable.error(\"auth.change_password_error\");\n if (\n error.response &&\n error.response.data &&\n !error.response.data.includes(\"System\")\n ) {\n notificationComposable.error(error.response.data);\n }\n throw error;\n });\n }\n function ConfirmEmail(code: string, userId: string) {\n return axios\n .get(endpoints.AUTH.CONFIRM_EMAIL, { params: { userId, code } })\n .then((response: any) => {\n return response as ConfirmEmail;\n });\n }\n\n function grantUserClientAccess(userId: string, clientIds: Array) {\n const endpoint = utilsComposable.formatEndpointWithQueryParams(\n endpoints.USER_ACCESS.GRANT_CLIENT_ACCESS,\n clientIds,\n \"clientIds\"\n );\n\n return axios\n .put(endpoint, null, {\n params: { userId, clientIds },\n })\n .then((response) => {\n notificationComposable.success(\"auth.client_access_updated\");\n return response;\n })\n .catch((error) => {\n notificationComposable.error(\"auth.failed_to_update_client_access\");\n throw error;\n });\n }\n\n function revokeUserClientAccess(userId: string, clientIds: Array) {\n const endpoint = utilsComposable.formatEndpointWithQueryParams(\n endpoints.USER_ACCESS.REVOKE_CLIENT_ACCESS,\n clientIds,\n \"clientIds\"\n );\n\n return axios\n .delete(endpoint, {\n params: { userId, clientIds },\n })\n .then((response) => {\n notificationComposable.success(\"auth.client_access_revoked\");\n return response;\n })\n .catch((error) => {\n notificationComposable.error(\"auth.failed_to_update_client_access\");\n throw error;\n });\n }\n\n function setUserAgreement() {\n return axios\n .post(endpoints.AUTH.SET_USER_AGREEMENT, { userId: id })\n .then(() => {\n store.commit(\"Auth/setUserAgreement\");\n });\n }\n\n function GetServiceStatus(Include_Deleted_Clients: boolean) {\n return axios\n .get(endpoints.AUTH.GET_SERVICE_STATUS, {\n params: {\n Calling_UserID_chr: store.state.Auth.info.id,\n Include_Deleted_Clients_byt: Include_Deleted_Clients,\n },\n })\n .then((response: any) => response as GetServiceStatus);\n }\n\n function addUserDetail(\n firstName: string,\n lastName: string,\n email: string,\n password: string,\n phoneNumber: string,\n role: string\n ) {\n return axios\n .post(endpoints.AUTH.ADD_USER_DETAIL, {\n id: id,\n firstName: firstName,\n lastName: lastName,\n email: email,\n password: password,\n phoneNumber: phoneNumber,\n role: role,\n })\n .then(() => {\n notificationComposable.success(\"auth.add_user_detail\");\n });\n }\n\n return {\n init,\n login,\n logout,\n impersonateUser,\n impersonateClient,\n revertImpersonation,\n getUserInfo,\n forgotPassword,\n resetPassword,\n changePassword,\n grantUserClientAccess,\n revokeUserClientAccess,\n setUserAgreement,\n ConfirmEmail,\n GetUsers,\n addUserDetail,\n GetServiceStatus,\n };\n};\n","import axios from \"axios\";\nimport { inject } from \"vue\";\nimport { useStore } from \"vuex\";\nimport { useUtils } from \"./utils\";\nimport { useNotification } from \"./notification\";\nimport { ClientListItem, ClientPutPost, ClientRole } from \"@/models/client\";\nimport { UserForm, UserListItem } from \"@/models/user\";\n\nexport const useAdministration = () => {\n const endpoints = inject(\"endpoints\") as EndpointsEnum;\n\n const store = useStore();\n const utilsComposable = useUtils();\n const notificationComposable = useNotification();\n\n function getRoles(clientId: number) {\n return axios\n .get(endpoints.ROLES.LIST, {\n params: {\n clientId,\n },\n })\n .then((response: any) => response as Array);\n }\n\n function getUserById(userId: string) {\n return axios\n .get(endpoints.USERS.USER_INFO, {\n params: {\n id: userId,\n },\n })\n .then((response: any) => response as UserForm);\n }\n\n function getAllUsers() {\n return axios.get(endpoints.USERS.LIST_ALL).then((response: any) => {\n response.map(function (obj: any) {\n return obj as UserListItem;\n });\n });\n }\n\n function createUser(userInfo: UserForm) {\n return axios\n .post(endpoints.USERS.ADD, userInfo)\n .then((response) => {\n notificationComposable.success(\"admin.create_user_success\");\n return response;\n })\n .catch((error) => {\n if (!error.response.data) {\n notificationComposable.error(\"admin.create_user_error\");\n } else {\n notificationComposable.error(error.response.data);\n }\n throw error;\n });\n }\n\n function updateUserInformation(userInfo: object) {\n return axios\n .put(endpoints.USERS.UPDATE_INFO, userInfo)\n .then((response) => {\n notificationComposable.success(\"admin.update_user_success\");\n return response;\n })\n .catch((error) => {\n notificationComposable.error(\"admin.update_user_error\");\n throw error;\n });\n }\n\n function sendUserResetPassword(userId: any) {\n const formData = utilsComposable.makeFormData({ id: userId });\n return axios\n .post(endpoints.USERS.RESET_PASSWORD, formData)\n .then((response: any) => {\n const message = response.message;\n notificationComposable.success(message);\n return response;\n })\n .catch((error) => {\n notificationComposable.error(error);\n throw error;\n });\n }\n\n function deleteUser(userId: string) {\n return axios\n .delete(`${endpoints.USERS.DELETE}?id=${userId}`)\n .then((response: any) => {\n notificationComposable.success(response);\n return response;\n })\n .catch((error) => {\n notificationComposable.error(error);\n throw error;\n });\n }\n\n function getClients() {\n return axios\n .get(endpoints.CLIENTS.LIST, {\n params: {\n Calling_UserID_chr: store.state.Auth.info.id,\n },\n })\n .then((response) => response);\n }\n\n function getClientById(clientId?: string) {\n return axios\n .get(endpoints.CLIENTS.LIST, {\n params: {\n Calling_UserID_chr: store.state.Auth.info.id,\n ClientID_lng: clientId || store.state.Auth.info.clientID,\n },\n })\n .then((response: any) => {\n return response.tblClient[0] as ClientListItem;\n });\n }\n\n function createClient(clientName: string) {\n return axios\n .post(endpoints.CLIENTS.POST_PUT, {\n ClientName_chr: clientName,\n Calling_UserID_chr: \"\",\n })\n .then((response) => {\n notificationComposable.success(\"admin.create_client_success\");\n return response;\n })\n .catch((error) => {\n notificationComposable.error(\"admin.create_client_error\");\n throw error;\n });\n }\n\n function updateClientInformation(clientInfo: ClientPutPost) {\n return axios\n .post(endpoints.CLIENTS.POST_PUT, clientInfo)\n .then((response) => {\n notificationComposable.success(\"admin.update_client_success\");\n return response;\n })\n .catch((error) => {\n notificationComposable.error(\"admin.update_client_error\");\n throw error;\n });\n }\n\n function deleteClient(clientId: any) {\n return axios\n .delete(endpoints.CLIENTS.DELETE, {\n params: {\n Calling_UserID_chr: store.state.Auth.info.id,\n ClientID_lng: clientId,\n is_Hard_Delete_ysn: false,\n },\n })\n .then((response) => {\n notificationComposable.success(\"admin.delete_client_success\");\n return response;\n })\n .catch((error) => {\n notificationComposable.error(error);\n throw error;\n });\n }\n\n return {\n getClients,\n getRoles,\n getUserById,\n createUser,\n updateUserInformation,\n sendUserResetPassword,\n deleteUser,\n getClientById,\n createClient,\n updateClientInformation,\n deleteClient,\n getAllUsers,\n };\n};\n","import _ from \"lodash\";\nimport { useField } from \"vee-validate\";\nimport AllRules from \"@vee-validate/rules\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nexport const useInputValidation = (\n _rules: Array,\n _name: string,\n _value: any\n) => {\n const rules: any = {};\n\n _.forEach(_rules, (rule: string) => {\n if (rule.includes(\"|\")) {\n const ruleSplit = rule.split(\"|\");\n rules[ruleSplit[0]] = ruleSplit[1];\n } else if (rule.includes(\"@\")) {\n const ruleSplit = rule.split(\"@\");\n rules[ruleSplit[0]] = `@${ruleSplit[1]}`;\n } else {\n rules[rule] = AllRules[rule];\n }\n });\n\n const { value: inputValue, errorMessage } = useField(\n _name || uuidv4(),\n rules,\n {\n initialValue: _value,\n validateOnMount: false,\n validateOnValueUpdate: true,\n }\n );\n\n return {\n inputValue,\n errorMessage,\n };\n};\n","import { Tag, CreateTag } from \"@/models/tag\";\nimport { inject } from \"vue\";\nimport { useStore } from \"vuex\";\nimport axios from \"axios\";\nimport _ from \"lodash\";\n\nexport const useTag = () => {\n const endpoints = inject(\"endpoints\") as EndpointsEnum;\n const store = useStore();\n\n const { email } = store.state.Auth.originalInfo;\n const { clientId } = store.state.Auth.info;\n\n function getList() {\n return axios\n .get(endpoints.TAGS.LIST_CLIENT_TAGS, {\n params: {\n clientId: clientId,\n },\n })\n .then((response: any) => {\n const tags: Array = [];\n\n _.forEach(response.tags, (item) => {\n _.forEach(item.tagName, (tag) => {\n tags.push({\n id: tag.id,\n name: tag.name,\n tagType: item.tagType,\n });\n });\n });\n return tags;\n })\n .catch((error) => {\n throw error;\n });\n }\n\n function createTag(tags: Array) {\n return axios\n .post(endpoints.TAGS.CREATE, { clientId, tags })\n .then((response: any) => {\n return response as CreateTag;\n });\n }\n\n function addEditTags(tags: Array, moduleId: string) {\n return axios\n .post(endpoints.TAGS.ADD_EDIT_TAGS_MODULE, {\n tags,\n moduleId,\n email,\n })\n .then((response) => response);\n }\n function updateTags(tags: Array, topicId: string) {\n return axios\n .patch(endpoints.TAGS.UPDATE_TAGS, {\n tags,\n topicId,\n })\n .then((response) => response);\n }\n\n return {\n getList,\n createTag,\n addEditTags,\n updateTags,\n };\n};\n","import _ from \"lodash\";\nimport { nextTick, ref } from \"vue\";\nimport colors from \"@/static/js/colors\";\nimport { useStore } from \"vuex\";\nimport { useStorage } from \"./storage\";\n\nconst changing = ref(false);\n\nexport const useColor = () => {\n const store = useStore();\n const storageComposable = useStorage();\n\n function init() {\n const darkMode = !!storageComposable.get(\"darkMode\");\n setDarkMode(darkMode);\n setColors();\n }\n\n function setColors() {\n changing.value = true;\n _.forEach(colors, (list, type) => {\n if (type == \"dark\" && !store.state.Settings.darkMode) return;\n const el = document.querySelector(\":root\") as any;\n _.forEach(list, (hex, name) => {\n el.style.setProperty(`--${name}`, hex);\n });\n });\n nextTick(() => (changing.value = false));\n }\n\n function getByName(colorName: string) {\n if (!colorName || changing.value) return \"\";\n return (\n getComputedStyle(document.documentElement).getPropertyValue(\n `--${colorName}`\n ) || colorName\n );\n }\n\n function setDarkMode(value: boolean) {\n store.commit(\"Settings/setDarkMode\", value);\n storageComposable.set(\"darkMode\", value);\n }\n\n function toggleDarkMode() {\n const value = !store.state.Settings.darkMode;\n setDarkMode(value);\n setColors();\n }\n\n return { init, getByName, toggleDarkMode };\n};\n","import _ from \"lodash\";\nimport axios from \"axios\";\nimport { inject } from \"vue\";\nimport { useStore } from \"vuex\";\nimport {\n ModuleIntakePutPost,\n ModuleIntake,\n ModuleIntakeQuestion,\n ModuleIntakeQuestionDiagram,\n ModuleIntakeQuestionBinary,\n ModuleIntakeQuestionMCQ,\n ModuleIntakeQuestionRange,\n ModuleIntakeQuestionImage,\n ModuleIntakeEntryPustPost,\n} from \"@/models/moduleIntake\";\nimport { Module, ModuleMediaTypes } from \"@/models/module\";\nimport { ProjectAvatarVoiceTimeIndex } from \"@/models/project\";\nimport { useAsset } from \"./asset\";\nimport { useSlideUtils } from \"./slide\";\nimport { useNotification } from \"./notification\";\n\nexport const useModuleIntake = () => {\n const dayjs = inject(\"dayjs\") as DayjsEnum;\n const endpoints = inject(\"endpoints\") as EndpointsEnum;\n\n const store = useStore();\n const assetComposable = useAsset();\n const slideUtilsComposable = useSlideUtils();\n const notificationComposable = useNotification();\n\n const { email, id } = store.state.Auth.originalInfo;\n\n async function get(moduleData: Module) {\n let moduleIntake: ModuleIntake;\n\n if (moduleData.intake) {\n moduleIntake = await axios.get(endpoints.INTAKE.GET, {\n params: {\n id: moduleData.intake.id,\n intakeId: moduleData.intake.intakeId_chr,\n },\n });\n } else {\n moduleIntake = await createUpdate(createObject(moduleData));\n }\n\n const assets: Array<{ url: string; type: ModuleMediaTypes; id: string }> =\n [];\n\n _.forEach(moduleIntake.questions, (question) => {\n assets.concat(\n _.map(question.mediaTrigger.media, (media) => {\n return {\n url: media.mediaURL,\n type: media.triggerType,\n id: media.mediaId,\n };\n })\n );\n });\n\n await assetComposable.getModuleAssets(assets);\n\n _.forEach(moduleIntake.questions, (question) => {\n question._layers = slideUtilsComposable.createModuleLayersObject(\n question.question_chr || \"\",\n question\n );\n });\n\n return moduleIntake;\n }\n\n function createUpdate(payload: ModuleIntakePutPost) {\n payload.lastUpdatedByUserId_chr = email;\n return axios\n .post(endpoints.INTAKE.CREATE_UPDATE, payload)\n .then((response: any) => {\n return response as ModuleIntake;\n });\n }\n\n function createUpdateEntry(payload: ModuleIntakeEntryPustPost) {\n payload.lastUpdatedByUserId_chr = email;\n return axios\n .post(endpoints.INTAKE.CREATE_UPDATE_ENTRY, payload)\n .then((response: any) => {\n return response as ModuleIntake;\n });\n }\n\n function createEntryObject(\n moduleData: Module,\n intake: ModuleIntake,\n question: ModuleIntakeQuestion,\n timeIndexes?: Array\n ) {\n const entry: ModuleIntakeEntryPustPost = {\n lastUpdatedDateTime_dtm: dayjs.utc().format(),\n lastUpdatedByUserId_chr: email,\n moduleId_chr: moduleData.moduleId,\n speechTime_lng: 0,\n question: {\n ...question,\n ...slideUtilsComposable.createBaseObject(\n question.question_chr || \"\",\n question._layers,\n timeIndexes ? _.map(timeIndexes, (v) => v.value) : []\n ),\n },\n };\n\n return entry;\n }\n\n function createObject(moduleData: Module, intake?: ModuleIntake) {\n const obj: ModuleIntakePutPost = {\n fullScrMedia: intake ? intake.fullScrMedia : false,\n isShowSummary: intake ? intake.isShowSummary : false,\n isReadTitles: intake ? intake.isReadTitles : true,\n readQuestion: intake ? intake.readQuestion : false,\n lastUpdatedDateTime_dtm: dayjs.utc().format(),\n lastUpdatedByUserId_chr: email,\n moduleId_chr: moduleData.moduleId,\n };\n\n return obj;\n }\n\n function createQuestionResponseObject() {\n const questionBase: ModuleIntakeQuestion = {\n id: null,\n question_chr: \"\",\n isQuestionRequired: false,\n questionType: \"Text_Entry\",\n title: \"New Question\",\n binaryQ: null,\n rangeQ: null,\n imageQ: null,\n mcqQ: null,\n diagramQ: null,\n ...slideUtilsComposable.createBaseResponseObject(),\n };\n return questionBase;\n }\n\n function createQuestionMcqObject() {\n const questionMcq: ModuleIntakeQuestionMCQ = {\n options: [\"Option 1\", \"Option 2\"],\n allowMultipleSelection: false,\n };\n\n return questionMcq;\n }\n\n function createQuestionDiagramObject() {\n const questionDiagram: ModuleIntakeQuestionDiagram = {\n imageURL: null,\n markerType: null,\n markerColor: null,\n };\n return questionDiagram;\n }\n\n function createQuestionBinaryObject() {\n const questionBinary: ModuleIntakeQuestionBinary = {\n option1: null,\n option2: null,\n };\n return questionBinary;\n }\n\n function createQuestionRangeObject() {\n const questionRange: ModuleIntakeQuestionRange = {\n min: 0,\n max: 10,\n isNaturalNumbers: true,\n };\n return questionRange;\n }\n\n function createQuestionImageObject() {\n const questionImage: ModuleIntakeQuestionImage = {\n imageURL: null,\n checkmarkURL: null,\n };\n return questionImage;\n }\n\n function deleteEntry(intakeId: string, entryId: string, moduleId: string) {\n return axios.delete(endpoints.INTAKE.DELETE_ENTRY, {\n data: { intakeId, entryId, lastUpdatedByUserId: id, moduleId },\n });\n }\n\n function sortQuestions(moduleData: Module, intake: ModuleIntake) {\n return axios.put(endpoints.INTAKE.SORT, {\n intakeId: intake.intakeId_chr,\n entryIds: _.map(intake.questions, (question) => question.id),\n moduleId: moduleData.moduleId,\n lastUpdatedByUserId_chr: email,\n });\n }\n\n function revertEntryToPublished(\n intakeId: string,\n slideId: string,\n moduleId: string\n ) {\n return axios\n .post(endpoints.INTAKE.REVERT_ENTRY, null, {\n params: { intakeId, slideId, moduleId },\n })\n .then((response: any) => {\n notificationComposable.success(\"form.revert_entry_success\");\n return response as Module;\n })\n .catch((error) => {\n notificationComposable.error(\"form.revert_entry_error\");\n throw error;\n });\n }\n\n return {\n get,\n createUpdate,\n createUpdateEntry,\n deleteEntry,\n createObject,\n createQuestionResponseObject,\n createQuestionMcqObject,\n createQuestionDiagramObject,\n createQuestionBinaryObject,\n createQuestionRangeObject,\n createQuestionImageObject,\n createEntryObject,\n sortQuestions,\n revertEntryToPublished,\n };\n};\n","import _ from \"lodash\";\nimport axios from \"axios\";\nimport { inject } from \"vue\";\nimport { useStore } from \"vuex\";\nimport { useSlideUtils } from \"./slide\";\nimport { Module, ModuleMediaTypes } from \"@/models/module\";\nimport {\n ModuleNavigation,\n ModuleNavigationPutPost,\n ModuleNavigationButton,\n} from \"@/models/moduleNavigation\";\nimport { useAsset } from \"./asset\";\nimport { ProjectAvatarVoiceTimeIndex } from \"@/models/project\";\n\nexport const useModuleNavigation = () => {\n const dayjs = inject(\"dayjs\") as DayjsEnum;\n\n const endpoints = inject(\"endpoints\") as EndpointsEnum;\n const store = useStore();\n const assetComposable = useAsset();\n const slideUtilsComposable = useSlideUtils();\n\n const { email, id: userId } = store.state.Auth.originalInfo;\n\n async function get(moduleData: Module) {\n let moduleNavigation: ModuleNavigation;\n\n if (moduleData.navigation) {\n moduleNavigation = await axios.get(endpoints.NAVIGATION.GET, {\n params: {\n navigationId: moduleData.navigation.navigationId_chr,\n },\n });\n } else {\n moduleNavigation = await createUpdate(createObject(moduleData));\n }\n\n if (\n !!moduleNavigation.utterance &&\n !!moduleNavigation.utterance.mediaTrigger\n ) {\n const assets: Array<{ url: string; type: ModuleMediaTypes; id: string }> =\n _.map(moduleNavigation.utterance.mediaTrigger.media, (media) => {\n return {\n url: media.mediaURL,\n type: media.triggerType,\n id: media.mediaId,\n };\n });\n\n await assetComposable.getModuleAssets(assets);\n\n moduleNavigation.utterance._layers =\n slideUtilsComposable.createModuleLayersObject(\n moduleNavigation.utterance.line_chr,\n moduleNavigation.utterance\n );\n if (!moduleNavigation.utterance.line_chr) {\n moduleNavigation.utterance.line_chr = \"\";\n }\n } else {\n moduleNavigation.utterance = {\n ...slideUtilsComposable.createBaseResponseObject(),\n line_chr: \"\",\n speechTime_lng: 0,\n };\n }\n\n return moduleNavigation;\n }\n\n function createObject(\n moduleData: Module,\n navigationModule?: ModuleNavigation,\n timeIndexes?: Array\n ) {\n const navigationObject: ModuleNavigationPutPost = {\n navigationId_chr: null,\n moduleId_chr: moduleData.moduleId,\n speechTime_lng: 0,\n fullScrMedia: false,\n navigationButtons: [],\n lastUpdatedByUserId_chr: email,\n lastUpdatedByUserId: userId,\n lastUpdatedDateTime_dtm: dayjs.utc().format(),\n utterance: {\n ...slideUtilsComposable.createBaseObject(),\n line_chr: null,\n speechTime_lng: 0,\n },\n showCme: true,\n };\n\n if (navigationModule) {\n const {\n navigationId_chr,\n fullScrMedia,\n navigationButtons,\n utterance,\n showCme,\n } = navigationModule;\n\n navigationObject.showCme = showCme;\n navigationObject.fullScrMedia = fullScrMedia;\n navigationObject.navigationId_chr = navigationId_chr;\n navigationObject.navigationButtons = navigationButtons;\n navigationObject.utterance = {\n ...slideUtilsComposable.createBaseObject(\n utterance.line_chr,\n utterance._layers,\n timeIndexes ? _.map(timeIndexes, (v) => v.value) : []\n ),\n line_chr: utterance.line_chr,\n speechTime_lng: utterance.speechTime_lng,\n };\n }\n\n return navigationObject;\n }\n\n function createButtonObject() {\n const navigationButton: ModuleNavigationButton = {\n buttonLabel: \"\",\n navigateTomodule: {\n moduleId: \"\",\n moduleName: \"\",\n },\n navigationType: null,\n url: null,\n };\n\n return navigationButton;\n }\n\n function createUpdate(navigationInfo: ModuleNavigationPutPost) {\n navigationInfo.lastUpdatedByUserId = email;\n return axios\n .post(endpoints.NAVIGATION.CREATE_UPDATE, navigationInfo)\n .then((response: any) => {\n return response as ModuleNavigation;\n });\n }\n\n return {\n createUpdate,\n createObject,\n createButtonObject,\n get,\n };\n};\n","import _ from \"lodash\";\nimport axios from \"axios\";\nimport { inject } from \"vue\";\nimport { useStore } from \"vuex\";\nimport { useWebgl } from \"./webgl\";\nimport { useUtils } from \"./utils\";\nimport { useSlideUtils } from \"./slide\";\nimport { useNotification } from \"./notification\";\nimport { useAsset } from \"./asset\";\nimport { Module, ModuleMediaTypes } from \"@/models/module\";\nimport {\n ModulePresentation,\n ModulePresentationSlidePutPost,\n ModulePresentationSlide,\n} from \"@/models/modulePresentation\";\nimport { ProjectAvatarVoiceTimeIndex } from \"@/models/project\";\n\nexport const useModulePresentation = () => {\n const endpoints = inject(\"endpoints\") as EndpointsEnum;\n\n const store = useStore();\n const utilsComposable = useUtils();\n const assetComposable = useAsset();\n const webglComposable = useWebgl();\n const slideUtilsComposable = useSlideUtils();\n const notificationComposable = useNotification();\n\n const { email, id } = store.state.Auth.originalInfo;\n\n async function get(moduleData: Module) {\n let modulePresentation: ModulePresentation;\n\n if (!moduleData.presentation) {\n modulePresentation = await createUpdateSlide(\n createSlideObject(moduleData)\n );\n } else {\n modulePresentation = await axios.get(endpoints.PRESENTATION.GET, {\n params: {\n presentationId: moduleData.presentation.presentationId_chr,\n },\n });\n }\n\n let assets: Array<{ url: string; type: ModuleMediaTypes; id: string }> = [];\n\n _.forEach(modulePresentation.slides, (slide) => {\n if (slide.mediaTrigger.media && slide.mediaTrigger.media.length) {\n assets = [\n ...assets,\n ..._.map(slide.mediaTrigger.media, (media) => {\n return {\n url: media.mediaURL,\n type: media.triggerType,\n id: media.mediaId,\n };\n }),\n ];\n }\n });\n\n await assetComposable.getModuleAssets(assets);\n\n _.forEach(modulePresentation.slides, (slide) => {\n slide._layers = slideUtilsComposable.createModuleLayersObject(\n slide.slideData_chr,\n slide\n );\n });\n\n return modulePresentation;\n }\n\n function createUpdateSlide(payload: ModulePresentationSlidePutPost) {\n payload.lastUpdatedByUserId_chr = id;\n return axios\n .post(endpoints.PRESENTATION.CREATE_SLIDE, payload)\n .then((response: any) => {\n return response as ModulePresentation;\n });\n }\n\n function deleteSlide(\n presentationId: string,\n slideId_chr: string,\n moduleId: string\n ) {\n return axios\n .delete(endpoints.PRESENTATION.DELETE_SLIDE, {\n data: {\n lastUpdatedByUserId_chr: id,\n presentationId,\n slideId_chr,\n moduleId,\n },\n })\n .then((response: any) => {\n notificationComposable.success(\"presentation.delete_slide_success\");\n return response;\n })\n .catch((error) => {\n notificationComposable.error(\"presentation.delete_slide_error\");\n return error;\n });\n }\n\n function importSlide(moduleId: string, file: File) {\n const formData = utilsComposable.makeFormData({\n moduleId,\n presentationFile: file,\n blobFolderName: assetComposable.containerName.value,\n });\n return axios.post(endpoints.PRESENTATION.IMPORT, formData);\n }\n\n function importSlideURL(moduleId: string, fileURL: string) {\n const formData = utilsComposable.makeFormData({\n moduleId,\n fileURL: fileURL,\n blobFolderName: assetComposable.containerName.value,\n });\n return axios\n .post(endpoints.PRESENTATION.IMPORT_URL, formData)\n .catch((error) => {\n notificationComposable.error(\"presentation.import_slides_error\");\n return error;\n })\n .then((response) => response);\n }\n\n function createSlideObject(\n module: Module,\n slide?: ModulePresentationSlide,\n timeIndexes?: Array\n ) {\n const groupedLayers = slide\n ? _.groupBy(_.orderBy(slide._layers, \"wordIndex\", \"asc\"), \"type\")\n : {};\n\n const slideData = slide ? slide.slideData_chr : \"\";\n\n const presentationSlideObject: ModulePresentationSlidePutPost = {\n ...{\n animationTrigger: slideUtilsComposable.createAnimationTriggerObject(\n slideData,\n groupedLayers.animation || []\n ),\n mediaTrigger: slideUtilsComposable.createMediaTriggerObject(\n slideData,\n groupedLayers.media || []\n ),\n pauseList: slideUtilsComposable.createPauseListObject(\n groupedLayers.pause || []\n ),\n htmlContent: slideData,\n htmlContent_Pause: slideData,\n lastUpdatedByUserId_chr: \"\",\n moduleId: module.moduleId,\n slideData_chr: slideData,\n slideId: slide ? slide.id : \"\",\n slideMediaType:\n slide && slide.mediaAttached\n ? slide.mediaAttached.mediaType_chr\n : null,\n slideMediaURL: \"\",\n speechLength: webglComposable.audioState.value.duration\n ? Math.ceil(webglComposable.audioState.value.duration * 1000)\n : 0,\n fullScrMedia: false,\n wordIndexes: timeIndexes ? _.map(timeIndexes, (v) => v.value) : [],\n showCme: slide ? slide.showCme : true,\n },\n ...slideUtilsComposable.createPronunciationObject(\n groupedLayers.pronunciation || {}\n ),\n };\n\n return presentationSlideObject;\n }\n\n function sortSlides(moduleData: Module, presentation: ModulePresentation) {\n return axios.put(endpoints.PRESENTATION.SORT, {\n presentationId: presentation.presentationId_chr,\n slideIds: _.map(presentation.slides, (slide) => slide.id),\n moduleId: moduleData.moduleId,\n lastUpdatedByUserId_chr: email,\n });\n }\n\n function revertSlideToPublished(\n presentationId: string,\n slideId: string,\n moduleId: string\n ) {\n return axios\n .post(endpoints.PRESENTATION.REVERT_SLIDE, null, {\n params: { presentationId, slideId, moduleId },\n })\n .then((response: any) => {\n notificationComposable.success(\"presentation.revert_slide_success\");\n return response as Module;\n })\n .catch((error) => {\n notificationComposable.error(\"presentation.revert_slide_error\");\n throw error;\n });\n }\n\n return {\n get,\n createUpdateSlide,\n deleteSlide,\n importSlide,\n importSlideURL,\n createSlideObject,\n sortSlides,\n revertSlideToPublished,\n };\n};\n","import _ from \"lodash\";\nimport axios from \"axios\";\nimport { inject } from \"vue\";\nimport { useStore } from \"vuex\";\nimport { useSlideUtils } from \"./slide\";\nimport { useNotification } from \"./notification\";\nimport {\n ModuleQuiz,\n ModuleQuizSlidePutPost,\n ModuleQuizSlideQuestionPutPost,\n ModuleQuizSlide,\n ModuleQuizSlideAnswerPutPost,\n ModuleQuizSlideAnswer,\n} from \"@/models/moduleQuiz\";\nimport {\n Module,\n ModuleMediaTypes,\n ModuleTextToSpeechLayerItem,\n} from \"@/models/module\";\nimport { useAsset } from \"./asset\";\nimport { ProjectAvatarVoiceTimeIndex } from \"@/models/project\";\n\nexport const useModuleQuiz = () => {\n const dayjs = inject(\"dayjs\") as DayjsEnum;\n const endpoints = inject(\"endpoints\") as EndpointsEnum;\n\n const store = useStore();\n const slideUtilsComposable = useSlideUtils();\n const notificationComposable = useNotification();\n const assetComposable = useAsset();\n\n const { email, id } = store.state.Auth.originalInfo;\n\n async function get(moduleData: Module) {\n let moduleQuiz: ModuleQuiz;\n\n if (moduleData.quiz) {\n moduleQuiz = await axios.get(endpoints.QUIZ.GET, {\n params: {\n id: moduleData.quiz.id,\n quizId: moduleData.quiz.quizId_chr,\n },\n });\n } else {\n moduleQuiz = await createUpdateSlide(createSlideObject(moduleData));\n }\n\n const assets: Array<{ url: string; type: ModuleMediaTypes; id: string }> =\n [];\n\n _.forEach(moduleQuiz.slides, (slide) => {\n _.forEach(slide.answers, (answer) => {\n if (answer.mediaTrigger) {\n assets.concat(\n _.map(answer.mediaTrigger.media, (media) => {\n return {\n url: media.mediaURL,\n type: media.triggerType,\n id: media.mediaId,\n };\n })\n );\n }\n });\n });\n\n await assetComposable.getModuleAssets(assets);\n\n _.forEach(moduleQuiz.slides, (slide) => {\n slide.question._layers = slideUtilsComposable.createModuleLayersObject(\n slide.question.question_chr,\n slide.question\n );\n\n if (slide.question.intro) {\n slide.question.intro._layers =\n slideUtilsComposable.createModuleLayersObject(\n slide.question.intro.line_chr,\n slide.question.intro\n );\n } else {\n slide.question.intro = slideUtilsComposable.createIntroResponseObject();\n }\n\n _.forEach(slide.answers, (answer) => {\n answer._layers = slideUtilsComposable.createModuleLayersObject(\n answer.answer_chr,\n answer\n );\n if (answer.outro) {\n answer.outro._layers = slideUtilsComposable.createModuleLayersObject(\n answer.outro.outroLine_chr,\n answer.outro\n );\n } else {\n answer.outro = slideUtilsComposable.createOutroResponseObject();\n }\n\n if (answer.mediaTrigger) {\n assets.concat(\n _.map(answer.mediaTrigger.media, (media) => {\n return {\n url: media.mediaURL,\n type: media.triggerType,\n id: media.mediaId,\n };\n })\n );\n }\n });\n });\n\n return moduleQuiz;\n }\n\n function createUpdateSlide(quizInfo: ModuleQuizSlidePutPost) {\n quizInfo.lastUpdatedByUserId_chr = email;\n if (!quizInfo.slideId_chr) delete quizInfo.slideId_chr;\n return axios.post(endpoints.QUIZ.CREATE, quizInfo).then((response: any) => {\n return response as ModuleQuiz;\n });\n }\n\n function deleteSlide(quizId: string, slideId: string, moduleId: string) {\n return axios\n .delete(endpoints.QUIZ.DELETE, {\n data: {\n quizId,\n slideId,\n lastUpdatedByUserId: id,\n moduleId,\n },\n })\n .then((response) => {\n notificationComposable.success(\"quiz.delete_quiz_success\");\n return response;\n })\n .catch((error) => {\n notificationComposable.error(\"quiz.delete_quiz_success\");\n return error;\n });\n }\n\n function createAnswerResponseObject() {\n return {\n isCorrect: false,\n answer_chr: \"\",\n presentationModule: null,\n outro: slideUtilsComposable.createOutroResponseObject(),\n ...slideUtilsComposable.createBaseResponseObject(),\n } as ModuleQuizSlideAnswer;\n }\n\n function createQuestionObject(\n value: string,\n introValue: string,\n allowMultiple: boolean,\n layers?: Array,\n introLayers?: Array,\n timeIndexes?: Array,\n introTimeIndexes?: Array\n ) {\n const questionObj: ModuleQuizSlideQuestionPutPost = {\n question_chr: value,\n ssml: slideUtilsComposable.createSSMLObject(\n value,\n layers,\n timeIndexes ? _.map(timeIndexes, (v) => v.value) : []\n ),\n mediaTrigger: slideUtilsComposable.createMediaTriggerObject(\n value,\n layers\n ),\n animationTrigger: slideUtilsComposable.createAnimationTriggerObject(\n value,\n layers\n ),\n questionIntro: slideUtilsComposable.createIntroObject(\n introValue ? introValue : value,\n introLayers,\n introTimeIndexes ? _.map(introTimeIndexes, (v) => v.value) : []\n ),\n allowMultiple,\n };\n return questionObj;\n }\n\n function createAnswerObject(\n value: string,\n outroValue: string,\n correct: boolean,\n layers?: Array,\n outroLayers?: Array,\n timeIndexes?: Array,\n outroTimeIndexes?: Array\n ) {\n const answer: ModuleQuizSlideAnswerPutPost = {\n answerOutro: {\n outroLine_chr: outroValue,\n ssml: slideUtilsComposable.createSSMLObject(\n outroValue,\n outroLayers,\n outroTimeIndexes ? _.map(outroTimeIndexes, (v) => v.value) : []\n ),\n mediaTrigger: slideUtilsComposable.createMediaTriggerObject(\n outroValue,\n outroLayers\n ),\n animationTrigger: slideUtilsComposable.createAnimationTriggerObject(\n outroValue,\n outroLayers\n ),\n },\n answer_chr: value,\n isCorrect: correct,\n presentationModule: null,\n ssml: slideUtilsComposable.createSSMLObject(\n value,\n layers,\n timeIndexes ? _.map(timeIndexes, (v) => v.value) : []\n ),\n mediaTrigger: slideUtilsComposable.createMediaTriggerObject(\n value,\n layers\n ),\n animationTrigger: slideUtilsComposable.createAnimationTriggerObject(\n value,\n layers\n ),\n };\n\n return answer;\n }\n\n function createSlideObject(\n module: Module,\n quiz?: ModuleQuiz,\n slide?: ModuleQuizSlide,\n timeIndexes?: {\n question: {\n base: Array;\n intro: Array;\n };\n answers: Array<{\n base: Array;\n outro: Array;\n }>;\n }\n ) {\n let question: ModuleQuizSlideQuestionPutPost;\n const answers: Array = [];\n\n if (slide) {\n question = createQuestionObject(\n slide.question.question_chr,\n slide.question.intro.line_chr,\n slide.question.allowMultiple,\n slide.question._layers,\n slide.question.intro._layers,\n timeIndexes ? timeIndexes.question.base : [],\n timeIndexes ? timeIndexes.question.intro : []\n );\n\n _.forEach(slide.answers, (answer, index) => {\n answers.push(\n createAnswerObject(\n answer.answer_chr,\n answer.outro.outroLine_chr,\n answer.isCorrect,\n answer._layers,\n answer.outro._layers,\n timeIndexes ? timeIndexes.answers[index].base : [],\n timeIndexes ? timeIndexes.answers[index].outro : []\n )\n );\n });\n } else {\n question = createQuestionObject(\"Question\", \"\", false);\n answers.push(\n createAnswerObject(\"Answer 1\", \"Answer Outro 1\", true),\n createAnswerObject(\"Answer 2\", \"Answer Outro 2\", false)\n );\n }\n\n const slideObject: ModuleQuizSlidePutPost = {\n fullScrMedia: false,\n listStyleId: quiz ? quiz.listStyleId : \"\",\n question: question,\n answers: answers,\n readAnswers: false,\n readQuestion: true,\n lastUpdatedByUserId_chr: email,\n moduleId: module.moduleId,\n slideId_chr: slide ? slide.id : \"\",\n lastUpdatedDateTime_dtm: dayjs.utc().format(),\n speechTime_lng: 0,\n showCme: slide ? slide.showCme : true,\n };\n\n return slideObject;\n }\n\n function sortSlides(moduleData: Module, quiz: ModuleQuiz) {\n return axios.put(endpoints.QUIZ.SORT, {\n quizId: quiz.quizId_chr,\n slideIds: _.map(quiz.slides, (slide) => slide.id),\n moduleId: moduleData.moduleId,\n lastUpdatedByUserId_chr: email,\n });\n }\n\n function revertSlideToPublished(\n quizId: string,\n slideId: string,\n moduleId: string\n ) {\n return axios\n .post(endpoints.QUIZ.REVERT_SLIDE, null, {\n params: { quizId, slideId, moduleId },\n })\n .then((response: any) => {\n notificationComposable.success(\"quiz.revert_slide_success\");\n return response as Module;\n })\n .catch((error) => {\n notificationComposable.error(\"quiz.revert_slide_error\");\n throw error;\n });\n }\n\n return {\n get,\n sortSlides,\n createUpdateSlide,\n deleteSlide,\n createSlideObject,\n createAnswerResponseObject,\n revertSlideToPublished,\n };\n};\n","import axios from \"axios\";\nimport { inject } from \"vue\";\nimport { useStore } from \"vuex\";\nimport { useNotification } from \"./notification\";\nimport {\n Code,\n CodePost,\n CodePut,\n CodeListItem,\n CodeAnalytics,\n CodeModal,\n CodeShare,\n CodeShareModal,\n CodeShareEmail,\n CodeShareText,\n CodeByCodeNameResponse,\n CodeByModule,\n CodeByTopic,\n CodeUpdateTags,\n CodeByProject,\n} from \"@/models/code\";\nimport { Tag } from \"@/models/tag\";\nimport dayjs from \"dayjs\";\nimport { BlobItem } from \"@/models/asset\";\n\nexport const useCode = () => {\n const store = useStore();\n const notificationComposable = useNotification();\n const endpoints = inject(\"endpoints\") as EndpointsEnum;\n const apiConfig = inject(\"apiConfig\") as ApiConfigEnum;\n\n const { clientId, clientName, id } = store.state.Auth.originalInfo;\n\n function getTopCodes(codesIds: Array, dates?: Array) {\n const _formatDate = (date: string) =>\n dayjs(date).utc().format(\"DD-MMM-YYYY\");\n\n const filter = {\n end: dayjs().add(1, \"day\").utc().format(\"DD-MMM-YYYY\"),\n start: dayjs().subtract(7, \"day\").utc().format(\"DD-MMM-YYYY\"),\n };\n\n if (dates) {\n filter.end = _formatDate(dates[1]);\n filter.start = _formatDate(dates[0]);\n }\n\n return axios\n .post(endpoints.CODES.TOP_LIST, {\n codeids: codesIds,\n ...filter,\n })\n .then((response: any) => {\n return response[\"views\"] as Array;\n });\n }\n\n function getRecentCodes(codesIds: Array) {\n return axios\n .post(endpoints.CODES.RECENT_LIST, {\n codeids: codesIds,\n end: dayjs().add(1, \"day\").utc().format(\"DD-MMM-YYYY\"),\n start: dayjs().subtract(7, \"day\").utc().format(\"DD-MMM-YYYY\"),\n })\n .then((response: any) => {\n return response[\"views\"] as Array;\n });\n }\n\n function createCode(codeInfo: CodePost) {\n codeInfo.createdByUserId_chr = id;\n codeInfo.clientId = clientId;\n codeInfo.uniqueCodes_num = Number(codeInfo.uniqueCodes_num);\n\n return axios\n .post(endpoints.CODES.CREATE, codeInfo)\n .then((response: any) => {\n notificationComposable.success(\"share.create_code_success\");\n return response as CodeListItem;\n })\n .catch((error) => {\n if (error.response.status === 409) {\n notificationComposable.error(\"share.create_code_error_409\");\n } else {\n notificationComposable.error(\"share.create_code_error\");\n }\n throw error;\n });\n }\n\n function changeCodeStatus(codeId: string, isActive: boolean) {\n return axios\n .post(endpoints.CODES.ACTIVATE_DESACTIVATE, {\n codeId,\n isActive,\n updatedByUser: id,\n })\n .then((response: any) => {\n notificationComposable.success(\"share.change_status_success\");\n return response as CodeListItem;\n });\n }\n\n function duplicateCode(projectId: string, avatarId: string) {\n return axios\n .get(endpoints.CODES.COPY, {\n params: {\n projectId,\n avatarId,\n },\n })\n .then(() => {\n notificationComposable.success(\"share.duplicate_code_success\");\n });\n }\n\n function deleteCode(codeId: string) {\n return axios\n .delete(endpoints.CODES.DELETE, {\n params: {\n codeId,\n },\n })\n .then(() => {\n notificationComposable.success(\"share.delete_code_success\");\n })\n .catch(() => {\n notificationComposable.error(\"share.delete_failed\");\n });\n }\n\n function updateCodeTags(codeId: string, tags: Array) {\n return axios\n .post(endpoints.CODES.UPDATE_TAG, {\n codeId,\n tags,\n updatedByUser: id,\n })\n .then((response: any) => {\n return response as CodeUpdateTags;\n });\n }\n\n function updateCodeAvatarBackground(codeInfo: CodePut) {\n const payload = {\n ...codeInfo,\n updatedByUser: id,\n };\n return axios.post(endpoints.CODES.UPDATE_CODE, payload).then(() => {\n notificationComposable.success(\"share.update_code_success\");\n });\n }\n\n function updateQRCode(codeInfo: CodeModal, qrcodeUrl: string) {\n const code = generateUpdateCodeObject(codeInfo);\n code.qrcodeUrl = qrcodeUrl;\n return axios\n .post(endpoints.CODES.UPDATE_CODE, code)\n .then((response: any) => response[\"path\"][0] as BlobItem);\n }\n\n function getCodeDetails(codeId: string) {\n return axios\n .get(endpoints.CODES.GET_DETAILS, {\n params: {\n codeId,\n },\n })\n .then((response: any) => response as Code);\n }\n\n function GetCodesByCodeName(codeName: string) {\n return axios\n .get(endpoints.CODES.GET_BY_CODE_NAME, {\n params: {\n codeName,\n userId: id,\n },\n })\n .then((response: any) => response as Array);\n }\n\n function GetCodesByModule(moduleId: string) {\n return axios\n .get(endpoints.CODES.GET_CODES_BY_MODULE, {\n params: {\n moduleId,\n },\n })\n .then((response: any) => response as Array);\n }\n\n function GetCodesByTopic(topicId: string) {\n return axios\n .get(endpoints.CODES.GET_CODES_BY_MODULE, {\n params: {\n topicId,\n },\n })\n .then((response: any) => response as Array);\n }\n\n function generateUpdateCodeObject(codeInfo: CodeModal) {\n const codePut: CodePut = {\n codeId: codeInfo.codeId,\n newAvatarId: codeInfo.avatarId || \"\",\n isCustom: true,\n backgroundName: codeInfo.bakgroundName || \"\",\n backgroundURL: codeInfo.backgroundURL || \"\",\n projectDisplayName: codeInfo.projectDisplayName,\n qrcodeUrl: codeInfo.qrcodeUrl,\n forceVariantsOnly: codeInfo.forceVariantsOnly,\n additionalExtensionsCount: codeInfo.additionalExtensionsCount,\n // extension codes\n };\n\n return codePut;\n }\n\n function getAllCodes() {\n return axios\n .get(endpoints.CODES.LIST, {\n params: {\n clientId,\n },\n })\n .catch((error) => {\n throw error;\n })\n .then((response: any) => {\n return response[\"codes\"] as Array;\n });\n }\n\n function getCodesByProject(projectId: string): Promise> {\n return axios\n .get(endpoints.CODES.GET_CODES_BY_PROJECT, {\n params: {\n projectId,\n },\n })\n .catch((error) => {\n throw error;\n })\n .then((response: any) => {\n return response.codes as Array;\n });\n }\n\n function openCode(codeName: string) {\n let url = `${apiConfig.WEBGL_URL}/?accessCode=${codeName}`;\n if (apiConfig.INSTANCE === \"DEV\") url += \"%2BDEV\";\n const openedWindow = window.open(url, \"_blank\");\n if (openedWindow) openedWindow.focus();\n }\n\n function recordCode(codeName: string) {\n let url = `${apiConfig.WEBGL_URL}/?accessCode=${codeName}`;\n if (apiConfig.INSTANCE === \"DEV\") url += \"%2BDEV\";\n url +=\n \"&recordingMode=true&recordVideo=true&videoFrameRate=60&videoBitRate=10000000\";\n const openedWindow = window.open(url, \"_blank\");\n if (openedWindow) openedWindow.focus();\n }\n\n function shareCode(shareInfo: CodeShareModal) {\n const sharePayload: CodeShare = createCodeShareObject(shareInfo);\n\n return axios\n .post(endpoints.CODES.SHARE_CODE, sharePayload)\n .then((response: any) => {\n notificationComposable.success(\"Code shared successfully!\");\n return response as Array;\n })\n .catch(() => {\n notificationComposable.error(\"Fail to share code.\");\n });\n }\n\n function createCodeShareObject(shareInfo: CodeShareModal): CodeShare {\n const shareInfoObject: CodeShare = {\n codeId: shareInfo.codeId,\n };\n\n const shareEmail: CodeShareEmail = {\n body: shareInfo.message,\n subject: shareInfo.subject,\n includeEmbed: shareInfo.sendEmbedCode,\n includeLink: shareInfo.sendLink,\n includeQRCode: shareInfo.sendQRCode,\n logoURL: shareInfo.logo,\n recipients: shareInfo.emails,\n qrcodeUrl: shareInfo.qrcodeUrl,\n };\n\n const shareText: CodeShareText = {\n message: shareInfo.message,\n phoneNumbers: shareInfo.phoneNumbers,\n clientName,\n };\n\n if (shareInfo.emails.length) {\n shareInfoObject[\"shareEmail\"] = shareEmail;\n }\n\n if (shareInfo.phoneNumbers.length) {\n shareInfoObject[\"shareText\"] = shareText;\n }\n\n return shareInfoObject;\n }\n\n return {\n getAllCodes,\n getCodeDetails,\n GetCodesByCodeName,\n GetCodesByModule,\n GetCodesByTopic,\n getTopCodes,\n getRecentCodes,\n createCode,\n changeCodeStatus,\n duplicateCode,\n deleteCode,\n updateCodeTags,\n updateCodeAvatarBackground,\n updateQRCode,\n generateUpdateCodeObject,\n getCodesByProject,\n openCode,\n recordCode,\n shareCode,\n };\n};\n","import axios from \"axios\";\nimport { inject } from \"vue\";\nimport { CodeAnalytics } from \"@/models/code\";\nimport dayjs from \"dayjs\";\nimport { useNotification } from \"./notification\";\nimport { AnalyticsAnswers, AnalyticsUserPerDay } from \"@/models/analytics\";\n\nexport const useAnalytic = () => {\n const endpoints = inject(\"endpoints\") as EndpointsEnum;\n const notificationComposable = useNotification();\n\n const _formatDate = (date: any, addDay?: boolean): string => {\n const dateObj = dayjs(date);\n if (!dateObj.isValid() && typeof date === \"string\") {\n date = date.replace(/-/g, \"/\");\n }\n if (addDay) return dayjs(date).add(1, \"day\").utc().local().format();\n else return dayjs(date).utc().local().format();\n };\n\n async function getUsersPerDay(\n codes: Array,\n dates: Array,\n subcodes?: Array\n ) {\n return new Promise(\n (resolve: (value: AnalyticsUserPerDay) => void, reject: () => void) => {\n if (!codes.length) {\n const userPerDay: AnalyticsUserPerDay = {\n totalUsers: {},\n uniqueUsers: {},\n };\n resolve(userPerDay);\n } else {\n axios\n .post(endpoints.ANALYTICS.USERS_PER_DAY, {\n codeids: codes,\n start: _formatDate(dates[0]),\n end: _formatDate(dates[1], true),\n codesEntered: subcodes,\n })\n .catch(() => reject())\n .then((response: any) => {\n resolve(response as AnalyticsUserPerDay);\n });\n }\n }\n );\n }\n\n function getPopularStats(codes: Array, dates: Array) {\n return axios\n .post(endpoints.ANALYTICS.GET_POPULAR_STATS, {\n codeids: codes,\n start: _formatDate(dates[0]),\n end: _formatDate(dates[1], true),\n })\n .then((response: any) => {\n return response;\n });\n }\n\n function getTopModules(codes: Array, dates: Array) {\n return axios\n .post(endpoints.ANALYTICS.GET_TOP_MODULES, {\n codeids: codes,\n start: _formatDate(dates[0]),\n end: _formatDate(dates[1], true),\n })\n .then((response: any) => {\n return response;\n });\n }\n\n function getTopProjects(codes: Array, dates: Array) {\n return axios\n .post(endpoints.ANALYTICS.GET_TOP_PROJECTS, {\n codeids: codes,\n start: _formatDate(dates[0]),\n end: _formatDate(dates[1], true),\n })\n .then((response: any) => {\n return response;\n });\n }\n\n function getFeedback(codes: Array, dates: Array) {\n return axios\n .post(endpoints.ANALYTICS.GET_FEEDBACK, {\n codeids: codes,\n start: _formatDate(dates[0]),\n end: _formatDate(dates[1], true),\n })\n .then((response: any) => {\n return response;\n });\n }\n\n function getOSBreakdown(codes: Array, dates: Array) {\n return axios\n .post(endpoints.ANALYTICS.GET_OS_BREAKDOWN, {\n codeids: codes,\n start: _formatDate(dates[0]),\n end: _formatDate(dates[1], true),\n })\n .then((response: any) => {\n return response[\"breakdown\"];\n });\n }\n\n function getQuestionInfo(\n dates: Array,\n codeId: string,\n subcodes?: Array,\n codeIds?: Array\n ) {\n const payload: any = {\n start: _formatDate(dates[0]),\n end: _formatDate(dates[1], true),\n codesEntered: subcodes,\n };\n if (codeId !== \"\") payload[\"codeid\"] = codeId;\n if (codeIds !== undefined) payload[\"codeids\"] = codeIds;\n\n return axios\n .post(endpoints.ANALYTICS.GET_QUESTION_INFO, payload)\n .then((response: any) => {\n return response;\n });\n }\n\n function getPresentationInfo(\n dates: Array,\n codeId: string,\n subcodes?: Array,\n codeIds?: Array\n ) {\n const payload: any = {\n start: _formatDate(dates[0]),\n end: _formatDate(dates[1], true),\n codesEntered: subcodes,\n };\n if (codeId !== \"\") payload[\"codeid\"] = codeId;\n if (codeIds !== undefined) payload[\"codeids\"] = codeIds;\n\n return axios\n .post(endpoints.ANALYTICS.GET_PRESENTATION_INFO, payload)\n .then((response: any) => {\n return response;\n });\n }\n\n function getQuizInfo(\n dates: Array,\n codeId: string,\n subcodes?: Array\n ) {\n return axios\n .post(endpoints.ANALYTICS.GET_QUIZ_INFO, {\n codeid: codeId,\n start: _formatDate(dates[0]),\n end: _formatDate(dates[1], true),\n quizPassThreshold: 70,\n codesEntered: subcodes,\n })\n .then((response: any) => {\n return response;\n });\n }\n\n function getCodeDetails(\n codeId: string,\n dates: Array,\n subcodes?: Array\n ) {\n return axios\n .post(endpoints.ANALYTICS.GET_CODE_DETAILS, {\n codeid: codeId,\n start: _formatDate(dates[0]),\n end: _formatDate(dates[1], true),\n codesEntered: subcodes,\n })\n .then((response: any) => {\n return response;\n });\n }\n\n function getTopCodes(codesIds: Array, dates?: Array) {\n const filter = {\n end: dayjs().utc().format(\"DD-MMM-YYYY\"),\n start: dayjs().subtract(7, \"day\").utc().format(\"DD-MMM-YYYY\"),\n };\n\n if (dates) {\n filter.end = _formatDate(dates[1], true);\n filter.start = _formatDate(dates[0]);\n }\n\n return axios\n .post(endpoints.CODES.TOP_LIST, {\n codeids: codesIds,\n ...filter,\n })\n .then((response: any) => {\n return response[\"views\"] as Array;\n });\n }\n\n async function getCodes(\n codes: Array,\n dates: Array,\n type: string\n ) {\n if (type === \"AIVIO\") {\n return await getTopCodes(codes, dates);\n } else if (type === \"Module\") {\n const modules = await getTopModules(codes, dates);\n return modules[\"views\"];\n } else {\n const projects = await getTopProjects(codes, dates);\n return projects[\"projectViews\"];\n }\n }\n\n function getMultipleCodeDetails(codeIds: Array, dates: Array) {\n return axios\n .post(endpoints.ANALYTICS.GET_MULTIPLE_CODE_DETAILS, {\n codeids: codeIds,\n start: _formatDate(dates[0]),\n end: _formatDate(dates[1], true),\n })\n .then((response: any) => {\n return response.data.codeName as Array;\n });\n }\n\n function getFormInfo(sessionId: string, codeId: string, entryId: string) {\n return axios\n .post(endpoints.ANALYTICS.GET_FORM_INFO, {\n sessionID: sessionId,\n codeID: codeId,\n entryID: entryId,\n })\n .then((response: any) => {\n return response.answers as Array;\n })\n .catch((error) => {\n notificationComposable.error(\"Cannot find session with given id\");\n throw error;\n });\n }\n\n function getSessionInfo(sessionId: string, codeId: string) {\n return axios\n .post(endpoints.ANALYTICS.GET_SESSION_INFO, {\n sessionID: sessionId,\n codeID: codeId,\n })\n .then((response: any) => {\n return response;\n })\n .catch((error) => {\n notificationComposable.error(\"Cannot find session with given id\");\n throw error;\n });\n }\n\n function getExportData(codeIds: Array, dates: Array) {\n return axios\n .post(endpoints.ANALYTICS.GET_ALL_DATA, {\n codeids: codeIds,\n start: _formatDate(dates[0]),\n end: _formatDate(dates[1], true),\n })\n .then((response: any) => {\n notificationComposable.success(\"Session's data exported successfully\");\n return response;\n })\n .catch((error) => {\n notificationComposable.error(\"An error ocourred while exporting data\");\n throw error;\n });\n }\n return {\n getUsersPerDay,\n getPopularStats,\n getTopModules,\n getTopProjects,\n getFeedback,\n getOSBreakdown,\n getQuestionInfo,\n getPresentationInfo,\n getQuizInfo,\n getCodeDetails,\n getCodes,\n getMultipleCodeDetails,\n getFormInfo,\n getSessionInfo,\n getExportData,\n };\n};\n","import { inject } from \"vue\";\nimport { jsPDF } from \"jspdf\";\nimport autoTable from \"jspdf-autotable\";\nimport QRCode from \"qrcode\";\nimport _ from \"lodash\";\nimport JSZip from \"jszip\";\n\nexport const usePdf = () => {\n const apiConfig = inject(\"apiConfig\") as ApiConfigEnum;\n\n async function generatePdf(\n codeName: string,\n codeExtensions: Array,\n clientName = \"\",\n forceVariants = false\n ) {\n const zip = new JSZip();\n const QRCodes: Array = [];\n\n //Generate QRCodes\n if (codeExtensions && codeExtensions.length > 0) {\n for (let i = 0; i < codeExtensions.length; i++) {\n const codeExtension = codeExtensions[i].split(\".\")[1];\n const link = await generateQRCode(codeName, codeExtension);\n QRCodes.push(link);\n }\n\n //Show default QRCode\n if (!forceVariants) {\n const link = await generateQRCode(codeName);\n QRCodes.push(link);\n }\n } else {\n const link = await generateQRCode(codeName);\n QRCodes.push(link);\n }\n\n const pdfs = await processQRCodes(\n QRCodes,\n codeExtensions,\n clientName,\n codeName\n );\n\n await Promise.all(\n pdfs.map(async (pdf, index) => {\n zip.file(\n `${\n codeExtensions && codeExtensions.length && codeExtensions[index]\n ? codeExtensions[index]\n : codeName\n }.pdf`,\n pdf\n );\n })\n );\n\n if (pdfs.length === 1 && !codeExtensions.length) {\n // Download single pdf\n const blob = pdfs[0];\n const link = document.createElement(\"a\");\n link.href = URL.createObjectURL(blob);\n link.download = codeName;\n document.body.append(link);\n link.click();\n link.remove();\n return;\n }\n\n return zip.generateAsync({ type: \"blob\" }).then((content: any) => {\n const zipFile = new Blob([content]);\n const link = document.createElement(\"a\");\n link.href = URL.createObjectURL(zipFile);\n link.download = `${codeName}.zip`;\n link.click();\n });\n }\n\n async function processQRCodes(\n QRCodes: Array,\n codeExtensions: Array,\n clientName: string,\n codeName: string\n ) {\n const pdfPromises: Array = [];\n\n QRCodes.forEach((url, index) => {\n const codeExtension =\n codeExtensions && codeExtensions.length && codeExtensions[index]\n ? codeExtensions[index].split(\".\")[1]\n : null;\n const pdfPromise = generateDocPDF(\n url,\n codeExtension,\n clientName,\n codeName\n ).then((docPDF) => docPDF.output(\"blob\"));\n pdfPromises.push(pdfPromise);\n });\n\n const pdfs = await Promise.all(pdfPromises);\n return pdfs;\n }\n\n async function generateQRCode(\n codeName: string,\n extensionCode?: string | null\n ) {\n let param = `?accessCode=${codeName}`;\n if (extensionCode) {\n param += `.${extensionCode}`;\n }\n const link = await QRCode.toDataURL(\n `${apiConfig.WEBGL_URL}/${param}&ref=QR`\n ).then((url: string) => {\n return url;\n });\n return link;\n }\n\n async function generateDocPDF(\n qrCodeUrl: string,\n extensionCode: string | null,\n clientName: string,\n codeName: string\n ) {\n const doc = new jsPDF(\"p\", \"mm\", \"a4\");\n const pageWidth =\n doc.internal.pageSize.width || doc.internal.pageSize.getWidth();\n const center = pageWidth / 2;\n\n //Logo\n const logoImg = new Image();\n logoImg.src = require(\"@/assets/images/HIA_Topics.png\");\n doc.addImage(logoImg, \"png\", 15, 10, 100, 13);\n\n //Welcome Text\n const welcomeText =\n \"Hello! You are receiving this from \" +\n `${clientName}` +\n \". They have created content to help answer your questions and provide you with more information. You can access this content by opening the following URL on any browser, whether on a computer or mobile device:\";\n const splitWelcome = doc.splitTextToSize(welcomeText, 230);\n doc.setFontSize(12);\n doc.text(splitWelcome, 15, 40);\n\n //App Text\n const appText =\n \"In the App, you can use this code to access the content recommended for you:\";\n const splitApp = doc.splitTextToSize(appText, 230);\n doc.setFontSize(12);\n doc.text(splitApp, 15, 70);\n\n //Link\n const accessText = \"Access link:\";\n const accessApp = doc.splitTextToSize(accessText, 230);\n doc.setFontSize(12);\n doc.text(accessApp, 15, 85);\n\n const codeLink = `${apiConfig.WEBGL_URL}/?accessCode=${codeName}${\n extensionCode ? `.${extensionCode}` : \"\"\n }`;\n doc.setFontSize(9);\n doc.setTextColor(0, 0, 238);\n doc.textWithLink(codeLink, 15, 90, {\n url: codeLink,\n });\n\n //IFrame\n doc.setTextColor(0, 0, 0);\n const iFrameTitle = \"iFrame:\";\n const iFrameTitleText = doc.splitTextToSize(iFrameTitle, 230);\n doc.setFontSize(12);\n doc.text(iFrameTitleText, 15, 100);\n\n const iFrameText = `\n \n \n \n\n\n\n\n\n\n\n","import script from \"./Webgl.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./Webgl.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./Webgl.vue?vue&type=style&index=0&id=5cee6146&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, unref as _unref, createVNode as _createVNode, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, TransitionGroup as _TransitionGroup, withCtx as _withCtx, createBlock as _createBlock, vShow as _vShow, withDirectives as _withDirectives } from \"vue\"\n\nconst _hoisted_1 = { class: \"side-notifications\" }\nconst _hoisted_2 = { class: \"side-notifications__header\" }\nconst _hoisted_3 = { class: \"side-notifications__body\" }\nconst _hoisted_4 = { class: \"side-notifications__notification\" }\nconst _hoisted_5 = { class: \"side-notifications__time\" }\nconst _hoisted_6 = [\"href\"]\nconst _hoisted_7 = {\n key: 1,\n class: \"side-notifications__empty\"\n}\nconst _hoisted_8 = { class: \"side-notifications__notification\" }\nconst _hoisted_9 = { class: \"side-notifications__time\" }\nconst _hoisted_10 = [\"href\"]\n\nimport { computed, onMounted } from \"vue\";\nimport Accordion from \"../theme/Accordion.vue\";\nimport dayjs from \"dayjs\";\nimport relativeTime from \"dayjs/plugin/relativeTime\";\nimport {\n notifications,\n useLocalNotifications,\n} from \"@/composables/notificationsLocal\";\n\n\nconst __default__ = {\n name: \"side-notifications\",\n};\n\nexport default /*@__PURE__*/_defineComponent({\n ...__default__,\n setup(__props) {\n\ndayjs.extend(relativeTime);\nonMounted(() => {\n useLocalNotifications().getNotifications();\n});\n\nconst isNewNotification = (time: any) => {\n const fiveMinutesAgo = dayjs().subtract(1, \"day\");\n return dayjs(time).isAfter(fiveMinutesAgo);\n};\n\nconst newNotifications = computed(() =>\n notifications.value.filter((notification) =>\n isNewNotification(notification.time)\n )\n);\nconst olderNotifications = computed(() =>\n notifications.value.filter(\n (notification) => !isNewNotification(notification.time)\n )\n);\n\nreturn (_ctx: any,_cache: any) => {\n const _component_hia_icon = _resolveComponent(\"hia-icon\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createTextVNode(_toDisplayString(_ctx.$t(\"notification.title\")) + \" \", 1),\n _createVNode(_component_hia_icon, {\n size: \"18\",\n color: \"white\",\n name: \"close\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_unref(useLocalNotifications)().closeSideNotifications()))\n })\n ]),\n _createElementVNode(\"div\", _hoisted_3, [\n (newNotifications.value.length >= 1)\n ? (_openBlock(), _createBlock(Accordion, { key: 0 }, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"notification.today\")), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(_TransitionGroup, {\n tag: \"div\",\n appear: \"\",\n name: \"slide\"\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(newNotifications.value, (notification, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: index,\n class: _normalizeClass([\"side-notifications__content\", { leave: !notification.active }])\n }, [\n _createVNode(_component_hia_icon, {\n size: \"40\",\n name: notification.icon,\n color: \n notification.type === 'error'\n ? 'red'\n : notification.type === 'success'\n ? 'green'\n : notification.type === 'warning'\n ? 'orange'\n : 'black'\n \n }, null, 8, [\"name\", \"color\"]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.$t(notification.title)), 1),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"p\", null, _toDisplayString(_unref(dayjs)(notification.time).fromNow()), 1),\n _createElementVNode(\"p\", null, _toDisplayString(notification.type), 1)\n ])\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"side-notifications__buttons\", { noView: !notification.link }])\n }, [\n (notification.link)\n ? (_openBlock(), _createElementBlock(\"a\", {\n key: 0,\n href: notification.link\n }, \"View\", 8, _hoisted_6))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_hia_icon, {\n size: \"18\",\n name: \"delete\",\n onClick: ($event: any) => (\n _unref(useLocalNotifications)().deleteNotificationById(\n notification.id\n )\n )\n }, null, 8, [\"onClick\"])\n ], 2)\n ], 2))\n }), 128))\n ]),\n _: 1\n })\n ]),\n _: 1\n }))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_7, \"No new notifications\")),\n (olderNotifications.value.length >= 1)\n ? (_openBlock(), _createBlock(Accordion, { key: 2 }, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"notification.older\")), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(_TransitionGroup, {\n tag: \"div\",\n appear: \"\",\n name: \"slide\"\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(olderNotifications.value, (notification, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: index,\n class: _normalizeClass([\"side-notifications__content\", { leave: !notification.active }])\n }, [\n _createVNode(_component_hia_icon, {\n size: \"40\",\n name: notification.icon,\n color: \n notification.type === 'error'\n ? 'red'\n : notification.type === 'success'\n ? 'green'\n : notification.type === 'warning'\n ? 'orange'\n : 'black'\n \n }, null, 8, [\"name\", \"color\"]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.$t(notification.title)), 1),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"p\", null, _toDisplayString(_unref(dayjs)(notification.time).fromNow()), 1),\n _createElementVNode(\"p\", null, _toDisplayString(notification.type), 1)\n ])\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"side-notifications__buttons\", { noView: !notification.link }])\n }, [\n (notification.link)\n ? (_openBlock(), _createElementBlock(\"a\", {\n key: 0,\n href: notification.link\n }, \"View\", 8, _hoisted_10))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_hia_icon, {\n size: \"18\",\n name: \"delete\",\n onClick: ($event: any) => (\n _unref(useLocalNotifications)().deleteNotificationById(\n notification.id\n )\n )\n }, null, 8, [\"onClick\"])\n ], 2)\n ], 2))\n }), 128))\n ]),\n _: 1\n })\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _withDirectives(_createElementVNode(\"button\", {\n class: \"side-notifications__dismiss\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_unref(useLocalNotifications)().clearNotification()))\n }, \" Dismiss all \", 512), [\n [_vShow, _unref(notifications).length]\n ])\n ]))\n}\n}\n\n})","\n\n\n\n\n\n\n","import script from \"./SideNotifications.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./SideNotifications.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./SideNotifications.vue?vue&type=style&index=0&id=267f4328&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-267f4328\"]])\n\nexport default __exports__","var map = {\n\t\"./en/module.json\": [\n\t\t5737,\n\t\t5737\n\t],\n\t\"./es/module.json\": [\n\t\t76976,\n\t\t6976\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__.t(id, 3 | 16);\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 52521;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./en/shared.json\": [\n\t\t57980,\n\t\t7980\n\t],\n\t\"./es/shared.json\": [\n\t\t69409,\n\t\t9409\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__.t(id, 3 | 16);\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 62422;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./ChangePassword.vue\": [\n\t\t55764,\n\t\t5764\n\t],\n\t\"./Profile.vue\": [\n\t\t63196,\n\t\t3196\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 65416;\nmodule.exports = webpackAsyncContext;","const availableLangs = [\"es\", \"en\"];\n\nasync function importLang(lang: string) {\n const pages = await import(`./translations/${lang}/pages.json`);\n const shared = await import(`./translations/${lang}/shared.json`);\n const header = await import(`./translations/${lang}/header.json`);\n const module = await import(`./translations/${lang}/module.json`);\n const component = await import(`./translations/${lang}/component.json`);\n const termsOfService = await import(\n `./translations/${lang}/termsOfService.json`\n );\n\n const translations = {\n ...{ header },\n ...{ pages },\n ...{ component },\n ...{ shared },\n ...{ module },\n ...{ termsOfService },\n } as any;\n\n const obj = {} as any;\n\n for (const key in translations) {\n for (const translation in translations[key]) {\n obj[translation] = translations[key][translation];\n }\n }\n\n return obj;\n}\n\nasync function getTranlations() {\n let i = 0;\n\n const allTranslations: any = {};\n\n const loop = async () => {\n const lang = availableLangs[i];\n if (!lang) return allTranslations;\n allTranslations[lang] = await importLang(lang);\n i++;\n await loop();\n };\n await loop();\n\n return allTranslations;\n}\n\nexport default { getTranlations };\n","import lang from \"@/lang\";\nimport { useStore } from \"vuex\";\nimport { useStorage } from \"./storage\";\nimport { createI18n } from \"vue-i18n\";\nimport { useUtils } from \"./utils\";\nimport constants from \"@/static/ts/constants\";\n\nexport let i18n: any = {};\n\nexport const useTranslation = () => {\n const utilsComposable = useUtils();\n\n async function init() {\n const messages = await lang.getTranlations();\n\n i18n = createI18n({\n locale: \"en\",\n fallbackLocale: \"en\",\n messages: messages,\n });\n\n return i18n;\n }\n\n function getUserLanguage() {\n const savedLang = useStorage().get(\"language\");\n if (savedLang) return savedLang;\n\n let browserLanguage = utilsComposable.getLanguageString(\n constants.LANGUAGES.EN\n );\n\n switch (navigator.language) {\n case \"es\":\n browserLanguage = utilsComposable.getLanguageString(\n constants.LANGUAGES.ES\n );\n break;\n }\n\n return browserLanguage;\n }\n\n function setLang(lang?: string) {\n if (!lang) lang = getUserLanguage();\n if (i18n) i18n.global.locale = lang;\n useStorage().set(\"language\", lang);\n useStore().commit(\"Settings/setLang\", lang);\n }\n\n function translate() {\n return i18n.global.t;\n }\n\n return {\n init,\n i18n,\n setLang,\n translate,\n };\n};\n","import { AiTopicPineconeInstance } from \"@/models/aiTopic\";\nimport { AuthUserRoles } from \"@/models/auth\";\nimport { ModuleTextToSpeechLayerTypes } from \"@/models/module\";\nimport {\n ModuleIntakeQuestionType,\n ModuleIntakeQuestionDiagramMarkerTypes,\n} from \"@/models/moduleIntake\";\nimport { ProjectContentTypes } from \"@/models/project\";\nimport { SlidePronunciationsPhonemeTypes } from \"@/models/slide\";\nimport { Language, StateStatus } from \"@/models/utils\";\n\nexport default {\n CONTENT_TYPES: {\n QUIZ: \"Quiz\",\n QNA: \"QnA\",\n INTAKE: \"Intake\",\n SPEECH: \"Speech\",\n NAVIGATION: \"Navigation\",\n PRESENTATION: \"Presentation\",\n AI_TOPIC: \"AiTopic\",\n } as { [key: string]: ProjectContentTypes },\n STATE_STATUS: {\n UNPUBLISHED: StateStatus.Unpublished,\n UNPUBLISHED_CHANGES: StateStatus.UnpublishedChanges,\n PUBLISHED: StateStatus.Published,\n PUBLISHING: StateStatus.Publishing,\n } as { [key: string]: StateStatus },\n MIME_TYPES: {\n PNG: \"image/png\",\n CSV: \"text/csv\",\n GIF: \"image/gif\",\n JPEG: \"image/jpeg\",\n MP3: \"audio/mp3\",\n MPEG: \"audio/mpeg\",\n MP4: \"video/mp4\",\n MP4V: \"video/x-m4v\",\n MPEG2_PS: \"video/mpeg\",\n MPEG2_TS: \"video/mp2t\",\n MKV: \"video/x-matroska\",\n MOV: \"video/quicktime\",\n FLV: \"video/x-flv\",\n THREE_GP: \"video/3gpp\",\n WEBM: \"video/webm\",\n AVIX: \"video/x-msvideo\",\n AVI: \"video/avi\",\n WMV: \"video/x-ms-wmv\",\n PDF: \"application/pdf\",\n PPT: \"application/vnd.ms-powerpoint\",\n PPTX: \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\n MXF: \"application/mxf\",\n ISMV: \"video/ismv\",\n ISMA: \"audio/isma\",\n },\n SLIDE_TYPES: {\n PPT: \"ppt\",\n PPTX: \"pptx\",\n },\n MODULE_INTAKE_QUESTION: {\n TYPES: {\n TEXT_ENTRY: \"Text_Entry\",\n TWO_CHOICE: \"Two_Choice\",\n NUMBER_RANGE: \"Number_Range\",\n UPLOAD_MEDIA: \"Upload_Media\",\n MULTIPLE_CHOICE: \"Multiple_Choice\",\n DIAGRAM: \"Diagram\",\n } as { [key: string]: ModuleIntakeQuestionType },\n MARKER_TYPES: {\n MARKER_HAND: \"Marker_Hand\",\n MARKER_ARROWS: \"Marker_Arrows\",\n MARKER_FOCUS: \"Marker_Focus\",\n MARKER_TARGET: \"Marker_Target\",\n MARKER_TARGATELINE: \"Marker_TargateLine\",\n } as { [key: string]: ModuleIntakeQuestionDiagramMarkerTypes },\n },\n TEXT_TO_SPEECH_LAYERS: {\n PAUSE: \"pause\",\n PRONUNCIATION: \"pronunciation\",\n ANIMATION: \"animation\",\n MEDIA: \"media\",\n } as { [key: string]: ModuleTextToSpeechLayerTypes },\n ROLES: {\n ADMIN: \"HIA Administrator\",\n USER: \"Client User\",\n CLIENT_ADMIN: \"Client Administrator\",\n } as { [key: string]: AuthUserRoles },\n PHONEMES: {\n IPA: \"ipa\",\n SAPI: \"sapi\",\n UPS: \"ups\",\n } as { [key: string]: SlidePronunciationsPhonemeTypes },\n LANGUAGES: {\n EN: Language.en,\n ES: Language.es,\n } as { [key: string]: Language },\n PINECONE: {\n STAGING: \"Staging\",\n LIVE: \"Live\",\n } as { [key: string]: AiTopicPineconeInstance },\n ANALYTICS: {\n LOW_THRESHOLD: 50,\n HIGH_THRESHOLD: 80,\n },\n MAX_FILE_SIZE: 786432000,\n};\n","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, resolveComponent as _resolveComponent, unref as _unref, vShow as _vShow, createElementVNode as _createElementVNode, withDirectives as _withDirectives, resolveDynamicComponent as _resolveDynamicComponent, openBlock as _openBlock, createBlock as _createBlock, Transition as _Transition, withCtx as _withCtx, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"app\" }\n\nimport {\n useAuth,\n useColor,\n usePublishListener,\n useTranslation,\n} from \"@/composables\";\nimport { useRouter } from \"vue-router\";\nimport { onBeforeMount } from \"vue\";\nimport WebglVue from \"./components/projects/webgl/Webgl.vue\";\nimport { useStore } from \"vuex\";\nimport SideNotifications from \"@/components/dashboard/SideNotifications.vue\";\nimport { closeNotifications } from \"@/composables/notificationsLocal\";\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'App',\n setup(__props) {\n\nconst authComposable = useAuth();\nconst translationComposable = useTranslation();\nconst router = useRouter();\nconst store = useStore();\nauthComposable.init();\n\nlet loaded = false;\n\nrouter.beforeEach(async (to, from, next) => {\n if (!loaded) {\n try {\n translationComposable.setLang();\n await authComposable.getUserInfo();\n loaded = true;\n } catch (error) {\n loaded = true;\n }\n }\n\n const isLogged = !!store.state.Auth.token;\n const routerName = to.name as string;\n const isAuthRoute = routerName.includes(\"auth\");\n\n if (isLogged) {\n let isRouteAllowed = true;\n\n const routeRoles = to.meta.roles as Array;\n\n const isAuthVerifyRoute = [\n \"auth.reset_password\",\n \"auth.verify-user\",\n ].includes(routerName);\n\n if (routeRoles && routeRoles.length) {\n isRouteAllowed = routeRoles.includes(store.state.Auth.info.role);\n }\n\n if (!isAuthVerifyRoute && (isAuthRoute || !isRouteAllowed)) {\n next({ name: \"protected\" });\n } else {\n next();\n }\n } else {\n if (isAuthRoute) {\n next();\n } else {\n next({ name: \"auth.login\" });\n }\n }\n});\n\nonBeforeMount(() => {\n useColor().init();\n usePublishListener().init();\n});\n\nreturn (_ctx: any,_cache: any) => {\n const _component_hia_notification = _resolveComponent(\"hia-notification\")!\n const _component_hia_context_menu = _resolveComponent(\"hia-context-menu\")!\n const _component_hia_confirmation_modal = _resolveComponent(\"hia-confirmation-modal\")!\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(WebglVue),\n _createVNode(_component_hia_notification),\n _withDirectives(_createElementVNode(\"div\", null, [\n _createVNode(SideNotifications)\n ], 512), [\n [_vShow, !_unref(closeNotifications)]\n ]),\n _createVNode(_component_hia_context_menu),\n _createVNode(_component_hia_confirmation_modal),\n _createVNode(_component_router_view, null, {\n default: _withCtx(({ Component }) => [\n _createVNode(_Transition, { name: \"route-transition\" }, {\n default: _withCtx(() => [\n (_openBlock(), _createBlock(_resolveDynamicComponent(Component), { class: \"transition-all duration-300\" }))\n ]),\n _: 2\n }, 1024)\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","\n\n\n\n\n","import script from \"./App.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./App.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./App.vue?vue&type=style&index=0&id=5d092593&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineRule, validate } from \"vee-validate\";\nimport { i18n } from \"@/composables/translation\";\n\ndefineRule(\"required\", (value: any) => {\n if (!value || !value.length) {\n return i18n.global.t(\"input.errors.required\");\n }\n return true;\n});\n\ndefineRule(\"email\", (value: string) => {\n if (!value || !value.length) {\n return true;\n }\n if (\n !String(value)\n .toLowerCase()\n .match(\n /^(([^<>()[\\]\\\\.,;:\\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,}))$/\n )\n ) {\n return i18n.global.t(\"input.errors.email\");\n }\n return true;\n});\n\ndefineRule(\"confirmed\", (value: string, [target]: Array) => {\n if (value === target) {\n return true;\n }\n return i18n.global.t(\"input.errors.password_match\");\n});\n\ndefineRule(\"minLength\", (value: string, [min]: Array) => {\n if (!value || !value.length) {\n return true;\n }\n const numericValue = Number(value.length);\n if (numericValue < min) {\n return i18n.global.t(\"input.errors.min_length\", { min });\n }\n return true;\n});\n\ndefineRule(\"maxLength\", (value: string, [max]: Array) => {\n if (!value || !value.length) {\n return true;\n }\n const numericValue = Number(value.length);\n const maxLength = max ? max : 52;\n if (numericValue > maxLength) {\n return i18n.global.t(\"input.errors.max_length\", { maxLength });\n }\n return true;\n});\n\ndefineRule(\"minValue\", (value: number, [min]: Array) => {\n if (value < Number(min)) {\n return i18n.global.t(\"input.errors.min_value\", { min });\n }\n return true;\n});\n\ndefineRule(\"maxValue\", (value: number, [max]: Array) => {\n if (value > Number(max)) {\n return i18n.global.t(\"input.errors.max_value\", { max });\n }\n return true;\n});\n\ndefineRule(\"excluded\", (value: string, [items]: Array) => {\n const itemsArr = items.split(\",\");\n if (itemsArr.includes(value)) {\n return i18n.global.t(\"input.errors.excluded\");\n }\n return true;\n});\n\ndefineRule(\"number\", (value: number) => {\n if (isNaN(value)) {\n return i18n.global.t(\"input.errors.number\");\n }\n return true;\n});\n\ndefineRule(\"length\", (value: any, [length]: Array) => {\n if (value.length < length) {\n return i18n.global.t(\"input.errors.length\", { length });\n }\n return true;\n});\n\ndefineRule(\"url\", (value: string) => {\n const regex =\n /(ftp|http|https):\\/\\/(\\w+:{0,1}\\w*@)?(\\S+)(:[0-9]+)?(\\/|\\/([\\w#!:.?+=&%@!\\-/]))?/;\n return regex.test(value);\n});\n\ndefineRule(\"specialCharacter\", (value: string) => {\n const regex = /\\W|_/g;\n if (regex.test(value) === false) {\n return i18n.global.t(\"input.errors.special_character\");\n }\n return true;\n});\n\ndefineRule(\"digits\", (value: string) => {\n const regex = /\\d/g;\n if (regex.test(value) === false) {\n return i18n.global.t(\"input.errors.digits\");\n }\n return true;\n});\n\ndefineRule(\"emailOrUrl\", async (value: string) => {\n const isEmail = await validate(value, \"email\");\n const isURl = await validate(value, \"url\");\n return isEmail.valid || isURl.valid;\n});\n","export default [\n {\n name: \"btn\",\n component: \"theme/Button\",\n },\n {\n name: \"card\",\n component: \"theme/Card\",\n },\n {\n name: \"input\",\n component: \"theme/Input\",\n },\n {\n name: \"textarea\",\n component: \"theme/Textarea\",\n },\n {\n name: \"switch\",\n component: \"theme/Switch\",\n },\n {\n name: \"menu\",\n component: \"theme/Menu\",\n },\n {\n name: \"modal\",\n component: \"theme/Modal\",\n },\n {\n name: \"confirmation-modal\",\n component: \"theme/ConfirmationModal\",\n },\n {\n name: \"icon\",\n component: \"theme/IconBase\",\n },\n {\n name: \"datatable\",\n component: \"theme/Datatable\",\n },\n {\n name: \"notification\",\n component: \"theme/Notification\",\n },\n {\n name: \"select\",\n component: \"theme/Select\",\n },\n {\n name: \"progress-circular\",\n component: \"theme/ProgressCircular\",\n },\n {\n name: \"progress-linear\",\n component: \"theme/ProgressLinear\",\n },\n {\n name: \"progress-bar\",\n component: \"theme/ProgressBar\",\n },\n {\n name: \"checkbox\",\n component: \"theme/Checkbox\",\n },\n {\n name: \"header\",\n component: \"layout/Header\",\n },\n {\n name: \"sidebar\",\n component: \"layout/Sidebar\",\n },\n {\n name: \"footer\",\n component: \"layout/Footer\",\n },\n {\n name: \"content-header\",\n component: \"layout/ContentHeader\",\n },\n {\n name: \"autocomplete\",\n component: \"theme/Autocomplete\",\n },\n {\n name: \"chip\",\n component: \"theme/Chip\",\n },\n {\n name: \"list-item\",\n component: \"theme/ListItem\",\n },\n {\n name: \"tags\",\n component: \"theme/Tags\",\n },\n {\n name: \"upload\",\n component: \"theme/Upload\",\n },\n {\n name: \"radio\",\n component: \"theme/Radio\",\n },\n {\n name: \"tooltip\",\n component: \"theme/Tooltip\",\n },\n {\n name: \"hexagon-icon\",\n component: \"theme/HexagonIcon\",\n },\n {\n name: \"vertical-stepper\",\n component: \"theme/VerticalStepper\",\n },\n {\n name: \"filter\",\n component: \"theme/Filter\",\n },\n {\n name: \"context-menu\",\n component: \"theme/ContextMenu\",\n },\n {\n name: \"dropdown\",\n component: \"theme/Dropdown\",\n },\n];\n","export default {\n add: \"M21.2 10.4H13.6V2.8C13.6 2.6 13.4 2.4 13.2 2.4H10.8C10.6 2.4 10.4 2.6 10.4 2.8V10.4H2.8C2.6 10.4 2.4 10.6 2.4 10.8V13.2C2.4 13.4 2.6 13.6 2.8 13.6H10.4V21.2C10.4 21.4 10.6 21.6 10.8 21.6H13.2C13.4 21.6 13.6 21.4 13.6 21.2V13.6H21.2C21.4 13.6 21.6 13.4 21.6 13.2V10.8C21.6 10.6 21.4 10.4 21.2 10.4Z\",\n ai: \"M20.3 8.6H22.3C22.7 8.6 23 8.3 23 7.9 23 7.5 22.7 7.2 22.3 7.2H20.3V6.5C20.3 5 19 3.8 17.5 3.8H16.8V1.7C16.8 1.3 16.5 1 16.1 1 15.7 1 15.4 1.3 15.4 1.7V3.8H12.7V1.7C12.7 1.3 12.4 1 12 1 11.6 1 11.3 1.3 11.3 1.7V3.8H8.6V1.7C8.6 1.3 8.3 1 7.9 1 7.5 1 7.2 1.3 7.2 1.7V3.8H6.5C5 3.8 3.8 5 3.8 6.5V7.2H1.7C1.3 7.2 1 7.5 1 7.9 1 8.3 1.3 8.6 1.7 8.6H3.8V11.3H1.7C1.3 11.3 1 11.6 1 12 1 12.4 1.3 12.7 1.7 12.7H3.8V15.4H1.7C1.3 15.4 1 15.7 1 16.1 1 16.5 1.3 16.8 1.7 16.8H3.8V17.5C3.8 19 5 20.3 6.5 20.3H7.2V22.3C7.2 22.7 7.5 23 7.9 23 8.3 23 8.6 22.7 8.6 22.3V20.3H11.3V22.3C11.3 22.7 11.6 23 12 23 12.4 23 12.7 22.7 12.7 22.3V20.3H15.4V22.3C15.4 22.7 15.7 23 16.1 23 16.5 23 16.8 22.7 16.8 22.3V20.3H17.5C19 20.3 20.3 19 20.3 17.5V16.8H22.3C22.7 16.8 23 16.5 23 16.1 23 15.7 22.7 15.4 22.3 15.4H20.3V12.7H22.3C22.7 12.7 23 12.4 23 12 23 11.6 22.7 11.3 22.3 11.3H20.3V8.6ZM17.5 16.8C17.5 17.2 17.2 17.5 16.8 17.5H7.2C6.8 17.5 6.5 17.2 6.5 16.8V7.2C6.5 6.8 6.8 6.5 7.2 6.5H16.8C17.2 6.5 17.5 6.8 17.5 7.2V16.8ZM10.9 10 9.4 14.9H8.1L10.2 9.1H11.1L10.9 10ZM12.3 14.9 10.7 10 10.5 9.1H11.4L13.5 14.9H12.3ZM12.2 12.7V13.6H9.1V12.7H12.2ZM15.3 9.1V14.9H14.1V9.1H15.3Z\",\n back: \"M10.3 3.3C10.3 3.2 10.2 3 10.1 2.8 10 2.7 9.9 2.6 9.7 2.5 9.5 2.5 9.3 2.5 9.2 2.5 9 2.6 8.8 2.7 8.7 2.8L2.7 10.6C2.6 10.7 2.5 10.9 2.5 11.1 2.5 11.3 2.6 11.5 2.7 11.6L8.7 19.4C8.8 19.6 9 19.7 9.2 19.7 9.3 19.8 9.5 19.8 9.7 19.7 9.9 19.7 10 19.5 10.1 19.4 10.2 19.2 10.3 19.1 10.3 18.9V15.4C14.9 15.5 17.1 16.4 18.3 17.4 19.3 18.3 19.5 19.4 19.7 20.5L19.8 20.8C19.8 21 19.9 21.2 20.1 21.3 20.3 21.4 20.5 21.5 20.7 21.5 20.9 21.5 21.1 21.4 21.2 21.2 21.4 21.1 21.5 20.9 21.5 20.7 21.6 18.3 21.4 14.9 19.7 12 18.1 9.2 15.2 7 10.3 6.8V3.3Z\",\n buttonCreate:\n \"M6.95 1.9.88 12 6.95 22.1H17.49L23.14 12 17.49 1.9H6.95ZM17.9 1.21H6.56L.08 12 6.56 22.79H17.9L23.92 12 17.9 1.21ZM16.67 6.12C16.61 6.15 16.54 6.2 16.48 6.26L16.16 6.57 18.08 8.49 18.39 8.16C18.45 8.1 18.49 8.04 18.53 7.97 18.65 7.72 18.6 7.42 18.39 7.21L17.44 6.26C17.3 6.12 17.12 6.04 16.95 6.04H16.95C16.86 6.04 16.76 6.07 16.67 6.12ZM15.84 6.84 17.85 8.84 17.39 9.3 15.35 7.25 15.84 6.84V6.84ZM7.1 7.9C7.1 7.89 7.11 7.89 7.11 7.89L7.11 7.89C7.13 7.89 7.14 7.89 7.16 7.89 7.16 7.89 7.17 7.89 7.18 7.89 7.19 7.89 7.19 7.89 7.2 7.89H12.2C12.32 7.89 12.44 7.94 12.53 8.03 12.61 8.11 12.66 8.23 12.66 8.35 12.66 8.47 12.61 8.58 12.53 8.67 12.44 8.75 12.32 8.8 12.2 8.8H7.65V16.99H15.84V12.44C15.84 12.32 15.89 12.2 15.98 12.12 16.06 12.03 16.18 11.99 16.3 11.99 16.42 11.99 16.54 12.03 16.62 12.12 16.71 12.2 16.75 12.32 16.75 12.44V17.45C16.75 17.57 16.71 17.68 16.62 17.77 16.54 17.85 16.42 17.9 16.3 17.9H7.2C7.08 17.9 6.96 17.85 6.88 17.77 6.79 17.68 6.74 17.57 6.74 17.45V8.35C6.74 8.24 6.78 8.14 6.85 8.05 6.91 7.97 7 7.92 7.1 7.9ZM10.88 11.72C10.83 11.77 10.8 11.84 10.78 11.92L10.23 13.86C10.2 13.94 10.2 14.02 10.22 14.1 10.24 14.18 10.28 14.25 10.34 14.31 10.4 14.36 10.47 14.41 10.55 14.42 10.62 14.44 10.71 14.44 10.78 14.42L12.73 13.86C12.79 13.85 12.86 13.82 12.91 13.78 12.96 13.73 13 13.68 13.03 13.62L17.07 9.63 15.08 7.58 10.97 11.65 10.88 11.72ZM15.05 8.57 11.9 11.69 12.85 11.76 12.92 12.77 16.1 9.62 15.05 8.57ZM11.58 12.36V12.36L11.38 13.02 11.62 13.27 12.25 13.08 12.2 12.4 11.58 12.36Z\",\n buttonShare:\n \"M6.95 1.9.88 12 6.95 22.1H17.49L23.14 12 17.49 1.9H6.95ZM17.9 1.21H6.56L.08 12 6.56 22.79H17.9L23.92 12 17.9 1.21ZM13.79 16.71V17.7H8.86C8.32 17.7 7.88 17.25 7.88 16.71V8.82H8.86V16.71H13.79ZM10.83 14.74H14.78V14.25H10.83V14.74ZM10.83 8.33H14.78V7.84H10.83V8.33ZM10.83 6.85H14.78C15.32 6.85 15.76 7.3 15.76 7.84V14.74C15.76 15.28 15.32 15.72 14.78 15.72H10.83C10.29 15.72 9.85 15.28 9.85 14.74V7.84C9.85 7.3 10.29 6.85 10.83 6.85ZM14.78 13.26V9.32H10.83V13.26H14.78ZM12.87 10.67 12.53 10.33 13.05 9.81 14.28 11.04 13.05 12.27 12.53 11.75 12.87 11.41H12.06V12.27H11.33V11.17C11.33 11.09 11.34 11.01 11.38 10.94 11.43 10.85 11.5 10.77 11.6 10.73 11.66 10.69 11.74 10.67 11.82 10.67H12.87Z\",\n buttonTrack:\n \"M6.95 1.9.88 12 6.95 22.1H17.49L23.14 12 17.49 1.9H6.95ZM17.9 1.21H6.56L.08 12 6.56 22.79H17.9L23.92 12 17.9 1.21ZM11.6 13.44H9.6C9.48 13.44 9.38 13.53 9.38 13.65V16.76C9.38 16.88 9.48 16.97 9.6 16.97H11.6C11.72 16.97 11.81 16.88 11.81 16.76V13.65C11.81 13.53 11.72 13.44 11.6 13.44ZM14.72 7.02H12.72C12.6 7.02 12.5 7.11 12.5 7.23V16.76C12.5 16.88 12.6 16.97 12.72 16.97H14.72C14.84 16.97 14.93 16.88 14.93 16.76V7.23C14.93 7.11 14.84 7.02 14.72 7.02ZM17.86 9.91H15.86C15.74 9.91 15.64 10.01 15.64 10.13V16.76C15.64 16.88 15.74 16.97 15.86 16.97H17.86C17.98 16.97 18.07 16.88 18.07 16.76V10.13C18.07 10.01 17.98 9.91 17.86 9.91ZM8.46 9.91H6.46C6.34 9.91 6.24 10.01 6.24 10.13V16.76C6.24 16.88 6.34 16.97 6.46 16.97H8.46C8.58 16.97 8.67 16.88 8.67 16.76V10.13C8.67 10.01 8.58 9.91 8.46 9.91Z\",\n calendar:\n \"M6 2.9C6.6 2.9 7.1 3.4 7.1 4V4.6H8.9V4C8.9 3.4 9.4 2.9 10 2.9 10.6 2.9 11.1 3.4 11.1 4V4.6H12.9V4C12.9 3.4 13.4 2.9 14 2.9 14.6 2.9 15.1 3.4 15.1 4V4.6H16.9V4C16.9 3.4 17.4 2.9 18 2.9 18.6 2.9 19.1 3.4 19.1 4V4.6H21.3C21.9 4.6 22.4 5.1 22.4 5.7V20C22.4 20.6 21.9 21.1 21.3 21.1H2.7C2.1 21.1 1.6 20.6 1.6 20V5.7C1.6 5.1 2.1 4.6 2.7 4.6H4.9V4C4.9 3.4 5.4 2.9 6 2.9ZM4.9 6.9H3.8V10H20.2V6.9H19.1V7.5C19.1 8.1 18.6 8.6 18 8.6 17.4 8.6 16.9 8.1 16.9 7.5V6.9H15.1V7.5C15.1 8.1 14.6 8.6 14 8.6 13.4 8.6 12.9 8.1 12.9 7.5V6.9H11.1V7.5C11.1 8.1 10.6 8.6 10 8.6 9.4 8.6 8.9 8.1 8.9 7.5V6.9H7.1V7.5C7.1 8.1 6.6 8.6 6 8.6 5.4 8.6 4.9 8.1 4.9 7.5V6.9ZM20.2 12.2H3.8V18.9H20.2V12.2Z\",\n category:\n \"M19.3 5.2V18.8H4.7V5.2H19.3ZM20.4 3.2H3.6C3.1 3.2 2.6 3.6 2.6 4.1V19.9C2.6 20.3 3.1 20.8 3.6 20.8H20.4C20.8 20.8 21.4 20.3 21.4 19.9V4.1C21.4 3.6 20.8 3.2 20.4 3.2ZM11 7.1H17.2V9.1H11V7.1ZM11 11H17.2V13H11V11ZM11 14.9H17.2V16.9H11V14.9ZM6.8 7.1H8.9V9.1H6.8V7.1ZM6.8 11H8.9V13H6.8V11ZM6.8 14.9H8.9V16.9H6.8V14.9Z\",\n chevronLeft:\n \"M16.5 1.5C16.8 1.7 16.8 2.1 16.6 2.4L8.7 12 16.6 21.6C16.8 21.9 16.8 22.3 16.5 22.5 16.2 22.8 15.8 22.7 15.6 22.4L7.4 12.4C7.2 12.2 7.2 11.8 7.4 11.6L15.6 1.6C15.8 1.3 16.2 1.2 16.5 1.5Z\",\n chevronRight:\n \"M7.5 1.5C7.8 1.2 8.2 1.3 8.4 1.6L16.6 11.6C16.8 11.8 16.8 12.2 16.6 12.4L8.4 22.4C8.2 22.7 7.8 22.8 7.5 22.5 7.2 22.3 7.2 21.9 7.4 21.6L15.3 12 7.4 2.4C7.2 2.1 7.2 1.7 7.5 1.5Z\",\n close:\n \"M22 3.8 20.3 2 12 10.3 3.8 2 2 3.8 10.3 12 2 20.3 3.8 22 12 13.8 20.3 22 22 20.3 13.8 12 22 3.8Z\",\n copy: \"M21.4 6C21.7 6 22 6.1 22.2 6.3 22.4 6.5 22.5 6.8 22.5 7.1V21.4C22.5 21.7 22.4 22 22.2 22.2 22 22.4 21.7 22.5 21.4 22.5H10.1C9.8 22.5 9.5 22.4 9.3 22.2 9.1 22 9 21.7 9 21.4V18H2.6C2.3 18 2 17.9 1.8 17.7 1.6 17.5 1.5 17.2 1.5 16.9V9C1.5 8.7 1.6 8.3 1.7 8 1.9 7.6 2.1 7.3 2.3 7.1L7.1 2.3C7.3 2.1 7.6 1.9 8 1.7 8.3 1.6 8.7 1.5 9 1.5H13.9C14.2 1.5 14.5 1.6 14.7 1.8 14.9 2 15 2.3 15 2.6V6.5C15.5 6.2 16 6 16.5 6H21.4ZM15 8.5 11.5 12H15V8.5ZM7.5 4 4 7.5H7.5V4ZM9.8 11.6 13.5 7.9V3H9V7.9C9 8.2 8.9 8.5 8.7 8.7 8.5 8.9 8.2 9 7.9 9H3V16.5H9V13.5C9 13.2 9.1 12.8 9.2 12.5 9.4 12.1 9.6 11.8 9.8 11.6ZM21 21V7.5H16.5V12.4C16.5 12.7 16.4 13 16.2 13.2 16 13.4 15.7 13.5 15.4 13.5H10.5V21H21Z\",\n create:\n \"m19.416 1.976c-.289 0-.563.13-.794.361l-.552.529 3.245 3.244.529-.552a1.11 1.11 0 0 0 0-1.61l-1.611-1.613c-.23-.23-.53-.36-.818-.36h.001zm-1.875 1.346-.842.698 3.462 3.462.769-.77-3.39-3.39zm-1.299 1.25-6.946 6.877a.749.749 0 0 0-.097.096l-.048.024a.75.75 0 0 0-.168.337l-.938 3.293a.75.75 0 0 0 .938.938l3.293-.938a.75.75 0 0 0 .505-.409l6.827-6.755-1.298-1.395v.073l-.914-.914h.072l-1.225-1.226zm-13.46.529a.77.77 0 0 0-.626.77v15.384a.77.77 0 0 0 .77.77h15.384a.77.77 0 0 0 .77-.77v-8.46a.77.77 0 0 0-1.54 0v7.692h-13.845v-13.847h7.693a.77.77 0 1 0 0-1.538h-8.463a.772.772 0 0 0-.072 0 .772.772 0 0 0-.072 0zm7.548 7.548 1.058.072 .072 1.154-1.058.312-.408-.408.336-1.13zm0 .001 1.058.071 .072 1.154-1.058.313-.408-.408.336-1.131v.001z\",\n delete:\n \"M15.6 4.3 15.7 4.5H15.9 21.9C21.9 4.5 21.9 4.5 21.9 4.5 22.1 4.5 22.3 4.6 22.5 4.7 22.6 4.9 22.7 5 22.7 5.2 22.8 5.4 22.7 5.6 22.6 5.7 22.4 5.9 22.3 6 22.1 6L21.9 6H21.1 20.9L20.9 6.2 19.1 20.6C19.1 20.6 19.1 20.6 19.1 20.6 19 21.2 18.7 21.8 18.2 22.1 17.7 22.5 17.1 22.8 16.5 22.8H16.5 7.5 7.5C6.9 22.8 6.3 22.5 5.8 22.1 5.3 21.8 5 21.2 4.9 20.6 4.9 20.6 4.9 20.6 4.9 20.6L3.1 6.2 3.1 6H2.9 2.1C2.1 6 2.1 6 2.1 6 1.9 6 1.7 5.9 1.5 5.8L1.4 6 1.5 5.8C1.4 5.7 1.3 5.5 1.3 5.4L1.3 5.3C1.3 5.1 1.3 4.9 1.4 4.8 1.6 4.7 1.7 4.6 1.9 4.5L2.1 4.5H8.1 8.3L8.4 4.3C8.4 3.5 8.9 2.7 9.5 2.1 10.2 1.6 11.1 1.2 12 1.3H12C12.9 1.2 13.8 1.6 14.5 2.1 15.1 2.7 15.6 3.5 15.6 4.3ZM8.9 9.6 8.9 9.6 8.9 9.7 8.9 9.8 8.9 9.8V9.8 17.8 17.8L8.9 17.9 8.9 18 8.9 18 8.9 18C9 18.4 9.4 18.7 9.9 18.7 10.3 18.7 10.7 18.4 10.8 18L10.8 18 10.8 18 10.8 17.9 10.8 17.8V17.8 9.8 9.8L10.8 9.8 10.8 9.7 10.8 9.6 10.8 9.6C10.7 9.2 10.3 9 9.9 9 9.4 9 9 9.2 8.9 9.6ZM14.4 9V9H14.1C13.7 9 13.3 9.2 13.2 9.6L13.2 9.6 13.2 9.7 13.2 9.8 13.2 9.8V9.8 17.8 17.8L13.2 17.9 13.2 18 13.2 18 13.2 18C13.3 18.4 13.7 18.7 14.1 18.7 14.6 18.7 15 18.4 15.1 18L15.1 18 15.1 18 15.1 17.9 15.1 17.8V17.8 9.8 9.8L15.1 9.8 15.1 9.7 15.1 9.6 15.1 9.6C15 9.3 14.7 9.1 14.4 9ZM10 4.2 10 4.5H10.3 13.7 14.1L14 4.2C13.8 3.4 13 2.7 12 2.7 11 2.7 10.2 3.4 10 4.2Z\",\n dropdown:\n \"M21.8 5.2C22.3 5.6 22.4 6.3 22 6.8L13 18.4C12.8 18.7 12.5 18.8 12.1 18.8 11.7 18.8 11.4 18.7 11.2 18.4L2 7C1.6 6.5 1.6 5.7 2.2 5.3 2.7 4.9 3.4 5 3.8 5.5L12.1 15.7 20.1 5.4C20.5 4.8 21.3 4.8 21.8 5.2Z\",\n edit: \"M18.1 1.1C18.4.8 18.8.8 19.1 1.1L22.9 4.9C23.2 5.2 23.2 5.6 22.9 5.9L19.8 9 7.6 21.2C7.5 21.3 7.4 21.3 7.3 21.4L2 22.9C1.7 23 1.5 22.9 1.3 22.7 1.1 22.5 1 22.3 1.1 22L2.6 16.7C2.7 16.6 2.7 16.5 2.8 16.4L18.1 1.1ZM3.6 18.2 5.8 20.4 2.8 21.2 3.6 18.2ZM7.1 19.7 4.3 16.9 15.5 5.6 18.4 8.5 7.1 19.7ZM19.3 7.5 16.5 4.7 18.6 2.6 21.4 5.4 19.3 7.5Z\",\n expand:\n \"M22 3.3C22 2.9 21.9 2.6 21.6 2.4 21.4 2.1 21.1 2 20.8 2H14.5C14.2 2 13.9 2.1 13.6 2.4 13.4 2.6 13.3 2.9 13.3 3.3 13.3 3.6 13.4 3.9 13.6 4.1 13.9 4.4 14.2 4.5 14.5 4.5H17.7L13.6 8.6C13.5 8.7 13.4 8.9 13.3 9 13.3 9.2 13.2 9.3 13.2 9.5 13.2 9.7 13.3 9.8 13.3 10 13.4 10.1 13.5 10.3 13.6 10.4 13.7 10.5 13.9 10.6 14 10.7 14.2 10.7 14.3 10.8 14.5 10.8 14.7 10.8 14.8 10.7 15 10.7 15.1 10.6 15.3 10.5 15.4 10.4L19.5 6.3V9.5C19.5 9.8 19.6 10.1 19.9 10.4 20.1 10.6 20.4 10.8 20.8 10.8 21.1 10.8 21.4 10.6 21.6 10.4 21.9 10.1 22 9.8 22 9.5V3.3ZM10.4 13.6C10.3 13.5 10.1 13.4 10 13.3 9.8 13.3 9.7 13.2 9.5 13.2 9.3 13.2 9.2 13.3 9 13.3 8.9 13.4 8.7 13.5 8.6 13.6L4.5 17.7V14.5C4.5 14.2 4.4 13.9 4.1 13.6 3.9 13.4 3.6 13.3 3.3 13.3 2.9 13.3 2.6 13.4 2.4 13.6 2.1 13.9 2 14.2 2 14.5V20.8C2 21.1 2.1 21.4 2.4 21.6 2.6 21.9 2.9 22 3.3 22H9.5C9.8 22 10.1 21.9 10.4 21.6 10.6 21.4 10.8 21.1 10.8 20.8 10.8 20.4 10.6 20.1 10.4 19.9 10.1 19.6 9.8 19.5 9.5 19.5H6.3L10.4 15.4C10.5 15.3 10.6 15.1 10.7 15 10.7 14.8 10.8 14.7 10.8 14.5 10.8 14.3 10.7 14.2 10.7 14 10.6 13.9 10.5 13.7 10.4 13.6Z\",\n expandRow: \"M10.5 4.7.5 .3 20.5.3 10.5 4.7Z\",\n flowChart:\n \"M7.4 12.4H16.6V14.2H17.5V11.6H12.4V9.8H11.6V11.6H6.5V14.2H7.4V12.4ZM9.8 14.8H4.2C3.9 14.8 3.6 14.9 3.4 15.1 3.2 15.3 3 15.6 3 15.9V19.3C3 19.6 3.2 19.9 3.4 20.1 3.6 20.3 3.9 20.4 4.2 20.4H9.8C10.1 20.4 10.3 20.3 10.6 20.1 10.8 19.9 10.9 19.6 10.9 19.3V15.9C10.9 15.6 10.8 15.3 10.6 15.1 10.3 14.9 10.1 14.8 9.8 14.8ZM4.2 19.3V15.9H9.8V19.3H4.2ZM19.8 14.8H14.2C13.9 14.8 13.7 14.9 13.4 15.1 13.2 15.3 13.1 15.6 13.1 15.9V19.3C13.1 19.6 13.2 19.9 13.4 20.1 13.7 20.3 13.9 20.4 14.2 20.4H19.8C20.1 20.4 20.4 20.3 20.6 20.1 20.8 19.9 21 19.6 21 19.3V15.9C21 15.6 20.8 15.3 20.6 15.1 20.4 14.9 20.1 14.8 19.8 14.8ZM14.2 19.3V15.9H19.8V19.3H14.2ZM9.2 9.2H14.8C15.1 9.2 15.4 9.1 15.6 8.9 15.8 8.7 15.9 8.4 15.9 8.1V4.7C15.9 4.4 15.8 4.1 15.6 3.9 15.4 3.7 15.1 3.6 14.8 3.6H9.2C8.9 3.6 8.6 3.7 8.4 3.9 8.2 4.1 8.1 4.4 8.1 4.7V8.1C8.1 8.4 8.2 8.7 8.4 8.9 8.6 9.1 8.9 9.2 9.2 9.2ZM9.2 4.7H14.8V8.1H9.2V4.7Z\",\n handle:\n \"M8.5 6.9C8.7 6.9 9 6.9 9.2 6.8 9.5 6.7 9.7 6.5 9.9 6.4A2 2 0 0 0 10.3 5.7 2 2 0 0 0 10.5 5C10.5 4.7 10.4 4.4 10.3 4.2A2 2 0 0 0 9.9 3.6 2 2 0 0 0 9.2 3.1 2 2 0 0 0 8.5 3C8 3 7.5 3.2 7.1 3.6 6.7 3.9 6.5 4.4 6.5 5 6.5 5.5 6.7 6 7.1 6.4 7.5 6.7 8 6.9 8.5 6.9ZM15.5 6.9C15.8 6.9 16 6.9 16.3 6.8A2 2 0 0 0 16.9 6.4C17.1 6.2 17.2 6 17.3 5.7A2 2 0 0 0 17.5 5C17.5 4.7 17.4 4.4 17.3 4.2 17.2 4 17.1 3.7 16.9 3.6A2 2 0 0 0 16.3 3.1 2 2 0 0 0 15.5 3C15 3 14.5 3.2 14.1 3.6 13.7 3.9 13.5 4.4 13.5 5 13.5 5.5 13.7 6 14.1 6.4 14.5 6.7 15 6.9 15.5 6.9ZM17.5 12C17.5 12.5 17.3 13 16.9 13.4 16.5 13.8 16 14 15.5 14 15 14 14.5 13.8 14.1 13.4 13.7 13 13.5 12.5 13.5 12 13.5 11.5 13.7 11 14.1 10.6 14.5 10.2 15 10 15.5 10 16 10 16.5 10.2 16.9 10.6 17.3 11 17.5 11.5 17.5 12ZM8.5 14C9 14 9.5 13.8 9.9 13.4 10.3 13 10.5 12.5 10.5 12 10.5 11.5 10.3 11 9.9 10.6 9.5 10.2 9 10 8.5 10 8 10 7.5 10.2 7.1 10.6 6.7 11 6.5 11.5 6.5 12 6.5 12.5 6.7 13 7.1 13.4 7.5 13.8 8 14 8.5 14ZM17.5 19C17.5 19.6 17.3 20.1 16.9 20.4 16.5 20.8 16 21 15.5 21 15 21 14.5 20.8 14.1 20.4 13.7 20.1 13.5 19.6 13.5 19 13.5 18.5 13.7 18 14.1 17.6 14.5 17.3 15 17.1 15.5 17.1 16 17.1 16.5 17.3 16.9 17.6 17.3 18 17.5 18.5 17.5 19ZM8.5 21C9 21 9.5 20.8 9.9 20.4 10.3 20.1 10.5 19.6 10.5 19 10.5 18.5 10.3 18 9.9 17.6 9.5 17.3 9 17.1 8.5 17.1 8 17.1 7.5 17.3 7.1 17.6 6.7 18 6.5 18.5 6.5 19 6.5 19.6 6.7 20.1 7.1 20.4 7.5 20.8 8 21 8.5 21Z\",\n help: \"M12 .8C13.5.8 14.9 1.1 16.3 1.7 17.6 2.2 18.9 3 19.9 4.1 21 5.1 21.8 6.4 22.3 7.7 22.9 9.1 23.2 10.5 23.2 12 23.2 13.5 22.9 14.9 22.3 16.3 21.8 17.6 21 18.9 19.9 19.9 18.9 21 17.6 21.8 16.3 22.3 14.9 22.9 13.5 23.2 12 23.2 10.5 23.2 9.1 22.9 7.7 22.3 6.4 21.8 5.1 21 4.1 19.9 3 18.9 2.2 17.6 1.7 16.3 1.1 14.9.8 13.5.8 12 .8 10.5 1.1 9.1 1.7 7.7 2.2 6.4 3 5.1 4.1 4.1 5.1 3 6.4 2.2 7.7 1.7 9.1 1.1 10.5.8 12 .8ZM12 .8C12 .8 12 .8 12 .8L12 2 12 .8C12 .8 12 .8 12 .8ZM.8 12C.8 12 .8 12 .8 12L2 12 .8 12C.8 12 .8 12 .8 12ZM12 23.2C12 23.2 12 23.2 12 23.2L12 22 12 23.2C12 23.2 12 23.2 12 23.2ZM23.2 12C23.2 12 23.2 12 23.2 12L22 12 23.2 12C23.2 12 23.2 12 23.2 12ZM15.4 3.9C14.3 3.4 13.2 3.2 12 3.2L12 3.2C10.8 3.2 9.7 3.4 8.6 3.9 7.6 4.3 6.6 5 5.8 5.8L5.8 5.8C5 6.6 4.3 7.6 3.9 8.6 3.4 9.7 3.2 10.8 3.2 12L3.2 12C3.2 13.2 3.4 14.3 3.9 15.4 4.3 16.4 5 17.4 5.8 18.2L5.8 18.2C6.6 19 7.6 19.7 8.6 20.1 9.7 20.6 10.8 20.8 12 20.8H12C13.2 20.8 14.3 20.6 15.4 20.1 16.4 19.7 17.4 19 18.2 18.2L18.2 18.2C19 17.4 19.7 16.4 20.1 15.4 20.6 14.3 20.8 13.2 20.8 12V12C20.8 10.8 20.6 9.7 20.1 8.6 19.7 7.6 19 6.6 18.2 5.8L18.2 5.8C17.4 5 16.4 4.3 15.4 3.9ZM10.4 5.4C11.2 5.1 12 5 12.8 5.2 13.6 5.4 14.4 5.8 15 6.3 15.6 6.9 16 7.7 16.1 8.5 16.3 9.3 16.2 10.2 15.9 10.9 15.6 11.7 15 12.3 14.3 12.8 14 13 13.6 13.2 13.2 13.3V14.3C13.2 15 12.7 15.5 12 15.5 11.3 15.5 10.8 15 10.8 14.3L10.8 12.3C10.8 11.6 11.3 11.1 12 11.1 12.4 11.1 12.7 11 13 10.8 13.3 10.6 13.5 10.3 13.7 10 13.8 9.7 13.8 9.3 13.8 9 13.7 8.6 13.5 8.3 13.3 8 13 7.8 12.7 7.6 12.4 7.5 12 7.5 11.6 7.5 11.3 7.6 11 7.8 10.7 8 10.5 8.3 10.3 8.6 10.2 9 10.2 9.3 10.2 10 9.7 10.5 9 10.5 8.3 10.5 7.8 10 7.8 9.3 7.8 8.5 8 7.7 8.5 7 9 6.3 9.6 5.8 10.4 5.4ZM12 18.8C12.3 18.8 12.6 18.7 12.9 18.4 13.1 18.2 13.3 17.9 13.3 17.6 13.3 17.2 13.1 16.9 12.9 16.7 12.6 16.4 12.3 16.3 12 16.3 11.7 16.3 11.4 16.4 11.1 16.7 10.9 16.9 10.8 17.2 10.8 17.6 10.8 17.9 10.9 18.2 11.1 18.4 11.4 18.7 11.7 18.8 12 18.8V18.8Z\",\n home: \"M22.4 13.2H20.4V20.4C20.4 20.9 20.2 21.6 19.2 21.6H14.4V14.4H9.6V21.6H4.8C3.8 21.6 3.6 20.9 3.6 20.4V13.2H1.6C.9 13.2 1 12.8 1.5 12.3L11.2 2.7C11.4 2.4 11.7 2.3 12 2.3 12.3 2.3 12.6 2.4 12.8 2.7L22.5 12.3C23 12.8 23.1 13.2 22.4 13.2Z\",\n intake:\n \"M3.6 5.4H3.5V5.5 9.1H1.8V5.5C1.8 4.5 2.6 3.7 3.6 3.7H20.4C20.9 3.7 21.3 3.9 21.7 4.2 22 4.6 22.2 5 22.2 5.5V18.5C22.2 19.5 21.4 20.3 20.4 20.3H3.6C2.6 20.3 1.8 19.5 1.8 18.5V14.9H3.5V18.6 18.6H3.6 20.4 20.5V18.6 5.5 5.4H20.4 3.6ZM11.1 11.2H11.2V11.1 8.5L14.7 12 11.2 15.5V12.9 12.8H11.1 1.8V11.2H11.1Z\",\n lock: \"M18 8H17V6C17 3 15 1 12 1 9 1 7 3 7 6H9C9 4 10 3 12 3 14 3 15 4 15 6V8H6C5 8 4 9 4 10V21C4 22 5 23 6 23H18C19 23 20 22 20 21V10C20 9 19 8 18 8ZM18 21H6V10H18V21ZM12 18C13 18 14 17 14 16 14 15 13 14 12 14 11 14 10 15 10 16 10 17 11 18 12 18Z\",\n mail: \"M20 20H4C3.5 20 3 19.8 2.6 19.4 2.2 19 2 18.5 2 18V5.9C2 5.4 2.2 4.9 2.6 4.6 3 4.2 3.5 4 4 4H20C20.5 4 21 4.2 21.4 4.6 21.8 5 22 5.5 22 6V18C22 18.5 21.8 19 21.4 19.4 21 19.8 20.5 20 20 20ZM4 7.9V18H20V7.9L12 13.2 4 7.9ZM4.8 6 12 10.8 19.2 6H4.8Z\",\n mailClip:\n \"M4.3 6.7 4.1 6.6V6.8 15.5 15.6H4.2 12.7V17H4.2C3.3 17 2.6 16.3 2.6 15.5L2.6 5.1V5.1C2.6 4.2 3.3 3.5 4.2 3.5H18.1C18.9 3.5 19.6 4.2 19.6 5.1V9.3H18.2V6.8 6.6L18 6.7 11.1 11 4.3 6.7ZM18.1 5.2 18.6 4.9H18.1 4.2 3.7L4.1 5.2 11.1 9.5 11.1 9.6 11.2 9.5 18.1 5.2ZM19.9 17.2V13.9H21.4V17.2C21.4 19 19.9 20.5 18.1 20.5 16.2 20.5 14.7 19 14.7 17.2V13.3C14.7 12.8 15 12.2 15.3 11.9 15.7 11.5 16.2 11.3 16.8 11.3 17.3 11.3 17.8 11.5 18.2 11.9 18.6 12.2 18.8 12.8 18.8 13.3V17H17.3V13.3C17.3 13 17.1 12.7 16.8 12.7 16.4 12.7 16.2 13 16.2 13.3V17.2C16.2 18.2 17 19.1 18.1 19.1 19.1 19.1 19.9 18.2 19.9 17.2Z\",\n message:\n \"M3.7 19.9 7.2 16.4H18.4C18.9 16.4 19.4 16.2 19.8 15.8 20.1 15.5 20.3 15 20.3 14.5V5.6C20.3 5.1 20.1 4.6 19.8 4.2 19.4 3.9 18.9 3.7 18.4 3.7H5.6C5.1 3.7 4.6 3.9 4.2 4.2 3.9 4.6 3.7 5.1 3.7 5.6V19.9ZM3.7 21.3H2.7V5.6C2.7 4.8 3 4.1 3.5 3.5 4.1 3 4.8 2.7 5.6 2.7H18.4C19.2 2.7 19.9 3 20.5 3.5 21 4.1 21.3 4.8 21.3 5.6V14.5C21.3 15.2 21 16 20.5 16.5 19.9 17.1 19.2 17.4 18.4 17.4H7.6L3.7 21.3ZM6.6 6.6H17.4V7.6H6.6V6.6ZM6.6 9.5H17.4V10.5H6.6V9.5ZM6.6 12.5H14.5V13.5H6.6V12.5Z\",\n navigation: \"M2.8 11.5 21.2 2.8 12.5 21.2 10.6 13.4 2.8 11.5Z\",\n next: \"M12 23C14.9 23 17.7 21.8 19.8 19.8 21.8 17.7 23 14.9 23 12 23 9.1 21.8 6.3 19.8 4.2 17.7 2.2 14.9 1 12 1 9.1 1 6.3 2.2 4.2 4.2 2.2 6.3 1 9.1 1 12 1 14.9 2.2 17.7 4.2 19.8 6.3 21.8 9.1 23 12 23ZM7.2 12.7C7 12.7 6.8 12.6 6.7 12.5 6.6 12.4 6.5 12.2 6.5 12 6.5 11.8 6.6 11.6 6.7 11.5 6.8 11.4 7 11.3 7.2 11.3H15.2L12.2 8.4C12.1 8.2 12 8.1 12 7.9 12 7.7 12.1 7.5 12.2 7.4 12.3 7.3 12.5 7.2 12.7 7.2 12.9 7.2 13 7.3 13.2 7.4L17.3 11.5C17.4 11.6 17.4 11.7 17.4 11.7 17.5 11.8 17.5 11.9 17.5 12 17.5 12.1 17.5 12.2 17.4 12.3 17.4 12.3 17.4 12.4 17.3 12.5L13.2 16.6C13 16.7 12.9 16.8 12.7 16.8 12.5 16.8 12.3 16.7 12.2 16.6 12.1 16.5 12 16.3 12 16.1 12 15.9 12.1 15.8 12.2 15.6L15.2 12.7H7.2Z\",\n pause: \"M8.1 6H11V18H8.1V6ZM13 6H15.9V18H13V6Z\",\n personVideo:\n \"M10.7 21.6H21.6C21.6 21.6 23 21.6 23 20.3 23 19.9 22.9 19.4 22.7 18.8 22.5 18.5 22.3 18.1 22.1 17.6 21.8 17.3 21.5 16.9 21.2 16.6 20.9 16.3 20.6 16.1 20.2 15.9 19.6 15.5 18.9 15.2 18.1 15.1 17.5 15 16.9 14.9 16.2 14.9 15.5 14.9 14.9 15 14.3 15.1 13.3 15.3 12.5 15.6 11.8 16.1 11 16.7 10.4 17.4 10 18.1 9.8 18.5 9.7 18.9 9.5 19.3 9.4 19.7 9.4 20 9.4 20.3 9.4 20.3 9.4 20.3 9.4 20.3 9.4 21.6 10.7 21.6 10.7 21.6ZM23 5.1C23 4.4 22.7 3.7 22.2 3.2 21.7 2.7 21 2.4 20.3 2.4H3.8C3 2.4 2.3 2.7 1.8 3.2 1.3 3.7 1 4.4 1 5.1V16.1C1 16.9 1.3 17.6 1.8 18.1 2.3 18.6 3 18.9 3.8 18.9H8.5C8.7 18.4 8.9 18 9.2 17.5H3.8C3.4 17.5 3 17.4 2.8 17.1 2.5 16.8 2.4 16.5 2.4 16.1V5.1C2.4 4.8 2.5 4.4 2.8 4.2 3 3.9 3.4 3.8 3.8 3.8H20.3C20.6 3.8 21 3.9 21.2 4.2 21.5 4.4 21.6 4.8 21.6 5.1V15.9C21.8 15.9 21.9 16 22 16.1 22.3 16.4 22.6 16.7 22.9 16.9 22.9 16.8 23 16.7 23 16.5 23 16.4 23 16.3 23 16.1V5.1ZM17.9 13.6C18.1 13.5 18.4 13.3 18.6 13.1 19.2 12.4 19.6 11.6 19.6 10.7 19.6 9.8 19.2 8.9 18.6 8.3 18 7.7 17.1 7.3 16.2 7.3 15.3 7.3 14.4 7.7 13.8 8.3 13.1 8.9 12.8 9.8 12.8 10.7 12.8 11.6 13.1 12.4 13.8 13.1 14 13.3 14.3 13.5 14.5 13.6 15 13.9 15.6 14 16.2 14 16.8 14 17.4 13.9 17.9 13.6ZM21.6 20.2C21.6 19.9 21.3 18.9 20.6 18 19.8 17.1 18.5 16.3 16.2 16.3 13.9 16.3 12.5 17.1 11.8 18 11 18.9 10.8 19.9 10.8 20.2H21.6ZM17.6 12.1C18 11.7 18.2 11.2 18.2 10.7 18.2 10.2 18 9.7 17.6 9.3 17.2 8.9 16.7 8.7 16.2 8.7 15.7 8.7 15.1 8.9 14.8 9.3 14.4 9.7 14.2 10.2 14.2 10.7 14.2 11.2 14.4 11.7 14.8 12.1 15.1 12.4 15.7 12.6 16.2 12.6 16.7 12.6 17.2 12.4 17.6 12.1Z\",\n play: \"M3.5 2.5 20.5 12 3.5 21.5V2.5Z\",\n playPause:\n \"M2.3 6 12 12 2.3 18V6ZM13.9 6H16.9V18H13.9V6ZM18.8 6H21.7V18H18.8V6Z\",\n pop: \"M17.5 21.2H4.1C3.7 21.2 3.4 21 3.2 20.8 3 20.6 2.8 20.3 2.8 19.9V6.5C2.8 6.2 3 5.9 3.2 5.6 3.4 5.4 3.7 5.3 4.1 5.3H10.2V6.5H4.1V19.9H17.5V13.8H18.7V19.9C18.7 20.3 18.6 20.6 18.4 20.8 18.1 21 17.8 21.2 17.5 21.2ZM12 2.8C11.8 2.8 11.7 2.9 11.6 3 11.5 3.1 11.4 3.3 11.4 3.4 11.4 3.6 11.5 3.8 11.6 3.9 11.7 4 11.8 4.1 12 4.1H19.1L10.6 12.5C10.6 12.6 10.5 12.6 10.5 12.7 10.4 12.8 10.4 12.9 10.4 13 10.4 13 10.4 13.1 10.4 13.2 10.5 13.3 10.5 13.4 10.6 13.4 10.6 13.5 10.7 13.5 10.8 13.6 10.9 13.6 11 13.6 11 13.6 11.1 13.6 11.2 13.6 11.3 13.5 11.4 13.5 11.4 13.4 11.5 13.4L19.9 4.9V12C19.9 12.2 20 12.3 20.1 12.4 20.2 12.5 20.4 12.6 20.6 12.6 20.7 12.6 20.9 12.5 21 12.4 21.1 12.3 21.2 12.2 21.2 12V2.8H12Z\",\n presentation:\n \"M2.3 10.9V7.2H3.4V18.7 19H3.7 18.4V20.1H3.7C2.9 20.1 2.3 19.5 2.3 18.7 2.3 18.7 2.3 18.7 2.3 18.7L2.3 11.2 2.3 10.9H2.3ZM13.5 5.5 13.6 5.5H13.7 20.3C21.1 5.5 21.8 6.2 21.8 7V15.4C21.8 16.1 21.1 16.8 20.3 16.8H7C6.2 16.8 5.6 16.1 5.6 15.4 5.6 15.4 5.6 15.4 5.6 15.4L5.6 5.3V5.3C5.6 4.5 6.2 3.9 7 3.9H11.9L13.5 5.5ZM7.6 14.4 7.3 14.8H7.8 19.5 20L19.7 14.4 16.8 10.6 16.6 10.3 16.4 10.6 14.5 12.9 11.8 9.3 11.6 9.1 11.4 9.3 7.6 14.4Z\",\n previous:\n \"M12 1C9.1 1 6.3 2.2 4.2 4.2 2.2 6.3 1 9.1 1 12 1 14.9 2.2 17.7 4.2 19.8 6.3 21.8 9.1 23 12 23 14.9 23 17.7 21.8 19.8 19.8 21.8 17.7 23 14.9 23 12 23 9.1 21.8 6.3 19.8 4.2 17.7 2.2 14.9 1 12 1ZM16.8 11.3C17 11.3 17.2 11.4 17.3 11.5 17.4 11.6 17.5 11.8 17.5 12 17.5 12.2 17.4 12.4 17.3 12.5 17.2 12.6 17 12.7 16.8 12.7L8.8 12.7 11.8 15.6C11.9 15.8 12 15.9 12 16.1 12 16.3 11.9 16.5 11.8 16.6 11.7 16.7 11.5 16.8 11.3 16.8 11.1 16.8 11 16.7 10.8 16.6L6.7 12.5C6.6 12.4 6.6 12.3 6.6 12.3 6.5 12.2 6.5 12.1 6.5 12 6.5 11.9 6.5 11.8 6.6 11.7 6.6 11.7 6.6 11.6 6.7 11.5L10.8 7.4C11 7.3 11.1 7.2 11.3 7.2 11.5 7.2 11.7 7.3 11.8 7.4 11.9 7.5 12 7.7 12 7.9 12 8.1 11.9 8.2 11.8 8.4L8.8 11.3 16.8 11.3Z\",\n settings:\n \"M21.4 8.5C21.5 8.8 21.4 9.2 21.1 9.5L19.4 11C19.5 11.3 19.5 11.7 19.5 12 19.5 12.3 19.5 12.7 19.4 13L21.1 14.5C21.4 14.8 21.5 15.2 21.4 15.5 21.2 16 21 16.4 20.8 16.8L20.6 17.1C20.3 17.6 20 18 19.7 18.4 19.5 18.6 19.1 18.7 18.8 18.6L16.6 17.9C16.1 18.3 15.4 18.7 14.9 18.9L14.4 21.2C14.3 21.5 14 21.8 13.7 21.9 13.1 22 12.6 22 12 22 11.4 22 10.9 22 10.3 21.9 10 21.8 9.7 21.5 9.6 21.2L9.1 18.9C8.5 18.7 7.9 18.3 7.4 17.9L5.2 18.6C4.9 18.7 4.5 18.6 4.3 18.4 4 18 3.7 17.6 3.4 17.1L3.2 16.8C3 16.4 2.8 16 2.6 15.5 2.5 15.2 2.6 14.8 2.9 14.5L4.6 13C4.5 12.7 4.5 12.3 4.5 12 4.5 11.7 4.5 11.3 4.6 11L2.9 9.5C2.6 9.2 2.5 8.8 2.6 8.5 2.8 8 3 7.6 3.2 7.2L3.4 6.9C3.7 6.4 4 6 4.3 5.6 4.5 5.4 4.9 5.3 5.2 5.4L7.4 6.1C7.9 5.7 8.5 5.3 9.1 5.1L9.6 2.8C9.7 2.5 10 2.2 10.3 2.1 10.9 2 11.4 2 12 2 12.6 2 13.1 2 13.7 2.1 14 2.2 14.3 2.5 14.4 2.8L14.9 5.1C15.4 5.3 16.1 5.7 16.6 6.1L18.8 5.4C19.1 5.3 19.5 5.4 19.7 5.6 20 6 20.3 6.4 20.6 6.9L20.8 7.2C21 7.6 21.2 8 21.4 8.5ZM12 15.1C13.7 15.1 15.1 13.7 15.1 12 15.1 10.3 13.7 8.8 12 8.8 10.3 8.8 8.9 10.3 8.9 12 8.9 13.7 10.3 15.1 12 15.1Z\",\n share:\n \"M6 5H4V21c0 1.1.9 2 2 2h10V21H6V5ZM18 1H10c-1.099 0-1.999.9-1.999 2v14c0 1.099.9 1.999 1.999 1.999H18c1.1 0 2-.9 2-1.999V3c0-1.1-.9-2-2-2Zm0 16.001H10v-1.001H18v1.001Zm0-3H10V6H18v8Zm0-10.001H10V3H18v1ZM12.5 10.25h1.63l-.69.69 1.06 1.06 2.501-2.5-2.501-2.501-1.06 1.061.69 .69H12c-.55 0-1 .45-1 1V12h1.5V10.25Z\",\n sequential:\n \"M7.2 22.9C7.3 23 7.4 23 7.5 23 7.7 23 7.8 23 7.9 22.8L16.9 12.9C17 12.8 17.1 12.7 17.1 12.5 17.2 12.4 17.2 12.2 17.2 12 17.2 11.8 17.2 11.6 17.1 11.5 17.1 11.3 17 11.2 16.9 11.1L7.9 1.2C7.8 1 7.7 1 7.5 1 7.4 1 7.3 1 7.2 1.1 7.1 1.2 7 1.3 6.9 1.5 6.8 1.7 6.8 1.9 6.8 2.1V21.9C6.8 22.1 6.8 22.3 6.9 22.5 7 22.7 7.1 22.8 7.2 22.9Z\",\n show: \"M16.6 7V5.7C16.6 5.6 16.5 5.5 16.3 5.5H6.4C6.3 5.5 6.2 5.6 6.2 5.7V7C6.2 7.1 6.3 7.2 6.4 7.2H16.3C16.5 7.2 16.6 7.1 16.6 7ZM6.4 9.2C6.3 9.2 6.2 9.3 6.2 9.4V10.6C6.2 10.7 6.3 10.8 6.4 10.8H11.2C11.3 10.8 11.4 10.7 11.4 10.6V9.4C11.4 9.3 11.3 9.2 11.2 9.2H6.4ZM10.1 20.6H4.1V2.8H18.6V11.5C18.6 11.6 18.7 11.7 18.8 11.7H20.3C20.4 11.7 20.5 11.6 20.5 11.5V1.8C20.5 1.4 20.1 1 19.7 1H3.1C2.6 1 2.3 1.4 2.3 1.8V21.6C2.3 22 2.6 22.4 3.1 22.4H10.1C10.3 22.4 10.3 22.3 10.3 22.2V20.8C10.3 20.7 10.3 20.6 10.1 20.6ZM21.7 21.9 19.3 19.5C19.8 18.8 20.2 17.9 20.2 16.8 20.2 14.4 18.1 12.4 15.6 12.4 13.1 12.4 11.1 14.4 11.1 16.8 11.1 19.3 13.1 21.3 15.6 21.3 16.5 21.3 17.4 21 18.1 20.6L20.6 22.9C20.6 23 20.7 23 20.7 23 20.8 23 20.8 23 20.9 22.9L21.7 22.2C21.7 22.1 21.7 22.1 21.7 22.1 21.7 22.1 21.7 22 21.7 22 21.7 22 21.7 22 21.7 21.9 21.7 21.9 21.7 21.9 21.7 21.9V21.9ZM15.6 19.7C14 19.7 12.7 18.4 12.7 16.8 12.7 15.3 14 14 15.6 14 17.2 14 18.5 15.3 18.5 16.8 18.5 18.4 17.2 19.7 15.6 19.7Z\",\n tag: \"M21.9 12.4 11.7 2.2C11.6 2 11.4 1.9 11.3 1.9 11.1 1.8 10.9 1.8 10.7 1.8H3.8C3.3 1.8 2.7 2 2.4 2.4 2 2.8 1.8 3.3 1.8 3.8V10.7C1.8 10.9 1.8 11.1 1.9 11.3 1.9 11.5 2.1 11.6 2.2 11.7L13.1 22C13.3 22.1 13.5 22.2 13.8 22.2 13.8 22.2 13.8 22.2 13.8 22.2 13.9 22.2 14.1 22.2 14.2 22.1 14.3 22.1 14.4 22 14.5 21.9L22 13.8C22.2 13.6 22.3 13.4 22.2 13.1 22.2 12.8 22.1 12.6 21.9 12.4ZM13.7 20.7 3.1 10.7V3.8C3.1 3.6 3.2 3.5 3.3 3.3 3.5 3.2 3.6 3.1 3.8 3.1H10.7L20.7 13.1 13.7 20.7ZM7.4 5.2C7 5.2 6.6 5.3 6.2 5.6 5.8 5.8 5.5 6.2 5.4 6.6 5.2 7 5.1 7.4 5.2 7.9 5.3 8.3 5.5 8.7 5.8 9 6.2 9.3 6.6 9.5 7 9.6 7.4 9.7 7.9 9.7 8.3 9.5 8.7 9.3 9 9 9.3 8.7 9.5 8.3 9.7 7.9 9.7 7.4 9.7 6.8 9.4 6.3 9 5.9 8.6 5.4 8 5.2 7.4 5.2ZM7.4 8.3C7.3 8.3 7.1 8.2 6.9 8.1 6.8 8.1 6.7 7.9 6.6 7.8 6.6 7.6 6.5 7.4 6.6 7.3 6.6 7.1 6.7 6.9 6.8 6.8 6.9 6.7 7.1 6.6 7.3 6.6 7.4 6.6 7.6 6.6 7.8 6.6 7.9 6.7 8 6.8 8.1 7 8.2 7.1 8.3 7.3 8.3 7.4 8.3 7.7 8.2 7.9 8 8 7.9 8.2 7.7 8.3 7.4 8.3Z\",\n topic:\n \"M16.7 11.2 16.6 11.2H16.6 12C10.7 11.2 9.8 10.2 9.8 9V4.4C9.8 3.1 10.7 2.1 12 2.1H19.7C21 2.1 21.9 3.1 21.9 4.4V9C21.9 10.2 21 11.2 19.7 11.2H19.6V11.3 14.2L16.7 11.2ZM15.2 4.3H15.2L15.1 4.3 13.8 9 13.8 9.1H13.9 14.9 15L15 9 15.3 7.9H16.3L16.6 9 16.6 9.1H16.7 17.8 18L17.9 9 16.6 4.3 16.6 4.3H16.5 15.2ZM4.4 19V18.9H4.3C3 18.9 2.1 17.9 2.1 16.7V12.1C2.1 10.8 3 9.8 4.3 9.8H8.9C9.3 11.1 10.5 12.1 12 12.1H14.2V16.7C14.2 17.9 13.3 18.9 12 18.9H7.4 7.4L7.3 18.9 4.4 21.9V19ZM9 16.4C9.5 16 9.8 15.3 9.8 14.3 9.8 13.7 9.7 13.1 9.4 12.6 9 12.2 8.5 11.9 7.8 11.9 7.2 11.9 6.7 12.2 6.3 12.6 6 13.1 5.8 13.7 5.8 14.4 5.8 15.2 6 15.7 6.3 16.2 6.7 16.6 7.1 16.8 7.6 16.8L7.6 16.8H7.6C7.6 16.8 7.6 16.8 7.6 16.8 7.7 16.8 7.7 16.8 7.8 16.8 7.8 16.8 7.8 16.9 7.9 16.9L7.9 16.9 7.9 16.9C8.4 17.1 9 17.4 9.5 17.5L9.6 17.5 9.6 17.5 9.9 16.7 9.9 16.6 9.9 16.6C9.5 16.5 9.2 16.5 9 16.4ZM15.5 7 15.7 6.1C15.7 5.9 15.8 5.8 15.8 5.6 15.9 5.8 15.9 5.9 16 6.1L16.2 7H15.5ZM7 14.4C7 14 7.1 13.6 7.2 13.3 7.4 13.1 7.6 12.9 7.8 12.9 8.1 12.9 8.3 13.1 8.5 13.3 8.6 13.6 8.7 14 8.7 14.4 8.7 14.8 8.6 15.1 8.5 15.4 8.3 15.7 8.1 15.8 7.8 15.8 7.6 15.8 7.4 15.7 7.2 15.4 7.1 15.2 7 14.8 7 14.4Z\",\n track:\n \"M11.1 14.4H7.7C7.5 14.4 7.3 14.6 7.3 14.8V20.1C7.3 20.3 7.5 20.4 7.7 20.4H11.1C11.3 20.4 11.4 20.3 11.4 20.1V14.8C11.4 14.6 11.3 14.4 11.1 14.4ZM16.3 3.6H12.9C12.7 3.6 12.6 3.7 12.6 3.9V20.1C12.6 20.3 12.7 20.4 12.9 20.4H16.3C16.5 20.4 16.7 20.3 16.7 20.1V3.9C16.7 3.7 16.5 3.6 16.3 3.6ZM21.6 8.5H18.3C18.1 8.5 17.9 8.6 17.9 8.8V20.1C17.9 20.3 18.1 20.4 18.3 20.4H21.6C21.8 20.4 22 20.3 22 20.1V8.8C22 8.6 21.8 8.5 21.6 8.5ZM5.7 8.5H2.4C2.2 8.5 2 8.6 2 8.8V20.1C2 20.3 2.2 20.4 2.4 20.4H5.7C5.9 20.4 6.1 20.3 6.1 20.1V8.8C6.1 8.6 5.9 8.5 5.7 8.5Z\",\n user: \"M12 6C11.26 6 10.53 6.22 9.92 6.63 9.3 7.04 8.82 7.63 8.54 8.31 8.25 9 8.18 9.75 8.32 10.48 8.47 11.21 8.82 11.88 9.35 12.4 9.87 12.93 10.54 13.28 11.27 13.43 12 13.57 12.75 13.5 13.44 13.21 14.12 12.93 14.71 12.45 15.12 11.83 15.53 11.22 15.75 10.49 15.75 9.75 15.75 8.76 15.35 7.8 14.65 7.1 13.95 6.4 12.99 6 12 6ZM12 1.5C9.92 1.5 7.89 2.12 6.17 3.27 4.44 4.42 3.09 6.06 2.3 7.98 1.5 9.9 1.3 12.01 1.7 14.05 2.11 16.09 3.11 17.96 4.58 19.42 6.04 20.89 7.91 21.89 9.95 22.3 11.99 22.7 14.1 22.5 16.02 21.7 17.94 20.91 19.58 19.56 20.73 17.83 21.88 16.11 22.5 14.08 22.5 12 22.5 9.22 21.39 6.55 19.42 4.58 17.45 2.61 14.78 1.5 12 1.5ZM17.99 18.69C17.98 17.71 17.58 16.77 16.88 16.08 16.18 15.39 15.23 15 14.25 15H9.75C8.77 15 7.82 15.39 7.12 16.08 6.42 16.77 6.02 17.71 6.01 18.69 4.65 17.48 3.69 15.88 3.26 14.11 2.82 12.34 2.94 10.48 3.59 8.77 4.24 7.07 5.39 5.6 6.9 4.57 8.4 3.54 10.18 2.98 12 2.98 13.82 2.98 15.6 3.54 17.11 4.57 18.61 5.6 19.76 7.07 20.41 8.77 21.06 10.48 21.18 12.34 20.75 14.11 20.31 15.88 19.35 17.48 17.99 18.69H17.99Z\",\n visibility:\n \"M21 12.3C21 12.2 21 12.1 21 12 21 6.5 16.5 2 11 2 5.5 2 1 6.5 1 12 1 17.2 4.9 21.4 10 22 9 21.2 8.2 20.3 7.6 19.3 6.3 18.6 5.1 17.6 4.3 16.3 3.4 15 3 13.5 3 12 3 10.2 3.6 8.5 4.7 7.1L10.4 12.8C10.9 12.4 11.5 12 12.2 11.8L6.1 5.7C7.5 4.6 9.2 4 11 4 15.2 4 18.7 7.3 19 11.5 19.7 11.7 20.4 12 21 12.3ZM16 13C12.8 13 10.1 14.9 9 17.5 10.1 20.1 12.8 22 16 22 19.2 22 21.9 20.1 23 17.5 21.9 14.9 19.2 13 16 13ZM16 20C15.3 20 14.7 19.7 14.2 19.3 13.8 18.8 13.5 18.2 13.5 17.5 13.5 16.8 13.8 16.2 14.2 15.7 14.7 15.3 15.3 15 16 15 16.7 15 17.3 15.3 17.8 15.7 18.2 16.2 18.5 16.8 18.5 17.5 18.5 18.2 18.2 18.8 17.8 19.3 17.3 19.7 16.7 20 16 20ZM17.5 17.5C17.5 18.3 16.8 19 16 19 15.2 19 14.5 18.3 14.5 17.5 14.5 16.7 15.2 16 16 16 16.8 16 17.5 16.7 17.5 17.5Z\",\n quiz: \"M6.5 17.6H6.4L6.4 17.6 2.1 20.7V4.1C2.1 3.9 2.2 3.7 2.3 3.5 2.5 3.4 2.8 3.3 3 3.3H21C21.2 3.3 21.5 3.4 21.7 3.5 21.8 3.7 21.9 3.9 21.9 4.1V16.8C21.9 17 21.8 17.2 21.7 17.4 21.5 17.5 21.2 17.6 21 17.6H6.5ZM13.1 6.8V6.8H13 11 10.9V6.8 14.1 14.2H11 13 13.1V14.1 6.8ZM17.1 8.6V8.6H17 15 14.9V8.6 14.1 14.2H15 17 17.1V14.1 8.6ZM9.1 10.5V10.4H9 7 6.9V10.5 14.1 14.2H7 9 9.1V14.1 10.5Z\",\n zoomIn:\n \"M11.6 6.6H9.6V9.6H6.6V11.6H9.6V14.6H11.6V11.6H14.6V9.6H11.6V6.6ZM10.6 2.6C6.2 2.6 2.6 6.2 2.6 10.6 2.6 15.1 6.2 18.6 10.6 18.6 12.4 18.6 14.1 18.1 15.5 17L19.9 21.4 21.4 19.9 17 15.5C18.1 14.1 18.6 12.4 18.6 10.6 18.6 6.2 15.1 2.6 10.6 2.6ZM10.6 16.6C7.3 16.6 4.6 14 4.6 10.6 4.6 7.3 7.3 4.6 10.6 4.6 14 4.6 16.6 7.3 16.6 10.6 16.6 14 14 16.6 10.6 16.6Z\",\n zoomOut:\n \"M6 9H14V11H6V9ZM10 18C11.8 18 13.5 17.4 14.9 16.3L19.3 20.7 20.7 19.3 16.3 14.9C17.4 13.5 18 11.8 18 10 18 5.6 14.4 2 10 2 5.6 2 2 5.6 2 10 2 14.4 5.6 18 10 18ZM10 4C13.3 4 16 6.7 16 10 16 13.3 13.3 16 10 16 6.7 16 4 13.3 4 10 4 6.7 6.7 4 10 4Z\",\n error:\n \"M.5 12C.5 5.648 5.648.5 12 .5 18.352.5 23.5 5.648 23.5 12 23.5 18.352 18.352 23.5 12 23.5 5.648 23.5.5 18.352.5 12zM8.361 9.848 10.477 11.96 8.361 14.111C7.944 14.534 7.944 15.216 8.361 15.598 8.784 16.056 9.466 16.056 9.848 15.598L11.96 13.523 14.111 15.598C14.534 16.056 15.216 16.056 15.598 15.598 16.056 15.216 16.056 14.534 15.598 14.111L13.523 11.96 15.598 9.848C16.056 9.466 16.056 8.784 15.598 8.361 15.216 7.944 14.534 7.944 14.111 8.361L11.96 10.477 9.848 8.361C9.466 7.944 8.784 7.944 8.361 8.361 7.944 8.784 7.944 9.466 8.361 9.848V9.848z\",\n success:\n \"M.5 12C.5 5.648 5.648.5 12 .5 18.352.5 23.5 5.648 23.5 12 23.5 18.352 18.352 23.5 12 23.5 5.648 23.5.5 18.352.5 12zM17.202 10.014C17.692 9.525 17.692 8.725 17.202 8.236 16.712 7.746 15.913 7.746 15.423 8.236L10.563 13.096 8.577 11.111C8.087 10.621 7.288 10.621 6.798 11.111 6.308 11.6 6.308 12.4 6.798 12.889L9.673 15.764C10.163 16.254 10.962 16.254 11.452 15.764L17.202 10.014z\",\n info: \"M12 .5C5.648.5 .5 5.648.5 12s5.148 11.5 11.5 11.5 11.5-5.148 11.5-11.5S18.352.5 12 .5zM12 6.25c.794 0 1.438.644 1.438 1.438 0 .794-.644 1.438-1.437 1.438S10.563 8.483 10.563 7.688C10.563 6.892 11.205 6.25 12 6.25zM13.797 17.75h-3.594C9.61 17.75 9.125 17.269 9.125 16.672s.483-1.078 1.078-1.078h.719v-2.875H10.563c-.595 0-1.078-.483-1.078-1.078S9.97 10.563 10.563 10.563h1.438c.595 0 1.078.483 1.078 1.078v3.953h.719c.595 0 1.078.483 1.078 1.078S14.394 17.75 13.797 17.75z\",\n warning:\n \"M12 .5C5.648.5 .5 5.648.5 12s5.148 11.5 11.5 11.5 11.5-5.148 11.5-11.5S18.352.5 12 .5zM10.922 7.328C10.922 6.735 11.407 6.25 12 6.25s1.078.483 1.078 1.078v5.75c0 .595-.483 1.078-1.078 1.078S10.922 13.676 10.922 13.078V7.328zM12 18.469c-.78 0-1.412-.633-1.412-1.412 0-.78.632-1.412 1.412-1.412s1.412.632 1.412 1.412C13.411 17.835 12.782 18.469 12 18.469z\",\n logout:\n \"M13.263.625h-2.527v12.638h2.527V.625zm6.103 2.745L17.573 5.164c1.996 1.608 3.276 4.069 3.276 6.836 0 4.889-3.954 8.848-8.848 8.848S3.152 16.889 3.152 12c0-2.767 1.274-5.234 3.259-6.852l-1.783-1.783C2.178 5.454.625 8.538.625 12c0 6.284 5.091 11.375 11.375 11.375s11.375-5.091 11.375-11.375c0-3.462-1.553-6.546-4.009-8.63z\",\n aivio:\n \"M4.75 10.904C4.75 11.644 5.041 12.351 5.558 12.872 6.074 13.393 6.773 13.684 7.5 13.684 8.227 13.684 8.926 13.393 9.442 12.872 9.959 12.351 10.25 11.644 10.25 10.904 10.25 10.165 9.959 9.458 9.442 8.937 8.926 8.416 8.227 8.125 7.5 8.125 6.773 8.125 6.074 8.416 5.558 8.937 5.041 9.458 4.75 10.165 4.75 10.904ZM13.093 21.625C13.095 21.625 13.1 21.625 13.106 21.624 13.124 21.623 13.155 21.62 13.194 21.613 13.276 21.6 13.374 21.574 13.462 21.529 13.548 21.486 13.612 21.433 13.656 21.366 13.697 21.304 13.75 21.186 13.75 20.963 13.75 20.435 13.463 19.196 12.529 18.096 11.625 17.033 10.086 16.066 7.5 16.066 4.914 16.066 3.375 17.033 2.471 18.096 1.537 19.196 1.25 20.435 1.25 20.963 1.25 21.186 1.303 21.304 1.344 21.366 1.388 21.433 1.452 21.486 1.538 21.529 1.626 21.574 1.724 21.6 1.806 21.613 1.845 21.62 1.876 21.623 1.894 21.624 1.9 21.625 1.905 21.625 1.907 21.625H13.093ZM20.625 2.375C21.388 2.375 22.119 2.691 22.658 3.254 23.197 3.816 23.5 4.579 23.5 5.375V17.375C23.5 18.171 23.197 18.934 22.658 19.496 22.119 20.059 21.388 20.375 20.625 20.375H15.651C15.475 19.886 15.253 19.373 14.921 18.875H20.625C21.006 18.875 21.372 18.717 21.642 18.436 21.911 18.154 22.063 17.773 22.063 17.375V5.375C22.063 4.977 21.911 4.596 21.642 4.314 21.372 4.033 21.006 3.875 20.625 3.875H3.375C2.994 3.875 2.628 4.033 2.359 4.314 2.089 4.596 1.938 4.977 1.938 5.375V17.09C1.43 17.435.994 17.834.629 18.265.545 17.984.5 17.685.5 17.375V5.375C.5 4.579.803 3.816 1.342 3.254 1.881 2.691 2.613 2.375 3.375 2.375H20.625Z\",\n check:\n \"M21.641 5.235C22.202 5.796 22.202 6.704 21.641 7.265L10.141 18.765C9.579 19.327 8.672 19.327 8.11 18.765L2.359 13.015C1.798 12.454 1.798 11.546 2.359 10.985 2.921 10.423 3.831 10.423 4.392 10.985L9.085 15.715 19.61 5.235C20.172 4.672 21.079 4.672 21.641 5.235H21.641z\",\n markerTarget:\n \"M12 7.637c-2.411 0-4.363 1.952-4.363 4.363s1.952 4.363 4.363 4.363 4.363-1.952 4.363-4.363S14.411 7.637 12 7.637zM21.752 10.908C21.251 6.359 17.64 2.748 13.091 2.248V0h-2.182v2.248C6.36 2.748 2.749 6.359 2.247 10.908H0v2.184h2.248c.502 4.549 4.113 8.16 8.662 8.66v2.248h2.182v-2.248c4.549-.5 8.16-4.111 8.661-8.66h2.247v-2.184C24 10.908 21.752 10.908 21.752 10.908zM12 19.637c-4.222 0-7.637-3.415-7.637-7.637S7.778 4.363 12 4.363s7.637 3.415 7.637 7.637S16.222 19.637 12 19.637z\",\n markerHandPoint:\n \"M21.59 19.225 19.175 23.25 12.417 23.25 1.949 11.66a1.125 1.125 0 0 1 .094-1.601A4.238 4.238 0 0 1 8.114 10.566L8.98 11.625 10.125 11.625 10.125 3.187a2.438 2.438 0 0 1 4.875 0L15 8.43l5.926 1.646A1.128 1.128 0 0 1 21.75 11.16l0 7.486A1.125 1.125 0 0 1 21.59 19.225ZM20.25 11.445l-6.75-1.875L13.5 3.187a.938.938 0 0 0-1.875 0L11.625 13.125 8.27 13.125l-1.317-1.61a2.739 2.739 0 0 0-3.618-.558L13.083 21.75 18.325 21.75 20.25 18.542Z\",\n markerTargetLine:\n \"M12 8.864C10.223 8.864 8.864 10.223 8.864 12s1.359 3.136 3.136 3.136 3.136-1.359 3.136-3.136S13.777 8.864 12 8.864zM12 14.091c-1.15 0-2.091-.941-2.091-2.091 0-1.15.941-2.091 2.091-2.091 1.15 0 2.091.941 2.091 2.091C14.091 13.15 13.15 14.091 12 14.091zM12 4.682C7.923 4.682 4.682 7.923 4.682 12c0 4.077 3.241 7.318 7.318 7.318 4.077 0 7.318-3.241 7.318-7.318C19.318 7.923 16.077 4.682 12 4.682zM12 18.273c-3.45 0-6.273-2.823-6.273-6.273s2.823-6.273 6.273-6.273 6.273 2.823 6.273 6.273S15.45 18.273 12 18.273zM12 .5C5.623.5 .5 5.623.5 12 .5 18.377 5.623 23.5 12 23.5c6.377 0 11.5-5.123 11.5-11.5C23.5 5.623 18.377.5 12 .5zM12 22.455c-5.75 0-10.455-4.705-10.455-10.455s4.705-10.455 10.455-10.455 10.455 4.705 10.455 10.455S17.75 22.455 12 22.455z\",\n markerArrows:\n \"M15.447 17.548a.813.813 0 0 1-1.149 1.149L12.812 17.212V22.563a.813.813 0 0 1-1.625 0v-5.351l-1.486 1.486a.813.813 0 0 1-1.149-1.149l2.873-2.873c.005-.005.011-.01.017-.015l.042-.038.033-.024.031-.023.037-.022.032-.019.037-.018.036-.017.035-.013.041-.014.034-.009.043-.011.037-.006.041-.006.062-.003L12 14.437c.006 0 .012.001 .018.001l.062.003 .041.006 .037.006 .043.011 .034.009 .041.014 .035.013 .036.017 .037.018 .032.019 .037.022 .031.023 .033.024 .042.038 .017.015zm-4.022-8.224c.005.005 .012.01 .017.016l.042.038 .033.025 .031.022 .038.023 .03.018 .038.018 .034.016 .037.014 .038.013 .037.01 .04.01 .043.007 .035.005 .08.004a.816.816 0 0 0 .08-.004l.035-.005.043-.007.04-.01.037-.01.038-.013.037-.014.034-.016.038-.018.03-.018.038-.023.031-.022.033-.025.042-.038.017-.016 2.873-2.873a.813.813 0 0 0-1.149-1.149L12.812 6.788V1.438a.813.813 0 0 0-1.625 0v5.351l-1.486-1.486a.813.813 0 0 0-1.149 1.149zm-2.085 3.232.037-.041.026-.035.021-.029.024-.039.017-.029.019-.04.015-.032.014-.039.013-.036.01-.04.009-.037.007-.046.005-.032a.815.815 0 0 0 0-.161l-.005-.032-.007-.046-.009-.037-.01-.04-.013-.036-.014-.039-.015-.032-.019-.04-.017-.029-.024-.039-.021-.029-.026-.035-.037-.041-.016-.018-2.873-2.873a.813.813 0 0 0-1.149 1.149L6.788 11.188H1.438a.813.813 0 0 0 0 1.625h5.351l-1.486 1.486a.813.813 0 0 0 1.149 1.149l2.873-2.873c.006-.006.011-.012.016-.018zM22.563 11.188h-5.351l1.486-1.486a.813.813 0 0 0-1.149-1.149l-2.873 2.873c-.006.006-.011.012-.016.018l-.037.041-.026.035-.021.029-.024.039-.017.029-.019.04-.015.032-.014.039-.013.036-.01.04-.009.037-.007.046-.005.032a.815.815 0 0 0 0 .161l.005.032 .007.046 .009.037 .01.04 .013.036 .014.039 .015.032 .019.04 .017.029 .024.039 .021.029 .026.035 .037.041 .016.018 2.873 2.873a.813.813 0 0 0 1.149-1.149L17.212 12.812H22.563a.813.813 0 0 0 0-1.625z\",\n markerFocus:\n \"M.45 8.7V2.925a2.477 2.477 0 0 1 .726-1.749A2.479 2.479 0 0 1 2.925.45H8.7a.825.825 0 0 1 .714.413c.147.255 .147.57 0 .825A.825.825 0 0 1 8.7 2.1H2.925A.826.826 0 0 0 2.1 2.925V8.7a.825.825 0 0 1-.413.714c-.255.147-.57.147-.825 0A.825.825 0 0 1 .45 8.7zM23.55 2.925V8.7a.825.825 0 0 1-.413.714c-.255.147-.57.147-.825 0A.825.825 0 0 1 21.9 8.7V2.925A.826.826 0 0 0 21.075 2.1H15.3a.825.825 0 0 1-.714-.413c-.147-.255-.147-.57 0-.825A.825.825 0 0 1 15.3.45h5.775a2.477 2.477 0 0 1 1.749.726A2.479 2.479 0 0 1 23.55 2.925zm-14.025 19.8c0 .219-.087.429-.242.583S8.919 23.55 8.7 23.55H2.925a2.477 2.477 0 0 1-1.749-.726A2.479 2.479 0 0 1 .45 21.075V15.3a.825.825 0 0 1 .413-.714c.255-.147.57-.147.825 0A.825.825 0 0 1 2.1 15.3v5.775a.826.826 0 0 0 .825.825H8.7c.219 0 .429.087 .583.242s.242.365 .242.583zM23.55 15.3v5.775a2.477 2.477 0 0 1-.726 1.749A2.479 2.479 0 0 1 21.075 23.55H15.3a.825.825 0 0 1-.714-.413c-.147-.255-.147-.57 0-.825A.825.825 0 0 1 15.3 21.9h5.775a.826.826 0 0 0 .825-.825V15.3a.825.825 0 0 1 .413-.714c.255-.147.57-.147.825 0A.825.825 0 0 1 23.55 15.3zm-6.674-2.475h1.725a.825.825 0 0 0 .714-.413c.147-.255.147-.57 0-.825a.825.825 0 0 0-.714-.413H16.876a4.954 4.954 0 0 0-1.38-2.67c-.726-.726-1.658-1.208-2.67-1.38V5.4a.825.825 0 0 0-.413-.714c-.255-.147-.57-.147-.825 0a.825.825 0 0 0-.412.714v1.725a4.954 4.954 0 0 0-2.67 1.38c-.726.726-1.208 1.658-1.38 2.67h-1.725a.825.825 0 0 0-.714.413c-.147.255-.147.57 0 .825a.825.825 0 0 0 .714.413h1.725a4.954 4.954 0 0 0 1.38 2.67c.726.726 1.658 1.208 2.67 1.38V18.6a.825.825 0 0 0 .412.714c.255.147 .57.147 .825 0a.825.825 0 0 0 .413-.714v-1.725a4.954 4.954 0 0 0 2.67-1.38c.726-.726 1.208-1.658 1.38-2.67zM12 15.3c-.875 0-1.715-.348-2.333-.967A3.3 3.3 0 0 1 8.7 12c0-.875.348-1.715.967-2.333A3.3 3.3 0 0 1 12 8.7c.875 0 1.715.348 2.333.967A3.3 3.3 0 0 1 15.3 12a3.304 3.304 0 0 1-.968 2.332C13.714 14.951 12.875 15.299 12 15.3z\",\n image:\n \"M20.605 1.938h-17.25C1.807 1.938.52 3.225.52 4.813v14.375c0 1.588 1.287 2.875 2.835 2.875h17.25c1.588 0 2.875-1.287 2.875-2.875V4.813C23.48 3.225 22.231 1.938 20.605 1.938zM5.511 4.813c1.191 0 2.156.965 2.156 2.156S6.742 9.125 5.511 9.125s-2.156-.965-2.156-2.156S4.361 4.813 5.511 4.813zM20.56 18.81C20.434 19.044 20.192 19.188 19.927 19.188H4.205c-.27 0-.518-.152-.641-.393-.123-.241-.1-.531.06-.749l3.145-4.312C6.904 13.545 7.12 13.438 7.349 13.438s.445.11 .581.295l1.458 1.999 4.191-6.249C13.714 9.246 13.939 9.125 14.177 9.125s.465.12 .598.32l5.75 8.625C20.673 18.289 20.686 18.572 20.56 18.81z\",\n users:\n \"M 0.605469 0 C 0.527344 0 0.449219 0.015625 0.375 0.046875 C 0.300781 0.078125 0.234375 0.125 0.175781 0.183594 C 0.121094 0.242188 0.078125 0.3125 0.046875 0.390625 C 0.015625 0.464844 0 0.546875 0 0.632812 L 0 18.410156 C 0 18.53125 0.03125 18.648438 0.09375 18.75 C 0.15625 18.851562 0.242188 18.933594 0.347656 18.984375 L 4.882812 21.203125 C 4.886719 20.753906 4.917969 20.304688 4.980469 19.859375 L 1.199219 18.007812 L 1.199219 1.625 L 7.742188 4.828125 L 7.769531 9.925781 C 7.984375 9.695312 8.226562 9.496094 8.484375 9.324219 L 8.460938 4.917969 L 15.339844 1.550781 L 15.375 8.339844 C 15.601562 8.152344 15.839844 7.984375 16.09375 7.84375 L 16.058594 1.460938 L 22.785156 4.757812 L 22.785156 12.046875 C 22.789062 12.105469 22.789062 12.160156 22.785156 12.21875 L 22.785156 16.742188 C 23.136719 17.023438 23.457031 17.351562 23.71875 17.726562 C 23.816406 17.863281 23.902344 18.003906 23.984375 18.144531 L 23.984375 4.351562 C 23.984375 4.234375 23.953125 4.113281 23.890625 4.011719 C 23.832031 3.910156 23.742188 3.832031 23.640625 3.78125 L 16.042969 0.0585938 C 15.960938 0.0195312 15.875 0 15.785156 0 C 15.699219 0 15.613281 0.0195312 15.539062 0.0585938 L 8.195312 3.65625 L 0.851562 0.0585938 C 0.773438 0.0195312 0.691406 0 0.605469 0 Z M 7.800781 15.734375 L 7.800781 15.851562 C 7.828125 15.84375 7.851562 15.828125 7.878906 15.820312 C 7.851562 15.792969 7.828125 15.761719 7.800781 15.734375 Z M 7.800781 15.734375 M 18.230469 8.289062 C 16.242188 8.289062 14.632812 9.988281 14.632812 12.082031 C 14.632812 14.179688 16.242188 15.875 18.230469 15.875 C 20.214844 15.875 21.828125 14.179688 21.828125 12.082031 C 21.828125 9.988281 20.214844 8.289062 18.230469 8.289062 Z M 18.230469 16.4375 C 14.253906 16.4375 12.472656 18.316406 12.472656 22.507812 L 12.472656 23.015625 C 12.492188 24.011719 12.910156 24.039062 13.792969 24.027344 L 22.667969 24.027344 C 23.792969 24.027344 23.992188 24.027344 23.984375 23.015625 L 23.984375 22.507812 C 23.984375 18.316406 22.203125 16.4375 18.230469 16.4375 Z M 10.554688 9.710938 C 8.925781 9.710938 7.605469 11.101562 7.605469 12.820312 C 7.605469 14.535156 8.925781 15.925781 10.554688 15.925781 C 12.183594 15.925781 13.5 14.535156 13.5 12.820312 C 13.5 11.101562 12.183594 9.710938 10.554688 9.710938 Z M 10.554688 16.386719 C 7.296875 16.386719 5.835938 17.929688 5.835938 21.363281 L 5.835938 21.777344 C 5.851562 22.59375 6.195312 22.617188 6.917969 22.605469 L 11.503906 22.605469 C 11.386719 20.558594 11.960938 18.386719 13.386719 17.003906 C 12.664062 16.589844 11.726562 16.386719 10.554688 16.386719 Z M 10.554688 16.386719\",\n clientDetails:\n \"M10.542 11.271C10.542 11.077 10.619 10.892 10.755 10.755 10.892 10.618 11.077 10.542 11.271 10.542H15.646C15.839 10.542 16.025 10.618 16.161 10.755 16.298 10.892 16.375 11.077 16.375 11.271 16.375 11.464 16.298 11.65 16.161 11.786 16.025 11.923 15.839 12 15.646 12H11.271C11.077 12 10.892 11.923 10.755 11.786 10.619 11.65 10.542 11.464 10.542 11.271ZM10.542 15.646C10.542 15.452 10.619 15.267 10.755 15.13 10.892 14.994 11.077 14.917 11.271 14.917H15.646C15.839 14.917 16.025 14.994 16.161 15.13 16.298 15.267 16.375 15.452 16.375 15.646 16.375 15.839 16.298 16.025 16.161 16.161 16.025 16.298 15.839 16.375 15.646 16.375H11.271C11.077 16.375 10.892 16.298 10.755 16.161 10.619 16.025 10.542 15.839 10.542 15.646ZM8.354 12C8.548 12 8.733 11.923 8.87 11.786 9.006 11.65 9.083 11.464 9.083 11.271 9.083 11.077 9.006 10.892 8.87 10.755 8.733 10.618 8.548 10.542 8.354 10.542 8.161 10.542 7.975 10.618 7.839 10.755 7.702 10.892 7.625 11.077 7.625 11.271 7.625 11.464 7.702 11.65 7.839 11.786 7.975 11.923 8.161 12 8.354 12V12ZM8.354 16.375C8.548 16.375 8.733 16.298 8.87 16.161 9.006 16.025 9.083 15.839 9.083 15.646 9.083 15.452 9.006 15.267 8.87 15.13 8.733 14.994 8.548 14.917 8.354 14.917 8.161 14.917 7.975 14.994 7.839 15.13 7.702 15.267 7.625 15.452 7.625 15.646 7.625 15.839 7.702 16.025 7.839 16.161 7.975 16.298 8.161 16.375 8.354 16.375V16.375ZM7.749 3.25C7.9 2.823 8.179 2.454 8.549 2.193 8.918 1.932 9.36 1.791 9.813 1.792H14.188C14.64 1.791 15.082 1.932 15.451 2.193 15.821 2.454 16.1 2.823 16.251 3.25H17.104C17.684 3.25 18.241 3.48 18.651 3.891 19.061 4.301 19.292 4.857 19.292 5.437V20.021C19.292 20.601 19.061 21.157 18.651 21.568 18.241 21.978 17.684 22.208 17.104 22.208H6.896C6.316 22.208 5.759 21.978 5.349 21.568 4.939 21.157 4.708 20.601 4.708 20.021V5.437C4.708 4.857 4.939 4.301 5.349 3.891 5.759 3.48 6.316 3.25 6.896 3.25H7.749ZM9.813 3.25C9.619 3.25 9.434 3.327 9.297 3.464 9.16 3.6 9.083 3.786 9.083 3.979 9.083 4.173 9.16 4.358 9.297 4.495 9.434 4.631 9.619 4.708 9.813 4.708H14.188C14.381 4.708 14.566 4.631 14.703 4.495 14.84 4.358 14.917 4.173 14.917 3.979 14.917 3.786 14.84 3.6 14.703 3.464 14.566 3.327 14.381 3.25 14.188 3.25H9.813ZM7.749 4.708H6.896C6.702 4.708 6.517 4.785 6.38 4.922 6.243 5.059 6.167 5.244 6.167 5.437V20.021C6.167 20.214 6.243 20.4 6.38 20.536 6.517 20.673 6.702 20.75 6.896 20.75H17.104C17.298 20.75 17.483 20.673 17.62 20.536 17.757 20.4 17.833 20.214 17.833 20.021V5.437C17.833 5.244 17.757 5.059 17.62 4.922 17.483 4.785 17.298 4.708 17.104 4.708H16.251C16.1 5.135 15.821 5.504 15.451 5.766 15.082 6.027 14.64 6.167 14.188 6.167H9.813C9.36 6.167 8.918 6.027 8.549 5.766 8.179 5.504 7.9 5.135 7.749 4.708V4.708Z\",\n keyPassword:\n \"M21.952 7.895C21.306 7.249 20.518 6.763 19.65 6.476 18.783 6.19 17.861 6.11 16.957 6.244 16.053 6.378 15.194 6.722 14.447 7.248 13.7 7.774 13.087 8.468 12.656 9.274H3.107L.35 12.032 3.107 14.789H12.656C13.053 15.531 13.604 16.178 14.273 16.688 14.942 17.197 15.714 17.556 16.534 17.74 17.354 17.925 18.205 17.93 19.028 17.756 19.85 17.582 20.626 17.232 21.301 16.731 21.976 16.23 22.536 15.59 22.941 14.853 23.347 14.116 23.589 13.301 23.65 12.462 23.712 11.623 23.592 10.781 23.299 9.993 23.006 9.205 22.546 8.489 21.952 7.895ZM14.598 15.249C14.282 14.932 14.014 14.571 13.803 14.176L13.435 13.489 12.657 13.489 9.733 13.489 9.732 12.222H8.432V13.489L6.975 13.489 6.975 12.222H5.675V13.489L3.646 13.489 2.188 12.032 3.646 10.574 12.656 10.574 13.435 10.574 13.803 9.887C14.254 9.043 14.96 8.363 15.82 7.943 16.68 7.523 17.65 7.385 18.593 7.549 19.536 7.712 20.404 8.169 21.072 8.854 21.74 9.539 22.176 10.418 22.316 11.364 22.457 12.311 22.295 13.278 21.854 14.127 21.413 14.977 20.716 15.666 19.861 16.096 19.006 16.526 18.037 16.676 17.092 16.524 16.147 16.372 15.275 15.926 14.598 15.249ZM17.815 12.951C18.323 13.458 19.146 13.458 19.654 12.951 20.161 12.443 20.161 11.62 19.654 11.112 19.146 10.604 18.323 10.604 17.815 11.112 17.307 11.62 17.307 12.443 17.815 12.951Z\",\n hexagon:\n \"M1.494 12 7.212 2.478H17.188L22.506 12 17.188 21.522H7.212L1.494 12Z\",\n toolOptimize:\n \"M12.783 14.172 14.904 12.051 20.9 18.047 18.779 20.168 12.783 14.172ZM16.5 9C18.43 9 20 7.43 20 5.5 20 4.92 19.84 4.38 19.59 3.9L16.89 6.6 15.4 5.11 18.1 2.41C17.62 2.16 17.08 2 16.5 2 14.57 2 13 3.57 13 5.5 13 5.91 13.08 6.3 13.21 6.66L11.36 8.51 9.58 6.73 10.29 6.02 8.88 4.61 11 2.49C10.438 1.928 9.675 1.613 8.88 1.613 8.085 1.613 7.323 1.928 6.76 2.49L3.22 6.03 4.63 7.44H1.81L1.1 8.15 4.64 11.69 5.35 10.98V8.15L6.76 9.56 7.47 8.85 9.25 10.63 1.84 18.04 3.96 20.16 15.34 8.79C15.7 8.92 16.09 9 16.5 9Z\",\n darkMode:\n \"M9.891 1.125C10.028 1.292 10.112 1.496 10.133 1.711 10.153 1.926 10.108 2.142 10.004 2.331 9.191 3.824 8.766 5.497 8.769 7.197 8.769 12.852 13.379 17.43 19.06 17.43 19.801 17.43 20.522 17.353 21.216 17.205 21.428 17.159 21.65 17.177 21.852 17.256 22.055 17.335 22.23 17.472 22.355 17.65 22.487 17.835 22.554 18.058 22.546 18.285 22.539 18.512 22.456 18.73 22.311 18.905 21.208 20.26 19.817 21.352 18.238 22.101 16.66 22.85 14.934 23.237 13.187 23.234 6.705 23.234 1.454 18.011 1.454 11.576 1.454 6.733 4.426 2.579 8.659.818 8.87.729 9.104.711 9.326.766 9.548.821 9.747.947 9.891 1.125Z\",\n lightMode:\n \"M11.203.844H12.797V4.828H11.203V.844ZM16.533 6.342 19.326 3.548 20.453 4.675 17.659 7.469 16.533 6.342ZM19.172 11.203H23.156V12.797H19.172V11.203ZM16.533 17.658 17.659 16.532 20.453 19.326 19.326 20.452 16.533 17.658ZM11.203 19.172H12.797V23.156H11.203V19.172ZM3.548 19.325 6.342 16.531 7.469 17.658 4.676 20.452 3.548 19.325ZM.844 11.203H4.828V12.797H.844V11.203ZM3.549 4.675 4.676 3.548 7.47 6.342 6.342 7.469 3.549 4.675ZM12 8.813C12.63 8.813 13.247 8.999 13.771 9.35 14.295 9.7 14.704 10.198 14.945 10.78 15.186 11.363 15.249 12.004 15.126 12.622 15.003 13.24 14.7 13.808 14.254 14.254 13.808 14.7 13.24 15.003 12.622 15.126 12.004 15.249 11.363 15.186 10.78 14.945 10.198 14.704 9.7 14.295 9.35 13.771 8.999 13.247 8.813 12.63 8.813 12 8.814 11.155 9.15 10.345 9.747 9.747 10.345 9.15 11.155 8.814 12 8.813ZM12 7.219C11.054 7.219 10.13 7.499 9.344 8.025 8.557 8.55 7.945 9.297 7.583 10.17 7.221 11.044 7.126 12.005 7.311 12.933 7.495 13.86 7.95 14.712 8.619 15.381 9.288 16.05 10.14 16.505 11.067 16.689 11.995 16.874 12.956 16.779 13.83 16.417 14.703 16.055 15.45 15.443 15.975 14.656 16.501 13.87 16.781 12.946 16.781 12 16.781 10.732 16.277 9.516 15.381 8.619 14.484 7.722 13.268 7.219 12 7.219Z\",\n speech:\n \"M 12.626 2.118 C 7.482 2.118 3.313 5.704 3.313 10.121 C 3.313 12.91 4.983 15.363 7.511 16.792 L 6.67 20.446 C 6.658 20.492 6.661 20.539 6.676 20.583 C 6.689 20.629 6.716 20.667 6.752 20.695 C 6.786 20.723 6.828 20.74 6.87 20.744 C 6.914 20.745 6.958 20.734 6.994 20.71 L 11.193 18.007 C 11.667 18.075 12.145 18.11 12.626 18.111 C 17.77 18.111 21.939 14.536 21.939 10.121 C 21.939 5.704 17.77 2.118 12.626 2.118 Z M 12.583 11.524 C 13.297 11.524 13.877 10.894 13.877 10.121 C 13.877 9.346 13.297 8.717 12.583 8.717 C 11.868 8.717 11.287 9.346 11.287 10.121 C 11.287 10.894 11.868 11.524 12.583 11.524 Z M 17.234 11.524 C 17.948 11.524 18.528 10.894 18.528 10.121 C 18.528 9.346 17.948 8.717 17.234 8.717 C 16.518 8.717 15.939 9.346 15.939 10.121 C 15.939 10.894 16.518 11.524 17.234 11.524 Z M 7.935 11.524 C 8.65 11.524 9.23 10.894 9.23 10.121 C 9.23 9.346 8.65 8.717 7.935 8.717 C 7.22 8.717 6.64 9.346 6.64 10.121 C 6.64 10.894 7.22 11.524 7.935 11.524 Z\",\n lang: \"M11.989 1.167C6.009 1.167 1.167 6.02 1.167 12 1.167 17.98 6.009 22.833 11.989 22.833 17.98 22.833 22.833 17.98 22.833 12 22.833 6.02 17.98 1.167 11.989 1.167ZM19.497 7.667H16.301C15.962 6.325 15.46 5.03 14.806 3.81 16.782 4.49 18.447 5.859 19.497 7.667ZM12 3.377C12.899 4.677 13.603 6.118 14.069 7.667H9.931C10.397 6.118 11.101 4.677 12 3.377ZM3.615 14.167C3.442 13.473 3.333 12.748 3.333 12 3.333 11.253 3.442 10.527 3.615 9.833H7.277C7.19 10.548 7.125 11.263 7.125 12 7.125 12.737 7.19 13.452 7.277 14.167H3.615ZM4.503 16.333H7.699C8.046 17.688 8.544 18.988 9.194 20.19 7.216 19.513 5.55 18.143 4.503 16.333ZM7.699 7.667H4.503C5.55 5.857 7.216 4.487 9.194 3.81 8.54 5.03 8.038 6.325 7.699 7.667ZM12 20.623C11.101 19.323 10.397 17.883 9.931 16.333H14.069C13.603 17.883 12.899 19.323 12 20.623ZM14.535 14.167H9.465C9.368 13.452 9.292 12.737 9.292 12 9.292 11.263 9.368 10.538 9.465 9.833H14.535C14.633 10.538 14.708 11.263 14.708 12 14.708 12.737 14.633 13.452 14.535 14.167ZM14.806 20.19C15.456 18.988 15.954 17.688 16.301 16.333H19.497C18.447 18.141 16.782 19.51 14.806 20.19ZM16.723 14.167C16.81 13.452 16.875 12.737 16.875 12 16.875 11.263 16.81 10.548 16.723 9.833H20.385C20.558 10.527 20.667 11.253 20.667 12 20.667 12.748 20.558 13.473 20.385 14.167H16.723Z\",\n cards:\n \"M-4 9.898 9.898 9.898 9.898-4-4-4-4 9.898ZM14.102-4 14.102 9.898 28 9.898 28-4 14.102-4ZM14.102 28 28 28 28 14.102 14.102 14.102 14.102 28ZM-4 28 9.898 28 9.898 14.102-4 14.102-4 28Z\",\n tree: \"M12 13.2 6 13.2 6 19.2 12 19.2 12 21.6 3.6 21.6 3.6 9.6 6 9.6 6 10.8 12 10.8 12 13.2ZM7.2 2.4 7.2 4.8 2.4 4.8 2.4 2.4 7.2 2.4ZM9.6 0 0 0 0 7.2 9.6 7.2 9.6 0ZM21.6 10.8 21.6 13.2 16.8 13.2 16.8 10.8 21.6 10.8ZM24 8.4 14.4 8.4 14.4 15.6 24 15.6 24 8.4ZM21.6 19.2 21.6 21.6 16.8 21.6 16.8 19.2 21.6 19.2ZM24 16.8 14.4 16.8 14.4 24 24 24 24 16.8Z\",\n list: \"M21.916 2.667 21.916 21.333 2.084 21.333 2.084 2.667 21.916 2.667ZM23.475 0 .525 0C-.183 0-.75.534-.75 1.2L-.75 22.8C-.75 23.334-.183 24 .525 24L23.475 24C24.042 24 24.75 23.334 24.75 22.8L24.75 1.2C24.75.534 24.042 0 23.475 0ZM10.584 5.334 19.083 5.334 19.083 7.999 10.584 7.999 10.584 5.334ZM10.584 10.666 19.083 10.666 19.083 13.333 10.584 13.333 10.584 10.666ZM10.584 16.001 19.083 16.001 19.083 18.666 10.584 18.666 10.584 16.001ZM4.917 5.334 7.751 5.334 7.751 7.999 4.917 7.999 4.917 5.334ZM4.917 10.666 7.751 10.666 7.751 13.333 4.917 13.333 4.917 10.666ZM4.917 16.001 7.751 16.001 7.751 18.666 4.917 18.666 4.917 16.001Z\",\n user_group:\n \"M7.569 12C9.712 12 11.446 10.249 11.446 8.086 11.446 5.923 9.712 4.172 7.569 4.172 5.427 4.172 3.692 5.923 3.692 8.086 3.692 10.249 5.427 12 7.569 12ZM10.228 13.118H9.94C9.22 13.468 8.421 13.678 7.569 13.678 6.718 13.678 5.922 13.468 5.198 13.118H4.911C2.709 13.118.923 14.922.923 17.144V18.151C.923 19.077 1.667 19.828 2.585 19.828H12.554C13.471 19.828 14.215 19.077 14.215 18.151V17.144C14.215 14.922 12.429 13.118 10.228 13.118ZM17.538 12C19.373 12 20.862 10.497 20.862 8.645 20.862 6.793 19.373 5.29 17.538 5.29 15.704 5.29 14.215 6.793 14.215 8.645 14.215 10.497 15.704 12 17.538 12ZM19.2 13.118H19.068C18.587 13.286 18.078 13.398 17.538 13.398 16.998 13.398 16.49 13.286 16.008 13.118H15.877C15.171 13.118 14.52 13.325 13.949 13.657 14.793 14.576 15.323 15.795 15.323 17.144V18.486C15.323 18.563 15.306 18.637 15.302 18.71H21.415C22.333 18.71 23.077 17.959 23.077 17.033 23.077 14.869 21.343 13.118 19.2 13.118Z\",\n download:\n \"M11.3093 16.0107C11.3319 16.0397 11.3609 16.0631 11.3939 16.0792C11.427 16.0953 11.4632 16.1037 11.5 16.1037C11.5368 16.1037 11.573 16.0953 11.6061 16.0792C11.6391 16.0631 11.6681 16.0397 11.6907 16.0107L15.0813 11.721C15.2055 11.5636 15.0935 11.3305 14.8906 11.3305H12.6474V1.08594C12.6474 0.952734 12.5384 0.84375 12.4052 0.84375H10.5888C10.4556 0.84375 10.3466 0.952734 10.3466 1.08594V11.3274H8.10938C7.90654 11.3274 7.79453 11.5605 7.91865 11.718L11.3093 16.0107ZM22.5801 14.9512H20.7637C20.6305 14.9512 20.5215 15.0602 20.5215 15.1934V19.8555H2.47852V15.1934C2.47852 15.0602 2.36953 14.9512 2.23633 14.9512H0.419922C0.286719 14.9512 0.177734 15.0602 0.177734 15.1934V21.1875C0.177734 21.7233 0.610645 22.1562 1.14648 22.1562H21.8535C22.3894 22.1562 22.8223 21.7233 22.8223 21.1875V15.1934C22.8223 15.0602 22.7133 14.9512 22.5801 14.9512Z\",\n send: \"M20.625 1.375L8.25 13.75M1.375 11L20.625 1.375L11 20.625L8.25 13.75L1.375 11Z\",\n edit_box:\n \"M1.004 23.021V4.459H12.271L10.208 6.521H3.067V20.959H17.504V13.792L19.567 11.729V23.021H1.004ZM14.591 5.052 16.061 6.496 9.254 13.302V14.772H10.698L17.53 7.939 19 9.383 11.575 16.834H7.192V12.451L14.591 5.052ZM19 9.383 14.591 5.052 18.664.979 22.996 5.387 19 9.383Z\",\n portrait:\n \"M4.357 18.369H19.643L14.866 12 11.045 17.096 8.178 13.274 4.357 18.369ZM.535 23.465V.535H23.465V23.465H.535ZM3.083 20.917H20.917V3.083H3.083V20.917Z\",\n revert_change:\n \"M9.701 22.07c-1.516-.404-3.26-1.339-3.992-2.148l-.48-.531-.126.96c-.101.859-.227.985-.758.985-.632 0-.632-.025-.632-2.148l0-2.148 2.148 0c2.123 0 2.148 0 2.148.632 0 .531-.152.657-.884.758l-.884.152 1.263.809c2.78 1.819 5.913 2.021 8.819.581 1.895-.935 3.234-2.325 4.169-4.296.556-1.188.657-1.769.657-3.563 0-1.92-.101-2.35-.834-3.841-.985-1.996-2.35-3.31-4.498-4.27-.884-.404-1.617-.884-1.617-1.087 0-1.668 3.386-.328 5.812 2.274 2.855 3.057 3.563 7.631 1.744 11.396-.708 1.491-2.704 3.639-4.144 4.498-2.274 1.314-5.306 1.693-7.909.985zM11.343 17.774c-.101-.101-.177-1.516-.177-3.108l0-2.931 2.249-2.249c1.516-1.516 2.375-2.198 2.704-2.123 1.036.202 .682 1.011-1.39 3.083l-2.021 2.047-.076 2.653c-.076 2.451-.126 2.653-.581 2.729-.303.051-.606 0-.708-.101zM2.246 12.72c-.455-.455-.051-3.108.505-3.31.733-.278 1.061.48 .884 1.946-.152 1.137-.278 1.415-.682 1.466-.303.051-.606 0-.708-.101zM3.257 8.652c-.606-.581.809-3.234 1.718-3.234.783 0 .733.859-.126 2.224-.708 1.112-1.188 1.415-1.592 1.011zM5.961 4.912c-.253-.606.076-1.112 1.011-1.541 1.718-.834 2.299.202 .733 1.289-1.087.733-1.541.783-1.744.253zM9.246 3.143c-.303-.733.48-1.162 2.198-1.213 1.39-.051 1.617.025 1.693.43 .152.682-.152.834-2.047 1.036-1.44.152-1.718.101-1.845-.253z\",\n expand_list:\n \"M.75 13.875H11.063V19.661L8.638 17.237 7.313 18.563 12 23.25 16.688 18.563 15.362 17.237 12.938 19.661V13.875H23.25V12H.75V13.875ZM21.375.75H2.625C2.128.75 1.651.948 1.299 1.299.948 1.651.75 2.128.75 2.625V6.375C.75 6.872.948 7.349 1.299 7.701 1.651 8.052 2.128 8.25 2.625 8.25H21.375C21.872 8.25 22.349 8.052 22.701 7.701 23.053 7.349 23.25 6.872 23.25 6.375V2.625C23.25 2.128 23.053 1.651 22.701 1.299 22.349.948 21.872.75 21.375.75ZM21.375 6.375H2.625V2.625H21.375V6.375Z\",\n collapse_list:\n \"M.75 10.125H11.063V4.339L8.638 6.763 7.313 5.438 12 .75 16.688 5.438 15.362 6.763 12.938 4.339V10.125H23.25V12H.75V10.125ZM21.375 23.25H2.625C2.128 23.25 1.651 23.052 1.299 22.701.948 22.349.75 21.872.75 21.375V17.625C.75 17.128.948 16.651 1.299 16.299 1.651 15.948 2.128 15.75 2.625 15.75H21.375C21.872 15.75 22.349 15.948 22.701 16.299 23.053 16.651 23.25 17.128 23.25 17.625V21.375C23.25 21.872 23.053 22.349 22.701 22.701 22.349 23.052 21.872 23.25 21.375 23.25ZM21.375 17.625H2.625V21.375H21.375V17.625Z\",\n datatable_expand: \"M 0 24 L 18 12 L -0 0 L -0 5 L 11 12 L -0 19 L 0 24\",\n expand_content:\n \"M19.998 22.667l-15.995 0c-1.471 0-2.664-1.194-2.664-2.664l0-16.005c0-1.47 1.194-2.664 2.664-2.664l15.995 0c1.471 0 2.664 1.194 2.664 2.664l0 16.005c0 1.471-1.194 2.664-2.664 2.664Zm-11.548-1.778 0-17.777-4.005 0c-.733 0-1.328.595-1.328 1.328l0 15.12c0 .733.595 1.328 1.328 1.328l4.005 0Zm11.107-17.777-9.329 0 0 17.777 9.329 0c.733 0 1.328-.595 1.328-1.328l0-15.12c0-.733-.595-1.328-1.328-1.328ZM4.894 15.011l3.035-3.035-3.035-3.035-1.257 1.257 1.778 1.778-1.778 1.778 1.257 1.257Z\",\n hide_content:\n \"M19.998 22.667l-15.995 0c-1.471 0-2.664-1.194-2.664-2.664l0-16.005c0-1.47 1.194-2.664 2.664-2.664l15.995 0c1.471 0 2.664 1.194 2.664 2.664l0 16.005c0 1.471-1.194 2.664-2.664 2.664Zm-11.548-1.778 0-17.777-4.005 0c-.733 0-1.328.595-1.328 1.328l0 15.12c0 .733.595 1.328 1.328 1.328l4.005 0Zm11.107-17.777-9.329 0 0 17.777 9.329 0c.733 0 1.328-.595 1.328-1.328l0-15.12c0-.733-.595-1.328-1.328-1.328ZM6.671 15.011l-3.035-3.035 3.035-3.035 1.257 1.257-1.778 1.778 1.778 1.778-1.257 1.257Z\",\n impersonate:\n \"M10.11.06c-.05 0-.13.02-.27.15s-.3.36-.46.64a12.1 12.1 0 0 0-.87 2.3c-.22.74-.4 1.52-.53 2.23a9.4 9.4 0 0 0 8.04 0c-.13-.7-.31-1.5-.53-2.24-.25-.88-.56-1.71-.87-2.29a2.75 2.75 0 0 0-.46-.64c-.14-.13-.22-.15-.27-.15-.33 0-.45.07-.54.14a.88.88 0 0 0-.22.37c-.06.18-.12.4-.27.64-.16.24-.5.45-.86.45-.37 0-.7-.2-.87-.45-.16-.24-.2-.47-.27-.64a.87.87 0 0 0-.22-.37c-.08-.07-.2-.14-.53-.14zM7.82 6.3c-.07.46-.11.86-.13 1.13.33.26.89.5 1.58.67.8.19 1.77.29 2.73.29s1.93-.1 2.73-.3a4.3 4.3 0 0 0 1.58-.66 12.4 12.4 0 0 0-.13-1.13 10.38 10.38 0 0 1-8.36 0zm-.99.59c-.95.17-1.82.37-2.58.58-.98.28-1.78.58-2.3.83-.27.13-.47.25-.58.33l-.02.03.08.12c.1.11.28.25.53.4.5.27 1.29.54 2.27.77 1.97.46 4.73.75 7.77.75 3.04 0 5.8-.3 7.77-.75.98-.23 1.77-.5 2.27-.78.25-.14.43-.28.53-.39a.54.54 0 0 0 .08-.12l-.02-.03c-.1-.08-.3-.2-.57-.33-.53-.25-1.33-.55-2.31-.83-.76-.21-1.63-.41-2.58-.58.03.29.05.54.05.74v.2l-.14.12c-.5.51-1.26.82-2.15 1.03a13.5 13.5 0 0 1-5.86 0 4.42 4.42 0 0 1-2.15-1.03l-.14-.13v-.19c0-.2.02-.45.05-.74zm.06 4.42c.07 3.26 2.36 5.8 5.11 5.8 2.75 0 5.04-2.54 5.11-5.8l-.95.1c-.07.27-.35 1.27-.78 1.54-.68.43-1.7.4-2.39 0-.4-.22-.73-.96-.9-1.35h-.19c-.16.39-.5 1.13-.9 1.35-.69.4-1.7.43-2.38 0-.43-.27-.71-1.27-.78-1.54l-.95-.1zm-.78 1.2a14.6 14.6 0 0 0-5.64 3.07c2.11.22 3.35 1.07 5.03 2.44l.84.7-1.08.1c-.68.07-1.41.43-1.95.87-.3.24-.5.5-.64.72 2.22.3 3.65.5 4.87 1.01.92.38 1.72.95 2.66 1.8l.27-1.19c-.1-.48-.2-1-.34-1.52a7.88 7.88 0 0 1-.66-1.1 2.4 2.4 0 0 1-.3-1.04c0-.16.05-.32.12-.46l-.35-.84a6.93 6.93 0 0 1-2.83-4.56zm11.78 0a6.94 6.94 0 0 1-2.83 4.56l-.35.84c.07.14.12.3.12.46 0 .35-.13.67-.3 1.04-.17.36-.4.74-.66 1.1a22.2 22.2 0 0 0-.34 1.54l.25 1.18a9.21 9.21 0 0 1 2.68-1.8c1.22-.51 2.65-.73 4.87-1.02a3.05 3.05 0 0 0-.64-.72 3.97 3.97 0 0 0-1.95-.87l-1.08-.1.84-.7c1.68-1.37 2.92-2.22 5.03-2.44a14.6 14.6 0 0 0-5.64-3.07zM12 18.02c-.4 0-.97 0-1.4.1a1.4 1.4 0 0 0-.47.16c-.08.06-.07.04-.07.1 0 .04.07.33.22.64a7.1 7.1 0 0 0 1.31 1.84c.2.19.4.26.41.27.02-.01.2-.08.4-.27a7.1 7.1 0 0 0 1.31-1.84c.16-.31.23-.6.23-.65 0-.05 0-.03-.07-.09a1.4 1.4 0 0 0-.47-.17c-.43-.08-1-.09-1.4-.09zm0 3.11zm-.58.74-.46 2.07h2.06l-.45-2.07a1.1 1.1 0 0 1-1.15 0z\",\n client_access:\n \"M13.5 13a7 7 0 0 0-3-2.9 5 5 0 0 0 2.1-4c0-.7-.1-1.4-.4-2a5.3 5.3 0 0 0-2.8-2.8 5 5 0 0 0-2-.4c-.7 0-1.4.1-2 .4a5.4 5.4 0 0 0-2.7 2.8 5.2 5.2 0 0 0 1.6 6 7 7 0 0 0-3.4 4.2c-.2.6-.3 1.2-.3 1.9h1.8A4.9 4.9 0 0 1 4 12.7a4 4 0 0 1 1.6-1 4.6 4.6 0 0 1 3.8 0 5.1 5.1 0 0 1 2.7 2.6c.3.6.4 1.2.4 1.9a5.2 5.2 0 0 0 2 4 7 7 0 0 0-3.4 4.2c-.2.6-.3 1.3-.3 2h1.8a4.9 4.9 0 0 1 1.5-3.6 4.8 4.8 0 0 1 3.5-1.4c.6 0 1.3 0 1.9.3a5.1 5.1 0 0 1 2.6 2.7c.3.6.4 1.2.4 2h1.9a6.5 6.5 0 0 0-1-3.7 6.8 6.8 0 0 0-2.7-2.4 5 5 0 0 0 2-4.1c0-.7-.1-1.4-.4-2a5.3 5.3 0 0 0-2.7-2.8 5.2 5.2 0 0 0-6 1.6Zm.6-8.6h5v5.1H21v-7h-7v1.8ZM8.7 9c-.4.2-.8.2-1.3.2-.4 0-.9 0-1.2-.2a3 3 0 0 1-1-.7c-.4-.3-.6-.7-.8-1-.2-.5-.2-.9-.2-1.3 0-.5 0-1 .2-1.3.2-.4.4-.8.7-1 .3-.4.7-.6 1-.8l1.3-.2c.5 0 1 0 1.3.2.4.2.8.4 1 .7l.8 1.1.2 1.3c0 .4 0 .9-.2 1.2a3 3 0 0 1-.7 1L8.7 9Zm10.1 10.1-1.2.3c-.5 0-1-.1-1.3-.3a3 3 0 0 1-1-.7c-.4-.3-.6-.7-.8-1l-.2-1.3c0-.5 0-.9.2-1.3l.7-1c.4-.3.7-.6 1.1-.7a2.8 2.8 0 0 1 2.5 0c.4.1.8.4 1 .7.4.3.6.6.8 1 .2.4.2.8.2 1.3 0 .4 0 .9-.2 1.3a3 3 0 0 1-.7 1l-1 .7Z\",\n arrow_down:\n \"M12 18.55C11.733 18.55 11.475 18.5 11.226 18.4 10.975 18.3 10.767 18.167 10.6 18L1.4 8.8C1.033 8.433.85 7.967.85 7.4.85 6.833 1.033 6.367 1.4 6 1.767 5.633 2.233 5.45 2.8 5.45 3.367 5.45 3.833 5.633 4.2 6L12 13.8 19.8 6C20.167 5.633 20.633 5.45 21.2 5.45 21.767 5.45 22.233 5.633 22.6 6 22.967 6.367 23.15 6.833 23.15 7.4 23.15 7.967 22.967 8.433 22.6 8.8L13.4 18C13.2 18.2 12.983 18.341 12.75 18.424 12.517 18.508 12.267 18.55 12 18.55Z\",\n columns_edit:\n \"M6.237 3.001C7.204 3.001 7.987 3.784 7.987 4.751V19.251C7.987 20.217 7.204 21.001 6.237 21.001H3.737C2.771 21.001 1.987 20.217 1.987 19.251V4.751C1.987 3.833 2.694 3.08 3.594 3.007L3.737 3.001H6.237ZM6.237 4.501H3.737L3.68 4.507C3.57 4.533 3.487 4.632 3.487 4.751V19.251C3.487 19.389 3.599 19.501 3.737 19.501H6.237C6.375 19.501 6.487 19.389 6.487 19.251V4.751C6.487 4.613 6.375 4.501 6.237 4.501ZM20.263 3.001C21.23 3.001 22.013 3.784 22.013 4.751V11.266C21.537 11.062 21.022 10.975 20.513 11.006V4.751C20.513 4.613 20.401 4.501 20.263 4.501H17.763C17.625 4.501 17.513 4.613 17.513 4.751V12.842L16.013 14.342V4.751C16.013 3.784 16.797 3.001 17.763 3.001H20.263ZM20.513 19.135 22.013 17.635V19.251C22.013 20.217 21.23 21.001 20.263 21.001H18.648L20.148 19.501H20.263C20.401 19.501 20.513 19.389 20.513 19.251V19.135ZM14.987 4.75V15.368L13.487 16.868V4.75C13.487 4.612 13.375 4.5 13.237 4.5H10.737C10.599 4.5 10.487 4.612 10.487 4.75V19.25C10.487 19.388 10.599 19.5 10.737 19.5H11.541C11.534 19.526 11.528 19.551 11.521 19.577L11.165 21H10.737C9.771 21 8.987 20.217 8.987 19.25V4.75C8.987 3.784 9.771 3 10.737 3H13.237C14.204 3 14.987 3.784 14.987 4.75ZM19.1 12.67 13.198 18.572C12.854 18.916 12.609 19.347 12.491 19.819L12.034 21.65C11.835 22.446 12.556 23.167 13.352 22.968L15.183 22.511C15.655 22.393 16.086 22.149 16.43 21.804L22.333 15.902C23.225 15.009 23.225 13.562 22.333 12.67 21.44 11.777 19.993 11.777 19.1 12.67\",\n video:\n \"M17 10.5V7C17 6.73478 16.8946 6.48043 16.7071 6.29289C16.5196 6.10536 16.2652 6 16 6H4C3.73478 6 3.48043 6.10536 3.29289 6.29289C3.10536 6.48043 3 6.73478 3 7V17C3 17.2652 3.10536 17.5196 3.29289 17.7071C3.48043 17.8946 3.73478 18 4 18H16C16.2652 18 16.5196 17.8946 16.7071 17.7071C16.8946 17.5196 17 17.2652 17 17V13.5L21 17.5V6.5L17 10.5ZM8 15V9L12.5 12L8 15Z\",\n link: \"M14.851 11.923c-.179-.641-.521-1.246-1.025-1.749-1.562-1.562-4.095-1.563-5.657 0l-4.998 4.998c-1.562 1.563-1.563 4.095 0 5.657 1.562 1.563 4.096 1.561 5.656 0l3.842-3.841.333.009c.404 0 .802-.04 1.189-.117l-4.657 4.656c-.975.976-2.255 1.464-3.535 1.464-1.28 0-2.56-.488-3.535-1.464-1.952-1.951-1.952-5.12 0-7.071l4.998-4.998c.975-.976 2.256-1.464 3.536-1.464 1.279 0 2.56.488 3.535 1.464.493.493.861 1.063 1.105 1.672l-.787.784zm-5.703.147c.178.643.521 1.25 1.026 1.756 1.562 1.563 4.096 1.561 5.656 0l4.999-4.998c1.563-1.562 1.563-4.095 0-5.657-1.562-1.562-4.095-1.563-5.657 0l-3.841 3.841-.333-.009c-.404 0-.802.04-1.189.117l4.656-4.656c.975-.976 2.256-1.464 3.536-1.464 1.279 0 2.56.488 3.535 1.464 1.951 1.951 1.951 5.119 0 7.071l-4.999 4.998c-.975.976-2.255 1.464-3.535 1.464-1.28 0-2.56-.488-3.535-1.464-.494-.495-.863-1.067-1.107-1.678l.788-.785z\",\n filter:\n \"M2 5h3.545a3 3 0 0 0 5.91 0H22a.5.5 0 0 0 0-1H11.455A3 3 0 0 0 5.545 4H2a.5.5 0 0 0 0 1zM8.5 2.5a2 2 0 1 1-2 2A2 2 0 0 1 8.5 2.5zM22 11.5H18.455a3 3 0 0 0-5.91 0H2a.5.5 0 0 0 0 1H12.545a3 3 0 0 0 5.91 0H22a.5.5 0 0 0 0-1zM15.5 14a2 2 0 1 1 2-2A2 2 0 0 1 15.5 14zM22 19H11.455a3 3 0 0 0-5.91 0H2a.5.5 0 0 0 0 1h3.545a3 3 0 0 0 5.91 0H22a.5.5 0 0 0 0-1zM8.5 21.5a2 2 0 1 1 2-2A2 2 0 0 1 8.5 21.5z\",\n bell: \"M0.685608 14.2878V12.7087H2.44881V6.96573C2.44881 5.78965 2.79029 4.73422 3.47324 3.79944C4.1562 2.86467 5.06562 2.27239 6.20149 2.02261V1.50923C6.20149 1.14983 6.32883 0.851587 6.58351 0.614509C6.8382 0.377444 7.1437 0.258911 7.5 0.258911C7.8563 0.258911 8.1618 0.377444 8.41649 0.614509C8.67117 0.851587 8.79851 1.14983 8.79851 1.50923V2.02261C9.94185 2.27239 10.8583 2.8628 11.5478 3.79384C12.2374 4.72488 12.5822 5.78218 12.5822 6.96573V12.7087H14.3256V14.2878H0.685608ZM7.5056 16.6963C7.05765 16.6963 6.66592 16.5326 6.33041 16.205C5.99491 15.8774 5.82717 15.4836 5.82717 15.0235H9.18401C9.18401 15.4888 9.01879 15.8839 8.68835 16.2089C8.35792 16.5338 7.96367 16.6963 7.5056 16.6963ZM4.01666 12.7087H11.0031V6.96573C11.0031 5.98935 10.6667 5.1581 9.99375 4.47198C9.32083 3.78587 8.49618 3.44282 7.51979 3.44282C6.5434 3.44282 5.71545 3.78587 5.03594 4.47198C4.35642 5.1581 4.01666 5.98935 4.01666 6.96573V12.7087Z\",\n sound:\n \"M15 1.29v21.42L5.737 17.5H1v-11h4.737L15 1.29ZM4.999 8.5H3v7h1.999v-7Zm2 7.415L13 19.29V4.71L6.999 8.084v7.83Zm13.98-8.933l.603.798a7 7 0 0 1-.003 8.44l-.603.798l-1.595-1.206l.603-.798a5 5 0 0 0 .002-6.03l-.603-.797l1.596-1.205ZM18.186 9.09l.603.798a3.5 3.5 0 0 1-.001 4.22l-.604.798L16.59 13.7l.603-.797a1.5 1.5 0 0 0 .001-1.809l-.603-.798l1.596-1.205Z\",\n revert:\n \"M10 11H7.101l.001-.009a4.956 4.956 0 0 1 .752-1.787a5.054 5.054 0 0 1 2.2-1.811c.302-.128.617-.226.938-.291a5.078 5.078 0 0 1 2.018 0a4.978 4.978 0 0 1 2.525 1.361l1.416-1.412a7.036 7.036 0 0 0-2.224-1.501a6.921 6.921 0 0 0-1.315-.408a7.079 7.079 0 0 0-2.819 0a6.94 6.94 0 0 0-1.316.409a7.04 7.04 0 0 0-3.08 2.534a6.978 6.978 0 0 0-1.054 2.505c-.028.135-.043.273-.063.41H2l4 4l4-4zm4 2h2.899l-.001.008a4.976 4.976 0 0 1-2.103 3.138a4.943 4.943 0 0 1-1.787.752a5.073 5.073 0 0 1-2.017 0a4.956 4.956 0 0 1-1.787-.752a5.072 5.072 0 0 1-.74-.61L7.05 16.95a7.032 7.032 0 0 0 2.225 1.5c.424.18.867.317 1.315.408a7.07 7.07 0 0 0 2.818 0a7.031 7.031 0 0 0 4.395-2.945a6.974 6.974 0 0 0 1.053-2.503c.027-.135.043-.273.063-.41H22l-4-4l-4 4z\",\n upload:\n \"M11 16V7.85l-2.6 2.6L7 9l5-5l5 5l-1.4 1.45l-2.6-2.6V16h-2Zm-7 4v-5h2v3h12v-3h2v5H4Z\",\n folder:\n \"M3.5,21 L20.5,21 C21.3284271,21 22,20.3284271 22,19.5 L22,8.5 C22,7.67157288 21.3284271,7 20.5,7 L10,7 L7.43933983,4.43933983 C7.15803526,4.15803526 6.77650439,4 6.37867966,4 L3.5,4 C2.67157288,4 2,4.67157288 2,5.5 L2,19.5 C2,20.3284271 2.67157288,21 3.5,21 Z\",\n file: \"M5.85714286,2 L13.7364114,2 C14.0910962,2 14.4343066,2.12568431 14.7051108,2.35473959 L19.4686994,6.3839416 C19.8056532,6.66894833 20,7.08787823 20,7.52920201 L20,20.0833333 C20,21.8738751 19.9795521,22 18.1428571,22 L5.85714286,22 C4.02044787,22 4,21.8738751 4,20.0833333 L4,3.91666667 C4,2.12612489 4.02044787,2 5.85714286,2 Z\",\n visibility_view:\n \"M12 4.5c-5 0-9.27 3.11-11 7.5 1.73 4.39 6 7.5 11 7.5 5.01 0 9.27-3.11 11-7.5-1.73-4.39-5.99-7.5-11-7.5zm0 12.5c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\",\n visibility_hide:\n \"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.27-.36 1.83l2.93 2.93c1.51-1.26 2.7-2.89 3.43-4.75C21.74 8.52 17.37 5 12 5c-1.4 0-2.74.25-3.98.7l2.16 2.16c.57-.22 1.18-.36 1.82-.36zm-10-2.73l2.28 2.28.46.46C3.35 8.57 2.05 10.28 1.27 12.5 3.48 17.39 7.74 21 12 21c1.55 0 3.03-.3 4.38-.85l.42.42 2.92 2.92 1.27-1.27-17.73-17.73L2 4.27zm5.53 5.53l1.54 1.54c-.04.21-.07.43-.07.66 0 1.65 1.35 3 3 3 .23 0 .45-.03.65-.07l1.54 1.54c-.67.33-1.4.53-2.2.53-2.76 0-5-2.24-5-5 0-.8.2-1.54.53-2.2zm4.31-.78l3.15 3.15.01-.16c0-1.65-1.35-3-3-3l-.16.01z\",\n csv: \"M14 2H6C4.9 2 4 2.9 4 4v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zm-1 7h4v2H7V9h6zm4 4v2H7v-2h10zm0 4v2H7v-2h10z\",\n};\n","export default {\n NOTIFICATION: \"event.notification\",\n CONFIRMATION: \"event.confirmation\",\n CLOSE_CONFIRMATION: \"event.close-confirmation\",\n CODE_INFORMATION: \"event.code-information\",\n UPDATE_ROUTE_ACTIONS: \"event.update-route-actions\",\n REFRESH_PROJECT: \"event.refresh-project-page\",\n REFRESH_AVAILABLE_MODULES_LIST: \"event.refresh-available-modules-list\",\n REFRESH_MODULES_TIMELINE: \"event.refresh-modules-timeline\",\n REFRESH_SINGLE_MODULE: \"event.refresh-single-module\",\n REFRESH_SELECTED_SLIDE: \"event.refresh-selected-slide\",\n REFRESH_PUBLISH: \"event.refresh-module-publish\",\n WEBGL_SHOW: \"event.webgl-show\",\n WEBGL_HIDE: \"event.webgl-hide\",\n WEBGL_POST: \"event.webgl-post\",\n WEBGL_RESIZE: \"event.webgl-resize\",\n WEBGL_UPDATE_TIME: \"event.webgl-update-time\",\n REVERT_MODULE_TO_PUBLISHED: \"event.revert-module-to-published\",\n REVERT_MODULE_TO_UNPUBLISHED: \"event.revert-module-to-unpublished\",\n SET_BREADCRUMB_PARAM: \"event.set-breadcrumb-param\",\n TIMELINE_CALC_GENERAL_VALUES: \"event.calc-general-values\",\n TEXT_TO_SPEECH_INITIALIZED: \"event.text-to-speech-initialized\",\n TEXT_TO_SPEECH_RENDER_LAYERS: \"event.text-to-speech-render-layers\",\n TEXT_TO_SPEECH_SLIDE_READY: \"event.text-to-speech-slide-ready\",\n SHOW_CONTEXT_MENU: \"event.show-context-menu\",\n SHOW_CONTENT_CONTEXT: \"event.content-item:context-menu\",\n CHANGE_OPENING_TYPE_QUERY: \"event.change-opening-type-query-test\",\n MODULE_PUBLISHED: \"event.module-published\",\n PROJECT_PUBLISHED: \"event.project-published\",\n AITOPIC_PUBLISHED: \"event.aitopic-published\",\n ADD_MODULE_TIMELINE: \"event.add-module-timeline\",\n REMOVE_MODULE_TIMELINE: \"event.remove-module-timeline\",\n MOVE_MODULE_TIMELINE: \"event.move-module-timeline\",\n SHOW_LOADER_TOPIC: \"event.show-loader-topic\",\n HIDE_LOADER_TOPIC: \"event.hide-loader-topic\",\n ADD_SECONDARY_QUESTION: \"event.add-secondary-question\",\n ADDED_SECONDARY_QUESTION: \"event-added-secondary-question\",\n UPDATE_TITLE_HEADER: \"event.update-title-header\",\n};\n","import _ from \"lodash\";\nimport axios from \"axios\";\nimport _apiConfig from \"../../../public/api_config_default.json\";\n\nlet apiConfig = _.cloneDeep(_apiConfig);\n\nfunction initApiConfig() {\n return axios\n .get(\"/api_config.json\")\n .then((response: any) => {\n apiConfig = response.data;\n })\n .catch(() => {\n console.log(\"Fail to get api config\");\n });\n}\n\nexport { initApiConfig, apiConfig };\n","import { apiConfig } from \"./apiConfig\";\n\nconst getEndpoints = () => {\n const apiUrl = apiConfig.API_URL;\n const qaUrl = apiConfig.API_BACKEND_URL;\n\n return {\n AUTH: {\n LOGIN: `${apiUrl}/api/Account/Login`,\n LOGOUT: `${apiUrl}/api/Account/Logout`,\n FORGOT_PASSWORD: `${apiUrl}/api/Account/ForgotPassword`,\n CHANGE_PASSWORD: `${apiUrl}/api/Account/ChangePassword`,\n USER_INFO: `${apiUrl}/api/UserInfo/GetLoggedInUserDetail`,\n RESET_PASSWORD: `${apiUrl}/api/Account/ResetPassword`,\n CONFIRM_EMAIL: `${apiUrl}/api/Account/ConfirmEmail`,\n IMPERSONATE_USER: `${apiUrl}/api/Account/ImpersonateUser`,\n REVERT_IMPERSONATION: `${apiUrl}/api/Account/StopImpersonation`,\n USERS: `${apiUrl}/api/Account/Users/Users`,\n SET_USER_AGREEMENT: `${apiUrl}/api/UserInfo/SetUserAgreement`,\n ADD_USER_DETAIL: `${apiUrl}/api/UserInfo/AddUserDetail`,\n GET_SERVICE_STATUS: `${apiUrl}/api/UserInfo/GetProductServiceStatus`,\n },\n ANALYTICS: {\n USERS_PER_DAY: `${apiUrl}/api/Analytics/UsersPerDay`,\n GET_POPULAR_STATS: `${apiUrl}/api/Analytics/getPopularStats`,\n GET_TOP_MODULES: `${apiUrl}/api/Analytics/getTopModules`,\n GET_TOP_PROJECTS: `${apiUrl}/api/Analytics/getTopProjects`,\n GET_FEEDBACK: `${apiUrl}/api/Analytics/getFeedback`,\n GET_OS_BREAKDOWN: `${apiUrl}/api/Analytics/getOSBreakdown`,\n GET_QUESTION_INFO: `${apiUrl}/api/Analytics/getQuestionModuleInfo`,\n GET_PRESENTATION_INFO: `${apiUrl}/api/Analytics/getPresentationInfo`,\n GET_QUIZ_INFO: `${apiUrl}/api/Analytics/getQuizInfo`,\n GET_CODE_DETAILS: `${apiUrl}/api/Analytics/getCodeDetails`,\n GET_MULTIPLE_CODE_DETAILS: `${apiUrl}/api/Analytics/getMultipleCodeDetails`,\n GET_FORM_LIST: `${apiUrl}/api/Analytics/getFormList`,\n GET_FORM_INFO: `${apiUrl}/api/Analytics/getFormInfo`,\n GET_SESSION_LIST: `${apiUrl}/api/Analytics/getSessionList`,\n GET_SESSION_INFO: `${apiUrl}/api/Analytics/getSessionInfo`,\n GET_ALL_DATA: `${apiUrl}/api/Analytics/getAllData`,\n },\n USERS: {\n LIST_ALL: `${apiUrl}/api/User/Users`,\n LIST: `${apiUrl}/api/User/GetAllClientUsers`,\n LIST_ALL_PAGINATION: `${apiUrl}/api/User/GetAllUsers`,\n ADD: `${apiUrl}/api/User/AddUser`,\n USER_INFO: `${apiUrl}/api/User/GetUser`,\n UPDATE_INFO: `${apiUrl}/api/User/UpdateUser`,\n RESET_PASSWORD: `${apiUrl}/api/User/ResetPassword`,\n DELETE: `${apiUrl}/api/User/DeleteUser`,\n },\n CLIENTS: {\n LIST: `${apiUrl}/api/Client/GetClient`,\n POST_PUT: `${apiUrl}/api/Client/PostPutClient`,\n DELETE: `${apiUrl}/api/Client/DeleteClient`,\n },\n ROLES: {\n LIST: `${apiUrl}/api/Role/GetRoleByClientId`,\n },\n PROJECTS: {\n GET: `${apiUrl}/api/Project/GetProject`,\n CREATE_UPDATE: `${apiUrl}/api/Project/PutPostProject`,\n LIST: `${apiUrl}/api/Project/GetProjectAndModuleCount`,\n DELETE: `${apiUrl}/api/Project/DeleteProject`,\n SEARCH: `${apiUrl}/api/Project/DeleteProject`,\n UPDATE_MODULE_LIST: `${apiUrl}/api/Project/UpdateModules`,\n COPY: `${apiUrl}/api/Project/CopyProject`,\n PUBLISH: `${apiUrl}/api/Project/PublishProject`,\n REVERT_TO_PUBLISHED: `${apiUrl}/api/Project/RevertToPublished`,\n SET_INTRO_VIDEO: `${apiUrl}/api/Project/SetIntroVideoURL`,\n CLEAR_PRONUNCIATIONS: `${apiUrl}/api/Project/ClearPronunciation`,\n GET_MOST_RECENT: `${apiUrl}/api/Project/GetMostRecent`,\n GET_PROJECT_MODULES_UNPUBLISHED_CHANGES: `${apiUrl}/api/Project/ProjectModulesUnpublishedsChanges`,\n },\n CODES: {\n CREATE: `${apiUrl}/api/Code/AddNewCode`,\n LIST: `${apiUrl}/api/Code/GetAllCodes`,\n TOP_LIST: `${apiUrl}/api/Analytics/getTopCodes`,\n RECENT_LIST: `${apiUrl}/api/Analytics/getRecentCodes`,\n ACTIVATE_DESACTIVATE: `${apiUrl}/api/Code/ActivateDeactivateCode`,\n COPY: `${apiUrl}/api/Code/GetDuplicateCodeDetails`,\n DELETE: `${apiUrl}/api/Code/Delete`,\n SEND_SMS: `${apiUrl}/api/Code/SendCodesOnSms`,\n SEND_EMAIL: `${apiUrl}/api/Code/SendCodesOnMail`,\n UPDATE_TAG: `${apiUrl}/api/Code/UpdateCodeTags`,\n UPDATE_CODE: `${apiUrl}/api/Code/UpdateCode`,\n GET_DETAILS: `${apiUrl}/api/Code/GetCode`,\n GET_BY_CODE_NAME: `${apiUrl}/api/Code/GetCodesByCodeName`,\n GET_CODES_BY_PROJECT: `${apiUrl}/api/Code/GetCodesByProject`,\n GET_CODES_BY_MODULE: `${apiUrl}/api/Code/GetCodesByModule`,\n GET_CODES_BY_TOPIC: `${apiUrl}/api/Code/GetCodesByTopic`,\n SHARE_CODE: `${apiUrl}/api/Code/ShareCode`,\n },\n TAGS: {\n LIST: `${apiUrl}/api/Tags/GetAllTags`,\n LIST_CLIENT_TAGS: `${apiUrl}/api/Tags/GetAllClientTags`,\n CREATE: `${apiUrl}/api/Tags/AddUserTags`,\n ADD_EDIT_TAGS_MODULE: `${apiUrl}/api/Module/addEditTags`,\n UPDATE_TAGS: `${apiUrl}/api/Topic/UpdateTopicTags`,\n },\n MODULES: {\n GET: `${apiUrl}/api/Module/GetModule`,\n GET_MODULE_DATA: `${apiUrl}/api/Module/GetModuleData`,\n CREATE: `${apiUrl}/api/Module/PostModule`,\n DELETE: `${apiUrl}/api/Module/Delete`,\n TIMELINE_MODULES: `${apiUrl}/api/Module/GetTimelineModules`,\n GET_ALL_MODULELIST: `${apiUrl}/api/Module/GetAllAvailableModules`,\n UPDATE_NAME: `${apiUrl}/api/Module/UpdateModuleName`,\n SAVE_TOPIC_LIST: `${apiUrl}/api/Module/SaveActiveTopicList`,\n AVAILABLE_TOPICS: `${apiUrl}/api/Module/GetAvailableTopics`,\n COPY: `${apiUrl}/api/Module/CopyModule`,\n PUBLISH: `${apiUrl}/api/Module/PublishModule`,\n REVERT_TO_PUBLISHED: `${apiUrl}/api/Module/RevertToPublished`,\n GET_RECENT_MODULES: `${apiUrl}/api/Module/GetMostRecent`,\n GET_PROJECTS_BY_MODULE: `${apiUrl}/api/Module/GetProjectsByModuleId`,\n GET_MODULE_TOPICS_UNPUBLISHED_CHANGES: `${apiUrl}/api/Module/GetModuleTopicsUnpublishedChanges`,\n },\n QUIZ: {\n GET: `${apiUrl}/api/Quiz/GetQuiz`,\n CREATE: `${apiUrl}/api/Quiz/PutPostQuizSlide`,\n DELETE: `${apiUrl}/api/Quiz/DeleteSlide`,\n SORT: `${apiUrl}/api/Quiz/SortSlides`,\n REVERT_SLIDE: `${apiUrl}/api/Quiz/RevertSlide`,\n },\n PRESENTATION: {\n IMPORT: `${apiUrl}/api/Presentation/ImportPresentation`,\n IMPORT_URL: `${apiUrl}/api/Presentation/ImportPresentationByID`,\n CREATE_SLIDE: `${apiUrl}/api/Presentation/PutPostSlideData`,\n DELETE_SLIDE: `${apiUrl}/api/Presentation/DeleteSlide`,\n GET: `${apiUrl}/api/Presentation/GetPresentation`,\n SORT: `${apiUrl}/api/Presentation/SortSlides`,\n REVERT_SLIDE: `${apiUrl}/api/Presentation/RevertSlide`,\n },\n SPEECH: {\n UPDATE: `${apiUrl}/api/Module/UpdateSpeechModule`,\n },\n INTAKE: {\n GET: `${apiUrl}/api/Intake/GetIntake`,\n CREATE_UPDATE_ENTRY: `${apiUrl}/api/Intake/PutPostIntakeEntry`,\n CREATE_UPDATE: `${apiUrl}/api/Intake/PutPostIntakeModule`,\n DELETE_ENTRY: `${apiUrl}/api/Intake/DeleteEntry`,\n SORT: `${apiUrl}/api/Intake/SortIntake`,\n REVERT_ENTRY: `${apiUrl}/api/Intake/RevertEntry`,\n },\n NAVIGATION: {\n GET: `${apiUrl}/api/Navigation/GetNavigation`,\n CREATE_UPDATE: `${apiUrl}/api/Navigation/PutPostNavigationModule`,\n },\n TOPICS: {\n GET: `${apiUrl}/api/Topic/GetTopic`,\n GET_ALL: `${apiUrl}/api/Topic/GetAllTopics`,\n GET_TOPICS_BY_ID: `${apiUrl}/api/Topic/GetTopics`,\n CREATE: `${apiUrl}/api/Topic/AddTopic`,\n PUBLISH: `${apiUrl}/api/Topic/PublishTopic`,\n REVERT_TO_PUBLISHED: `${apiUrl}/api/Topic/RevertToPublished`,\n GET_MARKUP: `${apiUrl}/api/Markup/GetMarkupData`,\n PUT_POST_MARKUP: `${apiUrl}/api/Markup/PutPostMarkup`,\n GET_RECORDS: `${apiUrl}/api/Record/GetRecords`,\n PUT_POST_RECORD: `${apiUrl}/api/Record/PutPostRecord`,\n DELETE_RECORD: `${apiUrl}/api/Record/Delete`,\n RENAME_TOPIC: `${apiUrl}/api/Topic/UpdateTopicName`,\n IMPORT_CSV: `${apiUrl}/api/Topic/ImportFromCSV`,\n COPY_TOPIC: `${apiUrl}/api/Topic/CopyTopic`,\n DETELE_ALL: `${apiUrl}/api/Topic/DeleteAll`,\n COMPARE_RECORDS: `${apiUrl}/api/Topic/CompareRecords`,\n COMPARE_RECORDS_WITH_PINECONE: `${apiUrl}/api/Topic/CompareRecordsWithPinecone`,\n IMPORT_FROM_SPREADSHEET: `${apiUrl}/api/Topic/ImportFromSpreadsheet`,\n QUERY_TOPIC: `${apiUrl}/api/Topic/QueryTopic`,\n GET_TESTS: `${apiUrl}/api/Topic/GetTestsForTopic`,\n REQUEST_TEST: `${apiUrl}/api/Topic/RequestTest`,\n GET_TEST: `${apiUrl}/api/Topic/GetTest`,\n GET_PROJECTS_BY_TOPIC_ID: `${apiUrl}/api/Topic/GetProjectsByTopicId`,\n EXPORT_TOPIC: `${apiUrl}/api/Topic/ExportTopic`,\n UPDATE_RECORD_INDEX: `${apiUrl}/api/Record/UpdateRecordIndex`,\n },\n ASSETS: {\n UPLOAD_CLIENT: `${apiUrl}/api/Upload/UploadClientFile`,\n },\n UPLOAD: {\n LIST_BLOBS: `${apiUrl}/api/Upload/ListBlobs`,\n LIST_SLIDE_BLOBS: `${apiUrl}/api/Upload/ListSlideBlobs`,\n GET_VIDEOS: `${apiUrl}/api/Upload/GetTagVideos`,\n GET_VIDEO_BY_ID: `${apiUrl}/api/Upload/GetSingleVideo`,\n GET_VIDEO_PICS: `${apiUrl}/api/Upload/GetVideoPics`,\n GET_ANIMATIONS: `${apiUrl}/api/Upload/GetAnimations`,\n UPLOAD_FILE: `${apiUrl}/api/Upload/UploadFile`,\n UPLOAD_ANIMATIONS: `${apiUrl}/api/Upload/UploadAnimations`,\n UPLOAD_FILE_BY_FOLDER: `${apiUrl}/api/Upload/UploadFileByFolder`,\n UPLOAD_IMAGE_64: `${apiUrl}/api/Upload/UploadImageBase64`,\n UPLOAD_VIMEO: `${apiUrl}/api/Upload/UploadVimeo`,\n GET_FILE_BY_FOLDER: `${apiUrl}/api/Upload/GetFileByFolder`,\n UPLOAD_BACKGROUND: `${apiUrl}/api/Upload/UploadBackground`,\n UPLOAD_QRCODE: `${apiUrl}/api/Upload/UploadQRCode`,\n MOVE_PRESENTATION: `${apiUrl}/api/Upload/movePresentationSlides`,\n DELETE_FILE: `${apiUrl}/api/Upload/DeleteFile`,\n DELETE_VIDEO: `${apiUrl}/api/Upload/Deletevideo`,\n },\n MEDIA: {\n CREATE_ASSET_VIDEO: `${apiUrl}/api/media/video`,\n UPLOAD_COMPLETED: `${apiUrl}/api/media/{{mediaId}}/uploaded`,\n GET_MEDIA: `${apiUrl}/api/media`,\n GET_MEDIA_BY_ID: `${apiUrl}/api/media/{mediaId}`,\n GET_ENCONDING_PROGRESS: `${apiUrl}/api/media/{{mediaId}}/encoding/progress`,\n },\n AVATARS: {\n LIST_ALL: `${apiUrl}/api/Avatar/GetAllAvatars`,\n LIST: `${apiUrl}/api/Avatar/GetAvatar`,\n SET_VISIBLE: `${apiUrl}/api/Avatar/SetVisibility`,\n OTHER_LINES: `${apiUrl}/api/AgentLines/GetAllAgentLinesData`,\n TEXT_SPEECH: `${qaUrl}/api/TextToSpeech`,\n },\n USER_ACCESS: {\n GET_USER_CLIENT_LIST: `${apiUrl}/api/UserAccess/GetUserAccessList`,\n GRANT_CLIENT_ACCESS: `${apiUrl}/api/UserAccess/GrantClientAccess`,\n REVOKE_CLIENT_ACCESS: `${apiUrl}/api/UserAccess/RevokeClientAccess`,\n },\n };\n};\n\nexport { getEndpoints };\n","import \"./static/css/main.scss\";\nimport \"@vuepic/vue-datepicker/dist/main.css\";\nimport \"vue-virtual-scroller/dist/vue-virtual-scroller.css\";\nimport \"vue-advanced-cropper/dist/style.css\";\n\nimport _ from \"lodash\";\nimport App from \"./App.vue\";\nimport router from \"./router\";\nimport store from \"./store\";\nimport { createApp, defineAsyncComponent } from \"vue\";\n// Plugins\nimport \"./plugins/veelidateRules\";\nimport globalComponents from \"./plugins/globalComponents\";\nimport dayjs from \"dayjs\";\nimport dayjsUtc from \"dayjs/plugin/utc\";\nimport dayjsDuration from \"dayjs/plugin/duration\";\nimport Datepicker from \"@vuepic/vue-datepicker\";\nimport VueVirtualScroller from \"vue-virtual-scroller\";\nimport localizedFormat from \"dayjs/plugin/localizedFormat\";\n// Constants\nimport icons from \"./assets/icons/icons\";\nimport events from \"./static/ts/events\";\nimport { getEndpoints } from \"./static/ts/endpoints\";\nimport constants from \"./static/ts/constants\";\nimport { initApiConfig, apiConfig } from \"./static/ts/apiConfig\";\n\n// Composables\nimport { useTranslation } from \"./composables\";\n\nlet endpoints = getEndpoints();\n\ndeclare global {\n type DayjsEnum = typeof dayjs;\n type IconsEnum = typeof icons;\n type EventsEnum = typeof events;\n type EndpointsEnum = typeof endpoints;\n type ConstantsEnum = typeof constants;\n type ApiConfigEnum = typeof apiConfig;\n}\n\nasync function init() {\n await initApiConfig();\n endpoints = getEndpoints();\n dayjs.extend(dayjsUtc);\n dayjs.extend(dayjsDuration);\n dayjs.extend(localizedFormat);\n\n const app = createApp(App);\n const translationsComposable = useTranslation();\n\n _.forEach(globalComponents, (value) => {\n app.component(\n `hia-${value.name}`,\n defineAsyncComponent(() => import(`@/components/${value.component}`))\n );\n });\n\n app.component(\"Date-picker\", Datepicker);\n\n const i18n = await translationsComposable.init();\n\n app.provide(\"dayjs\", dayjs);\n app.provide(\"icons\", icons);\n app.provide(\"events\", events);\n app.provide(\"endpoints\", endpoints);\n app.provide(\"constants\", constants);\n app.provide(\"apiConfig\", apiConfig);\n app.provide(\"translation\", translationsComposable.translate());\n\n app.use(i18n).use(store).use(router).use(VueVirtualScroller).mount(\"#app\");\n\n if (apiConfig.INSTANCE !== \"PROD\") {\n document.title = `${apiConfig.INSTANCE} - HIA Aivio Studio`;\n }\n\n store.commit(\"Settings/setSmallScreen\", window.innerWidth <= 1536);\n\n addEventListener(\"resize\", () => {\n store.commit(\"Settings/setSmallScreen\", window.innerWidth <= 1536);\n });\n}\n\ninit();\n","var map = {\n\t\"./ModalSelectFile/FileLinkInput\": [\n\t\t59476,\n\t\t9476\n\t],\n\t\"./ModalSelectFile/FileLinkInput.vue\": [\n\t\t59476,\n\t\t9476\n\t],\n\t\"./ModalSelectFile/ModalCropImage\": [\n\t\t22144,\n\t\t2144,\n\t\t8192\n\t],\n\t\"./ModalSelectFile/ModalCropImage.vue\": [\n\t\t22144,\n\t\t2144,\n\t\t8192\n\t],\n\t\"./ModalSelectFile/ModalImport\": [\n\t\t20818,\n\t\t818\n\t],\n\t\"./ModalSelectFile/ModalImport.vue\": [\n\t\t20818,\n\t\t818\n\t],\n\t\"./ModalSelectFile/ModalSelectFile\": [\n\t\t40735,\n\t\t2764,\n\t\t2144,\n\t\t735,\n\t\t6013\n\t],\n\t\"./ModalSelectFile/ModalSelectFile.vue\": [\n\t\t40735,\n\t\t2764,\n\t\t2144,\n\t\t735,\n\t\t6013\n\t],\n\t\"./ModalSelectFile/modalGallery/Content\": [\n\t\t2764,\n\t\t2764,\n\t\t8113\n\t],\n\t\"./ModalSelectFile/modalGallery/Content.vue\": [\n\t\t2764,\n\t\t2764,\n\t\t8113\n\t],\n\t\"./ModalSelectFile/modalGallery/ModalGallery\": [\n\t\t39996,\n\t\t2764,\n\t\t3310\n\t],\n\t\"./ModalSelectFile/modalGallery/ModalGallery.vue\": [\n\t\t39996,\n\t\t2764,\n\t\t3310\n\t],\n\t\"./admin/client/ModalCopyContent\": [\n\t\t26106,\n\t\t6106\n\t],\n\t\"./admin/client/ModalCopyContent.vue\": [\n\t\t26106,\n\t\t6106\n\t],\n\t\"./admin/client/ModalCreateClient\": [\n\t\t35611,\n\t\t5611\n\t],\n\t\"./admin/client/ModalCreateClient.vue\": [\n\t\t35611,\n\t\t5611\n\t],\n\t\"./admin/client/ModalExportTopic\": [\n\t\t15435,\n\t\t5435\n\t],\n\t\"./admin/client/ModalExportTopic.vue\": [\n\t\t15435,\n\t\t5435\n\t],\n\t\"./admin/client/ModalSelectClient\": [\n\t\t90460,\n\t\t460\n\t],\n\t\"./admin/client/ModalSelectClient.vue\": [\n\t\t90460,\n\t\t460\n\t],\n\t\"./admin/client/ModalSelectContent\": [\n\t\t86208,\n\t\t6208\n\t],\n\t\"./admin/client/ModalSelectContent.vue\": [\n\t\t86208,\n\t\t6208\n\t],\n\t\"./admin/clientAccess/ModalClientList\": [\n\t\t74402,\n\t\t4402\n\t],\n\t\"./admin/clientAccess/ModalClientList.vue\": [\n\t\t74402,\n\t\t4402\n\t],\n\t\"./aiTopics/AnswersCounter\": [\n\t\t59012,\n\t\t9012\n\t],\n\t\"./aiTopics/AnswersCounter.vue\": [\n\t\t59012,\n\t\t9012\n\t],\n\t\"./aiTopics/ModalEditQuestion\": [\n\t\t35301,\n\t\t5301\n\t],\n\t\"./aiTopics/ModalEditQuestion.vue\": [\n\t\t35301,\n\t\t5301\n\t],\n\t\"./aiTopics/ModalQuery\": [\n\t\t11735,\n\t\t1735\n\t],\n\t\"./aiTopics/ModalQuery.vue\": [\n\t\t11735,\n\t\t1735\n\t],\n\t\"./aiTopics/RecordItem\": [\n\t\t74713,\n\t\t4713,\n\t\t835\n\t],\n\t\"./aiTopics/RecordItem.vue\": [\n\t\t74713,\n\t\t4713,\n\t\t835\n\t],\n\t\"./aiTopics/RecordsList\": [\n\t\t41032,\n\t\t4713,\n\t\t1032,\n\t\t4513\n\t],\n\t\"./aiTopics/RecordsList.vue\": [\n\t\t41032,\n\t\t4713,\n\t\t1032,\n\t\t4513\n\t],\n\t\"./aiTopics/WrapperQuickTest\": [\n\t\t1945,\n\t\t1945\n\t],\n\t\"./aiTopics/WrapperQuickTest.vue\": [\n\t\t1945,\n\t\t1945\n\t],\n\t\"./aiTopics/importRecordModal/Error\": [\n\t\t87751,\n\t\t7751\n\t],\n\t\"./aiTopics/importRecordModal/Error.vue\": [\n\t\t87751,\n\t\t7751\n\t],\n\t\"./aiTopics/importRecordModal/ImportRecordModal\": [\n\t\t67713,\n\t\t7713\n\t],\n\t\"./aiTopics/importRecordModal/ImportRecordModal.vue\": [\n\t\t67713,\n\t\t7713\n\t],\n\t\"./aiTopics/importRecordModal/ImportRecordSelect\": [\n\t\t31449,\n\t\t1449\n\t],\n\t\"./aiTopics/importRecordModal/ImportRecordSelect.vue\": [\n\t\t31449,\n\t\t1449\n\t],\n\t\"./aiTopics/importRecordModal/ImportRecordURL\": [\n\t\t97317,\n\t\t7317\n\t],\n\t\"./aiTopics/importRecordModal/ImportRecordURL.vue\": [\n\t\t97317,\n\t\t7317\n\t],\n\t\"./aiTopics/importRecordModal/ImportSpreadsheet\": [\n\t\t19806,\n\t\t9806\n\t],\n\t\"./aiTopics/importRecordModal/ImportSpreadsheet.vue\": [\n\t\t19806,\n\t\t9806\n\t],\n\t\"./aiTopics/importRecordModal/Loader\": [\n\t\t31677,\n\t\t1677\n\t],\n\t\"./aiTopics/importRecordModal/Loader.vue\": [\n\t\t31677,\n\t\t1677\n\t],\n\t\"./aiTopics/importRecordModal/SimilarQuestionsFound\": [\n\t\t55004,\n\t\t5004\n\t],\n\t\"./aiTopics/importRecordModal/SimilarQuestionsFound.vue\": [\n\t\t55004,\n\t\t5004\n\t],\n\t\"./aiTopics/importRecordModal/Success\": [\n\t\t41591,\n\t\t1591\n\t],\n\t\"./aiTopics/importRecordModal/Success.vue\": [\n\t\t41591,\n\t\t1591\n\t],\n\t\"./aiTopics/quickTest/QuickTest\": [\n\t\t36257,\n\t\t6257\n\t],\n\t\"./aiTopics/quickTest/QuickTest.vue\": [\n\t\t36257,\n\t\t6257\n\t],\n\t\"./aiTopics/quickTest/QuickTestStates\": [\n\t\t10119,\n\t\t119\n\t],\n\t\"./aiTopics/quickTest/QuickTestStates.vue\": [\n\t\t10119,\n\t\t119\n\t],\n\t\"./aiTopics/quickTest/SelectTopics\": [\n\t\t60745,\n\t\t745\n\t],\n\t\"./aiTopics/quickTest/SelectTopics.vue\": [\n\t\t60745,\n\t\t745\n\t],\n\t\"./dashboard/Graph\": [\n\t\t77781,\n\t\t614,\n\t\t9462,\n\t\t7781\n\t],\n\t\"./dashboard/Graph.vue\": [\n\t\t77781,\n\t\t614,\n\t\t9462,\n\t\t7781\n\t],\n\t\"./dashboard/RecentContents\": [\n\t\t81594,\n\t\t1594\n\t],\n\t\"./dashboard/RecentContents.vue\": [\n\t\t81594,\n\t\t1594\n\t],\n\t\"./dashboard/RecentProjects\": [\n\t\t76114,\n\t\t6114\n\t],\n\t\"./dashboard/RecentProjects.vue\": [\n\t\t76114,\n\t\t6114\n\t],\n\t\"./dashboard/SideNotifications\": [\n\t\t46471\n\t],\n\t\"./dashboard/SideNotifications.vue\": [\n\t\t46471\n\t],\n\t\"./layout/ContentHeader\": [\n\t\t60423,\n\t\t423\n\t],\n\t\"./layout/ContentHeader.vue\": [\n\t\t60423,\n\t\t423\n\t],\n\t\"./layout/Footer\": [\n\t\t87532,\n\t\t7532\n\t],\n\t\"./layout/Footer.vue\": [\n\t\t87532,\n\t\t7532\n\t],\n\t\"./layout/Header\": [\n\t\t71906,\n\t\t1906\n\t],\n\t\"./layout/Header.vue\": [\n\t\t71906,\n\t\t1906\n\t],\n\t\"./layout/Sidebar\": [\n\t\t25087,\n\t\t5087\n\t],\n\t\"./layout/Sidebar.vue\": [\n\t\t25087,\n\t\t5087\n\t],\n\t\"./projects/ModalPublish\": [\n\t\t3506,\n\t\t3506\n\t],\n\t\"./projects/ModalPublish.vue\": [\n\t\t3506,\n\t\t3506\n\t],\n\t\"./projects/ModalRevertPublish\": [\n\t\t13337,\n\t\t3337\n\t],\n\t\"./projects/ModalRevertPublish.vue\": [\n\t\t13337,\n\t\t3337\n\t],\n\t\"./projects/aiTopics/AiTopics\": [\n\t\t57965,\n\t\t1885,\n\t\t7965,\n\t\t1177\n\t],\n\t\"./projects/aiTopics/AiTopics.vue\": [\n\t\t57965,\n\t\t1885,\n\t\t7965,\n\t\t1177\n\t],\n\t\"./projects/aiTopics/ModalAdd\": [\n\t\t30946,\n\t\t946\n\t],\n\t\"./projects/aiTopics/ModalAdd.vue\": [\n\t\t30946,\n\t\t946\n\t],\n\t\"./projects/aiTopics/ModalAiTopics\": [\n\t\t21939,\n\t\t1885,\n\t\t7965,\n\t\t5399\n\t],\n\t\"./projects/aiTopics/ModalAiTopics.vue\": [\n\t\t21939,\n\t\t1885,\n\t\t7965,\n\t\t5399\n\t],\n\t\"./projects/dashboard/CodesList\": [\n\t\t53091,\n\t\t3091\n\t],\n\t\"./projects/dashboard/CodesList.vue\": [\n\t\t53091,\n\t\t3091\n\t],\n\t\"./projects/dashboard/List\": [\n\t\t92824,\n\t\t2147,\n\t\t1790\n\t],\n\t\"./projects/dashboard/List.vue\": [\n\t\t92824,\n\t\t2147,\n\t\t1790\n\t],\n\t\"./projects/modalDeleteProject/ModalDeleteProject\": [\n\t\t3338,\n\t\t3338\n\t],\n\t\"./projects/modalDeleteProject/ModalDeleteProject.vue\": [\n\t\t3338,\n\t\t3338\n\t],\n\t\"./projects/modalDuplicateProject/ModalDuplicateProject\": [\n\t\t26700,\n\t\t6700\n\t],\n\t\"./projects/modalDuplicateProject/ModalDuplicateProject.vue\": [\n\t\t26700,\n\t\t6700\n\t],\n\t\"./projects/modalNewContent/Form\": [\n\t\t35425,\n\t\t5425\n\t],\n\t\"./projects/modalNewContent/Form.vue\": [\n\t\t35425,\n\t\t5425\n\t],\n\t\"./projects/modalNewContent/ModalNewContent\": [\n\t\t74965,\n\t\t4965\n\t],\n\t\"./projects/modalNewContent/ModalNewContent.vue\": [\n\t\t74965,\n\t\t4965\n\t],\n\t\"./projects/modalNewContent/SelectType\": [\n\t\t23312,\n\t\t3312\n\t],\n\t\"./projects/modalNewContent/SelectType.vue\": [\n\t\t23312,\n\t\t3312\n\t],\n\t\"./projects/modalNewProject/ModalNewProject\": [\n\t\t89955,\n\t\t9955\n\t],\n\t\"./projects/modalNewProject/ModalNewProject.vue\": [\n\t\t89955,\n\t\t9955\n\t],\n\t\"./projects/modalNewProject/ProjectName\": [\n\t\t4888,\n\t\t4888\n\t],\n\t\"./projects/modalNewProject/ProjectName.vue\": [\n\t\t4888,\n\t\t4888\n\t],\n\t\"./projects/modalRenameProject/ModalRenameProject\": [\n\t\t44560,\n\t\t4560\n\t],\n\t\"./projects/modalRenameProject/ModalRenameProject.vue\": [\n\t\t44560,\n\t\t4560\n\t],\n\t\"./projects/modalUnpublishedList/ModalUnpublishedList\": [\n\t\t4183,\n\t\t4183\n\t],\n\t\"./projects/modalUnpublishedList/ModalUnpublishedList.vue\": [\n\t\t4183,\n\t\t4183\n\t],\n\t\"./projects/modalUnpublishedList/UPListItem\": [\n\t\t28239,\n\t\t8239\n\t],\n\t\"./projects/modalUnpublishedList/UPListItem.vue\": [\n\t\t28239,\n\t\t8239\n\t],\n\t\"./projects/module/intake/FormDiagram\": [\n\t\t46288,\n\t\t2764,\n\t\t2144,\n\t\t735,\n\t\t6288,\n\t\t1795\n\t],\n\t\"./projects/module/intake/FormDiagram.vue\": [\n\t\t46288,\n\t\t2764,\n\t\t2144,\n\t\t735,\n\t\t6288,\n\t\t1795\n\t],\n\t\"./projects/module/intake/FormMultipleChoice\": [\n\t\t40471,\n\t\t471\n\t],\n\t\"./projects/module/intake/FormMultipleChoice.vue\": [\n\t\t40471,\n\t\t471\n\t],\n\t\"./projects/module/intake/FormNumberRage\": [\n\t\t14649,\n\t\t4649\n\t],\n\t\"./projects/module/intake/FormNumberRage.vue\": [\n\t\t14649,\n\t\t4649\n\t],\n\t\"./projects/module/intake/FormTwoChoice\": [\n\t\t52694,\n\t\t2694\n\t],\n\t\"./projects/module/intake/FormTwoChoice.vue\": [\n\t\t52694,\n\t\t2694\n\t],\n\t\"./projects/module/intake/FormUploadImage\": [\n\t\t75185,\n\t\t2764,\n\t\t2144,\n\t\t735,\n\t\t269\n\t],\n\t\"./projects/module/intake/FormUploadImage.vue\": [\n\t\t75185,\n\t\t2764,\n\t\t2144,\n\t\t735,\n\t\t269\n\t],\n\t\"./projects/module/intake/Intake\": [\n\t\t24945,\n\t\t2764,\n\t\t2144,\n\t\t1885,\n\t\t735,\n\t\t7965,\n\t\t4793,\n\t\t7041,\n\t\t7673,\n\t\t7570,\n\t\t9102,\n\t\t6288,\n\t\t4945,\n\t\t4065\n\t],\n\t\"./projects/module/intake/Intake.vue\": [\n\t\t24945,\n\t\t2764,\n\t\t2144,\n\t\t1885,\n\t\t735,\n\t\t7965,\n\t\t4793,\n\t\t7041,\n\t\t7673,\n\t\t7570,\n\t\t9102,\n\t\t6288,\n\t\t4945,\n\t\t4065\n\t],\n\t\"./projects/module/layout/InformationsSlide\": [\n\t\t89102,\n\t\t1885,\n\t\t7965,\n\t\t9102,\n\t\t976\n\t],\n\t\"./projects/module/layout/InformationsSlide.vue\": [\n\t\t89102,\n\t\t1885,\n\t\t7965,\n\t\t9102,\n\t\t976\n\t],\n\t\"./projects/module/layout/ModalOrderContents\": [\n\t\t43449,\n\t\t1885,\n\t\t3449\n\t],\n\t\"./projects/module/layout/ModalOrderContents.vue\": [\n\t\t43449,\n\t\t1885,\n\t\t3449\n\t],\n\t\"./projects/module/layout/ModuleEditor\": [\n\t\t6286,\n\t\t2764,\n\t\t2144,\n\t\t735,\n\t\t7673,\n\t\t5630\n\t],\n\t\"./projects/module/layout/ModuleEditor.vue\": [\n\t\t6286,\n\t\t2764,\n\t\t2144,\n\t\t735,\n\t\t7673,\n\t\t5630\n\t],\n\t\"./projects/module/layout/Thumbnail\": [\n\t\t30490,\n\t\t490\n\t],\n\t\"./projects/module/layout/Thumbnail.vue\": [\n\t\t30490,\n\t\t490\n\t],\n\t\"./projects/module/navigation/ModalSelectModule\": [\n\t\t91785,\n\t\t1785\n\t],\n\t\"./projects/module/navigation/ModalSelectModule.vue\": [\n\t\t91785,\n\t\t1785\n\t],\n\t\"./projects/module/navigation/Navigation\": [\n\t\t67868,\n\t\t2764,\n\t\t2144,\n\t\t735,\n\t\t4793,\n\t\t7041,\n\t\t7673,\n\t\t7570,\n\t\t7868,\n\t\t2763\n\t],\n\t\"./projects/module/navigation/Navigation.vue\": [\n\t\t67868,\n\t\t2764,\n\t\t2144,\n\t\t735,\n\t\t4793,\n\t\t7041,\n\t\t7673,\n\t\t7570,\n\t\t7868,\n\t\t2763\n\t],\n\t\"./projects/module/navigation/SetupNavigation\": [\n\t\t88801,\n\t\t8801\n\t],\n\t\"./projects/module/navigation/SetupNavigation.vue\": [\n\t\t88801,\n\t\t8801\n\t],\n\t\"./projects/module/presentation/ModalImport/EnterURL\": [\n\t\t94552,\n\t\t4552\n\t],\n\t\"./projects/module/presentation/ModalImport/EnterURL.vue\": [\n\t\t94552,\n\t\t4552\n\t],\n\t\"./projects/module/presentation/ModalImport/ModalImport\": [\n\t\t24634,\n\t\t4634\n\t],\n\t\"./projects/module/presentation/ModalImport/ModalImport.vue\": [\n\t\t24634,\n\t\t4634\n\t],\n\t\"./projects/module/presentation/ModalImport/SelectType\": [\n\t\t94183,\n\t\t6564\n\t],\n\t\"./projects/module/presentation/ModalImport/SelectType.vue\": [\n\t\t94183,\n\t\t6564\n\t],\n\t\"./projects/module/presentation/Presentation\": [\n\t\t20216,\n\t\t2764,\n\t\t2144,\n\t\t1885,\n\t\t735,\n\t\t7965,\n\t\t4793,\n\t\t7041,\n\t\t7673,\n\t\t7570,\n\t\t9102,\n\t\t216,\n\t\t2165\n\t],\n\t\"./projects/module/presentation/Presentation.vue\": [\n\t\t20216,\n\t\t2764,\n\t\t2144,\n\t\t1885,\n\t\t735,\n\t\t7965,\n\t\t4793,\n\t\t7041,\n\t\t7673,\n\t\t7570,\n\t\t9102,\n\t\t216,\n\t\t2165\n\t],\n\t\"./projects/module/quiz/Question\": [\n\t\t76534,\n\t\t6534\n\t],\n\t\"./projects/module/quiz/Question.vue\": [\n\t\t76534,\n\t\t6534\n\t],\n\t\"./projects/module/quiz/Quiz\": [\n\t\t67367,\n\t\t2764,\n\t\t2144,\n\t\t1885,\n\t\t735,\n\t\t7965,\n\t\t4793,\n\t\t7041,\n\t\t7673,\n\t\t7570,\n\t\t9102,\n\t\t7367,\n\t\t4714\n\t],\n\t\"./projects/module/quiz/Quiz.vue\": [\n\t\t67367,\n\t\t2764,\n\t\t2144,\n\t\t1885,\n\t\t735,\n\t\t7965,\n\t\t4793,\n\t\t7041,\n\t\t7673,\n\t\t7570,\n\t\t9102,\n\t\t7367,\n\t\t4714\n\t],\n\t\"./projects/module/speech/Speech\": [\n\t\t42,\n\t\t2764,\n\t\t2144,\n\t\t735,\n\t\t4793,\n\t\t7041,\n\t\t7673,\n\t\t7570,\n\t\t1247\n\t],\n\t\"./projects/module/speech/Speech.vue\": [\n\t\t42,\n\t\t2764,\n\t\t2144,\n\t\t735,\n\t\t4793,\n\t\t7041,\n\t\t7673,\n\t\t7570,\n\t\t1247\n\t],\n\t\"./projects/module/textToSpeech/AudioTrack\": [\n\t\t1833,\n\t\t1833\n\t],\n\t\"./projects/module/textToSpeech/AudioTrack.vue\": [\n\t\t1833,\n\t\t1833\n\t],\n\t\"./projects/module/textToSpeech/ModalSetWordIndex\": [\n\t\t11232,\n\t\t1232\n\t],\n\t\"./projects/module/textToSpeech/ModalSetWordIndex.vue\": [\n\t\t11232,\n\t\t1232\n\t],\n\t\"./projects/module/textToSpeech/PlainText\": [\n\t\t62695,\n\t\t4793,\n\t\t9766\n\t],\n\t\"./projects/module/textToSpeech/PlainText.vue\": [\n\t\t62695,\n\t\t4793,\n\t\t9766\n\t],\n\t\"./projects/module/textToSpeech/TextBox\": [\n\t\t64793,\n\t\t4793,\n\t\t9992\n\t],\n\t\"./projects/module/textToSpeech/TextBox.vue\": [\n\t\t64793,\n\t\t4793,\n\t\t9992\n\t],\n\t\"./projects/module/textToSpeech/TextToSpeech\": [\n\t\t29460,\n\t\t2764,\n\t\t2144,\n\t\t735,\n\t\t4793,\n\t\t7041,\n\t\t7570,\n\t\t734\n\t],\n\t\"./projects/module/textToSpeech/TextToSpeech.vue\": [\n\t\t29460,\n\t\t2764,\n\t\t2144,\n\t\t735,\n\t\t4793,\n\t\t7041,\n\t\t7570,\n\t\t734\n\t],\n\t\"./projects/module/textToSpeech/ToggleMode\": [\n\t\t89392,\n\t\t9392\n\t],\n\t\"./projects/module/textToSpeech/ToggleMode.vue\": [\n\t\t89392,\n\t\t9392\n\t],\n\t\"./projects/module/textToSpeech/layerDetails/LayerDetails\": [\n\t\t37673,\n\t\t2764,\n\t\t2144,\n\t\t735,\n\t\t7673,\n\t\t833\n\t],\n\t\"./projects/module/textToSpeech/layerDetails/LayerDetails.vue\": [\n\t\t37673,\n\t\t2764,\n\t\t2144,\n\t\t735,\n\t\t7673,\n\t\t833\n\t],\n\t\"./projects/module/textToSpeech/layerDetails/animation/Details\": [\n\t\t85780,\n\t\t3399\n\t],\n\t\"./projects/module/textToSpeech/layerDetails/animation/Details.vue\": [\n\t\t85780,\n\t\t3399\n\t],\n\t\"./projects/module/textToSpeech/layerDetails/animation/List\": [\n\t\t27360,\n\t\t7360\n\t],\n\t\"./projects/module/textToSpeech/layerDetails/animation/List.vue\": [\n\t\t27360,\n\t\t7360\n\t],\n\t\"./projects/module/textToSpeech/layerDetails/animation/Modal\": [\n\t\t65997,\n\t\t5997\n\t],\n\t\"./projects/module/textToSpeech/layerDetails/animation/Modal.vue\": [\n\t\t65997,\n\t\t5997\n\t],\n\t\"./projects/module/textToSpeech/layerDetails/media/Details\": [\n\t\t68349,\n\t\t2764,\n\t\t2144,\n\t\t735,\n\t\t737\n\t],\n\t\"./projects/module/textToSpeech/layerDetails/media/Details.vue\": [\n\t\t68349,\n\t\t2764,\n\t\t2144,\n\t\t735,\n\t\t737\n\t],\n\t\"./projects/module/textToSpeech/layerDetails/media/ModalMediaLink\": [\n\t\t17551,\n\t\t7551\n\t],\n\t\"./projects/module/textToSpeech/layerDetails/media/ModalMediaLink.vue\": [\n\t\t17551,\n\t\t7551\n\t],\n\t\"./projects/module/textToSpeech/layerDetails/pause/Details\": [\n\t\t70080,\n\t\t80\n\t],\n\t\"./projects/module/textToSpeech/layerDetails/pause/Details.vue\": [\n\t\t70080,\n\t\t80\n\t],\n\t\"./projects/module/textToSpeech/layerDetails/pause/Form\": [\n\t\t75666,\n\t\t5666\n\t],\n\t\"./projects/module/textToSpeech/layerDetails/pause/Form.vue\": [\n\t\t75666,\n\t\t5666\n\t],\n\t\"./projects/module/textToSpeech/layerDetails/pause/Modal\": [\n\t\t78397,\n\t\t8397\n\t],\n\t\"./projects/module/textToSpeech/layerDetails/pause/Modal.vue\": [\n\t\t78397,\n\t\t8397\n\t],\n\t\"./projects/module/textToSpeech/layerDetails/pronunciation/Modal\": [\n\t\t28274,\n\t\t8274\n\t],\n\t\"./projects/module/textToSpeech/layerDetails/pronunciation/Modal.vue\": [\n\t\t28274,\n\t\t8274\n\t],\n\t\"./projects/module/textToSpeech/timeline/LayerAnimation\": [\n\t\t62348,\n\t\t2348\n\t],\n\t\"./projects/module/textToSpeech/timeline/LayerAnimation.vue\": [\n\t\t62348,\n\t\t2348\n\t],\n\t\"./projects/module/textToSpeech/timeline/LayerMedia\": [\n\t\t12859,\n\t\t2859\n\t],\n\t\"./projects/module/textToSpeech/timeline/LayerMedia.vue\": [\n\t\t12859,\n\t\t2859\n\t],\n\t\"./projects/module/textToSpeech/timeline/LayerPause\": [\n\t\t87783,\n\t\t7783\n\t],\n\t\"./projects/module/textToSpeech/timeline/LayerPause.vue\": [\n\t\t87783,\n\t\t7783\n\t],\n\t\"./projects/module/textToSpeech/timeline/LayerText\": [\n\t\t97237,\n\t\t7237\n\t],\n\t\"./projects/module/textToSpeech/timeline/LayerText.vue\": [\n\t\t97237,\n\t\t7237\n\t],\n\t\"./projects/module/textToSpeech/timeline/Timeline\": [\n\t\t67041,\n\t\t7041,\n\t\t4281\n\t],\n\t\"./projects/module/textToSpeech/timeline/Timeline.vue\": [\n\t\t67041,\n\t\t7041,\n\t\t4281\n\t],\n\t\"./projects/project/Actions\": [\n\t\t10512,\n\t\t2147,\n\t\t2996\n\t],\n\t\"./projects/project/Actions.vue\": [\n\t\t10512,\n\t\t2147,\n\t\t2996\n\t],\n\t\"./projects/project/ContentCard\": [\n\t\t85151,\n\t\t9339,\n\t\t5151,\n\t\t4610\n\t],\n\t\"./projects/project/ContentCard.vue\": [\n\t\t85151,\n\t\t9339,\n\t\t5151,\n\t\t4610\n\t],\n\t\"./projects/project/OtherLines\": [\n\t\t5093,\n\t\t5093\n\t],\n\t\"./projects/project/OtherLines.vue\": [\n\t\t5093,\n\t\t5093\n\t],\n\t\"./projects/project/SelectAvatar\": [\n\t\t21513,\n\t\t1513\n\t],\n\t\"./projects/project/SelectAvatar.vue\": [\n\t\t21513,\n\t\t1513\n\t],\n\t\"./projects/project/SelectPreset\": [\n\t\t93770,\n\t\t3770\n\t],\n\t\"./projects/project/SelectPreset.vue\": [\n\t\t93770,\n\t\t3770\n\t],\n\t\"./projects/project/Timeline\": [\n\t\t22013,\n\t\t1885,\n\t\t7965,\n\t\t9339,\n\t\t5151,\n\t\t2013,\n\t\t2961\n\t],\n\t\"./projects/project/Timeline.vue\": [\n\t\t22013,\n\t\t1885,\n\t\t7965,\n\t\t9339,\n\t\t5151,\n\t\t2013,\n\t\t2961\n\t],\n\t\"./projects/project/contentDetails/AssociatedProjects\": [\n\t\t19707,\n\t\t9707\n\t],\n\t\"./projects/project/contentDetails/AssociatedProjects.vue\": [\n\t\t19707,\n\t\t9707\n\t],\n\t\"./projects/project/contentDetails/ContentDetails\": [\n\t\t34198,\n\t\t1885,\n\t\t7965,\n\t\t9339,\n\t\t3146\n\t],\n\t\"./projects/project/contentDetails/ContentDetails.vue\": [\n\t\t34198,\n\t\t1885,\n\t\t7965,\n\t\t9339,\n\t\t3146\n\t],\n\t\"./projects/project/contentDetails/GeneralInfo\": [\n\t\t39339,\n\t\t9339,\n\t\t6405\n\t],\n\t\"./projects/project/contentDetails/GeneralInfo.vue\": [\n\t\t39339,\n\t\t9339,\n\t\t6405\n\t],\n\t\"./projects/project/contentDetails/ModalRenameModule\": [\n\t\t60316,\n\t\t316\n\t],\n\t\"./projects/project/contentDetails/ModalRenameModule.vue\": [\n\t\t60316,\n\t\t316\n\t],\n\t\"./projects/project/contentDetails/ModuleDetail\": [\n\t\t96726,\n\t\t9339,\n\t\t2994\n\t],\n\t\"./projects/project/contentDetails/ModuleDetail.vue\": [\n\t\t96726,\n\t\t9339,\n\t\t2994\n\t],\n\t\"./projects/project/contentDetails/NoContentSelected\": [\n\t\t46680,\n\t\t6680\n\t],\n\t\"./projects/project/contentDetails/NoContentSelected.vue\": [\n\t\t46680,\n\t\t6680\n\t],\n\t\"./projects/project/contentsAvailable/CardList\": [\n\t\t34243,\n\t\t1885,\n\t\t9339,\n\t\t5151,\n\t\t4396\n\t],\n\t\"./projects/project/contentsAvailable/CardList.vue\": [\n\t\t34243,\n\t\t1885,\n\t\t9339,\n\t\t5151,\n\t\t4396\n\t],\n\t\"./projects/project/contentsAvailable/ContentList\": [\n\t\t16490,\n\t\t1885,\n\t\t6490\n\t],\n\t\"./projects/project/contentsAvailable/ContentList.vue\": [\n\t\t16490,\n\t\t1885,\n\t\t6490\n\t],\n\t\"./projects/project/contentsAvailable/ContentsAvailable\": [\n\t\t76480,\n\t\t1885,\n\t\t7965,\n\t\t9339,\n\t\t5151,\n\t\t4702,\n\t\t6480,\n\t\t2816\n\t],\n\t\"./projects/project/contentsAvailable/ContentsAvailable.vue\": [\n\t\t76480,\n\t\t1885,\n\t\t7965,\n\t\t9339,\n\t\t5151,\n\t\t4702,\n\t\t6480,\n\t\t2816\n\t],\n\t\"./projects/project/contentsAvailable/ExpandingTree\": [\n\t\t54702,\n\t\t1885,\n\t\t9339,\n\t\t5151,\n\t\t4702,\n\t\t4963\n\t],\n\t\"./projects/project/contentsAvailable/ExpandingTree.vue\": [\n\t\t54702,\n\t\t1885,\n\t\t9339,\n\t\t5151,\n\t\t4702,\n\t\t4963\n\t],\n\t\"./projects/webgl/Webgl\": [\n\t\t42178\n\t],\n\t\"./projects/webgl/Webgl.vue\": [\n\t\t42178\n\t],\n\t\"./share/ActionsHeader\": [\n\t\t97182,\n\t\t7182\n\t],\n\t\"./share/ActionsHeader.vue\": [\n\t\t97182,\n\t\t7182\n\t],\n\t\"./share/SelectAvatar\": [\n\t\t84633,\n\t\t4633\n\t],\n\t\"./share/SelectAvatar.vue\": [\n\t\t84633,\n\t\t4633\n\t],\n\t\"./share/SelectAvatarWrapper\": [\n\t\t39976,\n\t\t9976\n\t],\n\t\"./share/SelectAvatarWrapper.vue\": [\n\t\t39976,\n\t\t9976\n\t],\n\t\"./share/TipsForSuccess\": [\n\t\t84129,\n\t\t4129\n\t],\n\t\"./share/TipsForSuccess.vue\": [\n\t\t84129,\n\t\t4129\n\t],\n\t\"./share/modalAivio/ModalAivio\": [\n\t\t72441,\n\t\t2147,\n\t\t1790\n\t],\n\t\"./share/modalAivio/ModalAivio.vue\": [\n\t\t72441,\n\t\t2147,\n\t\t1790\n\t],\n\t\"./share/modalAivio/states/AvatarList\": [\n\t\t53313,\n\t\t3313\n\t],\n\t\"./share/modalAivio/states/AvatarList.vue\": [\n\t\t53313,\n\t\t3313\n\t],\n\t\"./share/modalAivio/states/BackgroundList\": [\n\t\t19510,\n\t\t9510\n\t],\n\t\"./share/modalAivio/states/BackgroundList.vue\": [\n\t\t19510,\n\t\t9510\n\t],\n\t\"./share/modalAivio/states/CreateCode\": [\n\t\t81480,\n\t\t1480\n\t],\n\t\"./share/modalAivio/states/CreateCode.vue\": [\n\t\t81480,\n\t\t1480\n\t],\n\t\"./share/modalAivio/states/Deliver\": [\n\t\t33798,\n\t\t3798\n\t],\n\t\"./share/modalAivio/states/Deliver.vue\": [\n\t\t33798,\n\t\t3798\n\t],\n\t\"./share/modalAivio/states/ProjectList\": [\n\t\t67042,\n\t\t2147,\n\t\t1790\n\t],\n\t\"./share/modalAivio/states/ProjectList.vue\": [\n\t\t67042,\n\t\t2147,\n\t\t1790\n\t],\n\t\"./share/modalShare/ModalShare\": [\n\t\t95572,\n\t\t5572\n\t],\n\t\"./share/modalShare/ModalShare.vue\": [\n\t\t95572,\n\t\t5572\n\t],\n\t\"./share/shareAiviosList/ShareAiviosList\": [\n\t\t96222,\n\t\t6222\n\t],\n\t\"./share/shareAiviosList/ShareAiviosList.vue\": [\n\t\t96222,\n\t\t6222\n\t],\n\t\"./share/shareContent/ShareContent\": [\n\t\t43571,\n\t\t614,\n\t\t3571\n\t],\n\t\"./share/shareContent/ShareContent.vue\": [\n\t\t43571,\n\t\t614,\n\t\t3571\n\t],\n\t\"./share/shareContent/modalTags/ModalTags\": [\n\t\t38509,\n\t\t8509\n\t],\n\t\"./share/shareContent/modalTags/ModalTags.vue\": [\n\t\t38509,\n\t\t8509\n\t],\n\t\"./termsOfService/ModalTermsOfService\": [\n\t\t40053,\n\t\t53\n\t],\n\t\"./termsOfService/ModalTermsOfService.vue\": [\n\t\t40053,\n\t\t53\n\t],\n\t\"./termsOfService/TermsOfService\": [\n\t\t78356,\n\t\t8356\n\t],\n\t\"./termsOfService/TermsOfService.vue\": [\n\t\t78356,\n\t\t8356\n\t],\n\t\"./theme/Accordion\": [\n\t\t24115\n\t],\n\t\"./theme/Accordion.vue\": [\n\t\t24115\n\t],\n\t\"./theme/Autocomplete\": [\n\t\t62075,\n\t\t2075\n\t],\n\t\"./theme/Autocomplete.vue\": [\n\t\t62075,\n\t\t2075\n\t],\n\t\"./theme/BackToTop\": [\n\t\t67539,\n\t\t7539\n\t],\n\t\"./theme/BackToTop.vue\": [\n\t\t67539,\n\t\t7539\n\t],\n\t\"./theme/Breadcrumbs\": [\n\t\t85627,\n\t\t5627\n\t],\n\t\"./theme/Breadcrumbs.vue\": [\n\t\t85627,\n\t\t5627\n\t],\n\t\"./theme/Button\": [\n\t\t75064,\n\t\t5064\n\t],\n\t\"./theme/Button.vue\": [\n\t\t75064,\n\t\t5064\n\t],\n\t\"./theme/Card\": [\n\t\t17877,\n\t\t7877\n\t],\n\t\"./theme/Card.vue\": [\n\t\t17877,\n\t\t7877\n\t],\n\t\"./theme/Checkbox\": [\n\t\t9513,\n\t\t9513\n\t],\n\t\"./theme/Checkbox.vue\": [\n\t\t9513,\n\t\t9513\n\t],\n\t\"./theme/Chip\": [\n\t\t12265,\n\t\t2265\n\t],\n\t\"./theme/Chip.vue\": [\n\t\t12265,\n\t\t2265\n\t],\n\t\"./theme/ConfirmationModal\": [\n\t\t38869,\n\t\t8869\n\t],\n\t\"./theme/ConfirmationModal.vue\": [\n\t\t38869,\n\t\t8869\n\t],\n\t\"./theme/ContextMenu\": [\n\t\t98899,\n\t\t8899\n\t],\n\t\"./theme/ContextMenu.vue\": [\n\t\t98899,\n\t\t8899\n\t],\n\t\"./theme/Datatable\": [\n\t\t84771,\n\t\t4771\n\t],\n\t\"./theme/Datatable.vue\": [\n\t\t84771,\n\t\t4771\n\t],\n\t\"./theme/Dropdown\": [\n\t\t37733,\n\t\t7733\n\t],\n\t\"./theme/Dropdown.vue\": [\n\t\t37733,\n\t\t7733\n\t],\n\t\"./theme/Filter\": [\n\t\t32783,\n\t\t5164\n\t],\n\t\"./theme/Filter.vue\": [\n\t\t32783,\n\t\t5164\n\t],\n\t\"./theme/HexagonIcon\": [\n\t\t3047,\n\t\t3047\n\t],\n\t\"./theme/HexagonIcon.vue\": [\n\t\t3047,\n\t\t3047\n\t],\n\t\"./theme/IconBase\": [\n\t\t38272,\n\t\t5891\n\t],\n\t\"./theme/IconBase.vue\": [\n\t\t38272,\n\t\t5891\n\t],\n\t\"./theme/Input\": [\n\t\t93803,\n\t\t3803\n\t],\n\t\"./theme/Input.vue\": [\n\t\t93803,\n\t\t3803\n\t],\n\t\"./theme/ListItem\": [\n\t\t21603,\n\t\t3984\n\t],\n\t\"./theme/ListItem.vue\": [\n\t\t21603,\n\t\t3984\n\t],\n\t\"./theme/Menu\": [\n\t\t1603,\n\t\t1603\n\t],\n\t\"./theme/Menu.vue\": [\n\t\t1603,\n\t\t1603\n\t],\n\t\"./theme/Modal\": [\n\t\t62633,\n\t\t2633\n\t],\n\t\"./theme/Modal.vue\": [\n\t\t62633,\n\t\t2633\n\t],\n\t\"./theme/Notification\": [\n\t\t22634,\n\t\t2634\n\t],\n\t\"./theme/Notification.vue\": [\n\t\t22634,\n\t\t2634\n\t],\n\t\"./theme/ProgressBar\": [\n\t\t4972,\n\t\t4972\n\t],\n\t\"./theme/ProgressBar.vue\": [\n\t\t4972,\n\t\t4972\n\t],\n\t\"./theme/ProgressCircular\": [\n\t\t26090,\n\t\t6090\n\t],\n\t\"./theme/ProgressCircular.vue\": [\n\t\t26090,\n\t\t6090\n\t],\n\t\"./theme/ProgressLinear\": [\n\t\t82947,\n\t\t2947\n\t],\n\t\"./theme/ProgressLinear.vue\": [\n\t\t82947,\n\t\t2947\n\t],\n\t\"./theme/Radio\": [\n\t\t87338,\n\t\t7338\n\t],\n\t\"./theme/Radio.vue\": [\n\t\t87338,\n\t\t7338\n\t],\n\t\"./theme/Select\": [\n\t\t59612,\n\t\t9612\n\t],\n\t\"./theme/Select.vue\": [\n\t\t59612,\n\t\t9612\n\t],\n\t\"./theme/Switch\": [\n\t\t42112,\n\t\t2112\n\t],\n\t\"./theme/Switch.vue\": [\n\t\t42112,\n\t\t2112\n\t],\n\t\"./theme/Tags\": [\n\t\t75125,\n\t\t5125\n\t],\n\t\"./theme/Tags.vue\": [\n\t\t75125,\n\t\t5125\n\t],\n\t\"./theme/Textarea\": [\n\t\t5554,\n\t\t5554\n\t],\n\t\"./theme/Textarea.vue\": [\n\t\t5554,\n\t\t5554\n\t],\n\t\"./theme/Tooltip\": [\n\t\t53294,\n\t\t3294\n\t],\n\t\"./theme/Tooltip.vue\": [\n\t\t53294,\n\t\t3294\n\t],\n\t\"./theme/Upload\": [\n\t\t36851,\n\t\t6851\n\t],\n\t\"./theme/Upload.vue\": [\n\t\t36851,\n\t\t6851\n\t],\n\t\"./theme/VerticalStepper\": [\n\t\t34697,\n\t\t4697\n\t],\n\t\"./theme/VerticalStepper.vue\": [\n\t\t34697,\n\t\t4697\n\t],\n\t\"./track/BarGraph\": [\n\t\t25679,\n\t\t614,\n\t\t9462,\n\t\t5679\n\t],\n\t\"./track/BarGraph.vue\": [\n\t\t25679,\n\t\t614,\n\t\t9462,\n\t\t5679\n\t],\n\t\"./track/Graph\": [\n\t\t9399,\n\t\t614,\n\t\t9462,\n\t\t9399\n\t],\n\t\"./track/Graph.vue\": [\n\t\t9399,\n\t\t614,\n\t\t9462,\n\t\t9399\n\t],\n\t\"./track/Header\": [\n\t\t1889,\n\t\t1889\n\t],\n\t\"./track/Header.vue\": [\n\t\t1889,\n\t\t1889\n\t],\n\t\"./track/codeInformations/AIEngagement\": [\n\t\t40959,\n\t\t959\n\t],\n\t\"./track/codeInformations/AIEngagement.vue\": [\n\t\t40959,\n\t\t959\n\t],\n\t\"./track/codeInformations/ClientMessages\": [\n\t\t56132,\n\t\t6132\n\t],\n\t\"./track/codeInformations/ClientMessages.vue\": [\n\t\t56132,\n\t\t6132\n\t],\n\t\"./track/codeInformations/CodeInformations\": [\n\t\t34088,\n\t\t614,\n\t\t9946,\n\t\t4088,\n\t\t2823\n\t],\n\t\"./track/codeInformations/CodeInformations.vue\": [\n\t\t34088,\n\t\t614,\n\t\t9946,\n\t\t4088,\n\t\t2823\n\t],\n\t\"./track/codeInformations/Form\": [\n\t\t12910,\n\t\t2910\n\t],\n\t\"./track/codeInformations/Form.vue\": [\n\t\t12910,\n\t\t2910\n\t],\n\t\"./track/codeInformations/ModalMessage\": [\n\t\t68511,\n\t\t8511\n\t],\n\t\"./track/codeInformations/ModalMessage.vue\": [\n\t\t68511,\n\t\t8511\n\t],\n\t\"./track/codeInformations/Presentation\": [\n\t\t28775,\n\t\t8775\n\t],\n\t\"./track/codeInformations/Presentation.vue\": [\n\t\t28775,\n\t\t8775\n\t],\n\t\"./track/codeInformations/Question\": [\n\t\t78401,\n\t\t614,\n\t\t8401\n\t],\n\t\"./track/codeInformations/Question.vue\": [\n\t\t78401,\n\t\t614,\n\t\t8401\n\t],\n\t\"./track/codeInformations/QuestionList\": [\n\t\t74196,\n\t\t4196\n\t],\n\t\"./track/codeInformations/QuestionList.vue\": [\n\t\t74196,\n\t\t4196\n\t],\n\t\"./track/codeInformations/Quizes\": [\n\t\t52439,\n\t\t614,\n\t\t2439\n\t],\n\t\"./track/codeInformations/Quizes.vue\": [\n\t\t52439,\n\t\t614,\n\t\t2439\n\t],\n\t\"./track/codeInformations/Sessions\": [\n\t\t73234,\n\t\t614,\n\t\t9946,\n\t\t7315\n\t],\n\t\"./track/codeInformations/Sessions.vue\": [\n\t\t73234,\n\t\t614,\n\t\t9946,\n\t\t7315\n\t],\n\t\"./track/informations/AllAivios\": [\n\t\t8482,\n\t\t8482\n\t],\n\t\"./track/informations/AllAivios.vue\": [\n\t\t8482,\n\t\t8482\n\t],\n\t\"./track/informations/Feedback\": [\n\t\t70964,\n\t\t614,\n\t\t964\n\t],\n\t\"./track/informations/Feedback.vue\": [\n\t\t70964,\n\t\t614,\n\t\t964\n\t],\n\t\"./track/informations/Informations\": [\n\t\t18225,\n\t\t8225\n\t],\n\t\"./track/informations/Informations.vue\": [\n\t\t18225,\n\t\t8225\n\t],\n\t\"./track/informations/MostPopular\": [\n\t\t67109,\n\t\t7109\n\t],\n\t\"./track/informations/MostPopular.vue\": [\n\t\t67109,\n\t\t7109\n\t],\n\t\"./track/informations/OSBreakdown\": [\n\t\t63587,\n\t\t614,\n\t\t3587\n\t],\n\t\"./track/informations/OSBreakdown.vue\": [\n\t\t63587,\n\t\t614,\n\t\t3587\n\t],\n\t\"./track/informations/RecentAivios\": [\n\t\t3530,\n\t\t3530\n\t],\n\t\"./track/informations/RecentAivios.vue\": [\n\t\t3530,\n\t\t3530\n\t],\n\t\"./track/list/CodeDetail\": [\n\t\t89923,\n\t\t614,\n\t\t9923\n\t],\n\t\"./track/list/CodeDetail.vue\": [\n\t\t89923,\n\t\t614,\n\t\t9923\n\t],\n\t\"./track/list/DashboardDetail\": [\n\t\t87924,\n\t\t7924\n\t],\n\t\"./track/list/DashboardDetail.vue\": [\n\t\t87924,\n\t\t7924\n\t],\n\t\"./track/list/List\": [\n\t\t79243,\n\t\t9243\n\t],\n\t\"./track/list/List.vue\": [\n\t\t79243,\n\t\t9243\n\t],\n\t\"./track/list/ModuleDetail\": [\n\t\t30773,\n\t\t773\n\t],\n\t\"./track/list/ModuleDetail.vue\": [\n\t\t30773,\n\t\t773\n\t],\n\t\"./track/list/ProjectDetail\": [\n\t\t89694,\n\t\t9694\n\t],\n\t\"./track/list/ProjectDetail.vue\": [\n\t\t89694,\n\t\t9694\n\t],\n\t\"./track/list/ProjectDetailList\": [\n\t\t92677,\n\t\t2677\n\t],\n\t\"./track/list/ProjectDetailList.vue\": [\n\t\t92677,\n\t\t2677\n\t],\n\t\"./track/sessionInformations/ModalSession\": [\n\t\t99946,\n\t\t614,\n\t\t9946,\n\t\t4828\n\t],\n\t\"./track/sessionInformations/ModalSession.vue\": [\n\t\t99946,\n\t\t614,\n\t\t9946,\n\t\t4828\n\t],\n\t\"./track/sessionInformations/Presentation\": [\n\t\t6507,\n\t\t614,\n\t\t6507\n\t],\n\t\"./track/sessionInformations/Presentation.vue\": [\n\t\t6507,\n\t\t614,\n\t\t6507\n\t],\n\t\"./track/sessionInformations/PresentationPie\": [\n\t\t88348,\n\t\t614,\n\t\t8348\n\t],\n\t\"./track/sessionInformations/PresentationPie.vue\": [\n\t\t88348,\n\t\t614,\n\t\t8348\n\t],\n\t\"./track/sessionInformations/Questions\": [\n\t\t67232,\n\t\t7232\n\t],\n\t\"./track/sessionInformations/Questions.vue\": [\n\t\t67232,\n\t\t7232\n\t],\n\t\"./track/sessionInformations/QuestionsPie\": [\n\t\t79241,\n\t\t614,\n\t\t9241\n\t],\n\t\"./track/sessionInformations/QuestionsPie.vue\": [\n\t\t79241,\n\t\t614,\n\t\t9241\n\t],\n\t\"./track/sessionInformations/Quizzes\": [\n\t\t70396,\n\t\t614,\n\t\t396\n\t],\n\t\"./track/sessionInformations/Quizzes.vue\": [\n\t\t70396,\n\t\t614,\n\t\t396\n\t],\n\t\"./track/sessionInformations/QuizzesPie\": [\n\t\t33966,\n\t\t614,\n\t\t3966\n\t],\n\t\"./track/sessionInformations/QuizzesPie.vue\": [\n\t\t33966,\n\t\t614,\n\t\t3966\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 77227;\nmodule.exports = webpackAsyncContext;","import { ComputedRef } from \"vue\";\n\nexport interface RouteAction {\n label?: string;\n icon?: string;\n iconColor?: string;\n loading?: boolean | ComputedRef;\n disabled?: boolean | ComputedRef;\n hide?: boolean | ComputedRef;\n action(): any;\n routerName?: string;\n}\n\nexport interface ModalConfirmationInfo {\n title: string;\n text: string;\n btnText: string;\n cancelText?: string;\n action: (props?: any) => void;\n onClose?: (props?: any) => void;\n onCancel?: (props?: any) => void;\n disableCancel?: boolean;\n isDelete?: boolean;\n value?: string;\n checkbox?: {\n text: string;\n value: boolean;\n };\n confirmText?: string;\n compact?: boolean;\n}\n\nexport enum Language {\n \"en\",\n \"es\",\n}\n\nexport enum StateStatus {\n \"Unpublished\" = 0,\n \"UnpublishedChanges\" = 1,\n \"Published\" = 2,\n \"Publishing\" = 3,\n}\n\nexport interface SearchReplaceResult {\n index: number;\n position: number;\n searchTerm: string;\n}\n\nexport interface ContextmenuOption {\n action(): void;\n text?: string;\n isSeperator?: boolean;\n isDisabled?: boolean;\n icon?: {\n name: string;\n color: string;\n };\n tooltip?: string;\n}\n\nexport interface ComponentState {\n componentName: string;\n componentId: string;\n info: any;\n}\n","import _ from \"lodash\";\nimport axios from \"axios\";\nimport { computed, inject } from \"vue\";\nimport { useUtils } from \"./utils\";\nimport {\n BlobItem,\n GalleryAsset,\n SlideGalleryAsset,\n VideoStreamingItem,\n} from \"@/models/asset\";\nimport { useStore } from \"vuex\";\nimport { ModuleMediaTypes } from \"@/models/module\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport { useNotification } from \"./notification\";\nimport {\n BlockBlobClient,\n AnonymousCredential,\n newPipeline,\n} from \"@azure/storage-blob\";\n\nexport const useAsset = () => {\n const endpoints = inject(\"endpoints\") as EndpointsEnum;\n\n const store = useStore();\n const utilsComposable = useUtils();\n const notificationComposable = useNotification();\n\n const { clientId, clientName } = store.state.Auth.originalInfo;\n const itemsPerPage = 100;\n\n const containerName = computed(() => {\n if (!clientName) return \"\";\n return `${clientName\n .replace(/[^a-zA-Z0-9]/g, \"\")\n .toLowerCase()}(${clientId})`;\n });\n\n async function saveClientAsset(file: File) {\n const formData = utilsComposable.makeFormData({\n selectFile: file,\n fileType: file.type,\n });\n return axios\n .post(endpoints.ASSETS.UPLOAD_CLIENT, formData)\n .then((response) => response);\n }\n\n function uploadFile(file: File, showNotification = false) {\n const formatData = utilsComposable.makeFormData({\n imageFile: file,\n containerName: containerName.value,\n });\n\n return axios\n .post(endpoints.UPLOAD.UPLOAD_FILE, formatData)\n .then((response: any) => {\n const fileGallery = createGalleryAssetObject(response[\"path\"][0]);\n store.commit(\"Asset/cacheAsset\", {\n items: [fileGallery],\n type: \"uploads\",\n });\n if (showNotification) {\n notificationComposable.success(\"notification.asset_uploaded\");\n }\n return fileGallery;\n });\n }\n\n function uploadFileByFolder(file: File, folderName: string) {\n const formatData = utilsComposable.makeFormData({\n imageFile: file,\n containerName: containerName.value,\n folderName,\n });\n\n return axios\n .post(endpoints.UPLOAD.UPLOAD_FILE_BY_FOLDER, formatData)\n .then((response: any) => {\n const fileGallery = createGalleryAssetObject(response[\"path\"][0]);\n store.commit(\"Asset/cacheAsset\", {\n items: [fileGallery],\n type: \"uploads\",\n });\n return fileGallery;\n });\n }\n\n async function uploadVideoBlob(\n file: File,\n url: string,\n onProgress: (progress: number) => void\n ): Promise {\n const fileSize = file.size;\n try {\n const pipeline = newPipeline(new AnonymousCredential());\n const blockBlobClient = new BlockBlobClient(url, pipeline);\n const res = await blockBlobClient.uploadData(file, {\n blockSize: 4 * 1024 * 1024, // 4MB block size\n concurrency: 20, // 20 concurrency\n onProgress: (ev: any) => {\n const progress = Math.round((ev.loadedBytes / fileSize) * 100);\n onProgress(progress);\n },\n blobHTTPHeaders: {\n blobContentType: \"video/quicktime\",\n },\n });\n\n if (res._response.status >= 200 && res._response.status < 300) {\n return true;\n } else {\n throw \"Failed to upload blob\";\n }\n } catch (e) {\n console.log(e);\n throw e;\n }\n }\n\n function createVideoAsset(fileName: string) {\n return axios\n .post(\n endpoints.MEDIA.CREATE_ASSET_VIDEO,\n {\n fileName: fileName,\n },\n {\n params: {\n clientId,\n },\n }\n )\n .then((response: any) => {\n const videoAsset = createGalleryAssetObject(response.media);\n store.commit(\"Asset/cacheAsset\", {\n items: [videoAsset],\n type: \"videos\",\n });\n return response;\n });\n }\n\n function uploadImageBase64(file: File) {\n const reader = new FileReader();\n\n return new Promise((resolve) => {\n reader.readAsDataURL(file);\n reader.onload = () => {\n if (!reader.result) return;\n const base64String = reader.result\n .toString()\n .replace(/^data:(.*,)?/, \"\");\n const formatData = utilsComposable.makeFormData({\n base64String,\n folderName: containerName.value,\n contentType: file.type,\n });\n\n return axios\n .post(endpoints.UPLOAD.UPLOAD_IMAGE_64, formatData)\n .then((response: any) => {\n resolve(response[\"path\"][0] as BlobItem);\n return response[\"path\"][0] as BlobItem;\n });\n };\n });\n }\n\n function uploadVimeo(file: any, showNotification = false) {\n const formatData = utilsComposable.makeFormData({\n videoFile: file,\n tagName: clientId,\n });\n\n return axios\n .post(endpoints.UPLOAD.UPLOAD_VIMEO, formatData)\n .then((response: any) => {\n const vimeoGallery = createGalleryAssetObject(response[\"video\"]);\n store.commit(\"Asset/cacheAsset\", {\n items: [vimeoGallery],\n type: \"videos\",\n });\n if (showNotification) {\n notificationComposable.success(\"notification.asset_uploaded\");\n }\n return vimeoGallery;\n })\n .catch(() => {\n notificationComposable.error(\"media_gallery.fail_to_upload\");\n });\n }\n function uploadAnimation(file: any) {\n const formatData = utilsComposable.makeFormData({\n videoFile: file,\n tagName: clientId,\n });\n\n return axios\n .post(endpoints.UPLOAD.UPLOAD_ANIMATIONS, formatData)\n .then((response: any) => {\n const vimeoGallery = createGalleryAssetObject(response[\"video\"]);\n store.commit(\"Asset/cacheAsset\", {\n items: [vimeoGallery],\n type: \"videos\",\n });\n return vimeoGallery;\n })\n .catch(() => {\n notificationComposable.error(\"media_gallery.fail_to_upload\");\n });\n }\n\n function getBlobs(isSlide?: boolean) {\n const type = isSlide ? \"slides\" : \"uploads\";\n const { blobToken, fullyLoaded } = store.state.Asset.assets[type];\n\n if (fullyLoaded) return;\n\n store.commit(\"Asset/setLoading\", {\n type,\n value: true,\n });\n\n return axios\n .get(endpoints.UPLOAD.LIST_BLOBS, {\n params: {\n containerName: containerName.value,\n pageSize: itemsPerPage,\n folderName: isSlide ? \"slideimagegallery\" : \"imagegallery\",\n blobContToken: blobToken,\n },\n })\n .then((response: any) => {\n store.commit(\"Asset/setBlobContToken\", {\n type,\n value: response.blobContToken || null,\n });\n store.commit(\"Asset/setFullyLoaded\", {\n type,\n value: !!response.blobContToken == false,\n });\n\n const items: Array = [];\n\n _.forEach(response.blobs, (blob) => {\n items.push(createGalleryAssetObject(blob));\n });\n\n store.commit(\"Asset/cacheAsset\", {\n items,\n type: isSlide ? \"slides\" : \"uploads\",\n });\n\n return items;\n })\n .finally(() => {\n store.commit(\"Asset/setLoading\", {\n type,\n value: false,\n });\n });\n }\n function getSlideBlobs(isSlide?: boolean) {\n const { blobToken, fullyLoaded } = store.state.Asset.assets[\"slides\"];\n\n if (fullyLoaded) return;\n\n store.commit(\"Asset/setLoading\", {\n type: \"slide\",\n value: true,\n });\n\n return axios\n .get(endpoints.UPLOAD.LIST_SLIDE_BLOBS, {\n params: {\n containerName: containerName.value,\n pageSize: itemsPerPage,\n folderName: isSlide ? \"slideimagegallery\" : \"imagegallery\",\n blobContToken: blobToken,\n },\n })\n .then((response: any) => {\n store.commit(\"Asset/setBlobContToken\", {\n type: \"slide\",\n value: response.blobContToken || null,\n });\n store.commit(\"Asset/setFullyLoaded\", {\n type: \"slide\",\n value: !!response.blobContToken == false,\n });\n\n const items: Array = [];\n\n store.commit(\"Asset/cacheAsset\", {\n items,\n type: isSlide ? \"slides\" : \"uploads\",\n });\n\n return items;\n })\n .finally(() => {\n store.commit(\"Asset/setLoading\", {\n type: \"slide\",\n value: false,\n });\n });\n }\n\n function getVideos() {\n const videosInfo = store.state.Asset.assets.videos;\n\n const currentPage = videosInfo.currentPage ? videosInfo.currentPage : 0;\n\n store.commit(\"Asset/setLoading\", {\n type: \"videos\",\n value: true,\n });\n\n return axios\n .get(endpoints.MEDIA.GET_MEDIA, {\n params: {\n clientId: clientId,\n pageNumber: currentPage,\n pageSize: itemsPerPage,\n type: \"Video\",\n },\n })\n .then((response: any) => {\n const cacheds: Array = [];\n\n _.forEach(response.media, (blob) => {\n cacheds.push(createGalleryAssetObject(blob));\n });\n store.commit(\"Asset/cacheAsset\", {\n items: cacheds,\n total: response.totalCount,\n pages: response.totalPages,\n type: \"videos\",\n });\n\n store.commit(\"Asset/setFullyLoaded\", {\n type: \"videos\",\n value: videosInfo.list.length >= response.totalCount,\n });\n\n store.commit(\"Asset/setCurrentPage\", currentPage + 1);\n\n return cacheds;\n })\n .finally(() => {\n store.commit(\"Asset/setLoading\", {\n type: \"videos\",\n value: false,\n });\n });\n }\n\n function getFileByFolder(folderName: string) {\n return axios\n .get(endpoints.UPLOAD.GET_FILE_BY_FOLDER, {\n params: {\n folderName,\n containerName: containerName.value,\n },\n })\n .then((response: any) => {\n return response.images as Array;\n });\n }\n function deleteFile(blobName: string) {\n return axios\n .delete(endpoints.UPLOAD.DELETE_FILE, {\n params: {\n blobName,\n },\n })\n .then((response: any) => {\n notificationComposable.success(\"notification.file_deleted\");\n return response;\n });\n }\n function deleteVideo(videoId: string) {\n return axios\n .delete(endpoints.UPLOAD.DELETE_VIDEO, {\n params: {\n videoId,\n },\n })\n .then((response: any) => {\n notificationComposable.success(\"notification.file_deleted\");\n return response;\n });\n }\n\n function uploadBackground(file: File) {\n const reader = new FileReader();\n\n return new Promise((resolve) => {\n reader.readAsDataURL(file);\n reader.onload = () => {\n if (!reader.result) return;\n const base64String = reader.result\n .toString()\n .replace(/^data:(.*,)?/, \"\");\n const formData = utilsComposable.makeFormData({\n base64String,\n fileName: file.name,\n folderName: containerName.value,\n contentType: file.type,\n });\n\n return axios\n .post(endpoints.UPLOAD.UPLOAD_BACKGROUND, formData)\n .then((response: any) => {\n resolve(response[\"path\"][0] as BlobItem);\n return response[\"path\"][0] as BlobItem;\n });\n };\n });\n }\n\n function uploadQRCode(file: File): Promise {\n const reader = new FileReader();\n\n return new Promise((resolve) => {\n reader.readAsDataURL(file);\n reader.onload = () => {\n if (!reader.result) return;\n const base64String = reader.result\n .toString()\n .replace(/^data:(.*,)?/, \"\");\n const formData = utilsComposable.makeFormData({\n base64String,\n fileName: file.name,\n folderName: containerName.value,\n contentType: file.type,\n });\n\n return axios\n .post(endpoints.UPLOAD.UPLOAD_QRCODE, formData)\n .then((response: any) => {\n resolve(response[\"path\"][0] as BlobItem);\n return response[\"path\"][0] as BlobItem;\n });\n };\n });\n }\n\n async function getAll() {\n await getBlobs();\n await getBlobs(true);\n await getVideos();\n }\n\n function createGalleryAssetObject(file: VideoStreamingItem & BlobItem) {\n const isVideo = file.type == 1;\n\n let url = \"\";\n if (isVideo) {\n url = file.url;\n } else {\n const origin = new URL(file.uri).origin;\n url = `${origin}/${file.blobContainerName}/${file.name}`;\n }\n\n const galleryAsset: GalleryAsset = {\n id: isVideo ? file.id : uuidv4(),\n name: isVideo ? file.fileName : file.name,\n url,\n thumb: isVideo ? file.thumbnailUrl : file.uri,\n type: isVideo ? \"video\" : \"image\",\n duration:\n isVideo && file.duration\n ? timeStringToSeconds(file.duration.toString()) * 1000\n : null,\n mediaStreamingUrl: isVideo ? file.streamingUrl : undefined,\n status: isVideo ? file.status : null,\n };\n return galleryAsset;\n }\n\n function getCachedFile(url: string): GalleryAsset | null {\n if (!url) return null;\n const cacheFiles = store.state.Asset.assets;\n const assets: Array = [\n ...cacheFiles.videos.list,\n ...cacheFiles.uploads.list,\n ...cacheFiles.slides.list,\n ];\n const file = _.find(\n assets,\n (asset) =>\n asset.url == url ||\n asset.alternativeUrl == url ||\n asset.id == url ||\n asset.url.includes(url) ||\n (!!asset.alternativeUrl && asset.alternativeUrl.includes(url))\n );\n return file ? file : null;\n }\n\n function getAssetTag(clipId: string, disableCaching = false) {\n return axios\n .get(endpoints.MEDIA.GET_MEDIA_BY_ID.replace(\"{mediaId}\", clipId), {\n params: { clientId: clientId },\n })\n .then((file: any) => {\n if (!file || !file.media) return;\n const galleryAsset = createGalleryAssetObject(file.media);\n //galleryAsset.alternativeUrl = file.media.url;\n if (disableCaching) return galleryAsset;\n store.commit(\"Asset/cacheAsset\", {\n items: [galleryAsset],\n type: \"videos\",\n });\n return galleryAsset;\n });\n }\n\n function movePresentationSlides(blobNum: number) {\n return axios\n .get(endpoints.UPLOAD.MOVE_PRESENTATION, {\n params: { containerName: containerName.value, blobNum },\n })\n .then((response: any) => {\n response as GalleryAsset;\n });\n }\n\n async function getModuleAssets(\n list: Array<{ url: string; type: ModuleMediaTypes; id: string }>\n ) {\n const loop = async (i: number) => {\n const item = list[i];\n\n if (!item) return;\n\n if (!getCachedFile(item.url)) {\n if (item.type === \"Photo\" || item.type === \"image\") {\n const assetInfoName = decodeAssetURL(item.url);\n\n const obj = {\n id: uuidv4(),\n name: assetInfoName,\n url: item.url,\n thumb: item.url,\n type: \"image\",\n duration: null,\n };\n\n store.commit(\"Asset/cacheAsset\", {\n items: [obj],\n type: obj.url.includes(\"slideimagegallery\") ? \"slides\" : \"uploads\",\n });\n } else {\n // const isExternal = item.url.includes(\"external\");\n // const isPlayback = item.url.includes(\"playback\");\n // const splitUrl = item.url.split(\n // isPlayback ? \"playback\" : isExternal ? \"external\" : \"video\"\n // )[1];\n\n await getAssetTag(item.id);\n }\n }\n\n await loop(i + 1);\n };\n\n await loop(0);\n }\n\n function decodeAssetURL(url: string) {\n const pathname = new URL(url).pathname;\n const urlSplited = pathname.replace(\"/%2F/g \", \"/\").split(\"/\");\n return _.filter(urlSplited, (item, index) => index > 1).join(\"/\");\n }\n\n function timeStringToSeconds(timeString: string) {\n const parts = timeString.split(\":\");\n let seconds = 0;\n\n if (parts.length === 3) {\n seconds += parseInt(parts[0], 10) * 3600;\n seconds += parseInt(parts[1], 10) * 60;\n seconds += parseFloat(parts[2]);\n } else if (parts.length === 2) {\n seconds += parseInt(parts[0], 10) * 60;\n seconds += parseFloat(parts[1]);\n }\n\n return seconds;\n }\n\n return {\n saveClientAsset,\n getBlobs,\n getVideos,\n uploadFile,\n uploadVimeo,\n getFileByFolder,\n uploadBackground,\n uploadQRCode,\n getAll,\n createGalleryAssetObject,\n getCachedFile,\n getAssetTag,\n getModuleAssets,\n getSlideBlobs,\n movePresentationSlides,\n uploadFileByFolder,\n uploadImageBase64,\n deleteFile,\n uploadAnimation,\n deleteVideo,\n containerName,\n itemsPerPage,\n createVideoAsset,\n uploadVideoBlob,\n };\n};\n","import { ref, computed } from \"vue\";\nimport dayjs from \"dayjs\";\n\nexport const notifications = ref>([]);\nexport const closeNotifications = ref(true);\nexport const showNotifications = computed(() =>\n notifications.value.length ? true : false\n);\n\nexport const useLocalNotifications = () => {\n function getNotifications() {\n const savedNotifications = JSON.parse(\n localStorage.getItem(\"notifications\") as string\n );\n if (savedNotifications && Array.isArray(savedNotifications)) {\n notifications.value = savedNotifications;\n }\n }\n\n function saveNotification(title: string, type: string, icon?: string) {\n const storedNotifications = JSON.parse(\n localStorage.getItem(\"notifications\") || \"[]\"\n );\n const maxId = storedNotifications.reduce(\n (max: any, notification: any) => Math.max(max, notification.id),\n 0\n );\n const nextNotificationId = maxId + 1;\n\n const newNotification = {\n id: nextNotificationId,\n title: title,\n icon: icon || type,\n time: dayjs().utc(),\n type: type,\n link:\n window.location.pathname.includes(\"dashboard\") ||\n window.location.pathname == \"/projects\"\n ? null\n : window.location.pathname,\n active: true,\n };\n if (!notifications.value) {\n notifications.value == newNotification;\n } else {\n notifications.value.push(newNotification);\n }\n\n localStorage.setItem(\"notifications\", JSON.stringify(notifications.value));\n getNotifications();\n }\n\n function deleteNotificationById(id: number) {\n const notificationToDelete = notifications.value.find(\n (notification) => notification.id === id\n );\n\n if (notificationToDelete) {\n notificationToDelete.active = false;\n\n localStorage.setItem(\n \"notifications\",\n JSON.stringify(notifications.value)\n );\n\n setTimeout(() => {\n const index = notifications.value.findIndex(\n (notification) => notification.id === id\n );\n if (index !== -1) {\n notifications.value.splice(index, 1);\n localStorage.setItem(\n \"notifications\",\n JSON.stringify(notifications.value)\n );\n getNotifications();\n }\n }, 1000);\n }\n }\n\n function clearNotification() {\n localStorage.setItem(\"notifications\", JSON.stringify([]));\n getNotifications();\n }\n\n function closeSideNotifications() {\n closeNotifications.value = !closeNotifications.value;\n }\n\n return {\n useLocalNotifications,\n saveNotification,\n getNotifications,\n clearNotification,\n closeSideNotifications,\n deleteNotificationById,\n };\n};\n","var map = {\n\t\"./AiTools.vue\": [\n\t\t98743,\n\t\t8743\n\t],\n\t\"./Dashboard.vue\": [\n\t\t63372,\n\t\t3372\n\t],\n\t\"./QueryTopic.vue\": [\n\t\t37955,\n\t\t7955\n\t],\n\t\"./QuickTest.vue\": [\n\t\t2651,\n\t\t2651\n\t],\n\t\"./Test.vue\": [\n\t\t76305,\n\t\t6305\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 92456;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./Protected.vue\": [\n\t\t57434,\n\t\t7434\n\t],\n\t\"./admin/Admin.vue\": [\n\t\t35962,\n\t\t5962\n\t],\n\t\"./admin/ClientAccess.vue\": [\n\t\t3429,\n\t\t3429\n\t],\n\t\"./admin/CopyContent.vue\": [\n\t\t20014,\n\t\t14\n\t],\n\t\"./admin/Dashboard.vue\": [\n\t\t91690,\n\t\t1690\n\t],\n\t\"./admin/ExportTopic.vue\": [\n\t\t48285,\n\t\t8285\n\t],\n\t\"./admin/QueryTopic.vue\": [\n\t\t77265,\n\t\t7265\n\t],\n\t\"./admin/SearchCode.vue\": [\n\t\t82471,\n\t\t2471\n\t],\n\t\"./admin/clients/Clients.vue\": [\n\t\t51152,\n\t\t1152\n\t],\n\t\"./admin/clients/Edit.vue\": [\n\t\t31374,\n\t\t1374\n\t],\n\t\"./admin/clients/List.vue\": [\n\t\t20448,\n\t\t448\n\t],\n\t\"./admin/users/Form.vue\": [\n\t\t22863,\n\t\t2863\n\t],\n\t\"./admin/users/List.vue\": [\n\t\t90525,\n\t\t525\n\t],\n\t\"./admin/users/Users.vue\": [\n\t\t45656,\n\t\t5656\n\t],\n\t\"./aiTools/AiTools.vue\": [\n\t\t98743,\n\t\t8743\n\t],\n\t\"./aiTools/Dashboard.vue\": [\n\t\t63372,\n\t\t3372\n\t],\n\t\"./aiTools/QueryTopic.vue\": [\n\t\t37955,\n\t\t7955\n\t],\n\t\"./aiTools/QuickTest.vue\": [\n\t\t2651,\n\t\t2651\n\t],\n\t\"./aiTools/Test.vue\": [\n\t\t76305,\n\t\t6305\n\t],\n\t\"./dashboard/Dashboard.vue\": [\n\t\t37550,\n\t\t614,\n\t\t2764,\n\t\t2144,\n\t\t735,\n\t\t9339,\n\t\t5151,\n\t\t9462,\n\t\t2147,\n\t\t8289\n\t],\n\t\"./messages/Messages.vue\": [\n\t\t18183,\n\t\t8183\n\t],\n\t\"./profile/ChangePassword.vue\": [\n\t\t55764,\n\t\t5764\n\t],\n\t\"./profile/Profile.vue\": [\n\t\t63196,\n\t\t3196\n\t],\n\t\"./projects/Dashboard.vue\": [\n\t\t78039,\n\t\t2147,\n\t\t2783\n\t],\n\t\"./projects/Projects.vue\": [\n\t\t70406,\n\t\t406\n\t],\n\t\"./projects/project/AiTopic.vue\": [\n\t\t75284,\n\t\t2764,\n\t\t2144,\n\t\t1885,\n\t\t735,\n\t\t7965,\n\t\t4793,\n\t\t7041,\n\t\t7673,\n\t\t7570,\n\t\t9102,\n\t\t4713,\n\t\t1032,\n\t\t3618\n\t],\n\t\"./projects/project/Module.vue\": [\n\t\t24911,\n\t\t2764,\n\t\t2144,\n\t\t1885,\n\t\t735,\n\t\t7965,\n\t\t4793,\n\t\t7041,\n\t\t7673,\n\t\t7570,\n\t\t9102,\n\t\t6288,\n\t\t4945,\n\t\t216,\n\t\t7367,\n\t\t7868,\n\t\t6278\n\t],\n\t\"./projects/project/Project.vue\": [\n\t\t33826,\n\t\t3826\n\t],\n\t\"./projects/project/Settings.vue\": [\n\t\t88402,\n\t\t2764,\n\t\t2144,\n\t\t735,\n\t\t5266\n\t],\n\t\"./projects/project/Timeline.vue\": [\n\t\t54721,\n\t\t2764,\n\t\t2144,\n\t\t1885,\n\t\t7965,\n\t\t9339,\n\t\t5151,\n\t\t2147,\n\t\t4702,\n\t\t2996,\n\t\t2013,\n\t\t6480,\n\t\t5362\n\t],\n\t\"./share/Create.vue\": [\n\t\t61518,\n\t\t2147,\n\t\t3386\n\t],\n\t\"./share/List.vue\": [\n\t\t54139,\n\t\t4139\n\t],\n\t\"./share/Share.vue\": [\n\t\t58503,\n\t\t8503\n\t],\n\t\"./support/Support.vue\": [\n\t\t63109,\n\t\t3109\n\t],\n\t\"./track/CodeAnalytics.vue\": [\n\t\t96803,\n\t\t614,\n\t\t9462,\n\t\t9946,\n\t\t4088,\n\t\t9781\n\t],\n\t\"./track/Dashboard.vue\": [\n\t\t55780,\n\t\t614,\n\t\t9462,\n\t\t5780\n\t],\n\t\"./track/Track.vue\": [\n\t\t39845,\n\t\t9845\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 95530;\nmodule.exports = webpackAsyncContext;","import { useEvent } from \"./event\";\nimport { inject } from \"vue\";\nimport { useLocalNotifications } from \"@/composables/notificationsLocal\";\ninterface ButtonAction {\n action(): void;\n label: string;\n}\n\nexport const useNotification = () => {\n const events = inject(\"events\") as EventsEnum;\n const eventComposable = useEvent();\n\n function info(message: string, button?: ButtonAction) {\n eventComposable.emit(events.NOTIFICATION, {\n message,\n button,\n type: \"info\",\n });\n useLocalNotifications().saveNotification(message, \"info\");\n }\n\n function error(message: string, button?: ButtonAction) {\n eventComposable.emit(events.NOTIFICATION, {\n message,\n button,\n type: \"error\",\n });\n useLocalNotifications().saveNotification(message, \"error\");\n }\n\n function success(message: string, button?: ButtonAction) {\n eventComposable.emit(events.NOTIFICATION, {\n message,\n button,\n type: \"success\",\n });\n useLocalNotifications().saveNotification(message, \"success\");\n }\n\n function warning(message: string, button?: ButtonAction) {\n eventComposable.emit(events.NOTIFICATION, {\n message,\n button,\n type: \"warning\",\n });\n useLocalNotifications().saveNotification(message, \"warning\");\n }\n\n return {\n info,\n error,\n success,\n warning,\n };\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"14\":\"7170f956\",\"53\":\"4683b61f\",\"80\":\"abd94afc\",\"119\":\"b4427a11\",\"216\":\"659844dc\",\"269\":\"06e50158\",\"316\":\"7af9651a\",\"396\":\"2d39ac36\",\"406\":\"817266f8\",\"423\":\"22361003\",\"448\":\"03703e4b\",\"460\":\"5c660383\",\"471\":\"c0df9c10\",\"490\":\"7e7ce840\",\"525\":\"4dafd512\",\"614\":\"47217058\",\"734\":\"83cf4e1e\",\"735\":\"337e4367\",\"737\":\"df9920b0\",\"745\":\"e898a283\",\"773\":\"cf3cce5f\",\"818\":\"92d2a584\",\"881\":\"deb91016\",\"946\":\"c62fc0bc\",\"959\":\"2f93ee02\",\"964\":\"e37b96f4\",\"1032\":\"aacb2db2\",\"1152\":\"be384970\",\"1232\":\"c7fdb95b\",\"1247\":\"1b7981be\",\"1374\":\"7d5031ed\",\"1449\":\"bfa595e8\",\"1480\":\"67a4ac94\",\"1513\":\"d62c1696\",\"1560\":\"91d179d0\",\"1591\":\"f611c560\",\"1594\":\"15180a54\",\"1603\":\"8ab6fe7a\",\"1677\":\"ded9db63\",\"1690\":\"f0975317\",\"1735\":\"2ac22c26\",\"1785\":\"ba00c668\",\"1833\":\"ef5ab32c\",\"1885\":\"19bffbec\",\"1889\":\"274a0da7\",\"1906\":\"a71713cc\",\"1945\":\"530ff50d\",\"2013\":\"ce810c6c\",\"2075\":\"5fdf4053\",\"2112\":\"6d0d1134\",\"2125\":\"5e9bf5c6\",\"2139\":\"ad1f6aa2\",\"2144\":\"2e2a9a69\",\"2147\":\"3e088ba4\",\"2165\":\"2a09c2e2\",\"2265\":\"238715d2\",\"2348\":\"d9c8825c\",\"2439\":\"ba585246\",\"2471\":\"887f4d48\",\"2633\":\"d8adf9d0\",\"2634\":\"961694de\",\"2651\":\"0d9e7d5b\",\"2677\":\"acfa7fc3\",\"2694\":\"bf84d465\",\"2763\":\"6a8b39f5\",\"2764\":\"8b3ecbd6\",\"2783\":\"16e3d39e\",\"2816\":\"449566a6\",\"2859\":\"0b96266b\",\"2863\":\"78e00289\",\"2910\":\"d04ac22a\",\"2947\":\"61ac5463\",\"2975\":\"0418495f\",\"2994\":\"b3bb9111\",\"2996\":\"66a0409b\",\"3047\":\"752afe24\",\"3091\":\"5bc07272\",\"3109\":\"81c91188\",\"3146\":\"ff8552b8\",\"3196\":\"5267670e\",\"3294\":\"f290b9e6\",\"3310\":\"bbc99210\",\"3312\":\"d1854627\",\"3313\":\"0f13baca\",\"3337\":\"6440288a\",\"3338\":\"5f18fd17\",\"3372\":\"f65a05e5\",\"3386\":\"8155a219\",\"3387\":\"fb8520e0\",\"3399\":\"8ac0a972\",\"3429\":\"519b3790\",\"3449\":\"f019a155\",\"3506\":\"30f85bbb\",\"3530\":\"be466479\",\"3571\":\"dc836f7a\",\"3587\":\"c28f7624\",\"3618\":\"775b0bbf\",\"3770\":\"bbbfbf4a\",\"3798\":\"260e621f\",\"3803\":\"43322dcf\",\"3826\":\"942338c4\",\"3966\":\"f80e6612\",\"3984\":\"58894b8e\",\"4008\":\"18f41b72\",\"4018\":\"6bc9263a\",\"4088\":\"fd2c3f9f\",\"4129\":\"c422b40e\",\"4139\":\"ba6b7bae\",\"4183\":\"33a76d92\",\"4196\":\"aaf3c568\",\"4396\":\"0bfa7760\",\"4402\":\"d778ba2a\",\"4532\":\"5959e623\",\"4552\":\"1dfb30a2\",\"4560\":\"5f54245d\",\"4633\":\"ad9f9059\",\"4634\":\"21dde79c\",\"4649\":\"f743c2e4\",\"4697\":\"e4747503\",\"4702\":\"6c318bc9\",\"4713\":\"d8744553\",\"4714\":\"9fbd9b57\",\"4771\":\"bc13c83b\",\"4793\":\"a0164c95\",\"4888\":\"d7fec366\",\"4945\":\"c6384795\",\"4965\":\"d1571be1\",\"4972\":\"a0720391\",\"5004\":\"45d9e9d3\",\"5064\":\"c8b05e69\",\"5087\":\"ca10a15d\",\"5093\":\"9ade2ed7\",\"5125\":\"ccc5d783\",\"5151\":\"fce8c35b\",\"5164\":\"dc46cd2a\",\"5266\":\"e84743de\",\"5301\":\"c763321f\",\"5362\":\"f6b6b7b1\",\"5399\":\"489a2b8e\",\"5425\":\"18e6c3a1\",\"5435\":\"ab253ad6\",\"5554\":\"52901335\",\"5572\":\"305beb38\",\"5611\":\"66a451b7\",\"5627\":\"5359d365\",\"5630\":\"09f768af\",\"5656\":\"d7df2c83\",\"5666\":\"53c667d4\",\"5679\":\"5d2c7d19\",\"5711\":\"6a58ae7e\",\"5737\":\"324775d6\",\"5764\":\"ed281a5a\",\"5780\":\"d67c2bc1\",\"5891\":\"c7aa21fe\",\"5962\":\"0cc20515\",\"5997\":\"92a7144b\",\"6090\":\"ceed3ad7\",\"6106\":\"904a0f4f\",\"6114\":\"7340b67d\",\"6132\":\"53f3655c\",\"6208\":\"1ffb74b8\",\"6222\":\"7724b7dd\",\"6234\":\"0f9b24a3\",\"6257\":\"dea34372\",\"6278\":\"1b8b7618\",\"6288\":\"a8aae987\",\"6305\":\"afa31b63\",\"6480\":\"15264648\",\"6490\":\"2a14257a\",\"6507\":\"de62c66e\",\"6534\":\"31d1f4b1\",\"6564\":\"dc79915e\",\"6680\":\"13d03ae8\",\"6700\":\"06445e19\",\"6851\":\"8c775b21\",\"6976\":\"e183e100\",\"7041\":\"8ecd09eb\",\"7109\":\"f3cd709d\",\"7182\":\"27f5bb38\",\"7232\":\"3119bdab\",\"7237\":\"f0a8b410\",\"7265\":\"e324a9d1\",\"7315\":\"47a3274d\",\"7317\":\"6300afd5\",\"7338\":\"d4888f05\",\"7360\":\"43e6c48c\",\"7367\":\"c6e815e5\",\"7434\":\"96d5fb55\",\"7532\":\"6c937c77\",\"7539\":\"c26233fe\",\"7551\":\"8346dba9\",\"7570\":\"608b1cb4\",\"7673\":\"69ab0336\",\"7713\":\"d8d8452b\",\"7733\":\"03aba7ff\",\"7745\":\"6b661d1a\",\"7751\":\"26f1d702\",\"7781\":\"8e426897\",\"7783\":\"0f25f34c\",\"7868\":\"c3172055\",\"7877\":\"1a0e9929\",\"7924\":\"4b4d7a55\",\"7955\":\"a5bb6bdd\",\"7965\":\"2b0ecbf3\",\"7980\":\"2315e7b6\",\"8179\":\"97126b4c\",\"8183\":\"4635210a\",\"8225\":\"0f016cd1\",\"8239\":\"e2b49d5e\",\"8274\":\"550b3faa\",\"8285\":\"74dfdd42\",\"8289\":\"a23a578b\",\"8348\":\"009abe96\",\"8356\":\"2735ff92\",\"8397\":\"20836a3c\",\"8401\":\"5c0ea6a6\",\"8482\":\"e044c397\",\"8503\":\"43c79204\",\"8509\":\"a728a973\",\"8511\":\"c4f126c6\",\"8743\":\"d6c4689a\",\"8775\":\"34578b9e\",\"8801\":\"5dc25239\",\"8869\":\"3677f191\",\"8899\":\"e524569e\",\"9012\":\"754ab161\",\"9025\":\"12139444\",\"9102\":\"b61fba8f\",\"9241\":\"755fb315\",\"9243\":\"2e3eb20e\",\"9339\":\"afce3fad\",\"9392\":\"f94e6953\",\"9399\":\"524a0143\",\"9409\":\"0d2d4ae8\",\"9462\":\"33be01a0\",\"9476\":\"6c2f2c27\",\"9510\":\"e1021d5c\",\"9513\":\"fb7d5b8d\",\"9612\":\"3e19283f\",\"9694\":\"804becaa\",\"9707\":\"b68a4a60\",\"9766\":\"ce2640f3\",\"9781\":\"44adfcb7\",\"9806\":\"c8416502\",\"9845\":\"6c69f8bc\",\"9923\":\"98ffdbe6\",\"9936\":\"3de63f08\",\"9946\":\"da6f920b\",\"9955\":\"8691a8aa\",\"9976\":\"8f073a11\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + {\"14\":\"18f8f71f\",\"53\":\"a138937b\",\"80\":\"d7c2b608\",\"119\":\"10ddc5ea\",\"269\":\"4b78fb05\",\"316\":\"fe46beae\",\"396\":\"5c95e1c0\",\"423\":\"baad3c79\",\"448\":\"901d903b\",\"460\":\"96bb9c6a\",\"471\":\"2071df1a\",\"490\":\"6a9184d1\",\"525\":\"9e62989e\",\"737\":\"acd7f90c\",\"745\":\"d5ac618f\",\"773\":\"c7c19641\",\"818\":\"a78c6f1f\",\"833\":\"62f4b568\",\"835\":\"cf867da0\",\"881\":\"36e0817a\",\"946\":\"b0120fb7\",\"959\":\"eaf44ad9\",\"964\":\"800ce143\",\"976\":\"f53f6451\",\"1177\":\"826aa135\",\"1232\":\"9c3cd9d0\",\"1247\":\"bec1bb8e\",\"1374\":\"4449f3c4\",\"1449\":\"7a81b288\",\"1480\":\"c63de7b1\",\"1513\":\"6aa45474\",\"1591\":\"c08094a7\",\"1594\":\"2a8e1637\",\"1603\":\"422fd775\",\"1677\":\"d3cd13e9\",\"1690\":\"193529f8\",\"1735\":\"10ddc5ea\",\"1785\":\"23f89518\",\"1790\":\"7ef8ff67\",\"1795\":\"1f2111ff\",\"1833\":\"ce97e15e\",\"1889\":\"dc4002e3\",\"1906\":\"e18d8be4\",\"1945\":\"10ddc5ea\",\"2075\":\"781ccb30\",\"2112\":\"f0da669b\",\"2139\":\"75f6b4a1\",\"2165\":\"36b652b3\",\"2265\":\"c64165fd\",\"2348\":\"581b1ee5\",\"2439\":\"e3c58957\",\"2471\":\"e4467aa5\",\"2633\":\"b361198e\",\"2634\":\"f0ad98b6\",\"2651\":\"a1288635\",\"2677\":\"dbd04bdc\",\"2694\":\"523cb2ac\",\"2763\":\"be9ca7d6\",\"2783\":\"65f9ab14\",\"2816\":\"3b8468a1\",\"2823\":\"c02ec714\",\"2859\":\"082bb8a1\",\"2863\":\"5a5e549d\",\"2910\":\"63118b9f\",\"2947\":\"c48fb7f7\",\"2961\":\"263f240e\",\"2994\":\"791822a8\",\"2996\":\"2233e870\",\"3047\":\"07a99407\",\"3091\":\"841963f0\",\"3146\":\"91d7fcdc\",\"3196\":\"c74c8809\",\"3294\":\"98c36e81\",\"3310\":\"3ee8a3a9\",\"3312\":\"2675bafb\",\"3313\":\"9721cf61\",\"3337\":\"4458dedb\",\"3338\":\"bf41fd62\",\"3372\":\"0a134607\",\"3386\":\"f2bec788\",\"3387\":\"baffc654\",\"3399\":\"7097a1d4\",\"3429\":\"f5476e64\",\"3449\":\"c25bb9f0\",\"3506\":\"9e816035\",\"3530\":\"2c157ad0\",\"3571\":\"7c9ee961\",\"3587\":\"dd1f7c78\",\"3618\":\"f5d85808\",\"3770\":\"cb542917\",\"3798\":\"d8bbe36a\",\"3803\":\"d5b23e17\",\"3826\":\"15345cad\",\"3984\":\"41a79a31\",\"4065\":\"1870acc6\",\"4129\":\"39ee646e\",\"4139\":\"73b341de\",\"4183\":\"b2eaa705\",\"4196\":\"d036363a\",\"4281\":\"1093ef56\",\"4396\":\"f58cde89\",\"4402\":\"775a6c17\",\"4513\":\"69bc3347\",\"4552\":\"afd6fc4e\",\"4610\":\"f58cde89\",\"4633\":\"0143be02\",\"4634\":\"38cb87a9\",\"4649\":\"4132b6e4\",\"4697\":\"502774db\",\"4714\":\"52232683\",\"4771\":\"125f2584\",\"4828\":\"9a81ee9b\",\"4888\":\"88cadb8f\",\"4963\":\"e06dded7\",\"4965\":\"1c8767bd\",\"4972\":\"ff9f1fa4\",\"5004\":\"ff958d8f\",\"5064\":\"2cf84423\",\"5087\":\"272b3bb7\",\"5093\":\"ba5265cd\",\"5164\":\"500c0c21\",\"5266\":\"b0b24f8a\",\"5301\":\"54d1dd49\",\"5362\":\"4f2ae4bf\",\"5399\":\"826aa135\",\"5425\":\"3111363d\",\"5435\":\"3a83042e\",\"5554\":\"f4898ad8\",\"5572\":\"772b57ec\",\"5611\":\"746c36b4\",\"5627\":\"8adb78e4\",\"5630\":\"8ed3d8ee\",\"5666\":\"59d6424e\",\"5679\":\"deddf5f7\",\"5764\":\"0048332e\",\"5780\":\"4bfdaf06\",\"5891\":\"177d02e6\",\"5962\":\"17fd9225\",\"5997\":\"b9df4b7b\",\"6013\":\"5a7c9d4f\",\"6090\":\"d846b715\",\"6106\":\"25eccb93\",\"6132\":\"63118b9f\",\"6208\":\"40c232ea\",\"6222\":\"a4a9003a\",\"6257\":\"7e4538aa\",\"6278\":\"5e7b6955\",\"6305\":\"7470b935\",\"6405\":\"9ab2bfb0\",\"6490\":\"2b204b2d\",\"6507\":\"95117e6c\",\"6534\":\"662fccda\",\"6680\":\"071a5fac\",\"6700\":\"298dca59\",\"7109\":\"0ab272ca\",\"7182\":\"55096327\",\"7232\":\"7cb46174\",\"7237\":\"d281c121\",\"7265\":\"feee71d1\",\"7315\":\"48db5282\",\"7317\":\"5113141c\",\"7338\":\"07722904\",\"7360\":\"0caf2d02\",\"7434\":\"190c176f\",\"7532\":\"25d874b9\",\"7539\":\"553627a3\",\"7551\":\"be681b47\",\"7570\":\"118d35d9\",\"7713\":\"2e7610c9\",\"7733\":\"2e57bf7f\",\"7751\":\"52ed5383\",\"7781\":\"90ea0f63\",\"7783\":\"91ee28cd\",\"7877\":\"35666d4f\",\"7924\":\"6b7d0ef2\",\"7955\":\"feee71d1\",\"8113\":\"8f7ee65d\",\"8183\":\"f2bae8be\",\"8192\":\"5057bd8a\",\"8225\":\"e02b829c\",\"8274\":\"451b0ddb\",\"8285\":\"9277385b\",\"8289\":\"9a7aaebe\",\"8356\":\"0eecdd3c\",\"8397\":\"0d5d08c0\",\"8401\":\"5326365a\",\"8482\":\"cc659835\",\"8503\":\"ea24f196\",\"8509\":\"84c69b26\",\"8511\":\"d44b6d14\",\"8743\":\"477903cf\",\"8775\":\"5b99720c\",\"8801\":\"5b0c6a2c\",\"8869\":\"fb15a0a6\",\"8899\":\"409f7204\",\"9012\":\"267dc65a\",\"9243\":\"13d68043\",\"9392\":\"f47a7999\",\"9399\":\"0f7f027a\",\"9476\":\"be681b47\",\"9510\":\"471d52da\",\"9513\":\"8dfa557c\",\"9612\":\"8b581406\",\"9694\":\"d489a0a9\",\"9766\":\"55080146\",\"9781\":\"19fd5c17\",\"9806\":\"dc6e989c\",\"9923\":\"09e4306c\",\"9955\":\"ecf446e7\",\"9976\":\"28363837\",\"9992\":\"d3643492\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"kat-app:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = function(chunkId, fullhref, oldTag, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tif (__webpack_require__.nc) {\n\t\tlinkTag.nonce = __webpack_require__.nc;\n\t}\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && event.type;\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + errorType + \": \" + realHref + \")\");\n\t\t\terr.name = \"ChunkLoadError\";\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t3524: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"14\":1,\"53\":1,\"80\":1,\"119\":1,\"269\":1,\"316\":1,\"396\":1,\"423\":1,\"448\":1,\"460\":1,\"471\":1,\"490\":1,\"525\":1,\"737\":1,\"745\":1,\"773\":1,\"818\":1,\"833\":1,\"835\":1,\"881\":1,\"946\":1,\"959\":1,\"964\":1,\"976\":1,\"1177\":1,\"1232\":1,\"1247\":1,\"1374\":1,\"1449\":1,\"1480\":1,\"1513\":1,\"1591\":1,\"1594\":1,\"1603\":1,\"1677\":1,\"1690\":1,\"1735\":1,\"1785\":1,\"1790\":1,\"1795\":1,\"1833\":1,\"1889\":1,\"1906\":1,\"1945\":1,\"2075\":1,\"2112\":1,\"2139\":1,\"2165\":1,\"2265\":1,\"2348\":1,\"2439\":1,\"2471\":1,\"2633\":1,\"2634\":1,\"2651\":1,\"2677\":1,\"2694\":1,\"2763\":1,\"2783\":1,\"2816\":1,\"2823\":1,\"2859\":1,\"2863\":1,\"2910\":1,\"2947\":1,\"2961\":1,\"2994\":1,\"2996\":1,\"3047\":1,\"3091\":1,\"3146\":1,\"3196\":1,\"3294\":1,\"3310\":1,\"3312\":1,\"3313\":1,\"3337\":1,\"3338\":1,\"3372\":1,\"3386\":1,\"3387\":1,\"3399\":1,\"3429\":1,\"3449\":1,\"3506\":1,\"3530\":1,\"3571\":1,\"3587\":1,\"3618\":1,\"3770\":1,\"3798\":1,\"3803\":1,\"3826\":1,\"3984\":1,\"4065\":1,\"4129\":1,\"4139\":1,\"4183\":1,\"4196\":1,\"4281\":1,\"4396\":1,\"4402\":1,\"4513\":1,\"4552\":1,\"4610\":1,\"4633\":1,\"4634\":1,\"4649\":1,\"4697\":1,\"4714\":1,\"4771\":1,\"4828\":1,\"4888\":1,\"4963\":1,\"4965\":1,\"4972\":1,\"5004\":1,\"5064\":1,\"5087\":1,\"5093\":1,\"5164\":1,\"5266\":1,\"5301\":1,\"5362\":1,\"5399\":1,\"5425\":1,\"5435\":1,\"5554\":1,\"5572\":1,\"5611\":1,\"5627\":1,\"5630\":1,\"5666\":1,\"5679\":1,\"5764\":1,\"5780\":1,\"5891\":1,\"5962\":1,\"5997\":1,\"6013\":1,\"6090\":1,\"6106\":1,\"6132\":1,\"6208\":1,\"6222\":1,\"6257\":1,\"6278\":1,\"6305\":1,\"6405\":1,\"6490\":1,\"6507\":1,\"6534\":1,\"6680\":1,\"6700\":1,\"7109\":1,\"7182\":1,\"7232\":1,\"7237\":1,\"7265\":1,\"7315\":1,\"7317\":1,\"7338\":1,\"7360\":1,\"7434\":1,\"7532\":1,\"7539\":1,\"7551\":1,\"7570\":1,\"7713\":1,\"7733\":1,\"7751\":1,\"7781\":1,\"7783\":1,\"7877\":1,\"7924\":1,\"7955\":1,\"8113\":1,\"8183\":1,\"8192\":1,\"8225\":1,\"8274\":1,\"8285\":1,\"8289\":1,\"8356\":1,\"8397\":1,\"8401\":1,\"8482\":1,\"8503\":1,\"8509\":1,\"8511\":1,\"8743\":1,\"8775\":1,\"8801\":1,\"8869\":1,\"8899\":1,\"9012\":1,\"9243\":1,\"9392\":1,\"9399\":1,\"9476\":1,\"9510\":1,\"9513\":1,\"9612\":1,\"9694\":1,\"9766\":1,\"9781\":1,\"9806\":1,\"9923\":1,\"9955\":1,\"9976\":1,\"9992\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr\n\n// no prefetching\n\n// no preloaded","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t3524: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(!/^(1(79[05]|177)|4(065|281|513|610|828|963)|8(113|192|33|35)|2823|2961|6013|6405|976|9992)$/.test(chunkId)) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkkat_app\"] = self[\"webpackChunkkat_app\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [504], function() { return __webpack_require__(75287); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["useModule","endpoints","inject","constants","store","useStore","router","useRouter","notificationComposable","useNotification","utilsComposable","useUtils","route","useRoute","clientId","id","email","state","Auth","originalInfo","createModule","type","name","tags","lang","Language","en","payload","moduleName","moduleType_chr","calling_UserID_chr","lastUpdatedByUserId","axios","MODULES","CREATE","then","response","success","catch","error","makeContentObject","moduleResponse","_module","module","moduleId","status","createdAt","createdDateTime","displayStatus","getStatusName","lastUpdateAt","lastUpdatedDateTime","extraInfo","length","questionsCount","slidesCount","mediasCount","projectsCount","getModulesList","projectId","moduleType","GET_ALL_MODULELIST","params","err","getTimelineModules","TIMELINE_MODULES","get","GET","clientID_lng","push","path","getModuleData","GET_MODULE_DATA","deleteModule","DELETE","updateName","UPDATE_NAME","publishModule","PUBLISH","data","includes","revertModuleToPublished","REVERT_TO_PUBLISHED","saveCopy","clientName","customClientId","clientIdValue","COPY","goToEditModule","isFromDashboard","query","from","saveTopicList","activeList","SAVE_TOPIC_LIST","LastUpdatedByUserId","getAvailableTopics","AVAILABLE_TOPICS","getRecentModules","GET_RECENT_MODULES","modules","contents","_","p","generateContentItemModule","getModuleTypeByEnum","content","LANGUAGES","EN","STATE_STATUS","PUBLISHED","getProjectsByModuleId","GET_PROJECTS_BY_MODULE","convertTopicToModule","source","topicId","topicProperties","moduleProperties","target","moduleState","isPublished","quiz","topics","intake","presentation","navigation","questionModule","speech","intro","outro","estimatedRuntime","topicName","getModuleTopicsUnpublishedStatus","GET_MODULE_TOPICS_UNPUBLISHED_CHANGES","t","useComponentState","storageComposable","useStorage","userId","set","storageStates","states","s","componentName","componentId","remove","browser","detect","audioMode","ref","initialized","agentLoaded","animationLoaded","slideReady","audioState","duration","currentTime","playing","canResumeAudio","avatar","agentType","animationsList","customAnimations","evtHandler","audioEl","queue","currentSlide","isFirstSlideReady","currentTimeInteval","useWebgl","events","eventComposable","useEvent","textToSpeechComposable","useTextToSpeech","init","version","browserVersion","split","value","startEventHandler","loadAudio","Promise","resolve","regex","test","text","avatarVoice","audioUrl","soundClipURL","src","resetSlideInfo","setAttribute","load","Audio","oncanplay","calcDuration","onplay","onpause","startUpdateCurrentTime","setInterval","Number","toFixed","stopUpdateCurrentTime","pause","post","action","reloadCurrentSlide","emit","WEBGL_UPDATE_TIME","clearInterval","userLang","message","language","enabled","waitingForInitializationMessage","console","log","TEXT_TO_SPEECH_SLIDE_READY","availableNBLGAnimations","animation","label","animDuration","offset","setAnimationLayersDuration","show","divId","zIndex","WEBGL_SHOW","hide","evtToClear","evt","removeFromQueue","WEBGL_HIDE","play","isTimeChanged","seek","slideAudioStarted","toggleAudio","getAnimationByName","setCurrentTime","seconds","onReceiveEvt","async","isInicializationEvt","isSlideEvt","WEBGL_POST","getPresets","_agentName","agentName","toLowerCase","clothes","john","default","allison","andy","peter","hanna","noriko","filterClothsByAgent","preset","agentPresets","availableClothes","clothe","val","_action","time","loadAvatar","_avatar","_force","avatarName","prefabName","setTimeout","clothesArr","bodySettings","itemName","meshName","materialIndex","itemAddress","sliptItemAdress","join","settings","agentConfig","voiceName","voice","voiceSystem","voiceService","loadSlide","layers","showCme","mediaAttachedUrl","mediaAttachedType","getAvatarVoice","slideObj","uuidv4","soundData","pauses","isConversationEnd","cardData","customData","orderedLayers","l","firstMediaLayer","isVideo","obj","showAt","hideAt","timeIndexes","wordIndex","videoURL","videoPauses","imageURL","clickAction","layer","index","meta","media","showAtSec","hideAtSec","timeIndex","lastTimeIndex","nextLayer","nextTimeindex","toAdd","isImage","url","link","showFullscreen","fullscreen","loadQuiz","slide","individualOutros","quizObj","question","uiText","question_chr","answers","utteranceText","ssml","allowMultiple","responses","defaultResponse","answer","answer_chr","trigger","generateSSML","outroLine_chr","_layers","correctAnswerIndex","isCorrect","wrongAnswerIndex","_index","loadIntake","intakeQuestion","intakeTypes","intakeObj","title","utterance","isRequired","questionType","binaryQ","uiAnswer1","option1","uiAnswer2","option2","rangeQ","range","x","min","y","max","isNaturalNumbers","imageQ","checkmarkURL","mcqQ","options","loadNavigation","navigationModule","navigationObj","line_chr","navigationPoints","navigationButtons","button","buttonLabel","isSkippable","isReplayable","allowPrevious","canAskQuestions","animationPreview","force","_customAnimations","AnimationName","Word","word","WordIndex","TimingOffset","JSON","stringify","setCmeVisibility","newDuration","mediaLayers","lastMedia","videoEndsAt","timelineDuration","showAnimationList","updatedText","loadingSlide","avatarVoiceOriginal","audioIndexes","audioIndexesWithoutPauses","timeToSubtract","currentSelection","contextMenuCurrentSelection","layersByType","computed","durationWithPauses","pausesSum","durationBefore","durationAfter","currentSelectionLayer","_layer","_text","setLayers","setText","TEXT_TO_SPEECH_INITIALIZED","destroy","stopVoiceRequest","setSelected","cancel","getLayer","_wordIndex","_type","getLayersByWordIndex","addLayer","clearLayersByType","layerType","removeLayer","valid","moveLayer","newWordIndex","map","some","makeAudioIndexes","arr","endPause","typesAvailable","previousLayer","lastLayer","sum","item","getWordIndexAvailableTypes","availableLayers","checkLayerFitsBetween","checkLayersDurations","next","nextLayerTime","getLayerStartTime","layerPause","pauseSec","getAudioIndex","audioIndex","_addPausePauseDuration","_addAnimationOffset","audioIndexObj","layerAnimation","_layerToCheck","layerToCheckStartTime","animationLayers","nextAnimationLayers","nextLayerStartAt","layerEndsAt","previousAnimationLayers","previousLayerEndsAt","fromContextMenu","secondsToPercentage","percentage","removeCurrentSelection","selection","timelineCalcGeneralValues","TIMELINE_CALC_GENERAL_VALUES","getGridColStyle","paddingLeft","paddingRight","width","audioIndexTime","nextAudioIndex","nextAudioIndexTime","originalValues","cloneText","newSSML","getVoice","hasPauseError","words","indexOfSameWords","generateSSMLFromTimeIndexes","toReduce","firstIndexPause","TEXT_TO_SPEECH_RENDER_LAYERS","_ssml","_ignoreCache","archetype","AVATARS","TEXT_SPEECH","VoiceService","Voice","Text","replaceTextSpaces","Pronunciation","Format","addSpectrumData","Pitch","pitch","Rate","rate","IgnoreCache","CustomAnimations","Archetype","cancelToken","token","pausesAndPronunciationTags","formatedText","startAt","indexOf","endAt","substring","pronunciationLayer","pauseLayer","pronunciation","wordReplace","phonemeType","generateSsmlPhonemeTag","generateSsmlSubTag","generateSsmlBreakTag","generateSsmlSpeakTag","replace","pronunciations","isWrongIndex","beforeChar","afterChar","textSplited","wordsBefore","breakTag","pronunciationsStrings","hash","Math","random","toString","tag","replaceAll","phoneme","oldValue","newValue","sanitizedOldValue","re","RegExp","useSlideUtils","assetComposable","useAsset","createBaseObject","wordIndexes","slideBaseObject","animationTrigger","createAnimationTriggerObject","mediaTrigger","createMediaTriggerObject","createSSMLObject","createBaseResponseObject","SlideBaseResponseObject","htmlContent_Animation","htmlContent_Media","htmlContent","htmlContent_Pauses","ssmL_Answer","createIntroResponseObject","slideIntro","createOutroResponseObject","HTML_Content_Animation","animationName","animationSpanId","animationTimingOffset","animationTriggerType","animationUrl","animationWord","animationWordIndex","HTML_Content_Media","mediaFullScr","mediaId","mediaLink","mediaUrl","mediaStreamingURL","timingOffset","triggerType","mediaStreamingUrl","createPronunciationObject","pauseList","createPauseListObject","HtmlContent","HtmlContent_Pause","SSML_Tag_Pause","ssmL_Tag_Pause","SSML_Tag_Pronunciation","PhonemeType_Pronunciation","Utterances","utterances","Utterances_Pauses","utterances_Pauses","actualWordIds","pauseTimeAfter","pauseTimeBefore","pausesSpanTags","pausesWordIndexes","wordIds","pronunciationObject","wordId","createIntroObject","introLine_chr","createOutroObject","createModuleLayersObject","createMediaLayersObject","createAnimationLayersObject","createPronunciationlayersObject","createPauselayersObject","pauseLayers","htmlContenPauses","findWordIndexFromInHTML","document","createElement","innerHTML","sumWordIndex","childNodes","el","element","textContent","isNaN","pronunciationLayers","addedWords","animationsLayers","galleryAsset","createMediaAssetObject","mediaURL","autoplay","getCachedFile","createPauseResponseObject","ssmL_Tag","spanTag","createPronunciationResponseObject","createMediaTriggerResponseObject","medias","createAnimationTriggerResponseObject","animations","animationURL","useAiTopic","moduleComposable","slideUtilsComposable","getModuleTopics","topicIds","endpoint","TOPICS","GET_TOPICS_BY_ID","getAll","GET_ALL","createUpdate","RENAME_TOPIC","topicResponse","_topic","topic","createdDateTime_dtm","lastUpdatedDateTime_dtm","averageTrainingPhrases","deleteTopic","DETELE_ALL","getSingle","getRecords","recordIds","GET_RECORDS","goToEdit","getMarkup","markupId","GET_MARKUP","mediaTriggers","markup","assets","getModuleAssets","createUpdateMarkup","PUT_POST_MARKUP","createMarkupPutPostObject","record","markupObject","v","fullScrMedia","htmlContent_Pause","recordId","deleteRecord","DELETE_RECORD","exportTopic","EXPORT_TOPIC","downloadJSON","createUpdateRecord","PUT_POST_RECORD","createRecordPutPostObject","recordObject","secondaryQuestions","indicator","showInFallbackMenu","publishTopic","revertTopicToPublished","COPY_TOPIC","importCSVSpreadsheet","file","formData","makeFormData","IMPORT_CSV","importFromSpreadsheet","spreadsheetId","IMPORT_FROM_SPREADSHEET","compareRecords","pineconeInstance","COMPARE_RECORDS_WITH_PINECONE","similarRecords","queryTopic","QUERY_TOPIC","topK","requestTest","REQUEST_TEST","getProjectsByTopicId","GET_PROJECTS_BY_TOPIC_ID","getTopicAndRecordList","isMultiple","recordList","records","r","allRecordsIds","filterTopics","topicRecords","tr","concat","updateRecordIndex","newIndex","UPDATE_RECORD_INDEX","useProject","routerComposable","aiTopicComposable","componentState","getProjects","_clientId","pageLimit","currentPage","search","PROJECTS","LIST","pageIndex","updateTimeline","showNotification","UPDATE_MODULE_LIST","project","getProject","isAdmin","projectInfo","duplicateProject","originalProject","newProject","createUpdateProject","projectName","agentLines","avatarId","defaultImageUrl","defaultClickableAction","introVideoId","isDefaultIntroVideo","activeModulesList","deleteProject","getAvatars","onlyVisible","LIST_ALL","avatarResponse","avatarItems","avatarList","isVisible","getAvatar","SetAvatarVisibility","SET_VISIBLE","getOtherLines","OTHER_LINES","introVideoUrl","CREATE_UPDATE","publishProject","_error","errorMsg","generateLines","lineText","lineType","revertProjectToPublished","newProjectName","clientNameToCopyTo","clientIdToCopyTo","setIntroVideo","videoId","showIntro","SET_INTRO_VIDEO","getContents","aiTopics","_data","commit","goToEditContent","undefined","currentProjectIdFromStore","info","recentProjectId","getDefaultAvatar","visibleAvatars","carlosBusinessAvatar","clearPronunciations","CLEAR_PRONUNCIATIONS","renameProject","clearCachedContents","getRecentProjects","GET_MOST_RECENT","projects","generateContentItemProject","contentItem","getProjectModulesUnpublished","GET_PROJECT_MODULES_UNPUBLISHED_CHANGES","_modules","m","useAuth","projectComposable","use","code","logout","setToken","impersonate","originalId","setImpersonated","login","password","AUTH","LOGIN","loginInfo","getUserInfo","GetUsers","USERS","headers","common","authorization","clearAuthInfo","userInfo","USER_INFO","clientAccess","USER_ACCESS","GET_USER_CLIENT_LIST","originalUserInfo","impersonateUser","IMPERSONATE_USER","inpersonateUser","originalUserId","revertImpersonationUser","REVERT_IMPERSONATION","finally","impersonateClient","originalClientId","revertImpersonationClient","revertImpersonation","forgotPassword","FORGOT_PASSWORD","resetPassword","RESET_PASSWORD","resetEmail","resetConfirmPassword","changePassword","confirmPassword","currentPassword","newPassword","CHANGE_PASSWORD","ConfirmEmail","CONFIRM_EMAIL","grantUserClientAccess","clientIds","formatEndpointWithQueryParams","GRANT_CLIENT_ACCESS","revokeUserClientAccess","REVOKE_CLIENT_ACCESS","setUserAgreement","SET_USER_AGREEMENT","GetServiceStatus","Include_Deleted_Clients","GET_SERVICE_STATUS","Calling_UserID_chr","Include_Deleted_Clients_byt","addUserDetail","firstName","lastName","phoneNumber","role","ADD_USER_DETAIL","useAdministration","getRoles","ROLES","getUserById","getAllUsers","createUser","ADD","updateUserInformation","UPDATE_INFO","sendUserResetPassword","deleteUser","getClients","CLIENTS","getClientById","ClientID_lng","clientID","tblClient","createClient","POST_PUT","ClientName_chr","updateClientInformation","clientInfo","deleteClient","is_Hard_Delete_ysn","useInputValidation","_rules","_name","_value","rules","rule","ruleSplit","AllRules","inputValue","errorMessage","useField","initialValue","validateOnMount","validateOnValueUpdate","useTag","getList","TAGS","LIST_CLIENT_TAGS","tagName","tagType","createTag","addEditTags","ADD_EDIT_TAGS_MODULE","updateTags","UPDATE_TAGS","changing","useColor","darkMode","setDarkMode","setColors","colors","list","Settings","querySelector","hex","style","setProperty","nextTick","getByName","colorName","getComputedStyle","documentElement","getPropertyValue","toggleDarkMode","useModuleIntake","dayjs","moduleData","moduleIntake","INTAKE","intakeId","intakeId_chr","createObject","questions","lastUpdatedByUserId_chr","createUpdateEntry","CREATE_UPDATE_ENTRY","createEntryObject","entry","utc","format","moduleId_chr","speechTime_lng","isShowSummary","isReadTitles","readQuestion","createQuestionResponseObject","questionBase","isQuestionRequired","diagramQ","createQuestionMcqObject","questionMcq","allowMultipleSelection","createQuestionDiagramObject","questionDiagram","markerType","markerColor","createQuestionBinaryObject","questionBinary","createQuestionRangeObject","questionRange","createQuestionImageObject","questionImage","deleteEntry","entryId","DELETE_ENTRY","sortQuestions","SORT","entryIds","revertEntryToPublished","slideId","REVERT_ENTRY","useModuleNavigation","moduleNavigation","NAVIGATION","navigationId","navigationId_chr","navigationObject","createButtonObject","navigationButton","navigateTomodule","navigationType","navigationInfo","useModulePresentation","webglComposable","modulePresentation","PRESENTATION","presentationId","presentationId_chr","createUpdateSlide","createSlideObject","slides","slideData_chr","CREATE_SLIDE","deleteSlide","slideId_chr","DELETE_SLIDE","importSlide","presentationFile","blobFolderName","containerName","IMPORT","importSlideURL","fileURL","IMPORT_URL","groupedLayers","slideData","presentationSlideObject","slideMediaType","mediaAttached","mediaType_chr","slideMediaURL","speechLength","ceil","sortSlides","slideIds","revertSlideToPublished","REVERT_SLIDE","useModuleQuiz","moduleQuiz","QUIZ","quizId","quizId_chr","quizInfo","createAnswerResponseObject","presentationModule","createQuestionObject","introValue","introLayers","introTimeIndexes","questionObj","questionIntro","createAnswerObject","outroValue","correct","outroLayers","outroTimeIndexes","answerOutro","base","slideObject","listStyleId","readAnswers","useCode","apiConfig","getTopCodes","codesIds","dates","_formatDate","date","filter","end","add","start","subtract","CODES","TOP_LIST","codeids","getRecentCodes","RECENT_LIST","createCode","codeInfo","createdByUserId_chr","uniqueCodes_num","changeCodeStatus","codeId","isActive","ACTIVATE_DESACTIVATE","updatedByUser","duplicateCode","deleteCode","updateCodeTags","UPDATE_TAG","updateCodeAvatarBackground","UPDATE_CODE","updateQRCode","qrcodeUrl","generateUpdateCodeObject","getCodeDetails","GET_DETAILS","GetCodesByCodeName","codeName","GET_BY_CODE_NAME","GetCodesByModule","GET_CODES_BY_MODULE","GetCodesByTopic","codePut","newAvatarId","isCustom","backgroundName","bakgroundName","backgroundURL","projectDisplayName","forceVariantsOnly","additionalExtensionsCount","getAllCodes","getCodesByProject","GET_CODES_BY_PROJECT","codes","openCode","WEBGL_URL","INSTANCE","openedWindow","window","open","focus","recordCode","shareCode","shareInfo","sharePayload","createCodeShareObject","SHARE_CODE","shareInfoObject","shareEmail","body","subject","includeEmbed","sendEmbedCode","includeLink","sendLink","includeQRCode","sendQRCode","logoURL","logo","recipients","emails","shareText","phoneNumbers","useAnalytic","addDay","dateObj","isValid","local","getUsersPerDay","subcodes","reject","ANALYTICS","USERS_PER_DAY","codesEntered","userPerDay","totalUsers","uniqueUsers","getPopularStats","GET_POPULAR_STATS","getTopModules","GET_TOP_MODULES","getTopProjects","GET_TOP_PROJECTS","getFeedback","GET_FEEDBACK","getOSBreakdown","GET_OS_BREAKDOWN","getQuestionInfo","codeIds","GET_QUESTION_INFO","getPresentationInfo","GET_PRESENTATION_INFO","getQuizInfo","GET_QUIZ_INFO","codeid","quizPassThreshold","GET_CODE_DETAILS","getCodes","getMultipleCodeDetails","GET_MULTIPLE_CODE_DETAILS","getFormInfo","sessionId","GET_FORM_INFO","sessionID","codeID","entryID","getSessionInfo","GET_SESSION_INFO","getExportData","GET_ALL_DATA","usePdf","generatePdf","codeExtensions","forceVariants","zip","JSZip","QRCodes","i","codeExtension","generateQRCode","pdfs","processQRCodes","all","pdf","blob","href","URL","createObjectURL","download","append","click","generateAsync","zipFile","Blob","pdfPromises","forEach","pdfPromise","generateDocPDF","docPDF","output","extensionCode","param","QRCode","qrCodeUrl","doc","jsPDF","pageWidth","internal","pageSize","getWidth","center","logoImg","Image","require","addImage","welcomeText","splitWelcome","splitTextToSize","setFontSize","appText","splitApp","accessText","accessApp","codeLink","setTextColor","textWithLink","iFrameTitle","iFrameTitleText","iFrameText","iFrameContent","qrCodeImg","codeText","getTextWidth","generateReceipt","img","uniqueCode","Object","values","autoTable","head","theme","margin","top","headStyles","fillColor","save","useModuleSpeech","moduleSpeech","speechModule","speechInfo","SPEECH","UPDATE","useShortcut","shortcutList","keysPresseds","comboKeys","shortcut","shortcutListener","handleEvent","event","act","_event","passive","releaseKeysPressed","cleanKeysPresseds","triggerShortcutAction","eventKey","keyCode","key","wheelDirection","wheelDelta","isWheelEvent","preventDefault","comboSpecialKeys","isInteger","removeShortcuts","removeShortcutById","onBeforeRouteLeave","allPublishTypes","intervalTime","interval","timeout","publishing","aitopic","usePublishListener","storageService","componentStateComposable","storageListener","startListener","stopListener","isPublishing","_types","clearTimeout","toRemove","checkModuleIsPublished","checkProjectIsPublished","checkAiTopicIsPublished","pid","resp","sendNotification","PUBLISHING","isSuccess","typeLabel","eventName","PROJECT_PUBLISHED","routeName","MODULE_PUBLISHED","AITOPIC_PUBLISHED","lastProjectId","projectPageInfo","webpackAsyncContext","req","__webpack_require__","o","e","Error","ids","keys","exports","localStorage","setItem","parse","getItem","removeItem","clear","primary","tagUser","tagStatus","tagSentiment","red22","red47","pink27","blue43","blue58","blue22","blue45","blue61","blue63","green9","green26","green65","green60","green53","amber46","orange43","yellow16","yellow32","transparent","white","black","gray4","gray9","gray13","gray16","gray35","gray54","gray74","gray79","analyticsDonutCenter","analyticsCounter","analyticsGray","analyticsGreen","analyticsRed","analyticsYellow","previewButton","seccondary","moduleStatusRed","moduleStatusYellow","moduleStatusWhite","sidebar","headerShadow","dark","updateRouteActions","actions","notRemoveActionFrom","customBack","UPDATE_ROUTE_ACTIONS","FormData","Key","confirm","CONFIRMATION","closeConfirm","CLOSE_CONFIRMATION","isEqual","array1","array2","every","formatSeconds","oneMinuteAgo","round","dur","diff","asMilliseconds","selectFile","types","extensions","promise","mimeTypes","MIME_TYPES","accept","slice","input","classList","appendChild","onchange","files","isValidType","splitName","size","MAX_FILE_SIZE","deleteFileInput","removeChild","fileInput","getParentScrollEl","childEl","parentEl","parentElement","isOverflowAuto","isScrollabe","scrollHeight","offsetHeight","overflow","overflowX","contains","checkElIsFromEspecificParent","parentClass","hasClass","setBreadcrumbParam","SET_BREADCRUMB_PARAM","isUrl","isEmail","formatTimer","_time","number","copyToClipboard","navigator","clipboard","writeText","formatSearchHTML","searchResults","activeSearchResult","html","highlightClass","markHTML","position","prefix","match","searchTerm","suffix","endpointWithParams","leavePageConfirmation","btnText","onCancel","compact","getPctColor","pct","LOW_THRESHOLD","HIGH_THRESHOLD","getStatusColorByStatus","color","filename","dataStr","encodeURIComponent","downloadAnchorNode","getLanguageString","_hoisted_1","_hoisted_2","__default__","_defineComponent","setup","__props","isOpen","toggleAccordion","_ctx","_cache","_openBlock","_createElementBlock","_Fragment","_createElementVNode","onClick","$event","class","_renderSlot","$slots","_normalizeClass","fill","stroke","xmlns","viewBox","d","_withDirectives","_vShow","__exports__","getClientName","setInfo","setOriginalInfo","setClientAccess","setClientId","setClientName","acceptedUserAgreement","namespaced","mutations","getters","cacheAsset","urls","defaults","image","video","items","isImageExcluded","isVideoExcluded","total","updateAsset","assetToUpdate","asset","assign","setStatus","setFullyLoaded","fullyLoaded","setBlobContToken","blobToken","setLoading","loading","setCurrentPage","videos","clearCache","setDefaultImage","uploads","setLang","setSmallScreen","isSmallScreen","setModule","clearState","getContentsByType","setContent","createStore","Asset","Module","Content","on","fn","off","_import","component","redirect","children","roles","ADMIN","CLIENT_ADMIN","beforeEnter","to","onlyRouteContent","hideHeader","disableSuffixParam","hidePadding","hideContentHeader","Admin","Projects","Profile","AiTools","Share","hideHeaderTitle","routes","Protected","createRouter","history","createWebHistory","process","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","elementId","scrollTop","iframeEl","active","left","height","iframeStyle","iframeUrl","loadingError","computedStyle","_style","setStyle","box","getElementById","firstChild","positionEl","offsetLeft","offsetTop","offsetWidth","scale","matched","toggleScrollEvt","checkAgentLoaded","postMessage","contentWindow","onScroll","parentScroll","getElementsByClassName","reloadSlide","onMounted","WEBGL_RESIZE","addEventListener","_component_hia_progress_circular","_resolveComponent","_component_hia_btn","webgl__inactive","_normalizeStyle","_unref","$t","_createStaticVNode","_imports_0","_imports_1","_toDisplayString","_createVNode","_withCtx","_createTextVNode","_createCommentVNode","xl","allow","ref_key","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","relativeTime","useLocalNotifications","getNotifications","isNewNotification","fiveMinutesAgo","isAfter","newNotifications","notifications","notification","olderNotifications","_component_hia_icon","closeSideNotifications","_createBlock","Accordion","_TransitionGroup","appear","_renderList","leave","icon","fromNow","noView","deleteNotificationById","clearNotification","availableLangs","importLang","pages","shared","header","termsOfService","translations","translation","getTranlations","allTranslations","loop","i18n","useTranslation","messages","createI18n","locale","fallbackLocale","getUserLanguage","savedLang","browserLanguage","ES","global","translate","CONTENT_TYPES","QNA","AI_TOPIC","UNPUBLISHED","StateStatus","Unpublished","UNPUBLISHED_CHANGES","UnpublishedChanges","Published","Publishing","PNG","CSV","GIF","JPEG","MP3","MPEG","MP4","MP4V","MPEG2_PS","MPEG2_TS","MKV","MOV","FLV","THREE_GP","WEBM","AVIX","AVI","WMV","PDF","PPT","PPTX","MXF","ISMV","ISMA","SLIDE_TYPES","MODULE_INTAKE_QUESTION","TYPES","TEXT_ENTRY","TWO_CHOICE","NUMBER_RANGE","UPLOAD_MEDIA","MULTIPLE_CHOICE","DIAGRAM","MARKER_TYPES","MARKER_HAND","MARKER_ARROWS","MARKER_FOCUS","MARKER_TARGET","MARKER_TARGATELINE","TEXT_TO_SPEECH_LAYERS","PAUSE","PRONUNCIATION","ANIMATION","MEDIA","USER","PHONEMES","IPA","SAPI","UPS","es","PINECONE","STAGING","LIVE","__name","authComposable","translationComposable","loaded","beforeEach","isLogged","routerName","isAuthRoute","isRouteAllowed","routeRoles","isAuthVerifyRoute","onBeforeMount","_component_hia_notification","_component_hia_context_menu","_component_hia_confirmation_modal","_component_router_view","WebglVue","SideNotifications","closeNotifications","Component","_Transition","_resolveDynamicComponent","defineRule","String","numericValue","maxLength","itemsArr","validate","isURl","ai","back","buttonCreate","buttonShare","buttonTrack","calendar","category","chevronLeft","chevronRight","close","copy","create","delete","dropdown","edit","expand","expandRow","flowChart","handle","help","home","lock","mail","mailClip","personVideo","playPause","pop","previous","share","sequential","track","user","visibility","zoomIn","zoomOut","warning","aivio","check","markerTarget","markerHandPoint","markerTargetLine","markerArrows","markerFocus","users","clientDetails","keyPassword","hexagon","toolOptimize","lightMode","cards","tree","user_group","send","edit_box","portrait","revert_change","expand_list","collapse_list","datatable_expand","expand_content","hide_content","client_access","arrow_down","columns_edit","bell","sound","revert","upload","folder","visibility_view","visibility_hide","csv","NOTIFICATION","CODE_INFORMATION","REFRESH_PROJECT","REFRESH_AVAILABLE_MODULES_LIST","REFRESH_MODULES_TIMELINE","REFRESH_SINGLE_MODULE","REFRESH_SELECTED_SLIDE","REFRESH_PUBLISH","REVERT_MODULE_TO_PUBLISHED","REVERT_MODULE_TO_UNPUBLISHED","SHOW_CONTEXT_MENU","SHOW_CONTENT_CONTEXT","CHANGE_OPENING_TYPE_QUERY","ADD_MODULE_TIMELINE","REMOVE_MODULE_TIMELINE","MOVE_MODULE_TIMELINE","SHOW_LOADER_TOPIC","HIDE_LOADER_TOPIC","ADD_SECONDARY_QUESTION","ADDED_SECONDARY_QUESTION","UPDATE_TITLE_HEADER","_apiConfig","initApiConfig","getEndpoints","apiUrl","API_URL","qaUrl","API_BACKEND_URL","LOGOUT","GET_FORM_LIST","GET_SESSION_LIST","LIST_ALL_PAGINATION","SEARCH","SEND_SMS","SEND_EMAIL","GET_CODES_BY_TOPIC","COMPARE_RECORDS","GET_TESTS","GET_TEST","ASSETS","UPLOAD_CLIENT","UPLOAD","LIST_BLOBS","LIST_SLIDE_BLOBS","GET_VIDEOS","GET_VIDEO_BY_ID","GET_VIDEO_PICS","GET_ANIMATIONS","UPLOAD_FILE","UPLOAD_ANIMATIONS","UPLOAD_FILE_BY_FOLDER","UPLOAD_IMAGE_64","UPLOAD_VIMEO","GET_FILE_BY_FOLDER","UPLOAD_BACKGROUND","UPLOAD_QRCODE","MOVE_PRESENTATION","DELETE_FILE","DELETE_VIDEO","CREATE_ASSET_VIDEO","UPLOAD_COMPLETED","GET_MEDIA","GET_MEDIA_BY_ID","GET_ENCONDING_PROGRESS","dayjsUtc","dayjsDuration","localizedFormat","app","createApp","App","translationsComposable","globalComponents","defineAsyncComponent","Datepicker","provide","icons","VueVirtualScroller","mount","innerWidth","itemsPerPage","saveClientAsset","fileType","uploadFile","formatData","imageFile","fileGallery","createGalleryAssetObject","uploadFileByFolder","folderName","uploadVideoBlob","onProgress","fileSize","pipeline","newPipeline","AnonymousCredential","blockBlobClient","BlockBlobClient","res","uploadData","blockSize","concurrency","ev","progress","loadedBytes","blobHTTPHeaders","blobContentType","_response","createVideoAsset","fileName","videoAsset","uploadImageBase64","reader","FileReader","readAsDataURL","onload","result","base64String","contentType","uploadVimeo","videoFile","vimeoGallery","uploadAnimation","getBlobs","isSlide","blobContToken","blobs","getSlideBlobs","getVideos","videosInfo","pageNumber","cacheds","totalCount","totalPages","getFileByFolder","images","deleteFile","blobName","deleteVideo","uploadBackground","uploadQRCode","origin","uri","blobContainerName","thumb","thumbnailUrl","timeStringToSeconds","streamingUrl","cacheFiles","alternativeUrl","getAssetTag","clipId","disableCaching","movePresentationSlides","blobNum","assetInfoName","decodeAssetURL","pathname","urlSplited","timeString","parts","parseInt","parseFloat","savedNotifications","Array","isArray","saveNotification","storedNotifications","maxId","reduce","nextNotificationId","newNotification","location","notificationToDelete","find","findIndex","splice","__webpack_module_cache__","cachedModule","__webpack_modules__","call","deferred","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","n","getter","__esModule","a","leafPrototypes","getProto","getPrototypeOf","__proto__","mode","this","ns","def","current","getOwnPropertyNames","definition","defineProperty","enumerable","f","chunkId","promises","u","miniCssF","g","globalThis","Function","prop","prototype","hasOwnProperty","inProgress","dataWebpackPrefix","done","script","needAttach","scripts","getElementsByTagName","getAttribute","charset","nc","onScriptComplete","prev","onerror","doneFns","parentNode","bind","Symbol","toStringTag","nmd","paths","createStylesheet","fullhref","oldTag","linkTag","rel","nonce","onLinkComplete","errorType","realHref","request","insertBefore","nextSibling","findStylesheet","existingLinkTags","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}