{"version":3,"file":"app/app-i.2520c806.js","mappings":"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c;AAC/C,oDAAoD,uEAAwB;AAC5E;AACA;AACA;AACA,oBAAoB,eAAe;AACnC;AACA;AACA;AACA,4BAA4B,gDAAgD;AAC5E;AACA,gCAAgC,2BAA2B;AAC3D,wBAAwB,yCAAK;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,yCAAK;AACzB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,SAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA,YAAY,yCAAK;AACjB;AACA;AACA,YAAY,yCAAK;AACjB;AACA;AACA,YAAY,iEAAkB;AAC9B,gBAAgB,yCAAK;AACrB,gBAAgB,yCAAK,sBAAsB,6DAAO;AAClD,gBAAgB,6DAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,kFAAkF,8BAA8B;AAChH,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,SAAS;AACT;AACA;AACA;AACA;AACA,oCAAoC,iDAAI;AACxC;AACA;AACA;AACA,8DAA8D,oBAAoB,sBAAsB,mBAAmB,gBAAgB,6DAAc,GAAG;AAC5J,iBAAiB,6DAAW;AAC5B,gBAAgB,6DAAc;AAC9B;AACA,6EAA6E,cAAc;AAC3F,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD,YAAY,6DAAc;AAC1B;AACA,2CAA2C,uEAAwB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,yCAAK;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,qBAAqB;AAClD,6BAA6B,qBAAqB;AAClD;AACA,sBAAsB,2DAAY;AAClC;AACA;AACA;AACA;AACA,gBAAgB,mEAAS;AACzB,gBAAgB,yCAAK;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,yCAAK,aAAa,yCAAK;AACvC,aAAa;AACb;AACA,wDAAwD,yDAAc;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AACA;AACA,iBAAiB,+DAAkB;AACnC;AACA;AACA,iBAAiB,+DAAkB;AACnC;AACA;AACA;AACA;AACA,iBAAiB,+DAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,+DAAkB;AACnC,sDAAsD,wEAAa;AACnE;AACA,iBAAiB,+DAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,wEAAa;AAC/B,kBAAkB,wEAAa;AAC/B,mBAAmB,yEAA2C;AAC9D,sBAAsB,uGAA8B;AACpD,sBAAsB,2EAA6C;AACnE;AACA;AACA;AACA,+BAA+B,wDAA0B;AACzD;AACA;AACA,kEAAkE,wEAAa;AAC/E,yBAAyB;AACzB;AACA,qBAAqB;AACrB;AACA,+BAA+B,+DAAiC;AAChE;AACA;AACA,kEAAkE,wEAAa;AAC/E,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,mDAAmD,yCAAK;AACxD;AACA;AACA;AACA;AACA;AACA,+BAA+B,wEAAa;AAC5C,+BAA+B,wEAAa;AAC5C;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,kBAAkB,wEAAa;AAC/B,kBAAkB,wEAAa;AAC/B;AACA,sBAAsB,uGAA8B;AACpD;AACA;AACA,0BAA0B,+DAAiC;AAC3D;AACA;AACA;AACA,aAAa;AACb;AACA,+CAA+C,yCAAK;AACpD;AACA;AACA;AACA;AACA;AACA,sCAAsC,0EAA4C,EAAE,uEAAyC;AAC7H;AACA;AACA,sCAAsC,8EAAgD,EAAE,gFAAkD;AAC1I;AACA;AACA;AACA,oCAAoC,wEAAa;AACjD,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,oEAAuB;AAC5C,2BAA2B,mFAAqD;AAChF,qBAAqB,oEAAuB;AAC5C,2BAA2B,8EAAgD;AAC3E,qBAAqB,oEAAuB;AAC5C,2BAA2B,iFAAmD;AAC9E;AACA;AACA;AACA;AACA;AACA,kBAAkB,wEAAa;AAC/B,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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,4DAAO,iBAAiB,4DAAO;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,yCAAK;AACb,QAAQ,4DAAO,iBAAiB,4DAAO;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,4DAAO,iBAAiB,4DAAO;AACvC;AACA;AACA;AACA,QAAQ,mDAAU;AAClB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,QAAQ,yCAAK;AACb;AACA;AACA,wBAAwB,oDAAC;AACzB,yBAAyB,oDAAC;AAC1B;AACA;AACA;AACA,+BAA+B,oDAAC;AAChC;AACA;AACA,4BAA4B,yCAAK;AACjC;AACA,qBAAqB;AACrB;AACA;AACA,+BAA+B,oDAAC;AAChC;AACA,4BAA4B,yCAAK;AACjC;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ,yCAAK;AACb;AACA;AACA,eAAe,0DAAK;AACpB;AACA;AACA,eAAe,iDAAI;AACnB,6BAA6B,oDAAC,iCAAiC;AAC/D,gCAAgC,oDAAC,iCAAiC,yCAAyC,UAAU;AACrH;AACA;AACA;AACA,6BAA6B,oDAAC,kCAAkC;AAChE;AACA,uBAAuB,oDAAC,kCAAkC;AAC1D;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,iDAAI;AACnB;AACA,iBAAiB,uEAAQ;AACzB;AACA;AACA,SAAS,EAAE;AACX;AACA;AACA;AACA;AACA,qBAAqB,cAAc,oDAAC,mCAAmC,oDAAC,wCAAwC;AAChH;AACA;AACA,qBAAqB;AACrB;AACA,wBAAwB,cAAc,oDAAC,mCAAmC,oDAAC;AAC3E,sBAAsB;AACtB;AACA;AACA,cAAc;AACd,cAAc,iDAAI;AAClB;AACA,kBAAkB,iDAAI;AACtB,kBAAkB,iDAAI;AACtB;AACA;AACA,UAAU,cAAc,iDAAI,sCAAsC,qBAAqB,WAAW,6CAAO;AACzG;AACA;AACA;AACA;AACA,eAAe,iDAAI;AACnB;AACA,+BAA+B,uEAAQ;AACvC;AACA;AACA;AACA,SAAS,EAAE;AACX;AACA;AACA;AACA,UAAU;AACV,cAAc,iDAAI;AAClB;AACA,gDAAgD,qBAAqB;AACrE;AACA;AACA,cAAc,6CAAO;AACrB,UAAU;AACV,cAAc,iDAAI;AAClB;AACA,sBAAsB,WAAW;AACjC,wBAAwB;AACxB,oCAAoC,oBAAoB;AACxD,8BAA8B;AAC9B,gCAAgC,+DAAa;AAC7C,mCAAmC;AACnC;AACA,oCAAoC,oDAAC;AACrC,oCAAoC,oDAAC;AACrC,+BAA+B;AAC/B,gCAAgC;AAChC;AACA;AACA;AACA,cAAc,iDAAI;AAClB;AACA,wBAAwB;AACxB;AACA,yBAAyB;AACzB,wBAAwB;AACxB,gCAAgC,+DAAa;AAC7C,mCAAmC;AACnC,kCAAkC;AAClC,yBAAyB;AACzB,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,yCAAK,8CAA8C,6CAAO;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,SAAS;AACT;AACA;AACA;AACA,sBAAsB,OAAO,QAAQ,mDAAU;AAC/C;AACA,YAAY,2FAA4B;AACxC,SAAS;AACT;AACA;AACA;AACA,oCAAoC;AACpC,SAAS;AACT;AACA;AACA;AACA;AACA,YAAY,2FAA4B;AACxC,SAAS;AACT;AACA;AACA,QAAQ,yCAAK;AACb;AACA;AACA;AACA,IAAI,qDAAQ,GAAG,kBAAkB;AACjC;AACA;AACA,IAAI,qDAAQ,GAAG,cAAc;AAC7B;AACA;AACA,IAAI,qDAAQ,GAAG,eAAe;AAC9B;AACA;AACA,IAAI,6DAAgB;AACpB;AACA;AACA,IAAI,6DA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;AAC9B,qCAAqC,yCAAK;AAC1C,4BAA4B,yCAAK;AACjC,sCAAsC,yCAAK;AAC3C,sCAAsC,yCAAK;AAC3C,6BAA6B,yCAAK;AAClC,sBAAsB,yCAAK;AAC3B,0BAA0B,yCAAK;AAC/B,2BAA2B,yCAAK;AAChC,yDAAyD;AACzD,4BAA4B,yCAAK;AACjC,gCAAgC,yCAAK;AACrC,kDAAkD,yCAAK;AACvD,6CAA6C,yCAAK;AAClD;AACA;AACA,4BAA4B,yCAAK;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,eAAe,gEAAK;AACpB;AACA;AACA;AACA;AACA,0BAA0B,oEAAsB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,gCAAgC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,SAAS;AAC5D;AACA,mDAAmD,SAAS,KAAK,SAAS;AAC1E;AACA,mDAAmD,SAAS,KAAK,SAAS,KAAK,SAAS;AACxF;AACA,mDAAmD,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS;AACtG;AACA,mDAAmD,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS;AACpH;AACA,mDAAmD,iBAAiB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iDAAI;AAChC;AACA,8BAA8B,oDAAC,sBAAsB;AACrD;AACA;AACA;AACA;AACA,wBAAwB,oDAAC,yCAAyC,oCAAoC;AACtG;AACA;AACA,qBAAqB;AACrB,YAAY,8DAAgB;AAC5B;AACA;AACA,yCAAyC,oDAAC,sBAAsB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;;;;;;;;;;;;;;;;;;;;ACrdY;AACL;AACgC;AACQ;AACjE;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gDAAgD;AAC1C;AACP;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kDAAkD;AAC5C;AACP;AACA;AACA;AACA;AACA;AACA,CAAC,0DAA0D;AAC3D,eAAe,kDAAY;AAC3B;AACA,sCAAsC;AACtC;AACA,iEAAiE,oEAA2B;AAC5F;AACA;AACA;AACA;AACA,mCAAmC,yCAAK;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,4DAAW;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,eAAe;AAC/B;AACA,oBAAoB,yBAAyB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,+DAA+D,4CAA4C;AAC3G;AACA;AACA;AACA;AACA;AACA,8BAA8B,yCAAK;AACnC,gCAAgC,+DAAc;AAC9C,+BAA+B,+DAAc;AAC7C,0IAA0I,4DAAW;AACrJ;AACA;AACA,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;ACxG9B,kBAAkB,SAAI,IAAI,SAAI;AAC9B;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACgC;AACK;AACA;AACqD;AACvD;AACsF;AACjG;AACgB;AACxC;AACA;AACA;AACA,0DAA0D,mDAAU;AACpE;AACA;AACA,iCAAiC,yCAAK;AACtC;AACA;AACA,eAAe,0DAAK;AACpB;AACA;AACA;AACA;AACA,qCAAqC,yCAAK;AAC1C,SAAS;AACT,iCAAiC,yCAAK;AACtC;AACA;AACA;AACA;AACA,wCAAwC,sEAA8B;AACtE,sCAAsC,kEAA0B;AAChE;AACA;AACA;AACA;AACA,qCAAqC,kEAA0B;AAC/D;AACA;AACA,+CAA+C,sEAA8B;AAC7E;AACA;AACA;AACA;AACA,gCAAgC,sEAA8B;AAC9D,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,sEAA8B;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,iDAAI;AACnB,QAAQ;AACR,cAAc,iDAAI;AAClB;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,oBAAoB;AACpB,kFAAkF,sEAA8B;AAChH,sBAAsB,iDAAI;AAC1B;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA,sBAAsB,iDAAI;AAC1B;AACA;AACA;AACA;AACA,cAAc,6CAAO;AACrB;AACA;AACA;AACA;AACA,IAAI,qDAAQ;AACZ;AACA;AACA,IAAI,6DAAgB;AACpB;AACA;AACA,IAAI,0DAAa;AACjB;AAC8B;;;;;;;;;;;;;;;;;;;;;;;AC7G9B,kBAAkB,SAAI,IAAI,SAAI;AAC9B;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACqC;AACF;AACuD;AACpC;AACjB;AACrC;AACA;AACA;AACA,wCAAwC,mDAAU;AAClD;AACA;AACA;AACA;AACA;AACA,oEAAoE,wBAAwB;AAC5F;AACA,oCAAoC,uBAAuB,mBAAmB;AAC9E;AACA;AACA;AACA,0CAA0C;AAC1C;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA,4BAA4B,QAAQ,EAAE,8DAAa;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,QAAQ,EAAE,8DAAa;AAC/C;AACA;AACA;AACA;AACA;AACA,eAAe,uDAAK;AACpB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,iDAAI,gEAAgE,eAAe;AAClG;AACA;AACA;AACA,IAAI,qDAAQ;AACZ;AACA;AACA,IAAI,6DAAgB;AACpB;AACA;AACA,IAAI,6DAAgB;AACpB;AACA;AACA,IAAI,0DAAa;AACjB;AACqB;;;;;;;;;;;;;;;;;;;;ACrFrB,kBAAkB,SAAI,IAAI,SAAI;AAC9B;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACgC;AACiB;AACL;AACZ;AAChC,4EAA4E,2DAAc;AAC1F;AACA,eAAe,8CAAI;AACnB;AACA,sBAAsB,yCAAK;AAC3B,+BAA+B,yCAAK;AACpC,6CAA6C,yCAAK;AAClD,6CAA6C,yCAAK;AAClD,6BAA6B,yCAAK;AAClC;AACA;AACA;AACA;AACA;AACA,IAAI,0DAAa;AACjB;AACuC;;;;;;;;;;;;;;;;;;;;;;;;AC1BvC,kBAAkB,SAAI,IAAI,SAAI;AAC9B;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACuC;AACF;AACF;AAC8D;AAC3C;AACb;AACzC;AACA;AACA;AACA;AACA,gDAAgD,mDAAU;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,2DAAK;AACpB;AACA;AACA;AACA;AACA,gBAAgB,2BAA2B;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,QAAQ,EAAE,8DAAa;AACvC;AACA;AACA;AACA,eAAe,iDAAI;AACnB,0DAA0D,kBAAkB,GAAG;AAC/E,2BAA2B,oDAAC,yBAAyB;AACrD;AACA;AACA,qBAAqB;AACrB,cAAc,oDAAC;AACf,sCAAsC;AACtC,sBAAsB;AACtB;AACA;AACA,iCAAiC,wBAAwB;AACzD,cAAc,iCAAiC,oDAAC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,qDAAQ;AACZ;AACA;AACA,IAAI,6DAAgB;AACpB;AACA;AACA,IAAI,6DAAgB;AACpB;AACA;AACA,IAAI,6DAAgB;AACpB;AACA;AACA,IAAI,kDAAK;AACT;AACA;AACA,IAAI,kDAAK;AACT;AACA;AACA,IAAI,0DAAa;AACjB;AACyB;;;;;;;;;;;;;;;;;;;AC5FzB,kBAAkB,SAAI,IAAI,SAAI;AAC9B;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACuC;AACuB;AACN;AACxD,8EAA8E,mDAAU;AACxF;AACA;AACA,0CAA0C,KAAK,GAAG,IAAI;AACtD;AACA;AACA,eAAe,0EAAK;AACpB;AACA;AACA,eAAe,iDAAI;AACnB;AACA;AACA,YAAY,iDAAI;AAChB;AACA,qDAAqD,oDAAC,yDAAyD;AAC/G,sDAAsD,oDAAC,0DAA0D;AACjH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,0DAAa;AACjB;AACwC;;;;;;;;;;;;;;;;;;;;;;;;;;AClCxC,kBAAkB,SAAI,IAAI,SAAI;AAC9B;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA,iBAAiB,SAAI,IAAI,SAAI;AAC7B,4BAA4B,+DAA+D,iBAAiB;AAC5G,0BAA0B,OAAO;AACjC,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACqC;AACL;AAC2B;AACT;AAC+C;AACvD;AACoB;AACwC;AACtG,eAAe,kDAAY;AAC3B,sDAAsD,mDAAU;AAChE;AACA;AACA,0CAA0C,KAAK,GAAG,IAAI;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,yCAAK,sBAAsB,oEAAO;AAClD,4EAA4E,yCAAK;AACjF;AACA;AACA,gBAAgB,yCAAK;AACrB,gBAAgB,4DAAO;AACvB;AACA;AACA,0EAA0E,yCAAK;AAC/E;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,uBAAuB,yCAAK;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,0EAAkB,CAAC,yCAAK;AACpC;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE,QAAQ,YAAY,aAAa;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,4DAAO;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,YAAY,yCAAK;AACjB,SAAS;AACT;AACA;AACA;AACA,wEAAwE,yCAAK,6BAA6B;AAC1G;AACA;AACA;AACA,yEAAyE,yCAAK,6BAA6B;AAC3G,QAAQ,yCAAK;AACb;AACA;AACA;AACA,YAAY,yCAAK,sBAAsB,oEAAO;AAC9C,YAAY,4DAAO;AACnB;AACA;AACA;AACA,uEAAuE,yCAAK;AAC5E;AACA;AACA;AACA,YAAY,yCAAK;AACjB,YAAY,yCAAK;AACjB;AACA;AACA;AACA;AACA;AACA,gCAAgC,0DAAkB;AAClD;AACA,SAAS;AACT,gCAAgC,0DAAkB,eAAe,sDAAQ;AACzE,gCAAgC,0DAAkB;AAClD;AACA,SAAS;AACT;AACA,gCAAgC,0DAAkB;AAClD;AACA,SAAS;AACT;AACA,gCAAgC,0DAAkB;AAClD;AACA,SAAS;AACT,gCAAgC,0DAAkB;AAClD;AACA,SAAS;AACT;AACA,gCAAgC,0DAAkB;AAClD,YAAY,4DAAO;AACnB;AACA,YAAY,yCAAK;AACjB,SAAS;AACT;AACA,0EAA0E,sDAAc;AACxF;AACA,0CAA0C;AAC1C;AACA,SAAS;AACT;AACA;AACA,mCAAmC,0DAAkB;AACrD;AACA,SAAS;AACT,mCAAmC,0DAAkB,eAAe,sDAAQ;AAC5E,mCAAmC,0DAAkB;AACrD;AACA,SAAS;A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AQ,GAAG,cAAc;AAC7B;AACA;AACA,IAAI,qDAAQ,GAAG,eAAe;AAC9B;AACA;AACA,IAAI,0DAAa;AACjB;AAC2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtFpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,CAAC,0CAA0C;AACpC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACA;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACA;AACA;AACA;AACP;AACA;AACA;AACA;AACO;AACA;AACA;AACA;AACA;AACA;AACA;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;A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gBAAgB,yCAAK;AACrB;AACA,YAAY,oDAAM,6DAA6D,gCAAgC,uBAAuB,iBAAiB;AACvJ,YAAY,yCAAK;AACjB;AACA;AACA;AACA,aAAa;AACb;AACA,gBAAgB,yCAAK;AACrB,gBAAgB,yCAAK,8BAA8B,kEAAW;AAC9D;AACA;AACA;AACA,gBAAgB,4DAAO;AACvB,gBAAgB,4DAAO;AACvB;AACA;AACA;AACA;AACA,QAAQ,oDAAM;AACd;AACA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpED,iBAAiB,SAAI,IAAI,SAAI;AAC7B,4BAA4B,+DAA+D,iBAAiB;AAC5G,0BAA0B,OAAO;AACjC,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACA;AAC4E;AACI;AACjB;AAC4B;AACtD;AACL;AACwC;AACrB;AACpB;AACyB;AAC4C;AACnB;AAC3B;AACqB;AACN;AACrE;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kDAAY;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,oBAAoB,6BAA6B;AACjD;AACA;AACA;AACA;AACA;AACA,8BAA8B,6DAAM;AACpC;AACA;AACA,wCAAwC,4FAAY;AACpD,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,gBAAgB,8BAA8B,iBAAiB;AACnH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE,iBAAiB,6BAA6B,gBAAgB;AACpI;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,6CAAO;AAC9C,4CAA4C,yCAAK,gBAAgB,gEAAS;AAC1E;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,+FAA+F,6BAA6B,oEAAQ,MAAM;AAC1I,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,wDAAwD,wGAAgB;AACxE,yBAAyB;AACzB,qBAAqB;AACrB;AACA;AACA;AACA,+FAA+F,6BAA6B,4EAAO,MAAM;AACzI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,+FAA+F,6BAA6B,2FAAkB,MAAM;AACpJ,qBAAqB;AACrB;AACA;AACA;AACA,+FAA+F,6BAA6B,4EAAO,MAAM;AACzI,qBAAqB;AACrB;AACA;AACA,kCAAkC,eAAe;AACjD;AACA;AACA,yBAAyB;AACzB,+FAA+F,6BAA6B,oEAAQ,MAAM;AAC1I,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,wDAAwD,wGAAgB;AACxE,yBAAyB;AACzB,qBAAqB;AACrB;AACA;AACA;AACA;AACA,4BAA4B,wEAAyB;AACrD,8DAA8D,uFAAgB;AAC9E;AACA,yBAAyB;AACzB,qBAAqB;AACrB;AACA;AACA;AACA;AACA,4BAA4B,qEAAsB;AAClD,8DAA8D,mFAAc;AAC5E;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT,iCAAiC,yCAAK;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,8DAAe;AAC/B,gBAAgB,yCAAK;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,yCAAK;AACjB,uDAAuD,yCAAK;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,yCAAK;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,yCAAK;AAClC;AACA,4DAA4D,yCAAK;AACjE,gBAAgB,yCAAK,gBAAgB,gEAAS;AAC9C;AACA;AACA;AACA,+BAA+B,yCAAK;AACpC,2BAA2B,yCAAK;AAChC;AACA,gBAAgB,yCAAK;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0FAA0F,6BAA6B;AACvH;AACA;AACA;AACA,+FAA+F,0BAA0B;AACzH;AACA;AACA,2FAA2F,yCAAK;AAChG;AACA,gBAAgB,yCAAK;AACrB;AACA;AACA;AACA,oBAAoB,yCAAK;AACzB;AACA;AACA,oBAAoB,yCAAK;AACzB;AACA;AACA;AACA,wEAAwE,6BAA6B;AACrG,kGAAkG,yCAAK;AACvG;AACA;AACA,qCAAqC,yCAAK;AAC1C;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mFAAmF,6BAA6B,wFAAW,mBAAmB;AAC9I;AACA,qCAAqC,WAAW;AAChD;AACA;AACA;AACA,kCAAkC,eAAe;AACjD,+FAA+F,6BAA6B,oEAAQ,MAAM;AAC1I;AACA;AACA;AACA,gBAAgB,yCAAK;AACrB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,oBAAoB,yCAAK;AACzB,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA+E,6BAA6B,oEAAQ,MAAM;AAC1H;AACA,iCAAiC,6BAA6B;AAC9D,gBAAgB,yCAAK;AACrB,gBAAgB,yCAAK;AACrB;AACA,8CAA8C,UAAU,eAAe,GAAG;AAC1E,YAAY,yCAAK;AACjB,YAAY,yCAAK,0BAA0B,iFAAwB;AACnE,SAAS;AACT;AACA;AACA,2BAA2B,yCAAK;AAChC;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,iBAAiB;AAC/C,mFAAmF,6BAA6B,wFAAW,YAAY;AACvI;AACA;AACA,yCAAyC,wBAAwB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACO,qEAAqE,6DAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1ZlF,kBAAkB,SAAI,IAAI,SAAI;AAC9B;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACwE;AACF;AACb;AACA;AAClB;AACP;AACkB;AACR;AACS;AAC2B;AACrC;AACG;AACuB;AACb;AACO;AACL;AACF;AACT;AACE;AACK;AACpD,0DAA0D,mDAAU;AACpE;AACA;AACA,8BAA8B,yCAAK;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qFAAqF,gBAAgB,mCAAmC,oDAAC,qEAAqE,2BAA2B,ohBAAohB,GAAG;AAChwB;AACA;AACA,eAAe,kEAAK;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,0CAA0C,0DAAQ;AAClD;AACA;AACA;AACA;AACA,qDAAqD,gBAAgB,aAAa,oDAAC;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,qBAAqB,4DAAO;AAC5B;AACA;AACA,qDAAqD,8CAA8C,QAAQ,gEAA4B,EAAE;AACzI;AACA,qBAAqB,4DAAO;AAC5B;AACA;AACA,qDAAqD,8CAA8C,yFAAyF;AAC5L;AACA,qBAAqB,4DAAO;AAC5B;AACA;AACA,uCAAuC;AACvC;AACA,qDAAqD,gBAAgB;AACrE;AACA,uBAAuB;AACvB;AACA,qDAAqD,gBAAgB,aAAa,oDAAC;AACnF;AACA;AACA,uBAAuB;AACvB;AACA,qDAAqD,gBAAgB,aAAa,oDAAC;AACnF;AACA,uBAAuB;AACvB;AACA,qDAAqD,gBAAgB,aAAa,oDAAC;AACnF;AACA;AACA,uBAAuB;AACvB;AACA,uCAAuC;AACvC;AACA;AACA;AACA,eAAe,+CAAI;AACnB;AACA;AACA;AACA;AACA;AACA,2BAA2B,oDAAC,0BAA0B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,yCAAK;AACf,YAAY,yCAAK;AACjB,0EAA0E,8DAAY;AACtF,iFAAiF,8DAAY;AAC7F,yEAAyE,yCAAK;AAC9E,2BAA2B,8CAAO;AAClC;AACA;AACA;AACA;AACA,+BAA+B,+CAAI;AACnC;AACA;AACA,+BAA+B;AAC/B,oCAAoC,kEAAa;AACjD;AACA,oBAAoB;AACpB,8BAA8B,+CAAI;AAClC,4CAA4C,oBAAoB;AAChE,6BAA6B,oBAAoB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,IAAI,qDAAQ,GAAG,kBAAkB;AACjC;AACA;AACA,IAAI,kDAAK;AACT;AACA;AACA,IAAI,k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jD,QAAQ,yCAAK;AACb;AACA,8BAA8B,uEAAoB;AAClD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjDA,iBAAiB,SAAI,IAAI,SAAI;AAC7B,4BAA4B,+DAA+D,iBAAiB;AAC5G,0BAA0B,OAAO;AACjC,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACqC;AACL;AACkB;AACxB;AACmD;AAC7E,eAAe,kDAAY;AAC3B;AACO;AACP;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACO;AACP;AACA;AACO;AACP;AACA;AACO;AACP;AACA;AACO;AACP;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,WAAW,sDAAc;AACzB;AACO;AACP,WAAW,uDAAe;AAC1B;AACO;AACP;AACA;AACA;AACA;AACA,iCAAiC;AACjC,0DAA0D,yCAAK;AAC/D;AACA;AACA,0EAA0E,yCAAK;AAC/E;AACA;AACA;AACA;AACA,2BAA2B,yDAAiB;AAC5C;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,2CAA2C,yCAAK;AAChD;AACA;AACA;AACA;AACA;AACA,wDAAwD,yCAAK;AAC7D;AACA;AACA,+BAA+B,4DAAO;AACtC;AACA;AACA,aAAa;AACb,0DAA0D,sBAAsB,YAAY,eAAe,cAAc,eAAe;AACxI;AACA;AACA;AACA,yDAAyD,uBAAuB,YAAY,eAAe,cAAc,eAAe;AACxI;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,QAAQ,yCAAK;AACb;AACA;AACA;AACA;AACA,QAAQ,yCAAK;AACb;AACA;AACA;AACA;AACA,QAAQ,yCAAK;AACb;AACA;AACA,QAAQ,yCAAK;AACb;AACA;AACA;AACA;AACA,QAAQ,yCAAK;AACb;AACA;AACA;AACA;AACA,QAAQ,yCAAK;AACb;AACA;AACA;AACA;AACA,QAAQ,yCAAK;AACb;AACA;AACA,QAAQ,yCAAK;AACb;AACA;AACA;AACA;AACA,QAAQ,yCAAK;AACb;AACA;AACA,QAAQ,yCAAK;AACb;AACA;AACA;AACA;AACA,QAAQ,yCAAK;AACb;AACA;AACA,QAAQ,yCAAK;AACb;AACA;AACA;AACA;AACA,QAAQ,yCAAK;AACb;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,yCAAK;AACb;AACA;AACA;AACA;AACA,QAAQ,yCAAK;AACb;AACA;AACA;AACA,QAAQ,yCAAK;AACb;AACA;AACA;AACA;AACA,QAAQ,yCAAK;AACb;AACA;AACA;AACA,QAAQ,yCAAK;AACb;AACA;AACA;AACA,IAAI,yCAAK;AACT;AACA;AACA;AACA,IAAI,yCAAK;AACT;AACA;AACA;AACA,IAAI,yCAAK;AACT;AACA;AACA,IAAI,yCAAK;AACT;AACA;AACA,IAAI,yCAAK;AACT;AACA;AACA,IAAI,yCAAK;AACT;AACO;AACP;AACA,QAAQ,yCAAK;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,yCAAK;AACb,QAAQ,yCAAK;AACb;AACA;AACO;AACP,YAAY,OAAO,QAAQ,6CAAK,KAAK,6BAA2B;AAChE,yDAAyD,yCAAK,oBAAoB;AAClF,uCAAuC,yCAAK;AAC5C,CAAC;AACD;AACA,6BAA6B,4DAAO;AACpC;AACA,KAAK;AACL;AACA,sGAAsG,cAAc;AACpH;AACA;AACA;AACA,CAAC;AACD;AACA,6BAA6B,4DAAO;AACpC;AACA;AACA,KAAK;AACL;AACA,sCAAsC;AACtC;AACA,KAAK;AACL,8FAA8F,OAAO;AACrG;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,mEAAmE,yCAAK,oBAAoB;AAC5F;AACA;AACA;AACA,wEAAwE,yCAAK,oBAAoB;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,kEAAkE,OAAO;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E,yCAAK,oBAAoB;AACnG;AACA;AACA;AACA,8EAA8E,yCAAK,oBAAoB;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,gBAAgB,2BAA2B;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,IAAI,4DAAO,iBAAiB,4DAAO;AACnC;AACA,KAAK,eAAe,4DAAO;AAC3B;AACA;AACA;AACA,IAAI,4DAAO,qBAAqB,4DAAO;AACvC,oBAAoB,4DAAO;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,4DAAO,iBAAiB,4DAAO;AACvC,aAAa,4DAAO;AACpB;AACA;AACA;AACA,uBAAuB,yCAAK;AAC5B,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACqD;;;;;;;;;;;;;;;;;;;ACxWtB;AACgC;AAChE;AACA,IAAI,yCAAK;AACT;AACA;AACA,IAAI,yCAAK;AACT;AACA;AACA,IAAI,yCAAK;AACT;AACA;AACA,IAAI,yDAAiB;AACrB;AACA;AACA,IAAI,0DAAkB;AACtB;AACA;AACA,IAAI,yCAAK;AACT;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;ACnCA,iBAAiB,SAAI,IAAI,SAAI;AAC7B,4BAA4B,+DAA+D,iBAAiB;AAC5G,0BAA0B,OAAO;AACjC,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACuC;AACP;AACkB;AACY;AAC9B;AACY;AACrC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,uEAAyB;AACrC;AACA,gBAAgB,wEAA0B;AAC1C;AACA,YAAY,0CAAM;AAClB,2BAA2B,qEAAuB;AAClD,oBAAoB,yCAAK;AACzB;A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,oEAAoE,iFAA4B,GAAG,qFAA4B,gBAAgB,kCAAkC,MAAM;AACvL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,QAAQ,yCAAK;AACb,KAAK;AACL;AACO;AACP;AACA;AACA;AACA,0BAA0B,yCAAK;AAC/B;AACA,+CAA+C,4DAAO,2BAA2B,OAAO;AACxF;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,4DAAO,iCAAiC,OAAO;AACtF;AACA;AACA;AACA,YAAY,4DAAO;AACnB;AACA;AACA;AACA;AACA,8CAA8C,4DAAO;AACrD,sCAAsC,4DAAO;AAC7C;AACA,YAAY,yCAAK;AACjB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,YAAY,yCAAK,qBAAqB,yCAAK,4CAA4C,yCAAK;AAC5F;AACA;AACA,YAAY,yCAAK;AACjB,YAAY,yCAAK;AACjB;AACA,KAAK;AACL;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACO;AACP;AACA;AACA;AACA,mFAAmF;AACnF;AACA;AACA;AACA,oFAAoF;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACO;AACP;AACA,QAAQ,4DAAO;AACf,YAAY,yCAAK;AACjB,SAAS;AACT,KAAK;AACL;AACqC;AAC9B;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI,yCAAK;AACT,IAAI,yCAAK;AACT,IAAI,yCAAK;AACT;AACO;AACP;AACA,QAAQ,yCAAK;AACb;AACA;AACA,mCAAmC,4DAAO,yBAAyB,QAAQ,yCAAK,wBAAwB,yCAAK,cAAc;AAC3H;AACA;AACA;AACA,+BAA+B,iFAA4B,GAAG,qFAA4B;AAC1F,wEAAwE,YAAY;AACpF,YAAY,yCAAK;AACjB,YAAY,yCAAK;AACjB;AACA,KAAK;AACL;AACA;AACA;AACA,IAAI,yCAAK;AACT,IAAI,yCAAK;AACT,IAAI,yCAAK;AACT;AACO;AACP;AACA,QAAQ,yCAAK;AACb;AACA;AACA,mCAAmC,4DAAO,0BAA0B,QAAQ,yCAAK,wBAAwB,yCAAK,cAAc;AAC5H;AACA;AACA;AACA,+BAA+B,iFAA4B,GAAG,qFAA4B;AAC1F;AACA,YAAY,yCAAK;AACjB,YAAY,yCAAK;AACjB;AACA,KAAK;AACL;AACO;AACP;AACA,+BAA+B,4DAAO;AACtC,mBAAmB,yCAAK;AACxB,iCAAiC,UAAU;AAC3C,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACM;AACP,wCAAwC,uBAAuB;AAC/D;AACA;AACA,mFAAmF;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACO;AACP;AACA;AACA,QAAQ,yCAAK;AACb,cAAc,4DAAO;AACrB,KAAK;AACL;AACA;AACO;AACP;AACA;AACA,IAAI,4DAAO,iBAAiB,4DAAO;AACnC;AACA,KAAK;AACL;AACA;AACA,QAAQ,8CAAQ;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACO;AACP,IAAI,yCAAK;AACT;AACA;AACA;AACA;AACA;AACA,2BAA2B,oDAAC;AAC5B;AACA,wFAAwF,SAAS;AACjG,8BAA8B,yCAAK,aAAa,yCAAK;AACrD,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,yCAAyC,+EAA2B,IAAI,+BAA+B;AACvG;AACO;AACP,IAAI,yCAAK;AACT;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,oDAAC;AAC5B;AACA,wFAAwF,SAAS;AACjG,8BAA8B,yCAAK,aAAa,yCAAK;AACrD,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA,2BAA2B,oDAAC;AAC5B;AACA,mDAAmD,+EAA2B,EAAE;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,oDAAC;AACf;AACA,kBAAkB,oDAAC;AACnB,kBAAkB,oDAAC;AACnB;AACA,2GAA2G,yCAAK;AAChH,uBAAuB,oDAAC;AACxB;AACA;AACA;AACA;AACA;AACA;AACO;AACP,IAAI,yCAAK;AACT;AACA;AACA;AACA;AACA;AACA,2BAA2B,oDAAC;AAC5B;AACA,wFAAwF,SAAS;AACjG,8BAA8B,yCAAK,aAAa,yCAAK;AACrD,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACO;AACP,IAAI,yCAAK;AACT;AACA;AACA,oBAAoB,oDAAC;AACrB,qBAAqB,oDAAC;AACtB;AACA;AACA,KAAK;AACL;AACO;AACP;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACO;AACP;AACA;AACA;AACA;AACO;AACP,eAAe,OAAO;AACtB;AACA;AACA;AACA,YAAY,yCAAK;AACjB;AACA;AACA;AACA;AACA,KAAK;AACL;AACO;AACP;AACA;AACA;AACA,+BAA+B,mCAA0B;AACzD,8BAA8B,SAAkB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,yCAAK;AACjB,kEAAkE,SAAkB,EAAE;AACtF,SAAS;AACT;AACA,kEAAkE,SAAkB,EAAE;AACtF,S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CP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,4DAAO,6BAA6B,4DAAO;AACnE,YAAY,4DAAO,iBAAiB,4DAAO;AAC3C,iBAAiB,4DAAO;AACxB,aAAa;AACb,YAAY,4DAAO,gCAAgC,4DAAO;AAC1D;AACA;AACA,wBAAwB,4DAAO,6BAA6B,4DAAO;AACnE,YAAY,4DAAO,iBAAiB,4DAAO;AAC3C,iBAAiB,4DAAO;AACxB,aAAa;AACb,YAAY,4DAAO,gCAAgC,4DAAO;AAC1D;AACA;AACA;AACO;AACP;AACA,kBAAkB,yCAAK,wFAAwF,yCAAK;AACpH;AACO;AACP;AACA,eAAe,yCAAK;AACpB,gBAAgB,yCAAK;AACrB;AACA;AACA;AACO;AACP;AACA,oBAAoB,yCAAK;AACzB;AACA;AACA;AACA;AACA,8BAA8B,yCAAK;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,yCAAK;AACnC;AACA;AACA;AACA;AACO;AACP;AACA;AACA,oBAAoB,yCAAK;AACzB;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACO;AACP,uBAAuB,8DAAU,aAAa,8DAAU,gBAAgB,8DAAU;AAClF,eAAe,gEAAY;AAC3B;AACA,4BAA4B,8DAAU;AACtC,eAAe,gEAAY;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,YAAY,yCAAK;AACjB,kCAAkC,iEAAS;AAC3C;AACA;AACO;AACP,iEAAiE,+BAA+B;AAChG;AACA;AACA;AACA;AACO;AACP;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACO;AACP,IAAI,yCAAK;AACT;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACO;AACP,iBAAiB,oDAAC;AAClB;AACA;AACA,aAAa,+EAA2B;AACxC,sBAAsB,oDAAC;AACvB;AACA,aAAa,+EAA2B;AACxC,sBAAsB,oDAAC;AACvB;AACA,aAAa,+EAA2B;AACxC,sBAAsB,oDAAC;AACvB;AACA,aAAa,+EAA2B;AACxC,sBAAsB,oDAAC;AACvB;AACA,aAAa,+EAA2B;AACxC,sBAAsB,oDAAC;AACvB;AACA,aAAa,+EAA2B;AACxC,sBAAsB,oDAAC;AACvB;AACA,aAAa,+EAA2B;AACxC,sBAAsB,oDAAC;AACvB;AACA,aAAa,+EAA2B;AACxC,sBAAsB,oDAAC;AACvB;AACA,aAAa,+EAA2B;AACxC,sBAAsB,oDAAC;AACvB;AACA,aAAa,+EAA2B;AACxC,sBAAsB,oDAAC;AACvB;AACA,aAAa,+EAA2B;AACxC,sBAAsB,oDAAC;AACvB;AACA,aAAa,+EAA2B;AACxC,sBAAsB,oDAAC;AACvB;AACA,qBAAqB,oDAAC;AACtB;AACA;AACA,sBAAsB,oDAAC;AACvB;AACA;AACA,aAAa;AACb;AACO;AACP,QAAQ,yCAAK;AACb,QAAQ,yCAAK;AACb,6BAA6B,oEAAgB;AAC7C;AACA;AACA;AACA;AACA,yBAAyB,wEAAoB,EAAE,yCAAK;AACpD,IAAI,yCAAK,2BAA2B,yCAAK;AACzC;AACO;AACP;AACA,uCAAuC,4DAAO,aAAa,4DAAO,uBAAuB,4DAAO;AAChG;AACA;AACA;AACA,YAAY,aAAa;AACzB;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA,gBAAgB,oBAAoB;AACpC,oBAAoB,4DAAO;AAC3B,6BAA6B,4DAAO;AACpC,aAAa,yCAAK;AAClB,YAAY,4DAAO,iBAAiB,4DAAO;AAC3C;AACA;AACA,yBAAyB,4DAAO;AAChC,6BAA6B,4DAAO;AACpC;AACA,gBAAgB,4DAAO;AACvB,gBAAgB,4DAAO,yCAAyC,4DAAO;AACvE;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,IAAI,yCAAK,iCAAiC,yCAAK;AAC/C;AACA;AACO;AACP;AACA;AACA,iEAAiE,4DAAQ;AACzE,0CAA0C,iEAAa;AACvD;AACA,6BAA6B,yCAAK;AAClC;AACA;AACA;AACA;AACA,6CAA6C,sEAAkB,4BAA4B,+BAA+B;AAC1H;AACA,oDAAoD,yCAAK;AACzD;AACA,6CAA6C,2EAAuB,oCAAoC,+BAA+B;AACvI;AACA;AACO;AACP;AACA,WAAW,yCAAK;AAChB,iDAAiD,iEAAa;AAC9D;AACA,wDAAwD,mEAAe;AACvE;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA,kHAAkH,uEAAU;AAC5H,kHAAkH,6EAAyB;AAC3I,KAAK;AACL;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,oDAAoD,8CAA8C;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,+BAA+B,GAAG,iCAAiC,GAAG,iCAAiC;AACrH;AACO;AACP,IAAI,4DAAO;AACX,wBAAwB;AACxB;AACA,yCAAyC,IAAI;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8FAA8F,qCAAqC,mBAAmB,QAAQ;AAC9J;AACA,KAAK;AACL;AACA,2DAA2D,IAAI;AAC/D,KAAK;AACL;AACO;AACP,wBAAwB,gEAAY,wBAAwB,iFAAwB;AACpF;AACO;AACP;AACA;AACA,eAAe,yCAAK,4EAA4E,yCAAK;AACrG,4BAA4B,+DAAW;AACvC;AACA,mBAAmB,yCAAK;AACxB,4BAA4B,+DAAW;AACvC;AACA,UAAU,4DAAO,0DAA0D,4DAAO;AAClF,0CAA0C,yCAAK,kCAAkC,yCAAK;AACtF;AACA,KAAK;AACL;AACO;AACP;AACA;AACA,QAAQ,yCAAK;AACb;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,WAAW,yCAAK,uCAAuC,yCAAK;AAC5D;AACO;AACP,6CAA6C,yCAAK;AAClD;AACO;AACP,6CAA6C,yCAAK;AAClD;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,aAAa,SAAS;AACtB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oWAAoW,SAAS;AAC7W;AACA;AACA;AACA,8OAA8O,SAAS;AACvP;AACA;AACA;AACA,mDAAmD,SAAS;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,+EAA+E,iEAAS,8EAA8E,iEAAS;AAC/K;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,UAAU,EAAE,OAAO,OAAO,iBAAiB,UAAU;AAC3G;AACA,qBAAqB,4DAAO;AAC5B;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;;;;;;;;ACz/CsC;AACF;AACL;AACkC;AAClE,eAAe,kDAAY;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,OAAO,oDAAC;AACjC;AACA;AACA;AACA,2BAA2B,yCAAK;AAChC,gCAAgC,kBAAkB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,sDAAgB;AACxC,kCAAkC,8CAAQ;AAC1C;AACA;AACA;AACA;AACA,oCAAoC,yCAAK;AACzC,wCAAwC,kBAAkB;AAC1D;AACA;AACA,oCAAoC,oDAAc;AAClD;AACA,8CAA8C,8CAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,4DAA4D,EAAE;AAC9D;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACO;;;;;;;;;;;;;;;;;;;;;;AC7D0B;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACO;AACP;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,0CAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,0CAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;ACnLA,iBAAiB,SAAI,IAAI,SAAI;AAC7B,4BAA4B,+DAA+D,iBAAiB;AAC5G,0BAA0B,OAAO;AACjC,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACgC;AACkB;AACe;AAChC;AAC1B;AACP;AACA,iBAAiB,oBAAoB;AACrC;AACA,QAAQ,0CAAM,iDAAiD,uBAAuB;AACtF,QAAQ,yCAAK;AACb;AACA;AACA,YAAY,0CAAM,yDAAyD,uBAAuB;AAClG,YAAY,yCAAK;AACjB;AACA,KAAK;AACL;AACA,QAAQ,0CAAM;AACd,QAAQ,yCAAK,6BAA6B,yEAAsB;AAChE,KAAK;AACL,CAAC;AACM;AACP;AACA,gBAAgB,4DAAO;AACvB,qBAAqB,4DAAO,8DAA8D,yCAAK;AAC/F;AACA,CAAC;AACM;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE,aAAa;AACrF;AACA,YAAY,0CAAM;AAClB,YAAY,yCAAK,6BAA6B,yEAAsB;AACpE,YAAY,4DAAO;AACnB;AACA;AACA;AACA,YAAY,yCAAK,6BAA6B,yEAAsB;AACpE;AACA;AACA;AACA,QAAQ,0CAAM;AACd,QAAQ,yCAAK,6BAA6B,yEAAsB;AAChE;AACA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5DiD;AAClB;AACC;AAC6B;AACvB;AACU;AAC4C;AAC7D;AAChC;AACA;AACA,IAAI,yCAAK;AACT,IAAI,yCAAK;AACT;AACA;AACA;AACA;AACA;AACA,YAAY,yCAAK;AACjB,SAAS,yCAAK;AACd,UAAU,yCAAK,wBAAwB,yCAAK,uBAAuB,yCAAK;AACxE;AACO;AACP;AACA,IAAI,4DAAO;AACX,+BAA+B,yCAAK;AACpC,YAAY,0CAAM;AAClB;AACA,sBAAsB,wEAAa;AACnC,sBAAsB,wEAAa;AACnC,uBAAuB,oDAAC;AACxB,0BAA0B,uGAA8B;AACxD;AACA;AACA,0BAA0B,oDAAC;AAC3B;AACA;AACA;AACA;AACA,iCAAiC,kEAAQ;AACzC,qBAAqB;AACrB;AACA;AACA,iBAAiB;AACjB;AACA,YAAY,yCAAK;AACjB;AACA,gBAAgB,yCAAK;AACrB,aAAa;AACb;AACA,KAAK;AACL,IAAI,4DAAO;AACX;AACA;AACA;AACA,sBAAsB,wEAAa;AACnC,sBAAsB,wEAAa;AACnC,uBAAuB,oDAAC;AACxB,0BAA0B,uGAA8B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,YAAY,yCAAK;AACjB;AACA;AACA;AACA,sBAAsB,wEAAa;AACnC,sBAAsB,wEAAa;AACnC,uBAAuB,oDAAC;AACxB,0BAA0B,uGAA8B;AACxD,0BAA0B,oDAAC;AAC3B;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,YAAY,yCAAK;AACjB;AACA,KAAK;AACL;AACA;AACA,kBAAkB,wEAAa;AAC/B,kBAAkB,wEAAa;AAC/B;AACA,sBAAsB,uGAA8B;AACpD;AACA;AACA;AACA,6BAA6B,kEAAQ;AACrC,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,sBAAsB,sBAAsB;AAC5C;AACA,qCAAqC,4DAAO;AAC5C,iBAAiB,oDAAC,6CAA6C,EAAE,sBAAsB;AACvF,iBAAiB,oDAAC,gDAAgD,EAAE,sBAAsB;AAC1F;AACA;AACA;AACA;AACA,qBAAqB,oDAAC,mBAAmB,EAAE,wBAAwB,EAAE,oDAAC,uBAAuB;AAC7F,qBAAqB,oDAAC,mBAAmB;AACzC;AACA,eAAe,8CAAI,+CAA+C,gBAAgB;AAClF;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,yCAAK;AACjB,iCAAiC,4DAAO;AACxC;AACA;AACA;AACA,YAAY,yCAAK;AACjB;AACA,gBAAgB,yCAAK;AACrB,aAAa;AACb;AACA,qCAAqC,yCAAK;AAC1C,YAAY,yCAAK;AACjB;AACA;AACA;AACA,IAAI,4DAAO;AACX,YAAY,yCAAK;AACjB,oCAAoC,4DAAO;AAC3C,oCAAoC,4DAAO;AAC3C,gBAAgB,0CAAM;AACtB;AACA;AACA,yCAAyC,4DAAO;AAChD,oCAAoC,4DAAO;AAC3C,gBAAgB,0CAAM;AACtB,gBAAgB,yCAAK;AACrB,wCAAwC,4DAAO;AAC/C;AACA;AACA,KAAK;AACL;AACA,IAAI,4DAAO;AACX,YAAY,yCAAK;AACjB;AACA,gBAAgB,yCAAK;AACrB;AACA;AACA,gBAAgB,yCAAK;AACrB;AACA;AACA,KAAK;AACL,IAAI,4DAAO;AACX,YAAY,yCAAK;AACjB,YAAY,0CAAM;AAClB,YAAY,yCAAK;AACjB;AACA,KAAK;AACL;;;;;;;;;;;;;;;;;;;;;;;ACzKA,iBAAiB,SAAI,IAAI,SAAI;AAC7B,4BAA4B,+DAA+D,iBAAiB;AAC5G,0BAA0B,OAAO;AACjC,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACqC;AACa;AACX;AAChC,eAAe,kDAAY;AAC3B;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,8DAAoB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,4DAAkB;AAClC;AACA,YAAY,4DAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,eAAe,4DAAO;AACnC,SAAS;AACT;AACA;;;;;;;;;;;;;;;AC9CA;AACA;AACkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,qBAAM;AAChC;AACA,yBAAyB,4DAAO;AAChC;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;;;;;;;;;;;;;;;;;;ACzBkB;AACU;AACK;AACd;AACnB;AACA,+CAAS,GAAG,0BAA0B;AACtC;AACA;AACoD;;;;;;;;;;;;;;;;;ACRpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD,4DAA4D;AAC5D;AACA;AACA;AACA;AACyC;AACe;AACjD,0BAA0B,mDAAU;AAC3C;AACO;AACP,QAAQ,wDAAU;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,sBAAsB;AAC9D;AACA,6BAA6B;AAC7B;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,yDAAW;AACf;AACA;;;;;;;;;;;;;;;;;;;;;;;AC1FqC;AACL;AACkB;AACG;AACrD,eAAe,kDAAY;AAC3B;AACA;AACA,IAAI,4DAAO;AACX,IAAI,4DAAO;AACX,IAAI,4DAAO;AACX;AACA,QAAQ,yCAAK;AACb,KAAK;AACL;AACA,mEAAmE,4DAAO;AAC1E;AACA,IAAI,4DAAO;AACX,cAAc,4DAAO;AACrB;AACA;AACA;AACO,kBAAkB,+DAAI,eAAe,MAAM,4DAAO,OAAO;AACzD;AACP;AACA,QAAQ,KAA+B,EAAE,EAEpC;AACL,WAAW,4DAAO;AAClB;;;;;;;;;;;;;;;;;;;;AC5BiF;AAChD;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,2EAAgB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sBAAsB;AACvB;AACA;AACA;AACA;AACA,YAAY,2CAAQ;AACpB;AACA,qDAAqD;AACrD;AACA,+DAA+D;AAC/D,KAAK;AACL;AACA;AACA,8CAA8C,SAAS;AACvD;AACA;AACA,iBAAiB,kDAAyB,IAAI,CAAE;AAChD;AACA;AACA;AACA,aAAa,kDAAyB,CAAC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA,2BAA2B,WAAW;AACtC;AACA;AACA,2BAA2B,WAAW;AACtC;AACA,KAAK;AACL;AACA,wBAAwB,WAAW;AACnC,KAAK;AACL;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,iEAAiE,uCAAuC;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,wBAAwB,yBAAyB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,UAAU,cAAc,qBAAqB,SAAS,OAAO,YAAY,SAAS,IAAI,uDAAuD;AAC5L;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;ACvJA,kBAAkB,SAAI,IAAI,SAAI;AAC9B;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACgC;AACkB;AACY;AAC7B;AACyB;AAC1D,eAAe,kDAAY;AACZ;AACf;AACA;AACA;AACA;AACA;AACA,2FAA2F,WAAW;AACtG;AACA;AACA,YAAY,uEAAyB;AACrC;AACA;AACA;AACA,uBAAuB,yCAAK;AAC5B;AACA;AACA;AACA;AACA,+BAA+B,4DAAO;AACtC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,gBAAgB,yCAAK;AACrB;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,4MAA4M;AAC5M,qCAAqC,2CAAQ;AAC7C;AACA,aAAa;AACb,kDAAkD,0CAAI,CAAC,qEAAuB;AAC9E;AACA;AACA,aAAa,wBAAwB,2CAAQ,gBAAgB,oBAAoB;AACjF;AACA;AACA;AACA;AACA,eAAe,0CAAI;AACnB;AACA;AACA,eAAe,0CAAI;AACnB;AACA;AACA;AACA,kFAAkF,0CAAI;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sFAAsF,0CAAI;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,yCAAK;AACjB;AACA;AACA,oHAAoH,0CAAI,CAAC,yCAAK;AAC9H;AACA;AACA;AACA;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACO;;;;;;;;;;;;;;;;;;ACpKP,kBAAkB,SAAI,IAAI,SAAI;AAC9B;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACqC;AACK;AAC1C,eAAe,kDAAY;AACZ;AACf;AACA;AACA;AACA;AACA,4DAA4D,eAAe;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;;;;;;;;;;;;;;;;;;;;;;;AC/BA,kBAAkB,SAAI,IAAI,SAAI;AAC9B;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACkD;AAClB;AACwB;AACN;AACQ;AACqC;AAC/F;AACO;AACP;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,0CAAI;AACnB;AACA;AACA,eAAe,0CAAI;AACnB;AACA;AACA;AACA,yBAAyB,yCAAK;AAC9B,0BAA0B,yCAAK;AAC/B,sBAAsB,yCAAK;AAC3B,0BAA0B,yCAAK;AAC/B;AACA;AACA,0BAA0B,yCAAK;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,yCAAK,8BAA8B,2DAAS;AACxD,iCAAiC,yCAAK,0BAA0B,yCAAK;AACrE;AACA,wDAAwD,iEAAS;AACjE,2DAA2D,iEAAS;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,yCAAK;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,0CAAI;AAChD;AACA;AACA,iBAAiB;AACjB;AACA,6EAA6E,0CAAI;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,iEAAS;AACnC;AACA;AACA;AACA;AACA,oCAAoC,gFAA8B;AAClE;AACA;AACA;AACA,QAAQ,yCAAK,6EAA6E,iEAAS;AACnG;AACA;AACA;AACA,cAAc,iEAAS;AACvB;AACA;AACA,8BAA8B,iEAAS,WAAW,4EAA0B;AAC5E;AACA,YAAY,4DAAO;AACnB;AACA;AACA;AACA;AACA;AACA,eAAe,yCAAK;AACpB,0BAA0B,4DAAO;AACjC,0BAA0B,4DAAO;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,yCAAK;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,yCAAK;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6EAA6E,0CAAI;AACjF,YAAY,yCAAK;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,0CAAI;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,wCAAM;AACV;;;;;;;;;;;;;;;;;;AChSA,kBAAkB,SAAI,IAAI,SAAI;AAC9B;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACqC;AACqB;AAC3C;AACf;AACA,sBAAsB,kDAAY;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,0CAAI;AACnB;AACA;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;;;;;;;;;;;;;;;;;;AClEA,kBAAkB,SAAI,IAAI,SAAI;AAC9B;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACuC;AACa;AACrC;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,oDAAC;AAC3B,wBAAwB,oDAAC;AACzB,8BAA8B,oDAAC;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,oCAAoC;AAC9F,qCAAqC,oDAAC;AACtC,qCAAqC,oDAAC;AACtC,kCAAkC,oDAAC;AACnC,qCAAqC,oDAAC;AACtC,2CAA2C,oDAAC;AAC5C,qCAAqC,oDAAC;AACtC,0BAA0B,oDAAC;AAC3B,4BAA4B,oDAAC;AAC7B,eAAe;AACf;AACA;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/EA,kBAAkB,SAAI,IAAI,SAAI;AAC9B;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACuC;AACF;AACL;AACwB;AACA;AACN;AAC2C;AAC/B;AACV;AACpD,eAAe,kDAAY;AACpB;AACQ;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,yCAAK;AAC9B;AACA,uBAAuB,yCAAK,qCAAqC,yCAAK,8BAA8B,yCAAK;AACzG;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,wEAAa;AACnC,sBAAsB,wEAAa;AACnC,0BAA0B,oDAAC,0CAA0C;AACrE,0BAA0B,uGAA8B;AACxD,6BAA6B,yCAAK;AAClC;AACA;AACA;AACA,0BAA0B,oDAAC,0CAA0C;AACrE,6BAA6B,IAAI;AACjC,oCAAoC,sBAAsB;AAC1D;AACA,iCAAiC,sBAAsB;AACvD,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,wEAAa;AACrC,YAAY,yCAAK;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,kEAAS;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,kEAAS;AAC7D;AACA,6BAA6B,kEAAS;AACtC,YAAY,4DAAO,iBAAiB,4DAAO;AAC3C,iBAAiB,4DAAO;AACxB,iBAAiB,4DAAO;AACxB,iBAAiB,4DAAO;AACxB,aAAa;AACb,2BAA2B,kEAAS;AACpC;AACA,8CAA8C,kEAAS;AACvD;AACA;AACA;AACA,kEAAkE,OAAO;AACzE,iDAAiD,kEAAS;AAC1D;AACA;AACA;AACA;AACA;AACA,kBAAkB,oDAAC;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E,yCAAK,6BAA6B,yCAAK;AACjH;AACA;AACA;AACA;AACA;AACA,iBAAiB,iEAAS;AAC1B;AACA;AACA;AACA;AACA;AACA,iBAAiB,iEAAS;AAC1B;AACA;AACA;AACA;AACA;AACA,iBAAiB,iEAAS;AAC1B;AACA;AACA;AACA;AACA;AACA,iBAAiB,iEAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5K+D;AACzB;AACe;AACF;AACjB;AACE;AACiC;AACb;AACR;AACN;AACU;AACiB;AACjC;AACM;AACA;AACU;AAC7C;AACP,SAAS;AACT,gBAAgB;AAChB,OAAO;AACP,QAAQ;AACR,WAAW;AACX,WAAW;AACX,WAAW;AACX,wBAAwB;AACxB,wBAAwB;AACxB,gBAAgB;AAChB,UAAU;AACV,eAAe;AACf,UAAU;AACV,eAAe;AACf,QAAQ;AACR,sBAAsB;AACtB;AACO;AACP;AACO;;;;;;;;;;;;;;;;;ACpCA;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpDO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACO;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,WAAW,wCAAwC;AACpF;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC5BG;;;;;;;;;;;;;;;;;;;;ACAkD;AACe;AACjB;AACiC;AACpF;AACP,IAAI,qEAAkB;AACtB,IAAI,oFAAyB;AAC7B,IAAI,mEAAiB;AACrB,IAAI,oGAAiC;AACrC;;;;;;;;;;;;;;;;;;;;ACTkD;AACtB;AAC0B;AAC/C;AACP;AACA;AACA;AACA;AACA;AACA,sBAAsB,4DAAO;AAC7B;AACA,iCAAiC,8DAAY;AAC7C;AACA;AACA;AACA,sBAAsB,4DAAO;AAC7B,sBAAsB,4DAAO;AAC7B;AACA,6BAA6B,kBAAkB;AAC/C;AACA,uBAAuB,8DAAY;AACnC,gCAAgC,0CAAI;AACpC;AACA,aAAa;AACb;AACA;AACA;AACA,sBAAsB,4DAAO;AAC7B,sBAAsB,4DAAO;AAC7B;AACA,6BAA6B,8BAA8B;AAC3D;AACA,uBAAuB,8DAAY;AACnC;AACA,oCAAoC,0CAAI;AACxC;AACA;AACA,aAAa;AACb;AACA;AACA,CAAC,8DAA8D;;;;;;;;;;;;;;;;;;;;;;ACxC/D,iBAAiB,SAAI,IAAI,SAAI;AAC7B,4BAA4B,+DAA+D,iBAAiB;AAC5G,0BAA0B,OAAO;AACjC,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACqC;AACa;AACtB;AACW;AAChC;AACP;AACA;AACA;AACA,uBAAuB,kDAAY;AACnC;AACA;AACA,sBAAsB,4DAAO;AAC7B,sBAAsB,4DAAO;AAC7B;AACA;AACA;AACA;AACA;AACA,wCAAwC,4DAAO;AAC/C,4EAA4E,iBAAiB;AAC7F;AACA,aAAa;AACb;AACA,6BAA6B,kBAAkB;AAC/C,gCAAgC,4DAAO;AACvC,uCAAuC,+CAAK;AAC5C;AACA;AACA;AACA,wBAAwB,+CAAK;AAC7B;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,oBAAoB,0CAAI;AACxB;AACA,aAAa;AACb;AACA;AACA;AACA,sBAAsB,4DAAO;AAC7B,sBAAsB,4DAAO;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,4DAAO;AAC/C,2EAA2E,iBAAiB;AAC5F;AACA,aAAa;AACb;AACA,6BAA6B,kBAAkB;AAC/C,gCAAgC,4DAAO;AACvC,yCAAyC,+CAAK;AAC9C;AACA;AACA;AACA,wBAAwB,+CAAK;AAC7B;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,oBAAoB,0CAAI;AACxB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,CAAC,gDAAgD;;;;;;;;;;;;;;;;;;;ACvFC;AACb;AAC9B;AACP;AACA;AACA;AACA;AACA;AACA,sBAAsB,4DAAO;AAC7B,sBAAsB,4DAAO;AAC7B;AACA,6BAA6B,kBAAkB,YAAY,6CAAI;AAC/D;AACA;AACA,CAAC,8CAA8C;;;;;;;;;;;;;;;;;;;;;;ACdV;AACa;AACY;AACQ;AACtE,eAAe,kDAAY;AACpB;AACP;AACA;AACA;AACA;AACA;AACA,sBAAsB,4DAAO;AAC7B,sBAAsB,4DAAO;AAC7B;AACA,6BAA6B,2BAA2B;AACxD,sCAAsC,wEAAa;AACnD;AACA,0CAA0C,eAAe,UAAU,cAAc;AACjF;AACA;AACA,8BAA8B,8EAAoB;AAClD;AACA;AACA,wBAAwB,8EAAoB;AAC5C;AACA;AACA;AACA;AACA,uCAAuC,wEAAa;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,sBAAsB,4DAAO;AAC7B,sBAAsB,4DAAO;AAC7B;AACA,6BAA6B,2BAA2B;AACxD,sCAAsC,wEAAa;AACnD;AACA,0CAA0C,eAAe,UAAU,cAAc;AACjF;AACA;AACA,8BAA8B,8EAAoB;AAClD;AACA;AACA,wBAAwB,8EAAoB;AAC5C;AACA;AACA;AACA;AACA,uCAAuC,wEAAa;AACpD,uCAAuC,wEAAa;AACpD,yCAAyC,wEAAa;AACtD;AACA,uCAAuC,wEAAa;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,sBAAsB,4DAAO;AAC7B;AACA,6BAA6B,mBAAmB;AAChD,sCAAsC,wEAAa;AACnD;AACA,0CAA0C,eAAe,UAAU,cAAc;AACjF;AACA;AACA,gBAAgB,8EAAoB;AACpC,aAAa;AACb;AACA;AACA,CAAC,8EAA8E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnF/E,kBAAkB,SAAI,IAAI,SAAI;AAC9B;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AAC0O;AACxL;AACqC;AAChD;AACF;AACsB;AAC+B;AAC5B;AAC7B;AACyB;AACoK;AACM;AAC8M;AAClb;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kDAAY;AACpB;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;AACA;AACA;AACO;AACA;AACA;AACA;AACA;AACA;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,yCAAK;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gHAAgH,yCAAK;AACrH;AACA;AACA;AACA;AACA;AACA,8CAA8C,yCAAK,iDAAiD,yCAAK;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB,yCAAK,kDAAkD,yCAAK;AAC7E;AACA;AACA;AACA,wCAAwC,2EAAmB;AAC3D;AACA;AACA,uCAAuC,4EAAoB;AAC3D;AACA;AACA;AACA,2HAA2H,6DAAK;AAChI;AACA;AACA;AACA;AACA;AACA,iBAAiB,yCAAK,kDAAkD,yCAAK;AAC7E;AACA;AACA;AACA,wCAAwC,2EAAmB;AAC3D;AACA,uCAAuC,4EAAoB;AAC3D;AACA;AACA;AACA;AACA;AACA,4BAA4B,yCAAK;AACjC;AACA,gBAAgB,uEAAoB;AACpC,0CAA0C,wEAAgB;AAC1D,2BAA2B,wEAAgB;AAC3C;AACA,uBAAuB,wEAAgB,EAAE;AACzC;AACA,gBAAgB,yCAAK;AACrB,gDAAgD,oEAAY,+BAA+B,uEAAe;AAC1G,wHAAwH,+EAAuB;AAC/I,2BAA2B,+EAAuB;AAClD;AACA,uBAAuB,0EAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,+DAAQ;AAClE,0DAA0D,kEAAU;AACpE;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,uEAAoB;AACpC,0EAA0E;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,uEAAoB;AACpC,4EAA4E;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mHAAmH,sEAAe;AAClI;AACA,yHAAyH,kEAAU;AACnI,uBAAuB,kEAAW;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,kEAAW;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,+DAAO;AAC1C,oBAAoB,sEAAmB,SAAS,yEAAkB;AAClE;AACA,gBAAgB,oGAAwB;AACxC;AACA;AACA;AACA;AACA;AACA,qCAAqC,yCAAK;AAC1C;AACA,0DAA0D,0CAAI;AAC9D,gGAAgG,0CAAI;AACpG,2CAA2C,iFAAyB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,2EAAmB;AACpD,6BAA6B,2EAAmB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,sEAAc;AAC3C,wCAAwC,2EAAmB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,wEAAgB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,sEAAc;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,yEAAiB;AAChD,sCAAsC,yEAAiB;AACvD,oCAAoC,0CAAI;AACxC;AACA;AACA;AACA,yBAAyB,+DAAO;AAChC;AACA;AACA,sCAAsC,uEAAoB;AAC1D,0EAA0E,yCAAK,2EAA2E,2CAAQ;AAClK;AACA,yEAAyE,yCAAK;AAC9E,0EAA0E,yCAAK,2EAA2E,2CAAQ;AAClK;AACA;AACA,mLAAmL,kEAAU;AAC7L,sLAAsL,gFAAyB;AAC/M,8MAA8M,2CAAQ;AACtN,kCAAkC,6DAAU;AAC5C,0CAA0C,mFAA2B;AACrE,wCAAwC,iFAAyB;AACjE,qCAAqC,8EAAsB;AAC3D;AACA,iCAAiC,yCAAK,2CAA2C,yEAAiB;AAClG,qCAAqC,8EAAsB;AAC3D;AACA,yCAAyC,yCAAK,sEAAsE,uEAAe;AACnI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,2EAAmB;AAChD;AACA;AACA,6BAA6B,sEAAc;AAC3C;AACA;AACA;AACA,gKAAgK,wEAAgB;AAChL;AACA,wBAAwB,sEAAc;AACtC;AACA;AACA;AACA,yEAAyE,yCAAK;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,yCAAK;AACrB,wBAAwB,yCAAK;AAC7B,uBAAuB,yCAAK;AAC5B,6BAA6B,yCAAK;AAClC;AACA,yBAAyB,yCAAK;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,8EAA8E,oBAAoB,cAAc,QAAQ;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,yCAAK;AACtE,oBAAoB,4FAAoC,OAAO,yCAAK;AACpE;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,uDAAuD,2EAAoB;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,yCAAK;AACrB;AACA,gBAAgB,yCAAK;AACrB;AACA,uBAAuB,yCAAK;AAC5B;AACA,qBAAqB,yCAAK;AAC1B;AACA,gBAAgB,yCAAK;AACrB;AACA,wBAAwB,yCAAK;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D,yCAAK;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2GAA2G,yCAAK;AAChH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,2EAAwB,qBAAqB,oDAAC;AACxE,0BAA0B,2EAAwB,qBAAqB,oDAAC;AACxE;AACA;AACA;AACA,YAAY,yCAAK;AACjB,iBAAiB,yCAAK,iDAAiD,yCAAK;AAC5E;AACA,gBAAgB,yCAAK;AACrB;AACA;AACA;AACA,gBAAgB,yCAAK;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,yCAAK;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,sFAA8B;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kHAAkH,4DAAK;AACvH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,qCAAqC;AACzD;AACA,qDAAqD,6EAAsB;AAC3E;AACA;AACA,wCAAwC,iBAAiB,EAAE,oDAAC,oCAAoC,0BAA0B,EAAE;AAC5H;AACA;AACA,iBAAiB;AACjB;AACA,gBAAgB,yCAAK;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,yCAAK;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,oEAAiB;AACjC;AACA,gBAAgB,yCAAK;AACrB;AACA;AACA,iCAAiC,oDAAC;AAClC;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,aAAa,yCAAK,oEAAoE,sEAAiB;AACvG,iDAAiD,WAAW,2CAA2C,mEAAmE,qDAAqD,wIAAwI,kMAAkM,GAAG,GAAG;AAC/iB;AACA,0EAA0E,6CAA6C,YAAY,0EAAiB,2GAA2G,0EAAiB,+GAA+G,0EAAiB,iHAAiH,0EAAiB;AAClhB;AACA,kBAAkB,0EAAiB,4GAA4G,0EAAiB,8FAA8F;AAC9P;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,WAAW,2CAA2C,uBAAuB,mIAAmI,GAAG;AAChQ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,0EAAiB;AACjD,qEAAqE,yBAAyB,0CAA0C,mCAAmC,oBAAoB,GAAG;AAClM;AACA;AACA;AACA;AACA,6CAA6C,WAAW,2CAA2C,uBAAuB,8CAA8C,GAAG;AAC3K;AACA;AACA;AACA;AACA;AACA;AACA,8FAA8F,yCAAK;AACnG;AACA;AACA,aAAa,yCAAK;AAClB,gBAAgB,yCAAK;AACrB,gBAAgB,yCAAK;AACrB,oBAAoB,yCAAK;AACzB,oBAAoB,yCAAK;AACzB,iBAAiB;AACjB;AACA;AACA,gBAAgB,yCAAK;AACrB,gBAAgB,yCAAK;AACrB;AACA;AACA;AACA;AACA;AACA,uBAAuB,yCAAK;AAC5B,mBAAmB,yCAAK;AACxB;AACA;AACA,aAAa,yCAAK,iCAAiC,yCAAK,8BAA8B,2DAAS;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4GAA4G,yCAAK;AACjH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,yCAAK,+BAA+B,yCAAK,iCAAiC,kBAAkB;AAC5H;AACA;AACA;AACA;AACA,0BAA0B,yCAAK;AAC/B,0BAA0B,yCAAK;AAC/B;AACA;AACA;AACA,YAAY,yCAAK;AACjB;AACA;AACA,eAAe,yCAAK;AACpB;AACA;AACA,YAAY,yCAAK,8BAA8B,2DAAS,cAAc,yCAAK,8BAA8B,2DAAS;AAClH;AACA;AACA,wCAAwC,yCAAK;AAC7C,uCAAuC,yCAAK;AAC5C,mCAAmC,0CAAI,+DAA+D,yCAAK;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE,yCAAK;AAC1E,mEAAmE,yCAAK;AACxE,uCAAuC,0CAAI,4DAA4D,yCAAK;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,yCAAK;AAC5B,mBAAmB,yCAAK;AACxB;AACA;AACA,YAAY,yCAAK,8BAA8B,2DAAS,cAAc,yCAAK,8BAA8B,2DAAS;AAClH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,yCAAK;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,sGAAsG,yCAAK;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,0CAAI;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,sEAAmB,SAAS,yEAAkB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E,mEAAY;AACtF,uEAAuE,mEAAY;AACnF,0EAA0E,sEAAe;AACzF;AACA;AACA,uEAAuE,mEAAY;AACnF;AACA;AACA;AACA;AACA;AACA;AACA,2EAA2E,mEAAY;AACvF;AACA,8EAA8E,mEAAY;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,yCAAK;AACnD,8CAA8C,yCAAK,gCAAgC,2CAAQ;AAC3F;AACA;AACA,8CAA8C,yCAAK;AACnD,8CAA8C,yCAAK;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,yFAAsC;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,qCAAqC;AACrD;AACA,iDAAiD,6EAAsB;AACvE;AACA;AACA,oCAAoC,iBAAiB,EAAE,oDAAC,sCAAsC,0BAA0B,EAAE;AAC1H;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,yCAAK;AAC7B;AACA;AACA,YAAY,yCAAK;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,+CAAW;AACjD,sCAAsC,gDAAY;AAClD;AACA;AACA;AACA,uEAAuE,+CAAW,0BAA0B,gDAAY;AACxH;AACA,0BAA0B,wEAAa;AACvC,0BAA0B,wEAAa;AACvC,2BAA2B,oDAAC;AAC5B,0BAA0B,oDAAC;AAC3B;AACA,gBAAgB,yCAAK;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,yCAAK,8BAA8B,2DAAS;AACxD;AACA,gBAAgB,yCAAK;AACrB;AACA,qBAAqB,yCAAK,gBAAgB,kEAAU;AACpD,gBAAgB,yCAAK,kBAAkB,2DAAS;AAChD;AACA;AACA,gBAAgB,yCAAK;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,yCAAK;AACb;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,yCAAK;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6GAA6G,wEAAgB;AAC7H;AACA;AACA,6BAA6B,2EAAwB,qBAAqB,oDAAC;AAC3E;AACA;AACA;AACA,YAAY,yCAAK;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,yCAAK;AACjB;AACA;AACA;AACA,yCAAyC,yCAAK;AAC9C,gBAAgB,+EAAuB;AACvC,mCAAmC,wEAAgB;AACnD,sDAAsD,qEAAa;AACnE;AACA;AACA,qBAAqB,sFAA8B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,yCAAK;AACrB;AACA;AACA;AACA,YAAY,yCAAK;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,yCAAK,+DAA+D,wEAAiB;AACjG;AACA;AACA,YAAY,sFAA8B;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,yCAAK;AACrB,gBAAgB,yCAAK;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,yCAAK;AACb,QAAQ,yCAAK;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,yCAAK;AACrB,gBAAgB,yCAAK;AACrB;AACA;AACA,gBAAgB,yCAAK;AACrB,gBAAgB,yCAAK;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,yCAAK;AACjB;AACA;AACA;AACA;AACA;AACA,YAAY,yCAAK;AACjB;AACA,4BAA4B,oDAAC;AAC7B;AACA,6BAA6B,oDAAC;AAC9B;AACA,aAAa;AACb,YAAY,yCAAK,8CAA8C,oDAAC,4CAA4C,oDAAC;AAC7G;AACA;AACA;AACA;AACA;AACA,4DAA4D,oEAAiB;AAC7E,iCAAiC,2EAAwB;AACzD;AACA;AACA;AACA;AACA,8CAA8C,oDAAC,CAAC,6EAAqB,mBAAmB,oDAAC;AACzF;AACA;AACA,iBAAiB,oEAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,oDAAC,CAAC,gFAAwB,mBAAmB,oDAAC;AAC9E;AACA;AACA,0BAA0B,oDAAC;AAC3B;AACA;AACA,0BAA0B,oDAAC;AAC3B;AACA;AACA,0BAA0B,oDAAC;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,yCAAK;AACb;AACA;AACA;AACA;AACA,yBAAyB,oDAAC;AAC1B,4BAA4B,qFAA4B;AACxD;AACA;AACA,QAAQ,yCAAK;AACb;AACA;AACA;AACA;AACA;AACA,uCAAuC,mEAAgB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,6EAA0B;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,0CAAI,2CAA2C,0CAAI;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,0CAAQ;AACZ;AACO;AACP;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,SAAS;AACvB,cAAc,QAAQ;AACtB;AACA;AACA,cAAc,mBAAmB;AACjC;AACA,cAAc,QAAQ;AACtB,cAAc,uCAAuC;AACrD;AACA;AACA,cAAc,QAAQ;AACtB;AACA,cAAc,SAAS;AACvB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,cAAc;AAC5B,cAAc,oBAAoB;AAClC,cAAc,eAAe;AAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/mDA,kBAAkB,SAAI,IAAI,SAAI;AAC9B;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA,iBAAiB,SAAI,IAAI,SAAI;AAC7B,4BAA4B,+DAA+D,iBAAiB;AAC5G,0BAA0B,OAAO;AACjC,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACmL;AACxH;AACoB;AACxC;AACP;AACgD;AAC5B;AACC;AAC9C;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,qEAAc;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6HAA6H;AAC7H,oHAAoH;AACpH;AACA;AACA,+BAA+B,6EAAsB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,uCAAuC,4DAAO;AAC9C,gBAAgB,oDAAM,2DAA2D,iBAAiB;AAClG;AACA;AACA;AACA,gBAAgB,oDAAM,qDAAqD,iFAA4B,GAAG,qFAA4B,cAAc,0CAA0C,MAAM;AACpM;AACA;AACA,SAAS;AACT;AACA;AACA,mBAAmB,yCAAK;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,mFAAmF,8DAAY;AAC/F,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,yCAAK;AAC/B;AACA;AACA,2BAA2B,yCAAK;AAChC,oDAAoD,yCAAK;AACzD,+DAA+D,yCAAK;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yCAAK;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yFAAyF,oEAAS;AAClG;AACA;AACA;AACA,0CAA0C,oEAAS;AACnD;AACA;AACA,+CAA+C,oEAAS;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,yCAAK;AACrB,YAAY,yCAAK,gBAAgB,oEAAS;AAC1C;AACA;AACA;AACA,gBAAgB,yCAAK;AACrB,gCAAgC,4DAAO;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,4DAAO;AACf,2BAA2B,QAAQ,6DAA6D;AAChG;AACA,wCAAwC,4DAAO;AAC/C,qCAAqC,4DAAO;AAC5C;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,YAAY,oDAAM,qDAAqD,qFAA4B,MAAM;AACzG,YAAY,yCAAK;AACjB;AACA,6BAA6B,oDAAC;AAC9B,gCAAgC,qFAA4B;AAC5D;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,0BAA0B,4DAAO;AACjC,qCAAqC,4DAAO,0CAA0C,4DAAO;AAC7F;AACA,qBAAqB,yCAAK;AAC1B;AACA,kEAAkE,yCAAK;AACvE;AACA;AACA,8EAA8E,4DAAO;AACrF;AACA;AACA;AACA;AACA,yHAAyH,4DAAO;AAChI;AACA,SAAS;AACT;AACA;AACA,QAAQ,4DAAO;AACf,2BAA2B,QAAQ,2DAA2D;AAC9F;AACA;AACA,wCAAwC,4DAAO;AAC/C,qCAAqC,4DAAO;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,YAAY,oDAAM,6CAA6C,qFAA4B,MAAM;AACjG,YAAY,yCAAK;AACjB;AACA,6BAA6B,oDAAC;AAC9B,gCAAgC,qFAA4B;AAC5D;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,mBAAmB,yCAAK;AACxB,oBAAoB,yCAAK;AACzB,qBAAqB,yCAAK;AAC1B,8BAA8B,yCAAK;AACnC;AACA;AACA;AACA,eAAe,yCAAK;AACpB;AACA;AACA;AACA;AACA;AACA,eAAe,yCAAK;AACpB;AACA;AACA;AACA,oBAAoB,yCAAK;AACzB,wBAAwB,yCAAK;AAC7B,0BAA0B,yCAAK;AAC/B;AACA,kCAAkC,yCAAK;AACvC,0BAA0B,yCAAK;AAC/B,4BAA4B,yCAAK;AACjC;AACA;AACA,kCAAkC,yCAAK;AACvC,6BAA6B,yCAAK;AAClC,kBAAkB,yCAAK;AACvB,0BAA0B,yCAAK;AAC/B;AACA,mCAAmC,yCAAK;AACxC,+BAA+B,yCAAK;AACpC,uBAAuB,yCAAK;AAC5B,mBAAmB,yCAAK;AACxB,+BAA+B,yCAAK;AACpC,mCAAmC,yCAAK,iDAAiD,yCAAK;AAC9F,2CAA2C,yCAAK;AAChD,0CAA0C,yCAAK;AAC/C,+DAA+D,yCAAK;AACpE,+BAA+B,8EAAuB;AACtD,oDAAoD,yCAAK;AACzD,+BAA+B,yCAAK;AACpC;AACA;AACA;AACA;AACA,eAAe,yCAAK;AACpB,qBAAqB,yCAAK;AAC1B,cAAc,yCAAK;AACnB;AACA;AACA,eAAe,yCAAK,kDAAkD,yCAAK;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,4DAAO;AACpE,oBAAoB,yCAAK;AACzB,sDAAsD,qEAAmB;AACzE;AACA;AACA;AACA,0HAA0H,4DAAO;AACjI,kCAAkC,4DAAO;AACzC,kCAAkC,4DAAO;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gHAAgH,4DAAO;AACvH,8BAA8B,4DAAO;AACrC,8BAA8B,4DAAO;AACrC;AACA;AACA,oBAAoB,oDAAM,2BAA2B,eAAe;AACpE;AACA;AACA,2DAA2D,oEAAa;AACxE,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,yCAAK;AACb,qBAAqB,oDAAC;AACtB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,+HAA+H;AAC/I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,k+BAAk+B;AACl/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,kFAA2B;AACjF;AACA;AACA;AACA;AACA,aAAa,yCAAK;AAClB,aAAa,yCAAK;AAClB,iCAAiC,yCAAK;AACtC;AACA;AACA;AACA,sCAAsC,yCAAK,uBAAuB,oEAAS;AAC3E;AACA;AACA;AACA;AACA,+BAA+B,4DAAO;AACtC;AACA,0CAA0C,4DAAO;AACjD,kCAAkC,4DAAO;AACzC;AACA;AACA;AACA,8BAA8B,4DAAO;AACrC;AACA;AACA,6BAA6B,4DAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,yCAAK,4DAA4D,4DAAO;AACxF,gBAAgB,yCAAK;AACrB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,iEAAU,aAAa,iEAAU;AAClE,YAAY,+DAAa;AACzB,mBAAmB,mEAAY;AAC/B;AACA,oCAAoC,iEAAU;AAC9C,mBAAmB,mEAAY;AAC/B;AACA,2FAA2F,iEAAU,8FAA8F,iEAAU;AAC7M,mBAAmB,mEAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACO;AACP;AACA;AACA,cAAc,QAAQ;AACtB;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,oBAAoB;AAClC,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,+BAA+B;AAC7C;AACA,cAAc,MAAM;AACpB,cAAc,MAAM;AACpB,cAAc,4BAA4B;AAC1C;AACA,cAAc,gCAAgC;AAC9C,cAAc,8BAA8B;AAC5C,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,SAAS;AACvB,cAAc,QAAQ;AACtB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,UAAU;AACxB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,SAAS;AACvB;;;;;;;;;;;;;;;;;;;;AC7gDA,kBAAkB,SAAI,IAAI,SAAI;AAC9B;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACgC;AACoB;AACgE;AAC7G;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D;AAC9D;AACA;AACA;AACA,YAAY,yCAAK,8DAA8D,0EAAmB;AAClG;AACA;AACA;AACA,aAAa;AACb,YAAY,yCAAK;AACjB,gEAAgE,2EAAoB;AACpF;AACA,wEAAwE,iFAA0B;AAClG,0CAA0C,2EAAoB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,0CAAQ;AACZ;AACO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrDP,kBAAkB,SAAI,IAAI,SAAI;AAC9B;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA,iBAAiB,SAAI,IAAI,SAAI;AAC7B,4BAA4B,+DAA+D,iBAAiB;AAC5G,0BAA0B,OAAO;AACjC,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACsF;AACjC;AACqC;AACnD;AACF;AACL;AACsB;AACoD;AAC/C;AACG;AAC9B;AACoB;AACO;AACC;AACC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,eAAe,kDAAY;AAC3B;AACP;AACA;AACA;AACA,oBAAoB,0EAAW;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sFAAsF,4DAAO;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,4DAAO,yCAAyC,4DAAO;AACxF;AACA;AACA;AACA,iCAAiC;AACjC,uCAAuC,4DAAO;AAC9C,iFAAiF,iBAAiB;AAClG;AACA;AACA;AACA,2EAA2E,iFAA4B,GAAG,qFAA4B,cAAc,0CAA0C,MAAM;AACpM;AACA;AACA,SAAS;AACT;AACA;AACA,6DAA6D,yCAAK;AAClE;AACA;AACA;AACA;AACA,qBAAqB,yCAAK;AAC1B,2CAA2C,yCAAK;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,kDAAO;AAC1C;AACA,0CAA0C,kDAAO;AACjD;AACA,kCAAkC,kDAAO;AACzC;AACA;AACA;AACA;AACA;AACA,QAAQ,qEAAY;AACpB,oCAAoC,kDAAO;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,CAAC,yCAAK;AAC3D,kBAAkB,yCAAK;AACvB,kBAAkB,yCAAK;AACvB,oBAAoB,yCAAK,qEAAqE;AAC9F;AACA;AACA;AA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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,qEAAY;AACpB,+CAA+C,UAAU;AACzD;AACA;AACA,QAAQ,qEAAY;AACpB,QAAQ,qEAAY;AACpB,6DAA6D,UAAU;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,kDAAO,2BAA2B,uBAAuB;AACjE,QAAQ,4DAAO,iBAAiB,4DAAO;AACvC,aAAa,4DAAO;AACpB,oBAAoB,4DAAO;AAC3B,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,kDAAO,2BAA2B,8BAA8B;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,kDAAO,0BAA0B,sBAAsB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,yDAAoB;AACpC,kCAAkC,yCAAK;AACvC;AACA;AACA,oBAAoB,yDAAoB;AACxC;AACA;AACA,oBAAoB,yDAAoB;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,QAAQ,kDAAO,uCAAuC,wBAAwB;AAC9E;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,qEAAY;AACpB;AACA;AACA;AACA,QAAQ,qEAAY;AACpB,QAAQ,qEAAY;AACpB;AACA;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,6CAAU;AACd;AACA;AACA,IAAI,2CAAQ;AACZ;AACA;AACA,IAAI,2CAAQ;AACZ;AACA;AACA,IAAI,2CAAQ;AACZ;AACA;AACA,IAAI,2CAAQ;AACZ;AACA;AACA,IAAI,2CAAQ;AACZ;AACA;AACA,IAAI,2CAAQ;AACZ;AACA;AACA,IAAI,2CAAQ;AACZ;AACA;AACA,IAAI,2CAAQ;AACZ;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACA;AACA,IAAI,yCAAM;AACV;AACO;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/mCP,kBAAkB,SAAI,IAAI,SAAI;AAC9B;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA,iBAAiB,SAAI,IAAI,SAAI;AAC7B,4BAA4B,+DAA+D,iBAAiB;AAC5G,0BAA0B,OAAO;AACjC,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACqC;AACL;AACoC;AAClB;AACA;AACE;AACwB;AAC5E,eAAe,kDAAY;AACpB;AACP;AACA,+BAA+B,4DAAK;AACpC,sBAAsB,mEAA0B;AAChD,0BAA0B,kEAA8B;AACxD,oBAAoB,8cAAsB;AAC1C,yBAAyB,4BAAyB;AAClD,yBAAyB,4BAAwB;AACjD,oBAAoB,oCAAmB;AACvC;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,4DAAO;AACnB;AACA;AACA,gBAAgB,oEAAkB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,yCAAK;AACb,QAAQ,yCAAK;AACb;AACA;AACA;AACA;AACA,kCAAkC,8EAAqB;AACvD;AACA,gBAAgB,4DAAO;AACvB;AACA,sBAAsB,oEAAkB;AACxC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,gBAAgB,yCAAK;AACrB;AACA,sBAAsB,4DAAO;AAC7B;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,qBAAqB,yCAAK,sBAAsB,yCAAK;AACrD;AACA;AACA;AACA,4CAA4C,yCAAK;AACjD;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb;AACA,wFAAwF,MAAM;AAC9F,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACO;;;;;;;;;;;;;;;;;;;;;;;;;AC9KP,kBAAkB,SAAI,IAAI,SAAI;AAC9B;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA,iBAAiB,SAAI,IAAI,SAAI;AAC7B,4BAA4B,+DAA+D,iBAAiB;AAC5G,0BAA0B,OAAO;AACjC,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AAC8E;AACvC;AACiB;AACmB;AACjC;AAC+D;AACzG;AACO;AACP;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA,qBAAqB,oEAAa;AAClC,2BAA2B,oDAAC;AAC5B,qBAAqB,oEAAa;AAClC,2BAA2B,oDAAC;AAC5B,qBAAqB,oEAAa;AAClC,qBAAqB,oEAAa;AAClC,2BAA2B,oDAAC;AAC5B;AACA,2BAA2B,oDAAC;AAC5B;AACA;AACA;AACA;AACA,qBAAqB,iEAAS;AAC9B,qDAAqD,wEAAiB;AACtE;AACA,0BAA0B,oDAAC;AAC3B,qBAAqB,iEAAS;AAC9B,2BAA2B,oDAAC;AAC5B,qBAAqB,iEAAS;AAC9B,2BAA2B,oDAAC;AAC5B,qBAAqB,iEAAS;AAC9B,2BAA2B,oDAAC;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE,0FAAmC,KAAK,6EAAsB;AACnI;AACA,2DAA2D,6EAAsB;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,sCAAsC;AACnE,sCAAsC,oEAAa;AACnD,+BAA+B,yBAAyB;AACxD;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA;AACA;AACO,4DAA4D,yFAA0B;;;;;;;;;;;;;;;;;;;ACvN7F;AACA;AACA;AACA,kBAAkB,SAAI,IAAI,SAAI;AAC9B;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACqC;AACe;AACpD,eAAe,kDAAY;AACpB;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5EkG;AACxC;AACjC;AAC2L;AACzK;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,+DAAQ;AACjD,0CAA0C,iEAAU;AACpD,6GAA6G,gFAAyB;AACtI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,wFAAwF,oEAAa;AACrG;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,4HAA4H,2DAAI;AAChI;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,yCAAK;AACjB;AACA;AACA;AACA;AACA,qIAAqI,2DAAI;AACzI;AACA;AACA;AACA,gIAAgI,yEAAkB;AAClJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,+DAAQ;AACzD,kDAAkD,iEAAU;AAC5D,qHAAqH,gFAAyB;AAC9I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA;AACA;AACA;AACA,QAAQ,oDAAM;AACd;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,+DAAQ;AAC9C,sCAAsC,iEAAU;AAChD;AACA,sCAAsC,0DAAG;AACzC;AACA;AACA,SAAS;AACT;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,kDAAkD,+DAAQ;AAC1D,kDAAkD,iEAAU;AAC5D,6HAA6H,8EAAuB;AACpJ,qDAAqD,8EAAuB;AAC5E;AACA;AACA;AACA;AACA;AACO;AACP,QAAQ,sEAAoB;AAC5B;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,oEAAoE,QAAQ,mIAAmI;AAC/M;AACO;AACP;AACA;AACA;AACA;AACA,mCAAmC,mEAAY;AAC/C,mCAAmC,sEAAe;AAClD;AACA;AACA;AACA,iBAAiB,8EAAuB;AACxC,uBAAuB,oEAAa;AACpC,iBAAiB,8EAAuB;AACxC,6CAA6C,sEAAe,GAAG,sEAAe,GAAG,8EAAuB;AACxG,iBAAiB,yEAAkB;AACnC,uBAAuB,uEAAgB;AACvC;AACA,uBAAuB,uEAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,oEAAa,EAAE,uEAAgB;AAC7D;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA,oBAAoB,yCAAK;AACzB;AACA,QAAQ,yCAAK;AACb;AACA;AACA,+CAA+C,8EAAuB;AACtE;AACA;AACA;AACA,qBAAqB,oEAAa;AAClC;AACA;AACA;AACA,sFAAsF;AACtF;AACO;AACP;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACO;AACP,WAAW,sEAAoB;AAC/B;AACO;AACP;AACA,QAAQ,yCAAK;AACb,wBAAwB,yCAAK;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,mFAAmF,+DAAQ;AAC3F;AACA;AACO;AACP,YAAY,yCAAK;AACjB,kCAAkC,2DAAS;AAC3C,8BAA8B,mEAAY;AAC1C;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACA,iCAAiC,oEAAa;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,+EAA+E,4DAAK;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA,QAAQ,yCAAK;AACb;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;ACtSA,kBAAkB,SAAI,IAAI,SAAI;AAC9B;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACkD;AACS;AACF;AACzB;AACoB;AACmD;AAChG;AACP;AACA,qBAAqB,2EAAwB;AAC7C,2CAA2C;AAC3C,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,2EAAwB;AACpC;AACA,YAAY,sFAAmC;AAC/C,uCAAuC,2DAAS;AAChD,yBAAyB,yCAAK,4BAA4B,oEAAS,eAAe,yCAAK;AACvF,wBAAwB,yCAAK,4BAA4B,oEAAS;AAClE,wBAAwB,yCAAK;AAC7B;AACA;AACA;AACA,oBAAoB,yCAAK;AACzB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,YAAY,2EAAwB;AACpC;AACA,YAAY,2EAAwB;AACpC,uCAAuC,2DAAS;AAChD,oBAAoB,yCAAK;AACzB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,QAAQ,EAAE,kEAAa;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,yCAAK;AAC/B;AACA;AACA;AACA,0BAA0B,yCAAK,mDAAmD,yCAAK;AACvF,2EAA2E;AAC3E;AACA;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,wCAAM;AACV;AACO;;;;;;;;;;;;;;;;;;;;;;;;ACjNP,kBAAkB,SAAI,IAAI,SAAI;AAC9B;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA,iBAAiB,SAAI,IAAI,SAAI;AAC7B,4BAA4B,+DAA+D,iBAAiB;AAC5G,0BAA0B,OAAO;AACjC,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACkD;AAClB;AACoB;AAC8B;AACuI;AAChJ;AAClE;AACP;AACA;AACA;AACA;AACA,2BAA2B,iFAA0B;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,2FAAwB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,2FAAwB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,yBAAyB,OAAO,OAAO;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,2FAA2B;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,gGAAgC;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,8FAA8B;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,4EAAY;AAC5B,6BAA6B,mFAAmB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,gGAAgC;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,6FAA6F;AAC3H;AACA;AACA;AACA;AACA;AACA,gBAAgB,yCAAK,8BAA8B,2DAAS;AAC5D,YAAY,yCAAK,8BAA8B,2DAAS;AACxD,YAAY,yCAAK;AACjB,YAAY,yCAAK;AACjB;AACA;AACA,uCAAuC,cAAc;AACrD,0CAA0C,oBAAoB;AAC9D;AACA,oDAAoD,oBAAoB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,wCAAM;AACV;AACO;;;;;;;;;;;;;;;;;;ACnUP,kBAAkB,SAAI,IAAI,SAAI;AAC9B;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACkC;AAC3B;AACP;AACA;AACA,wBAAwB,mDAAuB;AAC/C,qBAAqB,+CAAoB;AACzC,uBAAuB,qDAAsB;AAC7C,qBAAqB,+CAAoB;AACzC,qBAAqB,iBAAW;AAChC,uBAAuB,qDAAsB;AAC7C,0BAA0B,wCAAyB;AACnD,6BAA6B,yCAA6B;AAC1D,qBAAqB,qCAAoB;AACzC,6BAA6B,iDAA8B;AAC3D,yBAAyB,uBAAyB;AAClD,4BAA4B,gCAAuB;AACnD,sCAAsC,0DAA6C;AACnF,4BAA4B,MAA2B;AACvD,6BAA6B,2CAA6B;AAC1D,2BAA2B,uCAA2B;AACtD;AACA;AACA;AACA;AACA,IAAI,4CAAU;AACd;AACO;;;;;;;;;;;;;;;;;;;;;;;;;AChCP,kBAAkB,SAAI,IAAI,SAAI;AAC9B;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA,iBAAiB,SAAI,IAAI,SAAI;AAC7B,4BAA4B,+DAA+D,iBAAiB;AAC5G,0BAA0B,OAAO;AACjC,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACuC;AACP;AAC6D;AACV;AACzC;AAC1C;AACA;AACA;AACA;AACA,yCAAyC;AAClC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,wEAAa;AAChD;AACA,uCAAuC,uGAA8B;AACrE,sBAAsB,oDAAC;AACvB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,mCAAmC,wEAAa;AAChD;AACA,uCAAuC,uGAA8B;AACrE,0BAA0B,oDAAC;AAC3B,iBAAiB;AACjB;AACA;AACA,mCAAmC,wEAAa;AAChD;AACA,uCAAuC,uGAA8B;AACrE,0BAA0B,oDAAC;AAC3B,iBAAiB;AACjB;AACA;AACA,mCAAmC,wEAAa;AAChD;AACA,uCAAuC,uGAA8B;AACrE,0BAA0B,oDAAC;AAC3B,8BAA8B,oDAAC;AAC/B;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,QAAQ,wEAAa;AACrB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,wEAAa;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,uGAA8B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE,wEAAa;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,uGAA8B;AAC5E;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E,wEAAa;AACvF,mCAAmC,wEAAa;AAChD;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,wEAAa;AAC/B,kBAAkB,wEAAa;AAC/B,mBAAmB,oDAAC;AACpB,sBAAsB,uGAA8B;AACpD;AACA,0CAA0C,oDAAC;AAC3C;AACA,4CAA4C,gBAAgB,SAAS;AACrE,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,kBAAkB,wEAAa;AAC/B,kBAAkB,wEAAa;AAC/B,mBAAmB,oDAAC;AACpB,kBAAkB,oDAAC;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,wEAAa;AAC/B,kBAAkB,wEAAa;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA,0BAA0B,wEAAa;AACvC,0BAA0B,wEAAa;AACvC,2BAA2B,oDAAC;AAC5B,8BAA8B,uGAA8B;AAC5D,8BAA8B,oDAAC;AAC/B,kCAAkC,oDAAC;AACnC,wCAAwC,iBAAiB,oDAAC,6BAA6B;AACvF;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,wEAAa;AACpD;AACA,yCAAyC,wEAAa;AACtD;AACA,uCAAuC,wEAAa;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,kCAAkC;AAClC,qCAAqC,gBAAgB;AACrD,SAAS;AACT;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,gBAAgB,0EAA0E;AAC1F,wCAAwC,yCAAK;AAC7C,wCAAwC,yCAAK;AAC7C,kDAAkD,yCAAK;AACvD;AACA;AACA;AACA;AACA,kBAAkB,wEAAa;AAC/B,mBAAmB,oDAAC;AACpB;AACA;AACA;AACA,QAAQ,yCAAK,iDAAiD,oDAAC,qBAAqB,IAAI,oDAAC,wBAAwB;AACjH;AACA;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,WAAW,kFAAmB;AAC9B;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACO;;;;;;;;;;;;;;;;;;;;ACrYP,kBAAkB,SAAI,IAAI,SAAI;AAC9B;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACuC;AACP;AACA;AACzB;AACP;AACA,kBAAkB,oDAAC,mBAAmB,EAAE,yCAAK,iBAAiB,IAAI,oDAAC,mCAAmC;AACtG;AACA;AACA;AACA,IAAI,0CAAQ;AACZ;AACO;;;;;;;;;;;;;;;;;;;;;;;;ACjBP,kBAAkB,SAAI,IAAI,SAAI;AAC9B;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACkD;AACX;AACP;AAC2B;AACT;AACE;AAC7C;AACP;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA,SAAS;AACT;AACA;AACA;AACA,mCAAmC,4DAAO;AAC1C;AACA;AACA;AACA,qBAAqB,4DAAO;AAC5B;AACA;AACA,YAAY,4DAAO,iBAAiB,4DAAO,6DAA6D,CAAC,4DAAO,2DAA2D;AAC3K,YAAY,4DAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,2DAAS;AAC1B,uBAAuB,2DAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,+CAA+C;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,2DAAS;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,yCAAK,kDAAkD,yCAAK;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,yCAAK;AACb,sBAAsB,2DAAS;AAC/B,kDAAkD,EAAE,yCAAK,uCAAuC,QAAQ;AACxG,mBAAmB,yCAAK;AACxB,SAAS;AACT;AACA;AACA,QAAQ,yCAAK;AACb;AACA;AACA,wBAAwB,oDAAC;AACzB,yBAAyB,oDAAC;AAC1B;AACA;AACA;AACA,+BAA+B,oDAAC;AAChC;AACA;AACA,4BAA4B,yCAAK;AACjC;AACA,qBAAqB;AACrB;AACA;AACA,+BAA+B,oDAAC;AAChC;AACA,4BAA4B,yCAAK;AACjC,4BAA4B,yCAAK;AACjC;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,QAAQ,yCAAK;AACb,YAAY,yCAAK,uCAAuC,yCAAK;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,2DAAS,SAAS,oEAAY;AACzD,8BAA8B,oEAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACO;;;;;;;;;;;;;;;;;;;;;;;ACvMP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC2D;AACJ;AACR;AACF;AACM;AACJ;AACxC;AACP;AACA,yBAAyB,yDAAW;AACpC,wBAAwB,wDAAU;AAClC,6BAA6B,uDAAe;AAC5C,8BAA8B,yDAAiB;AAC/C,sCAAsC,gEAAkB;AACxD,iCAAiC,2DAAmB;AACpD;AACA;AACO;;;;;;;;;;;;;;;;;;ACzBP,kBAAkB,SAAI,IAAI,SAAI;AAC9B;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACoD;AAC7C;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,4CAAU;AACd;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,wCAAM;AACV;AACA;AACA,IAAI,0CAAQ;AACZ;AACA;AACA,IAAI,0CAAQ;AACZ;AACO;;;;;;;;;;;;;;;;;;;;AClDP,iBAAiB,SAAI,IAAI,SAAI;AAC7B,4BAA4B,+DAA+D,iBAAiB;AAC5G,0BAA0B,OAAO;AACjC,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACyC;AAClC;AACP;AACA;AACA;AACA;AACA,KAAK,yHAAyH;AAC9H;AACA;AACA,2BAA2B,oDAAY;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,4CAA4C;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,4CAA4C;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kDAAkD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,iEAAe,oBAAoB,EAAC;;;;;;;;;;;AC1MpC;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA","sources":["webpack://@agentx/agentx/./src/assets/images/teams-icon-color.svg","webpack://@agentx/agentx/./src/assets/images/webex_cc_logo.png","webpack://@agentx/agentx/./src/assets/images/wxm.svg","webpack://@agentx/agentx/./src/app/App.scss","webpack://@agentx/agentx/./src/app/components/ChangeTeamLoading.scss","webpack://@agentx/agentx/./src/app/components/ConnectionLost.scss","webpack://@agentx/agentx/./src/app/components/DynamicArea.scss","webpack://@agentx/agentx/./src/app/components/EmptyResponsiveWidget.scss","webpack://@agentx/agentx/./src/app/components/GlobalLiveAnnouncer.scss","webpack://@agentx/agentx/./src/app/components/GotoAnalyzer.scss","webpack://@agentx/agentx/./src/app/components/HeaderActionItems.scss","webpack://@agentx/agentx/./src/app/components/PageTitle.scss","webpack://@agentx/agentx/./src/app/components/TimezoneLabel.scss","webpack://@agentx/agentx/./src/app/components/UpdateProfileSettingsLoading.scss","webpack://@agentx/agentx/./src/app/routing/shared-blocks/AdvancedHeaderBlock.scss","webpack://@agentx/agentx/./src/app/routing/shared-blocks/AiAssistantBlock.scss","webpack://@agentx/agentx/./src/app/routing/shared-blocks/BannerBlock.scss","webpack://@agentx/agentx/./src/app/routing/shared-blocks/InteractionControlBlock.scss","webpack://@agentx/agentx/./src/app/routing/shared-blocks/NavBlock.scss","webpack://@agentx/agentx/./src/app/routing/shared-blocks/PersistentAreaBlock.scss","webpack://@agentx/agentx/./src/app/routing/shared-blocks/TasksAreaBlock.scss","webpack://@agentx/agentx/./src/app/routing/views/_base-view/BaseView.scss","webpack://@agentx/agentx/./src/app/routing/views/_dynamic-view/DynamicView.scss","webpack://@agentx/agentx/./src/app/routing/views/_not-found-view/NotFoundView.scss","webpack://@agentx/agentx/./src/app/routing/views/_not-found-view/blocks/RouteNotFoundBlock.scss","webpack://@agentx/agentx/./src/app/routing/views/aps-view/ApsView.scss","webpack://@agentx/agentx/./src/app/routing/views/aps-view/blocks/ApsReportsBlock.scss","webpack://@agentx/agentx/./src/app/routing/views/default-landing-view/DefaultLandingView.scss","webpack://@agentx/agentx/./src/app/routing/views/home-view/HomeView.scss","webpack://@agentx/agentx/./src/app/routing/views/interactions-view/interactions-view.scss","webpack://@agentx/agentx/./src/app/routing/views/queue-stats-view/QueueStatsView.scss","webpack://@agentx/agentx/./src/app/routing/views/queue-stats-view/blocks/QueueStatsBlock.scss","webpack://@agentx/agentx/./src/app/routing/views/queue-stats-view/blocks/QueueStatsDetailsBlock.scss","webpack://@agentx/agentx/./src/app/routing/views/task-selected-view/TaskSelectedView.scss","webpack://@agentx/agentx/./src/app/routing/views/task-selected-view/blocks/PanelOneBlock.scss","webpack://@agentx/agentx/./src/app/routing/views/task-selected-view/blocks/PanelTwoBlock.scss","webpack://@agentx/agentx/./src/app/App.ts","webpack://@agentx/agentx/./src/app/components/AiAssistantConstants.ts","webpack://@agentx/agentx/./src/app/components/AiAssistantMessageProcessor.ts","webpack://@agentx/agentx/./src/app/components/ChangeTeamLoading.ts","webpack://@agentx/agentx/./src/app/components/ConnectionLost.ts","webpack://@agentx/agentx/./src/app/components/CssDynamic.ts","webpack://@agentx/agentx/./src/app/components/DynamicArea.ts","webpack://@agentx/agentx/./src/app/components/EmpyResponsiveWidget.ts","webpack://@agentx/agentx/./src/app/components/GlobalLiveAnnouncer.ts","webpack://@agentx/agentx/./src/app/components/GotoAnalyzer.ts","webpack://@agentx/agentx/./src/app/components/HeaderActionItems.ts","webpack://@agentx/agentx/./src/app/components/MessageHandler.ts","webpack://@agentx/agentx/./src/app/components/MoreActionsWrapper.ts","webpack://@agentx/agentx/./src/app/components/PageTitle.ts","webpack://@agentx/agentx/./src/app/components/QualityMonitoringWidgetWrapper.ts","webpack://@agentx/agentx/./src/app/components/TimezoneLabel.ts","webpack://@agentx/agentx/./src/app/components/UpdateProfileSettingsLoading.ts","webpack://@agentx/agentx/./src/app/components/WebCallingWidget.ts","webpack://@agentx/agentx/./src/app/components/WebexCallingWidget.ts","webpack://@agentx/agentx/./src/app/components/advancedHeader/AgentStateSelectorWrapper.ts","webpack://@agentx/agentx/./src/app/components/advancedHeader/NotesWrapper.ts","webpack://@agentx/agentx/./src/app/components/advancedHeader/NotificationWrapper.ts","webpack://@agentx/agentx/./src/app/components/advancedHeader/OutdialWrapper.ts","webpack://@agentx/agentx/./src/app/components/advancedHeader/WebexWrapper.ts","webpack://@agentx/agentx/./src/app/components/constants.ts","webpack://@agentx/agentx/./src/app/integration/microsoft/index.ts","webpack://@agentx/agentx/./src/app/integration/webex/index.ts","webpack://@agentx/agentx/./src/app/routing/routing.ts","webpack://@agentx/agentx/./src/app/routing/shared-blocks/AdvancedHeaderBlock.ts","webpack://@agentx/agentx/./src/app/routing/shared-blocks/AgentProfileBlock.ts","webpack://@agentx/agentx/./src/app/routing/shared-blocks/AiAssistantBlock.ts","webpack://@agentx/agentx/./src/app/routing/shared-blocks/BannerBlock.ts","webpack://@agentx/agentx/./src/app/routing/shared-blocks/EmptyBlock.ts","webpack://@agentx/agentx/./src/app/routing/shared-blocks/InteractionControlBlock.ts","webpack://@agentx/agentx/./src/app/routing/shared-blocks/NavBlock.ts","webpack://@agentx/agentx/./src/app/routing/shared-blocks/PersistentAreaBlock.ts","webpack://@agentx/agentx/./src/app/routing/shared-blocks/PopoverBlock.ts","webpack://@agentx/agentx/./src/app/routing/shared-blocks/TasksAreaBlock.ts","webpack://@agentx/agentx/./src/app/routing/shared-blocks/UtilityBlock.ts","webpack://@agentx/agentx/./src/app/routing/views/_base-view/BaseView.ts","webpack://@agentx/agentx/./src/app/routing/views/_dynamic-view/DynamicView.ts","webpack://@agentx/agentx/./src/app/routing/views/_not-found-view/NotFoundView.ts","webpack://@agentx/agentx/./src/app/routing/views/_not-found-view/blocks/RouteNotFoundBlock.ts","webpack://@agentx/agentx/./src/app/routing/views/aps-view/ApsView.ts","webpack://@agentx/agentx/./src/app/routing/views/aps-view/blocks/ApsReportsBlock.ts","webpack://@agentx/agentx/./src/app/routing/views/default-landing-view/DefaultLandingView.ts","webpack://@agentx/agentx/./src/app/routing/views/home-view/HomeView.ts","webpack://@agentx/agentx/./src/app/routing/views/interactions-view/interactions-view-context.ts","webpack://@agentx/agentx/./src/app/routing/views/interactions-view/interactions-view.ts","webpack://@agentx/agentx/./src/app/routing/views/queue-stats-view/QueueStatsView.ts","webpack://@agentx/agentx/./src/app/routing/views/queue-stats-view/blocks/QueueStatsBlock.ts","webpack://@agentx/agentx/./src/app/routing/views/queue-stats-view/blocks/QueueStatsDetailsBlock.ts","webpack://@agentx/agentx/./src/app/routing/views/task-selected-view/TaskSelectedView.ts","webpack://@agentx/agentx/./src/app/routing/views/task-selected-view/blocks/PanelOneBlock.ts","webpack://@agentx/agentx/./src/app/routing/views/task-selected-view/blocks/PanelTwoBlock.ts","webpack://@agentx/agentx/./src/app/utils/AlertBannerUtils.ts","webpack://@agentx/agentx/./src/app/utils/DesktopLayoutUtils.ts","webpack://@agentx/agentx/./src/app/utils/DynamicLayoutListener.ts","webpack://@agentx/agentx/./src/app/utils/IdleActivity/IdleActivity.ts","webpack://@agentx/agentx/./src/app/utils/StateSyncManager/StateSyncManager.ts","webpack://@agentx/agentx/./src/app/utils/StateSyncManager/UtilsSyncState.ts","webpack://@agentx/agentx/./src/app/utils/URLUtils.ts","webpack://@agentx/agentx/./src/app/utils/Utils.ts","webpack://@agentx/agentx/./src/app/utils/UtilsDynamic.ts","webpack://@agentx/agentx/./src/app/utils/UtilsResponsive.ts","webpack://@agentx/agentx/./src/app/utils/UtilsWebCalling.ts","webpack://@agentx/agentx/./src/app/utils/UtilsWebex.ts","webpack://@agentx/agentx/./src/exceptionTracker/exception-tracker.ts","webpack://@agentx/agentx/./src/global.ts","webpack://@agentx/agentx/./src/index.ts","webpack://@agentx/agentx/./src/mixins/DedupeMixin.ts","webpack://@agentx/agentx/./src/mixins/ResizeMixin.ts","webpack://@agentx/agentx/./src/mixins/i18nMixin.ts","webpack://@agentx/agentx/./src/sdk.ts","webpack://@agentx/agentx/./src/store/MFE/interaction-control.ts","webpack://@agentx/agentx/./src/store/MFE/ivr-transcript.ts","webpack://@agentx/agentx/./src/store/MFE/module-chat.ts","webpack://@agentx/agentx/./src/store/MFE/module-email.ts","webpack://@agentx/agentx/./src/store/MFE/module-error.ts","webpack://@agentx/agentx/./src/store/MFE/screen-pop.ts","webpack://@agentx/agentx/./src/store/index.ts","webpack://@agentx/agentx/./src/store/init/default-configs.ts","webpack://@agentx/agentx/./src/store/shared-actions/constants.ts","webpack://@agentx/agentx/./src/store/shared-actions/export-types.ts","webpack://@agentx/agentx/./src/store/shared-actions/index.ts","webpack://@agentx/agentx/./src/store/shared-actions/shared-actions-agent-contact.ts","webpack://@agentx/agentx/./src/store/shared-actions/shared-actions-agent.ts","webpack://@agentx/agentx/./src/store/shared-actions/shared-actions-auth.ts","webpack://@agentx/agentx/./src/store/shared-actions/shared-actions-general-notifications.ts","webpack://@agentx/agentx/./src/store/store-agent-contact.ts","webpack://@agentx/agentx/./src/store/store-agent.ts","webpack://@agentx/agentx/./src/store/store-alert-banner.ts","webpack://@agentx/agentx/./src/store/store-app.ts","webpack://@agentx/agentx/./src/store/store-auth.ts","webpack://@agentx/agentx/./src/store/store-browser-notifications.ts","webpack://@agentx/agentx/./src/store/store-common-state-variables.ts","webpack://@agentx/agentx/./src/store/store-contact-helper.ts","webpack://@agentx/agentx/./src/store/store-desktop-layout.ts","webpack://@agentx/agentx/./src/store/store-dynamic.ts","webpack://@agentx/agentx/./src/store/store-env-variables.ts","webpack://@agentx/agentx/./src/store/store-general-notifications.ts","webpack://@agentx/agentx/./src/store/store-page.ts","webpack://@agentx/agentx/./src/store/store-routing.ts","webpack://@agentx/agentx/./src/store/store-session.ts","webpack://@agentx/agentx/./src/store/store-shortcut-key.ts","webpack://@agentx/agentx/./src/sw/sw-controller.ts","webpack://@agentx/agentx/ignored|/home/jenkins/agent/workspace/ManualDeploy/wxcc-k8s-sg-manual-deployment/node_modules/bn.js/lib|buffer","webpack://@agentx/agentx/ignored|/home/jenkins/agent/workspace/ManualDeploy/wxcc-k8s-sg-manual-deployment/node_modules/brorand|crypto","webpack://@agentx/agentx/ignored|/home/jenkins/agent/workspace/ManualDeploy/wxcc-k8s-sg-manual-deployment/node_modules/browserify-rsa/node_modules/bn.js/lib|buffer","webpack://@agentx/agentx/ignored|/home/jenkins/agent/workspace/ManualDeploy/wxcc-k8s-sg-manual-deployment/node_modules/browserify-sign/node_modules/bn.js/lib|buffer","webpack://@agentx/agentx/ignored|/home/jenkins/agent/workspace/ManualDeploy/wxcc-k8s-sg-manual-deployment/node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams|util","webpack://@agentx/agentx/ignored|/home/jenkins/agent/workspace/ManualDeploy/wxcc-k8s-sg-manual-deployment/node_modules/browserify-sign/node_modules/readable-stream/lib|util","webpack://@agentx/agentx/ignored|/home/jenkins/agent/workspace/ManualDeploy/wxcc-k8s-sg-manual-deployment/node_modules/crypto-js|crypto","webpack://@agentx/agentx/ignored|/home/jenkins/agent/workspace/ManualDeploy/wxcc-k8s-sg-manual-deployment/node_modules/node-forge/lib|crypto","webpack://@agentx/agentx/ignored|/home/jenkins/agent/workspace/ManualDeploy/wxcc-k8s-sg-manual-deployment/node_modules/node-jose/lib/algorithms|crypto","webpack://@agentx/agentx/ignored|/home/jenkins/agent/workspace/ManualDeploy/wxcc-k8s-sg-manual-deployment/node_modules/object-inspect|./util.inspect","webpack://@agentx/agentx/ignored|/home/jenkins/agent/workspace/ManualDeploy/wxcc-k8s-sg-manual-deployment/node_modules/readable-stream/lib/internal/streams|util","webpack://@agentx/agentx/ignored|/home/jenkins/agent/workspace/ManualDeploy/wxcc-k8s-sg-manual-deployment/node_modules/readable-stream/lib|util","webpack://@agentx/agentx/ignored|/home/jenkins/agent/workspace/ManualDeploy/wxcc-k8s-sg-manual-deployment/node_modules/strtok3/lib|fs"],"sourcesContent":["module.exports = __webpack_public_path__ + \"app/images/teams-icon-color.5a6d40fd.svg\";","module.exports = __webpack_public_path__ + \"app/images/webex_cc_logo.d7dd84f7.png\";","module.exports = __webpack_public_path__ + \"app/images/wxm.a384f21b.svg\";","import {css} from 'lit-element'; export default css`*{--interaction-control-block-padding-bottom:0;--interaction-control-block-padding-left:8px;--interaction-control-block-padding-right:0}*{--overlay-background:rgba(0, 0, 0, 0.6);--font-size-large:16px;--white-color:#fff;--gray-10-color:#ededed;--blue-70-color:#005e7d;--translate-50:translate(-50%, -50%);--line-height-150:150%;--font-size-medium:14px;--font-size-small:12px;--line-height-large:150%;--font-weight-bold:800;--color-count-notifications:#fff;--font-family:var(--brand-font-regular, \"CiscoSansTT Regular\"),\"CiscoSansTT Regular\",\"Helvetica Neue\",Helvetica,Arial,sans-serif;--font-family-light:var(--brand-font-light, \"CiscoSansTT Light\"),\"Helvetica Neue\",Helvetica,Arial,sans-serif}:host{--nav-bar-width:56px;--container-view-margin:8px;--collapse-area-collapse-width:0;--collapse-area-divider-width:2px;--collapse-area-divider-collapsed-width:0px;--interaction-control-block-padding-top:8px;--histroy-divider-height:2px;--nav-overlay-bg-color:var(--md-secondary-white-bg-color);--dynamic-area-widget-container-bg-color:var(--md-secondary-white-bg-color);--dynamic-area-widget-container-border-radius:4px;--dynamic-view-ual-container-bg-color:unset;--dynamic-view-ual-container-border-radius:unset}:host md-theme[theme=momentumV2]{--nav-bar-width:56px;--container-view-margin:8px;--collapse-area-collapse-width:0;--collapse-area-divider-width:2px;--collapse-area-divider-collapsed-width:0px;--interaction-control-block-padding-top:8px;--histroy-divider-height:2px;--nav-overlay-bg-color:var(--md-secondary-white-bg-color);--dynamic-area-widget-container-bg-color:var(--md-secondary-white-bg-color);--dynamic-area-widget-container-border-radius:4px;--dynamic-view-ual-container-bg-color:unset;--dynamic-view-ual-container-border-radius:unset;--nav-bar-width:64px;--collapse-area-border-radius:12px 12px 0px 0px;--collapse-area-box-shadow:0px 4px 8px 0px #00000033;--collapse-area-background:var(--md-glass-bg-color);--collapse-area-collapsed-width:1px;--collapse-area-divider-width:1px;--collapse-area-divider-collapsed-width:1px;--histroy-divider-height:1px;--grid-container-h-padding:12px;--grid-container-top-padding:8px;--grid-container-border-radius:12px;--pinned-column-header-bg-color:var(--md-table-pinned-bg-color);--pinned-column-elevation:var(--md-elevation-1);--md-table-column-divider-color:var(--md-table-vertical-divider-color);--page-title-font-family:var(--brand-font-regular)}:host md-theme[theme=momentumV2].is-visual-rebrand{--md-header-bg-color:transparent;--md-navigation-bg-color:transparent;--md-task-list-bg-color:transparent;--md-agent-history-bg-color:transparent;--nav-overlay-bg-color:var(--md-glass-bg-color);--md-content-bg-color:var(--md-glass-bg-color);--content-container-top-margin:0px;--dynamic-area-widget-wrapper-container-bg-color:transparent;--dynamic-area-widget-wrapper-bg-color:transparent;--dynamic-area-widget-wrapper-border-bottom:none;--dynamic-view-ual-container-bg-color:var(--md-glass-bg-color);--dynamic-view-ual-container-border-radius:8px;--dynamic-area-widget-container-bg-color:var(--md-glass-bg-color);--dynamic-area-widget-container-border-radius:8px;--dynamic-area-uuip-widget-title-margin-left:16px;--dynamic-area-uuip-widget-header-font-size:20px;--dynamic-area-uuip-widget-header-font-weight:700;--page-title-font-family:var(--brand-font-bold);--nav-bar-width:80px;--app-bg-image:url(\"/images/brand-visuals/backgrounds/operation-pop-background-light.png\")}:host md-theme[theme=momentumV2].is-visual-rebrand[darkTheme]{--app-bg-image:url(\"/images/brand-visuals/backgrounds/operation-pop-background-dark.png\")}.app{--horizontal-panel-height:65px;--activity-bar-height:64px;--task-list-width:330px;--ai-area-width:400px;--contact-history-width:308px;--panel-padding-width:8px;--common-box-shadow:0 2px 4px rgba(0, 0, 0, 0.16),0 0 1px rgba(0, 0, 0, 0.18);--common-box-shadow-elevation2:0px 4px 8px rgba(0, 0, 0, 0.16),0px 0px 1px rgba(0, 0, 0, 0.16);--border:1px solid var(--md-primary-separator-color);--lumos-spacing:8px;--border-radius-medium:8px;--space-token-even:2px;height:100vh;overflow:hidden;width:100vw;background:var(--app-bg-image,var(--md-app-bg-color));background-repeat:no-repeat;background-position:center;background-size:cover}.app *{box-sizing:border-box}.app uuip-wc-maximize-area-host.default-maximize-area{bottom:0;left:calc(var(--lumos-spacing) + var(--nav-bar-width));right:calc(var(--lumos-spacing));top:var(--horizontal-panel-height)}.app uuip-wc-maximize-area-host.default-maximize-area.task-area-expanded{left:calc(var(--nav-bar-width) + var(--task-list-width) + var(--lumos-spacing))}.app uuip-wc-maximize-area-host.default-maximize-area.interaction-control-task-selected{right:var(--lumos-spacing);top:calc(var(--horizontal-panel-height) + var(--lumos-spacing) * 2 + var(--interaction-control-block-height))}.app uuip-wc-maximize-area-host.default-maximize-area.ai-area-expanded{right:calc(var(--ai-area-width) + var(--lumos-spacing))}@media (max-width:736px){.app uuip-wc-maximize-area-host.default-maximize-area{left:0;top:var(--horizontal-panel-height)!important}.app uuip-wc-maximize-area-host.default-maximize-area.task-area-expanded{left:0}.app uuip-wc-maximize-area-host.default-maximize-area.ai-area-expanded{right:0}}`;\n ","import {css} from 'lit-element'; export default css`*{--interaction-control-block-padding-bottom:0;--interaction-control-block-padding-left:8px;--interaction-control-block-padding-right:0}*{--overlay-background:rgba(0, 0, 0, 0.6);--font-size-large:16px;--white-color:#fff;--gray-10-color:#ededed;--blue-70-color:#005e7d;--translate-50:translate(-50%, -50%);--line-height-150:150%;--font-size-medium:14px;--font-size-small:12px;--line-height-large:150%;--font-weight-bold:800;--color-count-notifications:#fff;--font-family:var(--brand-font-regular, \"CiscoSansTT Regular\"),\"CiscoSansTT Regular\",\"Helvetica Neue\",Helvetica,Arial,sans-serif;--font-family-light:var(--brand-font-light, \"CiscoSansTT Light\"),\"Helvetica Neue\",Helvetica,Arial,sans-serif}*{--z-index-negative:-1;--z-index-base:0;--z-index-tpw-header:1;--z-overflow-scroll-button:1;--z-index-expand-collapse:2;--z-index-maximize-block:3;--z-index-task-collapse-area:7;--z-index-menu-overlay:8;--z-index-dynamic-area-overflow:9;--z-navigation-bar:12;--z-index-task-list:12;--z-index-wrap-up:13;--z-index-sticky-header:14;--z-index-shortcutkey-modal:15;--z-index-notification:150;--z-index-modal:1040;--z-index-popover:1041;--z-index-app-full-overlay:1050;--z-index-modal-error:1100;--z-index-connection-lost:1200}.loading-screen{background-color:var(--md-primary-bg-color);bottom:0;left:0;opacity:.9;position:fixed;right:0;top:0;z-index:var(--z-index-app-full-overlay)}.loading-screen .overlay-message{left:50%;position:absolute;text-align:center;top:50%;transform:var(--translate-50)}.loading-screen .overlay-message md-spinner::part(spinner){margin:0 auto}.loading-screen .change-team-loading-message{color:var(--md-primary-text-color);font-family:var(--font-family);font-size:var(--font-size-large);line-height:var(--line-height-150)}.loading-screen .change-team-loading-header{color:var(--md-primary-text-color);font-family:var(--font-family);font-size:var(--font-size-large);font-weight:var(--font-weight-bold);line-height:var(--line-height-150)}`;\n ","import {css} from 'lit-element'; export default css`*{--interaction-control-block-padding-bottom:0;--interaction-control-block-padding-left:8px;--interaction-control-block-padding-right:0}*{--overlay-background:rgba(0, 0, 0, 0.6);--font-size-large:16px;--white-color:#fff;--gray-10-color:#ededed;--blue-70-color:#005e7d;--translate-50:translate(-50%, -50%);--line-height-150:150%;--font-size-medium:14px;--font-size-small:12px;--line-height-large:150%;--font-weight-bold:800;--color-count-notifications:#fff;--font-family:var(--brand-font-regular, \"CiscoSansTT Regular\"),\"CiscoSansTT Regular\",\"Helvetica Neue\",Helvetica,Arial,sans-serif;--font-family-light:var(--brand-font-light, \"CiscoSansTT Light\"),\"Helvetica Neue\",Helvetica,Arial,sans-serif}*{--z-index-negative:-1;--z-index-base:0;--z-index-tpw-header:1;--z-overflow-scroll-button:1;--z-index-expand-collapse:2;--z-index-maximize-block:3;--z-index-task-collapse-area:7;--z-index-menu-overlay:8;--z-index-dynamic-area-overflow:9;--z-navigation-bar:12;--z-index-task-list:12;--z-index-wrap-up:13;--z-index-sticky-header:14;--z-index-shortcutkey-modal:15;--z-index-notification:150;--z-index-modal:1040;--z-index-popover:1041;--z-index-app-full-overlay:1050;--z-index-modal-error:1100;--z-index-connection-lost:1200}.loading-screen{background-color:var(--md-primary-bg-color);bottom:0;left:0;opacity:.9;position:fixed;right:0;top:0;z-index:var(--z-index-connection-lost)}.loading-screen .overlay-message{left:50%;position:absolute;text-align:center;top:50%;transform:var(--translate-50);max-width:510px}.loading-screen .overlay-message md-spinner::part(spinner){margin:0 auto}.loading-screen .connection-lost-message{color:var(--md-secondary-text-color);font-family:var(--font-family);font-size:var(--font-size-medium);line-height:var(--line-height-150)}.loading-screen .download-logs{color:var(--md-primary-text-color);cursor:pointer;font-size:var(--font-size-medium);line-height:var(--line-height-large);text-decoration-line:underline}.loading-screen .connection-lost-header{color:var(--md-primary-text-color);font-family:var(--font-family);font-size:var(--font-size-medium);font-weight:var(--font-weight-bold);line-height:var(--line-height-150);margin:0;padding:0}`;\n ","import {css} from 'lit-element'; export default css`*{--z-index-negative:-1;--z-index-base:0;--z-index-tpw-header:1;--z-overflow-scroll-button:1;--z-index-expand-collapse:2;--z-index-maximize-block:3;--z-index-task-collapse-area:7;--z-index-menu-overlay:8;--z-index-dynamic-area-overflow:9;--z-navigation-bar:12;--z-index-task-list:12;--z-index-wrap-up:13;--z-index-sticky-header:14;--z-index-shortcutkey-modal:15;--z-index-notification:150;--z-index-modal:1040;--z-index-popover:1041;--z-index-app-full-overlay:1050;--z-index-modal-error:1100;--z-index-connection-lost:1200}:host{--box-shadow:0 8px 16px rgba(0, 0, 0, 0.16),0 0 1px rgba(0, 0, 0, 0.14);--flyout-menu-width:176px;--menu-trigger-size:32px;--menu-trigger-distance:24px;--editing-badge-width:80px;--editing-badge-height:16px;--editing-border-width:2px;--editing-border-radius:var(--lumos-spacing);--default-button-size:36px;--main-header-height:75px;--max-tooltip-width:33px;box-sizing:border-box;overflow:visible}.ual-container{background-color:var(--dynamic-view-ual-container-bg-color);border-top-left-radius:var(--dynamic-view-ual-container-border-radius)}::part(advanced-layout-widget-container){background:var(--dynamic-area-widget-container-bg-color);border-radius:var(--dynamic-area-widget-container-border-radius)}::part(uuip-widget-wrapper-container){background-color:var(--dynamic-area-widget-wrapper-container-bg-color,var(--md-secondary-white-bg-color))}::part(uuip-widget-wrapper){border-bottom:var(--dynamic-area-widget-wrapper-border-bottom,1px solid var(--md-primary-seperator-color));background-color:var(--dynamic-area-widget-wrapper-bg-color,var(--md-secondary-white-bg-color))}::part(uuip-widget-title-div){margin-left:var(--dynamic-area-uuip-widget-title-margin-left,25px)}::part(uuip-widget-title-h3){font-size:var(--dynamic-area-uuip-widget-header-font-size,16px);font-weight:var(--dynamic-area-uuip-widget-header-font-weight,550);font-family:var(--page-title-font-family,inherit)}.layout--editing-state{display:none}.layout--not-editing{overflow-x:hidden;overflow-y:auto}.layout--editing,.layout--editing-advance,.layout--not-editing{border-bottom-left-radius:var(--lumos-spacing);border-bottom-right-radius:var(--lumos-spacing);height:calc(100% - 2px);width:calc(100% - 2px)}.layout--editing-advance::after,.layout--editing::after,.layout--not-editing::after{content:\"\";opacity:0;transition:opacity 250ms linear}.layout--editing-advance{overflow:hidden auto}.layout--editing,.layout--editing-advance{border-radius:var(--editing-border-radius);box-sizing:border-box;position:relative;z-index:var(--z-index-dynamic-area-overflow,7)}.layout--editing-advance::before,.layout--editing::before{background-color:var(--md-primary-bg-color);box-sizing:border-box;content:\"\";height:100vh;left:0;opacity:.5;position:fixed;top:0;width:100vw;z-index:var(--z-index-base,0)}.layout--editing uuip-dynamic-widgets::part(container),.layout--editing-advance uuip-dynamic-widgets::part(container){border-radius:var(--editing-border-radius);max-height:100vh;overflow:hidden}.layout--editing::after{border:var(--editing-border-width) solid var(--md-alert-info-text-color,--blue-70-color);border-radius:calc(var(--editing-border-radius) + 2px);content:\"\";height:calc(100% - var(--editing-border-width));left:calc(var(--editing-border-width) * -1);opacity:1;pointer-events:none;position:absolute;top:0;width:100%}.layout-editing .layout--editing-state{align-items:center;background:#005e7d;border-radius:var(--editing-border-radius) var(--editing-border-radius) 0 0;color:var(--md-primary-bg-color);display:flex;font-size:12px;height:var(--editing-badge-height);justify-content:center;left:calc(50% - var(--editing-badge-width)/ 2);padding-top:1px;pointer-events:none;position:absolute;top:calc(var(--editing-badge-height) * -1);width:var(--editing-badge-width);z-index:var(--z-overflow-scroll-button,1)}.layout-edit{border-radius:100%;bottom:var(--menu-trigger-distance);position:absolute;right:var(--menu-trigger-distance);transition:opacity .25s linear;z-index:calc(var(--z-index-maximize-block) - 1)}.layout-edit md-tooltip{display:inline-block;max-width:var(--max-tooltip-width)}.layout-edit md-button[variant=inverted-white]::part(button){border:1px solid var(--md-dynamic-layout-button-inverted-border-color)}.layout-edit md-button[variant=white]::part(button){border:1px solid var(--md-dynamic-layout-button-border-color)}.layout-edit .layout-edit--flyout{bottom:calc(var(--default-button-size) + var(--editing-border-radius));color:var(--md-primary-text-color);display:flex;flex-direction:column;position:absolute}.layout-edit .layout-edit--flyout md-button[color=white]::part(button){border:1px solid var(--gray-10-color)}.layout-edit .layout-edit--flyout md-button::part(button){animation:slideUp .5s cubic-bezier(.22,1,.36,1) forwards;box-shadow:var(--box-shadow)}.layout-edit .layout-edit--flyout md-button:last-child{border-bottom:0}.layout-edit .layout-edit--flyout md-tooltip{display:inline-block;margin-top:var(--editing-border-radius);max-width:var(--max-tooltip-width)}.layout-edit--editing{z-index:var(--z-index-notification)}@keyframes slideUp{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes myOrbit{from{opacity:0;transform:rotate(90deg) translateX(0) rotate(0)}to{opacity:1;transform:rotate(270deg) translateX(80px) rotate(90deg)}}.default-welcome-title{margin:16px 0 16px 16px}.page-titlebar-container{max-height:48px}.page-title-container{height:fit-content}`;\n ","import {css} from 'lit-element'; export default css`.no-widgets-message{margin:2rem;text-align:center}`;\n ","import {css} from 'lit-element'; export default css`*{--interaction-control-block-padding-bottom:0;--interaction-control-block-padding-left:8px;--interaction-control-block-padding-right:0}*{--overlay-background:rgba(0, 0, 0, 0.6);--font-size-large:16px;--white-color:#fff;--gray-10-color:#ededed;--blue-70-color:#005e7d;--translate-50:translate(-50%, -50%);--line-height-150:150%;--font-size-medium:14px;--font-size-small:12px;--line-height-large:150%;--font-weight-bold:800;--color-count-notifications:#fff;--font-family:var(--brand-font-regular, \"CiscoSansTT Regular\"),\"CiscoSansTT Regular\",\"Helvetica Neue\",Helvetica,Arial,sans-serif;--font-family-light:var(--brand-font-light, \"CiscoSansTT Light\"),\"Helvetica Neue\",Helvetica,Arial,sans-serif}*{--z-index-negative:-1;--z-index-base:0;--z-index-tpw-header:1;--z-overflow-scroll-button:1;--z-index-expand-collapse:2;--z-index-maximize-block:3;--z-index-task-collapse-area:7;--z-index-menu-overlay:8;--z-index-dynamic-area-overflow:9;--z-navigation-bar:12;--z-index-task-list:12;--z-index-wrap-up:13;--z-index-sticky-header:14;--z-index-shortcutkey-modal:15;--z-index-notification:150;--z-index-modal:1040;--z-index-popover:1041;--z-index-app-full-overlay:1050;--z-index-modal-error:1100;--z-index-connection-lost:1200}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}`;\n ","import {css} from 'lit-element'; export default css`.analyzer-goto{height:100%;width:100%;position:absolute;left:0;top:0}.goto-text{margin-top:0;margin-left:0;line-height:118%;color:var(--list-text-color,#121212)}`;\n ","import {css} from 'lit-element'; export default css`*{--z-index-negative:-1;--z-index-base:0;--z-index-tpw-header:1;--z-overflow-scroll-button:1;--z-index-expand-collapse:2;--z-index-maximize-block:3;--z-index-task-collapse-area:7;--z-index-menu-overlay:8;--z-index-dynamic-area-overflow:9;--z-navigation-bar:12;--z-index-task-list:12;--z-index-wrap-up:13;--z-index-sticky-header:14;--z-index-shortcutkey-modal:15;--z-index-notification:150;--z-index-modal:1040;--z-index-popover:1041;--z-index-app-full-overlay:1050;--z-index-modal-error:1100;--z-index-connection-lost:1200}.hide,.hidenotification{display:none!important}.action-bar-ul,.action-item{font-size:0;list-style-type:none;padding:0}.action-bar-wrapper{align-items:center;display:flex;height:64px;justify-content:space-between}.action-bar-wrapper .action-bar-holder{align-items:center;display:flex;height:100%;justify-content:flex-end;width:100%}.action-bar-wrapper .action-bar-holder .more md-button{text-align:center}.action-bar-wrapper .action-bar-holder md-menu-overlay::part(overlay-content){overflow:visible}.action-bar-wrapper .action-bar-holder .dynamic-widgets.separator{border-top:2px solid var(--md-primary-seperator-color)}.action-bar-wrapper .action-bar-holder .dynamic-widgets{overflow:visible;padding:1.25rem}.action-bar-wrapper .action-bar-holder .dynamic-widgets uuip-dynamic-widgets::part(widget){overflow:visible}.action-bar-wrapper .action-bar-holder .overlay-wrapper-list{display:flex;list-style-type:none;margin:0;padding:0}.action-bar-wrapper .action-bar-holder .overlay-wrapper-list .action-item-li{align-items:center;display:flex}.action-bar-wrapper .action-bar-holder .overlay-wrapper-list .action-item-li .action-label{margin-left:1rem}.action-bar-wrapper .action-bar-holder .action-bar-ul{margin-right:16px;text-align:right}.action-bar-wrapper .action-bar-holder .action-bar-ul .action-label{display:none}.action-bar-wrapper .action-bar-holder .action-bar-ul .action-item-li{display:inline-block;padding-left:12px;text-align:left;width:40px}.configurable-area{height:64px;width:100%}.configurable-area uuip-dynamic-widgets::part(widget){align-items:center;display:flex;height:100%;justify-content:flex-start;overflow:visible;padding-right:1rem}.overlay-wrapper-all{width:100%}.overlay-wrapper-all .dynamic-widgets uuip-dynamic-widgets::part(container){grid-template-columns:1fr!important;height:auto!important}.more,.more-icon-button{height:40px}.webex-img{height:calc(var(--space-token-even) * 8);width:calc(var(--space-token-even) * 10)}@media (max-width:400px){.more md-button{margin-left:5px}.action-bar-ul .action-item-li:last-child{padding-left:5px}.action-bar-ul{margin-right:5px}}.webex-notification-icon_wrap{display:inline-block;position:relative}.webex-notification-icon-badge{position:absolute;display:inline-flex;top:-4px;right:-4px}`;\n ","import {css} from 'lit-element'; export default css`.page-title{float:left;font-size:24px;font-weight:700}.page-title-label{display:inline-block}`;\n ","import {css} from 'lit-element'; export default css`.title{margin-bottom:0;margin-top:0;font-style:normal;font-weight:350;font-size:12px;line-height:150%;color:var(--md-textColor-secondary)}.timezone{margin-bottom:0;margin-top:0;font-style:normal;font-weight:400;font-size:12px;line-height:150%;color:var(--md-textColor-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.timezone-container{float:right;display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}md-tooltip{width:100%}`;\n ","import {css} from 'lit-element'; export default css`*{--interaction-control-block-padding-bottom:0;--interaction-control-block-padding-left:8px;--interaction-control-block-padding-right:0}*{--overlay-background:rgba(0, 0, 0, 0.6);--font-size-large:16px;--white-color:#fff;--gray-10-color:#ededed;--blue-70-color:#005e7d;--translate-50:translate(-50%, -50%);--line-height-150:150%;--font-size-medium:14px;--font-size-small:12px;--line-height-large:150%;--font-weight-bold:800;--color-count-notifications:#fff;--font-family:var(--brand-font-regular, \"CiscoSansTT Regular\"),\"CiscoSansTT Regular\",\"Helvetica Neue\",Helvetica,Arial,sans-serif;--font-family-light:var(--brand-font-light, \"CiscoSansTT Light\"),\"Helvetica Neue\",Helvetica,Arial,sans-serif}*{--z-index-negative:-1;--z-index-base:0;--z-index-tpw-header:1;--z-overflow-scroll-button:1;--z-index-expand-collapse:2;--z-index-maximize-block:3;--z-index-task-collapse-area:7;--z-index-menu-overlay:8;--z-index-dynamic-area-overflow:9;--z-navigation-bar:12;--z-index-task-list:12;--z-index-wrap-up:13;--z-index-sticky-header:14;--z-index-shortcutkey-modal:15;--z-index-notification:150;--z-index-modal:1040;--z-index-popover:1041;--z-index-app-full-overlay:1050;--z-index-modal-error:1100;--z-index-connection-lost:1200}.loading-screen{background-color:var(--md-primary-bg-color);bottom:0;left:0;opacity:.9;position:fixed;right:0;top:0;z-index:var(--z-index-app-full-overlay)}.loading-screen .overlay-message{left:50%;position:absolute;text-align:center;top:50%;transform:var(--translate-50)}.loading-screen .overlay-message md-spinner::part(spinner){margin:0 auto}.loading-screen .user-profile-loading-message{color:var(--md-primary-text-color);font-family:var(--font-family);font-size:var(--font-size-large);line-height:var(--line-height-150)}.loading-screen .user-profile-loading-header{color:var(--md-primary-text-color);font-family:var(--font-family);font-size:var(--font-size-large);font-weight:var(--font-weight-bold);line-height:var(--line-height-150)}`;\n ","import {css} from 'lit-element'; export default css`*{--z-index-negative:-1;--z-index-base:0;--z-index-tpw-header:1;--z-overflow-scroll-button:1;--z-index-expand-collapse:2;--z-index-maximize-block:3;--z-index-task-collapse-area:7;--z-index-menu-overlay:8;--z-index-dynamic-area-overflow:9;--z-navigation-bar:12;--z-index-task-list:12;--z-index-wrap-up:13;--z-index-sticky-header:14;--z-index-shortcutkey-modal:15;--z-index-notification:150;--z-index-modal:1040;--z-index-popover:1041;--z-index-app-full-overlay:1050;--z-index-modal-error:1100;--z-index-connection-lost:1200}.header.advance{display:flex}.dynamicComponents{align-items:center;margin:0;padding:0;display:flex;justify-content:flex-end;flex:1;list-style-type:none;width:100%;z-index:var(--z-index-menu-overlay)}.dynamicComponents .dynamic-list{list-style:none;display:block;margin-left:6px;margin-right:6px;flex:none}.dynamicComponents .dynamic-list .dynamic-list-content{display:none}.dynamicComponents .hiddenIcons.show .dynamic-list{display:flex;align-items:center;min-height:45px;margin:0}.dynamicComponents .hiddenIcons.show .dynamic-list-content{display:block}.dynamicComponents .hiddenIcons.show .dynamic-list-content{margin-left:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dynamicComponents .more{list-style:none;position:relative;overflow:visible}.dynamicComponents .hiddenIcons.show{display:block;overflow:visible}.dynamicComponents .hiddenIcons{margin:0;padding:5px;top:55px;left:0;background-color:var(--md-secondary-white-bg-color);border-radius:.5rem;max-width:calc(100vw - var(--vw-padding) * 2);z-index:var(--z-overflow-scroll-button,1);right:0}.dynamicComponents .hiddenIcons .hiddenItems{list-style:none}.no-items{left:auto!important}@media only screen and (max-width:750px){.dynamicComponents .hiddenIcons{left:0}}.hidden{visibility:hidden}.more-menu-overlay::part(overlay-content){display:flex;flex-direction:column;justify-content:flex-start;overflow:visible}agentx-dynamic-header{display:flex;margin-left:auto;width:100%}.header{--title-width:239px;align-items:center;background-color:var(--md-header-bg-color);border-bottom:1px solid var(--md-header-separator-color);color:var(--md-primary-text-color);display:flex;flex-direction:row;justify-content:stretch;width:100vw;height:var(--activity-bar-height);min-height:var(--activity-bar-height)}.header .configurable-area{flex-grow:1}.header .configurable-area uuip-dynamic-widgets::part(widget){align-items:center;display:flex;overflow:visible;padding-right:1rem}.header agentx-react-app-title{margin-right:12px;max-width:304px}.header agentx-wc-menu-notification{margin:12px}.header agentx-preview-campaign{margin:0 1rem}.header header-action-items{width:100%}@media (max-width:736px){.header{margin-left:var(--nav-bar-width);position:sticky;top:0;width:calc(100vw - var(--nav-bar-width));z-index:var(--z-index-sticky-header)}agentx-react-app-title{display:none}}`;\n ","import {css} from 'lit-element'; export default css`*{--z-index-negative:-1;--z-index-base:0;--z-index-tpw-header:1;--z-overflow-scroll-button:1;--z-index-expand-collapse:2;--z-index-maximize-block:3;--z-index-task-collapse-area:7;--z-index-menu-overlay:8;--z-index-dynamic-area-overflow:9;--z-navigation-bar:12;--z-index-task-list:12;--z-index-wrap-up:13;--z-index-sticky-header:14;--z-index-shortcutkey-modal:15;--z-index-notification:150;--z-index-modal:1040;--z-index-popover:1041;--z-index-app-full-overlay:1050;--z-index-modal-error:1100;--z-index-connection-lost:1200}.aiAssistantWrapper{grid-area:ai;position:relative;border-radius:10px;box-sizing:border-box;background-color:var(--md-content-bg-color);box-shadow:var(--common-box-shadow);border:1px solid var(--md-menu-overlay-border-color,--gray-20);bottom:5px;top:5px}.aiAssistantWrapper .aiAssistantArea{display:flex;flex-direction:column;width:100%;height:100%}.aiAssistantWrapper .aiAssistantHeader{padding-right:10px;padding-left:20px;padding-top:10px;height:40px;width:370px;border-bottom:1px solid var(--md-menu-overlay-border-color,--gray-20);background-color:var(--md-content-bg-color);border-radius:10px 10px 0 0;box-shadow:var(--common-box-shadow);color:var(--md-primary-text-color)}agentx-wc-collapse-area{min-width:0;width:400px}.closeButton{position:absolute;top:10px;right:10px}`;\n ","import {css} from 'lit-element'; export default css`*{--z-index-negative:-1;--z-index-base:0;--z-index-tpw-header:1;--z-overflow-scroll-button:1;--z-index-expand-collapse:2;--z-index-maximize-block:3;--z-index-task-collapse-area:7;--z-index-menu-overlay:8;--z-index-dynamic-area-overflow:9;--z-navigation-bar:12;--z-index-task-list:12;--z-index-wrap-up:13;--z-index-sticky-header:14;--z-index-shortcutkey-modal:15;--z-index-notification:150;--z-index-modal:1040;--z-index-popover:1041;--z-index-app-full-overlay:1050;--z-index-modal-error:1100;--z-index-connection-lost:1200}.banner{display:grid}@media screen and (max-width:1024px){.banner{width:95vw}}@media screen and (max-width:480px){.banner{width:100vw}}.banner .theme-toggle{width:100%}.banner.hidden{display:none}`;\n ","import {css} from 'lit-element'; export default css`*{--interaction-control-block-padding-bottom:0;--interaction-control-block-padding-left:8px;--interaction-control-block-padding-right:0}*{--overlay-background:rgba(0, 0, 0, 0.6);--font-size-large:16px;--white-color:#fff;--gray-10-color:#ededed;--blue-70-color:#005e7d;--translate-50:translate(-50%, -50%);--line-height-150:150%;--font-size-medium:14px;--font-size-small:12px;--line-height-large:150%;--font-weight-bold:800;--color-count-notifications:#fff;--font-family:var(--brand-font-regular, \"CiscoSansTT Regular\"),\"CiscoSansTT Regular\",\"Helvetica Neue\",Helvetica,Arial,sans-serif;--font-family-light:var(--brand-font-light, \"CiscoSansTT Light\"),\"Helvetica Neue\",Helvetica,Arial,sans-serif}.common-control{grid-area:common-control}.container{padding:var(--interaction-control-block-padding-top) var(--interaction-control-block-padding-right) var(--interaction-control-block-padding-bottom) var(--interaction-control-block-padding-left)}`;\n ","import {css} from 'lit-element'; export default css`*{--z-index-negative:-1;--z-index-base:0;--z-index-tpw-header:1;--z-overflow-scroll-button:1;--z-index-expand-collapse:2;--z-index-maximize-block:3;--z-index-task-collapse-area:7;--z-index-menu-overlay:8;--z-index-dynamic-area-overflow:9;--z-navigation-bar:12;--z-index-task-list:12;--z-index-wrap-up:13;--z-index-sticky-header:14;--z-index-shortcutkey-modal:15;--z-index-notification:150;--z-index-modal:1040;--z-index-popover:1041;--z-index-app-full-overlay:1050;--z-index-modal-error:1100;--z-index-connection-lost:1200}@media (max-width:736px){agentx-wc-navigation{height:100vh}}`;\n ","import {css} from 'lit-element'; export default css`:host .persistent-area{background-color:var(--md-secondary-bg-color,#f7f7f7);border-radius:var(--lumos-spacing);box-sizing:border-box;grid-area:persistent-page-control;margin:var(--lumos-spacing);overflow:auto}@media (max-width:677px){:host .persistent-area{min-height:400px}}`;\n ","import {css} from 'lit-element'; export default css`*{--z-index-negative:-1;--z-index-base:0;--z-index-tpw-header:1;--z-overflow-scroll-button:1;--z-index-expand-collapse:2;--z-index-maximize-block:3;--z-index-task-collapse-area:7;--z-index-menu-overlay:8;--z-index-dynamic-area-overflow:9;--z-navigation-bar:12;--z-index-task-list:12;--z-index-wrap-up:13;--z-index-sticky-header:14;--z-index-shortcutkey-modal:15;--z-index-notification:150;--z-index-modal:1040;--z-index-popover:1041;--z-index-app-full-overlay:1050;--z-index-modal-error:1100;--z-index-connection-lost:1200}.agentx-task-area{box-sizing:border-box;position:relative;z-index:var(--z-index-task-collapse-area)}.agentx-task-area.interaction-modal-opened{z-index:calc(var(--z-index-modal) + 1)}.agentx-task-area agentx-wc-collapse-area{min-width:0;width:var(--task-list-width)}.agentx-task-area .agentx-task-area-width-holder{background-color:var(--md-task-list-bg-color,#f7f7f7);display:flex;flex-direction:column}.agentx-task-area .agentx-task-area-width-holder agentx-react-interaction-popover{position:static;width:100%}.agentx-task-area-width-holder{border-bottom:0;border-top:0;bottom:0;box-sizing:border-box;overflow-x:hidden;overflow-y:auto;position:absolute;right:0;top:0;width:var(--task-list-width)}.agentx-task-area agentx-wc-task-list{border:0;flex-grow:1;height:auto;margin-top:2%}.agentx-task-area agentx-react-contact-handled-by-agent{height:auto;overflow-y:visible}.agentx-task-area .task-list-wrapper{flex-grow:1;overflow-x:hidden;overflow-y:auto;position:relative}.agentx-task-area .task-list-wrapper .arrow-down,.agentx-task-area .task-list-wrapper .arrow-up{margin-left:8px}.agentx-task-area .task-list-wrapper .ax-activity-list-wrapper{bottom:22px;display:flex;flex-direction:column;justify-content:space-around;margin:5px 0 20px;place-items:center;position:sticky}.agentx-task-area .task-list-wrapper .ax-activity-list-wrapper div{display:inherit;justify-content:space-around;margin-bottom:5px;width:100%}@media screen and (min-width:737px) and (max-width:1280px){.agentx-task-area{background-color:var(--md-task-list-bg-color,#fff);bottom:0;left:var(--nav-bar-width);position:absolute;top:var(--horizontal-panel-height)}}@media (max-width:736px){.agentx-task-area{background-color:var(--md-task-list-bg-color,#fff);bottom:0;left:0;position:absolute;top:var(--horizontal-panel-height);z-index:calc(var(--z-index-task-list) - 1)}.agentx-task-area.left-nav-open{left:var(--nav-bar-width)}.agentx-task-area.interaction-modal-opened{left:0;transition:left .5s}.agentx-task-area .agentx-task-area-width-holder{width:var(--task-list-width)}}.hide{display:none}.show{display:block}`;\n ","import {css} from 'lit-element'; export default css`:host{display:grid;grid-template-areas:\"header header header header\" \"nav banner banner banner\" \"nav tasks common-control common-control\";grid-template-columns:var(--nav-bar-width) auto 1fr auto;grid-template-rows:var(--horizontal-panel-height) auto;height:100vh;width:100vw}.headless{grid-row:none}@media (max-width:736px){:host{display:flex;flex-direction:column}}`;\n ","import {css} from 'lit-element'; export default css`:host{grid-template-columns:var(--nav-bar-width) auto 1fr;grid-template-rows:var(--horizontal-panel-height) auto 1fr 1fr}@media (max-width:677px){:host{grid-template-rows:var(--horizontal-panel-height) 1fr;overflow-y:hidden}:host dynamic-area{min-height:400px}}`;\n ","import {css} from 'lit-element'; export default css`:host{grid-template-areas:\"route-not-found\";grid-template-columns:100%;grid-template-rows:auto}`;\n ","import {css} from 'lit-element'; export default css`.route-not-found{align-items:center;background-color:var(--md-primary-bg-color);display:flex;flex-direction:column;grid-area:route-not-found;height:100%;justify-content:center;left:0;top:0;width:100%}.route-not-found::part(img){width:176px;height:160px}.task-not-found::part(img){width:176px;height:160px}p{font-size:var(--font-size-medium);text-align:center;line-height:22px;margin-top:0}span{font-size:var(--font-size-medium);text-align:center;display:block;line-height:22px}strong{font-weight:900}.error-text{padding-top:20px;width:100%}.error-text a{color:var(--md-hyperlink-text-color)}.error-text p strong{color:var(--md-gray-100)}.error-text router-link::part(a){color:var(--md-hyperlink-text-color);text-decoration:underline}.error-text-prev{padding-top:20px;width:100%}.error-text-prev a{color:var(--md-secondary-text-color);text-decoration:none}router-link::part(a){color:var(--md-secondary-text-color);text-decoration:none}`;\n ","import {css} from 'lit-element'; export default css`:host{grid-template-columns:var(--nav-bar-width) auto 1fr;grid-template-rows:var(--horizontal-panel-height) auto 1fr 1fr}@media (max-width:677px){:host{grid-template-rows:var(--horizontal-panel-height) 1fr;overflow-y:scroll}}`;\n ","import {css} from 'lit-element'; export default css`@media (max-width:677px){:host agentx-wc-agent-performance-reports{min-height:400px}}`;\n ","import {css} from 'lit-element'; export default css`:host{grid-template-areas:\"header header header header\" \"nav banner banner banner\" \"nav tasks common-control common-control\" \"nav tasks empty-state empty-state\";grid-template-columns:var(--nav-bar-width) auto auto 1fr;grid-template-rows:var(--horizontal-panel-height) auto auto 1fr}.loader-block{left:50%;position:absolute;top:35%}.loading-spinner-div{background-color:var(--md-primary-bg-color);color:var(--md-primary-text-color);left:45%;position:absolute;text-align:center;top:45%;transform:var(--translate-50)}.default-welcome-title{margin:16px 0 16px 16px}.supervisor-home-wrapper{display:flex;width:max-content}`;\n ","import {css} from 'lit-element'; export default css`:host{grid-template-areas:\"header header header header header\" \"nav banner banner banner ai\" \"nav tasks common-control common-control ai\" \"nav tasks empty-state empty-state ai\";grid-template-columns:var(--nav-bar-width) auto auto 1fr;grid-template-rows:var(--horizontal-panel-height) auto auto 1fr}`;\n ","import {css} from 'lit-element'; export default css`:host{grid-template-areas:\"header header header header header\" \"nav banner banner banner banner\" \"nav tasks common-control common-control common-control\" \"nav tasks interactionsList interactionsList interactionsDetail\";grid-template-columns:var(--nav-bar-width) auto 1fr 1fr 0;grid-template-rows:var(--horizontal-panel-height) auto auto 1fr;column-gap:8px;transition:grid-template-columns ease .5s}:host(.expanded){grid-template-columns:var(--nav-bar-width) auto 320px 0fr 1fr}.frame{background-color:var(--md-content-bg-color);box-shadow:var(--common-box-shadow);border-radius:var(--border-radius-medium);overflow:hidden;display:block;width:100%;height:100%}.interactions-view{grid-area:interactionsList;width:100%;height:100%}.details-view{grid-area:interactionsDetail;width:100%;height:100%}`;\n ","import {css} from 'lit-element'; export default css`:host{grid-template-areas:\"header header header header header\" \"nav banner banner banner banner\" \"nav common-control common-control common-control common-control\" \"nav queueStatsList queueStatsList queueStatsList queueStatsDetail\";grid-template-columns:var(--nav-bar-width) 1fr 1fr 1fr 0;grid-template-rows:var(--horizontal-panel-height) auto auto 1fr;column-gap:8px;transition:grid-template-columns ease .5s}:host(.expanded){grid-template-columns:var(--nav-bar-width) 320px 0fr 0fr 1fr}`;\n ","import {css} from 'lit-element'; export default css`.queues-stats{grid-area:queueStatsList;width:100%;height:100%}.queues-stats-landing{overflow:hidden}.frame{background-color:var(--md-glass-bg-color);box-shadow:var(--common-box-shadow);border-radius:var(--border-radius-medium);overflow:hidden;display:flex;box-sizing:border-box;flex:1;height:100%}`;\n ","import {css} from 'lit-element'; export default css`.queue-detail{grid-area:queueStatsDetail;box-sizing:border-box;flex:1}.frame{background-color:var(--md-content-bg-color);box-shadow:var(--common-box-shadow);border-radius:var(--border-radius-medium);overflow:hidden;display:block}.queue-detail-box{border:1px solid var(--md-primary-seperator-color);border-radius:8px;margin:20px}::part(advanced-layout-widget-container){background:0 0;box-shadow:none}`;\n ","import {css} from 'lit-element'; export default css`:host{grid-template-rows:var(--horizontal-panel-height) auto 1fr}`;\n ","import {css} from 'lit-element'; export default css`.panel-one{border-bottom-left-radius:var(--lumos-spacing);border-bottom-right-radius:var(--lumos-spacing);box-shadow:0 2px 4px rgba(0,0,0,.16);box-sizing:border-box;margin:0 0 var(--lumos-spacing) calc(var(--lumos-spacing));min-height:0;min-width:0}.panel-one.non-telephony-task-layout{border-top:1px solid var(--md-primary-seperator-color,--md-primary-seperator-color-default)}@media (min-width:737px) and (max-width:1023px){.panel-one{width:calc(100vw - var(--nav-bar-width) - var(--panel-padding-width) * 2)}}@media (max-width:736px){.panel-one{width:calc(100vw - var(--panel-padding-width) * 2)}.panel-one.non-telephony-task-layout{height:100vh}.panel-one.email-task-layout{overflow-x:auto}}.widget-loader{background-color:var(--md-primary-bg-color);border-radius:var(--border-radius-medium);color:var(--md-primary-text-color);display:flex;height:100%;justify-content:center;width:100%}.widget-loader-wrapper{align-items:center;display:flex;flex-direction:column;justify-content:center}uuip-wc-empty-state::part(img){width:220px}`;\n ","import {css} from 'lit-element'; export default css`*{--z-index-negative:-1;--z-index-base:0;--z-index-tpw-header:1;--z-overflow-scroll-button:1;--z-index-expand-collapse:2;--z-index-maximize-block:3;--z-index-task-collapse-area:7;--z-index-menu-overlay:8;--z-index-dynamic-area-overflow:9;--z-navigation-bar:12;--z-index-task-list:12;--z-index-wrap-up:13;--z-index-sticky-header:14;--z-index-shortcutkey-modal:15;--z-index-notification:150;--z-index-modal:1040;--z-index-popover:1041;--z-index-app-full-overlay:1050;--z-index-modal-error:1100;--z-index-connection-lost:1200}.panel-two{background-color:var(--md-secondary-white-bg-color);border-radius:var(--border-radius-medium);box-shadow:var(--common-box-shadow-elevation2);box-sizing:border-box;height:calc(100% - var(--space-token-even) * 4);margin:var(--panel-padding-width) 0 var(--lumos-spacing) var(--lumos-spacing);overflow-y:auto;position:relative}.panel-two .tab-button-content{padding:10px}.panel-two .widget-tabs{align-items:stretch;border:0;display:flex;flex-direction:column;height:100%}.panel-two .widget-pane{border:0}.panel-two .agentx-react-chat{min-width:600px}.panel-two .tab-header-content{align-items:center;display:flex;justify-content:center}.panel-two .tab-header-content img,.panel-two .tab-header-content md-icon{margin-right:.5rem}.panel-two .tab-header-content img{height:16px;width:16px}.panel-two .wxm-empty-state span{text-align:center}.panel-two .wxm-empty-state::part(img){margin-bottom:2rem;width:145px}.panel-two uuip-dynamic-widget{height:inherit}.hide-panel-two{display:none}.panel-two-home{height:calc(100% - var(--space-token-even) * 8);margin-right:8px}.panel-two.non-telephony-task-layout{box-sizing:border-box;height:calc(100% - var(--space-token-even) * 8);margin-right:8px;position:relative;z-index:var(--z-index-task-collapse-area)}.panel-two.non-telephony-task-layout agentx-wc-collapse-area{max-width:100vw}.panel-two.non-telephony-task-layout .agentx-aux-panel-area-width-holder{background-color:var(--md-secondary-bg-color,#f7f7f7);display:flex;flex-direction:column;height:100%;padding:4px 0 0 4px}.panel-two.non-telephony-task-layout-width-holder{border-bottom:0;border-top:0;bottom:0;box-sizing:border-box;overflow-x:hidden;overflow-y:auto;position:absolute;right:0;top:0;width:var(--task-list-width)}@media (max-width:736px){.panel-two{width:calc(100vw - var(--panel-padding-width) - var(--lumos-spacing))}}@media (min-width:737px) and (max-width:1023px){.panel-two{width:calc(100vw - var(--nav-bar-width) - var(--panel-padding-width) - var(--lumos-spacing))}}@media (max-width:1023px){.panel-two.non-telephony-task-layout{background-color:var(--task-list-bg-color);bottom:0;height:auto;margin-right:0;min-width:0;overflow:visible;position:absolute;right:0;top:var(--horizontal-panel-height);width:auto;z-index:calc(var(--z-index-task-list) - 1)}.panel-two.non-telephony-task-layout agentx-wc-collapse-area{width:var(--contact-history-width)}.panel-two.non-telephony-task-layout .agentx-aux-panel-area-width-holder{height:100%;width:var(--contact-history-width)}}`;\n ","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport \"@/app/components/ConnectionLost\";\nimport \"@/app/components/CssDynamic\";\nimport { createAgentXAppRouting } from \"@/app/routing/routing\";\nimport { exceptionTracker } from \"@/exceptionTracker/exception-tracker\";\nimport { i18nMixin, t } from \"@/mixins/i18nMixin\";\nimport { createLogger } from \"@/sdk\";\nimport { STORE } from \"@/store\";\nimport { initSharedStoreActions } from \"@/store/shared-actions\";\nimport { MobxLitElement } from \"@adobe/lit-mobx\";\nimport \"@agentx/agentx-mfe-react-based\";\nimport { ScreenPop, analyzerSessionHelper, initAgentxMfeWcBased } from \"@agentx/agentx-mfe-wc-based\";\nimport { SERVICE, initAgentxServices, updateAccessToken } from \"@agentx/agentx-services\";\nimport wxmLogo from \"@img/wxm.svg\";\nimport { themeManager } from \"@momentum-ui/web-components\";\nimport { CI } from \"@uuip/unified-ui-platform\";\nimport \"@uuip/uuip-advance-layout\";\nimport { customElement, html, internalProperty } from \"lit-element\";\nimport { nothing } from \"lit-html\";\nimport { classMap } from \"lit-html/directives/class-map\";\nimport { v4 as uuid } from \"uuid\";\nimport style from \"./App.scss\";\nimport AiAssistantMessageProcessor from \"./components/AiAssistantMessageProcessor\";\nimport \"./components/ChangeTeamLoading\";\nimport \"./components/EmpyResponsiveWidget\";\nimport \"./components/GlobalLiveAnnouncer\";\nimport MessageHandler from \"./components/MessageHandler\";\nimport \"./components/QualityMonitoringWidgetWrapper\";\nimport \"./components/UpdateProfileSettingsLoading\";\nimport \"./components/WebCallingWidget\";\nimport \"./components/WebexCallingWidget\";\nimport { AGENT_SIGNOUT_RESULT, AGENT_STATE_CHANGE_FAILED, COLLAB_TOOL, PRESENCE_SYNC, SYSTEM_ROLES, TOGGLE_VOICE_INTERACTION_PANEL, USER_ROLES, WEBEX_CALLING_NOTIFICATIONS_SETTING, WEB_RTC_STATUS } from \"./components/constants\";\nimport { handleMicrosoftAuthFlow } from \"./integration/microsoft\";\nimport { fetchAndHandleWebexConfig } from \"./integration/webex\";\nimport { UserRoles, getLayoutConfigFromCache, processCachedLayoutJson, processJSONLayout } from \"./utils/DesktopLayoutUtils\";\nimport { IdleActivity } from \"./utils/IdleActivity/IdleActivity\";\nimport { StateSyncManager } from \"./utils/StateSyncManager/StateSyncManager\";\nimport { presenceRequestListeners, removeMercuryListeners } from \"./utils/StateSyncManager/UtilsSyncState\";\nimport { isLocalhost } from \"./utils/URLUtils\";\nimport { checkAgentLogout, dispatchUpdatedAgentProfileEvent, fetchManagedQueues, fetchManagedTeams, fetchMeDetails, fetchTeamDataById, findAuthTokenForIframeApp, getBrowserName, getBuildNumber, getCanaryParam, getErrorMsgForReasonCode, getManagedOrgDetails, getOrgIdParam, getRoleNameForTelemetry, getSpecificIdleCode, getUserSystemRole, handleLoginError, handleLogout, invokeLoginErrorModal, invokeTeamDeletedErrorModal, isCanaryFlagInQueryParam, isIframedLogoutRequested, isInteractionsPageEnabled, isOnlySupervisor, listenScreenPopEvent, logNtpTime, multipleExist, registerDefaultShortcutKeys, registerWebRTCShortcuts, removeUnloadEvent, setQueryparams, tabClosePrompt, toggleVoiceInteractionPanel, triggerAgentSignoutResultNotification, triggerAgentStateErrorNotification, triggerWebRTCErrorNotification, triggerWebRTCSuccessNotification, unRegisterWebexSDK, updateAiFeatureFlags, updateAnalyzerSettings, updateFeatureFlags, updateIMISettings, updateOrgConfigs, updateOutdialAniList } from \"./utils/Utils\";\nimport { registerWebCalling } from \"./utils/UtilsWebCalling\";\nimport { subscribeToWebexEvents } from \"./utils/UtilsWebex\";\nconst logger = createLogger(\"[App]\");\nconst IPAD_LANDSCAPE_LOWER_LIMIT = 1024;\nconst MOMENTUM_V2 = \"momentumV2\";\nconst LUMOS = \"lumos\";\nconst isMSStateSyncEnabled = () => { var _a, _b; return STORE.app.featureFlags.isDesktopMSStateSyncEnabled && ((_b = (_a = SERVICE.conf.profile) === null || _a === void 0 ? void 0 : _a.microsoftConfig) === null || _b === void 0 ? void 0 : _b.stateSynchronizationMS); };\nconst isWebexStateSyncEnabled = () => { var _a, _b; return STORE.app.featureFlags.isDesktopWebexStateSyncEnabled && ((_b = (_a = SERVICE.conf.profile) === null || _a === void 0 ? void 0 : _a.webexConfig) === null || _b === void 0 ? void 0 : _b.stateSynchronizationWebex); };\nlet App = class App extends i18nMixin(MobxLitElement) {\n constructor() {\n super(...arguments);\n this.isInitialized = false;\n this.isIframe = window.self !== window.top;\n this.isLoggedIn = false;\n this.isConnectionLost = false;\n this.isRestoreFailed = false;\n this.isSessionExpired = false;\n this.isrequestedIframeLogin = this.isIframe;\n this.isrequestedIframeLogout = false;\n this.isMultiLogin = false;\n this.isNotifsSuccess = false;\n this.isWebexCallingDeviceRegistered = false;\n this.isNoVoiceOptions = false;\n /**\n * Init Routing\n */\n this.agentXAppRouting = createAgentXAppRouting(STORE);\n this.idleActivity = null;\n /* Collapse Task List when Screen is resized to < 1024 as aux panel will get expanded */\n this.shouldCollapseTaskListWhenResized = () => {\n return (window.innerWidth < IPAD_LANDSCAPE_LOWER_LIMIT &&\n !STORE.app.taskAreaCollapsed &&\n !STORE.app.auxilliaryPanelCollapsed &&\n !STORE.app.aiBlockCollapsed);\n };\n /* Resize functionality for rendering Aux panel as overlay < 1024 and removing overlay >=1024 */\n this.onResize = () => {\n const showAuxPanelAsOverlay = window.innerWidth < IPAD_LANDSCAPE_LOWER_LIMIT;\n STORE.app.setShowAuxPanelAsOverlay(showAuxPanelAsOverlay);\n if (this.shouldCollapseTaskListWhenResized()) {\n STORE.app.toggleTaskAreaCollapse();\n STORE.app.toggleAiAssistantPanelCollapse();\n }\n };\n this.shouldReloadForNewVersion = () => {\n const isCanaryFlag = getCanaryParam();\n const isCanaryFlagAlreadyInQueryParam = isCanaryFlagInQueryParam();\n return isCanaryFlag && !isCanaryFlagAlreadyInQueryParam;\n };\n this.processIframeAuthMessage = (event) => {\n const { type, config } = event.data;\n if (type === \"agentx-login-from-iframe\") {\n logger.info(\"event=IFrameLogin Received auth token detail for Iframe app\");\n if (config) {\n const { ci_config, token, uuipAuthTokens, ciClusterId } = config;\n if ((ci_config === null || ci_config === void 0 ? void 0 : ci_config.identityUrl) && (ci_config === null || ci_config === void 0 ? void 0 : ci_config.idbrokerUrl)) {\n const { identityUrl, idbrokerUrl } = ci_config;\n STORE.auth.updateCiDetails(identityUrl, idbrokerUrl);\n logger.info(\"Taking FLS identity URL from cache\");\n localStorage.setItem(\"uuip-auth-token\", JSON.stringify(uuipAuthTokens));\n localStorage.setItem(\"clusterId\", ciClusterId);\n localStorage.setItem(\"ci-config\", JSON.stringify(ci_config));\n logger.info(\"UUIP token has been set for iframed desktop login\");\n }\n STORE.auth.authService.getToken().then((updatedToken) => {\n this.onCiLoginSuccess(updatedToken || token);\n if (this.loginWindow) {\n this.loginWindow.close();\n }\n });\n }\n else {\n this.isrequestedIframeLogin = false;\n }\n }\n };\n // Function to stop navigation to other pages when popstate event is triggered in IFrame login.\n this.handlePopState = (event) => {\n if (this.isIframe) {\n logger.info(\"event=handlePopState for IFrame logged in user | event state\", event.state);\n event.stopImmediatePropagation();\n }\n return false;\n };\n // self invoked function to listen window post message | popstate event.\n this.listenIframeAuthMessage = () => {\n // Listener to get auth details for iframe login\n window.addEventListener(\"message\", this.processIframeAuthMessage);\n window.addEventListener(\"popstate\", this.handlePopState);\n };\n /**\n * End init routing\n */\n this.isEnvironmentProd = () => {\n var _a;\n return (_a = process.env.CC_DC) === null || _a === void 0 ? void 0 : _a.includes(\"prod\");\n };\n this.logUnloadEvent = () => {\n logger.info(\"page reloaded for IFrame\");\n };\n this.enableFocus = () => {\n STORE.browserNotifications.setIsTabFocus(true);\n };\n this.disableFocus = () => {\n STORE.browserNotifications.setIsTabFocus(false);\n };\n this.deregisterDevices = () => {\n unRegisterWebexSDK();\n if (STORE.app.featureFlags.isWebRTCEnabled &&\n STORE.agent.deviceType === SERVICE.constants.LoginVoiceOptions.BROWSER) {\n SERVICE.webCalling.deregisterWebCalling();\n }\n };\n this.loginWindow = undefined;\n }\n agentXRoutingStart() {\n this.agentXAppRouting.start({\n onRoutingUpdate: () => __awaiter(this, void 0, void 0, function* () { return this.requestUpdate(); })\n });\n }\n agentXRoutingStop() {\n this.agentXAppRouting.stop();\n }\n connectedCallback() {\n const _super = Object.create(null, {\n connectedCallback: { get: () => super.connectedCallback }\n });\n return __awaiter(this, void 0, void 0, function* () {\n _super.connectedCallback.call(this);\n let browserInstanceID = localStorage.getItem(\"browserInstanceID\");\n if (!browserInstanceID) {\n browserInstanceID = uuid();\n localStorage.setItem(\"browserInstanceID\", browserInstanceID);\n }\n const clientLogSessionId = localStorage.getItem(\"ClientLogSessionID\");\n logger.info(`event=Startup | ClientLogSessionID=${clientLogSessionId} | browserInstanceID=${browserInstanceID} | BrowserType=${getBrowserName()}`);\n if (!isLocalhost()) {\n getBuildNumber().then((clientVersion) => {\n sessionStorage.setItem(\"clientVersion\", clientVersion);\n logger.info(`[Agentx] event=Startup | Client version = ${clientVersion}`);\n });\n }\n else {\n logger.info(`[Agentx] event=Startup | Client version = localhost`);\n sessionStorage.setItem(\"clientVersion\", \"localhost\");\n }\n localStorage.removeItem(\"uuip-logs\"); // removing the old variable for uuip logs from localStorage\n setQueryparams();\n const windowOpener = window.opener;\n this.isrequestedIframeLogout = isIframedLogoutRequested(windowOpener);\n logger.info(\"printing isrequestedIframeLogout flag:\", this.isrequestedIframeLogout);\n if (!sessionStorage.getItem(\"isReload\") && !this.isIframe && !this.isrequestedIframeLogout) {\n // remove uuip-auth-token only in case of new login, not for each reload. Not removing for iframe\n localStorage.removeItem(\"uuip-auth-token\");\n logger.info(\"uuip-auth-token removed from localStorage\");\n }\n const token = yield STORE.auth.authService.getToken();\n if (token) {\n logger.info(\"auth token is present\");\n logger.info(\"event=UserAgent | Navigator User Agent\", navigator === null || navigator === void 0 ? void 0 : navigator.userAgent);\n sessionStorage.setItem(\"isReload\", \"true\");\n if (this.shouldReloadForNewVersion()) {\n window.location.replace(window.location.href.indexOf(\"?\") === -1\n ? `${window.location.href}?canary=true`\n : `${window.location.href}&canary=true`);\n }\n yield handleLogout(token.refresh_token);\n this.onCiLoginSuccess(token);\n }\n else if (!this.isIframe) {\n logger.info(\"login for desktop loaded in window\");\n ScreenPop.removeScreenPopFromSession();\n STORE.auth.authService.login();\n }\n else {\n logger.info(\"login for desktop loaded inside IFrame\");\n this.isrequestedIframeLogin = false;\n }\n // Initiate CI logout when event is received from agentx-js-api\n window.addEventListener(\"js-sdk-ci-logout\", () => {\n STORE.auth.logout(STORE.auth.refreshToken);\n });\n if (!this.isIframe) {\n window.addEventListener(\"beforeunload\", tabClosePrompt);\n }\n else {\n window.addEventListener(\"beforeunload\", this.logUnloadEvent);\n }\n window.addEventListener(\"focus\", this.enableFocus);\n window.addEventListener(\"blur\", this.disableFocus);\n // Deregister device registered by webex-sdk and media-view.\n window.addEventListener(\"pagehide\", this.deregisterDevices);\n window.addEventListener(\"agentx-settings-set\", (e) => {\n if (e.detail.settingsSet && e.detail.value && e.detail.value.length > 0) {\n STORE.app.updateWxmEnabled(e.detail.settingsSet);\n }\n else {\n STORE.app.updateWxmEnabled(false);\n }\n });\n const connectorView = window.matchMedia(\"(max-width: 500px)\");\n connectorView.addEventListener(\"change\", this.updateResponsiveList.bind(this));\n if (window.innerWidth <= 500) {\n STORE.dynamic.updateScreenSize(true);\n }\n let resizeTimer;\n window.addEventListener(\"resize\", () => {\n clearTimeout(resizeTimer);\n resizeTimer = setTimeout(() => {\n this.onResize();\n }, 250);\n });\n const unreadMsg = sessionStorage.getItem(\"unread-chat-message\");\n STORE.session.chat.getUnreadMessagesFromSessionStorage(unreadMsg ? JSON.parse(unreadMsg) : null);\n window.addEventListener(\"web-calling-device-registered\", (e) => {\n this.isWebexCallingDeviceRegistered = e.detail;\n triggerWebRTCSuccessNotification();\n STORE.agent.updateWebRtcStatus(WEB_RTC_STATUS.WEB_RTC_CONNECTED);\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.WEBRTC_REGISTRATION, {\n WebexCallingDeviceRegistered: e.detail.value\n });\n });\n window.addEventListener(\"web-calling-device-registering\", () => {\n var _a, _b, _c, _d;\n // Telemetry for webrtc retrying\n SERVICE.telemetry.timeEvent(SERVICE.telemetry.TELEM_EVENT.WEBRTC_REGISTRATION_RETRY, [\n (_b = (_a = SERVICE.telemetry) === null || _a === void 0 ? void 0 : _a.SERVICE_PROVIDERS) === null || _b === void 0 ? void 0 : _b.prometheus\n ]);\n STORE.agent.updateWebRtcStatus(WEB_RTC_STATUS.WEB_RTC_REGISTERING);\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.WEBRTC_REGISTRATION_RETRY, {\n Reason: SERVICE.telemetry.TELEM_EVENT.WEBRTC_REGISTRATION_RETRY,\n Status: SERVICE.telemetry.TELEM_EVENT.STATUS.SUCCESS\n }, [(_d = (_c = SERVICE.telemetry) === null || _c === void 0 ? void 0 : _c.SERVICE_PROVIDERS) === null || _d === void 0 ? void 0 : _d.prometheus]);\n });\n window.addEventListener(\"web-calling-device-disconnected\", (event) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;\n SERVICE.telemetry.timeEvent(SERVICE.telemetry.TELEM_EVENT.WEBRTC_REGISTRATION_FAILURE, [\n (_b = (_a = SERVICE.telemetry) === null || _a === void 0 ? void 0 : _a.SERVICE_PROVIDERS) === null || _b === void 0 ? void 0 : _b.prometheus\n ]);\n triggerWebRTCErrorNotification();\n STORE.agent.updateWebRtcStatus(WEB_RTC_STATUS.WEB_RTC_DISCONNECTED);\n const errorDetails = (_d = (_c = event === null || event === void 0 ? void 0 : event.detail) === null || _c === void 0 ? void 0 : _c.value) === null || _d === void 0 ? void 0 : _d.errorDetails;\n const errorDetailsObj = errorDetails ? JSON.parse(errorDetails) : null;\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.WEBRTC_REGISTRATION_FAILURE, {\n user_id: errorDetailsObj === null || errorDetailsObj === void 0 ? void 0 : errorDetailsObj.userId,\n // NO_ERROR_CODE is added incase failure without error code\n error_code: (errorDetailsObj === null || errorDetailsObj === void 0 ? void 0 : errorDetailsObj.errorCode) || (errorDetailsObj === null || errorDetailsObj === void 0 ? void 0 : errorDetailsObj.statusCode) || \"NO_ERROR_CODE\",\n // NO_REASON is added incase failure without reason\n Reason: (errorDetailsObj === null || errorDetailsObj === void 0 ? void 0 : errorDetailsObj.message) || (errorDetailsObj === null || errorDetailsObj === void 0 ? void 0 : errorDetailsObj.name) || ((_e = errorDetailsObj === null || errorDetailsObj === void 0 ? void 0 : errorDetailsObj.body) === null || _e === void 0 ? void 0 : _e.message) || \"NO_REASON\",\n mode: (_g = (_f = event === null || event === void 0 ? void 0 : event.detail) === null || _f === void 0 ? void 0 : _f.value) === null || _g === void 0 ? void 0 : _g.mode\n }, [(_j = (_h = SERVICE.telemetry) === null || _h === void 0 ? void 0 : _h.SERVICE_PROVIDERS) === null || _j === void 0 ? void 0 : _j.webex_behavioral, (_l = (_k = SERVICE.telemetry) === null || _k === void 0 ? void 0 : _k.SERVICE_PROVIDERS) === null || _l === void 0 ? void 0 : _l.prometheus]);\n });\n window.addEventListener(TOGGLE_VOICE_INTERACTION_PANEL, toggleVoiceInteractionPanel);\n window.addEventListener(AGENT_STATE_CHANGE_FAILED, triggerAgentStateErrorNotification);\n window.addEventListener(AGENT_SIGNOUT_RESULT, triggerAgentSignoutResultNotification);\n window.addEventListener(\"outdial-update-ani-list-jssdk\", updateOutdialAniList);\n presenceRequestListeners(); // add the event listeners for mercury device and connect status\n // if child window is opened for iframe authentication case\n if (window.opener) {\n findAuthTokenForIframeApp();\n }\n else {\n this.listenIframeAuthMessage();\n }\n logger.info(`User is using ${navigator.userAgent}`);\n document.addEventListener(\"visibilitychange\", () => {\n if (document.hidden) {\n logger.info(\"The tab just went into the background.\");\n }\n else {\n logger.info(\"The tab is now in the foreground.\");\n }\n });\n });\n }\n updateResponsiveList(e) {\n if (e.matches) {\n STORE.dynamic.updateScreenSize(true);\n }\n else {\n STORE.dynamic.updateScreenSize(false);\n }\n STORE.dynamic.updateLayoutForConnectorViewUnresponsiveWidget(this.agentXAppRouting);\n }\n getSubStatus(auxCodeId) {\n var _a, _b, _c, _d, _e, _f;\n return __awaiter(this, void 0, void 0, function* () {\n let subStatus = \"Available\";\n if (auxCodeId !== \"0\") {\n if (STORE.app.featureFlags.isDesktopAuxCodesInfiniteScrollEnabled) {\n const idleCodeStatus = (_d = (_c = (_b = (_a = STORE.agent.getAgentStateProps.agentStateIdleCodes) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.find((c) => c.id.toString() === auxCodeId)) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : \"\";\n if (!idleCodeStatus) {\n const response = yield getSpecificIdleCode(auxCodeId);\n if (response && (response === null || response === void 0 ? void 0 : response.length) > 0) {\n subStatus = response[0].name;\n }\n }\n else {\n subStatus = idleCodeStatus;\n }\n }\n else {\n subStatus = (_f = (_e = STORE.agent.idleCodes.find((c) => c.id.toString() === auxCodeId)) === null || _e === void 0 ? void 0 : _e.name) !== null && _f !== void 0 ? _f : \"\";\n }\n return subStatus;\n }\n return subStatus;\n });\n }\n onCiLoginSuccess(token) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n logger.info(`event=onCiLoginSuccess | CI Login Success | token expiry timestamp : ${token.expires_in}`);\n this.storeAuthToken(token);\n const meData = yield this.fetchAndVerifyMeDetails();\n if (meData) {\n yield this.setupSplitIOClient((_a = meData.meta) === null || _a === void 0 ? void 0 : _a.organizationID);\n this.storeAgentDetails(meData);\n yield this.initDependenciesAndFinishSetup(token, meData);\n const startTime = new Date().getTime();\n // Webex registration\n if (!STORE.app.featureFlags.isEarlyWebexRegistrationDisabled && this.isWebexRegistrationRequired()) {\n yield this.handleWebexRegister().then(() => {\n this.updateWebexWithCallingNotificationSetting();\n });\n }\n const endTime = new Date().getTime();\n logger.info(`Webex Registration Time : ${endTime - startTime} ms`);\n }\n });\n }\n storeAuthToken(token) {\n STORE.auth.tokenSet(token.access_token);\n STORE.auth.refreshTokenSet(token.refresh_token);\n STORE.auth.authService.tokenChange.listen((data) => {\n logger.info(\"Updated Access Token received\");\n updateAccessToken(data.token.access_token);\n STORE.auth.tokenSet(data.token.access_token);\n STORE.auth.refreshTokenSet(data.token.refresh_token);\n });\n STORE.auth.authService.onRefreshingTokenFail.listen(() => {\n var _a, _b, _c, _d;\n logger.info(\"Refreshing of access token failed\");\n const telemetryData = {\n Status: \"Failed\",\n Reason: \"Token Refresh Failed\"\n };\n SERVICE.telemetry.timeEvent(SERVICE.telemetry.TELEM_EVENT.CI_TOKEN_REFRESH, [\n (_b = (_a = SERVICE.telemetry) === null || _a === void 0 ? void 0 : _a.SERVICE_PROVIDERS) === null || _b === void 0 ? void 0 : _b.prometheus\n ]);\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.CI_TOKEN_REFRESH, telemetryData, [\n (_d = (_c = SERVICE.telemetry) === null || _c === void 0 ? void 0 : _c.SERVICE_PROVIDERS) === null || _d === void 0 ? void 0 : _d.prometheus\n ]);\n localStorage.removeItem(\"uuip-auth-token\");\n this.isSessionExpired = true;\n });\n }\n fetchAndVerifyMeDetails() {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function* () {\n const ci = new CI.Service({\n accessToken: STORE.auth.accessToken,\n identityUrl: STORE.auth.authService.config.identityUrl\n });\n const meData = yield fetchMeDetails(ci);\n STORE.app.setIsEnvironmentProd(this.isEnvironmentProd() || false);\n STORE.app.setDomainUrl((_a = process.env.RTMS_DOMAIN) !== null && _a !== void 0 ? _a : \"\");\n STORE.app.setDatacenter((_b = process.env.CC_DC) !== null && _b !== void 0 ? _b : \"\");\n if (!meData) {\n this.isInitialized = true;\n logger.error(\"[meData]: invalid meData \");\n invokeLoginErrorModal(t(\"app:stationLogin.initialConfigsFailed\"));\n return null;\n }\n if (!meData.licenseID || meData.licenseID.length === 0) {\n this.isInitialized = true;\n logger.error(\"[meData]: invalid licenseID\");\n invokeLoginErrorModal(t(\"app:stationLogin.agentLicenseError\"));\n return null;\n }\n if (!meData.roles || meData.roles.length === 0) {\n this.isInitialized = true;\n logger.error(\"[meData]: invalid roles\");\n invokeLoginErrorModal(t(\"app:stationLogin.initialProfileRoleFailed\"));\n return null;\n }\n STORE.agent.updateAgentId(meData === null || meData === void 0 ? void 0 : meData.id);\n return meData;\n });\n }\n setupSplitIOClient(organizationId) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const splitIOClient = yield SERVICE.featureflag.initSplitioSdk(organizationId, process.env.SPLIT_KEY_TOKEN);\n splitIOClient.on(splitIOClient.Event.SDK_UPDATE, () => __awaiter(this, void 0, void 0, function* () {\n logger.info(\"Feature flags updated by admin\");\n yield updateFeatureFlags();\n }));\n }\n catch (_a) {\n logger.error(\"Error in initialising Split IO SDK\");\n STORE.alertBanner.updateAlertBanner({\n message: t(\"app:common.alertBannerDefaultMessage\"),\n display: true,\n type: \"warning\",\n closable: false\n });\n }\n });\n }\n storeAgentDetails(meData) {\n const queryOrgId = getOrgIdParam();\n const orgsAvailable = meData.managedOrgs && meData.managedOrgs.length > 0;\n if (queryOrgId && orgsAvailable) {\n const orgDetails = meData.managedOrgs ? getManagedOrgDetails(meData.managedOrgs, queryOrgId) : null;\n if (orgDetails) {\n const systemRole = getUserSystemRole(orgDetails);\n const userRoles = meData === null || meData === void 0 ? void 0 : meData.roles;\n if (systemRole ||\n (userRoles === null || userRoles === void 0 ? void 0 : userRoles.includes(USER_ROLES.PREMIUM_AGENT)) ||\n (userRoles === null || userRoles === void 0 ? void 0 : userRoles.includes(USER_ROLES.STANDARD_AGENT))) {\n STORE.agent.setRole(SYSTEM_ROLES.AGENT, meData, orgDetails);\n }\n else if (userRoles.includes(USER_ROLES.SUPERVISOR)) {\n STORE.agent.setRole(SYSTEM_ROLES.SUPERVISOR, meData, orgDetails);\n }\n else {\n logger.error(\"event=initAgentxServices | Error in fetching user system role\", {\n queryOrgId,\n meData: JSON.stringify(meData)\n });\n invokeLoginErrorModal(t(\"app:stationLogin.initialConfigsFailed\"));\n return;\n }\n }\n }\n else {\n STORE.agent.updateAgentMe(meData);\n }\n if (meData.phoneNumbers) {\n const workExtensions = meData.phoneNumbers\n .filter((phoneNumber) => phoneNumber.type === \"work_extension\")\n .map((phoneNumber) => phoneNumber.value);\n STORE.agent.updateAvailableExtensions(workExtensions);\n }\n localStorage.setItem(\"userRole\", STORE.agent.getUserRole);\n }\n initDependenciesAndFinishSetup(token, meData) {\n return __awaiter(this, void 0, void 0, function* () {\n // change this line according to role based admin access story\n if (meData.roles.includes(USER_ROLES.SUPERVISOR)) {\n this.loadRTDWC();\n updateAnalyzerSettings();\n }\n if (multipleExist(meData === null || meData === void 0 ? void 0 : meData.roles, [USER_ROLES[\"SUPERVISOR\"]])) {\n !STORE.app.taskAreaCollapsed && STORE.app.toggleTaskAreaCollapse();\n }\n sessionStorage.setItem(\"orgId\", STORE.agent.organizationId);\n yield updateFeatureFlags();\n // log rocket integration\n if (STORE.app.featureFlags.isLogRocketEnabled) {\n let enableSanitization = true;\n if (STORE.app.featureFlags.isLogRocketMaskingDisabled) {\n enableSanitization = false;\n }\n SERVICE.logrocket.init(process.env.LOGROCKET_AUTHORIZATION_KEY, enableSanitization);\n SERVICE.logrocket.identify(meData.id, {\n orgId: meData.meta.organizationID,\n DC: process.env.CC_DC\n });\n }\n SERVICE.telemetry.init();\n yield initAgentxMfeWcBased({\n ANALYZER_HOST: process.env.ANALYZER_HOST,\n WEBEX_APP_URL: process.env.WEBEX_APP_URL,\n WEBEX_SETTING_SERVICE: process.env.WEBEX_SETTING_SERVICE,\n AG_GRID_LICENSE_KEY: process.env.AG_GRID_LICENSE_KEY\n });\n try {\n yield initAgentxServices({\n AQM_HOST: process.env.AQM_HOST,\n U2C_SERVICE_URL: process.env.U2C_SERVICE_URL,\n COMPLIANCE_SERVICE_URL: process.env.COMPLIANCE_SERVICE_URL,\n CONFIG_URL: process.env.CONFIG_URL,\n EMM_HOST: process.env.EMM_HOST,\n NOTIF_HOST: process.env.API_GATEWAY,\n DIALER_HOST: process.env.DIALER_HOST,\n MEDIA_SERVICE_HOST: process.env.MEDIA_SERVICE_HOST,\n API_GATEWAY: process.env.API_GATEWAY,\n AGENTX_BACKEND_PROXY_SERVICE_HOST: process.env.AGENTX_BACKEND_PROXY_SERVICE_HOST,\n WELCOME_TIMEOUT: process.env.WELCOME_TIMEOUT,\n SPLIT_KEY_TOKEN: process.env.SPLIT_KEY_TOKEN,\n LOGROCKET_AUTHORIZATION_KEY: process.env.LOGROCKET_AUTHORIZATION_KEY,\n HOST_URL: process.env.HOST_URL,\n CC_DC: process.env.CC_DC,\n JABBER_HOST_URL: process.env.JABBER_HOST_URL,\n MICROSOFT_CLIENT_ID: process.env.MICROSOFT_CLIENT_ID,\n WEBEX_APIS_URL: process.env.WEBEX_APIS_URL\n }, token.access_token, STORE.auth.authService);\n this.isNotifsSuccess = true;\n logNtpTime();\n }\n catch (error) {\n if (error.message && (error.message.includes(\"403\") || error.message.includes(\"401\"))) {\n logger.error(\"event=initAgentxServices | Error in Agent License\", error);\n invokeLoginErrorModal(t(\"app:stationLogin.agentLicenseError\"));\n }\n else {\n logger.error(\"event=initAgentxServices | Error in notifs registration\", error);\n invokeLoginErrorModal(t(\"app:stationLogin.socketRegisterFailed\"));\n }\n }\n yield updateAiFeatureFlags();\n STORE.app.updateTheme(this.getTheme());\n const urlSearchParams = new URLSearchParams(window.location.search);\n const allParams = {};\n for (const [key, val] of urlSearchParams.entries()) {\n allParams[key] = val;\n }\n allParams && STORE.routing.syncQueryParams(allParams);\n if (STORE.app.featureFlags.isImiChatWidgetEnabled) {\n updateIMISettings();\n }\n STORE.app.updateWebexEnabled(false);\n SERVICE.aqm.connectionConfig.OnConnectionLost.listen(this.handleConnectionLost.bind(this));\n SERVICE.aqm.agent.eAgentMultiLogin.listen(() => {\n if (STORE.auth.accessToken) {\n removeUnloadEvent();\n this.isMultiLogin = true;\n logger.info(\"triggering webex deregistration for multi login scenario !\");\n unRegisterWebexSDK();\n this.removeIdleActivity();\n }\n });\n SERVICE.aqm.agent.eAgentLogoutSuccess.listen((event) => {\n checkAgentLogout(event.data);\n });\n initSharedStoreActions();\n SERVICE.aqm.agent.eAgentStationLoginSuccess.listen((data) => __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e;\n // Return if change team is in process, as we don't need to attach all listeners again\n if (STORE.app.changeProfileSettingsLoading) {\n // setTimeout is used here, because when the code is getting executed the latest userSelectedRole won't be updated in the store;\n setTimeout(() => {\n this.updateLayout(data.data.teamId);\n });\n return;\n }\n if (!STORE.app.changeTeamLoading) {\n return;\n }\n const eventELoginSuccess = {\n detail: {\n dn: (_a = localStorage.getItem(\"agent-dn-number\")) !== null && _a !== void 0 ? _a : STORE.agent.dnNumber,\n agentId: data.data.agentId,\n usesOtherDN: STORE.agent.usesOtherDN,\n isExtension: STORE.agent.isExtension,\n defaultDn: STORE.agent.defaultDn,\n isDefaultDnSet: STORE.agent.isDefaultDnSet,\n teamId: data.data.teamId,\n teamName: STORE.agent.teamName,\n subStatus: yield this.getSubStatus(data.data.auxCodeId),\n lastIdleCodeChangeTimestamp: data.data.lastIdleCodeChangeTimestamp,\n lastStateChangeTimestamp: data.data.lastStateChangeTimestamp,\n profileType: data.data.profileType,\n mmProfile: {\n voiceCount: (_b = data.data.channelsMap[\"telephony\"]) === null || _b === void 0 ? void 0 : _b.length,\n chatCount: (_c = data.data.channelsMap[\"chat\"]) === null || _c === void 0 ? void 0 : _c.length,\n emailCount: (_d = data.data.channelsMap[\"email\"]) === null || _d === void 0 ? void 0 : _d.length,\n socialCount: (_e = data.data.channelsMap[\"social\"]) === null || _e === void 0 ? void 0 : _e.length\n },\n interactionIds: data.data.interactionIds,\n userRole: STORE.agent.userRole,\n selectedRoleName: STORE.agent.userSelectedRole,\n deviceType: STORE.agent.deviceType\n }\n };\n if (STORE.app.changeTeamLoading) {\n this.cachedLayoutConfig = getLayoutConfigFromCache();\n }\n this.stationLoginSuccess(eventELoginSuccess);\n }));\n this.isrequestedIframeLogin = false;\n this.isInitialized = true;\n this.agentXRoutingStart();\n this.cachedLayoutConfig = getLayoutConfigFromCache();\n if (this.cachedLayoutConfig) {\n yield processCachedLayoutJson(this.cachedLayoutConfig, this.agentXAppRouting);\n }\n /** Handle screen pop event */\n listenScreenPopEvent();\n });\n }\n getTheme() {\n return STORE.app.featureFlags.isMomentumV2Enabled ? MOMENTUM_V2 : LUMOS;\n }\n reloginAqm(isConnectionLost) {\n var _a, _b, _c, _d, _e, _f, _g;\n return __awaiter(this, void 0, void 0, function* () {\n try {\n logger.info(\"event=requestSilentRelogin | Requesting relogin on socket reconnect\");\n const profile = SERVICE.conf.profile ? SERVICE.conf.profile : yield SERVICE.conf.fetchProfile();\n if (STORE.app.featureFlags.isConsultTransferInfiniteScrollEnabled && (profile === null || profile === void 0 ? void 0 : profile.teamsMeta)) {\n SERVICE.conf.updateProfileTeamsMeta(profile === null || profile === void 0 ? void 0 : profile.teamsMeta);\n }\n const reload = yield SERVICE.aqm.agent.reload();\n const { dn, agentId, teamId, lastStateChangeReason, profileType, channelsMap, interactionIds } = reload.data;\n let { auxCodeId, lastStateChangeTimestamp, lastIdleCodeChangeTimestamp } = reload.data;\n if (lastStateChangeReason === \"agent-wss-disconnect\") {\n logger.info(\"event=requestAutoStateChange | Requesting state change to available on socket reconnect\");\n const stateChangeData = yield SERVICE.aqm.agent.stateChange({\n data: {\n state: SERVICE.constants.AgentState.Available,\n auxCodeIdArray: SERVICE.constants.AgentState.AvailableAuxCodeId\n }\n });\n logger.info(\"event=autoStateChangeSuccess | State change after socket reconnect success\", stateChangeData);\n auxCodeId = SERVICE.constants.AgentState.AvailableAuxCodeId;\n lastStateChangeTimestamp = stateChangeData.data.lastStateChangeTimestamp;\n lastIdleCodeChangeTimestamp = stateChangeData.data.lastIdleCodeChangeTimestamp;\n }\n if (isMSStateSyncEnabled()) {\n StateSyncManager.getCurrentPresenceStatus();\n }\n const subStatus = yield this.getSubStatus(auxCodeId);\n let teamName = (_a = profile.teams.find((team) => team.teamId === teamId)) === null || _a === void 0 ? void 0 : _a.teamName;\n /** In case the team name is not present in team list from 1st page, fetch from all teams */\n if (!teamName && STORE.app.featureFlags.isConsultTransferInfiniteScrollEnabled) {\n const response = yield fetchTeamDataById(profile.orgId, 0, (_b = profile.analyserUserId) !== null && _b !== void 0 ? _b : profile.agentDbId, \"\", teamId);\n teamName = response ? (_c = response.data[0]) === null || _c === void 0 ? void 0 : _c.teamName : \"\";\n }\n if (!teamName && STORE.agent.role !== UserRoles.SUPERVISOR) {\n invokeTeamDeletedErrorModal(t(\"app:stationLogin.teamDeletedError\"));\n return;\n }\n const loginData = {\n dn,\n agentId,\n usesOtherDN: true,\n teamId,\n teamName,\n subStatus,\n lastStateChangeTimestamp,\n lastIdleCodeChangeTimestamp,\n lastStateChangeReason: lastStateChangeReason !== null && lastStateChangeReason !== void 0 ? lastStateChangeReason : \"\",\n profileType,\n interactionIds,\n mmProfile: {\n voiceCount: (_d = channelsMap[\"telephony\"]) === null || _d === void 0 ? void 0 : _d.length,\n chatCount: (_e = channelsMap[\"chat\"]) === null || _e === void 0 ? void 0 : _e.length,\n emailCount: (_f = channelsMap[\"email\"]) === null || _f === void 0 ? void 0 : _f.length,\n socialCount: (_g = channelsMap[\"social\"]) === null || _g === void 0 ? void 0 : _g.length\n }\n };\n STORE.agent.updateInitialConfiguration(profile);\n STORE.agent.updateAgentProfileLogin(loginData);\n STORE.agentContact.setInteractionIds(loginData.interactionIds);\n STORE.agentContact.removeAutoCompleteTasks();\n STORE.app.setChangeTeamsLoginFailed(false);\n STORE.app.setChangeProfileSettingsLoginFailed(false);\n STORE.session.chat.setRetryMediaViewInit();\n STORE.agent.updateLastStateChangeByPresence(lastStateChangeReason === PRESENCE_SYNC);\n this.isConnectionLost = isConnectionLost;\n }\n catch (error) {\n logger.error(`event=reloginFailedAfterRecovery | [Relogin] Agent Relogin failed after connection restore ${JSON.stringify(error)}`, error);\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.STATION_RELOGIN_FAILED, {\n Error: error\n }, [\n SERVICE.telemetry.SERVICE_PROVIDERS.prometheus,\n SERVICE.telemetry.SERVICE_PROVIDERS.webex_business,\n SERVICE.telemetry.SERVICE_PROVIDERS.webex_operational\n ]);\n SERVICE.aqm.closeSocket(false, \"reloginFailedAfterRecovery\");\n this.isRestoreFailed = true;\n this.isConnectionLost = true;\n }\n });\n }\n handleConnectionLost(detail) {\n var _a;\n this.isRestoreFailed = detail.isRestoreFailed ? detail.isRestoreFailed : false;\n if (detail.isSocketReconnected) {\n // Mix Panel tracking for connection loss scenario\n if (SERVICE.telemetry.getValueFromCache(SERVICE.telemetry.TELEM_CACHE_KEYS.CONNECTION_LOSS_START_TIME) > 0) {\n const connectionLossDuration = SERVICE.telemetry.getValueFromCache(SERVICE.telemetry.TELEM_CACHE_KEYS.CONNECTION_LOSS_START_TIME);\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.DESKTOP_CONNECTION_LOSS, {\n [SERVICE.telemetry.TELEM_PROPS.TOTAL_CONNECTION_LOST_DURATION]: Number(((new Date().getTime() - Number(connectionLossDuration)) / 1000).toFixed(2))\n });\n SERVICE.telemetry.removeValueFromCache(SERVICE.telemetry.TELEM_CACHE_KEYS.CONNECTION_LOSS_START_TIME);\n }\n // socket is reconnected in chrome and FF\n if (this.isLoggedIn) {\n //invoke reload post connectionrecovery only if stationLogin was done\n this.reloginAqm(detail.isConnectionLost);\n }\n else {\n this.isConnectionLost = detail.isConnectionLost;\n }\n if ((_a = this.agentXAppRouting) === null || _a === void 0 ? void 0 : _a.STORE.app.webexEnabled) {\n SERVICE === null || SERVICE === void 0 ? void 0 : SERVICE.webex.fetchUnreadConversationCount();\n }\n }\n else {\n // keepalive stopped and socket closed in FF and open in chrome\n this.isConnectionLost = detail.isConnectionLost;\n if (!SERVICE.telemetry.getValueFromCache(SERVICE.telemetry.TELEM_CACHE_KEYS.CONNECTION_LOSS_START_TIME)) {\n SERVICE.telemetry.setValueInCache(SERVICE.telemetry.TELEM_CACHE_KEYS.CONNECTION_LOSS_START_TIME, new Date().getTime());\n }\n }\n if (!detail.isKeepAlive && (detail.isConnectionLost || detail.isRestoreFailed)) {\n logger.error(\"event=handleConnectionLost | Connection status changed: \", detail);\n }\n else if (detail.isSocketReconnected) {\n logger.info(\"event=handleConnectionLost | Connection status changed: \", detail);\n }\n }\n requestIframeLogin() {\n this.isrequestedIframeLogin = true;\n this.loginWindow = window.open(window.location.href);\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.agentXRoutingStop();\n removeMercuryListeners(); // remove the event listeners for mercury device and connect status\n window.removeEventListener(\"resize\", this.onResize);\n window.removeEventListener(\"rtd-subs-details\", this.rtdcSubscriptionLog);\n window.removeEventListener(\"focus\", this.enableFocus);\n window.removeEventListener(\"blur\", this.disableFocus);\n this.removeIdleActivity();\n STORE.interactionControl.clearTimers();\n window.removeEventListener(TOGGLE_VOICE_INTERACTION_PANEL, toggleVoiceInteractionPanel);\n window.removeEventListener(AGENT_STATE_CHANGE_FAILED, triggerAgentStateErrorNotification);\n window.removeEventListener(AGENT_SIGNOUT_RESULT, triggerAgentSignoutResultNotification);\n window.removeEventListener(\"pagehide\", this.deregisterDevices);\n window.removeEventListener(\"outdial-update-ani-list-jssdk\", updateOutdialAniList);\n window.removeEventListener(\"popstate\", this.handlePopState);\n }\n static get styles() {\n return style;\n }\n dispatchTelemetryEvent(e) {\n var _a, _b, _c, _d, _e;\n const telemetryData = {\n UserRole: getRoleNameForTelemetry(e.detail.selectedRoleName || ((_a = e.detail.userRole) === null || _a === void 0 ? void 0 : _a.join(\"_\")[0])),\n LoginType: e.detail.loginType,\n DeviceType: e.detail.deviceType,\n Status: SERVICE.telemetry.TELEM_EVENT.STATUS.SUCCESS,\n AdvancedHeader: e.detail.advancedHeader\n };\n if (isMSStateSyncEnabled()) {\n telemetryData.CollaborationTool = COLLAB_TOOL.TEAMS;\n }\n else if (isWebexStateSyncEnabled()) {\n telemetryData.CollaborationTool = COLLAB_TOOL.WEBEX;\n }\n telemetryData.PresenceSyncEnabled = !!telemetryData.PresenceSyncEnabled;\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.STATION_LOGIN, telemetryData, [\n (_c = (_b = SERVICE.telemetry) === null || _b === void 0 ? void 0 : _b.SERVICE_PROVIDERS) === null || _c === void 0 ? void 0 : _c.prometheus,\n (_e = (_d = SERVICE.telemetry) === null || _d === void 0 ? void 0 : _d.SERVICE_PROVIDERS) === null || _e === void 0 ? void 0 : _e.webex_behavioral\n ]);\n }\n handleWebexStateSync(webexConfig) {\n const enabledFFs = STORE.app.featureFlags.isDesktopWebexStateSyncEnabled || STORE.app.featureFlags.isWebexDirectoryViewEnabled;\n if (!isOnlySupervisor() && enabledFFs) {\n fetchAndHandleWebexConfig({\n detail: {\n orgId: STORE.agent.organizationId,\n webexConfig\n }\n });\n }\n else {\n logger.info(\"[Webex]: fetchAndHandleWebexConfig is not called\");\n }\n }\n stationLoginSuccess(e) {\n var _a, _b, _c, _d;\n return __awaiter(this, void 0, void 0, function* () {\n logger.info(\"event=stationLoginSuccess | Station login success\", e.detail);\n if (!SERVICE.conf.profile) {\n logger.error(\"event=NoConfigProfile | No Config profile after StationLogin\");\n return;\n }\n sessionStorage.setItem(\"agentId\", e.detail.agentId);\n STORE.agent.updateUserRole(e.detail.userRole);\n STORE.agent.updateSelectedAgentRole(e.detail.selectedRoleName);\n STORE.agent.updateInitialConfiguration(SERVICE.conf.profile);\n STORE.agent.updateIsExtension(e.detail.isExtension || false);\n if (STORE.app.featureFlags.isWebRTCEnabled) {\n STORE.agent.updateDeviceType((_a = e.detail.deviceType) !== null && _a !== void 0 ? _a : null);\n }\n if (STORE.app.featureFlags.isAiAssistantEnabled && !this.messageHandler) {\n logger.info(\"Initialising MessageHandler for AI Assistant\");\n this.messageHandler = new MessageHandler({ aiAssistantMessageProcessor: new AiAssistantMessageProcessor() });\n }\n dispatchUpdatedAgentProfileEvent(this);\n if (!isOnlySupervisor()) {\n STORE.agent.updateAgentProfileLogin(e.detail);\n }\n localStorage.setItem(\"userRole\", STORE.agent.getUserRole);\n if (((_b = e.detail) === null || _b === void 0 ? void 0 : _b.lastStateChangeReason) === \"agent-wss-disconnect\") {\n logger.info(\"event=requestAutoStateChange | Requesting state change to available on reload\");\n SERVICE.aqm.agent\n .stateChange({\n data: {\n state: SERVICE.constants.AgentState.Available,\n auxCodeIdArray: SERVICE.constants.AgentState.AvailableAuxCodeId\n }\n })\n .then((data) => {\n logger.info(\"event=autoStateChangeSuccess | State change after reload success\", data);\n STORE.agent.updateSubStatus(SERVICE.constants.AgentState.Available, data.data.lastStateChangeTimestamp, data.data.lastIdleCodeChangeTimestamp);\n });\n }\n STORE.agent.updateLastStateChangeByPresence(((_c = e.detail) === null || _c === void 0 ? void 0 : _c.lastStateChangeReason) === PRESENCE_SYNC);\n //update APS based on config\n if (SERVICE.conf.profile.agentPersonalStatsEnabled) {\n STORE.layout.updateApsDisplay();\n }\n if (STORE.app.featureFlags.isQueueStatsTabEnabled && STORE.agent.getUserRole !== UserRoles.AGENT) {\n STORE.layout.updateQueueStatsDisplay();\n }\n if (isInteractionsPageEnabled()) {\n STORE.layout.updateInteractionsNavItem();\n }\n // Webex registration\n if (STORE.app.featureFlags.isEarlyWebexRegistrationDisabled && this.isWebexRegistrationRequired()) {\n yield this.handleWebexRegister().then(() => {\n this.updateWebexWithCallingNotificationSetting();\n });\n }\n registerDefaultShortcutKeys();\n if (STORE.app.featureFlags.isWebRTCEnabled && e.detail.deviceType === \"BROWSER\") {\n registerWebRTCShortcuts();\n registerWebCalling(STORE.app.domainUrl);\n }\n let teamId;\n if (STORE.agent.getUserRole === UserRoles.SUPERVISOR) {\n teamId = SERVICE.conf.profile.preferredSupervisorTeamId;\n }\n yield processJSONLayout(SERVICE.conf.profile, (_d = teamId !== null && teamId !== void 0 ? teamId : e.detail.teamId) !== null && _d !== void 0 ? _d : \"\", this.cachedLayoutConfig, this.agentXAppRouting);\n // On reload if screen pop is for \"insideDesktop\" and already exists show screen pop\n STORE.session.screenpop.updateScreenPopStoreOnReload();\n this.isLoggedIn = true;\n STORE.app.updateStationLoginSuccess(true);\n //TODO: to be removed as its a workaround for props not rendering in interaction control in wrap up on reload\n setTimeout(() => {\n STORE.agentContact.rerenderTaskMap();\n });\n this.loadAcqueonScript();\n // Checking app pwa desktop install\n yield STORE.app.checkPwaInstall();\n yield updateOrgConfigs(STORE.agent.organizationId);\n if (STORE.agent.getUserRole !== UserRoles.AGENT) {\n // Fetch managed teams and managed queues on station login. To retain the placeholder values on load/reload.\n fetchManagedTeams();\n fetchManagedQueues();\n }\n // initialize the webex state registration\n this.handleWebexStateSync(SERVICE.conf.profile.webexConfig);\n // On station login success dispatch event to Telemetry, not on reload\n if (!e.detail.isReload) {\n this.dispatchTelemetryEvent(e);\n }\n // Initialize avatar cache\n SERVICE.avatar.init();\n });\n }\n isWebexRegistrationRequired() {\n return !STORE.app.webexEventRegistered;\n }\n handleWebexRegister() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n yield SERVICE.webex.registerWebex(STORE.app.isEnvironmentProd);\n exceptionTracker(STORE.auth.accessToken);\n if (STORE.app.webexEnabled) {\n SERVICE.webex.registerWebexEvents();\n subscribeToWebexEvents();\n SERVICE.webex.updateWebexMeeting();\n STORE.app.updateWebexEventRegistrationStatus(true);\n }\n }\n catch (error) {\n logger.error(\"event=webexEventRegistrationFailed | Error in registering webex events\", error);\n STORE.app.updateWebexEventRegistrationStatus(false);\n }\n });\n }\n updateLayout(teamId) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!SERVICE.conf.profile) {\n logger.error(\"event=NoConfigProfile | No Config profile after StationLogin\");\n return;\n }\n this.cachedLayoutConfig = getLayoutConfigFromCache();\n let supTeamId;\n if (STORE.agent.getUserRole === UserRoles.SUPERVISOR) {\n supTeamId = SERVICE.conf.profile.preferredSupervisorTeamId;\n }\n yield processJSONLayout(SERVICE.conf.profile, supTeamId !== null && supTeamId !== void 0 ? supTeamId : teamId, this.cachedLayoutConfig, this.agentXAppRouting);\n });\n }\n updateWebexWithCallingNotificationSetting() {\n var _a, _b, _c, _d, _e, _f;\n const webexCallingSetting = localStorage.getItem(WEBEX_CALLING_NOTIFICATIONS_SETTING);\n if (webexCallingSetting === \"true\") {\n SERVICE.webex.registerWebexCallingEvents((_c = (_b = (_a = SERVICE.conf) === null || _a === void 0 ? void 0 : _a.profile) === null || _b === void 0 ? void 0 : _b.agentId) !== null && _c !== void 0 ? _c : \"\");\n SERVICE.webex.updateAnswerCallsSetting((_f = (_e = (_d = SERVICE.conf) === null || _d === void 0 ? void 0 : _d.profile) === null || _e === void 0 ? void 0 : _e.agentId) !== null && _f !== void 0 ? _f : \"\", JSON.parse(webexCallingSetting));\n }\n }\n stationLoginError(e) {\n if (STORE.app.featureFlags.isLogUploadEnabledOnLoginError) {\n const feedbackId = SERVICE.webex.uploadLogs();\n logger.error(`event=stationLoginError | ${feedbackId}| ${JSON.stringify(e.detail)}`);\n }\n else {\n logger.error(`event=stationLoginError | ${JSON.stringify(e.detail)}`);\n }\n handleLoginError(e.detail);\n }\n noVoiceOptionsError(e) {\n this.isNoVoiceOptions = true;\n STORE.session.errorModal.setErrorDetails(e);\n }\n onStationLoginSuccess(e) {\n // Set Initial Set of 50 Idle Codes to Store if InfiniteScroll FF is Enabled.\n if (STORE.app.featureFlags.isDesktopAuxCodesInfiniteScrollEnabled) {\n STORE.agent.updateAgentStateIdleCodes(e.detail.initialIdleCodes);\n }\n this.stationLoginSuccess(e);\n if (STORE.agent.isTimeoutDesktopInactivityEnabled) {\n this.initializeIdleActivity();\n }\n if (e.detail.interactionIds) {\n STORE.agentContact.setInteractionIds(e.detail.interactionIds);\n }\n STORE.app.setChangeTeamsLoginFailed(false);\n STORE.app.setChangeProfileSettingsLoginFailed(false);\n }\n onLogoutConfirm(e) {\n STORE.session.errorModal.setErrorDetails(e);\n }\n errorModalDisplay(e) {\n logger.info(\"dispatched modal event\", e);\n STORE.session.errorModal.updateModalStatus(e.detail);\n }\n createAnalyzerSession() {\n analyzerSessionHelper.create();\n return nothing;\n }\n loadAcqueonScript() {\n if (STORE.agent.isCampaignManagementEnabled) {\n const script = document.createElement(\"script\");\n script.setAttribute(\"type\", \"module\");\n script.setAttribute(\"id\", \"acqueon-bundle\");\n script.setAttribute(\"src\", \"acqueon/index.js\");\n document.body.appendChild(script);\n script.onerror = () => {\n logger.error(`[App: Acqueon] failed to load Acqueon JS with src`, script.src);\n };\n }\n }\n loadRTDWC() {\n const script = document.createElement(\"script\");\n script.setAttribute(\"id\", \"rtdwc\");\n script.setAttribute(\"src\", process.env.RTDWC_URL);\n document.body.appendChild(script);\n script.onerror = () => {\n logger.error(`[App: RTDWC] failed to load rtdwc`, script.src);\n };\n script.onload = () => {\n logger.info(`[App: RTDWC] successfully loaded rtdwc`, script.src);\n this.initializeRTDWC();\n };\n }\n rtdcSubscriptionLog(event) {\n logger.info(\"[App: RTDWC] web socket connection subscription details\", event.detail);\n }\n initializeRTDWC() {\n var _a;\n const optionalProperties = { pingEvent: SERVICE.constants.RtdConstants.RTD_PING_EVENT };\n (_a = window.wxcc) === null || _a === void 0 ? void 0 : _a.rtdwc.init(Object.assign({\n accessToken: STORE.auth.accessToken,\n notifHost: process.env.NOTIF_HOST,\n notifUrl: process.env.NOTIF_DATA_URL,\n rtdUrl: process.env.RTD_URL,\n rtdHost: `${process.env.API_GATEWAY}/v1`,\n clientType: \"Desktop\",\n lostConnectionRecoveryTimeout: STORE.agent.lostConnectionRecoveryTimeout.toString(),\n httpHeaders: {\n \"X-ORGANIZATION-ID\": STORE.agent.organizationId\n }\n }, optionalProperties)).then((res) => {\n logger.info(\"[App: RTDWC] web socket connection was initialized successfully\", res);\n STORE.app.updateIsRTDInitializedFlag(true);\n }).catch((err) => {\n logger.error(\"[App: RTDWC] web socket connection initialization failed with error\", err);\n STORE.app.updateIsRTDInitializedFlag(false);\n });\n window.addEventListener(\"rtd-subs-details\", this.rtdcSubscriptionLog);\n }\n initializeIdleActivity() {\n if (!this.idleActivity && STORE.agent.timeoutDesktopInactivityMins) {\n logger.info(\"The Inactivity Timer has been initialized\");\n this.idleActivity = new IdleActivity(STORE.agent.timeoutDesktopInactivityMins * 60000); //To pass minute value in ms\n this.idleActivity.handleInActivityTimer();\n this.idleActivity.register();\n }\n }\n removeIdleActivity() {\n if (this.idleActivity) {\n logger.info(\"The Inactivity Timer has been removed\");\n this.idleActivity.deRegister();\n }\n }\n shouldRenderConnectionLost() {\n logger.info(`[Apps] event=RenderConnectionLost | isConnectionLost=${this.isConnectionLost} | isSessionExpired=${this.isSessionExpired}`);\n return this.isSessionExpired || (this.isConnectionLost && !this.isMultiLogin);\n }\n get themeClassMap() {\n return {\n \"is-visual-rebrand\": themeManager.isVisualRebrandEnabled\n };\n }\n render() {\n return this.isInitialized && !STORE.auth.iframeLogoutRequested\n ? html `\n ${t(\"app:common.webex\")}\n \n \n
\n \n \n\n \n \n ${!STORE.layout.isDesktopLayoutLoaded\n ? html ` `\n : nothing}\n\n \n \n\n \n {\n if (STORE.agentContact.isMediaTypeTelePhony) {\n STORE.agentContact.toggleInteractionControlCADSection(true);\n }\n }}\n @minimize-transition-end=${() => {\n if (STORE.agentContact.isMediaTypeTelePhony) {\n STORE.agentContact.toggleInteractionControlCADSection(false);\n }\n }}\n class=\"${classMap({\n \"default-maximize-area\": true,\n \"task-area-expanded\": !STORE.app.taskAreaCollapsed,\n \"ai-area-expanded\": !STORE.app.aiBlockCollapsed,\n \"interaction-control-task-selected\": !!STORE.agentContact.taskSelected && STORE.agentContact.isMediaTypeTelePhony\n })}\"\n >\n\n \n \n\n \n ${this.isLoggedIn && !STORE.app.changeTeamsError && !STORE.app.changeProfileSettingsError\n ? this.createAnalyzerSession()\n : this.isNotifsSuccess && !this.isMultiLogin && !this.isNoVoiceOptions\n ? html `\n {\n STORE.alertBanner.removeStateChangeBanner();\n }}\n @login-error=${this.stationLoginError}\n @no-voice-options-error=${this.noVoiceOptionsError}\n @logout-confirm=\"${this.onLogoutConfirm}\"\n meUserId=\"${STORE.agent.meUserId}\"\n organizationId=\"${STORE.agent.organizationId}\"\n defaultDn=\"${STORE.agent.defaultDn}\"\n isDefaultDnSet=\"${STORE.agent.isDefaultDnSet}\"\n ?isRememberMyCredentials=\"${STORE.agent.isRememberMyCredentials}\"\n .deviceType=\"${STORE.agent.deviceType}\"\n ?isWebRTCEnabled=\"${(STORE.app.featureFlags.isWebRTCEnabled &&\n STORE.agent.role === SYSTEM_ROLES.AGENT) ||\n (STORE.app.featureFlags.isWebRTCEnabled &&\n STORE.app.featureFlags.isWebRTCSupervisorEnabled &&\n STORE.agent.role === SYSTEM_ROLES.SUPERVISOR)}\"\n ?isDesktopAuxCodesInfiniteScrollEnabled=\"${STORE.app.featureFlags\n .isDesktopAuxCodesInfiniteScrollEnabled}\"\n ?isMaerskEnabled=\"${STORE.app.featureFlags.isDesktopMaerskEnhancementEnabled}\"\n ?isDesktopMSStateSyncEnabled=\"${STORE.app.featureFlags.isDesktopMSStateSyncEnabled}\"\n ?isDesktopWebexStateSyncEnabled=\"${STORE.app.featureFlags.isDesktopWebexStateSyncEnabled}\"\n ?isDesktopEmergencyNotificationEnabled=\"${STORE.app.featureFlags\n .isDesktopEmergencyNotificationEnabled}\"\n ?isDesktopMaerskAcqueonTeamId=\"${STORE.app.featureFlags.isDesktopMaerskAcqueonTeamId}\"\n ?isEmergencyModalAlreadyDisplayed=\"${STORE.agent.isEmergencyModalAlreadyDisplayed}\"\n ?isConsultTransferInfiniteScrollEnabled=\"${STORE.app.featureFlags\n .isConsultTransferInfiniteScrollEnabled}\"\n @ci-logout=\"${() => {\n STORE.auth.logout(STORE.auth.refreshToken);\n }}\"\n @selected-user-role=\"${(e) => {\n STORE.agent.updateSelectedAgentRole(e.detail.selectedRoleName);\n }}\"\n @update-user-role=\"${(e) => {\n STORE.agent.updateUserRole(e.detail.newUserRole);\n }}\"\n @update-flag-user-prefs-saved=\"${(e) => {\n STORE.agent.updateIsPreferenceSaved(e.detail.isPrefSaved);\n }}\"\n @save-update-user-prefs-failed=\"${(e) => {\n STORE.agent.updateIsPreferenceSavedFailed(e.detail.isPrefSaved);\n }}\"\n @save-update-user-prefs=\"${(e) => {\n STORE.app.saveOrUpdateUserPreferences(e.detail);\n }}\"\n @update-analyser-id=\"${(e) => {\n STORE.agent.updateAgentAnalyzerId(e.detail.analyzerId);\n }}\"\n @update-user-preference-storage=\"${(e) => {\n STORE.app.saveUserPreferenceInSessionStorage(e.detail);\n }}\"\n @delete-user-prefs=\"${() => {\n STORE.app.deleteUserPreferences();\n }}\"\n @delete-user-preference-storage=\"${() => {\n STORE.app.deleteUserPreferenceFromSessionStorage();\n }}\"\n @update-device-type=\"${(e) => {\n STORE.agent.updateDeviceType(e.detail.deviceType); // check need to update deviceType\n }}\"\n @register-web-calling=\"${() => {\n logger.info(\"[WebRtc]: registering webCalling by register-web-calling event\");\n registerWebCalling(STORE.app.domainUrl);\n }}\"\n @aux-code-error=\"${() => {\n invokeLoginErrorModal(t(\"app:stationLogin:auxiliaryCodeFailed\"));\n }}\"\n @acqueon-fetch-team-id-error=\"${() => {\n invokeLoginErrorModal(t(\"app:stationLogin:fetchTeamIdFailed\"));\n }}\"\n @initiate-microsoft-auth-flow=\"${(e) => {\n handleMicrosoftAuthFlow(e);\n }}\"\n >\n `\n : this.isNoVoiceOptions\n ? nothing\n : html ` `}\n ${this.shouldRenderConnectionLost()\n ? html `\n \n `\n : nothing}\n ${this.isMultiLogin ? html ` ` : nothing}\n ${STORE.app.changeTeamLoading ? html ` ` : nothing}\n ${STORE.auth.isWebexLogoutRequested\n ? html ` `\n : nothing}\n ${STORE.app.changeProfileSettingsLoading\n ? html ` `\n : nothing}\n ${this.isWebexCallingDeviceRegistered\n ? html `\n \n `\n : nothing}\n \n \n
\n \n `\n : html `\n ${this.isIframe\n ? html `\n \n `\n : html ` `}\n `;\n }\n};\n__decorate([\n internalProperty()\n], App.prototype, \"isInitialized\", void 0);\n__decorate([\n internalProperty()\n], App.prototype, \"isIframe\", void 0);\n__decorate([\n internalProperty()\n], App.prototype, \"isLoggedIn\", void 0);\n__decorate([\n internalProperty()\n], App.prototype, \"isConnectionLost\", void 0);\n__decorate([\n internalProperty()\n], App.prototype, \"isRestoreFailed\", void 0);\n__decorate([\n internalProperty()\n], App.prototype, \"isSessionExpired\", void 0);\n__decorate([\n internalProperty()\n], App.prototype, \"isrequestedIframeLogin\", void 0);\n__decorate([\n internalProperty()\n], App.prototype, \"isrequestedIframeLogout\", void 0);\n__decorate([\n internalProperty()\n], App.prototype, \"isMultiLogin\", void 0);\n__decorate([\n internalProperty()\n], App.prototype, \"cachedLayoutConfig\", void 0);\n__decorate([\n internalProperty()\n], App.prototype, \"isNotifsSuccess\", void 0);\n__decorate([\n internalProperty()\n], App.prototype, \"isWebexCallingDeviceRegistered\", void 0);\n__decorate([\n internalProperty()\n], App.prototype, \"isNoVoiceOptions\", void 0);\n__decorate([\n internalProperty()\n], App.prototype, \"messageHandler\", void 0);\nApp = __decorate([\n customElement(\"agentx-app\")\n], App);\nexport { App };\n","export const WELL_BEING_BREAK_TITLE = \"Ready to pause and recharge?\";\nexport const WELL_BEING_BREAK_MESSAGE = \"This break is pre-approved by your organization for your well-being. You deserve it.\";\nexport const LATER = \"Later\";\nexport const TAKE_A_BREAK = \"Take a break\";\nexport const CALL_DROP_SUMMARY_TITLE = \"Call drop summary available\";\nexport const CALL_SUMMARY_MESSAGE = \"Customer's last call ended abruptly\";\nexport const SUMMARY_LINK = \"View summary\";\nexport const VIRTUAL_AGENT_SUMMARY_TITLE = \"Virtual agent summary available\";\nexport const VIRTUAL_AGENT_SUMMARY_MESSAGE = \"Here's a summary of the interaction\";\nexport const WELL_BEING_BREAK_ERROR_AVAILABLE = \"We encountered an issue setting your status to Available.\";\nexport const WELL_BEING_BREAK_ERROR_IDLE = \"We encountered an issue setting your status for the well-being break.\";\nexport const WELL_BEING_BREAK_GENERAL_ERROR = \"We couldn't start your well-being break due to a system issue.\";\nexport const WELL_BEING_BREAK_ERROR_TITLE = \"Status Update Issue\";\n","import { STORE } from \"@/store\";\nimport { ToasterNotificationItemContent } from \"@uuip/unified-ui-platform-common-components\";\nimport { Notifications } from \"@uuip/unified-ui-platform-sdk\";\nimport * as AiAssistantConstants from \"./AiAssistantConstants\";\nimport { InboundAiAssistantError, InboundRequestType } from \"./MessageHandler\";\nclass AiAssistantMessageProcessor {\n constructor() {\n this.aiSummaryNotifications = [];\n this.wellnessBreakNotifications = [];\n }\n process(processParams) {\n switch (processParams.inboundRequestType) {\n case InboundRequestType.ShowCallDropAiNotification:\n if (processParams.notificationLinkHandlerCallback) {\n this.showCallDropAiNotification(processParams.notificationLinkHandlerCallback);\n }\n break;\n case InboundRequestType.RemoveAiSummaryNotifications:\n this.removeAiSummaryNotifications();\n break;\n case InboundRequestType.ShowVirtualAgentSummaryNotification:\n if (processParams.notificationLinkHandlerCallback) {\n this.showVirtualAgentSummaryNotification(processParams.notificationLinkHandlerCallback);\n }\n break;\n case InboundRequestType.ShowWellnessBreakNotification:\n if (processParams.notificationAcceptActionCallback &&\n processParams.notificationRejectActionCallback &&\n processParams.notificationDismissActionCallback &&\n processParams.notificationTimeoutCallback) {\n this.showWellnessBreakNotification(processParams.notificationAcceptActionCallback, processParams.notificationRejectActionCallback, processParams.notificationDismissActionCallback, processParams.notificationTimeoutCallback);\n }\n break;\n case InboundRequestType.RemoveWellnessBreakNotifications:\n this.removeWellnessBreakNotifications(Notifications.ItemMeta.DeactivateEventReason.UserNeutral);\n break;\n case InboundRequestType.ShowWellnessBreakErrorNotification:\n if (processParams.errorType) {\n this.showWellnessBreakErrorNotification(processParams.errorType);\n }\n break;\n default:\n break;\n }\n }\n showWellnessBreakNotification(acceptActionCallback, rejectActionCallback, dissmissActionCallback, timeoutCallback) {\n var _a;\n const wellnessBreakNotificationRaw = {\n type: Notifications.ItemMeta.Type.Default,\n mode: Notifications.ItemMeta.Mode.AutoDismiss,\n title: AiAssistantConstants.WELL_BEING_BREAK_TITLE,\n data: new ToasterNotificationItemContent.DataController({\n text: AiAssistantConstants.WELL_BEING_BREAK_MESSAGE,\n type: \"ai-assistant\",\n actions: [\n {\n label: AiAssistantConstants.LATER,\n handler: (_n) => {\n rejectActionCallback();\n this.removeWellnessBreakNotifications(Notifications.ItemMeta.DeactivateEventReason.UserNegative);\n },\n variant: \"secondary\"\n },\n {\n label: AiAssistantConstants.TAKE_A_BREAK,\n handler: (_n) => {\n acceptActionCallback();\n this.removeWellnessBreakNotifications(Notifications.ItemMeta.DeactivateEventReason.UserPositive);\n },\n variant: \"primary\"\n }\n ],\n dismissHandler: (_n) => {\n dissmissActionCallback();\n }\n })\n };\n const newWellnessBreakNotification = (_a = STORE.generalNotifications\n .fireNotificationEvent(wellnessBreakNotificationRaw)) === null || _a === void 0 ? void 0 : _a.at(0);\n if (newWellnessBreakNotification) {\n this.wellnessBreakNotifications = [...this.wellnessBreakNotifications, newWellnessBreakNotification];\n // Event listener for auto-dismiss\n newWellnessBreakNotification.addEventListener(\"statusUpdate\", (status, reason) => {\n if (status === Notifications.ItemMeta.Status.Pended &&\n reason === Notifications.ItemMeta.PendingEventReason.ServiceAutoDismiss) {\n timeoutCallback();\n }\n });\n }\n }\n removeWellnessBreakNotifications(removeReason) {\n this.wellnessBreakNotifications.forEach((notification) => {\n notification.deactivate(removeReason);\n });\n this.wellnessBreakNotifications = [];\n }\n addAiSummaryNotification(title, message, openAiAssistantCallback) {\n var _a;\n const aiSummaryNotificationRaw = {\n type: Notifications.ItemMeta.Type.Default,\n mode: Notifications.ItemMeta.Mode.AutoDismiss,\n title,\n data: new ToasterNotificationItemContent.DataController({\n text: message,\n type: \"ai-assistant\",\n linkName: AiAssistantConstants.SUMMARY_LINK,\n linkHandler: (_n) => {\n openAiAssistantCallback();\n }\n })\n };\n const newAiSummaryNotification = (_a = STORE.generalNotifications.fireNotificationEvent(aiSummaryNotificationRaw)) === null || _a === void 0 ? void 0 : _a.at(0);\n if (newAiSummaryNotification) {\n this.aiSummaryNotifications = [...this.aiSummaryNotifications, newAiSummaryNotification];\n }\n }\n showCallDropAiNotification(openAiAssistantCallback) {\n this.addAiSummaryNotification(AiAssistantConstants.CALL_DROP_SUMMARY_TITLE, AiAssistantConstants.CALL_SUMMARY_MESSAGE, openAiAssistantCallback);\n }\n showVirtualAgentSummaryNotification(openAiAssistantCallback) {\n this.addAiSummaryNotification(AiAssistantConstants.VIRTUAL_AGENT_SUMMARY_TITLE, AiAssistantConstants.VIRTUAL_AGENT_SUMMARY_MESSAGE, openAiAssistantCallback);\n }\n removeAiSummaryNotifications() {\n this.aiSummaryNotifications.forEach((notification) => {\n notification.deactivate(Notifications.ItemMeta.DeactivateEventReason.UserNeutral);\n });\n this.aiSummaryNotifications = [];\n }\n showWellnessBreakErrorNotification(errorType) {\n var _a;\n const getErrorTextByType = (errType) => {\n switch (errType) {\n case InboundAiAssistantError.ChangeStateToAvailableError:\n return AiAssistantConstants.WELL_BEING_BREAK_ERROR_AVAILABLE;\n case InboundAiAssistantError.ChangeStateToResetError:\n return AiAssistantConstants.WELL_BEING_BREAK_ERROR_IDLE;\n case InboundAiAssistantError.GeneralError:\n return AiAssistantConstants.WELL_BEING_BREAK_GENERAL_ERROR;\n default:\n return \"\";\n }\n };\n const wellnessStatusErrorNotificationRaw = {\n type: Notifications.ItemMeta.Type.Error,\n mode: Notifications.ItemMeta.Mode.AutoDismiss,\n title: AiAssistantConstants.WELL_BEING_BREAK_ERROR_TITLE,\n data: new ToasterNotificationItemContent.DataController({\n text: getErrorTextByType(errorType)\n })\n };\n const wellnessStatusErrorNotification = (_a = STORE.generalNotifications\n .fireNotificationEvent(wellnessStatusErrorNotificationRaw)) === null || _a === void 0 ? void 0 : _a.at(0);\n if (wellnessStatusErrorNotification) {\n this.wellnessBreakNotifications = [...this.wellnessBreakNotifications, wellnessStatusErrorNotification];\n }\n }\n}\nexport default AiAssistantMessageProcessor;\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { t } from \"@/mixins/i18nMixin\";\nimport { customElement, html, LitElement } from \"lit-element\";\nimport style from \"./ChangeTeamLoading.scss\";\nlet ChangeTeamLoading = class ChangeTeamLoading extends LitElement {\n constructor() {\n super(...arguments);\n this.languageResources = \"/i18n/{{lng}}/{{ns}}.json\";\n }\n static get styles() {\n return style;\n }\n render() {\n return html `\n
\n
\n ${html `\n \n

${t(\"app:changeTeam.changeTeamLoadingHeader\")}

\n

${t(\"app:changeTeam.changeTeamLoadingMessage\")}

\n `}\n
\n
\n `;\n }\n};\nChangeTeamLoading = __decorate([\n customElement(\"change-team-loading\")\n], ChangeTeamLoading);\nexport { ChangeTeamLoading };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { t } from \"@/mixins/i18nMixin\";\nimport { STORE } from \"@/store\";\nimport { SERVICE } from \"@agentx/agentx-services\";\nimport { Logger } from \"@uuip/unified-ui-platform-sdk\";\nimport { customElement, html, LitElement, property } from \"lit-element\";\nimport { removeUnloadEvent } from \"../utils/Utils\";\nimport style from \"./ConnectionLost.scss\";\nlet ConnectionLost = class ConnectionLost extends LitElement {\n constructor() {\n super(...arguments);\n this.languageResources = \"/i18n/{{lng}}/{{ns}}.json\";\n this.isRestoreFailed = false;\n this.isSessionExpired = false;\n }\n static get styles() {\n return style;\n }\n downloadLogs(event) {\n SERVICE.telemetry.timeEvent(SERVICE.telemetry.TELEM_EVENT.ERROR_DETAILS_DOWNLOADED);\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.ERROR_DETAILS_DOWNLOADED, {\n [SERVICE.telemetry.TELEM_PROPS.ERROR_DETAILS_DOWNLOADED]: true,\n Status: SERVICE.telemetry.TELEM_EVENT.STATUS.SUCCESS\n });\n if (STORE.app.featureFlags.isUploadLogsToWebexEnabled) {\n SERVICE.webex.uploadLogs();\n }\n event.preventDefault();\n Logger.POOL.browserDownloadAllLogsText();\n }\n updated(changedProperties) {\n super.updated(changedProperties);\n if (this.isRestoreFailed || this.isSessionExpired) {\n removeUnloadEvent();\n }\n }\n render() {\n return html `\n
\n
\n ${this.isSessionExpired\n ? html `\n

${t(\"app:connection.warning\")}

\n

${t(\"app:connection.sessionRestorationFailed\")}

\n `\n : !this.isRestoreFailed\n ? html `\n \n

${t(\"app:connection.connectionFailure\")}

\n `\n : html `\n

${t(\"app:connection.connectionLostHeader\")}

\n

${t(\"app:connection.connectionNotRecovered\")}

\n `}\n ${t(\"app:connection.downloadLogs\")} \n
\n
\n `;\n }\n};\n__decorate([\n property({ type: Boolean })\n], ConnectionLost.prototype, \"isRestoreFailed\", void 0);\n__decorate([\n property({ type: Boolean })\n], ConnectionLost.prototype, \"isSessionExpired\", void 0);\nConnectionLost = __decorate([\n customElement(\"connection-lost\")\n], ConnectionLost);\nexport { ConnectionLost };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement, html, LitElement, property } from \"lit-element\";\nimport { nothing } from \"lit-html\";\nimport { unsafeHTML } from \"lit-html/directives/unsafe-html\";\nexport var CssDynamic;\n(function (CssDynamic) {\n let Element = class Element extends LitElement {\n constructor() {\n super(...arguments);\n this.vars = {};\n }\n /*eslint @typescript-eslint/no-empty-function: \"off\"*/\n updated() { }\n get strVars() {\n const vars = this.vars || {};\n return Object.keys(vars).reduce((acc, k) => {\n const v = vars[k];\n acc += `${k}: ${v};`;\n return acc;\n }, \"\");\n }\n createRenderRoot() {\n return this;\n }\n render() {\n return html `\n \n `;\n }\n };\n __decorate([\n property({ type: Object })\n ], Element.prototype, \"vars\", void 0);\n Element = __decorate([\n customElement(\"css-dynamic\")\n ], Element);\n CssDynamic.Element = Element;\n})(CssDynamic || (CssDynamic = {}));\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { t } from \"@/mixins/i18nMixin\";\nimport { createLogger } from \"@/sdk\";\nimport { STORE } from \"@/store\";\nimport \"@agentx/agentx-mfe-wc-based\";\nimport { SERVICE } from \"@agentx/agentx-services\";\nimport \"@uuip/unified-ui-platform\";\nimport \"@uuip/uuip-advance-layout\";\nimport { customElement, html, internalProperty, LitElement, property, query } from \"lit-element\";\nimport { nothing } from \"lit-html\";\nimport { classMap } from \"lit-html/directives/class-map\";\nimport { reaction } from \"mobx\";\nimport { setTimeout } from \"timers\";\nimport { attachDynamicLayoutListeners, removeDynamicLayoutListeners } from \"../utils/DynamicLayoutListener\";\nimport { UTILS_DYNAMIC } from \"../utils/UtilsDynamic\";\nimport style from \"./DynamicArea.scss\";\nimport \"./MoreActionsWrapper\";\nimport \"./PageTitle\";\nimport \"./TimezoneLabel\";\nconst logger = createLogger(\"DynamicArea\");\nconst MIN_CONTAINER_HEIGHT_FOR_ADVANCE_LAYOUT = 100;\nconst SUCCESS_FLASH_TIMEOUT = 1000;\nconst HEADER_HEIGHT = 62;\nconst SAVE_LAYOUT_EVENT = \"uuip-layout-save-edit\";\nconst RESET_LAYOUT_EVENT = \"uuip-layout-reset-edit\";\nconst CANCEL_EDIT_EVENT = \"uuip-layout-cancel-edit\";\nlet DynamicArea = class DynamicArea extends LitElement {\n constructor() {\n super(...arguments);\n this.height = \"100%\";\n this.isStationLoginSuccess = false;\n this.isEdit = false;\n this.isSuccess = false;\n this.containerHeight = 0;\n this.containerWidth = 0;\n this.resizeObserver = null;\n this.visibilityCheckDebug = (tag, upd) => {\n if (tag === \"VISIBILITY_TEST\") {\n return {\n visible: STORE.dynamic.testBool,\n dispose: reaction(() => STORE.dynamic.testBool, (x) => upd(x))\n };\n }\n return { visible: true };\n };\n }\n save() {\n var _a, _b, _c;\n const isAdvancedLayout = (_a = this.area) === null || _a === void 0 ? void 0 : _a.useFlexLayout;\n if (isAdvancedLayout) {\n const customSaveEvent = new CustomEvent(SAVE_LAYOUT_EVENT);\n (_c = (_b = this.adw) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.childNodes[0].dispatchEvent(customSaveEvent);\n }\n else {\n this.dw.save();\n }\n this.isEdit = false;\n this.showSuccessIcon();\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.LAYOUT_SETTINGS_SAVE);\n }\n reset() {\n var _a, _b, _c;\n const isAdvancedLayout = (_a = this.area) === null || _a === void 0 ? void 0 : _a.useFlexLayout;\n if (isAdvancedLayout) {\n const customResetEvent = new CustomEvent(RESET_LAYOUT_EVENT);\n (_c = (_b = this.adw) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.childNodes[0].dispatchEvent(customResetEvent);\n }\n else {\n this.dw.reset();\n }\n this.isEdit = false;\n this.showSuccessIcon();\n STORE.session.errorModal.updateModalStatus(false);\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.LAYOUT_SETTINGS_RESET);\n }\n cancel() {\n var _a, _b, _c;\n const isAdvancedLayout = (_a = this.area) === null || _a === void 0 ? void 0 : _a.useFlexLayout;\n if (isAdvancedLayout) {\n const customCancelEvent = new CustomEvent(CANCEL_EDIT_EVENT);\n (_c = (_b = this.adw) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.childNodes[0].dispatchEvent(customCancelEvent);\n }\n else {\n this.dw.cancel();\n }\n this.isEdit = false;\n }\n edit() {\n this.isEdit = true;\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.LAYOUT_SETTINGS_EDIT);\n }\n showSuccessIcon() {\n this.isSuccess = true;\n setTimeout(() => {\n var _a, _b;\n this.isSuccess = false;\n (_b = (_a = this.editLayoutTrigger.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(\"button\")) === null || _b === void 0 ? void 0 : _b.focus();\n }, SUCCESS_FLASH_TIMEOUT);\n }\n showResetConfirmation() {\n STORE.session.errorModal.setErrorDetails({\n detail: {\n modalType: \"dialog\",\n header: t(\"app:desktopLayout:resetConfirmHeader\"),\n message: t(\"app:desktopLayout:resetConfirmMessage\"),\n buttons: [\n {\n type: \"button\",\n label: t(\"app:common:cancelButton\"),\n color: \"var(--md-background-color--gray-05)\",\n onClick: () => {\n STORE.session.errorModal.updateModalStatus(false);\n }\n },\n {\n type: \"button\",\n label: t(\"app:common:okButton\"),\n onClick: () => {\n STORE.session.errorModal.updateModalStatus(false);\n this.reset();\n }\n }\n ]\n }\n });\n STORE.session.errorModal.updateModalStatus(true);\n }\n static get styles() {\n return style;\n }\n get editMenuContent() {\n return html `\n \n \n \n \n \n \n \n \n \n \n `;\n }\n get editFloatingMenu() {\n return html `\n \n \n \n ${this.isSuccess\n ? html ` `\n : !this.isEdit\n ? html ` `\n : html ` `}\n \n \n ${this.isEdit ? html `
${this.editMenuContent}
` : nothing}\n \n `;\n }\n render() {\n return html `\n \n Edit Mode\n \n ${this.area && this.area.pageHeader\n ? html `\n
\n \n
\n `\n : nothing}\n ${this.area && this.area.useFlexLayout\n ? html `\n logger.error(\"event=dynamicWidgetsRender | Error while rendering uuip-dynamic-widgets: \", e.detail)}\n @widgetStatus=${(e) => logger.info(\"uuip-dynamic-widgets widget status\", e.detail)}\n >\n \n `\n : html `\n logger.error(\"event=dynamicWidgetsRender | Error while rendering uuip-dynamic-widgets: \", e.detail)}\n @widgetStatus=${(e) => logger.info(\"uuip-dynamic-widgets widget status\", e.detail)}\n >\n \n
SLOT ONE WORKS
\n
SLOT TWO WORKS
\n \n \n `}\n \n ${STORE.dynamic.isDragDrop ? this.editFloatingMenu : nothing}\n `;\n }\n // For debug of \"config_sample.json\" - page-dynamic-widgets-debug\n // --------------------------------------------------------------\n firstUpdated(props) {\n super.firstUpdated(props);\n if (window.ResizeObserver) {\n this.resizeObserver = new window.ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.contentBoxSize) {\n this.containerWidth = Math.floor(entry.contentRect.width);\n if (this.area && this.area.pageHeader) {\n this.containerHeight = Math.max(Math.floor(entry.contentRect.height) - HEADER_HEIGHT, MIN_CONTAINER_HEIGHT_FOR_ADVANCE_LAYOUT);\n }\n else {\n this.containerHeight = Math.max(Math.floor(entry.contentRect.height), MIN_CONTAINER_HEIGHT_FOR_ADVANCE_LAYOUT);\n }\n }\n }\n });\n this.resizeObserver.observe(this.layoutContainer);\n }\n }\n updated(props) {\n super.updated(props);\n const cs = getComputedStyle(this.layoutContainer);\n if (this.area && this.area.pageHeader) {\n this.containerHeight = Math.max(this.layoutContainer.offsetHeight + parseFloat(cs.marginTop) + parseFloat(cs.marginBottom) - HEADER_HEIGHT, MIN_CONTAINER_HEIGHT_FOR_ADVANCE_LAYOUT);\n }\n else {\n this.containerHeight = Math.max(this.layoutContainer.offsetHeight + parseFloat(cs.marginTop) + parseFloat(cs.marginBottom), MIN_CONTAINER_HEIGHT_FOR_ADVANCE_LAYOUT);\n }\n if (props.has(\"area\")) {\n this.requestUpdate();\n }\n }\n connectedCallback() {\n const _super = Object.create(null, {\n connectedCallback: { get: () => super.connectedCallback }\n });\n return __awaiter(this, void 0, void 0, function* () {\n _super.connectedCallback.call(this);\n // wait for dw\n yield new Promise((r) => setTimeout(r, 1000));\n this.dw && this.dw.addEventListener(\"UUIPCompEvt.click\", this.handleEventFromDynamicWidget);\n attachDynamicLayoutListeners();\n });\n }\n disconnectedCallback() {\n const _super = Object.create(null, {\n disconnectedCallback: { get: () => super.disconnectedCallback }\n });\n return __awaiter(this, void 0, void 0, function* () {\n _super.disconnectedCallback.call(this);\n this.dw && this.dw.removeEventListener(\"UUIPCompEvt.click\", this.handleEventFromDynamicWidget);\n this.resizeObserver && this.resizeObserver.unobserve(this.layoutContainer);\n removeDynamicLayoutListeners();\n });\n }\n handleEventFromDynamicWidget() {\n STORE.dynamic.updTest();\n }\n};\n__decorate([\n property({ attribute: false })\n], DynamicArea.prototype, \"area\", void 0);\n__decorate([\n property({ type: String })\n], DynamicArea.prototype, \"height\", void 0);\n__decorate([\n property({ type: Boolean })\n], DynamicArea.prototype, \"isStationLoginSuccess\", void 0);\n__decorate([\n internalProperty()\n], DynamicArea.prototype, \"isEdit\", void 0);\n__decorate([\n internalProperty()\n], DynamicArea.prototype, \"isSuccess\", void 0);\n__decorate([\n internalProperty()\n], DynamicArea.prototype, \"containerHeight\", void 0);\n__decorate([\n internalProperty()\n], DynamicArea.prototype, \"containerWidth\", void 0);\n__decorate([\n query(\"uuip-dynamic-widgets\")\n], DynamicArea.prototype, \"dw\", void 0);\n__decorate([\n query(\".layout-edit--trigger\")\n], DynamicArea.prototype, \"editLayoutTrigger\", void 0);\n__decorate([\n query(\".ual-container\")\n], DynamicArea.prototype, \"layoutContainer\", void 0);\n__decorate([\n query(\"uuip-advance-layouts\")\n], DynamicArea.prototype, \"adw\", void 0);\nDynamicArea = __decorate([\n customElement(\"dynamic-area\")\n], DynamicArea);\nexport { DynamicArea };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { t } from \"@/mixins/i18nMixin\";\nimport \"@agentx/agentx-mfe-wc-based\";\nimport { customElement, html, LitElement } from \"lit-element\";\nimport style from \"./EmptyResponsiveWidget.scss\";\nlet EmptyResponsiveWidget = class EmptyResponsiveWidget extends LitElement {\n static get styles() {\n return style;\n }\n render() {\n return html `\n \n ${t(\"app:desktopLayout.respNoWidget\")}\n \n `;\n }\n};\nEmptyResponsiveWidget = __decorate([\n customElement(\"empty-responsive-widget\")\n], EmptyResponsiveWidget);\nexport { EmptyResponsiveWidget };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport * as workerTimers from \"@uuip/unified-ui-platform-sdk\";\nimport { customElement, html, LitElement, query } from \"lit-element\";\nimport { AX_ANNOUNCEMENT_UPDATE, FIVE_HUNDRED_MS, POLITENESS_ASSERTIVE, POLITENESS_POLITE } from \"./constants\";\nimport style from \"./GlobalLiveAnnouncer.scss\";\nlet GlobalLiveAnnouncer = class GlobalLiveAnnouncer extends LitElement {\n constructor() {\n super(...arguments);\n this.assertiveTimeout = 0;\n this.politeTimeout = 0;\n this.resetAnnouncementWithDelay = (liveRegionEl, politeness) => {\n const timeoutVar = politeness === POLITENESS_ASSERTIVE ? this.assertiveTimeout : this.politeTimeout;\n if (timeoutVar) {\n workerTimers.clearTimeout(timeoutVar);\n }\n const newTimeout = workerTimers.setTimeout(() => {\n liveRegionEl.innerHTML = \" \";\n }, FIVE_HUNDRED_MS);\n if (politeness === POLITENESS_ASSERTIVE) {\n this.assertiveTimeout = newTimeout;\n }\n else {\n this.politeTimeout = newTimeout;\n }\n };\n this.updateAnnouncement = (e) => {\n var _a, _b, _c, _d, _e;\n const newAnnouncement = ((_b = (_a = e === null || e === void 0 ? void 0 : e.detail) === null || _a === void 0 ? void 0 : _a.thisEvent) === null || _b === void 0 ? void 0 : _b.message) || ((_c = e === null || e === void 0 ? void 0 : e.detail) === null || _c === void 0 ? void 0 : _c.message) || \"\";\n if (((_e = (_d = e === null || e === void 0 ? void 0 : e.detail) === null || _d === void 0 ? void 0 : _d.thisEvent) === null || _e === void 0 ? void 0 : _e.politeness) === POLITENESS_ASSERTIVE) {\n this.globalAriaLiveAssertive.innerHTML = newAnnouncement;\n this.resetAnnouncementWithDelay(this.globalAriaLiveAssertive, POLITENESS_ASSERTIVE);\n }\n else {\n this.globalAriaLivePolite.innerHTML = newAnnouncement;\n this.resetAnnouncementWithDelay(this.globalAriaLivePolite, POLITENESS_POLITE);\n }\n };\n this.registerGlobalLiveAnnouncer = () => {\n window.addEventListener(AX_ANNOUNCEMENT_UPDATE, this.updateAnnouncement);\n };\n this.unRegisterGlobalLiveAnnouncer = () => {\n window.removeEventListener(AX_ANNOUNCEMENT_UPDATE, this.updateAnnouncement);\n };\n }\n static get styles() {\n return style;\n }\n connectedCallback() {\n super.connectedCallback();\n this.registerGlobalLiveAnnouncer();\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.unRegisterGlobalLiveAnnouncer();\n }\n render() {\n return html `\n
\n
\n `;\n }\n};\n__decorate([\n query(\"#globalAriaLivePolite\")\n], GlobalLiveAnnouncer.prototype, \"globalAriaLivePolite\", void 0);\n__decorate([\n query(\"#globalAriaLiveAssertive\")\n], GlobalLiveAnnouncer.prototype, \"globalAriaLiveAssertive\", void 0);\nGlobalLiveAnnouncer = __decorate([\n customElement(\"global-live-announcer\")\n], GlobalLiveAnnouncer);\nexport { GlobalLiveAnnouncer };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { t } from \"@/mixins/i18nMixin\";\nimport { STORE } from \"@/store\";\nimport \"@agentx/agentx-mfe-wc-based\";\nimport \"@momentum-ui/web-components\";\nimport { LitElement, customElement, html, internalProperty, property, query } from \"lit-element\";\nimport style from \"./GotoAnalyzer.scss\";\nimport { ADD_FOCUS_AGENTX_GOTO_ANALYZER, Key } from \"./constants\";\n/**\n * @element agentx-wc-goto-analyzer\n */\nlet GotoAnalyzer = class GotoAnalyzer extends LitElement {\n constructor() {\n super(...arguments);\n this.environment = process.env.CC_DC;\n this.analyzerLink = `${STORE.envVaribles.serviceUrls.analyzerHost}/analyzer/home`;\n this.addFocusToAnchorTag = () => {\n var _a;\n let anchorTagElement = null;\n anchorTagElement = (_a = this.gotoAnalyzerElement.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(\"a\");\n setTimeout(() => anchorTagElement.focus(), 10);\n };\n this.goToAnalyzer = (event) => {\n if (!this.checkKeyboardEventKey(event)) {\n return;\n }\n window.open(this.analyzerLink);\n };\n }\n static get styles() {\n return style;\n }\n connectedCallback() {\n super.connectedCallback();\n document.addEventListener(ADD_FOCUS_AGENTX_GOTO_ANALYZER, this.addFocusToAnchorTag);\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n document.removeEventListener(ADD_FOCUS_AGENTX_GOTO_ANALYZER, this.addFocusToAnchorTag);\n }\n checkKeyboardEventKey(event) {\n if (event.type === \"keydown\") {\n const { code } = event;\n if (code !== Key.Space && code !== Key.Enter) {\n return false;\n }\n }\n return true;\n }\n render() {\n return html `\n {\n event.preventDefault();\n this.goToAnalyzer(event);\n }}\n @keydown=${(event) => this.goToAnalyzer(event)}\n tag=\"a\"\n >\n ${t(\"app:common.gotoAnalyzer\")}\n \n `;\n }\n};\n__decorate([\n property()\n], GotoAnalyzer.prototype, \"environment\", void 0);\n__decorate([\n internalProperty()\n], GotoAnalyzer.prototype, \"analyzerLink\", void 0);\n__decorate([\n query(\"#goto-analyzer-link\")\n], GotoAnalyzer.prototype, \"gotoAnalyzerElement\", void 0);\nGotoAnalyzer = __decorate([\n customElement(\"agentx-wc-goto-analyzer\")\n], GotoAnalyzer);\nexport { GotoAnalyzer };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { UTILS_DYNAMIC } from \"@/app/utils/UtilsDynamic\";\nimport { t } from \"@/mixins/i18nMixin\";\nimport { ResizeMixin } from \"@/mixins/ResizeMixin\";\nimport { STORE } from \"@/store\";\nimport webexImg from \"@img/teams-icon-color.svg\";\nimport { customElement, html, internalProperty, LitElement, property, query, queryAll } from \"lit-element\";\nimport { nothing } from \"lit-html\";\nimport { classMap } from \"lit-html/directives/class-map\";\nimport { ifDefined } from \"lit-html/directives/if-defined\";\nimport { handleShortcutKeyEvent, handleWebexModal, isSupervisor } from \"../utils/Utils\";\nimport { ACTION_ITEM_LI, LIST_ITEM, NOTES, NOTIFICATION, OUTDIAL, WEBEX } from \"./constants\";\n//TODO ACTION_ITEM_LI multiple attributes are not accepting in li items\nimport style from \"./HeaderActionItems.scss\";\nconst fullScreenSize = 1280;\nconst margin = 16;\nlet HeaderWrapper = class HeaderWrapper extends ResizeMixin(LitElement) {\n constructor() {\n super(...arguments);\n this.actionIcons = STORE.dynamic.actionIcons;\n this.isOutboundEnabledForTenant = STORE.agent.isOutboundEnabledForTenant;\n this.isOutboundEnabledForAgent = STORE.agent.isOutboundEnabledForAgent;\n this.getOutdialRegex = STORE.agent.getOutdialRegex;\n this.dnNumber = STORE.agent.dnNumber;\n this.selectedOutdialANI = STORE.agent.selectedOutdialANI;\n this.outDialEp = STORE.agent.outDialEp;\n this.isAdhocDialingEnabled = STORE.agent.isAdhocDialingEnabled;\n this.isActiveCall = STORE.agentContact.isActiveCall;\n this.isNotificationsEnabled = STORE.generalNotifications.isNotificationsEnabled;\n this.webexNotificationCount = STORE.generalNotifications.webexNotificationCount;\n this.notifications = STORE.generalNotifications.notifications;\n this.header = STORE.dynamic.header;\n this.outDialAni = STORE.agent.getOutDialAni;\n this.addressBook = STORE.agent.getAddressBook;\n this.hasWidgets = !!Object.keys(this.header || {}).length;\n this.webexEnabled = STORE.app.webexEnabled;\n this.isDarkModeEnable = STORE.app.darkMode;\n this.isAddressBookInfiniteScrollEnabled = STORE.app.featureFlags.isAddressBookInfiniteScrollEnabled;\n this.isOutdialDisabledForExclusive = STORE.agentContact.shouldDisableOutdialForExclusive;\n this.showDynamicWidget = true;\n this.isCallInProgress = false;\n this.webRtcStatus = STORE.agent.webRtcStatus;\n this.actionItemMap = [];\n this.setDisplay = (data) => {\n data.forEach((val, index) => {\n if (val) {\n this.actionBarItems[data.length - (index + 1)].classList.remove(\"hide\");\n this.overlayItems[data.length - (index + 1)].classList.add(\"hide\");\n }\n else {\n this.actionBarItems[data.length - (index + 1)].classList.add(\"hide\");\n this.overlayItems[data.length - (index + 1)].classList.remove(\"hide\");\n }\n });\n };\n }\n static get styles() {\n return style;\n }\n connectedCallback() {\n super.connectedCallback();\n this.setDynamicWidgetVisibility();\n this.stopListen = handleShortcutKeyEvent();\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n if (this.stopListen) {\n this.stopListen();\n }\n }\n firstUpdated(changedProperties) {\n const _super = Object.create(null, {\n firstUpdated: { get: () => super.firstUpdated }\n });\n return __awaiter(this, void 0, void 0, function* () {\n _super.firstUpdated.call(this, changedProperties);\n this.resizerEvent();\n this.switchColumnsToRows();\n });\n }\n handleResize() {\n this.resizerEvent();\n }\n resizerEvent() {\n var _a, _b;\n this.setDynamicWidgetVisibility();\n this.actionItemMap = [];\n const availableSlot = Math.floor((this.actionBar.offsetWidth - this.moreButton.offsetWidth - margin) /\n ((_b = (_a = this.actionBarItems[this.actionBarItems.length - 1]) === null || _a === void 0 ? void 0 : _a.offsetWidth) !== null && _b !== void 0 ? _b : 0));\n for (let i = 0; i < this.actionBarItems.length; i++) {\n if (availableSlot > i) {\n this.actionItemMap.push(true);\n }\n else {\n this.actionItemMap.push(false);\n }\n }\n this.setDisplay(this.actionItemMap);\n }\n setDynamicWidgetVisibility() {\n if (window.innerWidth < fullScreenSize) {\n this.showDynamicWidget = true;\n }\n else {\n this.showDynamicWidget = false;\n setTimeout(() => {\n this.switchColumnsToRows();\n }, 100);\n }\n }\n switchColumnsToRows() {\n var _a, _b, _c, _d;\n const dynamicAreaInMenuContainer = (_b = (_a = this.dynamicAreaInMenu) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector(\".container\");\n const dynamicAreaOutMenuContainer = (_d = (_c = this.dynamicAreaOutMenu) === null || _c === void 0 ? void 0 : _c.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector(\".container\");\n const currentGridAreas = dynamicAreaOutMenuContainer === null || dynamicAreaOutMenuContainer === void 0 ? void 0 : dynamicAreaOutMenuContainer.style.gridTemplateAreas;\n if (dynamicAreaInMenuContainer) {\n dynamicAreaInMenuContainer.style.cssText = this.turnGridAround(currentGridAreas);\n }\n }\n turnGridAround(currentGridAreas) {\n if (currentGridAreas) {\n const areas = currentGridAreas.split(\" \");\n // ** @yanaha: Sorry for this crutch, i had the hardest time trying to figure out template literals and such. I will be back.\n switch (areas.length) {\n case 1:\n return `grid-template-areas: ${areas[0]}`;\n case 2:\n return `grid-template-areas: ${areas[0]}\" \"${areas[1]}`;\n case 3:\n return `grid-template-areas: ${areas[0]}\" \"${areas[1]}\" \"${areas[2]}`;\n case 4:\n return `grid-template-areas: ${areas[0]}\" \"${areas[1]}\" \"${areas[2]}\" \"${areas[3]}`;\n case 5:\n return `grid-template-areas: ${areas[0]}\" \"${areas[1]}\" \"${areas[2]}\" \"${areas[3]}\" \"${areas[4]}`;\n default:\n return `grid-template-areas: ${currentGridAreas}`;\n }\n }\n return \"\";\n }\n renderActionElements(li) {\n var _a;\n const webexOpener = html `\n \n \n {\n handleWebexModal();\n }}\n >\n ${t(\"app:common.webex\")}\n \n \n ${this.webexNotificationCount > 0\n ? html `\n \n ${this.webexNotificationCount}\n \n `\n : nothing}\n \n `;\n const outDial = STORE.agent.orgId\n ? html `\n {\n STORE.agent.updateoutdialAniList(e.detail);\n }}\"\n @ax-outdial-update-ani-list-failed=\"${() => {\n STORE.agent.updateoutdialAniListFailed();\n }}\"\n @ax-outdial-fetch-addressbook-list-success=${(e) => {\n STORE.agent.updateAddressbookList(e.detail.data);\n }}\n @ax-outdial-fetch-addressbook-list-failure=${(e) => {\n STORE.agent.updateAddressbookListFailed(e.detail);\n }}\n @ax-outdial-ani=${(e) => {\n STORE.agent.updateSelectedOutdialANI(e.detail.data);\n }}\n isDarkModeEnable=\"${this.isDarkModeEnable}\"\n webRtcStatus=\"${this.webRtcStatus}\"\n isWebRTCEnabled=\"${STORE.app.featureFlags.isWebRTCEnabled}\"\n deviceType=\"${ifDefined(STORE.agent.deviceType === null ? undefined : STORE.agent.deviceType)}\"\n >\n ${t(\"app:actionBar.outdial\")}\n `\n : nothing;\n const notificationMenu = html `\n ${this.isNotificationsEnabled\n ? html `\n {\n this.dispatchEvent(new CustomEvent(\"clear-notifications\", {\n detail: {},\n bubbles: true,\n composed: true\n }));\n }}\"\n >\n ${t(\"app:actionBar.notifications\")}\n `\n : nothing}\n `;\n const notes = html `\n \n ${t(\"app:notes.notes\")}\n `;\n return html `\n ${(_a = this.actionIcons) === null || _a === void 0 ? void 0 : _a.map((data) => {\n switch (data) {\n case NOTIFICATION: {\n return html `\n ${li === \"li\"\n ? html `\n
  • \n ${notificationMenu}\n
  • \n `\n : html `\n ${notificationMenu}\n `}\n `;\n }\n case OUTDIAL: {\n if (!isSupervisor()) {\n return html `\n ${li === \"li\"\n ? html `
  • ${outDial}
  • `\n : html ` ${outDial} `}\n `;\n }\n else {\n return nothing;\n }\n }\n case WEBEX: {\n return html `\n ${li === \"li\" && this.webexEnabled\n ? html `
  • ${webexOpener}
  • `\n : this.webexEnabled\n ? html ` ${webexOpener} `\n : nothing}\n `;\n }\n case NOTES: {\n if (STORE.app.featureFlags.isDesktopNotesWidgetEnabled) {\n return li === \"li\"\n ? html `
  • ${notes}
  • `\n : html ` ${notes} `;\n }\n else {\n return html ``;\n }\n }\n default: {\n return ``;\n }\n }\n })};\n `;\n }\n dynamicWidgets(inMenu = false) {\n return html `\n ${this.header\n ? html `\n \n `\n : nothing}\n `;\n }\n render() {\n return html `\n
    \n \n ${this.dynamicWidgets()}\n
    \n\n
    \n \n \n \n \n \n \n \n \n \n
    \n
    \n ${this.renderActionElements(\"md-list-item\")} \n
    \n -1\n })} dynamic-widgets\"\n >\n ${this.dynamicWidgets(true)}\n
    \n
    \n \n \n
      \n ${this.renderActionElements(\"li\")}\n
    \n \n \n `;\n }\n};\n__decorate([\n property({ type: Array })\n], HeaderWrapper.prototype, \"actionIcons\", void 0);\n__decorate([\n property({ type: Boolean })\n], HeaderWrapper.prototype, \"isOutboundEnabledForTenant\", void 0);\n__decorate([\n property({ type: Boolean })\n], HeaderWrapper.prototype, \"isOutboundEnabledForAgent\", void 0);\n__decorate([\n property({ type: String })\n], HeaderWrapper.prototype, \"getOutdialRegex\", void 0);\n__decorate([\n property({ type: String })\n], HeaderWrapper.prototype, \"dnNumber\", void 0);\n__decorate([\n property({ type: Object })\n], HeaderWrapper.prototype, \"selectedOutdialANI\", void 0);\n__decorate([\n property({ type: String })\n], HeaderWrapper.prototype, \"outDialEp\", void 0);\n__decorate([\n property({ type: Boolean })\n], HeaderWrapper.prototype, \"isAdhocDialingEnabled\", void 0);\n__decorate([\n property({ type: Boolean })\n], HeaderWrapper.prototype, \"isActiveCall\", void 0);\n__decorate([\n property({ type: Boolean })\n], HeaderWrapper.prototype, \"isNotificationsEnabled\", void 0);\n__decorate([\n property({ type: Number })\n], HeaderWrapper.prototype, \"webexNotificationCount\", void 0);\n__decorate([\n property({ attribute: false })\n], HeaderWrapper.prototype, \"notifications\", void 0);\n__decorate([\n property({ attribute: false })\n], HeaderWrapper.prototype, \"header\", void 0);\n__decorate([\n property({ type: Object })\n], HeaderWrapper.prototype, \"outDialAni\", void 0);\n__decorate([\n property({ type: Object })\n], HeaderWrapper.prototype, \"addressBook\", void 0);\n__decorate([\n property({ type: Boolean })\n], HeaderWrapper.prototype, \"hasWidgets\", void 0);\n__decorate([\n property({ type: Boolean })\n], HeaderWrapper.prototype, \"webexEnabled\", void 0);\n__decorate([\n property({ attribute: false })\n], HeaderWrapper.prototype, \"isDarkModeEnable\", void 0);\n__decorate([\n property({ type: Boolean })\n], HeaderWrapper.prototype, \"isAddressBookInfiniteScrollEnabled\", void 0);\n__decorate([\n property({ type: Boolean })\n], HeaderWrapper.prototype, \"isOutdialDisabledForExclusive\", void 0);\n__decorate([\n property({\n type: Boolean\n })\n], HeaderWrapper.prototype, \"showDynamicWidget\", void 0);\n__decorate([\n property({ type: Boolean })\n], HeaderWrapper.prototype, \"isCallInProgress\", void 0);\n__decorate([\n property({ type: String })\n], HeaderWrapper.prototype, \"webRtcStatus\", void 0);\n__decorate([\n query(\".action-bar-holder\")\n], HeaderWrapper.prototype, \"actionBar\", void 0);\n__decorate([\n queryAll(\".action-bar-ul .action-item-li\")\n], HeaderWrapper.prototype, \"actionBarItems\", void 0);\n__decorate([\n queryAll(\".overlay-wrapper .action-item-li\")\n], HeaderWrapper.prototype, \"overlayItems\", void 0);\n__decorate([\n query(\".dynamic-widgets-in-menu\")\n], HeaderWrapper.prototype, \"dynamicAreaInMenu\", void 0);\n__decorate([\n query(\".dynamic-widgets-out-menu\")\n], HeaderWrapper.prototype, \"dynamicAreaOutMenu\", void 0);\n__decorate([\n query(\".more\")\n], HeaderWrapper.prototype, \"moreButton\", void 0);\n__decorate([\n internalProperty()\n], HeaderWrapper.prototype, \"actionItemMap\", void 0);\nHeaderWrapper = __decorate([\n customElement(\"header-action-items\")\n], HeaderWrapper);\nexport { HeaderWrapper };\n","import { createLogger } from \"@/sdk\";\nimport { STORE } from \"@/store\";\nimport { getHostFromUrl, isLocalhost } from \"../utils/URLUtils\";\nimport AiAssistantMessageProcessor from \"./AiAssistantMessageProcessor\";\nexport var InboundRequestType;\n(function (InboundRequestType) {\n InboundRequestType[\"ShowCallDropAiNotification\"] = \"ShowCallDropAiNotification\";\n InboundRequestType[\"ShowVirtualAgentSummaryNotification\"] = \"ShowVirtualAgentSummaryNotification\";\n InboundRequestType[\"RemoveAiSummaryNotifications\"] = \"RemoveAiSummaryNotifications\";\n InboundRequestType[\"ShowWellnessBreakNotification\"] = \"ShowWellnessBreakNotification\";\n InboundRequestType[\"RemoveWellnessBreakNotifications\"] = \"RemoveWellnessBreakNotifications\";\n InboundRequestType[\"ShowWellnessBreakErrorNotification\"] = \"ShowWellnessBreakErrorNotification\";\n})(InboundRequestType || (InboundRequestType = {}));\nexport var OutboundRequestType;\n(function (OutboundRequestType) {\n OutboundRequestType[\"OpenAiAssistant\"] = \"OpenAiAssistant\";\n OutboundRequestType[\"AcceptWellnessBreak\"] = \"AcceptWellnessBreak\";\n OutboundRequestType[\"RejectWellnessBreak\"] = \"RejectWellnessBreak\";\n OutboundRequestType[\"DismissWellnessBreak\"] = \"DismissWellnessBreak\";\n OutboundRequestType[\"TimeoutWellnessBreak\"] = \"TimeoutWellnessBreak\";\n})(OutboundRequestType || (OutboundRequestType = {}));\nexport var InboundAiAssistantError;\n(function (InboundAiAssistantError) {\n InboundAiAssistantError[InboundAiAssistantError[\"None\"] = 0] = \"None\";\n InboundAiAssistantError[InboundAiAssistantError[\"ChangeStateToResetError\"] = 1] = \"ChangeStateToResetError\";\n InboundAiAssistantError[InboundAiAssistantError[\"ChangeStateToAvailableError\"] = 2] = \"ChangeStateToAvailableError\";\n InboundAiAssistantError[InboundAiAssistantError[\"GeneralError\"] = 3] = \"GeneralError\";\n})(InboundAiAssistantError || (InboundAiAssistantError = {}));\nconst logger = createLogger(\"[MessageHandler]\");\nclass MessageHandler {\n constructor(messageProcessors = {}) {\n this.aiAssistantMessageProcessor =\n messageProcessors.aiAssistantMessageProcessor || new AiAssistantMessageProcessor();\n window.addEventListener(\"message\", this.receiveMessage.bind(this));\n }\n postMessage(outboundRequestType) {\n var _a;\n const targetOrigin = (_a = STORE.envVaribles.serviceUrls.hostUrl) !== null && _a !== void 0 ? _a : \"\";\n if (targetOrigin) {\n logger.info(\"Posting a message from wxcc-app:\", outboundRequestType);\n const outboundMessage = {\n type: \"wxcc-app\",\n config: {\n requestType: outboundRequestType\n }\n };\n window.postMessage(outboundMessage, isLocalhost() ? \"*\" : targetOrigin);\n }\n }\n receiveMessage(event) {\n if (!this.isCommunicationPermitted(event.origin)) {\n logger.error(\"Host URL does not match event.origin. Unable to receive message\");\n return;\n }\n const { type, config } = event.data;\n if (type === \"ai-assistant-app\") {\n const { requestType, errorType } = config;\n logger.info(\"Received a message from ai-assistant-app:\", requestType);\n switch (requestType) {\n case InboundRequestType.ShowCallDropAiNotification:\n case InboundRequestType.ShowVirtualAgentSummaryNotification:\n this.aiAssistantMessageProcessor.process({\n inboundRequestType: requestType,\n notificationLinkHandlerCallback: () => {\n this.postMessage(OutboundRequestType.OpenAiAssistant);\n }\n });\n break;\n case InboundRequestType.RemoveAiSummaryNotifications:\n case InboundRequestType.RemoveWellnessBreakNotifications:\n this.aiAssistantMessageProcessor.process({\n inboundRequestType: requestType\n });\n break;\n case InboundRequestType.ShowWellnessBreakNotification:\n this.aiAssistantMessageProcessor.process({\n inboundRequestType: requestType,\n notificationAcceptActionCallback: () => {\n this.postMessage(OutboundRequestType.AcceptWellnessBreak);\n },\n notificationRejectActionCallback: () => {\n this.postMessage(OutboundRequestType.RejectWellnessBreak);\n },\n notificationDismissActionCallback: () => {\n this.postMessage(OutboundRequestType.DismissWellnessBreak);\n },\n notificationTimeoutCallback: () => {\n this.postMessage(OutboundRequestType.TimeoutWellnessBreak);\n }\n });\n break;\n case InboundRequestType.ShowWellnessBreakErrorNotification:\n this.aiAssistantMessageProcessor.process({ inboundRequestType: requestType, errorType });\n }\n }\n }\n isCommunicationPermitted(origin) {\n var _a;\n const hostUrl = (_a = STORE.envVaribles.serviceUrls.hostUrl) !== null && _a !== void 0 ? _a : \"\";\n const hostUrlHostName = getHostFromUrl(hostUrl);\n const originHostName = getHostFromUrl(origin);\n return (hostUrl && (originHostName === null || originHostName === void 0 ? void 0 : originHostName.endsWith(hostUrlHostName))) || isLocalhost();\n }\n}\nexport default MessageHandler;\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { STORE } from \"@/store\";\nimport \"@agentx/agentx-mfe-wc-based\";\nimport \"@momentum-ui/web-components\";\nimport { customElement, html, internalProperty, LitElement, property } from \"lit-element\";\nimport { nothing } from \"lit-html\";\nimport { ADD_FOCUS_AGENTX_GOTO_ANALYZER, AGENTX_GOTO_ANALYZER_COMPONENT, AGENTX_MORE_ACTIONS_OPENED } from \"./constants\";\nimport \"./GotoAnalyzer\";\nimport style from \"./GotoAnalyzer.scss\";\n/**\n * @element agentx-more-actions-wrapper\n */\nlet MoreActionsWrapper = class MoreActionsWrapper extends LitElement {\n constructor() {\n super(...arguments);\n this.isAnalyzerEnabled = STORE.agent.isAnalyzerEnabled;\n }\n static get styles() {\n return style;\n }\n connectedCallback() {\n super.connectedCallback();\n window.addEventListener(\"store-profile-update\", () => {\n this.isAnalyzerEnabled = STORE.agent.isAnalyzerEnabled;\n });\n this.isAnalyzerEnabled = STORE.agent.isAnalyzerEnabled;\n // If the GotoAnalyzer is the first list element, set focus to the goto Analyzer link\n if (this.isAnalyzerEnabled &&\n this.actionList &&\n this.actionList.length > 0 &&\n this.actionList[0].comp === AGENTX_GOTO_ANALYZER_COMPONENT) {\n document.addEventListener(AGENTX_MORE_ACTIONS_OPENED, this.addFocusToGotoAnalyzer);\n }\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n document.removeEventListener(AGENTX_MORE_ACTIONS_OPENED, this.addFocusToGotoAnalyzer);\n }\n addFocusToGotoAnalyzer() {\n document.dispatchEvent(new CustomEvent(ADD_FOCUS_AGENTX_GOTO_ANALYZER));\n }\n handleGotoAnalyserFocus(event) {\n var _a, _b;\n const ind = (_a = this.actionList) === null || _a === void 0 ? void 0 : _a.findIndex((opt) => {\n return opt.comp === AGENTX_GOTO_ANALYZER_COMPONENT;\n });\n if (ind === ((_b = event.detail) === null || _b === void 0 ? void 0 : _b.selected)) {\n this.addFocusToGotoAnalyzer();\n }\n }\n isActionListValidToRender() {\n if (this.actionList && this.actionList.length > 0) {\n return ((this.actionList.length === 1 &&\n this.actionList[0].comp === AGENTX_GOTO_ANALYZER_COMPONENT &&\n this.isAnalyzerEnabled) ||\n this.actionList.length > 1);\n }\n else {\n return false;\n }\n }\n render() {\n return html `\n ${this.isActionListValidToRender()\n ? html `\n \n
    \n this.handleGotoAnalyserFocus(event)}\n >\n ${this.actionList &&\n this.actionList.map((actionComponent) => actionComponent.comp !== AGENTX_GOTO_ANALYZER_COMPONENT || this.isAnalyzerEnabled\n ? html `\n \n \n \n `\n : html ``)}\n \n
    \n \n `\n : nothing}\n `;\n }\n};\n__decorate([\n property()\n], MoreActionsWrapper.prototype, \"actionList\", void 0);\n__decorate([\n internalProperty()\n], MoreActionsWrapper.prototype, \"isAnalyzerEnabled\", void 0);\nMoreActionsWrapper = __decorate([\n customElement(\"agentx-more-actions-wrapper\")\n], MoreActionsWrapper);\nexport { MoreActionsWrapper };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport \"@agentx/agentx-mfe-wc-based\";\nimport \"@uuip/unified-ui-platform\";\nimport { customElement, html, internalProperty, LitElement, property } from \"lit-element\";\nimport { UTILS_DYNAMIC } from \"../utils/UtilsDynamic\";\nimport style from \"./PageTitle.scss\";\n/**\n * @element page-title\n */\nlet PageTitle = class PageTitle extends LitElement {\n constructor() {\n super(...arguments);\n this.pageTitle = \"\";\n this.titleText = \"\";\n this.titleHasRegex = (title) => {\n const extractedString = title.substring(title.indexOf(\"{\") + 1, title.indexOf(\"}\")).trim()[0];\n const substring = extractedString === \"$\";\n return title.includes(\"{\") && title.includes(\"}\", title.indexOf(\"{\")) && substring;\n };\n this.extractString = (regexString) => {\n let extractedString = \"\";\n const s = regexString.split(\"{\");\n s.forEach((str) => {\n const regexEndIndex = str.indexOf(\"}\");\n if (regexEndIndex !== -1) {\n str = str.trim();\n let extractedRegex = str.substring(0, regexEndIndex);\n const upd = (v) => (extractedRegex = v);\n const { value } = UTILS_DYNAMIC.storeDataProvider(extractedRegex, upd);\n extractedString =\n regexEndIndex === str.length\n ? extractedString + value\n : extractedString + value + str.substring(regexEndIndex + 1);\n }\n else {\n extractedString = extractedString + str;\n }\n });\n return extractedString;\n };\n this.extractPageTitle = (title) => {\n if (this.titleHasRegex(title)) {\n return this.extractString(title);\n }\n else {\n const upd = (v) => (title = v);\n const { value } = UTILS_DYNAMIC.storeDataProvider(title, upd);\n return value;\n }\n };\n }\n static get styles() {\n return style;\n }\n connectedCallback() {\n super.connectedCallback();\n this._timerInterval = setInterval(() => {\n this.titleText = this.extractPageTitle(this.pageTitle);\n }, 1000);\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n clearInterval(this._timerInterval);\n }\n render() {\n return html `
    ${this.titleText}
    `;\n }\n};\n__decorate([\n property()\n], PageTitle.prototype, \"pageTitle\", void 0);\n__decorate([\n internalProperty()\n], PageTitle.prototype, \"titleText\", void 0);\n__decorate([\n internalProperty()\n], PageTitle.prototype, \"_timerInterval\", void 0);\nPageTitle = __decorate([\n customElement(\"page-title\")\n], PageTitle);\nexport { PageTitle };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { STORE } from \"@/store\";\nimport { MobxLitElement } from \"@adobe/lit-mobx\";\nimport { customElement } from \"lit-element\";\nimport { html } from \"lit-html\";\nlet AgentXQualityMonitoringComp = class AgentXQualityMonitoringComp extends MobxLitElement {\n render() {\n return html `\n \n `;\n }\n};\nAgentXQualityMonitoringComp = __decorate([\n customElement(\"agentx-wc-quality-monitoring-widget\")\n], AgentXQualityMonitoringComp);\nexport { AgentXQualityMonitoringComp };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { t } from \"@/mixins/i18nMixin\";\nimport \"@agentx/agentx-mfe-wc-based\";\nimport \"@uuip/unified-ui-platform\";\nimport { customElement, html, internalProperty, LitElement, property, query } from \"lit-element\";\nimport { UTILS_DYNAMIC } from \"../utils/UtilsDynamic\";\nimport style from \"./TimezoneLabel.scss\";\nconst SECTION_MAX_WIDTH = 240;\n/**\n * @element timezone-label\n */\nlet TimezoneLabel = class TimezoneLabel extends LitElement {\n constructor() {\n super(...arguments);\n this.tenantTimezone = \"\";\n this.isOverflowing = false;\n this.timezoneValueWidth = 120;\n this.timezoneStoreValue = \"\";\n }\n static get styles() {\n return style;\n }\n updated(changedProperties) {\n var _a;\n super.updated(changedProperties);\n const { clientWidth, scrollWidth } = this.timezoneValue;\n if (clientWidth < scrollWidth) {\n this.isOverflowing = true;\n }\n else {\n this.isOverflowing = false;\n }\n this.timezoneValueWidth = SECTION_MAX_WIDTH - ((_a = this.timezoneLabel) === null || _a === void 0 ? void 0 : _a.clientWidth);\n }\n connectedCallback() {\n super.connectedCallback();\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n }\n firstUpdated(_changedProperties) {\n super.firstUpdated(_changedProperties);\n const upd = (v) => (this.tenantTimezone = v);\n const { value } = UTILS_DYNAMIC.storeDataProvider(this.tenantTimezone, upd);\n this.timezoneStoreValue = value;\n }\n render() {\n return html `\n
    \n

    ${t(\"app:common.timeZone\")} :

    \n  \n \n

    \n ${this.timezoneStoreValue === \"\" ? t(\"app:timezoneLabel.notDefined\") : this.timezoneStoreValue}\n

    \n \n
    \n `;\n }\n};\n__decorate([\n property()\n], TimezoneLabel.prototype, \"tenantTimezone\", void 0);\n__decorate([\n internalProperty()\n], TimezoneLabel.prototype, \"isOverflowing\", void 0);\n__decorate([\n internalProperty()\n], TimezoneLabel.prototype, \"timezoneValueWidth\", void 0);\n__decorate([\n internalProperty()\n], TimezoneLabel.prototype, \"timezoneStoreValue\", void 0);\n__decorate([\n query(\"p.timezone\")\n], TimezoneLabel.prototype, \"timezoneValue\", void 0);\n__decorate([\n query(\"p.title\")\n], TimezoneLabel.prototype, \"timezoneLabel\", void 0);\nTimezoneLabel = __decorate([\n customElement(\"timezone-label\")\n], TimezoneLabel);\nexport { TimezoneLabel };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { t } from \"@/mixins/i18nMixin\";\nimport { customElement, html, LitElement } from \"lit-element\";\nimport style from \"./UpdateProfileSettingsLoading.scss\";\nlet UpdateProfileSettingsLoading = class UpdateProfileSettingsLoading extends LitElement {\n constructor() {\n super(...arguments);\n this.languageResources = \"/i18n/{{lng}}/{{ns}}.json\";\n }\n static get styles() {\n return style;\n }\n render() {\n return html `\n
    \n
    \n ${html `\n \n

    ${t(\"app:updateProfileSettings.updateProfileLoadingHeader\")}

    \n

    ${t(\"app:updateProfileSettings.updateProfileLoadingMessage\")}

    \n `}\n
    \n
    \n `;\n }\n};\nUpdateProfileSettingsLoading = __decorate([\n customElement(\"user-profile-loading\")\n], UpdateProfileSettingsLoading);\nexport { UpdateProfileSettingsLoading };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { createLogger } from \"@/sdk\";\nimport { STORE } from \"@/store\";\nimport { BROWSER } from \"@/store/shared-actions/constants\";\nimport { SERVICE } from \"@agentx/agentx-services\";\nimport { customElement, html, internalProperty, LitElement, property, query } from \"lit-element\";\nimport { debounce } from \"../utils/Utils\";\nimport { registerWebCalling } from \"../utils/UtilsWebCalling\";\nimport { CANPLAY_THROUGH, DEVICE_CHANGED, INTERACTION_EVENTS, WEB_CALLING_EVENTS } from \"./constants\";\nconst logger = createLogger(\"WebCallingWidget\");\nlet WebCallingWidget = class WebCallingWidget extends LitElement {\n constructor() {\n super(...arguments);\n this.languageResources = \"/i18n/{{lng}}/{{ns}}.json\";\n this.mediaSettings = {};\n this.micDeviceId = \"\";\n this.localMicrophoneStream = {};\n this.micLabel = \"\";\n this.speakerLabel = \"\";\n this.agentId = \"\";\n this.handleCallAnswerEvt = () => __awaiter(this, void 0, void 0, function* () {\n if (STORE.agent.deviceType === BROWSER) {\n logger.info(\"[WebRtc]: answering webCall :: interactionId\", STORE.agentContact.selectedTaskId);\n yield this.updateMediaStreams();\n this.updateSpeakerSettings();\n STORE.agentContact.setIsCallMuted(false);\n SERVICE.webCalling.answerWebCall(this.localMicrophoneStream);\n }\n else {\n logger.info(\"[WebRtc]: Can not answer a non WebRtc Call\", STORE.agentContact.selectedTaskId);\n }\n });\n }\n connectedCallback() {\n super.connectedCallback();\n this.registerWebCallEvents();\n this.agentId = STORE.agent.agentId;\n }\n updated(changedProperties) {\n super.updated(changedProperties);\n if (changedProperties.has(\"mediaSettings\")) {\n this.updateSpeakerSettings();\n }\n }\n firstUpdated(props) {\n super.firstUpdated(props);\n this.cleanUpMedia();\n this.addPlayIfPausedEvents();\n }\n // handle speaker/mic updates from settings.\n updateSpeakerSettings() {\n return __awaiter(this, void 0, void 0, function* () {\n if (this.mediaSettings.speaker.ID) {\n this.remoteAudio.setSinkId(this.mediaSettings.speaker.ID);\n }\n if (this.remoteAudio) {\n this.remoteAudio.volume = this.mediaSettings.speaker.volume;\n this.remoteAudio.muted = this.mediaSettings.speaker.mute;\n }\n });\n }\n updateRemoteTrack(track) {\n this.remoteAudio.srcObject = new MediaStream([track]);\n }\n getMedia() {\n var _a, _b;\n return (_b = (_a = window === null || window === void 0 ? void 0 : window.callingClient) === null || _a === void 0 ? void 0 : _a.mediaEngine) === null || _b === void 0 ? void 0 : _b.Media;\n }\n getMic() {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n //CX-15987 WxCC | Intermittent WebRTC calls failure\n //This flow should be improved in general.\n //You shouldnt remain having Desktop selected if you have it selected already and THEN unplug your mic or lose permissions for any reason :p\n //\n registerWebCalling(STORE.app.domainUrl);\n const microphones = yield ((_a = this.getMedia()) === null || _a === void 0 ? void 0 : _a.getMicrophones());\n if (this.mediaSettings.mic.ID) {\n return microphones === null || microphones === void 0 ? void 0 : microphones.find((deviceObject) => deviceObject.ID === this.mediaSettings.mic.ID);\n }\n return microphones[0];\n });\n }\n getSpeaker() {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n const speakers = yield ((_a = this.getMedia()) === null || _a === void 0 ? void 0 : _a.getSpeakers());\n if (this.mediaSettings.speaker.ID) {\n return speakers.find((deviceObject) => deviceObject.ID === this.mediaSettings.speaker.ID);\n }\n return speakers[0];\n });\n }\n updateSpeaker() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const speaker = yield this.getSpeaker();\n if (this.speakerLabel !== speaker.label) {\n logger.info(`[WebRtc] : event=updateSpeaker ${speaker}, agentId ${this.agentId}`);\n this.micLabel = speaker.label;\n this.remoteAudio.setSinkId(speaker.ID);\n }\n }\n catch (e) {\n logger.error(\"[WebRtc] : updateMediaStreams Failed!\", e);\n }\n });\n }\n // streamMedia with localAudio.\n getMediaStream(audio) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n logger.info(\"[WebRtc] : audio passing for streaming\", audio);\n const microphoneStream = yield SERVICE.webCalling.getMicrophoneStream(audio);\n if (microphoneStream) {\n logger.info(\"[WebRtc] : event=getMicrophoneStream Success!\", microphoneStream, \"agentId:\", this.agentId);\n this.localMicrophoneStream = microphoneStream;\n this.localAudio.srcObject = microphoneStream.outputStream;\n //Firefox not respecting 'muted' property on audio element, need to set attribute after getting audio\n //https://github.com/vuejs/vue/issues/6887\n this.localAudio.muted = true;\n }\n }\n catch (e) {\n logger.error(\"[WebRtc] : getMediaStreams Failed!\", e);\n }\n });\n }\n // update streamMedia when mic device change.\n updateMediaStreams() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const audio = yield this.getMic();\n this.micLabel = audio.label;\n this.micDeviceId = audio.ID;\n logger.info(\"[WebRtc] : updateMediaStreams request !\");\n yield this.getMediaStream(audio);\n }\n catch (e) {\n logger.error(\"[WebRtc] : updateMediaStreams Failed!\", e);\n }\n });\n }\n getMediaElements() {\n return [this.localAudio, this.remoteAudio];\n }\n // cleanup all media tracks.\n cleanUpMedia() {\n const htmlMediaElements = this.getMediaElements();\n logger.info(\"[WebRtc]: event=cleanUpMedia, agentId :\", this.agentId);\n htmlMediaElements === null || htmlMediaElements === void 0 ? void 0 : htmlMediaElements.forEach((elem) => {\n var _a, _b;\n if (elem === null || elem === void 0 ? void 0 : elem.srcObject) {\n (_b = (_a = elem.srcObject) === null || _a === void 0 ? void 0 : _a.getTracks()) === null || _b === void 0 ? void 0 : _b.forEach((track) => track.stop());\n elem.srcObject = null;\n }\n });\n }\n handleCallIncomingEvt() {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.updateMediaStreams();\n this.updateSpeakerSettings();\n STORE.agentContact.setIsCallMuted(false);\n });\n }\n handleCallEstablishedEvt() {\n this.stopWebCallRing();\n logger.info(`[WebRtc]: webCall established :: interactionId\", ${STORE.agentContact.selectedTaskId}`);\n }\n handleCallDisconnectedEvt() {\n this.stopWebCallRing();\n logger.info(`[WebRtc]: webCall disconnected :: interactionId\", ${STORE.agentContact.selectedTaskId}`);\n STORE.agentContact.setIsCallMuted(false);\n this.cleanUpMedia();\n }\n handleCallDeclineEvt() {\n if (STORE.agent.deviceType === BROWSER) {\n SERVICE.webCalling.declineWebCall();\n this.cleanUpMedia();\n }\n else {\n logger.info(\"[WebRtc]: Can not decline a non WebRtc Call\", STORE.agentContact.selectedTaskId);\n }\n }\n stopWebCallRing() {\n if (STORE.app.featureFlags.isWebrtcRingingEnabled) {\n STORE.browserNotifications.stopRing();\n logger.info(\"[WebRtc]: Web call ringing stopped\");\n }\n }\n registerWebCallEvents() {\n var _a;\n window.addEventListener(WEB_CALLING_EVENTS.AX_WC_REMOTE_MEDIA_UPDATE, (e) => {\n this.updateRemoteTrack(e.detail.value);\n });\n window.addEventListener(WEB_CALLING_EVENTS.AX_WC_ANSWER, debounce(this.handleCallAnswerEvt, 300));\n window.addEventListener(WEB_CALLING_EVENTS.AX_WC_DECLINE, () => {\n this.handleCallDeclineEvt();\n });\n // mute the call while mic is muted in sound and mic settings.\n window.addEventListener(WEB_CALLING_EVENTS.AX_WC_ESTABLISHED, () => {\n this.handleCallEstablishedEvt();\n });\n // whenever call disconnects set the mute flag to false\n window.addEventListener(WEB_CALLING_EVENTS.AX_WC_DISCONNECTED, () => {\n this.handleCallDisconnectedEvt();\n });\n window.addEventListener(INTERACTION_EVENTS.AX_INTERACTION_DELETE, () => {\n this.handleCallDisconnectedEvt();\n });\n // mute/unmute the call when interaction control button clicked\n window.addEventListener(WEB_CALLING_EVENTS.AX_WC_MUTE_UNMUTE, () => {\n SERVICE.webCalling.muteWebCall(this.localMicrophoneStream);\n // update the store variable so as to detect the changes in view\n STORE.agentContact.toggleCallMuted();\n });\n // Handle mediaDevice Update by system.\n (_a = this.getMedia()) === null || _a === void 0 ? void 0 : _a.on(DEVICE_CHANGED, () => {\n logger.info(\"[WebRtc]: event=mediaDeviceChanged, agentId :\", this.agentId);\n // this.updateMediaStreams(); revert once calling-sdk support update track.\n this.updateSpeaker();\n });\n }\n unRegisterWebCallEvents() {\n window.removeEventListener(WEB_CALLING_EVENTS.AX_WC_REMOTE_MEDIA_UPDATE, (e) => {\n this.updateRemoteTrack(e.detail.value);\n });\n window.removeEventListener(WEB_CALLING_EVENTS.AX_WC_ANSWER, debounce(this.handleCallAnswerEvt, 300));\n window.removeEventListener(WEB_CALLING_EVENTS.AX_WC_DECLINE, () => {\n this.handleCallDeclineEvt();\n });\n // mute the call while mic is muted in sound and mic settings.\n window.removeEventListener(WEB_CALLING_EVENTS.AX_WC_ESTABLISHED, () => {\n this.handleCallEstablishedEvt();\n });\n // mute/unmute the call when interaction control button clicked\n window.removeEventListener(WEB_CALLING_EVENTS.AX_WC_MUTE_UNMUTE, () => {\n SERVICE.webCalling.muteWebCall(this.localMicrophoneStream);\n });\n window.removeEventListener(WEB_CALLING_EVENTS.AX_WC_DISCONNECTED, () => {\n this.handleCallDisconnectedEvt();\n });\n window.removeEventListener(INTERACTION_EVENTS.AX_INTERACTION_DELETE, () => {\n this.handleCallDisconnectedEvt();\n });\n }\n // play default paused media.\n addPlayIfPausedEvents() {\n const htmlMediaElements = this.getMediaElements();\n logger.info(\"[WebRtc]: event=canplaythrough play mediaElements, agentId:\", this.agentId);\n htmlMediaElements.forEach((elem) => {\n elem === null || elem === void 0 ? void 0 : elem.addEventListener(CANPLAY_THROUGH, () => {\n if (elem.paused) {\n elem.play();\n }\n });\n });\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.cleanUpMedia();\n this.unRegisterWebCallEvents();\n SERVICE.webCalling.deregisterWebCalling();\n }\n render() {\n return html `\n \n `;\n }\n};\n__decorate([\n property({ type: Object })\n], WebCallingWidget.prototype, \"mediaSettings\", void 0);\n__decorate([\n property({ type: String })\n], WebCallingWidget.prototype, \"micDeviceId\", void 0);\n__decorate([\n internalProperty()\n], WebCallingWidget.prototype, \"localMicrophoneStream\", void 0);\n__decorate([\n internalProperty()\n], WebCallingWidget.prototype, \"micLabel\", void 0);\n__decorate([\n internalProperty()\n], WebCallingWidget.prototype, \"speakerLabel\", void 0);\n__decorate([\n internalProperty()\n], WebCallingWidget.prototype, \"agentId\", void 0);\n__decorate([\n query(\"#local-audio\")\n], WebCallingWidget.prototype, \"localAudio\", void 0);\n__decorate([\n query(\"#remote-audio\")\n], WebCallingWidget.prototype, \"remoteAudio\", void 0);\nWebCallingWidget = __decorate([\n customElement(\"web-calling-widget\")\n], WebCallingWidget);\nexport { WebCallingWidget };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { createLogger } from \"@/sdk\";\nimport { STORE } from \"@/store\";\nimport { SERVICE } from \"@agentx/agentx-services\";\nimport { customElement, html, LitElement } from \"lit-element\";\nimport { debounce, triggerSendDTMFErrorNotification, triggerToggleMuteErrorNotification } from \"../utils/Utils\";\nimport { INTERACTION_EVENTS, WEBEX_CALLING_EVENTS } from \"./constants\";\nconst logger = createLogger(\"WebexCallingWidget\");\nlet WebexCallingWidget = class WebexCallingWidget extends LitElement {\n constructor() {\n super(...arguments);\n this.languageResources = \"/i18n/{{lng}}/{{ns}}.json\";\n this.fetchAndSetMuteStateForCurrentCall = () => {\n var _a;\n const activeCallId = (_a = STORE.agentContact.getWebexCallingCallId) !== null && _a !== void 0 ? _a : \"\";\n if (activeCallId && activeCallId !== \"\") {\n SERVICE.webexCalling\n .getCallDetails({ callId: activeCallId })\n .then((callDetails) => {\n if (callDetails && callDetails.muted !== undefined && callDetails.muted !== STORE.agentContact.isCallMuted) {\n this.setCallMuted(callDetails.muted);\n }\n })\n .catch((err) => {\n var _a;\n logger.error(`Error getting call details for callId: ${activeCallId}. trackingId: ${(_a = err === null || err === void 0 ? void 0 : err.details) === null || _a === void 0 ? void 0 : _a.trackingId}`);\n });\n }\n };\n this.sendDTMF = (e) => {\n if (e.detail && e.detail.callId && e.detail.callId !== \"\" && e.detail.dtmf && e.detail.dtmf !== \"\") {\n const callId = e.detail.callId;\n const dtmf = e.detail.dtmf;\n SERVICE.webexCalling.sendDTMF({ callId, dtmf }).catch((err) => {\n var _a;\n logger.error(`Error sending DTMF. trackingId: ${(_a = err === null || err === void 0 ? void 0 : err.details) === null || _a === void 0 ? void 0 : _a.trackingId}`);\n triggerSendDTMFErrorNotification();\n });\n }\n };\n this.toggleMuteStateOfCall = (e) => {\n if (e.detail && e.detail.callId && e.detail.callId !== \"\") {\n const callId = e.detail.callId;\n if (STORE.agentContact.isCallMuted) {\n this.setCallMuted(false);\n SERVICE.webexCalling.unmuteCall({ callId }).catch((err) => {\n var _a;\n logger.error(`Error un-muting the call. trackingId: ${(_a = err === null || err === void 0 ? void 0 : err.details) === null || _a === void 0 ? void 0 : _a.trackingId}`);\n triggerToggleMuteErrorNotification(false);\n this.setCallMuted();\n });\n }\n else {\n this.setCallMuted();\n SERVICE.webexCalling.muteCall({ callId }).catch((err) => {\n var _a;\n logger.error(`Error muting the call. trackingId: ${(_a = err === null || err === void 0 ? void 0 : err.details) === null || _a === void 0 ? void 0 : _a.trackingId}`);\n triggerToggleMuteErrorNotification(true);\n this.setCallMuted(false);\n });\n }\n }\n };\n this.mercurySyncToggleMuteStateOfCall = (e) => {\n if (e.detail && e.detail.callId && e.detail.callId !== \"\" && e.detail.muted !== undefined) {\n const callIdForMuteChange = e.detail.callId;\n const isMuted = e.detail.muted;\n const activeCallId = STORE.agentContact.getWebexCallingCallId;\n if (activeCallId && callIdForMuteChange.endsWith(activeCallId) && STORE.agentContact.isCallMuted !== isMuted) {\n this.setCallMuted(isMuted);\n }\n }\n };\n }\n connectedCallback() {\n super.connectedCallback();\n this.registerCallEvents();\n }\n registerCallEvents() {\n window.addEventListener(WEBEX_CALLING_EVENTS.AX_WXC_ANSWERED, debounce(this.setCallMuted(false), 300));\n window.addEventListener(INTERACTION_EVENTS.AX_INTERACTION_DELETE, () => {\n this.setCallMuted(false);\n });\n window.addEventListener(INTERACTION_EVENTS.AX_SELECTED_INTERACTION_CHANGED, () => {\n this.fetchAndSetMuteStateForCurrentCall();\n });\n window.addEventListener(WEBEX_CALLING_EVENTS.AX_WXC_MUTE_UNMUTE, (e) => {\n this.toggleMuteStateOfCall(e);\n });\n window.addEventListener(WEBEX_CALLING_EVENTS.AX_WXC_MERC_SYNC_MUTE_UNMUTE, (e) => {\n this.mercurySyncToggleMuteStateOfCall(e);\n });\n window.addEventListener(WEBEX_CALLING_EVENTS.AX_WXC_SEND_DTMF, (e) => {\n this.sendDTMF(e);\n });\n }\n unRegisterCallEvents() {\n window.removeEventListener(WEBEX_CALLING_EVENTS.AX_WXC_ANSWERED, debounce(this.setCallMuted(false), 300));\n window.removeEventListener(INTERACTION_EVENTS.AX_INTERACTION_DELETE, () => {\n this.setCallMuted(false);\n });\n window.removeEventListener(INTERACTION_EVENTS.AX_SELECTED_INTERACTION_CHANGED, () => {\n this.fetchAndSetMuteStateForCurrentCall();\n });\n window.removeEventListener(WEBEX_CALLING_EVENTS.AX_WXC_MUTE_UNMUTE, (e) => {\n this.toggleMuteStateOfCall(e);\n });\n window.removeEventListener(WEBEX_CALLING_EVENTS.AX_WXC_SEND_DTMF, (e) => {\n this.sendDTMF(e);\n });\n window.removeEventListener(WEBEX_CALLING_EVENTS.AX_WXC_MERC_SYNC_MUTE_UNMUTE, (e) => {\n this.mercurySyncToggleMuteStateOfCall(e);\n });\n }\n disconnectedCallback() {\n this.unRegisterCallEvents();\n }\n setCallMuted(muted = true) {\n // this will set the call muted state in the store which has the effect of re-rendering the call control buttons\n STORE.agentContact.setIsCallMuted(muted);\n }\n render() {\n return html ` `;\n }\n};\nWebexCallingWidget = __decorate([\n customElement(\"webex-calling-widget\")\n], WebexCallingWidget);\nexport { WebexCallingWidget };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { isSupervisor } from \"@/app/utils/Utils\";\nimport { STORE } from \"@/store\";\nimport { LitElement, customElement, property } from \"lit-element\";\nimport { html, nothing } from \"lit-html\";\nimport { hideBanner, showBanner } from \"../../utils/AlertBannerUtils\";\nimport { AGENT_STATE_CHANGEDBY_NAME } from \"../constants\";\nlet AgentXStateSelectorComp = class AgentXStateSelectorComp extends LitElement {\n constructor() {\n super(...arguments);\n this.agentStateProps = STORE.agent.getAgentStateProps;\n }\n connectedCallback() {\n super.connectedCallback();\n setTimeout(() => this.requestUpdate(), 0);\n }\n render() {\n return !isSupervisor()\n ? html `\n STORE.agent.updateAgentStateIdleCodes(e.detail)}\"\n @ax-state-selected=\"${(e) => STORE.agent.selectState(e)}\"\n @ax-banner-show=\"${(e) => showBanner(e)}\"\n @ax-banner-hide=\"${() => hideBanner(AGENT_STATE_CHANGEDBY_NAME)}\"\n @ax-state-selected-failed=\"${(e) => STORE.session.errorModal.setErrorDetails(e)}\"\n >\n `\n : nothing;\n }\n};\n__decorate([\n property({ attribute: false })\n], AgentXStateSelectorComp.prototype, \"agentStateProps\", void 0);\nAgentXStateSelectorComp = __decorate([\n customElement(\"agentx-state-selector\")\n], AgentXStateSelectorComp);\nexport { AgentXStateSelectorComp };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { STORE } from \"@/store\";\nimport { customElement, LitElement, property } from \"lit-element\";\nimport { html } from \"lit-html\";\nlet AgentXNotesComp = class AgentXNotesComp extends LitElement {\n constructor() {\n super(...arguments);\n this.agentId = STORE.agent.agentId;\n }\n render() {\n return html ` `;\n }\n};\n__decorate([\n property({ attribute: false })\n], AgentXNotesComp.prototype, \"agentId\", void 0);\nAgentXNotesComp = __decorate([\n customElement(\"agentx-notes\")\n], AgentXNotesComp);\nexport { AgentXNotesComp };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { STORE } from \"@/store\";\nimport { customElement, LitElement, property } from \"lit-element\";\nimport { html, nothing } from \"lit-html\";\nlet AgentXNotificationComp = class AgentXNotificationComp extends LitElement {\n constructor() {\n super(...arguments);\n this.notifications = STORE.generalNotifications.notifications;\n this.isNotificationsEnabled = STORE.generalNotifications.isNotificationsEnabled;\n }\n render() {\n return html `\n ${this.isNotificationsEnabled\n ? html `\n {\n this.dispatchEvent(new CustomEvent(\"clear-notifications\", {\n detail: {},\n bubbles: true,\n composed: true\n }));\n }}\"\n >\n `\n : nothing}\n `;\n }\n};\n__decorate([\n property({ attribute: false })\n], AgentXNotificationComp.prototype, \"notifications\", void 0);\n__decorate([\n property({ type: Boolean })\n], AgentXNotificationComp.prototype, \"isNotificationsEnabled\", void 0);\nAgentXNotificationComp = __decorate([\n customElement(\"agentx-notification\")\n], AgentXNotificationComp);\nexport { AgentXNotificationComp };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { isSupervisor } from \"@/app/utils/Utils\";\nimport { STORE } from \"@/store\";\nimport { retryAuthentication } from \"@/app/integration/microsoft\";\nimport { customElement, LitElement, property } from \"lit-element\";\nimport { html, nothing } from \"lit-html\";\nimport { ifDefined } from \"lit-html/directives/if-defined\";\nlet AgentXOutdialComp = class AgentXOutdialComp extends LitElement {\n constructor() {\n super(...arguments);\n this.isOutboundEnabledForTenant = STORE.agent.isOutboundEnabledForTenant;\n this.isOutboundEnabledForAgent = STORE.agent.isOutboundEnabledForAgent;\n this.getOutdialRegex = STORE.agent.getOutdialRegex;\n this.dnNumber = STORE.agent.dnNumber;\n this.selectedOutdialANI = STORE.agent.selectedOutdialANI;\n this.outDialEp = STORE.agent.outDialEp;\n this.isAdhocDialingEnabled = STORE.agent.isAdhocDialingEnabled;\n this.isActiveCall = STORE.agentContact.isActiveCall;\n this.outDialAni = STORE.agent.getOutDialAni;\n this.addressBook = STORE.agent.getAddressBook;\n this.isDarkModeEnable = STORE.app.darkMode;\n this.isOutdialDisabledForExclusive = STORE.agentContact.shouldDisableOutdialForExclusive;\n this.webRtcStatus = STORE.agent.webRtcStatus;\n this.isAddressBookInfiniteScrollEnabled = STORE.app.featureFlags.isAddressBookInfiniteScrollEnabled;\n this.isOutdialOrgSearchEnabled = STORE.app.featureFlags.isOutdialOrgSearchEnabled;\n this.displayMicrosoftUserDetails = STORE.agent.collaboration.displayMicrosoftUserDetails;\n this.displayWebexUserDetails = STORE.agent.displayWebexUserDetails;\n this.microsoftAuthenticated = STORE.auth.getMicrosoftAuthConfig.isAuthenticated;\n }\n render() {\n if (!isSupervisor()) {\n return html `\n {\n STORE.agent.updateoutdialAniList(e.detail);\n }}\"\n @ax-outdial-update-ani-list-failed=\"${() => {\n STORE.agent.updateoutdialAniListFailed();\n }}\"\n @ax-outdial-fetch-addressbook-list-success=${(e) => {\n STORE.agent.updateAddressbookList(e.detail.data);\n }}\n @ax-outdial-fetch-addressbook-list-failure=${(e) => {\n STORE.agent.updateAddressbookListFailed(e.detail);\n }}\n @ax-outdial-ani=${(e) => {\n STORE.agent.updateSelectedOutdialANI(e.detail.data);\n }}\n @initiate-microsoft-auth-flow=\"${() => {\n retryAuthentication();\n }}\"\n isDarkModeEnable=\"${this.isDarkModeEnable}\"\n webRtcStatus=\"${this.webRtcStatus}\"\n isWebRTCEnabled=\"${STORE.app.featureFlags.isWebRTCEnabled}\"\n deviceType=\"${ifDefined(STORE.agent.deviceType === null ? undefined : STORE.agent.deviceType)}\"\n isOutDialOrgSearchEnabled=\"${this.isOutdialOrgSearchEnabled}\"\n displayMicrosoftUserDetails=\"${this.displayMicrosoftUserDetails}\"\n displayWebexUserDetails=\"${this.displayWebexUserDetails}\"\n microsoftAuthenticated=\"${this.microsoftAuthenticated}\"\n >\n `;\n }\n else {\n return nothing;\n }\n }\n};\n__decorate([\n property({ type: Boolean })\n], AgentXOutdialComp.prototype, \"isOutboundEnabledForTenant\", void 0);\n__decorate([\n property({ type: Boolean })\n], AgentXOutdialComp.prototype, \"isOutboundEnabledForAgent\", void 0);\n__decorate([\n property({ type: String })\n], AgentXOutdialComp.prototype, \"getOutdialRegex\", void 0);\n__decorate([\n property({ type: String })\n], AgentXOutdialComp.prototype, \"dnNumber\", void 0);\n__decorate([\n property({ type: Object })\n], AgentXOutdialComp.prototype, \"selectedOutdialANI\", void 0);\n__decorate([\n property({ type: String })\n], AgentXOutdialComp.prototype, \"outDialEp\", void 0);\n__decorate([\n property({ type: Boolean })\n], AgentXOutdialComp.prototype, \"isAdhocDialingEnabled\", void 0);\n__decorate([\n property({ type: Boolean })\n], AgentXOutdialComp.prototype, \"isActiveCall\", void 0);\n__decorate([\n property({ type: Object })\n], AgentXOutdialComp.prototype, \"outDialAni\", void 0);\n__decorate([\n property({ type: Object })\n], AgentXOutdialComp.prototype, \"addressBook\", void 0);\n__decorate([\n property({ attribute: false })\n], AgentXOutdialComp.prototype, \"isDarkModeEnable\", void 0);\n__decorate([\n property({ type: Boolean })\n], AgentXOutdialComp.prototype, \"isOutdialDisabledForExclusive\", void 0);\n__decorate([\n property({ type: String })\n], AgentXOutdialComp.prototype, \"webRtcStatus\", void 0);\n__decorate([\n property({ type: Boolean })\n], AgentXOutdialComp.prototype, \"isAddressBookInfiniteScrollEnabled\", void 0);\n__decorate([\n property({ type: Boolean })\n], AgentXOutdialComp.prototype, \"isOutdialOrgSearchEnabled\", void 0);\n__decorate([\n property({ type: Boolean })\n], AgentXOutdialComp.prototype, \"displayMicrosoftUserDetails\", void 0);\n__decorate([\n property({ type: Boolean })\n], AgentXOutdialComp.prototype, \"displayWebexUserDetails\", void 0);\n__decorate([\n property({ type: Boolean })\n], AgentXOutdialComp.prototype, \"microsoftAuthenticated\", void 0);\nAgentXOutdialComp = __decorate([\n customElement(\"agentx-outdial\")\n], AgentXOutdialComp);\nexport { AgentXOutdialComp };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { t } from \"@/mixins/i18nMixin\";\nimport { STORE } from \"@/store\";\nimport webexImg from \"@img/teams-icon-color.svg\";\nimport { css, customElement, LitElement, property } from \"lit-element\";\nimport { html, nothing } from \"lit-html\";\nimport { handleShortcutKeyEvent, handleWebexModal } from \"../../utils/Utils\";\nlet AgentXWebexComp = class AgentXWebexComp extends LitElement {\n constructor() {\n super(...arguments);\n this.webexNotificationCount = STORE.generalNotifications.webexNotificationCount;\n this.webexEnabled = STORE.app.webexEnabled;\n }\n connectedCallback() {\n super.connectedCallback();\n this.stopListen = handleShortcutKeyEvent();\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n if (this.stopListen) {\n this.stopListen();\n }\n }\n static get styles() {\n return css `\n .webex-img {\n height: calc(var(--space-token-even) * 8);\n width: calc(var(--space-token-even) * 10);\n }\n\n .webex-notification-icon_wrap {\n display: inline-block;\n position: relative;\n }\n\n .webex-notification-icon-badge {\n position: absolute;\n display: inline-flex;\n top: -4px;\n right: -4px;\n }\n `;\n }\n render() {\n return html `\n \n \n {\n handleWebexModal();\n }}\n >\n ${t(\"app:common.webex\")}\n \n \n ${this.webexNotificationCount > 0\n ? html `\n \n ${this.webexNotificationCount}\n \n `\n : nothing}\n \n `;\n }\n};\n__decorate([\n property({ type: Number })\n], AgentXWebexComp.prototype, \"webexNotificationCount\", void 0);\n__decorate([\n property({ type: Boolean })\n], AgentXWebexComp.prototype, \"webexEnabled\", void 0);\nAgentXWebexComp = __decorate([\n customElement(\"agentx-webex\")\n], AgentXWebexComp);\nexport { AgentXWebexComp };\n","export const WEBEX = \"webex\";\nexport const NOTES = \"notes\";\nexport const OUTDIAL = \"outdial\";\nexport const NOTIFICATION = \"notification\";\nexport const ACTION_ITEM_LI = \"action-item-li\";\nexport const LIST_ITEM = \"list-item\";\nexport const DEFAULT_ACTION_ITEMS_ORDER = [NOTES, WEBEX, OUTDIAL, NOTIFICATION];\nexport const SUPERVISOR_AUTO_LOGIN_EVENT = \"supervisor-auto-login\";\nexport const BARGE_IN_EVENT_NAME = \"BargedIn\";\nexport const BARGE_IN_MONITORING_STATE = \"BargeIn\";\nexport const MICROSOFT_TEAMS = \"Microsoft Teams\";\nexport const USER_ROLES = {\n SUPERVISOR: \"cjp.supervisor\",\n CCS_ADMIN: \"cjp.admin\",\n PREMIUM_AGENT: \"cjp.premium_agent\",\n STANDARD_AGENT: \"cjp.standard_agent\",\n FULL_ADMIN: \"id_full_admin\",\n PROVISION_ADMIN: \"atlas-portal.partner.provision_admin\",\n READ_ONLY_ADMIN: \"id_readonly_admin\",\n PARTNER_ADMIN: \"atlas-portal.partner.salesadmin\",\n CISCO_TAC_ADMIN: \"atlas-portal.partner.helpdesk\"\n};\nexport const SYSTEM_ROLES = {\n EXTERNAL_FULL_ADMIN: \"EXTERNAL_FULL_ADMIN\",\n EXTERNAL_READONLY_ADMIN: \"EXTERNAL_READONLY_ADMIN\",\n SUPERVISOR: \"supervisor\",\n AGENT: \"agent\",\n AGENT_AND_SUPERVISOR: \"agent_supervisor\"\n};\nexport const ROUTE_NOT_FOUND_TYPE = {\n TASK_NOT_FOUND: \"task-not-found\",\n ROUTE_NOT_FOUND: \"route-not-found\"\n};\nexport var MONITORING_TYPE;\n(function (MONITORING_TYPE) {\n MONITORING_TYPE[\"MIDCALL\"] = \"midcall\";\n MONITORING_TYPE[\"ADHOC\"] = \"adhoc\";\n MONITORING_TYPE[\"CONTINUOUS\"] = \"continuous\";\n})(MONITORING_TYPE || (MONITORING_TYPE = {}));\nexport const MEDIA_TYPES = {\n MIDCALL_MONITORING: \"midcall telephony\",\n APPLE_BUSINESS_CHAT: \"appleMessages\",\n EMAIL: \"email\",\n SMS: \"sms\",\n OUTBOUND_AGENT_INITIATED_EMAIL: \"outboundEmail\",\n OUTBOUND_AGENT_INITIATED_SMS: \"outboundSms\"\n};\nexport const OUTBOUND_TYPE = {\n OUTDIAL: \"OUTDIAL\",\n CALLBACK: \"CALLBACK\",\n IVR_PREDICTIVE: \"IVR_PREDICTIVE\",\n IVR_PROGRESSIVE: \"IVR_PROGRESSIVE\",\n CAMPAIGN: \"CAMPAIGN\",\n OUTDIAL_RESERVATION: \"OUTDIAL_RESERVATION\"\n};\nexport const CONTACT_DIRECTION = {\n OUTBOUND: \"OUTBOUND\",\n INBOUND: \"INBOUND\"\n};\nexport const OUTBOUND = \"OUTBOUND\";\nexport const CALLBACK_RETRY_REASON_CODES = {\n NO_ANSWER_FROM_CUSTOMER: 1021,\n CUSTOMER_BUSY: 1022,\n CUSTOMER_UNAVAILABLE: 1023,\n AGENT_ENDS: 1024,\n NO_MATCHING_AGENT_CHANNEL_FOUND: 1025,\n INVALID_VTEAM: 1026,\n AGENT_CHANNEL_NOT_FOUND: 1027,\n REASON_CODE_NOT_AVAILABLE: 1028,\n AGENT_LEFT: 1029,\n CUSTOMER_LEFT: 1030,\n QUEUE_TIMEOUT: 1034,\n AMD_DETECTED_IN_CALLBACK: 1088\n};\nexport const WEBEX_MINIMIZE_MODAL = \"webex-minimize-modal\";\nexport const WEBEX_SHOW_MODAL = \"webex-show-modal\";\nexport const DEFAULT_LOGIN_VOICE_OPTIONS = [\"AGENT_DN\", \"EXTENSION\"];\nexport const MicrophoneAccessStatus = {\n denied: \"denied\",\n prompt: \"prompt\",\n granted: \"granted\"\n};\nexport const AGENT = \"Agent\";\nexport const CUSTOMER = \"Customer\";\nexport const SUPERVISOR = \"Supervisor\";\nexport const VVA = \"VVA\";\nexport const DEVICE_CHANGED = \"device:changed\";\nexport const CANPLAY_THROUGH = \"canplaythrough\";\nexport const WEB_CALLING_EVENTS = {\n AX_WC_REMOTE_MEDIA_UPDATE: \"ax-web-call-remote-media-update\",\n AX_WC_ANSWER: \"ax-web-call-answer\",\n AX_WC_DECLINE: \"ax-web-call-decline\",\n AX_WC_ESTABLISHED: \"ax-web-call-established\",\n AX_WC_MUTE_UNMUTE: \"ax-web-call-mute-unmute\",\n AX_WC_DISCONNECTED: \"ax-web-call-disconnected\",\n AX_WC_INCOMING: \"ax-web-call-incoming\",\n AX_WEB_CALL_AUTO_ANSWER: \"ax-web-call-auto-answer\"\n};\nexport const WEBEX_CALLING_EVENTS = {\n AX_WXC_ANSWERED: \"ax-webex-call-answered\",\n AX_WXC_MUTE_UNMUTE: \"ax-webex-call-mute-unmute\",\n AX_WXC_SEND_DTMF: \"ax-webex-call-send-dtmf\",\n AX_WXC_MERC_SYNC_MUTE_UNMUTE: \"webex-calling-merc-sync-mute-unmute\"\n};\nexport const DIGITAL_OUTBOUND_EVENTS = {\n AX_DIGITAL_OUTBOUND_AUTO_ANSWER: \"ax-digital-outbound-auto-answer\"\n};\nexport const INTERACTION_EVENTS = {\n AX_INTERACTION_DELETE: \"ax-interaction-delete\",\n AX_SELECTED_INTERACTION_CHANGED: \"ax-selected-interaction-changed\"\n};\nexport const WEB_RTC_STATUS = {\n WEB_RTC_CONNECTED: \"webRtcConnected\",\n WEB_RTC_REGISTERING: \"webRtcRegistering\",\n WEB_RTC_DISCONNECTED: \"webRtcDisconnected\"\n};\nexport const PRESENCE_REQUEST_EVENTS = {\n AX_PRESENCE_REQUEST_SUCCESS: \"presence-mercury-success\",\n AX_PRESENCE_REQUEST_RETRY: \"presence-mercury-retry\",\n AX_PRESENCE_REQUEST_FAILURE: \"presence-mercury-failure\"\n};\nexport const PRESENCE_STAT = {\n MERCURY: \"mercury\",\n SYNC: \"sync\",\n RETRYING: \"retrying\",\n SUCCESSFUL: \"successful\",\n FAILURE: \"failure\"\n};\n// Add all the new reason codes in this list for comparison, as well as in app.json for the messages to be localised\nexport const reasonCodesList = [\n 1073, 1072, 1071, 1070, 1050, 1005, 1051, 1010, 1037, 1038, 1042, 1043, 1045, 1046, 1047, 109, 112, 113, 114, 115,\n 116, 117, 118, 121, 141, 127, 138, 1021, 1022, 1023, 1024, 1029, 1030, 1017, 1033, 1028\n];\nexport const TOGGLE_VOICE_INTERACTION_PANEL = \"toggle-voice-interaction-panel\";\nexport const FC_DESKTOP_VIEW = \"FC-DESKTOP-VIEW\";\nexport const fcDesktopView = \"fcDesktopView\";\nexport const AGENT_STATE_CHANGE_FAILED = \"agent-state-change-failed\";\nexport const AGENT_SIGNOUT_RESULT = \"agent-signout-result\";\nexport const APPLE_MESSAGE_DARK_SVG = \"images/illustrations/apple-messages-dark.svg\";\nexport const APPLE_MESSAGE_LIGHT_SVG = \"images/illustrations/apple-messages-light.svg\";\nexport const AGENT_STATE_CHANGEDBY_NAME = \"agentStateChangedByName\";\nexport const STATE_CHANGE_BANNER = \"stageChangeBanner\";\nexport const ALERT_BANNER_DETAILS = \"alertBannerDetails\";\nexport const mainICHeight = 81; // minimum height of main interaction control\nexport const consultICHeight = 81; // minimum height of consult interaction control\nexport const SUPERVISOR_EVENT = \"SupervisorDesktopMessage\";\nexport const PRESENCE_SYNC = \"PRESENCE_SYNC\";\nexport const PRESENCE_SYNC_TTL = 600;\nexport const REVOKE_PRESENCE_TOKEN_FAILURE = \"revoke-presence-token-failure\";\nexport const AgentConsultEnded = \"AgentConsultEnded\";\nexport const AGENTX_DEFAULT_FOCUS = \"agentx-default-focus\";\nexport const PRESENCE_STATUS = {\n active: \"active\",\n call: \"call\",\n dnd: \"dnd\",\n meeting: \"meeting\",\n presenting: \"presenting\",\n clear: \"clear\",\n busy: \"busy\",\n outOfOffice: \"ooo\",\n quietHours: \"quietHours\",\n inACalendarMeeting: \"inACalendarMeeting\"\n};\nexport const PRESENCE_MEETING_TYPE = {\n calendarItem: \"calendarItem\"\n};\nexport const PRESENCE_STATUS_CALL_EVENTS = {\n CALL_CREATE: \"ax-presence-call-create\",\n CALL_DELETE: \"ax-presence-call-delete\"\n};\nexport const COLLAB_TOOL = {\n WEBEX: \"Webex\",\n TEAMS: \"Microsoft Teams\"\n};\nexport const WEBRTC_SHORTCUT_KEYS = [\n {\n widgetElement: \"agentx-react-interaction-control\",\n group: \"app:keyboardShortcutKeys.interactionControl.componentName\",\n action: \"app:keyboardShortcutKeys.interactionControl.muteOrUnmuteWebCall\",\n modifierKeys: \"ctrlKey_shiftKey\",\n key: \"n\",\n role: \"agent\",\n deviceType: \"BROWSER\"\n },\n {\n widgetElement: \"agentx-react-interaction-control\",\n group: \"app:keyboardShortcutKeys.interactionControl.componentName\",\n action: \"app:keyboardShortcutKeys.interactionControl.openKeyboard\",\n modifierKeys: \"ctrlKey_altKey\",\n key: \"k\",\n role: \"agent\",\n deviceType: \"BROWSER\"\n }\n];\nexport var Key;\n(function (Key) {\n Key[\"Enter\"] = \"Enter\";\n Key[\"Space\"] = \"Space\";\n Key[\"Tab\"] = \"Tab\";\n Key[\"Escape\"] = \"Escape\";\n})(Key || (Key = {}));\nexport const AGENTX_MORE_ACTIONS_OPENED = \"agentx-more-actions-opened\";\nexport const AGENTX_GOTO_ANALYZER_COMPONENT = \"agentx-wc-goto-analyzer\";\nexport const ADD_FOCUS_AGENTX_GOTO_ANALYZER = \"add-focus-goto-analyzer\";\nexport const FIVE_HUNDRED_MS = 500;\nexport const AX_ANNOUNCEMENT_UPDATE = \"ax-announcement-update\";\nexport const TPW_REQUESTED_PAGE_SIZE = 500;\nexport const POLITENESS_POLITE = \"polite\";\nexport const POLITENESS_ASSERTIVE = \"assertive\";\nexport const CONTACT_HISTORY_TAB_TITLE = \"contact-history-tab-title\";\nexport const TOGGLE_MAXIMIZED_EVENT = \"toggle-maximized-event\";\nexport const PRESENCE_SYNC_THRESHOLD = 2;\nexport const WEBEX_CALLING_NOTIFICATIONS_SETTING = \"desktop-hide-webex-calling-notifications-setting\";\nexport const PAGE_SIZE = 100;\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { COLLAB_TOOL, PRESENCE_STAT } from \"@/app/components/constants\";\nimport { handlePresenceFailCatch, registerStateSyncManger, setPresenceServiceStatus } from \"@/app/utils/StateSyncManager/UtilsSyncState\";\nimport { t } from \"@/mixins/i18nMixin\";\nimport { createLogger } from \"@/sdk\";\nimport { STORE } from \"@/store\";\nimport { SERVICE } from \"@agentx/agentx-services\";\nimport { ToasterNotificationItemContent } from \"@uuip/unified-ui-platform-common-components\";\nimport { Notifications } from \"@uuip/unified-ui-platform-sdk\";\nexport const logger = createLogger(\"[Microsoft Integration]\");\nconst MICROSOFT_CLIENT_ID = process.env.MICROSOFT_CLIENT_ID;\nconst initializeEventCallback = () => {\n var _a;\n const MSAuthEventInstance = (_a = SERVICE.microsoft) === null || _a === void 0 ? void 0 : _a.getEventInstance();\n MSAuthEventInstance === null || MSAuthEventInstance === void 0 ? void 0 : MSAuthEventInstance.listen((event) => {\n if (event.eventType === SERVICE.constants.MicrosoftServiceEvents.RENEW_ACCESS_TOKEN_FAILURE) {\n // If the token renewal using Jabber Service fails intermittently, we will show the error toaster notification to the user.\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n triggerErrorNotification(retryAuthentication);\n STORE.auth.updateMicrosoftAuthServiceAuthenticated(false);\n }\n });\n};\nexport const initializeMicrosoftAuthService = (clientId, tenantId) => __awaiter(void 0, void 0, void 0, function* () {\n var _a;\n try {\n yield ((_a = SERVICE.microsoft) === null || _a === void 0 ? void 0 : _a.initialize(clientId, tenantId));\n if (STORE.app.featureFlags.isDesktopMSStateSyncEnabled) {\n // This is to listen the token renewal failure event.\n // If the token renewal using Jabber Service fails intermittently, we will show the error toaster notification to the user.\n initializeEventCallback();\n }\n }\n catch (error) {\n logger.error(\"[Microsoft Auth]: Error on initializing Microsoft Service\", error);\n throw error;\n }\n});\nexport const triggerMicrosoftLogin = () => __awaiter(void 0, void 0, void 0, function* () {\n var _b;\n try {\n yield ((_b = SERVICE.microsoft) === null || _b === void 0 ? void 0 : _b.initiateMicrosoftLogin());\n STORE.auth.updateMicrosoftAuthServiceAuthenticated(true);\n }\n catch (error) {\n logger.error(\"[Microsoft Auth]: Error on triggering microsoft login\", error);\n // Set error on store.\n STORE.auth.updateMicrosoftAuthServiceAuthenticated(false);\n throw error;\n }\n});\nexport const triggerErrorNotification = (retryCallback) => {\n const notificationDataError = {\n type: Notifications.ItemMeta.Type.Error,\n mode: Notifications.ItemMeta.Mode.AutoDismiss,\n title: t(\"app:microsoft.authencationFailedTitle\"),\n data: new ToasterNotificationItemContent.DataController({\n text: t(\"app:microsoft.authencationFailedSubtitle\"),\n linkName: t(\"app:microsoft.tryAgain\"),\n linkHandler: () => {\n if (retryCallback) {\n retryCallback();\n }\n }\n })\n };\n STORE.generalNotifications.fireNotificationEvent(notificationDataError);\n};\nexport const handlePresenceSync = () => __awaiter(void 0, void 0, void 0, function* () {\n var _c;\n try {\n yield ((_c = SERVICE.microsoft) === null || _c === void 0 ? void 0 : _c.presenceAPI());\n logger.info(`[Microsoft PresenceStateSync]: Presence sync api Sucessful`);\n setPresenceServiceStatus(PRESENCE_STAT.SUCCESSFUL, PRESENCE_STAT.SYNC);\n logger.info(\"[PresenceStateSync]: Initiating Presence State Sync Module.\");\n registerStateSyncManger();\n }\n catch (error) {\n logger.error(`[Microsoft PresenceStateSync]: Error while registering presence sync`, error);\n handlePresenceFailCatch(error);\n }\n});\nexport const initializePresenceSync = () => __awaiter(void 0, void 0, void 0, function* () {\n var _d, _e;\n if (STORE.agent.collaboration.stateSynchronization) {\n if ((_d = SERVICE.webex) === null || _d === void 0 ? void 0 : _d.webexInitializedStatus()) {\n yield handlePresenceSync();\n }\n else {\n yield ((_e = SERVICE.webex) === null || _e === void 0 ? void 0 : _e.registerWebex(STORE.app.isEnvironmentProd)); // handle msft login triggers state sync before station login success.\n yield handlePresenceSync();\n }\n }\n});\nexport const triggerMicrosoftAuth = (clientId, tenantId) => __awaiter(void 0, void 0, void 0, function* () {\n var _f;\n logger.info(\"[Microsoft Auth]: Triggering Microsoft Auth Flow\");\n try {\n yield initializeMicrosoftAuthService(clientId, tenantId);\n yield triggerMicrosoftLogin();\n logger.info(\"[Microsoft Auth]: Microsoft Authentication Successful\");\n (_f = SERVICE.microsoft) === null || _f === void 0 ? void 0 : _f.initializeGraphClient();\n initializePresenceSync();\n }\n catch (error) {\n logger.error(\"[Microsoft Auth]: Triggering Microsoft Auth Flow Failed.\", error);\n /* eslint-disable @typescript-eslint/no-use-before-define */\n triggerErrorNotification(retryAuthentication);\n }\n});\nexport const retryAuthentication = () => __awaiter(void 0, void 0, void 0, function* () {\n var _g, _h, _j, _k, _l;\n logger.info(\"[Microsoft Auth]: Retrying Microsoft Authentication\");\n try {\n if (STORE.app.microsoftOrgConfig && !((_g = SERVICE.microsoft) === null || _g === void 0 ? void 0 : _g.isInitialized)) {\n // Microsoft App Initialization was failed.\n // Re-Trigger the microsoft auth service.\n triggerMicrosoftAuth(MICROSOFT_CLIENT_ID, (_j = (_h = STORE.app.microsoftOrgConfig) === null || _h === void 0 ? void 0 : _h.accountDetails) === null || _j === void 0 ? void 0 : _j.tenantId);\n }\n else {\n // Re-Trigger the microsoft login flow.\n yield ((_k = SERVICE.microsoft) === null || _k === void 0 ? void 0 : _k.loginPopup());\n logger.info(\"[Microsoft Auth]: Retrying Microsoft Authentication Successful\");\n (_l = SERVICE.microsoft) === null || _l === void 0 ? void 0 : _l.initializeGraphClient();\n STORE.auth.updateMicrosoftAuthServiceAuthenticated(true);\n initializePresenceSync();\n }\n }\n catch (error) {\n logger.error(\"[Microsoft Auth]: Retrying Microsoft Authentication Failed\", error);\n STORE.auth.updateMicrosoftAuthServiceAuthenticated(false);\n triggerErrorNotification(retryAuthentication);\n }\n});\nexport const handleMicrosoftAuthFlow = (e) => __awaiter(void 0, void 0, void 0, function* () {\n try {\n const { orgId, microsoftConfig } = e.detail;\n const response = yield SERVICE.cms.fetchMicrosoftConfig({\n orgId\n });\n logger.info(`[Microsoft Auth]: fetchMicrosoftOrgConfigApi response:`, response);\n const { data } = response;\n let msResponse;\n // Check Microsoft Feature is enabled or not.\n if (data && Array.isArray(data) && data.length > 0) {\n msResponse = data[0];\n STORE.app.updateMicrosoftOrgConfig(msResponse);\n if ((msResponse === null || msResponse === void 0 ? void 0 : msResponse.active) && ((msResponse === null || msResponse === void 0 ? void 0 : msResponse.showUserDetails) || (msResponse === null || msResponse === void 0 ? void 0 : msResponse.stateSynchronization))) {\n // Set Microsoft Auth Service is Enabled in Tenant Level\n STORE.auth.updateMicrosoftAuthServiceEnabled(true);\n // Update the User Details is Enabled or not.\n const displayMicrosoftUserDetails = msResponse.showUserDetails && (microsoftConfig === null || microsoftConfig === void 0 ? void 0 : microsoftConfig.showUserDetailsMS);\n STORE.agent.updateDisplayMicrosoftUserDetailsEnabled(displayMicrosoftUserDetails !== null && displayMicrosoftUserDetails !== void 0 ? displayMicrosoftUserDetails : false);\n // Update the State Synchronization is Enabled or not.\n const stateSynchronization = STORE.app.featureFlags.isDesktopMSStateSyncEnabled &&\n msResponse.stateSynchronization &&\n (microsoftConfig === null || microsoftConfig === void 0 ? void 0 : microsoftConfig.stateSynchronizationMS);\n STORE.agent.updateStateSyncEnabled(stateSynchronization !== null && stateSynchronization !== void 0 ? stateSynchronization : false);\n STORE.agent.updateCollabToolInSync(COLLAB_TOOL.TEAMS);\n // Trigger the Microsoft Login Flow\n triggerMicrosoftAuth(MICROSOFT_CLIENT_ID, msResponse.accountDetails.tenantId); // Have to check this await is required or not.\n }\n else {\n // Set Microsoft Auth Service is Disabled in Tenant Level\n STORE.auth.updateMicrosoftAuthServiceEnabled(false);\n }\n }\n }\n catch (error) {\n logger.error(`[Microsoft Auth]: Error on fetching microsoft tenant configuration`, error);\n }\n});\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { COLLAB_TOOL, PRESENCE_STAT } from \"@/app/components/constants\";\nimport { handlePresenceFailCatch, registerStateSyncManger, setPresenceServiceStatus } from \"@/app/utils/StateSyncManager/UtilsSyncState\";\nimport { logger } from \"@/app/utils/Utils\";\nimport { STORE } from \"@/store\";\nimport { SERVICE } from \"@agentx/agentx-services\";\nexport const handleWebexPresenceSync = () => {\n try {\n setPresenceServiceStatus(PRESENCE_STAT.SUCCESSFUL, PRESENCE_STAT.SYNC);\n logger.info(`[PresenceStateSync]: Initiating Presence State Sync Module`);\n registerStateSyncManger();\n }\n catch (error) {\n logger.error(`[Webex PresenceStateSync]: Error while registering presence sync`, error);\n handlePresenceFailCatch(error);\n }\n};\nexport const fetchAndHandleWebexConfig = (e) => __awaiter(void 0, void 0, void 0, function* () {\n logger.info(`[Webex]: fetchAndHandleWebexConfig called`);\n const { orgId, webexConfig } = e.detail;\n // desktop profile level\n const desktopSettingWebexStateSync = (webexConfig === null || webexConfig === void 0 ? void 0 : webexConfig.stateSynchronizationWebex) && STORE.app.featureFlags.isDesktopWebexStateSyncEnabled;\n const desktopSettingWebexUserDetaisEnabled = (webexConfig === null || webexConfig === void 0 ? void 0 : webexConfig.showUserDetailsWebex) && STORE.app.featureFlags.isWebexDirectoryViewEnabled;\n if (desktopSettingWebexStateSync || desktopSettingWebexUserDetaisEnabled) {\n // Initiate the webex api config to get the Tenant level settings\n const response = yield SERVICE.cms.fetchWebexConfigData({\n orgId\n });\n logger.info(`[Webex]: fetchWebexConfigData response:`, response);\n if (response && response.length > 0) {\n // tenant level\n const webexResponse = response[0];\n const displayWebexUserDetailsEnabled = desktopSettingWebexUserDetaisEnabled &&\n (webexResponse === null || webexResponse === void 0 ? void 0 : webexResponse.showUserDetails) &&\n STORE.app.featureFlags.isWebexDirectoryViewEnabled;\n STORE.agent.updateDisplayWebexUserDetailsEnabled(displayWebexUserDetailsEnabled);\n const stateSyncEnabled = desktopSettingWebexStateSync &&\n (webexResponse === null || webexResponse === void 0 ? void 0 : webexResponse.stateSynchronization) &&\n STORE.app.featureFlags.isDesktopWebexStateSyncEnabled;\n // store the desktop + tenant level combinaison result.\n logger.info(`[Webex] actual client configuration showUserDetails:${displayWebexUserDetailsEnabled} stateSynchronization:${stateSyncEnabled}`);\n STORE.app.updateWebexOrgConfig({\n showUserDetails: displayWebexUserDetailsEnabled,\n stateSynchronization: stateSyncEnabled,\n idleCodes: webexResponse.idleCodes\n });\n if (stateSyncEnabled) {\n STORE.agent.updateStateSyncEnabled(true);\n STORE.agent.updateCollabToolInSync(COLLAB_TOOL.WEBEX);\n handleWebexPresenceSync();\n }\n if (displayWebexUserDetailsEnabled) {\n SERVICE.webex.registerToDSS();\n SERVICE.webex.initialisePresencePlugin();\n }\n }\n }\n else {\n logger.info(\"[Webex]: stateSynchronizationWebex is disabled, Webex Config Api is not called\");\n }\n});\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n/* eslint-disable sonarjs/no-duplicate-string */\n/*eslint @typescript-eslint/no-unused-vars: \"off\"*/\nimport { DynamicView } from \"@/app/routing/views/_dynamic-view/DynamicView\";\nimport { NotFoundView } from \"@/app/routing/views/_not-found-view/NotFoundView\";\nimport { ApsView } from \"@/app/routing/views/aps-view/ApsView\";\nimport { TaskSelectedView } from \"@/app/routing/views/task-selected-view/TaskSelectedView\";\nimport { createLogger } from \"@/sdk\";\nimport { STORE } from \"@/store\";\nimport { DEFAULT_NAVIGATION_ITEMS } from \"@/store/init/default-configs\";\nimport { Router } from \"@uuip/unified-ui-platform\";\nimport { autorun } from \"mobx\";\nimport { UserRoles } from \"../utils/DesktopLayoutUtils\";\nimport { isInteractionsPageEnabled, isQueueStatsTabEnabled, updatePageTitle } from \"../utils/Utils\";\nimport DefaultLandingView from \"./views/default-landing-view/DefaultLandingView\";\nimport { HomeView } from \"./views/home-view/HomeView\";\nimport InteractionsView from \"./views/interactions-view/interactions-view\";\nimport QueueStatsView from \"./views/queue-stats-view/QueueStatsView\";\n// Routes names for better usage\nexport var RouteName;\n(function (RouteName) {\n RouteName[\"TASK\"] = \"task\";\n RouteName[\"TASKPANEL\"] = \"task-panel\";\n RouteName[\"APS\"] = \"aps\";\n RouteName[\"QUEUES\"] = \"queues\";\n RouteName[\"METRICS\"] = \"metrics\";\n RouteName[\"Interactions\"] = \"interactions\";\n RouteName[\"DEFAULT_HOME\"] = \"defaulthome\";\n})(RouteName || (RouteName = {}));\n// Route paths\nexport const RoutePath = {\n [RouteName.TASK]: \"/\",\n [RouteName.TASKPANEL]: \"/task/:taskId\",\n [RouteName.APS]: \"/aps\",\n [RouteName.QUEUES]: \"/queues\",\n [RouteName.Interactions]: \"/interactions\",\n [RouteName.METRICS]: \"/metrics\"\n};\nconst logger = createLogger(\"[AgentXAppRouting]\");\n// Class-adapter that bind routes/views change to element view\nclass AgentXAppRouting {\n constructor(router, agentxStore) {\n this.mobxSyncReactionDispose = null;\n this.syncFromStoreToRouter = () => __awaiter(this, void 0, void 0, function* () {\n if (this.STORE.routing.currentRouteName) {\n yield this.navigate(this.STORE.routing.currentRouteName, this.STORE.routing.currentRouteValues);\n }\n });\n this.syncFromRouterToStore = (routeName, payload) => {\n const { routeValues, middlewareKey } = payload;\n // DO not sync \"after\" callback - it provides cleanup flow\n if (middlewareKey !== \"after\") {\n this.STORE.routing.sync(routeName, routeValues);\n }\n };\n this.viewMapFactory = Router.RouterView.Noop;\n this.updateViewNotFound = () => __awaiter(this, void 0, void 0, function* () {\n const notFoundHref = window.location.href;\n yield this.updateView(() => NotFoundView(notFoundHref));\n });\n this.router = router;\n this.STORE = agentxStore;\n }\n notifyRoutingUpdate() {\n return __awaiter(this, void 0, void 0, function* () {\n this.config && this.config.onRoutingUpdate && (yield this.config.onRoutingUpdate());\n });\n }\n findRemovedItems(cachedNavItems) {\n var _a, _b;\n let removedItems = [];\n if (this.STORE.dynamic.navigation) {\n const updatedNavItems = this.STORE.dynamic.navigation;\n removedItems = cachedNavItems.filter(({ nav: fromCache }) => !updatedNavItems.some(({ nav: fromServer }) => fromCache.navigateTo === fromServer.navigateTo));\n if (((_b = (_a = this.STORE) === null || _a === void 0 ? void 0 : _a.app) === null || _b === void 0 ? void 0 : _b.wxmEnabled) === false) {\n const wxmNavItem = cachedNavItems === null || cachedNavItems === void 0 ? void 0 : cachedNavItems.find((p) => p.page.id === \"wxm-metrics\");\n if (wxmNavItem) {\n removedItems.push(wxmNavItem);\n }\n }\n }\n return removedItems;\n }\n findNewlyAddedItems(cachedNavItems) {\n let updatedNavItems = [];\n if (this.STORE.dynamic.navigation) {\n updatedNavItems = this.STORE.dynamic.navigation.filter(({ nav: fromServer }) => !cachedNavItems.some(({ nav: fromCache }) => fromCache.label === fromServer.label));\n }\n return updatedNavItems;\n }\n updateView(viewMapFactory) {\n return __awaiter(this, void 0, void 0, function* () {\n this.viewMapFactory = viewMapFactory;\n yield this.notifyRoutingUpdate();\n });\n }\n get view() {\n return this.viewMapFactory();\n }\n start(config) {\n // For Sync view\n this.config = config;\n // Setup sync update routing from store to service\n this.mobxSyncReactionDispose = autorun(this.syncFromStoreToRouter);\n const isDefaultLandingpageEnabled = STORE.agent.role !== UserRoles.AGENT;\n this.router.start({\n onUpdate: (payload) => __awaiter(this, void 0, void 0, function* () {\n const routeName = this.router.getRouteNameByPath(payload.routePath);\n this.syncFromRouterToStore(routeName, payload);\n yield this.notifyRoutingUpdate();\n }),\n routes: !isDefaultLandingpageEnabled\n ? [\n {\n name: RouteName.TASK,\n path: RoutePath[RouteName.TASK],\n before: () => __awaiter(this, void 0, void 0, function* () {\n /** May show some preloader view */\n }),\n resolver: (_payload) => __awaiter(this, void 0, void 0, function* () { return this.updateView(() => HomeView()); })\n },\n {\n name: RouteName.TASKPANEL,\n path: RoutePath[RouteName.TASKPANEL],\n resolver: (_payload) => __awaiter(this, void 0, void 0, function* () {\n const homeHref = this.router.buildNamedRoutePathUrl(RouteName.TASK);\n yield this.updateView(() => TaskSelectedView(homeHref));\n })\n },\n {\n name: RouteName.APS,\n path: RoutePath[RouteName.APS],\n resolver: (_payload) => __awaiter(this, void 0, void 0, function* () { return this.updateView(() => ApsView()); })\n }\n ]\n : [\n {\n name: RouteName.DEFAULT_HOME,\n path: `/`,\n before: () => __awaiter(this, void 0, void 0, function* () {\n /** May show some preloader view */\n }),\n resolver: (_payload) => __awaiter(this, void 0, void 0, function* () { return this.updateView(() => DefaultLandingView()); })\n },\n {\n name: RouteName.APS,\n path: RoutePath[RouteName.APS],\n resolver: (_payload) => __awaiter(this, void 0, void 0, function* () { return this.updateView(() => ApsView()); })\n },\n {\n name: RouteName.TASK,\n path: `/${RouteName.TASK}`,\n before: () => __awaiter(this, void 0, void 0, function* () {\n /** May show some preloader view */\n }),\n resolver: (_payload) => __awaiter(this, void 0, void 0, function* () { return this.updateView(() => HomeView()); })\n },\n {\n name: RouteName.TASKPANEL,\n path: RoutePath[RouteName.TASKPANEL],\n resolver: (_payload) => __awaiter(this, void 0, void 0, function* () {\n const taskPageHref = this.router.buildRoutePathUrl(RoutePath[RouteName.TASK]);\n yield this.updateView(() => TaskSelectedView(taskPageHref));\n })\n },\n {\n name: RouteName.Interactions,\n path: RoutePath[RouteName.Interactions],\n resolver: (_payload) => __awaiter(this, void 0, void 0, function* () {\n isInteractionsPageEnabled()\n ? yield this.updateView(() => InteractionsView())\n : yield this.updateViewNotFound();\n })\n },\n {\n name: RouteName.QUEUES,\n path: RoutePath[RouteName.QUEUES],\n resolver: (_payload) => __awaiter(this, void 0, void 0, function* () {\n isQueueStatsTabEnabled()\n ? yield this.updateView(() => QueueStatsView())\n : yield this.updateViewNotFound();\n })\n }\n ],\n notFound: {\n resolver: () => __awaiter(this, void 0, void 0, function* () {\n this.updateViewNotFound();\n })\n }\n });\n this.router.getRoutes && STORE.routing.setRoutes(this.router.getRoutes());\n }\n stop() {\n this.mobxSyncReactionDispose && this.mobxSyncReactionDispose();\n this.router.stop();\n }\n navigate(routeName, routeValues) {\n return __awaiter(this, void 0, void 0, function* () {\n logger.info(\"Navigating to\", routeName, routeValues);\n try {\n updatePageTitle(routeName);\n STORE.dynamic.updateSelectedRoute(routeName);\n }\n catch (e) {\n logger.error(\"Error while updating title\", e.message);\n }\n this.router.getRoutes().find((route) => route.name === routeName) &&\n (yield this.router.navigateNamedRoute(routeName, routeValues));\n });\n }\n isTaskrouteIsNotDefaultPath() {\n const currentRoutes = this.router.getRoutes();\n const currentTaskRoute = currentRoutes.find((it) => it.path !== \"/\" && it.name === RouteName.TASK);\n return currentTaskRoute || false;\n }\n checkRouteNameExists(name) {\n var _a, _b;\n return (_b = (_a = this.router.getRoutes()) === null || _a === void 0 ? void 0 : _a.find((router) => router.name === name)) !== null && _b !== void 0 ? _b : false;\n }\n isCurrentRouteExist() {\n if (STORE.routing.currentRouteName) {\n const response = this.checkRouteNameExists(STORE.routing.currentRouteName);\n return !response;\n }\n return false;\n }\n isTaskRouteExists(previousRoutes) {\n var _a;\n if (STORE.routing.currentRouteName === RouteName.TASK) {\n // Check the current task route path and previous task name routh path are same or not.\n const isTaskExist = previousRoutes === null || previousRoutes === void 0 ? void 0 : previousRoutes.find((it) => it.name === RouteName.TASK);\n if (!isTaskExist) {\n return true;\n }\n const response = (_a = this.router\n .getRoutes()) === null || _a === void 0 ? void 0 : _a.find((route) => route.name === RouteName.TASK && route.path === isTaskExist.path);\n return !response;\n }\n return false;\n }\n addOrUpdateDynamicRoutes(cachedLayoutConfig) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.STORE.dynamic.navigation) {\n return;\n }\n yield this.syncRoutesWithServerUpdates(cachedLayoutConfig);\n });\n }\n syncRoutesWithServerUpdates(cachedLayoutConfig) {\n var _a, _b, _c;\n return __awaiter(this, void 0, void 0, function* () {\n const updateRoutes = [];\n const newRoutes = [];\n const removeRoutes = [];\n const newNavs = [];\n const removeNavs = [];\n const homePage = STORE.dynamic.homepage || undefined;\n const previousRoutes = this.router.getRoutes ? [...this.router.getRoutes()] : [];\n const defaultLandingPageRouteName = (_b = (_a = STORE.dynamic.navigation) === null || _a === void 0 ? void 0 : _a.find((nav) => nav.nav.isDefaultLandingPage)) === null || _b === void 0 ? void 0 : _b.nav.navigateTo;\n if (STORE.agent.role !== UserRoles.AGENT) {\n yield this.handleAgentRole(updateRoutes, newRoutes, homePage, cachedLayoutConfig);\n }\n const dynamicNavItems = {\n \"wxm-metrics\": STORE.app.wxmEnabled,\n \"qmw-sup\": STORE.agent.getRecordingManagementEnabled\n };\n if (STORE.dynamic.navigation) {\n this.handleDynamicNavigation(updateRoutes, newRoutes, newNavs, dynamicNavItems);\n }\n if ((_c = cachedLayoutConfig === null || cachedLayoutConfig === void 0 ? void 0 : cachedLayoutConfig.area) === null || _c === void 0 ? void 0 : _c.navigation) {\n this.handleRemoveRoutes(cachedLayoutConfig, updateRoutes, newRoutes, removeRoutes, removeNavs);\n }\n yield this.applyNavChanges(newNavs);\n if (updateRoutes.length > 0) {\n logger.info(`Updating exiting dynamic routes from server desktop layout ${JSON.stringify(updateRoutes)}`);\n yield this.router.updateRoutes(updateRoutes);\n }\n if (newRoutes.length > 0) {\n logger.info(`Adding new dynamic routes the routes from server desktop layout ${JSON.stringify(newRoutes)}`);\n yield this.router.addRoutes(newRoutes);\n }\n const isRemovedRouteCurrentRoute = removeNavs.find((p) => p.nav.navigateTo === STORE.routing.currentRouteName);\n if (defaultLandingPageRouteName) {\n STORE.routing.navigate(defaultLandingPageRouteName);\n }\n else if (isRemovedRouteCurrentRoute || this.isCurrentRouteExist() || this.isTaskRouteExists(previousRoutes)) {\n if (homePage) {\n STORE.routing.navigate(homePage.nav.navigateTo);\n }\n else {\n STORE.routing.navigate(RouteName.TASK);\n }\n }\n if (removeRoutes.length > 0) {\n logger.info(`Navigation removed from desktop layout\", ${JSON.stringify(removeRoutes)}, Removing from routes`);\n removeNavs === null || removeNavs === void 0 ? void 0 : removeNavs.forEach((p) => STORE.layout.removeDynamicNavIcon(p.nav));\n yield this.router.removeRoutes(removeRoutes);\n }\n this.router.getRoutes && STORE.routing.setRoutes(this.router.getRoutes());\n this.notifyRoutingUpdate();\n });\n }\n handleAgentRole(updateRoutes, newRoutes, homePage, cachedLayoutConfig) {\n return __awaiter(this, void 0, void 0, function* () {\n if (homePage) {\n const newHomeRoute = {\n name: homePage.nav.navigateTo,\n path: `/`,\n resolver: () => __awaiter(this, void 0, void 0, function* () { return this.updateView(() => DynamicView(homePage.page)); })\n };\n updateRoutes.push([{ path: \"/\" }, newHomeRoute]);\n if (!this.isTaskrouteIsNotDefaultPath()) {\n const taskRoute = {\n name: RouteName.TASK,\n path: `/${RouteName.TASK}`,\n resolver: (_payload) => __awaiter(this, void 0, void 0, function* () { return this.updateView(() => HomeView()); })\n };\n newRoutes.push(taskRoute);\n }\n STORE.layout.addDynamicHomeNav(homePage.nav);\n }\n else {\n yield this.handleNoHomePage(updateRoutes, cachedLayoutConfig);\n }\n });\n }\n applyNavChanges(newNavs) {\n return __awaiter(this, void 0, void 0, function* () {\n if (newNavs.length > 0) {\n newNavs.forEach((p) => {\n STORE.layout.addDynamicNavIcon(p.nav);\n });\n }\n });\n }\n handleNoHomePage(updateRoutes, cachedLayoutConfig) {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function* () {\n let previousHomeRouteName = RouteName.DEFAULT_HOME;\n if ((_b = (_a = cachedLayoutConfig === null || cachedLayoutConfig === void 0 ? void 0 : cachedLayoutConfig.area) === null || _a === void 0 ? void 0 : _a.homepage) === null || _b === void 0 ? void 0 : _b.nav) {\n const cacheRouteName = cachedLayoutConfig.area.homepage.nav.navigateTo;\n const isRouteExists = this.checkRouteNameExists(cacheRouteName);\n if (cacheRouteName && isRouteExists) {\n previousHomeRouteName = cacheRouteName;\n }\n }\n const newTaskRoute = {\n name: RouteName.TASK,\n path: `/`,\n resolver: () => __awaiter(this, void 0, void 0, function* () { return this.updateView(() => HomeView()); })\n };\n updateRoutes.push([{ name: previousHomeRouteName }, newTaskRoute]);\n if (STORE.routing.currentRouteName === RouteName.TASK) {\n STORE.routing.navigate(previousHomeRouteName);\n }\n yield this.router.removeRoutes([{ path: `/${RouteName.TASK}` }]);\n STORE.layout.removeDynamicNavigationTo(previousHomeRouteName);\n STORE.layout.addDefaultNavIcon(DEFAULT_NAVIGATION_ITEMS[0]);\n });\n }\n handleDynamicNavigation(updateRoutes, newRoutes, newNavs, dynamicNavItems) {\n const navigation = STORE.dynamic.navigation;\n if (!navigation) {\n return; // Exit early if navigation is null or undefined\n }\n navigation.forEach((p) => __awaiter(this, void 0, void 0, function* () {\n let navToBeAdded = true;\n if (dynamicNavItems[p.page.id] !== undefined) {\n navToBeAdded = dynamicNavItems[p.page.id];\n }\n if (navToBeAdded) {\n const route = {\n name: p.nav.navigateTo,\n path: `/${p.nav.navigateTo}`,\n resolver: () => __awaiter(this, void 0, void 0, function* () { return this.updateView(() => DynamicView(p.page)); })\n };\n if (this.router.getRoutePathByName(p.nav.navigateTo)) {\n updateRoutes.push([{ name: p.nav.navigateTo }, route]);\n newNavs.push(p);\n }\n else {\n newRoutes.push(route);\n newNavs.push(p);\n }\n }\n }));\n }\n handleRemoveRoutes(cachedLayoutConfig, updateRoutes, newRoutes, removeRoutes, removeNavs) {\n var _a;\n const removingNavItems = this.findRemovedItems((_a = cachedLayoutConfig.area.navigation) !== null && _a !== void 0 ? _a : []).filter((p) => {\n const u = updateRoutes.find(([routeIdentity, route]) => route.name === p.nav.navigateTo);\n const n = newRoutes.find((route) => route.name === p.nav.navigateTo);\n return !u && !n;\n });\n removingNavItems.forEach((p) => {\n removeRoutes.push({\n name: p.nav.navigateTo\n });\n removeNavs.push(p);\n });\n }\n}\nexport const createAgentXAppRouting = (agentxStore) => new AgentXAppRouting(Router.router, agentxStore);\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AGENT_STATE_CHANGEDBY_NAME } from \"@/app/components/constants\";\nimport { hideBanner, showBanner } from \"@/app/utils/AlertBannerUtils\";\nimport { isSupervisor, logger } from \"@/app/utils/Utils\";\nimport { UTILS_DYNAMIC } from \"@/app/utils/UtilsDynamic\";\nimport { t } from \"@/mixins/i18nMixin\";\nimport { STORE } from \"@/store\";\nimport { SERVICE } from \"@agentx/agentx-services\";\nimport logo from \"@img/webex_cc_logo.png\";\nimport { Router } from \"@uuip/unified-ui-platform\";\nimport { LitElement, css, customElement, property, query } from \"lit-element\";\nimport { html, nothing } from \"lit-html\";\nimport \"../../components/HeaderActionItems\";\nimport \"../../components/advancedHeader/AgentStateSelectorWrapper\";\nimport \"../../components/advancedHeader/NotesWrapper\";\nimport \"../../components/advancedHeader/NotificationWrapper\";\nimport \"../../components/advancedHeader/OutdialWrapper\";\nimport \"../../components/advancedHeader/WebexWrapper\";\nimport { debounce } from \"../../utils/Utils\";\nimport style from \"./AdvancedHeaderBlock.scss\";\nimport AgentProfileBlock from \"./AgentProfileBlock\";\nlet AgentDynamicHeader = class AgentDynamicHeader extends LitElement {\n constructor() {\n super(...arguments);\n this.advancedHeader = STORE.dynamic.advancedHeader;\n this.availableSpace = 0;\n this.DEFAULT_WIDGET_WIDTH = 150;\n this.initialLoad = false;\n this.widgetWidths = [];\n this.BUFFER_SPACE = 10;\n this.INITIALIZE_TIMEOUT = 200;\n this.ESCAPE_KEY = \"Escape\";\n /**\n * Gets triggered after very page resize event\n * Updates the menu bar with the count of children to be shown in header\n * vs count of children to be shown in dropdown menu\n * Compares the parent container's width as available space to the total space occupied\n * by the children
  • s\n */\n this.updateMenu = () => {\n if (this.visibleLinks) {\n this.iterateThroughMenuItems(this.visibleLinks.children);\n // Display the button accordingly\n if (this.hiddenLinks.children.length === 0) {\n this.moreButton.classList.add(\"hidden\");\n }\n else {\n this.moreButton.classList.remove(\"hidden\");\n }\n if (this.visibleLinks.children.length === 1) {\n this.hiddenLinks.classList.add(\"no-items\");\n }\n else {\n this.hiddenLinks.classList.remove(\"no-items\");\n }\n if (this.initialLoad) {\n window.dispatchEvent(new Event(\"resize\"));\n this.initialLoad = false;\n }\n }\n };\n this.getAiAssistantComponent = (component) => (Object.assign(Object.assign({}, component), { comp: \"ai-assistant\", textContent: t(\"app:aiAssistant.title\"), attributes: Object.assign(Object.assign({}, component.attributes), { orgId: \"$STORE.agent.orgId\", agentId: \"$STORE.agent.agentId\", agentName: \"$STORE.agent.agentName\", darkTheme: \"$STORE.app.darkMode\", aniId: \"$STORE.agentContact.taskSelected.ani\", isLoggedIntoStation: \"$STORE.app.isStationLoginSuccess\", hostUrl: \"$STORE.envVaribles.serviceUrls.hostUrl\", isCallDropSummaryEnabled: \"$STORE.app.featureFlags.isCallDropSummaryEnabled\", isVirtualAgentSummaryEnabled: \"$STORE.app.featureFlags.isVirtualAgentSummaryEnabled\", isWellnessBreakEnabled: \"$STORE.app.featureFlags.isWellnessBreakClientEnabled\" }) }));\n }\n static get styles() {\n return style;\n }\n connectedCallback() {\n super.connectedCallback();\n setTimeout(() => this.init(), this.INITIALIZE_TIMEOUT);\n }\n init() {\n this.initialLoad = true;\n this.addBindings();\n this.updateMenu();\n }\n /**\n * returns value for computed style as a number\n * @param widget\n * @param property\n * @returns Number\n */\n getComputedStyleWithProperty(widget, propertyKey) {\n let styleValue;\n if (widget) {\n const width = getComputedStyle(widget).getPropertyValue(propertyKey);\n styleValue = Number(width.split(\"px\")[0]);\n }\n return styleValue;\n }\n /**\n * calculates element width along with the margin left property\n * @param widget\n * @returns total width\n */\n getElemWidth(widget) {\n let liWidth = this.getComputedStyleWithProperty(widget, \"width\") || 0;\n //at initial load at times widget width comes as 0, in that case take a constant value\n if (this.initialLoad && liWidth === 0) {\n liWidth = this.DEFAULT_WIDGET_WIDTH;\n }\n const liMarginLeft = this.getComputedStyleWithProperty(widget, \"margin-left\") || 0;\n const liMarginRight = this.getComputedStyleWithProperty(widget, \"margin-right\") || 0;\n return liWidth + liMarginLeft + liMarginRight;\n }\n /**\n * This method calculates the total space occupied by widgets\n * eg. wd1=10, wd2=20, wd3=30, so it'll return 60 as total occupied space\n * @param widgets\n * @returns number\n */\n getWidgetTotalOccupiedSpace(widgets) {\n let spc = 0;\n const arr = [];\n if (widgets) {\n const widgetElements = Array.from(widgets);\n widgetElements.forEach((el, i) => {\n const widgetWidth = this.getElemWidth(widgets[i]);\n spc += widgetWidth;\n arr.push(Number(spc.toFixed(2)));\n });\n }\n return arr[arr.length - 1];\n }\n /**\n * Stores the widths of
  • s being pushed to dropdown\n * Push the menu to dropdown\n * @param menuElementToPush\n */\n pushTheElementsToDropDown(menuElementToPush) {\n if (menuElementToPush) {\n this.widgetWidths.push(this.getElemWidth(menuElementToPush));\n this.hiddenLinks.insertBefore(menuElementToPush, this.hiddenLinks.firstChild);\n this.requestUpdate(); // force render widgets here so as to retain previous state\n }\n }\n /**\n * Remove the last element from widths array\n * Brings the menu item back from dropdown to menu\n * @param dropDownElementToBringBack\n */\n pushTheElementsBackToMenuBar(dropDownElementToBringBack) {\n var _a;\n if (((_a = this.hiddenLinks) === null || _a === void 0 ? void 0 : _a.firstChild) && this.visibleLinks) {\n this.widgetWidths.pop();\n this.visibleLinks.insertBefore(this.hiddenLinks.firstChild, dropDownElementToBringBack);\n this.requestUpdate(); // force render widgets here so as to retain previous state\n }\n }\n /**\n * Loops through visible links and updates menu bar and dropdown\n * @param visibleChildren\n */\n iterateThroughMenuItems(visibleChildren) {\n const visibleChildrenArray = Array.from(visibleChildren);\n visibleChildrenArray.forEach(() => {\n const vLinkWidth = this.visibleLinks && this.getComputedStyleWithProperty(this.visibleLinks, \"width\");\n this.availableSpace = vLinkWidth && vLinkWidth - this.BUFFER_SPACE;\n const totalSpaceNeeded = this.getWidgetTotalOccupiedSpace(visibleChildren);\n // manipulating 2nd elem of visibleLinks as 1st elem is more button\n if (this.availableSpace < totalSpaceNeeded) {\n this.pushTheElementsToDropDown(visibleChildren[1]);\n }\n else {\n // before pushing the element back check if its width would be accommodated or not\n const widthOfElemToPushBackToMenuBar = this.widgetWidths[this.widgetWidths.length - 1];\n if (this.availableSpace > totalSpaceNeeded + widthOfElemToPushBackToMenuBar) {\n this.pushTheElementsBackToMenuBar(visibleChildren[1]);\n }\n }\n });\n }\n addBindings() {\n window.addEventListener(\"resize\", debounce(this.updateMenu, 250));\n }\n getDynamicProperties(component) {\n switch (component.comp.toLowerCase()) {\n case \"agentx-outdial\":\n return Object.assign(Object.assign({}, component), { textContent: t(\"app:actionBar.outdial\"), properties: {\n selectedOutdialANI: \"$STORE.agent.selectedOutdialANI\",\n agentStateProps: \"$STORE.agent.getAgentStateProps\",\n isOutboundEnabledForTenant: \"$STORE.agent.isOutboundEnabledForTenant\",\n isOutboundEnabledForAgent: \"$STORE.agent.isOutboundEnabledForAgent\",\n getOutdialRegex: \"$STORE.agent.getOutdialRegex\",\n dnNumber: \"$STORE.agent.dnNumber\",\n outDialEp: \"$STORE.agent.outDialEp\",\n isAdhocDialingEnabled: \"$STORE.agent.isAdhocDialingEnabled\",\n isActiveCall: \"$STORE.agentContact.isActiveCall\",\n outDialAni: \"$STORE.agent.getOutDialAni\",\n addressBook: \"$STORE.agent.getAddressBook\",\n isDarkModeEnable: \"$STORE.app.darkMode\",\n isOutdialDisabledForExclusive: \"$STORE.agentContact.shouldDisableOutdialForExclusive\",\n webRtcStatus: \"$STORE.agent.webRtcStatus\",\n isWebRTCEnabled: \"$STORE.app.featureFlags.isWebRTCEnabled\",\n deviceType: \"$STORE.agent.deviceType\",\n isOutdialOrgSearchEnabled: \"$STORE.app.featureFlags.isOutdialOrgSearchEnabled\",\n displayMicrosoftUserDetails: \"$STORE.agent.collaboration.displayMicrosoftUserDetails\",\n displayWebexUserDetails: \"$STORE.agent.displayWebexUserDetails\",\n microsoftAuthenticated: \"$STORE.auth.getMicrosoftAuthConfig.isAuthenticated\"\n } });\n case \"ai-assistant\":\n if (!SERVICE.featureflag.isAiAssistantEnabled()) {\n return null;\n }\n return Object.assign(Object.assign({}, this.getAiAssistantComponent(component)), { script: process.env.AI_ASSISTANT_URL });\n case \"ai-assistant-non-prod\":\n if (!SERVICE.featureflag.isAiAssistantEnabled()) {\n return null;\n }\n return Object.assign(Object.assign({}, this.getAiAssistantComponent(component)), { script: \"https://ai-ai-assistant-nonprod-cdn.ciscoccservice.com/ai-assistant-widget.js\" });\n case \"ai-assistant-dev\":\n if (!SERVICE.featureflag.isAiAssistantEnabled()) {\n return null;\n }\n return Object.assign({}, this.getAiAssistantComponent(component));\n case \"agentx-state-selector\":\n return Object.assign(Object.assign({}, component), { properties: {\n agentStateProps: \"$STORE.agent.getAgentStateProps\"\n } });\n case \"agentx-notification\":\n return Object.assign(Object.assign({}, component), { textContent: t(\"app:actionBar.notifications\"), properties: {\n notifications: \"$STORE.generalNotifications.notifications\",\n isNotificationsEnabled: \"$STORE.generalNotifications.isNotificationsEnabled\"\n } });\n case \"agentx-notes\":\n return Object.assign(Object.assign({}, component), { textContent: t(\"app:notes.notes\"), properties: {\n agentId: \"$STORE.agent.agentId\"\n } });\n case \"agentx-webex\":\n return Object.assign(Object.assign({}, component), { textContent: t(\"app:common.webex\"), properties: {\n webexNotificationCount: \"$STORE.generalNotifications.webexNotificationCount\",\n webexEnabled: \"$STORE.app.webexEnabled\"\n } });\n default:\n return Object.assign({}, component);\n }\n }\n render() {\n return html `\n
      \n
    • \n \n \n \n \n
        \n
        \n
      • \n ${STORE.dynamic.advancedHeader &&\n STORE.dynamic.advancedHeader.map((component) => {\n if ((component.comp.toLowerCase() === \"agentx-outdial\" && isSupervisor()) ||\n (component.comp.toLowerCase() === \"agentx-state-selector\" && isSupervisor()) ||\n (component.comp.toLowerCase() === \"agentx-webex\" && !STORE.app.webexEnabled)) {\n return nothing;\n }\n else {\n const options = this.getDynamicProperties(component);\n if (options) {\n return html `\n
      • \n \n ${options.textContent\n ? html `\n ${options.textContent}\n `\n : null}\n
      • \n `;\n }\n }\n })}\n
      \n `;\n }\n};\n__decorate([\n property({ attribute: false })\n], AgentDynamicHeader.prototype, \"advancedHeader\", void 0);\n__decorate([\n query(\"header\")\n], AgentDynamicHeader.prototype, \"dynamicHeader\", void 0);\n__decorate([\n query(\"ul.dynamicComponents .more\")\n], AgentDynamicHeader.prototype, \"moreButton\", void 0);\n__decorate([\n query(\"ul.dynamicComponents\")\n], AgentDynamicHeader.prototype, \"visibleLinks\", void 0);\n__decorate([\n query(\"ul.dynamicComponents .hiddenIcons\")\n], AgentDynamicHeader.prototype, \"hiddenLinks\", void 0);\nAgentDynamicHeader = __decorate([\n customElement(\"agentx-dynamic-header\")\n], AgentDynamicHeader);\nexport { AgentDynamicHeader };\nconst renderNormalHeader = () => {\n logger.info(\"Header is rendered\");\n return html `\n STORE.session.chat.clearAllUnreadMessagesFromStore()}\"\n .header=${STORE.dynamic.header}\n .isCallInProgress=${STORE.agentContact.isActiveCall}\n .addressBook=${STORE.agent.getAddressBook}\n .outDialAni=${STORE.agent.getOutDialAni}\n .isDarkModeEnable=${STORE.app.darkMode}\n ?hasWidgets=${!!Object.keys(STORE.dynamic.header || {}).length}\n ?webexEnabled=${STORE.app.webexEnabled}\n .actionIcons=${STORE.dynamic.actionIcons}\n ?isOutdialDisabledForExclusive=${STORE.agentContact.shouldDisableOutdialForExclusive}\n webRtcStatus=${STORE.agent.webRtcStatus}\n .isAddressBookInfiniteScrollEnabled=${STORE.app.featureFlags.isAddressBookInfiniteScrollEnabled}\n >\n\n ${!isSupervisor()\n ? html `\n STORE.agent.selectState(e)}\"\n @ax-banner-show=\"${(e) => showBanner(e)}\"\n @ax-banner-hide=\"${() => hideBanner(AGENT_STATE_CHANGEDBY_NAME)}\"\n @ax-state-selected-failed=\"${(e) => STORE.session.errorModal.setErrorDetails(e)}\"\n >\n `\n : nothing}\n `;\n};\nconst shouldRenderAdvancedHeader = () => {\n return STORE.dynamic.advancedHeader;\n};\nconst AdvancedHeader = () => {\n logger.info(\"Advanced Header is rendered\");\n return new Router.RouterView.Block({\n template: html `\n \n
      \n {\n STORE.app.updateAppTitleAsImage(e.detail.appTitleAsImage);\n }}\"\n >\n\n ${shouldRenderAdvancedHeader()\n ? html ` `\n : renderNormalHeader()}\n ${STORE.agent.agentName && AgentProfileBlock()}\n
      \n `,\n styles: [\n style,\n css `\n .header {\n grid-area: header; /*grid*/\n }\n `\n ]\n });\n};\nexport default AdvancedHeader;\n","import { SYSTEM_ROLES } from \"@/app/components/constants\";\nimport { retryAuthentication } from \"@/app/integration/microsoft\";\nimport { retrySync } from \"@/app/utils/StateSyncManager/UtilsSyncState\";\nimport { fetchManagedTeams, logger } from \"@/app/utils/Utils\";\nimport { STORE } from \"@/store\";\nimport { DynamicLayout } from \"@uuip/unified-ui-platform\";\nimport { html } from \"lit-html\";\nconst AgentProfileBlock = () => {\n logger.info(\"Agent Profile Block is rendered:\");\n const profileObj = {\n agentname: STORE.agent.agentName,\n agentid: STORE.agent.agentId,\n teamname: STORE.agent.teamName,\n teamid: STORE.agent.teamId,\n profileType: STORE.agent.profileType,\n channels: {\n voicecount: STORE.agent.channels.voiceCount,\n chatcount: STORE.agent.channels.chatCount,\n emailcount: STORE.agent.channels.emailCount,\n socialcount: STORE.agent.channels.socialCount\n },\n dnnumber: STORE.agent.dnNumber,\n agentstatus: STORE.agent.subStatus,\n tasklistlength: STORE.agentContact.taskMap.size,\n darktheme: STORE.app.darkMode,\n themeswitchenabled: STORE.app.darkThemeEnabled,\n keyboardShortcutKeyConflict: STORE.shortcutKeys.updateKeyboardShortcutConflict,\n agentphoto: STORE.agent.agentPhoto,\n selectedRoleName: STORE.agent.userSelectedRole,\n isExtension: STORE.agent.isExtension,\n usesOtherDN: STORE.agent.usesOtherDN,\n userRole: STORE.agent.userRole,\n monitoringEnabled: STORE.agent.isMonitoringEnabled,\n isManagedTeamsEnabled: STORE.agent.isManagedTeamsEnabled,\n managedTeams: STORE.agent.managedTeams,\n agentDbId: STORE.agent.agentAnalyzerId,\n engagedState: STORE.agentContact.getEngagedStatus,\n isWebRTCEnabled: (STORE.app.featureFlags.isWebRTCEnabled && STORE.agent.role === SYSTEM_ROLES.AGENT) ||\n (STORE.app.featureFlags.isWebRTCEnabled &&\n STORE.app.featureFlags.isWebRTCSupervisorEnabled &&\n STORE.agent.role === SYSTEM_ROLES.SUPERVISOR),\n extensionNumber: STORE.agent.extensionNumber,\n availableExtensions: STORE.agent.availableExtensions,\n dialNumberValueForNonUS: STORE.agent.dialNumberValueForNonUS,\n dialPlan: STORE.agent.dialPlan,\n defaultDn: STORE.agent.defaultDn,\n isDefaultDnSet: STORE.agent.isDefaultDnSet,\n isManagedTeamLoading: STORE.agent.isManagedTeamLoading,\n isManagedTeamsError: STORE.agent.isManagedTeamsError,\n isMicAccessDenied: STORE.agent.getMicrophoneAccessDenied,\n deviceType: STORE.agent.deviceType,\n selectedInputDeviceId: STORE.agent.selectedInputDeviceId,\n selectedOutputDeviceId: STORE.agent.selectedOutputDeviceId,\n loginVoiceOptions: STORE.agent.loginVoiceOptions,\n webRtcStatus: STORE.agent.webRtcStatus,\n microsoftAuthConfig: STORE.auth.getMicrosoftAuthConfig,\n presenceServiceStatus: STORE.agent.presenceServiceStatus,\n collabDetails: STORE.agent.collaboration,\n isDesktopEmergencyNotificationEnabled: STORE.app.featureFlags.isDesktopEmergencyNotificationEnabled,\n isEmergencyModalAlreadyDisplayed: STORE.agent.isEmergencyModalAlreadyDisplayed,\n isConsultTransferInfiniteScrollEnabled: STORE.app.featureFlags.isConsultTransferInfiniteScrollEnabled,\n isSuppressWebexCallingNotificationEnabled: STORE.app.featureFlags.isSuppressWebexCallingNotificationEnabled,\n isDesktopEnhancedSignInEnabled: STORE.app.featureFlags.isDesktopEnhancedSignInEnabled,\n visualRebrandNewLookToggleEnabled: STORE.app.featureFlags.isVisualRebrandNewLookToggleEnabled,\n isUploadLogsToWebexEnabled: STORE.app.featureFlags.isUploadLogsToWebexEnabled\n };\n return html `\n
      \n {\n STORE.shortcutKeys.updateShortcutKeysModal(e.detail);\n }}\"\n @ax-toast-notification-settings=\"${(e) => {\n STORE.generalNotifications.updateNotificationSettings(e.detail.notificationEnabled, e.detail.silentNotificationEnabled);\n }}\"\n @ax-reset-layout=\"${() => DynamicLayout.Element.resetAll()}\"\n @ax-dark-theme=\"${(e) => STORE.app.toggleDarkMode(e.detail.darkTheme)}\"\n @ax-visual-rebrand-new-look=\"${(e) => STORE.app.toggleVisualRebrandNewLook(e.detail.newLook)}\"\n @ax-change-team=\"${(e) => {\n STORE.app.changeAgentTeam(e.detail.selectedTeamDetails);\n }}\"\n @ax-change-team-cancelled=\"${(e) => {\n STORE.session.errorModal.setErrorDetails(e);\n }}\"\n @ax-update-profile=\"${(e) => {\n STORE.app.updateProfileSettings(e.detail.profileDetails);\n // close shortcutkey modal on update profile\n STORE.shortcutKeys.updateShortcutKeysModal(false);\n STORE.agent.updateSignOutByChangeProfile(true);\n }}\"\n @ax-update-profile-cancelled=\"${(e) => {\n STORE.session.errorModal.setErrorDetails(e);\n }}\"\n @update-flag-user-prefs-saved=\"${(e) => {\n STORE.agent.updateIsPreferenceSaved(e.detail.isPrefSaved);\n }}\"\n @save-update-user-prefs-failed=\"${(e) => {\n STORE.agent.updateIsPreferenceSavedFailed(e.detail.isPrefSaved);\n }}\"\n @update-user-preference-storage=\"${(e) => {\n STORE.app.saveUserPreferenceInSessionStorage(e.detail);\n }}\"\n @ax-output-device-change=\"${(e) => {\n STORE.agent.updateSelectedOutputDeviceId(e.detail.selectedOutputDeviceId);\n }}\"\n @ax-input-device-change=\"${(e) => {\n STORE.agent.updateSelectedInputDeviceId(e.detail.selectedInputDeviceId);\n }}\"\n @ax-speaker-mic-setting-update=\"${(e) => {\n STORE.agent.updateMediaSettings(e.detail.speakerMicSettings);\n }}\"\n @initiate-microsoft-auth-flow=\"${() => {\n retryAuthentication();\n }}\"\n @retry-presence-sync-register=\"${() => {\n retrySync();\n }}\"\n @fetch-managed-team=${() => fetchManagedTeams()}\n @ax-aqm-signout-by-ui=\"${(e) => {\n STORE.agent.updateSignOutByUi(e.detail.isSignedOut);\n STORE.agent.updateSignOutByChangeProfile(false);\n }}\"\n agentname=\"${STORE.agent.agentName}\"\n @ax-suppress-webex-notifications-failed=\"${(e) => {\n STORE.session.errorModal.setErrorDetails(e);\n }}\"\n >\n
      \n `;\n};\nexport default AgentProfileBlock;\n","import { t } from \"@/mixins/i18nMixin\";\nimport { STORE } from \"@/store\";\nimport { Router } from \"@uuip/unified-ui-platform\";\nimport { css } from \"lit-element\";\nimport { html } from \"lit-html\";\nimport style from \"./AiAssistantBlock.scss\";\nconst AiAssistantBlock = () => {\n return new Router.RouterView.Block({\n template: html `\n \n
      \n STORE.app.toggleAiAssistantPanelCollapse()}\"\n >\n
      \n
      \n
      \n ${t(\"app:common.CiscoAiAssistant\")}\n
      \n STORE.app.toggleAiAssistantPanelCollapse()}\n aria-label=\"Close\"\n >\n \n \n
      \n
      \n \n
      \n \n `,\n styles: [\n style,\n css `\n .aiAssistantArea {\n grid-area: ai; /*grid*/\n }\n\n .hide {\n display: none;\n transform: translateX(100%);\n transition: transform 0.3s ease-in-out;\n }\n `\n ]\n });\n};\nexport default AiAssistantBlock;\n","import { STORE } from \"@/store\";\nimport { Router } from \"@uuip/unified-ui-platform\";\nimport { css } from \"lit-element\";\nimport { html } from \"lit-html\";\nimport { classMap } from \"lit-html/directives/class-map\";\nimport style from \"./BannerBlock.scss\";\nconst BannerBlock = () => {\n return new Router.RouterView.Block({\n template: html `\n \n
      \n {\n STORE.alertBanner.updateAlertBanner({\n display: false,\n id: \"\"\n });\n STORE.alertBanner.alertBannerProps.onHide && STORE.alertBanner.alertBannerProps.onHide();\n }}\n ?show=${STORE.alertBanner.shouldRenderBanner}\n type=${STORE.alertBanner.alertBannerProps.type ? STORE.alertBanner.alertBannerProps.type : \"default\"}\n ?closable=${STORE.alertBanner.alertBannerProps.closable}\n message=${STORE.alertBanner.alertBannerProps.message ? STORE.alertBanner.alertBannerProps.message : \"\"}\n >\n ${STORE.alertBanner.alertBannerProps.message ? STORE.alertBanner.alertBannerProps.message : \"\"}\n \n
      \n `,\n styles: [\n style,\n css `\n .banner {\n grid-area: banner; /*grid*/\n margin: 8px 0 0;\n }\n `\n ]\n });\n};\nexport default BannerBlock;\n","import { t } from \"@/mixins/i18nMixin\";\nimport { STORE } from \"@/store\";\nimport { Router } from \"@uuip/unified-ui-platform\";\nimport { css } from \"lit-element\";\nimport { html, nothing } from \"lit-html\";\nimport { classMap } from \"lit-html/directives/class-map\";\nconst EmptyBlock = () => {\n return new Router.RouterView.Block({\n template: html `\n \n
      \n ${STORE.app.taskPageIllustration\n ? html `\n \n
      \n \n
      \n
      \n `\n : nothing}\n \n `,\n styles: css `\n uuip-wc-empty-state,\n .customEmptyWrapper {\n width: 100%;\n height: 100%;\n display: contents;\n }\n\n .customEmptySpace {\n grid-area: empty-state; /*grid*/\n margin: 8px;\n margin-top: var(--content-container-top-margin, 8px);\n background: var(--md-content-bg-color);\n box-shadow: var(--common-box-shadow);\n border-radius: var(--border-radius-medium);\n overflow: hidden;\n }\n\n .customEmptySpace.dark {\n border: 1px solid var(--md-menu-overlay-border-color, --gray-20);\n }\n\n .customIllustration {\n align-items: center;\n display: flex;\n justify-content: center;\n height: 100%;\n }\n\n .illustrationImage {\n max-width: 100%;\n max-height: 100%;\n }\n\n @media (max-width: 736px) {\n .customEmptySpace {\n height: 100%;\n }\n }\n\n uuip-wc-empty-state::part(img) {\n max-width: 60%;\n width: 400px;\n }\n `\n });\n};\nexport default EmptyBlock;\n","import { SYSTEM_ROLES, TOGGLE_MAXIMIZED_EVENT } from \"@/app/components/constants\";\nimport { retryAuthentication } from \"@/app/integration/microsoft\";\nimport { showBanner } from \"@/app/utils/AlertBannerUtils\";\nimport { isEmailOrChat, toggleDisplayOnMaximize } from \"@/app/utils/Utils\";\nimport { t } from \"@/mixins/i18nMixin\";\nimport { STORE } from \"@/store\";\nimport { MediaType } from \"@/store/store-agent-contact\";\nimport \"@agentx/agentx-mfe-wc-based\";\nimport { SERVICE } from \"@agentx/agentx-services\";\nimport { Router } from \"@uuip/unified-ui-platform\";\nimport { css } from \"lit-element\";\nimport { html, nothing } from \"lit-html\";\nimport { toJS } from \"mobx\";\nimport style from \"./InteractionControlBlock.scss\";\nconst InteractionControlBlock = () => {\n var _a, _b, _c, _d;\n const mediaType = (_a = STORE.agentContact.taskSelected) === null || _a === void 0 ? void 0 : _a.mediaType;\n const mediaChannel = (_b = STORE.agentContact.taskSelected) === null || _b === void 0 ? void 0 : _b.mediaChannel;\n const ariaLabel = mediaType === MediaType.Social ? mediaChannel : mediaType;\n let isMaximizedEventAttached = false;\n const isMaximizedFunction = () => {\n if (!isMaximizedEventAttached) {\n window.addEventListener(TOGGLE_MAXIMIZED_EVENT, (e) => {\n const customEvent = e;\n const value = toggleDisplayOnMaximize(customEvent.detail.isMaximized, \"common-control\");\n isMaximizedEventAttached = value;\n });\n }\n };\n if (isEmailOrChat((_c = STORE.agentContact) === null || _c === void 0 ? void 0 : _c.taskSelected)) {\n isMaximizedFunction();\n }\n return new Router.RouterView.Block({\n template: html `\n
      \n ${STORE.agentContact.taskSelected && STORE.agent.agentId\n ? html `\n \n \n {\n STORE.app.updateUserVoiceIntPaneState(e.detail);\n }}\"\n isProgressiveCampaignEnabled=\"${STORE.app.featureFlags.isProgressiveCampaignEnabled}\"\n isProgressiveCampaign1NEnabled=\"${STORE.app.featureFlags.isProgressiveCampaign1NEnabled}\"\n @ax-interaction-wrapup=\"${(e) => {\n STORE.agent.updateStatusAfterOutdial(e);\n STORE.session.screenpop.updateScreenPopData(e.detail.interactionIdParam);\n STORE.session.interactionControl.removeInteraction(e.detail.interactionIdParam);\n }}\"\n @ax-main-cad-section-dimension=\"${(e) => {\n setTimeout(() => {\n STORE.agentContact.updateCadSectionDimension(\"mainCallContainerHeight\", e.detail.height);\n }, 0);\n }}\"\n @ax-consult-cad-section-dimension=\"${(e) => {\n setTimeout(() => {\n STORE.agentContact.updateCadSectionDimension(\"consultCallContainerHeight\", e.detail.height);\n }, 0);\n }}\"\n @ax-auto-wrap-up=\"${(e) => {\n STORE.session.interactionControl.removeInteraction(e.detail.interactionId);\n }}\"\n @ax-interaction-recording-pause-failed=\"${(e) => {\n STORE.session.errorModal.setErrorDetails(e);\n }}\"\n @ax-interaction-recording-resume-failed=\"${(e) => {\n STORE.session.errorModal.setErrorDetails(e);\n }}\"\n @ax-interaction-hold-failed=\"${(e) => {\n STORE.session.errorModal.setErrorDetails(e);\n }}\"\n @ax-interaction-resume-failed=\"${(e) => {\n STORE.session.errorModal.setErrorDetails(e);\n }}\"\n @ax-interaction-end-failed=\"${(e) => {\n STORE.session.errorModal.setErrorDetails(e);\n }}\"\n @ax-interaction-consult-transfer=\"${() => {\n STORE.agentContact.resetInteractionControlDimensions();\n }}\"\n @ax-interaction-consult-transfer-failed=\"${(e) => {\n STORE.session.errorModal.setErrorDetails(e);\n }}\"\n @ax-interaction-consult-end-failed=\"${(e) => {\n STORE.session.errorModal.setErrorDetails(e);\n }}\"\n @ax-interaction-conference-end-failed=\"${(e) => {\n STORE.session.errorModal.setErrorDetails(e);\n }}\"\n @ax-interaction-conference-exit-failed=\"${(e) => {\n STORE.session.errorModal.setErrorDetails(e);\n }}\"\n @ax-interaction-conference-failed=\"${(e) => {\n STORE.session.errorModal.setErrorDetails(e);\n }}\"\n @ax-update-navigation-warning=\"${(e) => {\n STORE.agentContact.updateWarnOnNavigation(e.detail);\n }}\"\n @ax-reset-warn-on-navigation=\"${() => {\n STORE.agentContact.resetWarningOnNavigation();\n }}\"\n @ax-interaction-modal-toggled=${(e) => {\n STORE.common.updateInteractionModalState(e.detail);\n }}\n @ax-interaction-fetch-epdn-list-success=${(e) => {\n STORE.agent.updateEpDnList(e.detail.data);\n }}\n @ax-interaction-fetch-epdn-list-failure=${(e) => {\n STORE.agent.updatetrackingIdforEpList(e.detail.error);\n }}\n @ax-interaction-fetch-addressbook-list-success=${(e) => {\n STORE.agent.updateAddressbookList(e.detail.data);\n }}\n @ax-interaction-fetch-addressbook-list-failure=${(e) => {\n STORE.agent.updateAddressbookListFailed(e.detail);\n }}\n @ax-interaction-monitoring-hold-failed=\"${(e) => {\n STORE.session.errorModal.setErrorDetails(e);\n }}\"\n @monitor-interaction-owner=\"${(e) => {\n STORE.agentContact.setMonitoringOwnerName(e.detail);\n }}\"\n @ax-update-dtmf-value=\"${(e) => {\n STORE.agent.updateDtmfValue(e.detail.value);\n }}\"\n @ax-fire-notification=\"${(e) => {\n STORE.generalNotifications.fireNotificationEvent(e.detail);\n STORE.browserNotifications.firebrowserNotification(e.detail.data);\n }}\"\n @ax-end-monitoring=\"${(e) => {\n STORE.agentContact.setIsMonitoringNotEndedManually(e.detail);\n }}\"\n @ax-banner-show=\"${(e) => {\n showBanner(e);\n }}\"\n @initiate-microsoft-auth-flow=\"${() => {\n retryAuthentication();\n }}\"\n @ax-wrapup-codes-update=\"${(e) => {\n STORE.agent.updateAgentWrapUpCodes(e.detail);\n SERVICE.conf.updateWrapUpCodeConfig(e.detail);\n }}\"\n >\n
      \n `\n : nothing}\n \n `,\n styles: [\n style,\n css `\n /** Placeholder */\n `\n ]\n });\n};\nexport default InteractionControlBlock;\n","import { STORE } from \"@/store\";\nimport { Router } from \"@uuip/unified-ui-platform\";\nimport { css } from \"lit-element\";\nimport { html } from \"lit-html\";\nimport style from \"./NavBlock.scss\";\nconst NavBlock = () => {\n return new Router.RouterView.Block({\n template: html `\n \n {\n // Updating Store route name\n STORE.routing.navigateNav(e.detail.navigateTo);\n }}\n logo=${STORE.app.logo}\n navtitle=\"${STORE.app.title}\"\n .selectedNavigateTo=\"${STORE.routing.forNavRouteName}\"\n .items=\"${STORE.layout.navigation}\"\n .popoverCount=\"${STORE.agentContact.newPopoverCount}\"\n .agentDetails=${STORE.agent.getAgentData}\n .darkTheme=\"${STORE.app.darkMode}\"\n .userRole=\"${STORE.agent.userRole}\"\n @navbar-toggled=${(e) => {\n STORE.common.updateIsNavBarOpen(e.detail.showNavList);\n }}\n >\n `,\n styles: [\n style,\n css `\n agentx-wc-navigation {\n grid-area: nav; /*grid*/\n }\n `\n ]\n });\n};\nexport default NavBlock;\n","import { UTILS_DYNAMIC } from \"@/app/utils/UtilsDynamic\";\nimport { STORE } from \"@/store\";\nimport \"@agentx/agentx-mfe-wc-based\";\nimport { Router } from \"@uuip/unified-ui-platform\";\nimport { css } from \"lit-element\";\nimport { html, nothing } from \"lit-html\";\nimport style from \"./PersistentAreaBlock.scss\";\nconst PersistentAreaBlock = () => {\n return new Router.RouterView.Block({\n template: html `\n
      \n ${STORE.dynamic.showPersistentWidgets\n ? html `\n \n \n `\n : nothing}\n
      \n `,\n styles: STORE.dynamic.showPersistentWidgets ? style : css ``\n });\n};\nexport default PersistentAreaBlock;\n","import { isWebCall } from \"@/app/utils/Utils\";\nimport { STORE } from \"@/store\";\nimport { Router } from \"@uuip/unified-ui-platform\";\nimport { css } from \"lit-element\";\nimport { html } from \"lit-html\";\nexport const checkWebCall = (mediaType) => {\n const interaction = {\n mediaType\n };\n return STORE.app.featureFlags.isWebrtcRingingEnabled && isWebCall(interaction);\n};\nexport const handleFireNotificationPopoverBlock = (e) => {\n if (STORE.app.taskAreaCollapsed) {\n STORE.browserNotifications.fireNewOfferNotification(e.detail);\n }\n // STORE.browserNotifications.playSound :\n // 1. if the call is a web call and the feature flag CX-13578-webrtc-ringtone is enabled -> plays (/sounds/ringtone.mp3)\n // 2. if the call is not a web call -> plays default chime sound (/sounds/new_contact_sound.mp3)\n // 3. if its any other media type -> plays default chime sound (/sounds/new_contact_sound.mp3)\n STORE.browserNotifications.playSound(checkWebCall(e.detail.type));\n};\nconst PopoverBlock = () => {\n return new Router.RouterView.Block({\n template: html `\n \n {\n STORE.agentContact.updatePopoverCount(e.detail);\n }}\"\n >\n `,\n styles: css `\n .popover {\n position: absolute;\n }\n `\n });\n};\nexport default PopoverBlock;\n","import { t } from \"@/mixins/i18nMixin\";\nimport { STORE } from \"@/store\";\nimport \"@agentx/agentx-mfe-wc-based\";\nimport { Router } from \"@uuip/unified-ui-platform\";\nimport { css } from \"lit-element\";\nimport { html, nothing } from \"lit-html\";\nimport { ifDefined } from \"lit-html/directives/if-defined\";\nimport { checkWebCall } from \"./PopoverBlock\";\nimport style from \"./TasksAreaBlock.scss\";\nconst AGENT = \"agent\";\nconst SUPERVISOR = \"supervisor\";\nconst AGENT_AND_SUPERVISOR = \"agent_supervisor\";\nconst getLoggedInRole = (userRoleString) => {\n switch (userRoleString) {\n case SUPERVISOR:\n return SUPERVISOR;\n case \"agent_supervisor\":\n return STORE.agent.userSelectedRole === SUPERVISOR ? SUPERVISOR : AGENT_AND_SUPERVISOR;\n default:\n return AGENT;\n }\n};\nconst displayTaskList = () => {\n const role = STORE.agent.role;\n const userRole = STORE.agent.userRole;\n const loggedInRole = userRole ? getLoggedInRole(userRole.join(\"_\").toLocaleLowerCase()) : role;\n return loggedInRole !== SUPERVISOR || STORE.agent.isMonitoringEnabled;\n};\nexport const handleFireNotificationTaskAreaBlock = (e) => {\n if (!STORE.app.taskAreaCollapsed) {\n STORE.browserNotifications.fireNewOfferNotification(e.detail);\n }\n // STORE.browserNotifications.playSound :\n // 1. if the call is a web call and the feature flag CX-13578-webrtc-ringtone is enabled -> plays (/sounds/ringtone.mp3)\n // 2. if the call is not a web call -> plays default chime sound (/sounds/new_contact_sound.mp3)\n // 3. if its any other media type -> plays default chime sound (/sounds/new_contact_sound.mp3)\n STORE.browserNotifications.playSound(checkWebCall(e.detail.type));\n};\nconst TasksAreaBlock = () => {\n return new Router.RouterView.Block({\n template: html `\n \n \n ${displayTaskList()\n ? html `\n STORE.app.toggleTaskAreaCollapse()}\"\n >\n
      \n
      \n
      \n \n
      \n 0}\"\n .isInteractionModelOpen=\"${STORE.common.isInteractionModelOpen}\"\n .clickEvent=\"${STORE.agentContact.getcheckReplies}\"\n .newUnreadTaskMessage=\"${STORE.session.chat.getNewUnreadMessageId}\"\n .isDarkMode=\"${STORE.app.darkMode}\"\n .monitoringOwnerName=\"${STORE.agentContact.monitoringOwnerName}\"\n @task-selected=${(e) => {\n const { taskId } = e.detail;\n STORE.routing.navigateTask(taskId);\n }}\n @handle-new-replies=${(e) => {\n STORE.agentContact.updateShowNewReply(e.detail.show);\n STORE.agentContact.updateShowArrowUp(e.detail.isShowUp);\n }}\n >\n\n
      \n ${STORE.agentContact.showNewReplyButton\n ? html `\n STORE.agentContact.checkReplies()}\"\n variant=\"primary\"\n color=\"blue\"\n >\n ${t(\"app:taskList.newReplies\")} ${\" \"}\n ${STORE.agentContact.showArrowUp\n ? html ` `\n : html ` `}\n \n `\n : nothing}\n
      \n
      \n ${STORE.app.isStationLoginSuccess\n ? html `\n STORE.session.errorModal.setErrorDetails(e)}\"\n webRtcStatus=\"${STORE.agent.webRtcStatus}\"\n isWebRTCEnabled=\"${STORE.app.featureFlags.isWebRTCEnabled}\"\n isMaskSensitiveDataEnabled=\"${STORE.agent.getIsMaskSensitiveDataEnabled}\"\n deviceType=\"${ifDefined(STORE.agent.deviceType === null ? undefined : STORE.agent.deviceType)}\"\n orgId=\"${STORE.agent.orgId}\"\n >\n `\n : nothing}\n
      \n \n `\n : nothing}\n \n `,\n styles: [\n style,\n css `\n .agentx-task-area {\n grid-area: tasks; /*grid*/\n }\n `\n ]\n });\n};\nexport default TasksAreaBlock;\n","import { RouteName } from \"@/app/routing/routing\";\nimport { handlePresenceCallState } from \"@/app/utils/StateSyncManager/UtilsSyncState\";\nimport { UTILS_DYNAMIC } from \"@/app/utils/UtilsDynamic\";\nimport { t } from \"@/mixins/i18nMixin\";\nimport { createLogger } from \"@/sdk\";\nimport { STORE } from \"@/store\";\nimport { MediaType } from \"@/store/store-agent-contact\";\nimport { SERVICE } from \"@agentx/agentx-services\";\nimport { Router } from \"@uuip/unified-ui-platform\";\nimport { Notifications } from \"@uuip/unified-ui-platform-sdk\";\nimport { html, nothing } from \"lit-html\";\nimport { toJS } from \"mobx\";\nimport { BARGE_IN_MONITORING_STATE, SUPERVISOR_EVENT, WEBEX_MINIMIZE_MODAL, WEBEX_SHOW_MODAL } from \"../../components/constants\";\nimport { bargeInStarted, contactCallbackRetryModal, getAgentCallMonitoringStateOnBargeIn, getErrorMsgForReasonCode, handleAutoAnswer, inviteFailedToIdle, isSecondaryEpDnAgent, midcallMonitoringEnded, midcallMonitoringFailed, midcallMonitoringOffered, midcallMonitoringStarted, ronaToOtherState, showContactCleanUpModal, showErrorModal, triggerBargeInNotification, triggerLeaveInteractionNotification, updatePageTitle } from \"../../utils/Utils\";\nconst logger = createLogger(\"[UtilityBlock]\");\nconst RACE_ERROR_REASON_CODE = 53;\nconst UtilityBlock = () => {\n var _a, _b;\n return new Router.RouterView.Block({\n template: html `\n \n\n
      \n \n {\n STORE.session.chat.setMediaViewInitState(e.detail);\n }}\"\n @agent-contact-reserved=\"${(e) => {\n STORE.agentContact.updateTask(e.detail);\n }}\"\n @agent-offer-contact=\"${(e) => {\n STORE.agentContact.updateTask(e.detail);\n handleAutoAnswer(e.detail);\n }}\"\n @agent-offer-consult=\"${(e) => {\n STORE.agentContact.updateTask(e.detail);\n handleAutoAnswer(e.detail);\n }}\"\n @agent-contact-assigned=\"${(e) => {\n // need to clear the previous interaction id received for add campaign (When agent leg is established)\n if (STORE.app.featureFlags.isProgressiveCampaign1NEnabled && e.detail.reservationInteractionId) {\n STORE.agentContact.deleteTask(e.detail.reservationInteractionId, true);\n }\n STORE.agentContact.updateTask(e.detail);\n STORE.agentContact.checkBeforeSelectingTask(e.detail.interactionId);\n STORE.agentContact.updateCallMonitoringObjAndTriggerNotification(e.detail);\n if (e.detail.interaction.mediaType === MediaType.Telephony) {\n STORE.session.errorModal.updateModalStatus(false);\n handlePresenceCallState(e.detail);\n }\n }}\"\n @agent-contact-assigned-failed=\"${(e) => {\n STORE.agentContact.handleAgentContactAssignFailure(e.detail);\n }}\"\n @agent-contact=\"${(e) => {\n var _a;\n STORE.agentContact.updateAgentCallMonitoringStateDetails(e.detail);\n STORE.agentContact.updateTask(e.detail);\n if (STORE.routing.currentRouteName === RouteName.TASK &&\n STORE.agentContact.interactionIds.length === STORE.agentContact.taskMap.size) {\n STORE.agentContact.selectTaskOnHomeRoute();\n }\n if (STORE.routing.currentRouteValues.params.taskId === e.detail.interactionId) {\n STORE.agentContact.selectedTaskChange(e.detail.interactionId);\n STORE.routing.navigateTask(e.detail.interactionId);\n }\n STORE.session.interactionControl.setAutoWrapupState(e.detail, STORE.agent.agentId, (_a = SERVICE.conf.profile) === null || _a === void 0 ? void 0 : _a.wrapUpData);\n STORE.session.interactionControl.checkForWrapUp(e.detail, STORE.agent.agentId);\n }}\"\n @contact-held=${(e) => {\n if ((e.detail.interactionId !== STORE.agentContact.selectedTaskId &&\n !STORE.agentContact.isPrimary(e.detail, STORE.agent.agentId) &&\n STORE.routing.currentRouteName === RouteName.TASKPANEL) ||\n (STORE.routing.currentRouteName === RouteName.APS &&\n e.detail.interaction.mediaType !== MediaType.Telephony) ||\n (STORE.routing.currentRouteName === RouteName.APS &&\n e.detail.interaction.mediaType === MediaType.Telephony &&\n STORE.agentContact.selectedTaskId !== \"\" &&\n e.detail.interactionId !== STORE.agentContact.selectedTaskId &&\n !STORE.agentContact.isPrimary(e.detail, STORE.agent.agentId))) {\n const notificationData = {\n type: Notifications.ItemMeta.Type.Info,\n mode: Notifications.ItemMeta.Mode.AutoDismiss,\n title: t(\"app:notifications.contactHeldNotifTitle\"),\n data: t(\"app:notifications.contactHeldNotifData\")\n };\n STORE.generalNotifications.fireNotificationEvent(notificationData);\n }\n STORE.agentContact.updateHeldUnheldProps(e.detail);\n }}\n @contact-unheld=${(e) => {\n STORE.agentContact.updateHeldUnheldProps(e.detail);\n }}\n @agent-wrapup=${(e) => {\n if (STORE.common.isInteractionModelOpen && STORE.common.interactionModelOpenId === e.detail.interactionId) {\n STORE.common.deleteInteractionModalState();\n }\n STORE.agentContact.updateTask(e.detail);\n if (e.detail.interaction.contactDirection.type === \"OUTBOUND\") {\n STORE.agentContact.checkBeforeSelectingTask(e.detail.interactionId);\n }\n STORE.session.email.deleteEmailFromCache(e.detail.interactionId);\n if (STORE.agent.wrapUpData.wrapUpProps.autoWrapup) {\n STORE.session.interactionControl.addAutoWrapUpTimers(e.detail.interactionId, STORE.app.multipartyOrPersistsFF\n ? e.detail.interaction.participants[STORE.agent.agentId][\"lastUpdated\"]\n : e.detail.interaction.participants[STORE.agent.agentId][\"wrapUpTimestamp\"], toJS(STORE.agent.wrapUpData));\n STORE.session.interactionControl.addInteraction(e.detail.interactionId);\n }\n if (e.detail.interaction.mediaType === MediaType.Chat ||\n e.detail.interaction.mediaType === MediaType.Social) {\n STORE.session.chat.deleteUnreadMessages(e.detail.interactionId);\n }\n }}\n @agent-contact-wrappedup=${(e) => {\n if (STORE.common.isInteractionModelOpen && STORE.common.interactionModelOpenId === e.detail.interactionId) {\n STORE.common.deleteInteractionModalState();\n }\n STORE.agentContact.resetWarningOnNavigation();\n // remove persisted state of aux-panel tabs on interaction closed\n STORE.session.interactionControl.deleteAutoWrapTimer(e.detail.interactionId);\n sessionStorage.removeItem(e.detail.interactionId);\n if ((e.detail.interactionId !== STORE.agentContact.selectedTaskId &&\n STORE.agent.wrapUpData.wrapUpProps.autoWrapup &&\n STORE.routing.currentRouteName === RouteName.TASKPANEL) ||\n (STORE.routing.currentRouteName === RouteName.APS &&\n e.detail.interaction.mediaType !== MediaType.Telephony) ||\n (STORE.routing.currentRouteName === RouteName.APS &&\n e.detail.interaction.mediaType === MediaType.Telephony &&\n STORE.agentContact.selectedTaskId !== \"\" &&\n e.detail.interactionId !== STORE.agentContact.selectedTaskId)) {\n const notificationData = {\n type: Notifications.ItemMeta.Type.Info,\n mode: Notifications.ItemMeta.Mode.AutoDismiss,\n title: t(\"app:notifications.autoWrapupTitle\"),\n data: t(\"app:notifications.autoWrapupData\")\n };\n STORE.generalNotifications.fireNotificationEvent(notificationData);\n }\n STORE.agentContact.deleteAndSelectNextTask(e.detail.interactionId);\n }}\n @agent-contact-ended=${(e) => {\n if (STORE.common.isInteractionModelOpen && STORE.common.interactionModelOpenId === e.detail.interactionId) {\n STORE.common.deleteInteractionModalState();\n }\n if (e.detail.interaction.state === \"new\" ||\n (e.detail.interaction.state === \"wrapUp\" && // check if current state is wrapUp\n e.detail.interaction.contactDirection.type === \"OUTBOUND\" &&\n STORE.agentContact.isTaskRinging(e.detail.interactionId)) || // check if task previous state is ringing\n isSecondaryEpDnAgent(e.detail.interaction)) {\n // delete and remove task from desktop for contactEnd for agent2 side\n STORE.agentContact.deleteAndSelectNextTask(e.detail.interactionId);\n }\n }}\n @agent-contact-rona=${(e) => {\n STORE.agentContact.deleteTask(e.detail.interactionId);\n STORE.agent.updateStateToRona();\n ronaToOtherState(e.detail.interaction, e.detail.reasonCode);\n }}\n @agent-invite-failed=${(e) => {\n STORE.agentContact.deleteTask(e.detail.interactionId);\n if (e.detail.reasonCode === 1030 || e.detail.reasonCode === \"1030\") {\n // a usecase of customer left to treat this as outdial failed.\n STORE.agentContact.handleOutBoundFailed(e.detail);\n }\n else {\n STORE.agent.updateStateToRona();\n inviteFailedToIdle(e.detail.interaction, e.detail.trackingId);\n }\n }}\n @call-recording-started=${(e) => {\n STORE.agentContact.updateRecordingProps(e.detail);\n }}\n @agent-consult-created=${(e) => {\n STORE.agentContact.updateTask(e.detail);\n }}\n @agent-consulting=${(e) => {\n if ((e.detail.interaction.mediaType === MediaType.Chat ||\n e.detail.interaction.mediaType === MediaType.Social) &&\n STORE.agent.agentId === e.detail.interaction.owner) {\n const data = {\n interactionId: e.detail.interactionId,\n destAgentId: e.detail.destAgentId,\n initiateConferenceChat: true,\n agentId: STORE.agent.agentId\n };\n STORE.agentContact.updatechatConferenceData(data);\n }\n if ((e.detail.interactionId !== STORE.agentContact.selectedTaskId &&\n e.detail.interaction.mediaType === MediaType.Telephony &&\n STORE.agentContact.isPrimary(e.detail, STORE.agent.agentId) &&\n STORE.routing.currentRouteName === RouteName.TASKPANEL) ||\n (STORE.routing.currentRouteName === RouteName.APS &&\n e.detail.interaction.mediaType !== MediaType.Telephony) ||\n (STORE.routing.currentRouteName === RouteName.APS &&\n e.detail.interaction.mediaType === MediaType.Telephony &&\n STORE.agentContact.selectedTaskId !== \"\" &&\n e.detail.interactionId !== STORE.agentContact.selectedTaskId)) {\n const notificationData = {\n type: Notifications.ItemMeta.Type.Info,\n mode: Notifications.ItemMeta.Mode.AutoDismiss,\n title: t(\"app:notifications.consultingNotifTitle\"),\n data: t(\"app:notifications.consultingNotifData\")\n };\n STORE.generalNotifications.fireNotificationEvent(notificationData);\n }\n STORE.agentContact.handleConsulting(e.detail, STORE.agent.agentId);\n if (STORE.agent.agentId !== e.detail.interaction.owner) {\n handlePresenceCallState(e.detail);\n }\n }}\n @agent-consult-conferenced=${(e) => {\n var _a;\n STORE.agentContact.resetInteractionControlDimensions();\n if ((e.detail.interactionId !== STORE.agentContact.selectedTaskId &&\n STORE.agentContact.isPrimary(e.detail, STORE.agent.agentId) &&\n STORE.routing.currentRouteName === RouteName.TASKPANEL) ||\n (STORE.routing.currentRouteName === RouteName.APS &&\n e.detail.interaction.mediaType !== MediaType.Telephony) ||\n (STORE.routing.currentRouteName === RouteName.APS &&\n e.detail.interaction.mediaType === MediaType.Telephony &&\n STORE.agentContact.selectedTaskId !== \"\" &&\n e.detail.interactionId !== STORE.agentContact.selectedTaskId)) {\n const notificationData = {\n type: Notifications.ItemMeta.Type.Info,\n mode: Notifications.ItemMeta.Mode.AutoDismiss,\n title: t(\"app:notifications.conferenceNotifTitle\"),\n data: t(\"app:notifications.conferenceNotifData\")\n };\n STORE.generalNotifications.fireNotificationEvent(notificationData);\n }\n STORE.agentContact.updateTask(e.detail);\n if (e.detail.interaction.mediaType === MediaType.Chat ||\n e.detail.interaction.mediaType === MediaType.Social) {\n STORE.agentContact.selectAcceptedTask(e.detail, STORE.agent.agentId);\n }\n try {\n updatePageTitle(STORE.routing.currentRouteName);\n }\n catch (ex) {\n logger.error(\"[UtilityBlock] Error while updating title for conference\", ex.message);\n }\n if (!((_a = STORE.agentContact.taskSelected) === null || _a === void 0 ? void 0 : _a.isOwner)) {\n STORE.agentContact.updateCallMonitoringObjAndTriggerNotification(e.detail);\n }\n }}\n @agent-contact-updated=${(e) => {\n STORE.agentContact.updateCadVariable(e.detail);\n }}\n @agent-consult-ended=${(e) => {\n STORE.agentContact.handleConsultUpdate(e.detail, STORE.agent.agentId);\n }}\n @agent-consult-conference-ended=${(e) => {\n STORE.agentContact.handleConsultUpdate(e.detail, STORE.agent.agentId);\n }}\n @contact-owner-changed=${(e) => {\n STORE.agentContact.handleContactOwnerChanged(e.detail, STORE.agent.agentId);\n }}\n @agent-conference-participantLeft=${(e) => {\n STORE.agentContact.handleConfParticipantLeft(e.detail, STORE.agent.agentId);\n }}\n @participant-post-call-activity=${(e) => {\n STORE.agentContact.updateTask(e.detail);\n }}\n @agent-consult-conferencing=${(e) => {\n STORE.agentContact.updateTask(e.detail);\n }}\n @agent-consult-failed=${(e) => {\n STORE.agentContact.handleAgentConsultFailed(e.detail, STORE.agent.agentId);\n }}\n @agent-consult-transfer-failed=\"${(e) => {\n STORE.session.errorModal.setErrorDetails({\n detail: {\n modalType: \"dialog\",\n message: getErrorMsgForReasonCode(e.detail.reasonCode) || t(\"app:interaction.consultTransferFailed\"),\n trackingId: e.detail.trackingId\n }\n });\n }}\"\n @agent-ctq-cancelled=${(e) => {\n STORE.agentContact.updateForCTQ(e.detail.interactionId);\n }}\n @agent-ctq-failed=${(e) => {\n STORE.agentContact.updateForCTQ(e.detail.interactionId);\n }}\n @agent-ctq-cancel-failed=${(e) => {\n STORE.agentContact.updateForCTQFailure(e.detail);\n }}\n @ax-media-view-message-recieved=${(e) => {\n if (e.detail.convId && e.detail.actorId !== STORE.agent.agentId) {\n STORE.session.chat.setUnreadMessages(e.detail);\n }\n }}\n @ax-media-view-conv-loaded=${(e) => {\n var _a;\n const taskId = ((_a = STORE.agentContact.getTaskIdFromConvId(e.detail.convId)) === null || _a === void 0 ? void 0 : _a.interactionId) || \"\";\n STORE.session.chat.deleteUnreadMessages(taskId);\n STORE.session.chat.updateIsConvNotFound(e.detail.convId, false);\n }}\n @ax-media-view-customer-left=${(e) => {\n // updating hasCustomerFlag in chat store for disabling the buttons except end button\n STORE.session.chat.updateHasCustomerLeft(e.detail.convId);\n }}\n @ax-media-view-ws-customer-left=${(e) => {\n //emit desktop level notification for customer left\n STORE.generalNotifications.fireChatEnded(e.detail);\n }}\n @ax-media-view-conv-not-found=${(e) => {\n // updating hasCustomerFlag in chat store for disabling the buttons except end button\n STORE.session.chat.updateIsConvNotFound(e.detail.convId, true);\n }}\n @agent-outbound-failed=${(e) => {\n STORE.agentContact.handleOutBoundFailed(e.detail);\n }}\n @agent-conference-failed=${(e) => {\n STORE.agentContact.handleChatConferenceFailed(e.detail);\n const data = {\n interactionId: \"\",\n destAgentId: \"\",\n initiateConferenceChat: false,\n agentId: \"\"\n };\n STORE.agentContact.updatechatConferenceData(data);\n }}\n @agent-conference-participantJoined=${(e) => {\n STORE.agentContact.handleConfParticipantJoined(e.detail);\n }}\n @ax-update-navigation-warning=\"${(e) => {\n if (STORE.agentContact.navigationWarning[\"chatMessages\"] !== e.detail[\"value\"]) {\n STORE.agentContact.updateWarnOnNavigation(e.detail);\n }\n }}\"\n @ax-reset-warn-on-navigation=\"${() => {\n if (STORE.agentContact.navigationWarning[\"chatMessages\"]) {\n STORE.agentContact.resetWarningOnNavigation();\n }\n }}\"\n @ax-attachment-limit-exceeds-error=\"${() => {\n STORE.session.errorModal.setErrorDetails({\n detail: {\n modalType: \"dialog\",\n message: t(\"app:chat.attachmentLimitExceeds\")\n }\n });\n }}\"\n @agent-outidal-ani-list=\"${(e) => {\n STORE.agent.updateoutdialAniList(e.detail);\n }}\"\n @ax-interaction-recording-paused=\"${(e) => {\n STORE.agentContact.updateRecordingStatus(e.detail.interactionId, \"true\");\n }}\"\n @ax-interaction-recording-resumed=\"${(e) => {\n STORE.agentContact.updateRecordingStatus(e.detail.interactionId, \"false\");\n }}\"\n @ax-chat-characters-limit-exceeds-error=\"${() => {\n STORE.session.errorModal.setErrorDetails({\n detail: {\n modalType: \"dialog\",\n message: t(\"app:chat.chatCharacterLimitExceeds\")\n }\n });\n }}\"\n @imi-message-received=\"${(e) => {\n const newMsgEvent = {\n actorId: e.detail.senderId,\n actorName: e.detail.senderName || e.detail.senderId,\n actorType: e.detail.senderType,\n convId: e.detail.conversationId,\n message: e.detail.isAttachment ? \"\" : e.detail.message,\n isAttachment: e.detail.isAttachment\n };\n STORE.session.chat.setUnreadMessages(newMsgEvent);\n }}\"\n @imi-conversation-loaded=\"${(e) => {\n var _a;\n STORE.session.chat.setImiWidgetInitState(false);\n const taskId = ((_a = STORE.agentContact.getTaskIdFromConvId(e.detail.conversationId)) === null || _a === void 0 ? void 0 : _a.interactionId) || \"\";\n STORE.session.chat.deleteUnreadMessages(taskId);\n }}\"\n @imi-conversation-loaded-error=\"${() => {\n STORE.session.chat.setImiWidgetInitState(false);\n }}\"\n @imi-livechat-closed=\"${(e) => {\n STORE.session.chat.updateHasCustomerLeft(e.detail.conversationId);\n }}\"\n @imi-services-initialized=\"${() => {\n STORE.session.chat.setImiServicesInitialized(true);\n }}\"\n @agent-contact-cleanup=\"${(e) => {\n STORE.agentContact.handleContactCleanup(e.detail);\n showContactCleanUpModal(e.detail.trackingId);\n }}\"\n @agent-contact-merged=\"${(e) => {\n if (e.detail.childInteractionId) {\n STORE.agentContact.deleteTask(e.detail.childInteractionId, true);\n }\n STORE.agentContact.updateTask(e.detail);\n STORE.agentContact.selectedTaskChange(e.detail.interactionId);\n STORE.routing.navigateTask(e.detail.interactionId);\n }}\"\n @monitoring-offered=\"${(e) => {\n midcallMonitoringOffered(e.detail.interaction.owner, e.detail.interactionId);\n STORE.agentContact.updateTask(e.detail);\n }}\"\n @agent-offer-campaign-reserved=\"${(e) => {\n STORE.agentContact.updateTask(e.detail.data);\n }}\"\n @agent-add-campaign-reserved=\"${(e) => {\n STORE.agentContact.updateTask(e.detail.data);\n }}\"\n @monitoring-started=\"${(e) => {\n midcallMonitoringStarted(e.detail.interaction.owner, e.detail.interactionId);\n STORE.agentContact.updateTask(e.detail);\n STORE.agentContact.checkBeforeSelectingTask(e.detail.interactionId);\n }}\"\n @monitoring-ended=\"${(e) => {\n midcallMonitoringEnded(e.detail.interactionId);\n STORE.agentContact.deleteAndSelectNextTask(e.detail.interactionId);\n STORE.agentContact.handleAbruptMonitoringEnd();\n }}\"\n @monitoring-end-failed=\"${(e) => {\n const { reasonCode } = e.detail;\n STORE.session.errorModal.setErrorDetails({\n detail: {\n modalType: \"dialog\",\n message: getErrorMsgForReasonCode(reasonCode) || t(\"app:monitoring.monitoringEndFailed\"),\n trackingId: e.detail.trackingId\n }\n });\n }}\"\n @monitoring-held=\"${(e) => {\n STORE.agentContact.updateHeldUnheldPropsMonitoring(e.detail);\n }}\"\n @monitoring-unheld=\"${(e) => {\n STORE.agentContact.updateHeldUnheldPropsMonitoring(e.detail);\n }}\"\n @monitoring-create-failed=\"${(e) => {\n const { reasonCode } = e.detail;\n if (reasonCode !== RACE_ERROR_REASON_CODE) {\n STORE.session.errorModal.setErrorDetails({\n detail: {\n modalType: \"dialog\",\n message: getErrorMsgForReasonCode(e.detail.reasonCode) || t(\"app:monitoring.monitoringStartFailed\"),\n trackingId: e.detail.trackingId\n }\n });\n }\n }}\"\n @monitoring-failed=\"${(e) => {\n midcallMonitoringFailed(e.detail.interactionId);\n STORE.agentContact.deleteAndSelectNextTask(e.detail.interactionId);\n STORE.session.errorModal.setErrorDetails({\n detail: {\n modalType: \"dialog\",\n htmlMessage: getErrorMsgForReasonCode(e.detail.reasonCode) ||\n html `\n
      \n ${t(\"app:monitoring.monitoringFailed\")}\n
        \n
      • ${t(\"app:monitoring.requestNotAnswered\")}
      • \n
      • ${t(\"app:monitoring.systemError\")}
      • \n
      \n
      \n `,\n trackingId: e.detail.reason !== \"MONITORING_FAILED\" ? e.detail.trackingId : \"\"\n }\n });\n }}\"\n @agent-monitor-state-changed=\"${(e) => {\n var _a;\n if (e.detail.eventType === SUPERVISOR_EVENT) {\n bargeInStarted(e.detail.interactionId, e.detail.agentId);\n STORE.agentContact.updateBargeInProps(e.detail);\n }\n else {\n const supervisorName = (_a = e.detail) === null || _a === void 0 ? void 0 : _a.supervisorName;\n triggerBargeInNotification(supervisorName);\n const agentCallMonitoringState = getAgentCallMonitoringStateOnBargeIn(e.detail);\n STORE.agentContact.setAgentCallMonitoringStateDetails(agentCallMonitoringState);\n if (STORE.app.featureFlags.isWxccMultiPartyConfEnabled) {\n STORE.agentContact.updateInteractionAndMediaObjectForMonitorStateChangeEvent(e.detail);\n }\n }\n }}\"\n @contact-callback-failed=\"${(e) => {\n const { reasonCode, trackingId, interactionId } = e.detail;\n if (STORE.app.featureFlags.isCallbackRetryEnabled) {\n STORE.agentContact.deleteTask(interactionId);\n const errorModal = contactCallbackRetryModal(reasonCode, trackingId);\n showErrorModal(errorModal.header, errorModal.message, errorModal.trackingId);\n }\n }}\"\n @agent-monitor-end=\"${(e) => {\n var _a, _b;\n const supervisorName = ((_b = (_a = STORE.agentContact) === null || _a === void 0 ? void 0 : _a.agentCallMonitoringState) === null || _b === void 0 ? void 0 : _b.supervisorName) || \"\";\n if (STORE.agentContact.agentCallMonitoringState &&\n STORE.agentContact.agentCallMonitoringState.monitoringType === BARGE_IN_MONITORING_STATE) {\n triggerLeaveInteractionNotification(supervisorName);\n if (STORE.app.featureFlags.isWxccMultiPartyConfEnabled) {\n STORE.agentContact.removeSupervisorFromInteractionAndMediaObject(e.detail);\n }\n }\n STORE.agentContact.setAgentCallMonitoringStateDetails({});\n }}\"\n >\n\n {\n STORE.shortcutKeys.updateShortcutKeysModal(e.detail);\n }}\n .isModalOpen=${STORE.shortcutKeys.shortcutKeysModal}\n .isShortcutKeyConflict=${STORE.shortcutKeys.updateKeyboardShortcutConflict}\n >\n\n {\n STORE.app.updateWebexShowModal(false);\n localStorage.setItem(WEBEX_SHOW_MODAL, \"false\");\n }}\n @agentx-webex-minimize-restore=${() => {\n var _a;\n localStorage.setItem(WEBEX_MINIMIZE_MODAL, (_a = (!STORE.app.webexMinimized)) === null || _a === void 0 ? void 0 : _a.toString());\n STORE.app.updateWebexMinimized(!STORE.app.webexMinimized);\n }}\n >\n\n ${STORE.dynamic.headless\n ? html `\n \n \n `\n : nothing}\n
      \n `\n });\n};\nexport default UtilityBlock;\n","import AiAssistantBlock from \"@/app/routing/shared-blocks/AiAssistantBlock\";\nimport BannerBlock from \"@/app/routing/shared-blocks/BannerBlock\";\nimport InteractionControlBlock from \"@/app/routing/shared-blocks/InteractionControlBlock\";\nimport NavBlock from \"@/app/routing/shared-blocks/NavBlock\";\nimport TasksAreaBlock from \"@/app/routing/shared-blocks/TasksAreaBlock\";\nimport { STORE } from \"@/store\";\nimport { Router } from \"@uuip/unified-ui-platform\";\nimport AdvancedHeader from \"../../shared-blocks/AdvancedHeaderBlock\";\nimport PersistentAreaBlock from \"../../shared-blocks/PersistentAreaBlock\";\nimport PopoverBlock from \"../../shared-blocks/PopoverBlock\";\nimport UtilityBlock from \"../../shared-blocks/UtilityBlock\";\nimport style from \"./BaseView.scss\";\nexport const BaseView = () => {\n const blocks = {\n header: AdvancedHeader(),\n nav: NavBlock(),\n banner: BannerBlock(),\n tasks_area: TasksAreaBlock(),\n interaction_control: InteractionControlBlock(),\n persistent_area: PersistentAreaBlock(),\n popover_area: PopoverBlock(),\n utility_block: UtilityBlock()\n };\n if (STORE.app.featureFlags.isAiAssistantV2Enabled) {\n blocks.ai_assistant_area = AiAssistantBlock();\n }\n return new Router.RouterView.BlocksMap({\n blocks,\n styles: style\n });\n};\n","import { BaseView } from \"@/app/routing/views/_base-view/BaseView\";\nimport { STORE } from \"@/store\";\nimport { Router } from \"@uuip/unified-ui-platform\";\nimport { css } from \"lit-element\";\nimport { html } from \"lit-html\";\nimport \"../../../components/DynamicArea\";\nimport style from \"./DynamicView.scss\";\nexport const DynamicView = (page) => {\n return new Router.RouterView.BlocksMap(BaseView(), {\n blocks: {\n dynamic: new Router.RouterView.Block({\n template: html `\n \n `,\n styles: css `\n .dynamic-area {\n border-radius: 8px;\n grid-area: dynamic; /*grid*/\n height: 100%;\n margin: 8px;\n margin-top: var(--content-container-top-margin, 8px);\n overflow-y: hidden;\n }\n `\n })\n },\n styles: [\n style,\n STORE.dynamic.showPersistentWidgets\n ? css `\n :host {\n grid-template-areas:\n \"header header header header\"\n \"nav banner banner banner\"\n \"nav tasks common-control common-control\"\n \"nav tasks persistent-page-control persistent-page-control\"\n \"nav tasks dynamic dynamic\";\n grid-template-columns: var(--nav-bar-width) auto auto 1fr;\n grid-template-rows: var(--horizontal-panel-height) auto auto 1fr;\n }\n `\n : css `\n :host {\n grid-template-areas:\n \"header header header header\"\n \"nav banner banner banner\"\n \"nav tasks common-control common-control\"\n \"nav tasks dynamic dynamic\"\n \"nav tasks dynamic dynamic\";\n grid-template-columns: var(--nav-bar-width) auto auto 1fr;\n grid-template-rows: var(--horizontal-panel-height) auto auto 1fr;\n }\n `\n ]\n });\n};\n","import RouteNotFoundBlock from \"@/app/routing/views/_not-found-view/blocks/RouteNotFoundBlock\";\nimport { Router } from \"@uuip/unified-ui-platform\";\nimport style from \"./NotFoundView.scss\";\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport const NotFoundView = (_notFoundHref) => {\n return new Router.RouterView.BlocksMap({\n blocks: {\n route_not_found: RouteNotFoundBlock(\"/\", \"route-not-found\") //redirecting to default route\n },\n styles: style\n });\n};\n","import { t } from \"@/mixins/i18nMixin\";\nimport { Router } from \"@uuip/unified-ui-platform\";\nimport { css } from \"lit-element\";\nimport { html } from \"lit-html\";\nimport { ROUTE_NOT_FOUND_TYPE } from \"../../../../components/constants\";\nimport style from \"./RouteNotFoundBlock.scss\";\nconst RouteNotFoundBlock = (homeHref, type) => {\n const TASK_NOT_FOUND = ROUTE_NOT_FOUND_TYPE.TASK_NOT_FOUND;\n const ROUTE_NOT_FOUND = ROUTE_NOT_FOUND_TYPE.ROUTE_NOT_FOUND;\n const ERROR_LINK_TEXT = t(\"app:errorPage.errorLinkText\");\n const getIllustrationName = () => {\n switch (type) {\n case TASK_NOT_FOUND:\n return \"Torn-out_page_from_a_book\";\n case ROUTE_NOT_FOUND:\n return \"Dog_digging_hole\";\n default:\n return \"\";\n }\n };\n return new Router.RouterView.Block({\n template: html `\n
      \n \n
      \n

      ${t(\"app:errorPage:errorHeaderNew\")}

      \n ${t(\"app:errorPage:errorForIncorrectRouteNew\")}\n \n ${t(\"app:errorPage:errorClickNew\")}\n ${type === ROUTE_NOT_FOUND\n ? html ` ${ERROR_LINK_TEXT} `\n : html ` ${ERROR_LINK_TEXT} `}\n \n
      \n \n
      \n `,\n styles: [\n style,\n css `\n .route-not-found {\n grid-area: route_not_found; /*grid*/\n }\n `\n ]\n });\n};\nexport default RouteNotFoundBlock;\n","import { BaseView } from \"@/app/routing/views/_base-view/BaseView\";\nimport { STORE } from \"@/store\";\nimport { Router } from \"@uuip/unified-ui-platform\";\nimport { css } from \"lit-element\";\nimport style from \"./ApsView.scss\";\nimport ApsReportsBlock from \"./blocks/ApsReportsBlock\";\nexport const ApsView = () => {\n return new Router.RouterView.BlocksMap(BaseView(), {\n blocks: {\n aps_reports: ApsReportsBlock()\n },\n styles: [\n style,\n STORE.dynamic.showPersistentWidgets\n ? css `\n :host {\n grid-template-areas:\n \"header header header header header \"\n \"nav banner banner banner ai\"\n \"nav tasks common-control common-control ai\"\n \"nav tasks persistent-page-control persistent-page-control ai\"\n \"nav tasks aps-reports aps-reports ai\";\n grid-template-columns: auto auto auto 1fr auto;\n grid-template-rows: auto auto auto 1fr 1fr auto;\n }\n `\n : css `\n :host {\n grid-template-areas:\n \"header header header header header\"\n \"nav banner banner banner ai\"\n \"nav tasks common-control common-control ai\"\n \"nav tasks aps-reports aps-reports ai\"\n \"nav tasks aps-reports aps-reports ai\";\n grid-template-columns: auto auto auto 1fr auto;\n grid-template-rows: auto auto auto 1fr 1fr auto;\n }\n `\n ]\n });\n};\n","import { STORE } from \"@/store\";\nimport { Router } from \"@uuip/unified-ui-platform\";\nimport { css } from \"lit-element\";\nimport { html } from \"lit-html\";\nimport style from \"./ApsReportsBlock.scss\";\nconst ApsReportsBlock = () => {\n return new Router.RouterView.Block({\n template: html `\n \n `,\n styles: [\n style,\n css `\n agentx-wc-agent-performance-reports {\n width: -moz-available;\n box-sizing: border-box;\n grid-area: aps-reports;\n padding: 0 var(--lumos-spacing) var(--lumos-spacing);\n }\n `\n ]\n });\n};\nexport default ApsReportsBlock;\n","import { STORE } from \"@/store\";\nimport \"@momentum-ui/web-components\";\nimport { Router } from \"@uuip/unified-ui-platform\";\nimport { html, nothing } from \"lit-html\";\nimport { BaseView } from \"../_base-view/BaseView\";\nimport style from \"./DefaultLandingView.scss\";\nconst DefaultLandingView = () => {\n return new Router.RouterView.BlocksMap(BaseView(), {\n blocks: {\n empty_view: new Router.RouterView.Block({\n template: html `\n
      \n
      \n ${!STORE.app.isStationLoginSuccess\n ? html `\n
      \n \n
      \n `\n : nothing}\n
      \n
      \n `,\n styles: style\n })\n }\n });\n};\nexport default DefaultLandingView;\n","import EmptyBlock from \"@/app/routing/shared-blocks/EmptyBlock\";\nimport { BaseView } from \"@/app/routing/views/_base-view/BaseView\";\nimport { Router } from \"@uuip/unified-ui-platform\";\nimport style from \"./HomeView.scss\";\nconst displayRespectiveBlock = () => {\n return { empty_view: EmptyBlock() };\n};\nexport const HomeView = () => {\n return new Router.RouterView.BlocksMap(BaseView(), {\n blocks: Object.assign({}, displayRespectiveBlock()),\n styles: style\n });\n};\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { InteractionsTypes } from \"@agentx/agentx-services\";\nimport { action, observable } from \"mobx\";\nclass InteractionsViewContext {\n constructor() {\n this.interactionId = \"\";\n this.selectedTab = InteractionsTypes.QueryType.Active;\n }\n updateInteractionId(interactionId) {\n this.interactionId = interactionId;\n }\n updateSelectedTab(selectedTab) {\n this.selectedTab = selectedTab;\n }\n}\n__decorate([\n observable\n], InteractionsViewContext.prototype, \"interactionId\", void 0);\n__decorate([\n observable\n], InteractionsViewContext.prototype, \"selectedTab\", void 0);\n__decorate([\n action\n], InteractionsViewContext.prototype, \"updateInteractionId\", null);\n__decorate([\n action\n], InteractionsViewContext.prototype, \"updateSelectedTab\", null);\nexport const interactionsViewContext = new InteractionsViewContext();\n","import { STORE } from \"@/store\";\nimport \"@agentx/agentx-mfe-wc-based\";\nimport { Router } from \"@uuip/unified-ui-platform\";\nimport { html } from \"lit-element\";\nimport { BaseView } from \"../_base-view/BaseView\";\nimport { interactionsViewContext as context } from \"./interactions-view-context\";\nimport styles from \"./interactions-view.scss\";\nconst InteractionsView = () => {\n return new Router.RouterView.BlocksMap(BaseView(), {\n blocks: {\n interactions: new Router.RouterView.Block({\n template: html `\n
      \n
      \n {\n STORE.layout.setRouterViewClasses({ expanded: true });\n context.updateInteractionId(e.detail.eventId);\n }}\n @interactions-tab-selected-tab-changed=${(e) => {\n context.updateSelectedTab(e.detail.selectedTab);\n }}\n >\n
      \n
      \n `\n }),\n details: new Router.RouterView.Block({\n template: html `\n
      \n
      \n

      Details view

      \n

      Interaction ID: ${context.interactionId}

      \n {\n STORE.layout.setRouterViewClasses({ expanded: false });\n }}\"\n >Close\n
      \n
      \n `\n })\n },\n styles\n });\n};\nexport default InteractionsView;\n","import \"@agentx/agentx-mfe-wc-based\";\nimport { Router } from \"@uuip/unified-ui-platform\";\nimport { BaseView } from \"../_base-view/BaseView\";\nimport style from \"./QueueStatsView.scss\";\nimport QueueStatsBlock from \"../queue-stats-view/blocks/QueueStatsBlock\";\nimport QueueStatsDetailsBlock from \"../queue-stats-view/blocks/QueueStatsDetailsBlock\";\nconst QueueStatsView = () => {\n return new Router.RouterView.BlocksMap(BaseView(), {\n blocks: {\n queue: QueueStatsBlock(),\n details: QueueStatsDetailsBlock()\n },\n styles: style\n });\n};\nexport default QueueStatsView;\n","import { STORE } from \"@/store\";\nimport { Router } from \"@uuip/unified-ui-platform\";\nimport { html } from \"lit-html\";\nimport style from \"./QueueStatsBlock.scss\";\nconst QueueStatsBlock = () => {\n return new Router.RouterView.Block({\n template: html `\n
      \n
      \n {\n const validQueue = STORE.agent.managedQueues.some((queue) => queue.queueId === e.detail.eventId);\n if (validQueue) {\n STORE.layout.setRouterViewClasses({ expanded: true });\n STORE.agentContact.selectedQueueStatsQueueChange(e.detail.eventId);\n }\n }}\n >\n
      \n
      \n `,\n styles: [style]\n });\n};\nexport default QueueStatsBlock;\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { Router } from \"@uuip/unified-ui-platform\";\nimport { STORE } from \"@/store\";\nimport { html } from \"lit-html\";\nimport { LitElement, customElement } from \"lit-element\";\nimport style from \"./QueueStatsDetailsBlock.scss\";\nimport config from \"../config-queue-stats.json\";\n/**\n * @element agentx-queue-stats-widgets\n */\nlet AgentQueueStats = class AgentQueueStats extends LitElement {\n static get styles() {\n return style;\n }\n render() {\n return html `\n \n `;\n }\n};\nAgentQueueStats = __decorate([\n customElement(\"agentx-queue-stats-widgets\")\n], AgentQueueStats);\nexport { AgentQueueStats };\nconst QueueStatsDetailsBlock = () => {\n return new Router.RouterView.Block({\n template: html `\n
      \n
      \n {\n STORE.layout.setRouterViewClasses({ expanded: false });\n }}\"\n >Close\n \n
      \n \n \n \n
      \n
      \n \n
      \n
      \n
      \n `,\n styles: style\n });\n};\nexport default QueueStatsDetailsBlock;\n","import { BaseView } from \"@/app/routing/views/_base-view/BaseView\";\nimport { STORE } from \"@/store\";\nimport { MediaType } from \"@/store/store-agent-contact\";\nimport { Router } from \"@uuip/unified-ui-platform\";\nimport { createLogger } from \"@/sdk\";\nimport { css } from \"lit-element\";\nimport RouteNotFoundBlock from \"../_not-found-view/blocks/RouteNotFoundBlock\";\nimport style from \"./TaskSelectedView.scss\";\nimport PanelOneBlock from \"./blocks/PanelOneBlock\";\nimport PanelTwoBlock from \"./blocks/PanelTwoBlock\";\nconst logger = createLogger(\"AgentXBaseView\");\nconst taskArrayHasLength = () => {\n STORE.agentContact.taskArray.length\n ? logger.info(`agentContact taskArray has length ${STORE.agentContact.taskArray.length}`)\n : logger.info(`agentContact taskArray has no length ${STORE.agentContact.taskArray.length}`);\n return STORE.agentContact.taskArray.length;\n};\nexport const TaskSelectedView = (homeHref) => {\n var _a, _b;\n return new Router.RouterView.BlocksMap(BaseView(), {\n blocks: STORE.agentContact.interactionIds.indexOf(STORE.routing.currentRouteValues.params.taskId) !== -1\n ? Object.assign({ panel_one: PanelOneBlock() }, (taskArrayHasLength() && { aux_pane: PanelTwoBlock() })) : { route_not_found: RouteNotFoundBlock(homeHref, \"task-not-found\") },\n styles: [\n style,\n STORE.agentContact.taskSelected\n ? ((_a = STORE.agentContact.taskSelected) === null || _a === void 0 ? void 0 : _a.mediaType) === MediaType.Telephony ||\n ((_b = STORE.agentContact.taskSelected) === null || _b === void 0 ? void 0 : _b.mediaType) === MediaType.Midcall\n ? css `\n :host {\n grid-template-areas:\n \"header header header header header\"\n \"nav banner banner banner ai\"\n \"nav tasks common-control common-control ai\"\n \"nav tasks panel-two panel-two ai\";\n grid-template-columns: var(--nav-bar-width) auto 1fr 1fr auto;\n grid-template-rows: auto auto auto 1fr auto;\n }\n `\n : css `\n :host {\n grid-template-areas:\n \"header header header header header\"\n \"nav banner banner banner ai\"\n \"nav tasks common-control panel-two ai\"\n \"nav tasks panel-one panel-two ai\";\n grid-template-columns: var(--nav-bar-width) auto minmax(auto, 2fr) 1.5fr auto;\n grid-template-rows: auto auto auto 1fr auto;\n }\n `\n : css `\n :host {\n grid-template-areas:\n \"header header header header header\"\n \"nav banner banner banner ai\"\n \"nav tasks common-control common-control ai\"\n \"nav tasks route_not_found route_not_found ai\";\n grid-template-columns: var(--nav-bar-width) auto 1fr 1fr auto;\n grid-template-rows: auto auto auto 1fr auto;\n }\n `\n ]\n });\n};\n","import { TOGGLE_MAXIMIZED_EVENT } from \"@/app/components/constants\";\nimport { attachIMIScript, isEmailOrChat, toggleDisplayOnMaximize } from \"@/app/utils/Utils\";\nimport { t } from \"@/mixins/i18nMixin\";\nimport { STORE } from \"@/store\";\nimport { MediaType } from \"@/store/store-agent-contact\";\nimport \"@agentx/agentx-mfe-wc-based\";\nimport { Router } from \"@uuip/unified-ui-platform\";\nimport \"@uuip/unified-ui-platform-common-components\";\nimport { css } from \"lit-element\";\nimport { html, nothing } from \"lit-html\";\nimport { classMap } from \"lit-html/directives/class-map\";\nimport style from \"./PanelOneBlock.scss\";\nconst PanelOneBlock = () => {\n var _a, _b;\n let isMaximizedEventAttached = false;\n const getMediaViewChatWidget = () => {\n var _a;\n return html `\n STORE.session.chat.setChatMessages(e.detail)}\"\n @ax-retry-init-media-view=\"${() => {\n STORE.session.chat.setRetryMediaViewInit();\n }}\"\n >\n `;\n };\n const getIMIEmailWidget = () => {\n var _a, _b, _c;\n if (STORE.session.chat.imiServicesInit) {\n return html `\n \n `;\n }\n else {\n return html `\n
      \n
      \n \n
      \n
      \n `;\n }\n };\n const returnMediaType = (mediaType) => {\n var _a, _b, _c, _d, _e;\n if (!((_a = STORE.agentContact.taskSelected) === null || _a === void 0 ? void 0 : _a.isWrapUp)) {\n switch (mediaType) {\n case MediaType.Email:\n if ((_b = STORE.agentContact.getMediaMgrFromTask()) === null || _b === void 0 ? void 0 : _b.includes(\"digitalmm\")) {\n attachIMIScript();\n return getIMIEmailWidget();\n }\n else {\n return html `\n STORE.session.email.setTemplate(e)}\"\n @ax-email-draft-content=\"${(e) => {\n STORE.session.email.updateDraftEmailContent(e);\n }}\"\n >\n `;\n }\n case MediaType.Telephony:\n case MediaType.Midcall:\n return nothing;\n case MediaType.Social:\n case MediaType.Chat:\n if ((_e = STORE.agentContact.getMediaMgrFromTask()) === null || _e === void 0 ? void 0 : _e.includes(\"digitalmm\")) {\n attachIMIScript();\n if (STORE.app.imiScriptLoaded) {\n return html `\n {\n STORE.session.chat.setImiWidgetInitState(e.detail);\n }}\"\n >\n `;\n }\n else {\n return nothing;\n }\n }\n else {\n return getMediaViewChatWidget();\n }\n default:\n return getMediaViewChatWidget();\n }\n }\n else if (mediaType !== MediaType.Telephony) {\n return html `\n \n ${t(\"app:wrapUp.wrapUpTitle\")}\n ${t(\"app:wrapUp.wrapUpDetails\")}\n \n `;\n }\n else {\n // clearing the dtmf value when call wraps up\n STORE.agent.updateDtmfValue(\"\");\n return nothing;\n }\n };\n const isMaximizedFunction = () => {\n if (!isMaximizedEventAttached) {\n window.addEventListener(TOGGLE_MAXIMIZED_EVENT, (e) => {\n const customEvent = e;\n const value = toggleDisplayOnMaximize(customEvent.detail.isMaximized, \"panel-one\");\n isMaximizedEventAttached = value;\n });\n }\n };\n if (isEmailOrChat((_a = STORE.agentContact) === null || _a === void 0 ? void 0 : _a.taskSelected)) {\n isMaximizedFunction();\n }\n return new Router.RouterView.Block({\n template: html `\n \n \n ${STORE.agentContact.taskSelected\n ? returnMediaType(STORE.agentContact.taskSelected.mediaType)\n : html ` `}\n \n `,\n styles: [\n style,\n css `\n .panel-one {\n grid-area: panel-one; /*grid*/\n }\n `\n ]\n });\n};\nexport default PanelOneBlock;\n","import { CONTACT_HISTORY_TAB_TITLE, MEDIA_TYPES, TOGGLE_MAXIMIZED_EVENT } from \"@/app/components/constants\";\nimport { RouteName } from \"@/app/routing/routing\";\nimport { auxiliaryPaneTelemetryTracker, isEmailOrChat, toggleDisplayOnMaximize, widgetElement } from \"@/app/utils/Utils\";\nimport { UTILS_DYNAMIC } from \"@/app/utils/UtilsDynamic\";\nimport { t } from \"@/mixins/i18nMixin\";\nimport { STORE } from \"@/store\";\nimport \"@agentx/agentx-mfe-wc-based\";\nimport { SERVICE } from \"@agentx/agentx-services\";\nimport wxmLogo from \"@img/wxm.svg\";\nimport { Router } from \"@uuip/unified-ui-platform\";\nimport \"@uuip/unified-ui-platform-common-components\";\nimport { unsafeCSS } from \"lit-element\";\nimport { html, nothing } from \"lit-html\";\nimport { classMap } from \"lit-html/directives/class-map\";\nimport { ifDefined } from \"lit-html/directives/if-defined\";\nimport { reaction } from \"mobx\";\nimport style from \"./PanelTwoBlock.scss\";\nconst SCREEN_POP_TITLE = \"app:panelTwo.screenPopTitle\";\nconst CONTACT_HISTORY_TITLE = \"app:panelTwo.contactHistoryTitle\";\nconst IVR_TRANSCRIPT_TITLE = \"app:panelTwo.ivrTranscriptTitle\";\nconst WXM_TITLE = \"app:panelTwo.wxmTitle\";\nconst getMaximizeBlockLocalization = (title = \"\") => {\n const titleString = title ? ` ${title}` : \"\";\n return {\n maximizeText: `${t(\"app:maximizeAreaBlock:maximize\")}${titleString}`,\n minimizeText: `${t(\"app:maximizeAreaBlock:minimize\")}${titleString}`\n };\n};\nconst telemetryTracker = (tabName) => {\n switch (tabName) {\n case widgetElement.CONTACT_HISTORY:\n auxiliaryPaneTelemetryTracker(widgetElement.CONTACT_HISTORY);\n SERVICE.telemetry.setValueInCache(SERVICE.telemetry.TELEM_CACHE_KEYS.AUXILIARY_PANEL_TAB_NAME, widgetElement.CONTACT_HISTORY);\n SERVICE.telemetry.setValueInCache(SERVICE.telemetry.TELEM_CACHE_KEYS.CONTACT_HISTORY_START_TIME, new Date().getTime());\n break;\n case widgetElement.WXM_JOURNEY:\n auxiliaryPaneTelemetryTracker(widgetElement.WXM_JOURNEY);\n SERVICE.telemetry.setValueInCache(SERVICE.telemetry.TELEM_CACHE_KEYS.AUXILIARY_PANEL_TAB_NAME, widgetElement.WXM_JOURNEY);\n SERVICE.telemetry.setValueInCache(SERVICE.telemetry.TELEM_CACHE_KEYS.WXM_JOURNEY_START_TIME, new Date().getTime());\n break;\n }\n};\nconst ContactHistoryBlock = (isDefinedDynamicPanel, taskSelected) => {\n var _a;\n //telemetry tracking for contact history\n telemetryTracker(widgetElement.CONTACT_HISTORY);\n const urlEncodedANI = taskSelected.mediaChannel === MEDIA_TYPES.APPLE_BUSINESS_CHAT && !STORE.app.featureFlags.isTahoeEnabled\n ? encodeURIComponent(taskSelected.ani)\n : taskSelected.ani;\n const interactionId = STORE.agentContact.getInteractionId();\n const dnis = taskSelected.dnis;\n return html `\n \n \n \n `;\n};\nconst ScreenPopBlock = (isDefinedDynamicPanel) => {\n return STORE.agentContact.taskSelected\n ? html `\n \n \n \n `\n : nothing;\n};\nconst IvrTranscriptBlock = (isDefinedDynamicPanel) => {\n return STORE.agentContact.taskSelected && STORE.agentContact.isDefinedIvrTranscript\n ? html `\n \n STORE.session.ivrTransctipt.saveTranscript(e.detail.interactionId, e.detail.ivrConversation)}\"\n >\n \n `\n : nothing;\n};\nexport const isNotHome = () => {\n return STORE.routing.currentRouteName !== RouteName.TASK;\n};\n/** Below code is exported to cover it from unit tests as it is being called internally from dynamic widget */\nexport const visibilityCheck = (tag, upd) => {\n var _a, _b, _c, _d, _e;\n switch (tag) {\n case \"SCREEN_POP\":\n return {\n visible: STORE.session.screenpop.screenPopSelector.length > 0,\n dispose: reaction(() => STORE.session.screenpop.screenPopSelector, (x) => upd(x.length > 0))\n };\n case \"WXM_JOURNEY\":\n telemetryTracker(widgetElement.WXM_JOURNEY);\n return {\n visible: STORE.app.wxmEnabled,\n dispose: reaction(() => STORE.app.wxmEnabled, (x) => upd(x))\n };\n case \"IVR_TRANSCRIPT\":\n return {\n visible: !!STORE.agentContact.isDefinedIvrTranscript,\n dispose: reaction(() => STORE.agentContact.isDefinedIvrTranscript, (x) => upd(!!x))\n };\n // CallGuide is a third-part widget which requires conditional visibility.\n // In future when dynamic visibility is implemented below condition needs to be updated.\n case \"CALL_GUIDE\":\n return {\n visible: (((_a = STORE.agentContact.getCallGuideProps) === null || _a === void 0 ? void 0 : _a.outboundType) === \"CAMPAIGN\" &&\n STORE.agent.agentId === ((_b = STORE.agentContact.getCallGuideProps) === null || _b === void 0 ? void 0 : _b.owner)) ||\n (STORE.app.featureFlags.isProgressiveCampaignEnabled &&\n (((_c = STORE.agentContact.getCallGuideProps) === null || _c === void 0 ? void 0 : _c.outboundType) === \"PROGRESSIVE_CAMPAIGN\" ||\n ((_d = STORE.agentContact.getCallGuideProps) === null || _d === void 0 ? void 0 : _d.outboundType) === \"CAMPAIGN_PREDICTIVE_OUTDIAL_CUSTOMER\" ||\n ((_e = STORE.agentContact.getCallGuideProps) === null || _e === void 0 ? void 0 : _e.outboundType) === \"CAMPAIGN_OUTDIAL_CUSTOMER\")),\n dispose: reaction(() => { var _a; return (_a = STORE.agentContact.getCallGuideProps) === null || _a === void 0 ? void 0 : _a.outboundType; }, (x) => upd(x === \"CAMPAIGN\"))\n };\n default: {\n return { visible: true };\n }\n }\n};\nexport const updatePanelAttribute = (panel) => {\n if ((panel === null || panel === void 0 ? void 0 : panel.attributes) && !(panel === null || panel === void 0 ? void 0 : panel.attributes[\"persist-selection\"])) {\n STORE.dynamic.updatePanelPersistentAttributes();\n return STORE.dynamic.panel;\n }\n return panel;\n};\nconst getTabHeader = (label, icon) => {\n return html `\n \n \n \n
      \n \n ${label}\n
      \n
      \n
      \n `;\n};\nconst renderPanelTwoBlock = (isDefinedDynamicPanel, selectedTask) => {\n if (isDefinedDynamicPanel) {\n return html `\n \n \n \n ${getTabHeader(t(IVR_TRANSCRIPT_TITLE), \"transcript-bold\")}\n \n \n\n ${IvrTranscriptBlock(isDefinedDynamicPanel)}\n\n \n \n ${getTabHeader(t(CONTACT_HISTORY_TITLE), \"recents-bold\")}\n \n \n\n ${ContactHistoryBlock(isDefinedDynamicPanel, selectedTask)}\n\n \n \n ${getTabHeader(t(SCREEN_POP_TITLE), \"pop-out-bold\")}\n \n \n\n \n \n \n ${t(WXM_TITLE)}\n ${t(WXM_TITLE)} \n \n \n \n\n ${ScreenPopBlock(isDefinedDynamicPanel)}\n \n `;\n }\n else {\n return html `\n \n ${STORE.agentContact.isDefinedIvrTranscript\n ? html `\n \n ${getTabHeader(t(IVR_TRANSCRIPT_TITLE), \"transcript-bold\")}\n \n \n ${IvrTranscriptBlock(isDefinedDynamicPanel)}\n \n `\n : nothing}\n ${getTabHeader(t(CONTACT_HISTORY_TITLE), \"recents-bold\")} \n \n ${ContactHistoryBlock(isDefinedDynamicPanel, selectedTask)}\n \n ${STORE.session.screenpop.screenPopSelector\n ? html `\n ${getTabHeader(t(SCREEN_POP_TITLE), \"pop-out-bold\")} \n ${ScreenPopBlock(isDefinedDynamicPanel)} \n `\n : nothing}\n \n \n `;\n }\n};\nconst shouldHidePanel = () => {\n // Hide panel in all pages except task and on page not found\n return STORE.routing.currentRouteName !== RouteName.TASKPANEL || !STORE.agentContact.taskSelected;\n};\nconst PanelTwoBlock = () => {\n var _a;\n const isDefinedDynamicPanel = STORE.dynamic.panel && Object.keys(STORE.dynamic.panel).length > 0 ? true : false;\n let isMaximizedEventAttached = false;\n const isMaximizedFunction = () => {\n if (!isMaximizedEventAttached) {\n window.addEventListener(TOGGLE_MAXIMIZED_EVENT, (e) => {\n const customEvent = e;\n toggleDisplayOnMaximize(customEvent.detail.isMaximized, CONTACT_HISTORY_TAB_TITLE, true, true);\n toggleDisplayOnMaximize(customEvent.detail.isMaximized, CONTACT_HISTORY_TAB_TITLE, true, false);\n isMaximizedEventAttached = true;\n });\n }\n };\n if (isEmailOrChat((_a = STORE.agentContact) === null || _a === void 0 ? void 0 : _a.taskSelected)) {\n isMaximizedFunction();\n }\n return new Router.RouterView.Block({\n template: html `\n \n ${STORE.agentContact.isNotTelephoneOrMidcall && STORE.app.showAuxPanelAsOverlay && isNotHome()\n ? html `\n STORE.app.toggleAuxilliaryPanelCollapse()}\"\n >\n
      \n ${STORE.agentContact.taskSelected &&\n renderPanelTwoBlock(isDefinedDynamicPanel, STORE.agentContact.taskSelected)}\n
      \n \n `\n : STORE.agentContact.taskSelected &&\n renderPanelTwoBlock(isDefinedDynamicPanel, STORE.agentContact.taskSelected)}\n \n `,\n styles: [\n style,\n unsafeCSS `\n .panel-two {\n grid-area: panel-two; /*grid*/\n }\n `\n ]\n });\n};\nexport default PanelTwoBlock;\n","import { t } from \"@/mixins/i18nMixin\";\nimport { STORE } from \"@/store\";\nimport { SERVICE } from \"@agentx/agentx-services\";\nimport { AGENT_STATE_CHANGEDBY_NAME, ALERT_BANNER_DETAILS, AX_ANNOUNCEMENT_UPDATE, STATE_CHANGE_BANNER } from \"../components/constants\";\nexport const showBanner = (e) => {\n var _a;\n const ele = document.createElement(\"div\");\n ele.innerHTML = `${e.detail.bannerText}`;\n STORE.alertBanner.updateAlertBanner({\n message: ele,\n display: true,\n type: \"default\",\n closable: true,\n id: e.detail.id ? e.detail.id : STATE_CHANGE_BANNER,\n onHide: () => {\n if (e.detail.bannerType === AGENT_STATE_CHANGEDBY_NAME ||\n e.detail.bannerType === SERVICE.constants.WebexConstants.AX_PRESENCE_STATE_UPDATE) {\n sessionStorage.removeItem(ALERT_BANNER_DETAILS);\n if (!STORE.agentContact.getEngagedStatus) {\n STORE.agent.updateChangeByName(null);\n }\n }\n }\n });\n window.dispatchEvent(new CustomEvent(AX_ANNOUNCEMENT_UPDATE, {\n detail: {\n thisEvent: {\n message: `${e.detail.bannerText}`\n }\n }\n }));\n if (e.detail.bannerType === AGENT_STATE_CHANGEDBY_NAME) {\n // to handle click on X button on banner\n STORE.agent.updateChangeByName(`${(_a = e.detail) === null || _a === void 0 ? void 0 : _a.supervisorName}`);\n STORE.browserNotifications.firebrowserNotification(`${e.detail.supervisorName} ${t(\"app:tpw.stateChange.changedStateTo\")} ${STORE.agent.subStatus}.`);\n }\n else if (e.detail.bannerType === SERVICE.constants.WebexConstants.AX_PRESENCE_STATE_UPDATE) {\n STORE.browserNotifications.firebrowserNotification(`${t(\"app:presenceSyncStateManagement.axAgentStateChanged\")} ${STORE.agent.subStatus} ${t(\"app:presenceSyncStateManagement.axAgentSync\")}`);\n }\n};\nexport const hideBanner = (bannerType) => {\n STORE.alertBanner.updateAlertBanner({\n display: false,\n id: \"\"\n });\n if (bannerType === AGENT_STATE_CHANGEDBY_NAME) {\n STORE.agent.updateChangeByName(null);\n }\n sessionStorage.removeItem(ALERT_BANNER_DETAILS);\n};\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { createLogger } from \"@/sdk\";\nimport { STORE } from \"@/store\";\nimport { SERVICE } from \"@agentx/agentx-services\";\nimport axios from \"axios\";\nimport { fetchTeamDataById, getLayoutFromLS, updateLSLayout } from \"./Utils\";\nconst logger = createLogger(\"[DesktopLayoutUtils]\");\nconst LAYOUT_CONFIG_CACHE_KEY = \"agentx-desktop-layout-config\";\nexport const UserRoles = {\n AGENT: \"agent\",\n SUPERVISOR: \"supervisor\",\n SUPERVISOR_AGENT: \"agent_supervisor\"\n};\nexport const LayoutUserRoleKeys = {\n AGENT: \"agent\",\n SUPERVISOR: \"supervisor\",\n SUPERVISOR_AGENT: \"supervisorAgent\"\n};\nexport const isAgent = (role) => {\n return role === LayoutUserRoleKeys.AGENT;\n};\nexport const isSupervisor = (role) => {\n return role === LayoutUserRoleKeys.SUPERVISOR;\n};\nexport const isSupervisorAgent = (role) => {\n return role === LayoutUserRoleKeys.SUPERVISOR_AGENT;\n};\nexport const isLayoutJsonInOldStrcuture = (data) => {\n return data.area;\n};\nexport const getLayoutForUserRole = (data, role) => {\n if (isLayoutJsonInOldStrcuture(data)) {\n return data;\n }\n return data[role] ? data[role] : undefined;\n};\nconst getIsRoleBasedLayout = (data, role) => {\n return Object.prototype.hasOwnProperty.call(data, role);\n};\nexport const updateLayoutConfigCache = (data) => {\n return updateLSLayout(data, LAYOUT_CONFIG_CACHE_KEY);\n};\nexport const getLayoutConfigFromCache = () => {\n return getLayoutFromLS(LAYOUT_CONFIG_CACHE_KEY);\n};\nexport const getLayoutFromAPIGateway = (attributes) => {\n if (!attributes) {\n return undefined;\n }\n //eslint-disable-next-line sonarjs/prefer-object-spread\n const data = Object.assign({}, JSON.parse(attributes.jsonFileContent));\n const roleSpecificLayout = getLayoutForUserRole(data, STORE.agent.getUserRole);\n if (roleSpecificLayout) {\n roleSpecificLayout.layoutName = attributes.name;\n roleSpecificLayout.isRoleBasedLayout = getIsRoleBasedLayout(data, STORE.agent.getUserRole);\n }\n return [roleSpecificLayout, data];\n};\nconst fetchTeamDataByPage = (orgId, agentDbId, teamId) => __awaiter(void 0, void 0, void 0, function* () {\n const response = yield fetchTeamDataById(orgId, 0, agentDbId, \"\", teamId);\n return response ? response.data : [];\n});\nconst getSelectedDesktopLayoutIdByTeam = (profile, selectTeamDbId) => __awaiter(void 0, void 0, void 0, function* () {\n var _a;\n let auxData = profile.teams.filter((auxData) => selectTeamDbId === auxData.teamId);\n /** case when selected team is not present in config response , as it has only 1st page team response */\n if (auxData && auxData.length === 0 && STORE.app.featureFlags.isConsultTransferInfiniteScrollEnabled) {\n auxData = yield fetchTeamDataByPage(profile.orgId, profile.analyserUserId || profile.agentDbId, selectTeamDbId);\n }\n if (auxData && auxData.length > 0) {\n return ((_a = auxData[0]) === null || _a === void 0 ? void 0 : _a.desktopLayoutId) || \"\";\n }\n if (auxData && auxData.length === 0 && isSupervisor(STORE.agent.getUserRole)) {\n // This block will be executed, If Supervisor has no team assigned, only primary teams are assigned.\n try {\n const team = yield SERVICE.cms.fetchTeamsById({\n orgId: profile.orgId,\n teamId: selectTeamDbId\n });\n logger.info(`event=fetchTeamsById success: ${JSON.stringify(team)} for orgId ${profile.orgId} and teamId: ${selectTeamDbId}`);\n return team && team.desktopLayoutId ? team.desktopLayoutId : \"\";\n }\n catch (error) {\n logger.error(`event=fetchTeamsById error: ${JSON.stringify(error)} for orgId ${profile.orgId} and teamId: ${selectTeamDbId}`);\n return \"\";\n }\n }\n return undefined;\n});\nconst updateHeadless = (data) => {\n if (data.area && data.area.headless) {\n STORE.dynamic.updateHeadless(data.area.headless);\n }\n};\nconst updateNavigation = (data) => {\n if (data.area && data.area.navigation) {\n STORE.dynamic.updateNavigation(data.area.navigation);\n }\n};\nconst updateHomePage = (data) => {\n if (data.area && data.area.homepage) {\n STORE.dynamic.updateHomePage(data.area.homepage);\n }\n else {\n STORE.dynamic.updateHomePage(null);\n }\n};\nconst updateWidgetExplorer = (data) => {\n if (data.area && data.area.widgetExplorer) {\n STORE.dynamic.updateWidgetExplorer(data.area.widgetExplorer);\n }\n};\nconst updatePanel = (data) => {\n if (data.area && data.area.panel) {\n STORE.dynamic.updatePanel(data.area.panel);\n }\n};\nconst updatePersistent = (data) => {\n if (data.area && data.area.persistent) {\n STORE.dynamic.updatePersistent(data.area.persistent);\n }\n else {\n STORE.dynamic.updatePersistent([]);\n }\n};\nconst updateHeader = (data) => {\n if (data.area && data.area.header) {\n STORE.dynamic.updateHeader(data.area.header);\n }\n else {\n STORE.dynamic.updateHeader(null);\n }\n};\nconst advancedHeader = (data) => {\n if (data.area && data.area.advancedHeader) {\n STORE.dynamic.updateAdvancedHeader(data.area.advancedHeader);\n }\n else {\n STORE.dynamic.updateAdvancedHeader(null);\n }\n};\nconst updateActionIcons = (data) => {\n if (data.headerActions && Array.isArray(data.headerActions)) {\n STORE.dynamic.updateActionIcons(data.headerActions);\n }\n};\nconst updateTaskPageIllustration = (data) => {\n var _a;\n if (((_a = data.taskPageIllustration) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== \"no-illustration\") {\n const taskPageIllustration = data.taskPageIllustration || \"/images/illustrations/support-contact-320-cobalt-lime.svg\";\n STORE.app.updateTaskPageIllustration(taskPageIllustration);\n }\n};\nconst updateAppLogo = (data) => {\n if (data.logo && data.logo.length > 0) {\n STORE.app.updateLogo(data.logo);\n }\n else {\n logger.warn(\"Logo is missing in desktop layout\");\n STORE.app.updateLogo(\"\");\n }\n};\nconst updateAppTitle = (data) => {\n if (data.appTitle && data.appTitle.length > 0) {\n STORE.app.updateTitle(data.appTitle);\n }\n else {\n logger.warn(\"App title is missing in desktop layout\");\n STORE.app.updateTitle(\"\");\n }\n};\nconst updateWXMConfigured = (data) => {\n STORE.app.updateWxmEnabled(!!data.wxmConfigured);\n};\nconst updateWebexConfigured = (data) => {\n var _a;\n STORE.app.updateWebexEnabled(((_a = data.desktopChatApp) === null || _a === void 0 ? void 0 : _a.webexConfigured) === true ? true : false);\n};\nconst updateDragDropFlag = (data) => {\n var _a;\n STORE.dynamic.updateIsDragDrop((_a = data.dragDropEnabled) !== null && _a !== void 0 ? _a : false);\n};\nconst updateBrowserNotificationTimeout = (data) => {\n STORE.browserNotifications.setNotificationTimeout(data.browserNotificationTimer ? data.browserNotificationTimer : 8);\n};\nconst updateStopNavigateOnAcceptTask = (data) => {\n STORE.app.updateStopNavigateOnAcceptTask(data.stopNavigateOnAcceptTask ? data.stopNavigateOnAcceptTask : false);\n};\nconst updateCollapseVoiceIntPane = (data) => {\n STORE.app.updateCollapseVoiceIntPane(data.collapseVoiceIntPane ? data.collapseVoiceIntPane : false);\n};\nexport const updateStoresWithLayoutDetails = (layoutConfig, desktopLayoutJson) => {\n if (layoutConfig) {\n STORE.dynamic.resetResponsiveLayout();\n updateAppTitle(layoutConfig);\n updateAppLogo(layoutConfig);\n updateHeader(layoutConfig);\n advancedHeader(layoutConfig);\n updateStopNavigateOnAcceptTask(layoutConfig);\n updateCollapseVoiceIntPane(layoutConfig);\n updatePanel(layoutConfig);\n updatePersistent(layoutConfig);\n updateNavigation(layoutConfig);\n updateHomePage(layoutConfig);\n updateWidgetExplorer(layoutConfig);\n updateHeadless(layoutConfig);\n updateDragDropFlag(layoutConfig);\n updateLayoutConfigCache(desktopLayoutJson);\n updateWXMConfigured(layoutConfig);\n updateBrowserNotificationTimeout(layoutConfig);\n updateWebexConfigured(layoutConfig);\n updateActionIcons(layoutConfig);\n updateTaskPageIllustration(layoutConfig);\n STORE.layout.updateDesktopLayoutLoaded(true);\n STORE.generalNotifications.updateConfig(layoutConfig.notificationTimer, layoutConfig.maximumNotificationCount);\n }\n};\nexport const fetchLocalDesktopLayout = () => __awaiter(void 0, void 0, void 0, function* () {\n const { data } = yield axios.get(process.env.DYNAMIC_WIDGETS);\n logger.info(`event=fetchLocalDesktopLayout | Found ${STORE.agent.getUserRole} role From Default Layout`);\n return [getLayoutForUserRole(data, STORE.agent.getUserRole), data];\n});\nconst fetchGlobalDesktopLayoutV2 = (orgId) => __awaiter(void 0, void 0, void 0, function* () {\n const layoutResp = yield SERVICE.cms.fetchGlobalDesktopLayoutV2({\n orgId\n });\n if (layoutResp[0]) {\n logger.info(`event=fetchGlobalDesktopLayout | Org Level Global Desktop layout Fetch Success ${layoutResp[0]}`);\n return layoutResp[0];\n }\n return undefined;\n});\nconst fetchDesktopLayoutByTeam = (orgId, teamId, desktopLayoutId) => __awaiter(void 0, void 0, void 0, function* () {\n const layoutResp = yield SERVICE.cms.fetchDesktopLayout({\n orgId,\n desktopLayoutId\n });\n //eslint-disable-next-line sonarjs/prefer-object-spread\n const formatLog = Object.assign({}, layoutResp, {\n jsonFileContent: JSON.parse(layoutResp.jsonFileContent)\n });\n logger.info(`event=fetchDesktopLayoutByTeam | Desktop layout Fetch Success for the team[${teamId}] -> `, formatLog);\n return layoutResp;\n});\nconst fetchOrgLevelGlobalDesktop = (orgId) => __awaiter(void 0, void 0, void 0, function* () {\n try {\n const attributes = yield fetchGlobalDesktopLayoutV2(orgId);\n const roleSpecificLayout = yield getLayoutFromAPIGateway(attributes);\n if (roleSpecificLayout && roleSpecificLayout[0]) {\n logger.info(`event=fetchOrgLevelGlobalDesktop| Found ${STORE.agent.getUserRole} Layout in Org Level Global Desktop Layout`);\n return roleSpecificLayout;\n }\n else {\n logger.info(`event=fetchOrgLevelGlobalDesktop | Not Found ${STORE.agent.getUserRole} Layout in Org Level Global Desktop Layout`);\n }\n }\n catch (e) {\n logger.error(\"event=fetchOrgGlobalDesktopFailed | Loading Local layout\", e);\n return fetchLocalDesktopLayout();\n }\n return undefined;\n});\nconst fetchDesktopLayoutFromTeam = (profile, teamId) => __awaiter(void 0, void 0, void 0, function* () {\n try {\n logger.info(`event=fetchDesktopLayoutByTeam | teamId is ${teamId}`);\n if (teamId) {\n let attributes;\n const desktopLayoutId = yield getSelectedDesktopLayoutIdByTeam(profile, teamId);\n if (desktopLayoutId) {\n attributes = yield fetchDesktopLayoutByTeam(profile.orgId, teamId, desktopLayoutId);\n const roleSpecificLayout = getLayoutFromAPIGateway(attributes);\n if (roleSpecificLayout && roleSpecificLayout[0]) {\n logger.info(`event=fetchDesktopLayoutByTeam | Found ${STORE.agent.getUserRole} Layout From team associated DesktopLayout`);\n return roleSpecificLayout;\n }\n else {\n logger.info(`event=fetchDesktopLayoutByTeam | Not Found ${STORE.agent.getUserRole} Layout in team associated DesktopLayout`);\n }\n }\n }\n }\n catch (e) {\n logger.error(\"event=fetchDesktopLayoutByTeamFailed | Loading Org Level Global Layout\", e);\n return fetchOrgLevelGlobalDesktop(profile.orgId);\n }\n return undefined;\n});\nconst processCachedLayoutJson = (cachedLayoutConfig, agentXAppRouting) => __awaiter(void 0, void 0, void 0, function* () {\n if (cachedLayoutConfig) {\n const { layout, userSelectedRole } = cachedLayoutConfig;\n logger.info(\"Updating desktop layout from cache\");\n if (userSelectedRole in layout) {\n updateStoresWithLayoutDetails(layout[userSelectedRole], layout);\n }\n else if (isAgent(userSelectedRole)) {\n updateStoresWithLayoutDetails(layout, layout);\n }\n agentXAppRouting && agentXAppRouting.addOrUpdateDynamicRoutes();\n }\n});\nconst trackCustomLayoutFailEvent = (reason) => {\n var _a, _b;\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.CUSTOM_LAYOUT_LOAD_FAIL, {\n Reason: reason\n }, [(_b = (_a = SERVICE.telemetry) === null || _a === void 0 ? void 0 : _a.SERVICE_PROVIDERS) === null || _b === void 0 ? void 0 : _b.prometheus]);\n};\nconst processJSONLayout = (profile, teamId, cachedLayoutConfig, agentXAppRouting) => __awaiter(void 0, void 0, void 0, function* () {\n var _b, _c;\n SERVICE.telemetry.timeEvent(SERVICE.telemetry.TELEM_EVENT.CUSTOM_LAYOUT_LOAD_FAIL, [\n (_c = (_b = SERVICE.telemetry) === null || _b === void 0 ? void 0 : _b.SERVICE_PROVIDERS) === null || _c === void 0 ? void 0 : _c.prometheus\n ]);\n let layoutType = \"teamLayout\";\n let isDesktopLayoutFound = yield fetchDesktopLayoutFromTeam(profile, teamId);\n if (!isDesktopLayoutFound || isDesktopLayoutFound[0] === undefined) {\n isDesktopLayoutFound = yield fetchOrgLevelGlobalDesktop(profile.orgId);\n layoutType = \"globalLayout\";\n }\n if (!isDesktopLayoutFound || isDesktopLayoutFound[0] === undefined) {\n trackCustomLayoutFailEvent(\"NoCustomLayoutFound\");\n isDesktopLayoutFound = yield fetchLocalDesktopLayout();\n layoutType = \"defaultLayout\";\n }\n if (isDesktopLayoutFound && isDesktopLayoutFound[0]) {\n logger.info(\"Updating desktop layout from server\");\n const stopNavigateOnAcceptTask = isDesktopLayoutFound[0].stopNavigateOnAcceptTask === undefined\n ? \"undefined\"\n : isDesktopLayoutFound[0].stopNavigateOnAcceptTask;\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.LAYOUT_FETCHED_FROM_SERVER, {\n [SERVICE.telemetry.TELEM_PROPS.STOP_NAVIGATE_ON_ACCEPT_TASK]: stopNavigateOnAcceptTask,\n layoutName: isDesktopLayoutFound[0].layoutName,\n layoutType,\n isRoleBasedLayout: isDesktopLayoutFound[0].isRoleBasedLayout,\n agentRole: STORE.agent.getUserRole\n });\n updateStoresWithLayoutDetails(isDesktopLayoutFound[0], isDesktopLayoutFound[1]);\n if (!cachedLayoutConfig) {\n logger.info(\"Desktop layout not found in cache, so adding dynamic routes from server desktop layout\");\n agentXAppRouting && (yield agentXAppRouting.addOrUpdateDynamicRoutes());\n }\n }\n if (cachedLayoutConfig) {\n if (cachedLayoutConfig.userSelectedRole in cachedLayoutConfig.layout) {\n // Layout based on roles\n yield agentXAppRouting.addOrUpdateDynamicRoutes(cachedLayoutConfig.layout[cachedLayoutConfig.userSelectedRole]);\n }\n else {\n // Old version layout.\n const cacheLayout = cachedLayoutConfig.layout;\n yield agentXAppRouting.addOrUpdateDynamicRoutes(cacheLayout);\n }\n }\n});\nexport { processCachedLayoutJson, processJSONLayout };\n","import { STORE } from \"@/store\";\nimport { fetchManagedQueues, fetchManagedTeams } from \"./Utils\";\nconst updateSelectedChannelList = (e) => {\n STORE.agent.updateSelectedChannelList(e.detail);\n};\nconst updateSelectedTeamList = (e) => {\n STORE.agent.updateSelectedTeamList(e.detail);\n};\nconst updateSelectedQueueList = (e) => {\n STORE.agent.updateSelectedQueueList(e.detail);\n};\nconst fetchManagedTeamsUtil = () => {\n fetchManagedTeams();\n};\nconst fetchManagedQueuesUtil = () => {\n fetchManagedQueues();\n};\nconst updateOrgIdleCodesUtil = (e) => {\n STORE.agent.updateOrganizationIdleCodes(e.detail.isFetchingSuccess, e.detail.response);\n};\nexport const attachDynamicLayoutListeners = () => {\n window.addEventListener(\"channel-filter-selected\", updateSelectedChannelList);\n window.addEventListener(\"team-filter-selected\", updateSelectedTeamList);\n window.addEventListener(\"queue-filter-selected\", updateSelectedQueueList);\n window.addEventListener(\"fetch-managed-team\", fetchManagedTeamsUtil);\n window.addEventListener(\"fetch-managed-queue\", fetchManagedQueuesUtil);\n window.addEventListener(\"update-org-idle-codes\", updateOrgIdleCodesUtil);\n};\nexport const removeDynamicLayoutListeners = () => {\n window.removeEventListener(\"channel-filter-selected\", updateSelectedChannelList);\n window.removeEventListener(\"team-filter-selected\", updateSelectedTeamList);\n window.removeEventListener(\"queue-filter-selected\", updateSelectedQueueList);\n window.removeEventListener(\"fetch-managed-team\", fetchManagedTeamsUtil);\n window.removeEventListener(\"fetch-managed-queue\", fetchManagedQueuesUtil);\n window.removeEventListener(\"update-org-idle-codes\", updateOrgIdleCodesUtil);\n};\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { t } from \"@/mixins/i18nMixin\";\nimport { STORE } from \"@/store\";\nimport { SERVICE } from \"@agentx/agentx-services\";\nimport * as workerTimers from \"@uuip/unified-ui-platform-sdk\";\nimport { html } from \"lit-html\";\nimport { debounce, logger } from \"../Utils\";\nexport class IdleActivity {\n constructor(interval) {\n this.countDownTimerId = undefined;\n /**\n * This clears out the old timeout and start a new setTimeout.\n * STORE is referred to identify if any active task exist.\n */\n this.handleInActivityTimer = () => {\n workerTimers.clearTimeout(this.timeout);\n if (this.countDownTimerId) {\n workerTimers.clearInterval(this.countDownTimerId);\n }\n logger.info(\"The Inactivity Timeout has been reset to\", this.interval / 60000);\n this.timeout = workerTimers.setTimeout(() => {\n if (STORE.agentContact.isTaskPresent()) {\n this.handleInActivityTimer();\n }\n else {\n // if no active tasks are present\n this.showWarningModal();\n STORE.browserNotifications.firebrowserNotification(t(\"app:idleInActivity.prolongedBrowserNotification\"));\n }\n }, this.interval);\n };\n this.eventListener = (e) => {\n if (e.data.key === \"wxcc-desktop-iframe-widget-event\") {\n this.handleInActivityTimer();\n }\n };\n this.interval = interval;\n this.timeout = 0;\n this.eventList = [\"click\", \"scroll\", \"keypress\", \"ax-auto-wrap-up\", \"ax-web-call-auto-answer\"];\n this.signOutTimer = 60; // sec\n }\n /**\n * Singout handling modal\n */\n handleSignoutClick() {\n return __awaiter(this, void 0, void 0, function* () {\n if (STORE.agentContact.isTaskPresent()) {\n setTimeout(() => {\n STORE.session.errorModal.setErrorDetails({\n detail: {\n header: t(\"app:common.error\"),\n htmlMessage: html `
      ${t(\"app:idleInActivity.errorActiveContacts\")}
      `,\n backdropClickExit: false,\n noExitOnEsc: true,\n buttons: [\n {\n type: \"ok\",\n label: t(\"app:errorModal.ok\"),\n onClick: () => {\n this.handleInActivityTimer();\n }\n }\n ]\n }\n });\n }, 500);\n }\n else {\n STORE.auth.logout(STORE.auth.refreshToken);\n }\n });\n }\n /**\n * for initiating initial modal.\n */\n showWarningModal() {\n workerTimers.clearTimeout(this.timeout);\n STORE.session.errorModal.setErrorDetails({\n detail: {\n header: t(\"app:idleInActivity.title\"),\n htmlMessage: html `\n
      \n ${t(\"app:idleInActivity.signOutInTime\")}\n {\n STORE.session.errorModal.updateModalStatus(false);\n if (STORE.agentContact.isTaskPresent()) {\n this.handleInActivityTimer();\n }\n else {\n this.inactivityTimeOutAgentLogout();\n }\n }}\n @countdown-start=${(e) => {\n if (e.detail && e.detail.intervalId) {\n this.countDownTimerId = e.detail.intervalId;\n }\n }}\n >\n ${t(\"app:idleInActivity.signOutOrContinue\")}\n
      \n `,\n backdropClickExit: false,\n noExitOnEsc: true,\n buttons: [\n {\n type: \"button\",\n variant: \"secondary\",\n label: t(\"app:idleInActivity.signOut\"),\n onClick: () => this.handleSignoutClick()\n },\n {\n type: \"button\",\n label: t(\"app:idleInActivity.staySignedIn\"),\n onClick: () => {\n this.handleInActivityTimer();\n }\n }\n ]\n }\n });\n }\n /**\n * agent signed out and info modal and logout on ok.\n */\n inactivityTimeOutAgentLogout() {\n return __awaiter(this, void 0, void 0, function* () {\n SERVICE.telemetry.timeEvent(SERVICE.telemetry.TELEM_EVENT.SIGN_OUT);\n const signOut = yield SERVICE.aqm.agent.logout({ data: { logoutReason: \"Inactivity Logout\" } });\n if (signOut) {\n if (STORE.app.featureFlags.isWebRTCEnabled &&\n STORE.agent.deviceType === SERVICE.constants.LoginVoiceOptions.BROWSER) {\n logger.info(\"[WebRtc] : deregistering webcalling when agent is logged out due to inactivity timeout\");\n SERVICE.webCalling.deregisterWebCalling();\n }\n logger.info(\"The Agent has been logged out due to inactivity timeout\");\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.SIGN_OUT, {\n [SERVICE.telemetry.TELEM_PROPS.SIGN_OUT_METHOD]: \"IdleActivity\",\n Status: SERVICE.telemetry.TELEM_EVENT.STATUS.SUCCESS\n });\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.IDLE_INACTIVITY_SIGN_OUT, {\n role: STORE.agent.role,\n agentId: STORE.agent.agentId,\n orgId: STORE.agent.organizationId\n });\n STORE.browserNotifications.firebrowserNotification(t(\"app:idleInActivity.autoSignedOutBrowserNotification\"));\n STORE.session.errorModal.setErrorDetails({\n detail: {\n header: t(\"app:idleInActivity.signOut\"),\n message: t(\"app:idleInActivity.signedOutSignInAgain\"),\n backdropClickExit: false,\n noExitOnEsc: true,\n buttons: [\n {\n type: \"ok\",\n label: t(\"app:errorModal.ok\"),\n onClick: () => {\n STORE.auth.logout(STORE.auth.refreshToken);\n }\n }\n ]\n }\n }); // signed out modal needs to show after closing warn modal.\n }\n });\n }\n /**\n * Register all UI related events here.\n */\n register() {\n this.eventList.forEach((eventName) => {\n window.addEventListener(eventName, debounce(this.handleInActivityTimer));\n });\n this.postMessageListener();\n }\n /**\n * postMessage listener from Iframe based widgets\n */\n postMessageListener() {\n window.addEventListener(\"message\", debounce(this.eventListener));\n }\n deRegister() {\n workerTimers.clearTimeout(this.timeout);\n this.eventList.forEach((eventName) => {\n window.removeEventListener(eventName, debounce(this.handleInActivityTimer));\n });\n }\n}\n","import { PRESENCE_STATUS, PRESENCE_STATUS_CALL_EVENTS, PRESENCE_SYNC, PRESENCE_SYNC_TTL, PRESENCE_SYNC_THRESHOLD } from \"@/app/components/constants\";\nimport { STORE } from \"@/store\";\nimport { SERVICE } from \"@agentx/agentx-services\";\nimport { DateTime } from \"luxon\";\nimport { debounce, handleTelemetryOnPresenceChange, logger } from \"../Utils\";\nimport { displayBanner, getIdleCode } from \"./UtilsSyncState\";\nexport class StateSyncManager {\n constructor() {\n this.syncStatus = \"unknown\";\n this.handlePresenceStatusEvents = (e) => {\n var _a;\n logger.info(\"[PresenceStateSync]: Handle Presence Sync State update event\");\n const wsWriteTimestamp = e === null || e === void 0 ? void 0 : e.wsWriteTimestamp;\n if (wsWriteTimestamp) {\n const wsTime = DateTime.fromMillis(Number(wsWriteTimestamp));\n const currentTime = DateTime.fromMillis(Date.now());\n const differenceInSeconds = (_a = currentTime.diff(wsTime, \"seconds\")) === null || _a === void 0 ? void 0 : _a.seconds;\n if (differenceInSeconds > PRESENCE_SYNC_THRESHOLD) {\n const collabType = STORE.agent.collabToolInSync;\n logger.error(`[PresenceStateSync]: event=PresenceSyncDelay | Type=${collabType} | Duration=${differenceInSeconds}`);\n }\n }\n if ((STORE.agentContact.isActiveCall && e.data.status === PRESENCE_STATUS.call) ||\n this.syncStatus === e.data.status // handle the stuck state which keep pushing the same status.\n ) {\n logger.info(\"[PresenceStateSync]: Presence Sync StateChange suppressed\");\n this.syncStatus = e.data.status;\n return;\n }\n this.syncStatus = e.data.status;\n const idleCode = getIdleCode(this.syncStatus, e.data.meetingType);\n logger.info(\"[PresenceStateSync]: idleCode:\", idleCode);\n if (idleCode && idleCode !== \"\" && !this.isSyncStateSuppress(idleCode)) {\n const newState = idleCode === SERVICE.constants.AgentState.AvailableAuxCodeId\n ? SERVICE.constants.AgentState.Available\n : SERVICE.constants.AgentState.Idle;\n STORE.agent.updateStateByPresence(idleCode, newState);\n handleTelemetryOnPresenceChange();\n logger.info(\"[PresenceStateSync]: Presence Sync StateChange triggered\");\n }\n else {\n logger.info(\"[PresenceStateSync]: Presence Sync StateChange suppressed\");\n }\n };\n this.repeatUpdateCallPresenceStatus = () => {\n this.updateCallPresenceStatus();\n /*\n TTL minus 60 seconds ensures that we make the subsequent call to update the status before the previous TTL expires.\n 60 seconds was chosen to ensure that potential intensive timer throttling won't result in a presence flicker.\n */\n this.callPresenceInterval = window.setInterval(this.updateCallPresenceStatus, (PRESENCE_SYNC_TTL - 60) * 1000);\n };\n this.resetPresenceStatus = () => {\n logger.info(\"[PresenceSync]: update presence on call completion\");\n this.clearCallPresenceInterval();\n SERVICE.webex.setStatus(PRESENCE_STATUS.call, 0);\n };\n this.handlePreseceStateUpdate = (e) => {\n STORE.agent.updateLastStateChangeByPresence(e.data.lastStateChangeReason === PRESENCE_SYNC);\n if (e.data.lastStateChangeReason === PRESENCE_SYNC) {\n displayBanner(e.data.subStatus);\n }\n };\n }\n // returns true to suppress presence state sync to update.\n isSyncStateSuppress(idleCode) {\n if (STORE.agent.subStatus !== SERVICE.constants.AgentState.Available) {\n return !(STORE.agent.lastStateChangeByPresence && idleCode === SERVICE.constants.AgentState.AvailableAuxCodeId);\n }\n else if (STORE.agent.subStatus === SERVICE.constants.AgentState.Available &&\n idleCode !== SERVICE.constants.AgentState.AvailableAuxCodeId) {\n return false;\n }\n return true;\n }\n updateCallPresenceStatus() {\n logger.info(`[PresenceSync]: update presence on call connected with status: ${PRESENCE_STATUS.call}`);\n SERVICE.webex.setStatus(PRESENCE_STATUS.call, PRESENCE_SYNC_TTL);\n }\n clearCallPresenceInterval() {\n if (this.callPresenceInterval) {\n window.clearInterval(this.callPresenceInterval);\n this.callPresenceInterval = undefined;\n }\n }\n static getCurrentPresenceStatus() {\n SERVICE.webex.getPresenceStatus(STORE.agent.agentId);\n }\n register() {\n logger.info(\"[PresenceStateSync]: Presence Sync State Registered to handlePresenceStatusEvents\");\n SERVICE.webex.onNewPresenceStateSyncEvent.listen(debounce((event) => {\n var _a;\n logger.info(\"[PresenceStateSync]: event state update with status: \", event.data.status);\n ((_a = event === null || event === void 0 ? void 0 : event.data) === null || _a === void 0 ? void 0 : _a.meetingType) &&\n logger.info(\"[PresenceStateSync]: event state update with meetingType: \", event.data.meetingType);\n this.handlePresenceStatusEvents(event);\n }, 500));\n SERVICE.aqm.agent.eAgentStateChangeSuccess.listen((data) => {\n this.handlePreseceStateUpdate(data);\n });\n window.addEventListener(PRESENCE_STATUS_CALL_EVENTS.CALL_CREATE, this.repeatUpdateCallPresenceStatus);\n window.addEventListener(PRESENCE_STATUS_CALL_EVENTS.CALL_DELETE, this.resetPresenceStatus);\n StateSyncManager.getCurrentPresenceStatus();\n return () => {\n this.clearCallPresenceInterval();\n window.removeEventListener(PRESENCE_STATUS_CALL_EVENTS.CALL_CREATE, this.repeatUpdateCallPresenceStatus);\n window.removeEventListener(PRESENCE_STATUS_CALL_EVENTS.CALL_DELETE, this.resetPresenceStatus);\n };\n }\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { ALERT_BANNER_DETAILS, PRESENCE_MEETING_TYPE, PRESENCE_REQUEST_EVENTS, PRESENCE_STAT, PRESENCE_STATUS, PRESENCE_STATUS_CALL_EVENTS, REVOKE_PRESENCE_TOKEN_FAILURE } from \"@/app/components/constants\";\nimport { handlePresenceSync } from \"@/app/integration/microsoft\";\nimport { handleWebexPresenceSync } from \"@/app/integration/webex\";\nimport { t } from \"@/mixins/i18nMixin\";\nimport { STORE } from \"@/store\";\nimport { MediaType } from \"@/store/store-agent-contact\";\nimport { SERVICE, getTrackingIdFromErrorObject } from \"@agentx/agentx-services\";\nimport { showBanner } from \"../AlertBannerUtils\";\nimport { dispatchCustomEvent, logger } from \"../Utils\";\nimport { StateSyncManager } from \"./StateSyncManager\";\n// return idleCode from msft config map.\nexport const getIdleCodeForMsft = (syncStatus) => {\n var _a;\n const idleCodeMap = (_a = STORE.app.microsoftOrgConfig) === null || _a === void 0 ? void 0 : _a.idleCodes;\n if (idleCodeMap && Object.keys(idleCodeMap).length > 0) {\n switch (syncStatus) {\n case PRESENCE_STATUS.call:\n case PRESENCE_STATUS.meeting:\n return idleCodeMap.onACallId;\n case PRESENCE_STATUS.dnd:\n return idleCodeMap.doNotDisturbId;\n case PRESENCE_STATUS.presenting:\n return idleCodeMap.presentingId;\n case PRESENCE_STATUS.active:\n return SERVICE.constants.AgentState.AvailableAuxCodeId; // idlecode for available state\n default:\n return \"\";\n }\n }\n return undefined;\n};\n// return idleCode from webex config map.\nexport const getIdleCodeForWebex = (syncStatus, meetingType) => {\n var _a;\n const idleCodeMap = (_a = STORE.app.webexOrgConfig) === null || _a === void 0 ? void 0 : _a.idleCodes;\n if (idleCodeMap && Object.keys(idleCodeMap).length > 0) {\n const status = {\n [`${PRESENCE_STATUS.call}`]: idleCodeMap.onACallId,\n [`${PRESENCE_STATUS.meeting}`]: idleCodeMap.inAMeetingId,\n [`${PRESENCE_STATUS.dnd}`]: idleCodeMap.doNotDisturbId,\n [`${PRESENCE_STATUS.presenting}`]: idleCodeMap.presentingId,\n [`${PRESENCE_STATUS.busy}`]: idleCodeMap.busyId,\n [`${PRESENCE_STATUS.outOfOffice}`]: idleCodeMap.outOfOfficeId,\n [`${PRESENCE_STATUS.quietHours}`]: idleCodeMap.quietHoursId,\n [`${PRESENCE_STATUS.active}`]: SERVICE.constants.AgentState.AvailableAuxCodeId // idleCode for available state\n };\n return meetingType === PRESENCE_MEETING_TYPE.calendarItem && syncStatus === PRESENCE_STATUS.meeting\n ? idleCodeMap.inACalendarMeetingId\n : status[syncStatus];\n }\n return undefined;\n};\n// return idleCode from msft/webex config map.\nexport const getIdleCode = (syncStatus, meetingType) => {\n var _a, _b;\n if (((_a = STORE.app.microsoftOrgConfig) === null || _a === void 0 ? void 0 : _a.active) && STORE.app.microsoftOrgConfig.stateSynchronization) {\n return getIdleCodeForMsft(syncStatus);\n }\n else if ((_b = STORE.app.webexOrgConfig) === null || _b === void 0 ? void 0 : _b.stateSynchronization) {\n return getIdleCodeForWebex(syncStatus, meetingType);\n }\n return undefined;\n};\nexport const displayBanner = (newState) => {\n sessionStorage.setItem(ALERT_BANNER_DETAILS, JSON.stringify({ reason: SERVICE.constants.WebexConstants.AX_PRESENCE_STATE_UPDATE }));\n showBanner({\n detail: {\n bannerText: `${t(\"app:presenceSyncStateManagement.axAgentStateChanged\")} ${newState} ${t(\"app:presenceSyncStateManagement.axAgentSync\")}`,\n bannerType: SERVICE.constants.WebexConstants.AX_PRESENCE_STATE_UPDATE\n }\n });\n};\nexport const registerStateSyncManger = () => {\n SERVICE.webex.registerPresenceSync(STORE.agent.agentId);\n const stateSyncManager = new StateSyncManager();\n stateSyncManager.register();\n};\nexport const handlePresenceCallState = (e) => {\n if (STORE.agent.collaboration.stateSynchronization && e.interaction.mediaType === MediaType.Telephony) {\n dispatchCustomEvent(window, PRESENCE_STATUS_CALL_EVENTS.CALL_CREATE, e.interactionId);\n }\n};\nexport const handlePresenceStateReset = (interactionId) => {\n if (STORE.agent.collaboration.stateSynchronization) {\n dispatchCustomEvent(window, PRESENCE_STATUS_CALL_EVENTS.CALL_DELETE, interactionId);\n }\n};\nexport const formServiceStatus = (status, service) => {\n return `${service}_${status}`;\n};\nexport const setPresenceServiceStatus = (status, service, trackingID) => {\n if (STORE.agent.presenceServiceStatus.serviceStatus === \"mercury_failure\" && service !== \"mercury\") {\n return;\n }\n else {\n const trackingId = trackingID !== null && trackingID !== void 0 ? trackingID : \"\";\n STORE.agent.updatePresenceServiceStatus(formServiceStatus(status, service), trackingId);\n }\n};\nexport const retrySync = () => __awaiter(void 0, void 0, void 0, function* () {\n var _a, _b;\n setPresenceServiceStatus(PRESENCE_STAT.RETRYING, PRESENCE_STAT.SYNC);\n if (((_a = STORE.app.microsoftOrgConfig) === null || _a === void 0 ? void 0 : _a.active) && STORE.app.microsoftOrgConfig.stateSynchronization) {\n logger.error(`[Microsoft PresenceStateSync]: Retrying registration to presence sync`);\n yield handlePresenceSync();\n }\n else if ((_b = STORE.app.webexOrgConfig) === null || _b === void 0 ? void 0 : _b.stateSynchronization) {\n logger.error(`[Webex PresenceStateSync]: Retrying registration to presence sync`);\n handleWebexPresenceSync();\n }\n});\nexport const handlePresenceFailCatch = (error) => {\n setPresenceServiceStatus(PRESENCE_STAT.FAILURE, PRESENCE_STAT.SYNC, getTrackingIdFromErrorObject(error));\n STORE.generalNotifications.triggerPresenceNotification(formServiceStatus(PRESENCE_STAT.FAILURE, PRESENCE_STAT.SYNC), retrySync);\n};\nexport const mercuryRetryUpdate = () => {\n setPresenceServiceStatus(PRESENCE_STAT.RETRYING, PRESENCE_STAT.MERCURY);\n STORE.generalNotifications.triggerPresenceNotification(formServiceStatus(PRESENCE_STAT.RETRYING, PRESENCE_STAT.MERCURY));\n};\nexport const mercurySuccessUpdate = () => {\n setPresenceServiceStatus(PRESENCE_STAT.SUCCESSFUL, PRESENCE_STAT.MERCURY);\n STORE.generalNotifications.triggerPresenceNotification(formServiceStatus(PRESENCE_STAT.SUCCESSFUL, PRESENCE_STAT.MERCURY));\n};\nexport const mercuryFailureUpdate = (e) => {\n setPresenceServiceStatus(PRESENCE_STAT.FAILURE, PRESENCE_STAT.MERCURY, e.detail.trackingId);\n STORE.generalNotifications.triggerPresenceNotification(formServiceStatus(PRESENCE_STAT.FAILURE, PRESENCE_STAT.MERCURY));\n const errorObj = {\n mode: \"mercury\",\n errorDetails: JSON.stringify(e)\n };\n window.dispatchEvent(new CustomEvent(\"web-calling-device-disconnected\", {\n detail: { value: { errorObj } },\n bubbles: true,\n composed: true\n }));\n};\nexport const presenceRequestListeners = () => {\n window.addEventListener(REVOKE_PRESENCE_TOKEN_FAILURE, handlePresenceFailCatch);\n window.addEventListener(PRESENCE_REQUEST_EVENTS.AX_PRESENCE_REQUEST_RETRY, mercuryRetryUpdate);\n window.addEventListener(PRESENCE_REQUEST_EVENTS.AX_PRESENCE_REQUEST_SUCCESS, mercurySuccessUpdate);\n window.addEventListener(PRESENCE_REQUEST_EVENTS.AX_PRESENCE_REQUEST_FAILURE, (e) => {\n mercuryFailureUpdate(e);\n });\n};\nexport const removeMercuryListeners = () => {\n window.removeEventListener(PRESENCE_REQUEST_EVENTS.AX_PRESENCE_REQUEST_RETRY, mercuryRetryUpdate);\n window.removeEventListener(PRESENCE_REQUEST_EVENTS.AX_PRESENCE_REQUEST_SUCCESS, mercurySuccessUpdate);\n window.removeEventListener(PRESENCE_REQUEST_EVENTS.AX_PRESENCE_REQUEST_FAILURE, (e) => {\n mercuryFailureUpdate(e);\n });\n window.removeEventListener(REVOKE_PRESENCE_TOKEN_FAILURE, handlePresenceFailCatch);\n};\n","function equalUrls(url1, url2) {\n try {\n const parsedUrl1 = new URL(url1);\n const parsedUrl2 = new URL(url2);\n // Normalize pathname by removing trailing slashes\n const normalizePathname = (url) => {\n let pathname = url.pathname;\n while (pathname.endsWith(\"/\")) {\n pathname = pathname.slice(0, -1);\n }\n return pathname;\n };\n return (parsedUrl1.hostname === parsedUrl2.hostname && normalizePathname(parsedUrl1) === normalizePathname(parsedUrl2));\n }\n catch (_a) {\n return false;\n }\n}\nfunction getHostFromUrl(url) {\n try {\n const parsedUrl = new URL(url);\n return parsedUrl.hostname;\n }\n catch (_a) {\n return \"\";\n }\n}\nfunction isLocalhost() {\n return window.location.hostname === \"localhost\" || window.location.hostname === \"127.0.0.1\";\n}\nexport { equalUrls, getHostFromUrl, isLocalhost };\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n/*************************************************************************\n * This file holds logic for pulling global application configuration only\n * This block should not contain any business logic for your MFE\n * All MFE business logic must live within MFE itself\n *\n * Types of configuration we pull globally for AgentX:\n * - Appllication congif object (TODO: @rost)\n * - PCI Settings (they are shared between Email and Chat)\n * - Feature Flags (they enable/disable functionality throught out the app)\n *************************************************************************/\nimport { RouteName } from \"@/app/routing/routing\";\nimport { t } from \"@/mixins/i18nMixin\";\nimport { createLogger, logMiner } from \"@/sdk\";\nimport { STORE } from \"@/store\";\nimport { MACHINE, SELF, SUPERVISOR } from \"@/store/shared-actions/constants\";\nimport { MediaType } from \"@/store/store-agent-contact\";\nimport { FEATURE_FLAGS, SERVICE, buildInfoService, formRoleNameForTelemetry, getTrackingIdFromErrorObject } from \"@agentx/agentx-services\";\nimport { ToasterNotificationItemContent } from \"@uuip/unified-ui-platform-common-components\";\nimport { Notifications } from \"@uuip/unified-ui-platform-sdk\";\nimport { html } from \"lit-element\";\nimport { AGENTX_DEFAULT_FOCUS, ALERT_BANNER_DETAILS, BARGE_IN_MONITORING_STATE, CALLBACK_RETRY_REASON_CODES, COLLAB_TOOL, DIGITAL_OUTBOUND_EVENTS, FC_DESKTOP_VIEW, MEDIA_TYPES, MONITORING_TYPE, OUTBOUND, OUTBOUND_TYPE, SUPERVISOR_AUTO_LOGIN_EVENT, SYSTEM_ROLES, USER_ROLES, WEBEX_MINIMIZE_MODAL, WEBEX_SHOW_MODAL, WEBRTC_SHORTCUT_KEYS, WEB_CALLING_EVENTS, fcDesktopView, reasonCodesList } from \"../components/constants\";\nexport var widgetElement;\n(function (widgetElement) {\n widgetElement[\"CONTACT_HISTORY\"] = \"contactHistory\";\n widgetElement[\"WXM_JOURNEY\"] = \"wxm_journey\";\n})(widgetElement || (widgetElement = {}));\nexport const logger = createLogger(\"[Util]\");\nconst uuipAuthToken = \"uuip-auth-token\";\nconst errorModalOk = \"app:errorModal.ok\";\nconst CLUSTER_ID_KEY = \"clusterId\";\nfunction fetchPciSettings(orgId) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const pciComplianceSettings = yield SERVICE.pci.fetchPciSettings({ orgId });\n logger.info(\"event=fetchPciSettings | PCI Compliance settings\", pciComplianceSettings);\n return pciComplianceSettings;\n }\n catch (error) {\n logger.error(`event=fetchPciSettings | [Tracking ID: ${getTrackingIdFromErrorObject ? getTrackingIdFromErrorObject(error) : error}] PCI Compliance settings fetch error: ${error}`, error);\n }\n return undefined;\n });\n}\nfunction fetchPciAllowedAttachmentTypes() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const allowedAttachmentTypes = yield SERVICE.pci.fetchPciAllowedAttachmentTypes({});\n logger.info(\"event=fetchPciAllowedAttachmentTypes\", allowedAttachmentTypes);\n return allowedAttachmentTypes.data.toString();\n }\n catch (error) {\n logger.error(`event=fetchPciAllowedAttachmentTypes | [Tracking ID: ${getTrackingIdFromErrorObject ? getTrackingIdFromErrorObject(error) : error}] fetchPciAllowedAttachmentTypes fetch error: ${error}`, error);\n }\n return \"\";\n });\n}\nexport function triggerWebRTCErrorNotification() {\n const title = \"app:notifications.webRTCErrorNotificationTitle\";\n const notificationDataError = {\n type: Notifications.ItemMeta.Type.Warn,\n mode: Notifications.ItemMeta.Mode.AutoDismiss,\n title: t(title),\n data: t(\"app:notifications.webRTCErrorNotificationMessage\")\n };\n STORE.generalNotifications.fireNotificationEvent(notificationDataError);\n STORE.browserNotifications.firebrowserNotification(t(title));\n}\nfunction getErrorNotification(title, message, trackingId) {\n return {\n type: Notifications.ItemMeta.Type.Error,\n mode: Notifications.ItemMeta.Mode.AutoDismiss,\n title: t(title),\n data: new ToasterNotificationItemContent.DataController({\n text: message,\n errorDetail: {\n message: \"\",\n trackingId,\n localization: {\n errorLessButtonText: t(\"app:errorDetail.errorLessDetails\"),\n errorMoreButtonText: t(\"app:errorDetail.errorMoreDetails\"),\n trackingIdTitleText: t(\"app:errorDetail.ErrorCode\"),\n trackingIdLabelText: t(\"app:errorModal.trackingIdLabel\"),\n copyText: t(\"app:errorModal.copy\"),\n copiedText: t(\"app:errorModal.copied\")\n }\n }\n })\n };\n}\nexport function triggerAgentStateErrorNotification(e) {\n const title = \"app:notifications.agentStateErrorNotificationTitle\";\n const message = e.detail.message || t(\"app:notifications.agentStateErrorNotificationMessage\");\n const notificationDataError = getErrorNotification(title, message, e.detail.trackingId);\n STORE.generalNotifications.fireNotificationEvent(notificationDataError);\n}\nexport function triggerAgentSignoutResultNotification(e) {\n let notification;\n const agentName = e.detail.agentName;\n if (e.detail.result) {\n const title = t(\"app:notifications.agentSignoutSuccessTitle\");\n notification = {\n type: Notifications.ItemMeta.Type.Info,\n mode: Notifications.ItemMeta.Mode.AutoDismiss,\n title: t(title),\n data: new ToasterNotificationItemContent.DataController({\n text: agentName + t(\"app:notifications.agentSignoutSuccessSubtitle\")\n })\n };\n }\n else {\n const title = t(\"app:notifications.agentSignoutErrorTitle\");\n const errorMessage = t(\"app:notifications.agentSignoutErrorSubtitlePrepend\") +\n agentName +\n t(\"app:notifications.agentSignoutErrorSubtitleAppend\");\n notification = getErrorNotification(title, errorMessage, e.detail.trackingId);\n }\n STORE.generalNotifications.fireNotificationEvent(notification);\n}\nexport function getBrowserName() {\n if (navigator.userAgent.indexOf(\"Opera\") !== -1 || navigator.userAgent.indexOf(\"OPR\") !== -1) {\n return \"Opera\";\n }\n else if (navigator.userAgent.indexOf(\"Edg\") !== -1) {\n return \"Edge\";\n }\n else if (navigator.userAgent.indexOf(\"Chrome\") !== -1) {\n return \"Chrome\";\n }\n else if (navigator.userAgent.indexOf(\"Safari\") !== -1) {\n return \"Safari\";\n }\n else if (navigator.userAgent.indexOf(\"Firefox\") !== -1) {\n return \"Firefox\";\n }\n else {\n return \"Other\";\n }\n}\nexport function triggerWebRTCSuccessNotification() {\n const notificationDataSuccess = {\n type: Notifications.ItemMeta.Type.Success,\n mode: Notifications.ItemMeta.Mode.AutoDismiss,\n title: t(\"app:notifications.webRTCSuccessNotificationTitle\"),\n data: \"\"\n };\n STORE.generalNotifications.fireNotificationEvent(notificationDataSuccess);\n STORE.browserNotifications.firebrowserNotification(t(\"app:notifications.webRTCSuccessNotificationTitle\"));\n}\nexport const triggerBargeInNotification = (supervisorName) => {\n const notificationData = {\n type: Notifications.ItemMeta.Type.Info,\n mode: Notifications.ItemMeta.Mode.AutoDismiss,\n title: \"\",\n data: `${supervisorName} ${t(\"app:common.supervisorBargedIn\")}`\n };\n STORE.generalNotifications.fireNotificationEvent(notificationData);\n STORE.browserNotifications.firebrowserNotification(`${supervisorName} ${t(\"app:common.supervisorBargedIn\")}`);\n};\nexport const triggerLeaveInteractionNotification = (supervisorName) => {\n const notificationData = {\n type: Notifications.ItemMeta.Type.Info,\n mode: Notifications.ItemMeta.Mode.AutoDismiss,\n title: ``,\n data: `${supervisorName} ${t(\"app:common.leftInteraction\")}`\n };\n STORE.generalNotifications.fireNotificationEvent(notificationData);\n STORE.browserNotifications.firebrowserNotification(`${supervisorName} ${t(\"app:common.leftInteraction\")}`);\n};\nexport function getBuildNumber() {\n return __awaiter(this, void 0, void 0, function* () {\n const info = yield buildInfoService().getBuildVersion();\n return `${info.chartVersion}-${info.gitCommit.slice(0, 8)}`;\n });\n}\nexport const triggerToggleMuteErrorNotification = (mute) => {\n const title = mute ? t(\"app:notifications.muteCallFailedMessage\") : t(\"app:notifications.unmuteCallFailedMessage\");\n const notificationData = {\n type: Notifications.ItemMeta.Type.Error,\n mode: Notifications.ItemMeta.Mode.AutoDismiss,\n title,\n data: \"\"\n };\n STORE.generalNotifications.fireNotificationEvent(notificationData);\n STORE.browserNotifications.firebrowserNotification(title);\n};\nexport const triggerSendDTMFErrorNotification = () => {\n const title = t(\"app:notifications.sendDTMFFailedMessage\");\n const notificationData = {\n type: Notifications.ItemMeta.Type.Error,\n mode: Notifications.ItemMeta.Mode.AutoDismiss,\n title,\n data: \"\"\n };\n STORE.generalNotifications.fireNotificationEvent(notificationData);\n STORE.browserNotifications.firebrowserNotification(title);\n};\nexport const isWebCall = (interaction) => {\n return (STORE.app.featureFlags.isWebRTCEnabled &&\n STORE.agent.deviceType === SERVICE.constants.LoginVoiceOptions.BROWSER &&\n interaction.mediaType === MediaType.Telephony);\n};\n/**\n * Takes interaction object and checks if it is a digital outbound of out-dial type\n * @param interaction - interaction object\n * Returns a boolean.\n */\nexport const isDigitalOutbound = (interaction) => {\n return (interaction.contactDirection.type === OUTBOUND &&\n interaction.outboundType &&\n interaction.outboundType === OUTBOUND_TYPE.OUTDIAL &&\n (interaction.mediaChannel === MEDIA_TYPES.EMAIL || interaction.mediaChannel === MEDIA_TYPES.SMS));\n};\nexport const isDigitalOutboundCheck = (direction) => {\n return direction === OUTBOUND;\n};\nexport const isMediaTypeDigitalOutbound = (derivedMediaType) => {\n return (derivedMediaType === MEDIA_TYPES.OUTBOUND_AGENT_INITIATED_EMAIL ||\n derivedMediaType === MEDIA_TYPES.OUTBOUND_AGENT_INITIATED_SMS);\n};\nexport const getMediaChannelForNotification = (mediaChannel, direction) => {\n if (isDigitalOutboundCheck(direction)) {\n if (mediaChannel && mediaChannel === MEDIA_TYPES.EMAIL) {\n return MEDIA_TYPES.OUTBOUND_AGENT_INITIATED_EMAIL;\n }\n if (mediaChannel && mediaChannel === MEDIA_TYPES.SMS) {\n return MEDIA_TYPES.OUTBOUND_AGENT_INITIATED_SMS;\n }\n return mediaChannel;\n }\n return mediaChannel;\n};\nconst displayRonaMessage = (interaction) => {\n if (isWebCall(interaction)) {\n return t(\"app:rona:webrtcDeviceFailure\");\n }\n else {\n return t(\"app:rona:deviceFailure\");\n }\n};\nconst checkRonaReason = (interaction) => {\n if (isWebCall(interaction)) {\n return t(\"app:rona:networkFailure\");\n }\n else {\n return t(\"app:rona:incorrectDialNumber\");\n }\n};\nexport const getErrorMsgForReasonCode = (reasonCode) => {\n if (STORE.app.featureFlags.isDesktopReasonCodeEnabled && reasonCodesList.indexOf(reasonCode) !== -1) {\n const reasonCodeInString = `${reasonCode}`;\n return t(`app:errorCodes.${reasonCodeInString}`);\n }\n return null;\n};\nexport function fetchFeatureFlags() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n return {\n isVideoEnabled: SERVICE.featureflag.isVideoEnabled(),\n isCareAttachmentEnabled: SERVICE.featureflag.isCareAttachmentEnabled(),\n isDigitalFFEnabled: SERVICE.featureflag.isDigitalFFEnabled(),\n isPCIComplianceEnabled: SERVICE.featureflag.isPCIComplianceEnabled(),\n isDesktopReasonCodeEnabled: SERVICE.featureflag.isDesktopReasonCodeEnabled(),\n isImiChatWidgetEnabled: SERVICE.featureflag.isIMIChatEnabled(),\n isSteeringDigitsAppendEnabled: SERVICE.featureflag.isSteeringDigitsAppendEnabled(),\n isTahoeEnabled: SERVICE.featureflag.isTahoeEnabled(),\n isSecureCADVariablesEnabled: SERVICE.featureflag.isSecureCADVariablesEnabled(),\n isDesktopNotesWidgetEnabled: SERVICE.featureflag.isDesktopNotesWidgetEnabled(),\n isLogRocketEnabled: SERVICE.featureflag.isLogRocketEnabled(),\n isLogRocketMaskingDisabled: SERVICE.featureflag.isLogRocketMaskingDisabled(),\n isIMIGlobalVariablesEnabled: SERVICE.featureflag.isIMIGlobalVariablesEnabled(),\n isGlobalVariablesEnabled: SERVICE.featureflag.isGlobalVariablesEnabled(),\n isDesktopConsultToEntryPointDnEnabled: SERVICE.featureflag.isDesktopConsultToEntryPointDnEnabled(),\n isDesktopMaxSessionLimitsEnabled: SERVICE.featureflag.isDesktopMaxSessionLimitsEnabled(),\n isSignoutBySupervisorEnabled: SERVICE.featureflag.isSignoutBySupervisorEnabled(),\n isCallbackRetryEnabled: SERVICE.featureflag.isCallbackRetryEnabled(),\n isWebRTCEnabled: SERVICE.featureflag.isWebRTCEnabled(),\n isWebRTCSupervisorEnabled: SERVICE.featureflag.isWebRTCSupervisorEnabled(),\n isProgressiveCampaignEnabled: SERVICE.featureflag.isProgressiveCampaignEnabled(),\n isProgressiveCampaign1NEnabled: SERVICE.featureflag.isProgressiveCampaign1NEnabled(),\n isDesktopMaerskEnhancementEnabled: SERVICE.featureflag.isDesktopMaerskEnhancementEnabled(),\n isESDPostInteractionInsightsEnabled: SERVICE.featureflag.isESDPostInteractionInsightsEnabled(),\n isDesktopMaerskAcqueonTeamId: SERVICE.featureflag.isDesktopMaerskAcqueonTeamId(),\n isNativeChat: SERVICE.featureflag.isNativeChat(),\n isDesktopCpdViewEnabled: SERVICE.featureflag.isDesktopCpdViewEnabled(),\n isAddressBookInfiniteScrollEnabled: SERVICE.featureflag.isAddressBookInfiniteScrollEnabled(),\n isDesktopMSStateSyncEnabled: SERVICE.featureflag.isDesktopMSStateSyncEnabled(),\n isDesktopAuxCodesInfiniteScrollEnabled: SERVICE.featureflag.isDesktopAuxCodesInfiniteScrollEnabled(),\n isDesktopWebexStateSyncEnabled: SERVICE.featureflag.isDesktopWebexStateSyncEnabled(),\n isDesktopEmergencyNotificationEnabled: SERVICE.featureflag.isDesktopEmergencyNotificationEnabled(),\n isWebrtcRingingEnabled: SERVICE.featureflag.isWebrtcRingingEnabled(),\n isWebrtcEndCallEnabled: SERVICE.featureflag.isWebrtcEndCallEnabled(),\n isWxccMultiPartyConfEnabled: SERVICE.featureflag.isWxccMultiPartyConfEnabled(),\n isAiAssistantEnabled: SERVICE.featureflag.isAiAssistantEnabled(),\n isCallDropSummaryEnabled: SERVICE.featureflag.isCallDropSummaryEnabled(),\n isVirtualAgentSummaryEnabled: SERVICE.featureflag.isVirtualAgentSummaryEnabled(),\n isQMWShowConsultRecordingsEnabled: SERVICE.featureflag.isQMWShowConsultRecordingsEnabled(),\n isRecordingsRicherMetadataEnabled: SERVICE.featureflag.isRecordingsRicherMetadataEnabled(),\n isDesktopConferenceRecordingEnabled: SERVICE.featureflag.isDesktopConferenceRecordingEnabled(),\n isWxccPersistCallEnabled: SERVICE.featureflag.isWxccPersistCallEnabled(),\n isShowSignedOutAgentsEnabled: SERVICE.featureflag.showSignedOutAgents(),\n isAutoCsatEnabled: SERVICE.featureflag.isAutoCSATEnabled(),\n isWxccAgentInteractionEnabled: SERVICE.featureflag.isWxccAgentInteractionEnabled(),\n isMomentumV2Enabled: SERVICE.featureflag.isMomentumV2Enabled(),\n isWebexDirectoryViewEnabled: SERVICE.featureflag.isWebexDirectoryViewEnabled(),\n isWxccAllowOutdialCallAlwaysEnabled: SERVICE.featureflag.isWxccAllowOutdialCallAlwaysEnabled(),\n isQueueStatsTabEnabled: SERVICE.featureflag.isQueueStatsTabEnabled(),\n isInteractionsPageEnabled: SERVICE.featureflag.isInteractionsPageEnabled(),\n isMaskSensitiveDataFFEnabled: SERVICE.featureflag.isMaskSensitiveDataFFEnabled(),\n isAllowConfTransferToEpDnEnabled: SERVICE.featureflag.isAllowConfTransferToEpDnEnabled(),\n isOutdialOrgSearchEnabled: SERVICE.featureflag.isOutdialOrgSearchEnabled(),\n isConfirmDialogEnabled: SERVICE.featureflag.isConfirmDialogEnabled(),\n isSuppressWebexCallingNotificationEnabled: SERVICE.featureflag.isFeatureFlagEnabled(FEATURE_FLAGS.SUPPRESS_WEBEX_CALLING_NOTIFICATION),\n isProgressive11SpecialModeEnabled: SERVICE.featureflag.isFeatureFlagEnabled(FEATURE_FLAGS.WXCC_PROGRESSIVE11_SPECIAL_MODE),\n isConsultTransferInfiniteScrollEnabled: SERVICE.featureflag.isFeatureFlagEnabled(FEATURE_FLAGS.CONSULT_TRANSFER_INFINITE_SCROLL),\n isDesktopEnhancedSignInEnabled: SERVICE.featureflag.isFeatureFlagEnabled(FEATURE_FLAGS.DESKTOP_ENHANCED_SIGNIN),\n isWxccCoreDisallowPendingLogoutStateChangeEnabled: SERVICE.featureflag.isFeatureFlagEnabled(FEATURE_FLAGS.WXCC_CORE_DISALLOW_PENDING_LOGOUT_STATE_CHANGE),\n isLogUploadEnabledOnLoginError: SERVICE.featureflag.isLogUploadEnabledOnLoginError(),\n isAiAssistantV2Enabled: SERVICE.featureflag.isAiAssistantV2Enabled(),\n isVisualRebrandNewLookToggleEnabled: SERVICE.featureflag.isVisualRebrandNewLookToggleEnabled(),\n isWxccPostCallEnabled: SERVICE.featureflag.isWxccPostCallEnabled(),\n isEarlyWebexRegistrationDisabled: SERVICE.featureflag.isFeatureFlagEnabled(FEATURE_FLAGS.DESKTOP_EARLY_WEBEX_REGISTRATION_DISABLED),\n isWxccPersistConsultEnabled: SERVICE.featureflag.isWxccPersistConsultEnabled(),\n isDesktopCallPanelVisualUpdateEnabled: SERVICE.featureflag.isDesktopCallPanelVisualUpdateEnabled(),\n isWellnessBreakClientEnabled: SERVICE.featureflag.isWellnessBreakClientEnabled(),\n isUploadLogsToWebexEnabled: SERVICE.featureflag.isFeatureFlagEnabled(FEATURE_FLAGS.DESKTOP_UPLOAD_LOGS_TO_WEBEX)\n };\n }\n catch (error) {\n logger.error(`event=fetchFeatureFlags | [Tracking ID: ${getTrackingIdFromErrorObject ? getTrackingIdFromErrorObject(error) : error}] Error fetching Feature Flags: ${error}`, error);\n }\n return undefined;\n });\n}\n/**\n * Summary of configuration helpers\n */\nconst configs = {\n fetchPciSettings,\n fetchFeatureFlags,\n fetchPciAllowedAttachmentTypes\n};\nexport function updateFeatureFlags() {\n return __awaiter(this, void 0, void 0, function* () {\n const featureFlags = yield configs.fetchFeatureFlags();\n logger.info(\"event=fetchFeatureFlags | Feature flags fetched successfully: \", featureFlags);\n STORE.app.updateFeatureFlags(featureFlags);\n });\n}\nexport function updateAiFeatureFlags() {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const orgId = STORE.agent.organizationId;\n // Fetch wellness data\n const wellnessDataResponse = yield SERVICE.cms.fetchAIAgentBurnout({ orgId });\n const wellnessData = wellnessDataResponse === null || wellnessDataResponse === void 0 ? void 0 : wellnessDataResponse.data;\n logger.info(\"Fetch AI Burnout from tenant management successful: \", wellnessData);\n const wellnessRemindersEnabled = wellnessData && wellnessData.length > 0\n ? wellnessData[0].wellnessBreakReminders === \"ENABLED\" && wellnessData[0].enabled\n : false;\n // Fetch AI generated summaries\n const responseData = yield SERVICE.cms.fetchAIGeneratedSummaries({ orgId });\n logger.info(\"FetchAiFeatures from tenant management successful: \", responseData.data);\n const featureFlagData = (_a = responseData.data) === null || _a === void 0 ? void 0 : _a[0];\n // Update feature flags\n SERVICE.featureflag.updateAiFeatureFlags(featureFlagData.callDropSummariesEnabled, featureFlagData.virtualAgentTransferSummariesEnabled, wellnessRemindersEnabled);\n // Prepare and update AI feature flags in the store\n const aiFFData = {\n isCallDropSummaryEnabled: featureFlagData.callDropSummariesEnabled,\n isVirtualAgentSummaryEnabled: featureFlagData.virtualAgentTransferSummariesEnabled,\n isWellnessBreakClientEnabled: SERVICE.featureflag.isWellnessBreakClientEnabled(),\n isAiAssistantEnabled: SERVICE.featureflag.isAiAssistantEnabled()\n };\n STORE.app.updateFeatureFlags(aiFFData);\n logger.info(\"Successfully updated AI Feature flags with data!\");\n }\n catch (err) {\n logger.error(\"FetchAiFeatures failed: \", err);\n }\n });\n}\nfunction updateOrgConfigs(orgId) {\n return __awaiter(this, void 0, void 0, function* () {\n if (STORE.app.featureFlags && STORE.app.featureFlags.isPCIComplianceEnabled && STORE.app.featureFlags.isNativeChat) {\n const pciSettings = yield configs.fetchPciSettings(orgId);\n const pciAllowedAttachmentTypes = yield configs.fetchPciAllowedAttachmentTypes();\n STORE.app.updatePciAllowedAttachmentTypes(pciAllowedAttachmentTypes);\n STORE.app.updatePciCompliance(pciSettings);\n }\n });\n}\nconst publishAuthDetailAfterSuccessfulIframeLogin = (config) => {\n const message = { type: \"agentx-login-from-iframe\", config };\n window.opener.postMessage(message, \"*\");\n logger.info(\"event=IFrameLogin | Iframe login success, publishing the token to parent window\");\n};\nexport const findAuthTokenForIframeApp = () => {\n logger.info(\"event=IFrameLogin | Child window opened for iframe authentication\");\n return (function () {\n const interval = setInterval(() => {\n const authToken = JSON.parse(localStorage.getItem(uuipAuthToken) || \"{}\");\n const ciClusterIdValue = localStorage.getItem(CLUSTER_ID_KEY) || null;\n if (authToken && authToken.token) {\n clearInterval(interval);\n const ciConfig = JSON.parse(localStorage.getItem(\"ci-config\") || \"{}\");\n const config = {\n ciClusterId: ciClusterIdValue,\n uuipAuthTokens: authToken,\n token: authToken.token,\n ci_config: ciConfig\n };\n publishAuthDetailAfterSuccessfulIframeLogin(config);\n }\n else {\n logger.warn(\"event=IFrameLogin | Auth token not found in iframe login, retrying...\");\n }\n }, 1000);\n })();\n};\nexport function listenScreenPopEvent() {\n return __awaiter(this, void 0, void 0, function* () {\n SERVICE.aqm.screenpop.eScreenPop.listen((screenPopDetail) => {\n STORE.session.screenpop.handleScreenPop(screenPopDetail);\n });\n });\n}\nexport { configs, updateOrgConfigs };\nexport function fetchMeDetails(ci) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const meData = yield ci.getUserMe();\n logger.info(\"event=identityMeSuccess | fetching user identity me details success : \", meData);\n return meData;\n }\n catch (error) {\n logger.error(\"event=identityMeFailed | fetching user identity me details Error : \", error);\n }\n return undefined;\n });\n}\nconst teamDataFormat = (team) => {\n var _a;\n return {\n teamId: (_a = team.dbId) !== null && _a !== void 0 ? _a : team.id,\n teamName: team.name\n };\n};\nconst teamQueueFormat = (queue) => {\n return {\n queueId: queue.id,\n queueName: queue.name\n };\n};\nexport const getFilteredTeamsBySiteIds = (teamData, siteIds) => {\n const filteredTeams = [];\n teamData.forEach((team) => {\n if (siteIds.includes(team.siteId)) {\n filteredTeams.push(teamDataFormat(team));\n }\n });\n return filteredTeams;\n};\nexport const getAllFormattedTeams = (teamData) => {\n const filteredTeams = [];\n teamData.forEach((team) => {\n filteredTeams.push(teamDataFormat(team));\n });\n return filteredTeams;\n};\nexport const getFilteredQueuesByQueueIds = (queueData, queueIds) => {\n const filteredQueues = [];\n queueData.forEach((queue) => {\n if (queueIds.includes(queue.id)) {\n filteredQueues.push(teamQueueFormat(queue));\n }\n });\n return filteredQueues;\n};\nexport const getAllFormattedQueues = (queueData) => {\n const filteredQueues = [];\n queueData.forEach((queue) => {\n filteredQueues.push(teamQueueFormat(queue));\n });\n return filteredQueues;\n};\nconst updateManagedTeams = (data) => {\n logger.info(\"Managed Teams List Success\");\n STORE.agent.updateManagedTeams(data);\n STORE.agent.updateSelectedTeamList(JSON.parse(sessionStorage.getItem(\"selected-team-list\") || \"[]\"));\n STORE.agent.updateIsManagedTeamLoading(false);\n};\nexport function fetchManagedTeams() {\n return __awaiter(this, void 0, void 0, function* () {\n STORE.agent.updateIsManagedTeamLoading(true);\n try {\n // Load data from agentx-backend.\n const response = yield SERVICE.abs.fetchManagedTeams({ userId: STORE.agent.meUserId, orgId: STORE.agent.orgId });\n updateManagedTeams(response);\n }\n catch (error) {\n const trackingId = getTrackingIdFromErrorObject ? getTrackingIdFromErrorObject(error) : \"\";\n logger.error(`event=fetchManagedTeamsError | Tracking ID: ${trackingId} Fetching managed teams failed :`, error);\n STORE.agent.updateIsManagedTeamLoading(false);\n STORE.agent.updateIsManagedTeamError(trackingId);\n }\n });\n}\nconst updateManagedQueues = (data) => {\n logger.info(\"Managed Queue List Success\");\n STORE.agent.updateManagedQueues(data);\n STORE.agent.updateSelectedQueueList(JSON.parse(sessionStorage.getItem(\"selected-queue-list\") || \"[]\"));\n STORE.agent.updateIsManagedQueueLoading(false);\n};\nexport function fetchManagedQueues() {\n return __awaiter(this, void 0, void 0, function* () {\n STORE.agent.updateIsManagedQueueLoading(true);\n try {\n // Load data from agentx-backend.\n const response = yield SERVICE.abs.fetchManagedQueues({ userId: STORE.agent.meUserId, orgId: STORE.agent.orgId });\n updateManagedQueues(response);\n }\n catch (error) {\n const trackingId = getTrackingIdFromErrorObject ? getTrackingIdFromErrorObject(error) : \"\";\n logger.error(\"event=fetchManagedQueuesError | Fetching managed queues failed :\", error);\n STORE.agent.updateIsManagedQueueError(trackingId);\n STORE.agent.updateIsManagedQueueLoading(false);\n }\n });\n}\nexport const getSpecificIdleCode = (auxCodeId) => __awaiter(void 0, void 0, void 0, function* () {\n try {\n const response = yield SERVICE.abs.fetchPaginatedIdleCodes({\n orgId: STORE.agent.organizationId,\n customFilter: `id==${auxCodeId}`\n });\n logger.info(\"event=fetchIdleCodes | Successfully fetched idle code for subStatus\");\n return response;\n }\n catch (error) {\n logger.error(\"event=fetchIdleCodes | Error on fetching idle code for subStatus\", error);\n throw error;\n }\n});\nexport function handleIframeLogout() {\n const logoutWindow = window.open(`${window.location.origin}?logout='true'`);\n if (logoutWindow) {\n const interval = setInterval(() => {\n const authToken = JSON.parse(localStorage.getItem(uuipAuthToken) || \"{}\");\n try {\n if (logoutWindow.location && logoutWindow.location.origin) {\n logger.info(\"event=IFrameLogout | Iframe logout in progress\");\n }\n }\n catch (_a) {\n if (!authToken || !authToken.token) {\n logger.error(\"event=IFrameLogout | Iframe logout success reloading\");\n }\n else {\n logger.info(\"event=IFrameLogout | Iframe logout failed reloading\");\n }\n localStorage.removeItem(\"uuip-auth-token\");\n logger.info(\"uuip-auth-token removed from localStorage while handleIframeLogout\");\n clearInterval(interval);\n logoutWindow.close();\n window.location.reload();\n }\n }, 1000);\n }\n}\nexport function unRegisterWebexSDK() {\n return __awaiter(this, void 0, void 0, function* () {\n logger.info(\"unregistering webex and spark instance's\");\n STORE.session.chat.updateRemoveMediaListeners(true);\n yield SERVICE.webex.unregisterWebex();\n });\n}\n// Function calls when tab/browser window closes\nexport function tabClosePrompt(e) {\n logger.info(\"Prompt displayed before navigation.\");\n logger.info(\"event=DesktopReload | Desktop has been reload\");\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.DESKTOP_RELOAD, {\n browserOnline: navigator.onLine\n });\n if (localStorage.getItem(uuipAuthToken)) {\n e.preventDefault();\n logMiner();\n e.returnValue = \"\";\n return \"\";\n }\n else {\n return false;\n }\n}\nexport function removeUnloadEvent() {\n logger.info(\"Prompt removed.\");\n window.removeEventListener(\"beforeunload\", tabClosePrompt);\n window.onbeforeunload = null;\n}\n/**\n * Order/Sort list of objects based on provided field\n * @param list\n * @param field\n */\nexport const orderBy = (list, field) => {\n return list.sort((a, b) => {\n const nameA = a[field].toLowerCase();\n const nameB = b[field].toLowerCase();\n if (nameA > nameB) {\n return -1;\n }\n if (nameA < nameB) {\n return 1;\n }\n return 0;\n });\n};\nexport const invokeLoginErrorModal = (errorMsg, trackingId) => {\n STORE.session.errorModal.setErrorDetails({\n detail: {\n message: errorMsg,\n buttons: [\n {\n type: \"ok\",\n label: t(errorModalOk),\n onClick: () => __awaiter(void 0, void 0, void 0, function* () {\n logger.error(`event=handleLoginError | Triggering CI logout : ${errorMsg}`, errorMsg);\n yield STORE.auth.logout(STORE.auth.refreshToken);\n })\n }\n ],\n noExitOnEsc: true,\n trackingId\n }\n });\n};\nconst dispatchAutoLogin = () => {\n window.dispatchEvent(new CustomEvent(SUPERVISOR_AUTO_LOGIN_EVENT, { bubbles: true, composed: true }));\n};\nexport const invokeMaximumSessionErrorModal = (errorMsg, trackingId) => {\n STORE.session.errorModal.setErrorDetails({\n detail: {\n message: errorMsg,\n buttons: [\n {\n type: \"button\",\n color: \"var(--md-background-color--gray-05)\",\n label: t(\"app:common.signOutButton\"),\n onClick: () => __awaiter(void 0, void 0, void 0, function* () {\n logger.error(`event=handleLoginError | Triggering CI logout : ${errorMsg}`, errorMsg);\n yield STORE.auth.logout(STORE.auth.refreshToken);\n })\n },\n {\n type: \"button\",\n label: t(\"app:common.retry\"),\n onClick: () => {\n logger.info(`dispatching ${SUPERVISOR_AUTO_LOGIN_EVENT} on retry`);\n dispatchAutoLogin();\n }\n }\n ],\n noExitOnEsc: true,\n trackingId\n }\n });\n};\nexport function handleLoginError(errorDetail) {\n const isConfigsError = errorDetail.id === \"Service.aqm.configs.application\" || errorDetail.id === \"Service.abs.fetchCmsInitConfig\";\n const isTeamsError = errorDetail.id === \"Service.aqm.configs.teams\";\n const isSupervisorLoginError = errorDetail.id === \"Service.aqm.supervisor.stationLogin\" ||\n errorDetail.id === \"Service.aqm.supervisor.stationLoginFailed\";\n if (isConfigsError || isTeamsError || isSupervisorLoginError) {\n let errorMsg = isConfigsError\n ? t(\"app:stationLogin.initialConfigsFailed\")\n : isTeamsError\n ? t(\"app:stationLogin.initialProfileTeamFailed\")\n : t(\"app:stationLogin.supervisorStationLoginFailed\");\n const trackingId = errorDetail.trackingId;\n if ((errorDetail === null || errorDetail === void 0 ? void 0 : errorDetail.reasonCode) === 1019 && STORE.app.featureFlags.isDesktopMaxSessionLimitsEnabled) {\n errorMsg = t(\"app:stationLogin:maximumSessionsReachedError\");\n invokeMaximumSessionErrorModal(errorMsg, trackingId);\n return;\n }\n invokeLoginErrorModal(errorMsg, trackingId);\n }\n}\nexport const invokeTeamDeletedErrorModal = (errorMsg, trackingId) => {\n STORE.session.errorModal.setErrorDetails({\n detail: {\n message: errorMsg,\n buttons: [\n {\n type: \"ok\",\n label: t(\"app:common.signOutButton\"),\n onClick: () => __awaiter(void 0, void 0, void 0, function* () {\n logger.error(`event=handleLoginError | Triggering CI logout : ${errorMsg}`, errorMsg);\n yield STORE.auth.logout(STORE.auth.refreshToken);\n })\n }\n ],\n noExitOnEsc: true,\n trackingId\n }\n });\n};\nexport const showContactCleanUpModal = (trackingId) => {\n STORE.session.errorModal.setErrorDetails({\n detail: {\n modalType: \"dialog\",\n header: t(\"app:contactTerminationLabels.header\"),\n message: t(\"app:contactTerminationLabels.message\"),\n trackingId\n }\n });\n};\nexport function isIframedLogoutRequested(windowOpener) {\n const urlParams = new URLSearchParams(window.location.search);\n const isLogoutRequested = urlParams.get(\"logout\");\n return windowOpener != null && isLogoutRequested != null ? true : false;\n}\nexport function setQueryparams() {\n const urlParams = new URLSearchParams(window.location.search);\n const sfdcIframeOrigin = urlParams.get(\"sfdcIframeOrigin\");\n const isCanaryOrg = urlParams.get(\"canary\");\n const orgId = urlParams.get(\"orgId\");\n if (sfdcIframeOrigin) {\n logger.info(\"event=setQueryParams | Setting sfdcIframeOrigin value to \", sfdcIframeOrigin);\n localStorage.setItem(\"sfdcIframeOrigin\", sfdcIframeOrigin);\n }\n if (isCanaryOrg) {\n logger.info(\"event=setQueryParams | Setting isCanaryOrg value to \", isCanaryOrg);\n sessionStorage.setItem(\"canary\", isCanaryOrg);\n }\n if (orgId) {\n logger.info(\"event=setQueryParams | Setting queryOrgId value to \", orgId);\n sessionStorage.setItem(\"queryOrgId\", orgId);\n }\n}\nexport function getCanaryParam() {\n const flag = sessionStorage.getItem(\"canary\");\n return flag === \"true\" ? true : false;\n}\nexport function getOrgIdParam() {\n return sessionStorage.getItem(\"queryOrgId\");\n}\nexport function isCanaryFlagInQueryParam() {\n const urlParams = new URLSearchParams(window.location.search);\n const isCanaryOrg = urlParams.get(\"canary\");\n return isCanaryOrg === \"true\" ? true : false;\n}\nexport function handleLogout(token) {\n return new Promise((resolve) => {\n const urlParams = new URLSearchParams(window.location.search);\n const logout = urlParams.get(\"logout\");\n if (logout) {\n STORE.auth.authService.logout(token);\n }\n else {\n resolve();\n }\n });\n}\nexport function updateIMISettings() {\n const script = document.createElement(\"script\");\n script.setAttribute(\"id\", \"imi-controller-bundle\");\n script.setAttribute(\"type\", \"module\");\n script.setAttribute(\"src\", process.env.IMI_GADGET_URL);\n script.setAttribute(\"dc\", process.env.IMI_DC);\n document.body.appendChild(script);\n script.onerror = () => {\n logger.error(`[App: IMI] failed to load Controller IMI JS with src`, script.src);\n };\n script.onload = () => {\n logger.info(`[App: IMI] Success loading Controller IMI JS with src`, script.src);\n document.addEventListener(\"imi-engage-bundle-load-success\", function () {\n STORE.app.setImiScriptLoad();\n logger.info(`[App: IMI] Success loading IMI JS with ${process.env.IMI_DC} DC`);\n });\n document.addEventListener(\"imi-engage-bundle-load-error\", function () {\n logger.error(`[App: IMI] failed to load IMI JS with ${process.env.IMI_DC} DC`);\n });\n };\n}\nexport function updateAnalyzerSettings() {\n const script = document.createElement(\"script\");\n script.setAttribute(\"id\", \"wxcc-analyzer-bundle\");\n script.setAttribute(\"type\", \"module\");\n script.setAttribute(\"src\", process.env.ANALYZER_BUNDLE);\n script.setAttribute(\"dc\", process.env.CC_DC);\n document.body.appendChild(script);\n script.onerror = () => {\n logger.error(`[App: AnalyzerUI] failed to load Controller AnalyzerUI JS with src`, script.src);\n };\n script.onload = () => {\n logger.info(`[App: AnalyzerUI] Success loading Controller AnalyzerUI JS with src`, script.src);\n document.addEventListener(\"wxccanalyzer-desktop-bundle-load-success\", function () {\n logger.info(`[App: AnalyzerUI] Success loading AnalyzerUI JS with ${process.env.CC_DC} DC`);\n });\n document.addEventListener(\"wxccanalyzer-desktop-bundle-load-error\", function () {\n logger.error(`[App: AnalyzerUI] failed to load AnalyzerUI JS with ${process.env.CC_DC} DC`);\n });\n };\n}\nexport function attachIMIScript() {\n if (!document.getElementById(\"imi-controller-bundle\")) {\n updateIMISettings();\n STORE.app.updateIMIFeatureFlag(true);\n }\n}\nexport function updatePageTitle(routeName) {\n if (routeName === RouteName.TASKPANEL || routeName === RouteName.TASK) {\n document.title = `${STORE.app.title} : ${t(\"app:navigation.task\")}`;\n return;\n }\n STORE.layout.navigation.forEach((nav) => {\n if (nav.navigateTo === routeName && nav.label) {\n document.title = `${STORE.app.title}: ${t(nav.label)}`;\n }\n });\n}\nexport function registerDefaultShortcutKeys() {\n SERVICE.shortcut.event.listenKeyConflict(() => {\n if (!STORE.shortcutKeys.isShortcutKeyConflict) {\n STORE.shortcutKeys.updateConflictForKey(true);\n STORE.generalNotifications.fireShortcutKeyConflict(t(\"app:keyboardShortcutKeys.conflictTitle\"), t(\"app:keyboardShortcutKeys.conflictData\"));\n }\n });\n SERVICE.shortcut.event.listenConflictResolved(() => {\n STORE.shortcutKeys.updateConflictForKey(false);\n });\n Object.values(SERVICE.shortcut.DEFAULT_SHORTCUT_KEYS).forEach((keys) => {\n keys.forEach((key) => {\n key.group = t(key.group);\n key.action = t(key.action);\n });\n SERVICE.shortcut.register(keys);\n });\n}\nexport const registerWebRTCShortcuts = () => {\n SERVICE.shortcut.register(WEBRTC_SHORTCUT_KEYS);\n};\nconst showSystemLogoutErrorModal = () => {\n STORE.session.errorModal.setErrorDetails({\n detail: {\n header: t(\"app:idleInActivity.signOut\"),\n message: t(\"app:systemSignOutMessage\"),\n backdropClickExit: false,\n noExitOnEsc: true,\n buttons: [\n {\n type: \"ok\",\n label: t(errorModalOk),\n onClick: () => __awaiter(void 0, void 0, void 0, function* () {\n yield STORE.auth.logout(STORE.auth.refreshToken);\n })\n }\n ]\n }\n });\n};\nconst handleLogoutBySelf = () => {\n var _a, _b, _c, _d;\n if (STORE.app.featureFlags.isWebRTCEnabled &&\n STORE.agent.deviceType === SERVICE.constants.LoginVoiceOptions.BROWSER) {\n logger.info(`[WebRtc] : deregistering webcalling on agent logout , agentId ${STORE.agent.agentId}`);\n SERVICE.webCalling.deregisterWebCalling();\n }\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.SIGN_OUT, {\n [SERVICE.telemetry.TELEM_PROPS.SIGN_OUT_METHOD]: \"Agent\",\n Status: SERVICE.telemetry.TELEM_EVENT.STATUS.SUCCESS\n }, [(_b = (_a = SERVICE.telemetry) === null || _a === void 0 ? void 0 : _a.SERVICE_PROVIDERS) === null || _b === void 0 ? void 0 : _b.webex_behavioral, (_d = (_c = SERVICE.telemetry) === null || _c === void 0 ? void 0 : _c.SERVICE_PROVIDERS) === null || _d === void 0 ? void 0 : _d.prometheus]);\n sessionStorage.removeItem(ALERT_BANNER_DETAILS);\n const isSignOutByUi = STORE.agent.signOutByUi;\n const isSignOutByProfileChange = STORE.agent.signOutByProfileChange;\n const hasAccessToken = STORE.auth.accessToken;\n // if the agent is signed out by profile change then we should not go with this flow.\n if (isSignOutByProfileChange) {\n STORE.agent.updateSignOutByChangeProfile(false);\n return;\n }\n // is the agent is signed out by UI then we should not show the modal\n if (!isSignOutByUi) {\n showSystemLogoutErrorModal();\n return;\n }\n // General signout flow.\n if (hasAccessToken) {\n logMiner();\n localStorage.removeItem(\"desktop-notification-settings\");\n sessionStorage.removeItem(\"desktop-silent-notifications\");\n STORE.auth.logout(STORE.auth.refreshToken);\n logger.info(\"[Agent Self Logout] Aqm logout success - Posted an event for CILogout\");\n }\n};\n/**\n * Below event will be received on notifs when agent is logged out.\n * @param event\n */\nexport function checkAgentLogout(event) {\n // if agent is logged out by SUPERVISOR , ADMIN , HELPDESK then only we should show the below modal.\n if (event.loggedOutBy === MACHINE) {\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.SIGN_OUT, {\n [SERVICE.telemetry.TELEM_PROPS.SIGN_OUT_METHOD]: \"Machine\",\n Status: SERVICE.telemetry.TELEM_EVENT.STATUS.SUCCESS\n });\n STORE.session.errorModal.setErrorDetails({\n detail: {\n header: t(\"app:idleInActivity.signOut\"),\n htmlMessage: html `\n
      \n ${t(\"app:agentLogoutByMachine\")}\n
        \n
      • ${t(\"app:poorNetworkConnection\")}
      • \n
      • ${t(\"app:systemSignOut\")}
      • \n
      \n ${t(\"app:signInAgain\")}\n
      \n `,\n backdropClickExit: false,\n noExitOnEsc: true,\n buttons: [\n {\n type: \"ok\",\n label: t(errorModalOk),\n onClick: () => __awaiter(this, void 0, void 0, function* () {\n yield STORE.auth.logout(STORE.auth.refreshToken);\n })\n }\n ]\n }\n });\n return;\n }\n if (event.loggedOutBy !== SELF) {\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.SIGN_OUT, {\n [SERVICE.telemetry.TELEM_PROPS.SIGN_OUT_METHOD]: \"Supervisor\",\n Status: SERVICE.telemetry.TELEM_EVENT.STATUS.SUCCESS\n });\n STORE.session.errorModal.setErrorDetails({\n detail: {\n header: t(\"app:agentLogoutBySupervisorTitle\"),\n message: t(\"app:agentLogoutBySupervisor\"),\n backdropClickExit: false,\n noExitOnEsc: true,\n buttons: [\n {\n type: \"ok\",\n label: t(errorModalOk),\n onClick: () => __awaiter(this, void 0, void 0, function* () {\n yield STORE.auth.logout(STORE.auth.refreshToken);\n })\n }\n ]\n }\n });\n }\n if (event.loggedOutBy === SELF) {\n handleLogoutBySelf();\n }\n}\nexport const getRonareason = (reasonCode, interaction) => {\n if (getErrorMsgForReasonCode(reasonCode)) {\n return html `
      ${getErrorMsgForReasonCode(reasonCode)}
      `;\n }\n else {\n return html `\n
      \n ${t(\"app:rona.deliverRequestFailure\")}\n
      \n
        \n
      • ${t(\"app:rona.requestNotAnswered\")}
      • \n
      • ${checkRonaReason(interaction)}
      • \n
      \n
      \n `;\n }\n};\nexport function ronaToOtherState(interaction, reasonCode) {\n STORE.browserNotifications.firebrowserNotification(t(\"app:rona.browserNotification\"));\n STORE.session.errorModal.setErrorDetails({\n detail: {\n header: t(\"app:rona.title\"),\n htmlHeadingElement: true,\n htmlMessage: SERVICE.featureflag.isDesktopReasonCodeEnabled()\n ? getRonareason(reasonCode, interaction)\n : html `\n
      \n ${t(\"app:rona.deliverRequestFailure\")}\n
      \n
        \n
      • ${t(\"app:rona.requestNotAnswered\")}
      • \n
      • ${checkRonaReason(interaction)}
      • \n
      \n
      \n `,\n backdropClickExit: false,\n noExitOnEsc: true,\n buttons: [\n {\n type: \"button\",\n variant: \"secondary\",\n label: t(\"app:rona.idleState\"),\n onClick: () => {\n SERVICE.telemetry.timeEvent(SERVICE.telemetry.TELEM_EVENT.AGENT_STATE_CHANGE);\n STORE.agent.updateStatusAfterRONA(SERVICE.constants.AgentState.Idle);\n document.dispatchEvent(new CustomEvent(AGENTX_DEFAULT_FOCUS));\n }\n },\n {\n type: \"button\",\n label: t(\"app:rona.availableState\"),\n onClick: () => {\n SERVICE.telemetry.timeEvent(SERVICE.telemetry.TELEM_EVENT.AGENT_STATE_CHANGE);\n STORE.agent.updateStatusAfterRONA(SERVICE.constants.AgentState.Available);\n document.dispatchEvent(new CustomEvent(AGENTX_DEFAULT_FOCUS));\n }\n }\n ]\n }\n });\n}\nexport function midcallMonitoringStarted(agentId, interactionId) {\n var _a;\n (_a = SERVICE.telemetry) === null || _a === void 0 ? void 0 : _a.track(SERVICE.telemetry.TELEM_EVENT.MIDCALL_MONITORING_STARTED, {\n SupervisorId: STORE.agent.agentId,\n Role: STORE.agent.userSelectedRole,\n MonitoredAgentId: agentId,\n MonitoringType: MONITORING_TYPE.MIDCALL,\n InteractionId: interactionId\n });\n}\nexport function midcallMonitoringOffered(agentId, interactionId) {\n var _a;\n (_a = SERVICE.telemetry) === null || _a === void 0 ? void 0 : _a.track(SERVICE.telemetry.TELEM_EVENT.MIDCALL_MONITORING_OFFERED, {\n SupervisorId: STORE.agent.agentId,\n Role: STORE.agent.userSelectedRole,\n AgentId: agentId,\n MonitoringType: MONITORING_TYPE.MIDCALL,\n InteractionId: interactionId\n });\n}\nexport function midcallMonitoringEnded(interactionId) {\n var _a;\n (_a = SERVICE.telemetry) === null || _a === void 0 ? void 0 : _a.track(SERVICE.telemetry.TELEM_EVENT.MIDCALL_MONITORING_ENDED, {\n SupervisorId: STORE.agent.agentId,\n Role: STORE.agent.userSelectedRole,\n MonitoringType: MONITORING_TYPE.MIDCALL,\n InteractionId: interactionId\n });\n}\nexport function midcallMonitoringFailed(interactionId) {\n var _a;\n (_a = SERVICE.telemetry) === null || _a === void 0 ? void 0 : _a.track(SERVICE.telemetry.TELEM_EVENT.MIDCALL_MONITORING_FAILED, {\n SupervisorId: STORE.agent.agentId,\n Role: STORE.agent.userSelectedRole,\n MonitoringType: MONITORING_TYPE.MIDCALL,\n InteractionId: interactionId\n });\n}\nexport function bargeInStarted(interactionId, agentId) {\n var _a;\n (_a = SERVICE.telemetry) === null || _a === void 0 ? void 0 : _a.track(SERVICE.telemetry.TELEM_EVENT.BARGE_IN_ACTIVATED, {\n InteractionId: interactionId,\n MonitoredAgentId: agentId,\n Role: STORE.agent.userSelectedRole,\n MonitoringType: BARGE_IN_MONITORING_STATE,\n Status: SERVICE.telemetry.TELEM_EVENT.STATUS.SUCCESS\n });\n}\nexport function inviteFailedToIdle(interaction, trackingId) {\n const ronaModalMessage = displayRonaMessage(interaction);\n STORE.browserNotifications.firebrowserNotification(ronaModalMessage);\n STORE.session.errorModal.setErrorDetails({\n detail: {\n message: ronaModalMessage,\n backdropClickExit: false,\n noExitOnEsc: true,\n buttons: [\n {\n type: \"button\",\n label: t(\"app:rona.idleState\"),\n onClick: () => {\n SERVICE.telemetry.timeEvent(SERVICE.telemetry.TELEM_EVENT.AGENT_STATE_CHANGE);\n STORE.agent.updateStatusAfterRONA(SERVICE.constants.AgentState.Idle);\n }\n }\n ],\n trackingId\n }\n });\n}\nconst getTabName = () => {\n var _a;\n return (_a = SERVICE.telemetry) === null || _a === void 0 ? void 0 : _a.getValueFromCache(SERVICE.telemetry.TELEM_CACHE_KEYS.AUXILIARY_PANEL_TAB_NAME);\n};\n//mix Panel utility functions;\nexport const auxiliaryPaneTelemetryTracker = (updatedTabName) => {\n const tabName = getTabName();\n const auxiliaryPanelTabName = tabName !== null ? tabName : null;\n if (auxiliaryPanelTabName == null ||\n auxiliaryPanelTabName === undefined ||\n auxiliaryPanelTabName === updatedTabName) {\n return;\n }\n let timeSpent = 0;\n switch (auxiliaryPanelTabName) {\n case widgetElement.CONTACT_HISTORY:\n timeSpent = SERVICE.telemetry.getValueFromCache(SERVICE.telemetry.TELEM_CACHE_KEYS.CONTACT_HISTORY_START_TIME);\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.CONTACT_HISTORY_VIEWED, {\n [SERVICE.telemetry.TELEM_PROPS.TOTAL_TIME_SPENT]: Number(((new Date().getTime() - Number(timeSpent)) / 1000).toFixed(2))\n });\n SERVICE.telemetry.removeValueFromCache(SERVICE.telemetry.TELEM_CACHE_KEYS.CONTACT_HISTORY_START_TIME);\n break;\n case widgetElement.WXM_JOURNEY:\n timeSpent = SERVICE.telemetry.getValueFromCache(SERVICE.telemetry.TELEM_CACHE_KEYS.WXM_JOURNEY_START_TIME);\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.CONTACT_HISTORY_VIEWED, {\n [SERVICE.telemetry.TELEM_PROPS.TOTAL_TIME_SPENT]: Number(((new Date().getTime() - Number(timeSpent)) / 1000).toFixed(2))\n });\n SERVICE.telemetry.removeValueFromCache(SERVICE.telemetry.TELEM_CACHE_KEYS.WXM_JOURNEY_START_TIME);\n break;\n }\n};\nexport const isSupervisor = () => {\n var _a;\n return ((_a = STORE.agent.userRole) === null || _a === void 0 ? void 0 : _a.join(\"_\")) === \"supervisor\" || STORE.agent.userSelectedRole === \"supervisor\";\n};\nexport const isOnlySupervisor = () => {\n var _a;\n if (((_a = STORE.agent.userRole) === null || _a === void 0 ? void 0 : _a.join(\"_\")) === \"supervisor\") {\n return !STORE.agent.isMonitoringEnabled;\n }\n return false;\n};\nexport const updateLSLayout = (data, key) => {\n const previousLayouts = localStorage.getItem(key);\n const agentId = STORE.agent.meUserId.toString();\n if (!previousLayouts) {\n const newLayout = {};\n newLayout[agentId] = {\n layout: JSON.stringify(data),\n userSelectedRole: STORE.agent.getUserRole\n };\n localStorage.setItem(key, JSON.stringify(newLayout));\n }\n else {\n const newLayouts = JSON.parse(previousLayouts);\n newLayouts[agentId] = {\n layout: JSON.stringify(data),\n userSelectedRole: STORE.agent.getUserRole\n };\n localStorage.setItem(key, JSON.stringify(newLayouts));\n }\n};\nexport const getLayoutFromLS = (key) => {\n const configStr = localStorage.getItem(key);\n const layouts = configStr ? JSON.parse(configStr) : undefined;\n const agentId = STORE.agent.meUserId.toString();\n if (layouts && layouts[agentId]) {\n layouts[agentId].layout = JSON.parse(layouts[agentId].layout);\n return layouts[agentId];\n }\n return undefined;\n};\nexport const stripSpecialChar = (str) => {\n /*eslint no-useless-escape: \"off\"*/\n return str.replace(/[^\\+?\\d]/gi, \"\");\n};\nexport function multipleExist(arr, values) {\n if (arr.length === 0 || values.length === 0) {\n return false;\n }\n return arr.some((val) => values.includes(val));\n}\nexport const getManagedOrgDetails = (managedOrgs, orgId) => {\n return managedOrgs.find((org) => org.orgId === orgId) || null;\n};\nexport const getUserSystemRole = (orgDetails) => {\n if (multipleExist([USER_ROLES.FULL_ADMIN, USER_ROLES.PARTNER_ADMIN, USER_ROLES.PROVISION_ADMIN], [orgDetails.role])) {\n return SYSTEM_ROLES.EXTERNAL_FULL_ADMIN;\n }\n else if (multipleExist([USER_ROLES.READ_ONLY_ADMIN], [orgDetails.role])) {\n return SYSTEM_ROLES.EXTERNAL_READONLY_ADMIN;\n }\n else {\n return null;\n }\n};\n// return's true for ep-dn second agent as can't relay on onwer field.\nconst isSecondaryAgent = (interaction) => {\n return (interaction.callProcessingDetails.relationshipType === \"consult\" &&\n interaction.callProcessingDetails.parentInteractionId &&\n interaction.callProcessingDetails.parentInteractionId !== interaction.interactionId);\n};\nexport const isSecondaryEpDnAgent = (interaction) => {\n return (STORE.app.featureFlags.isDesktopConsultToEntryPointDnEnabled &&\n interaction.mediaType === MediaType.Telephony &&\n isSecondaryAgent(interaction));\n};\nexport const dispatchUpdatedAgentProfileEvent = (comp) => {\n comp.dispatchEvent(new CustomEvent(\"store-profile-update\", { bubbles: true, composed: true }));\n};\n/**\n * Debounce method to avoid repetitive calls\n */\nexport const debounce = (fn, _timeout = 1000) => {\n let timer;\n return function (...args) {\n const func = () => fn.call({}, args[0]);\n clearTimeout(timer);\n timer = window.setTimeout(func, _timeout);\n };\n};\nexport const showErrorModal = (header, message, trackingId) => {\n STORE.session.errorModal.setErrorDetails({\n detail: {\n modalType: \"dialog\",\n header,\n message,\n trackingId\n }\n });\n};\nexport function contactCallbackRetryModal(reasonCode, trackingId) {\n let header = t(\"app:errorModal.header\");\n let message = \"\";\n switch (reasonCode) {\n case CALLBACK_RETRY_REASON_CODES.NO_MATCHING_AGENT_CHANNEL_FOUND:\n message = t(\"app:callbackRetry.noMatchingAgentChannelFound\");\n break;\n case CALLBACK_RETRY_REASON_CODES.CUSTOMER_BUSY:\n message = t(\"app:callbackRetry.customerBusy\");\n break;\n case CALLBACK_RETRY_REASON_CODES.CUSTOMER_UNAVAILABLE:\n message = t(\"app:callbackRetry.customerUnavailable\");\n break;\n case CALLBACK_RETRY_REASON_CODES.AGENT_ENDS:\n message = t(\"app:callbackRetry.agentEnds\");\n break;\n case CALLBACK_RETRY_REASON_CODES.NO_ANSWER_FROM_CUSTOMER:\n message = t(\"app:callbackRetry.noAnswerFromCustomer\");\n break;\n case CALLBACK_RETRY_REASON_CODES.INVALID_VTEAM:\n message = t(\"app:callbackRetry.invalidVTeam\");\n break;\n case CALLBACK_RETRY_REASON_CODES.AGENT_CHANNEL_NOT_FOUND:\n message = t(\"app:callbackRetry.agentChannelNotFound\");\n break;\n case CALLBACK_RETRY_REASON_CODES.REASON_CODE_NOT_AVAILABLE:\n message = t(\"app:callbackRetry.reasonCodeNotAvailable\");\n break;\n case CALLBACK_RETRY_REASON_CODES.AGENT_LEFT:\n message = t(\"app:callbackRetry.agentLeft\");\n break;\n case CALLBACK_RETRY_REASON_CODES.CUSTOMER_LEFT:\n message = t(\"app:callbackRetry.customerLeft\");\n break;\n case CALLBACK_RETRY_REASON_CODES.QUEUE_TIMEOUT:\n message = t(\"app:callbackRetry.queueTimeout\");\n break;\n case CALLBACK_RETRY_REASON_CODES.AMD_DETECTED_IN_CALLBACK:\n message = t(\"app:callbackRetry.amdDetectedInCallback\");\n trackingId = \"\";\n header = t(\"app:callbackRetry.amdDetectedInCallbackHeader\");\n break;\n default:\n message = t(\"app:callbackRetry:unknownError\");\n break;\n }\n return { header, message, trackingId };\n}\nexport const handleWebexModal = () => {\n if (STORE.app.webexEnabled) {\n STORE.app.updateWebexShowModal(true);\n localStorage.setItem(WEBEX_SHOW_MODAL, \"true\");\n }\n};\nconst handleWebexMinimizeRestore = () => {\n handleWebexModal();\n localStorage.setItem(WEBEX_MINIMIZE_MODAL, STORE.app.webexMinimized.toString());\n STORE.app.updateWebexMinimized(!STORE.app.webexMinimized);\n};\nexport const handleShortcutKeyEvent = () => {\n var _a, _b;\n const listenKeyPress = (_b = (_a = SERVICE === null || SERVICE === void 0 ? void 0 : SERVICE.shortcut) === null || _a === void 0 ? void 0 : _a.event) === null || _b === void 0 ? void 0 : _b.listenKeyPress;\n if (!listenKeyPress) {\n return () => logger.info(\"No event listener to stop.\");\n }\n const { stopListen } = listenKeyPress((event) => {\n var _a, _b;\n const { data } = event;\n if (!data) {\n return;\n }\n const { key, modifierKeys } = data;\n if (key === SERVICE.shortcut.REGISTERED_KEYS.EXPAND_COLLAPSE_WEBEX &&\n modifierKeys === SERVICE.shortcut.MODIFIERS.CTRL_SHIFT &&\n !STORE.app.webexShowModal) {\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.WEBEX_APP_OPENED_BY_SHORTCUT_KEY);\n handleWebexModal();\n }\n else if (key === SERVICE.shortcut.REGISTERED_KEYS.MINIMIZE_RESTORE_WEBEX &&\n modifierKeys === SERVICE.shortcut.MODIFIERS.CTRL_SHIFT) {\n handleWebexMinimizeRestore();\n if (SERVICE.webex) {\n SERVICE.webex.getUserStatusForWebex((_b = (_a = SERVICE.conf) === null || _a === void 0 ? void 0 : _a.profile) === null || _b === void 0 ? void 0 : _b.agentId);\n }\n }\n });\n if (stopListen) {\n return stopListen;\n }\n else {\n return () => logger.info(\"No event listener to stop.\");\n }\n};\nexport const toggleVoiceInteractionPanel = () => {\n STORE.app.updateCollapseVoiceIntPane(!STORE.app.collapseVoiceIntPane);\n};\n// dispatch auto answer event.\nexport const handleAutoAnswer = (data) => {\n const isAutoAnswerEnabled = data.interaction.participants[data.agentId].autoAnswerEnabled;\n /* all agent initiated webRtc outdial calls will be auto answered. */\n const isOutdial = data.interaction.contactDirection.type === OUTBOUND &&\n data.interaction.outboundType === OUTBOUND_TYPE.OUTDIAL &&\n data.interaction.callProcessingDetails.outdialAgentId === data.agentId;\n const isAgentInitiated = STORE.agent.agentId === data.interaction.owner &&\n !data.interaction.callProcessingDetails.BLIND_TRANSFER_IN_PROGRESS;\n /* need to handle outdial call transfer/consult scenario where second agent should not be allowed default Auto answer*/\n if (isWebCall(data.interaction) && (isAutoAnswerEnabled || (isOutdial && isAgentInitiated))) {\n logger.info(\"[WebRtc]: Dispatching auto answer for interactionId \", data.interactionId);\n window.dispatchEvent(new CustomEvent(WEB_CALLING_EVENTS.AX_WEB_CALL_AUTO_ANSWER, { bubbles: true, composed: true }));\n }\n else if (isDigitalOutbound(data.interaction) && STORE.agent.agentId === data.interaction.owner) {\n logger.info(\"[Digital]: Dispatching auto answer for interactionId \", data.interactionId);\n window.dispatchEvent(new CustomEvent(DIGITAL_OUTBOUND_EVENTS.AX_DIGITAL_OUTBOUND_AUTO_ANSWER, { bubbles: true, composed: true }));\n }\n};\nexport const getFCValue = (data) => {\n var _a;\n return STORE.app.featureFlags.isDesktopCpdViewEnabled\n ? data.interaction.callProcessingDetails[fcDesktopView]\n : data.interaction.callAssociatedData\n ? (_a = data.interaction.callAssociatedData[FC_DESKTOP_VIEW]) === null || _a === void 0 ? void 0 : _a.value\n : undefined;\n};\nexport const getAgentCallMonitoringStateOnBargeIn = (agentCallMonitoringStateDetails) => {\n var _a, _b, _c, _d;\n const bargedSupervisorId = agentCallMonitoringStateDetails.supervisorId;\n return {\n monitoringType: agentCallMonitoringStateDetails.monitoringState\n ? (_a = agentCallMonitoringStateDetails.monitoringState) === null || _a === void 0 ? void 0 : _a.type\n : agentCallMonitoringStateDetails.monitoringType,\n supervisorId: bargedSupervisorId,\n supervisorName: agentCallMonitoringStateDetails.supervisorName,\n interactionId: agentCallMonitoringStateDetails.interactionId,\n agentId: agentCallMonitoringStateDetails.agentId,\n eventTime: (_d = (_c = (_b = agentCallMonitoringStateDetails.interaction) === null || _b === void 0 ? void 0 : _b.participants[bargedSupervisorId]) === null || _c === void 0 ? void 0 : _c.monitoringDetails) === null || _d === void 0 ? void 0 : _d.startTimestamp\n };\n};\nexport const getBargedInSupId = (participants) => {\n return Object.keys(participants).find((participant) => {\n var _a, _b;\n return ((_a = participants[participant].pType) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === SUPERVISOR &&\n ((_b = participants[participant].monitoringDetails) === null || _b === void 0 ? void 0 : _b.type) === BARGE_IN_MONITORING_STATE;\n });\n};\nexport const computeAgentCallMonitoringStateDetails = (interactionDetails) => {\n var _a, _b;\n const participants = interactionDetails.participants;\n if (participants) {\n const bargedSupervisorId = getBargedInSupId(participants);\n return bargedSupervisorId\n ? {\n supervisorName: participants[bargedSupervisorId].name,\n supervisorId: participants[bargedSupervisorId].id,\n monitoringType: (_a = participants[bargedSupervisorId].monitoringDetails) === null || _a === void 0 ? void 0 : _a.type,\n agentId: interactionDetails.owner,\n interactionId: interactionDetails.interactionId,\n eventTime: (_b = participants[bargedSupervisorId].monitoringDetails) === null || _b === void 0 ? void 0 : _b.startTimestamp\n }\n : undefined;\n }\n return undefined;\n};\nexport const dispatchCustomEvent = (comp, eventName, value) => {\n comp.dispatchEvent(new CustomEvent(eventName, { bubbles: true, composed: true, detail: value }));\n};\nconst formatTimeDifference = (timeDifference) => {\n const secondsDifference = Math.floor(timeDifference / 1000);\n const hours = Math.floor(secondsDifference / 3600);\n const remainingSecsAfterHours = secondsDifference % 3600;\n const minutes = Math.floor(remainingSecsAfterHours / 60);\n const seconds = remainingSecsAfterHours % 60;\n return `${String(hours).padStart(2, \"0\")}:${String(minutes).padStart(2, \"0\")}:${String(seconds).padStart(2, \"0\")}`;\n};\nexport const logNtpTime = () => {\n SERVICE.abs\n .fetchNtpTime({})\n .then((res) => {\n logger.info(`[NTP] NTP time is ${res}`);\n const ntpTime = new Date(res);\n const systemTime = new Date();\n const timeDifference = Math.abs(systemTime.getTime() - ntpTime.getTime());\n const threshold = 1000;\n if (timeDifference <= threshold) {\n logger.info(\"System time is in sync with the NTP server.\");\n }\n else {\n // convert timeDifference to hh:mm:ss format\n logger.warn(`System time is not in sync with the NTP server. Time difference is ${formatTimeDifference(timeDifference)}. Server time is ${ntpTime}.`);\n }\n })\n .catch((err) => {\n logger.info(`[NTP] Error while fetching NTP time ${err}`);\n });\n};\nexport function getRoleNameForTelemetry(roleName) {\n return roleName === SYSTEM_ROLES.AGENT_AND_SUPERVISOR ? formRoleNameForTelemetry(roleName) : roleName;\n}\nexport function handleTelemetryOnPresenceChange() {\n var _a, _b, _c, _d;\n let CollaborationTool = \"\";\n if (((_a = STORE.app.microsoftOrgConfig) === null || _a === void 0 ? void 0 : _a.active) && STORE.app.microsoftOrgConfig.stateSynchronization) {\n CollaborationTool = COLLAB_TOOL.TEAMS;\n }\n else if ((_b = STORE.app.webexOrgConfig) === null || _b === void 0 ? void 0 : _b.stateSynchronization) {\n CollaborationTool = COLLAB_TOOL.WEBEX;\n }\n (_c = SERVICE.telemetry) === null || _c === void 0 ? void 0 : _c.track(SERVICE.telemetry.TELEM_EVENT.STATE_CHANGE_ON_PRESENCE_SYNC, {\n UserRole: getRoleNameForTelemetry(STORE.agent.userSelectedRole || ((_d = STORE.agent.userRole) === null || _d === void 0 ? void 0 : _d.join(\"_\")[0])),\n CollaborationTool\n });\n}\nexport function updateOutdialAniList(e) {\n var _a;\n if ((_a = e.detail) === null || _a === void 0 ? void 0 : _a.data) {\n STORE.agent.updateoutdialAniList(e.detail.data);\n }\n}\nexport const getQuerySelectorTillRouterView = () => {\n const agentxApp = document.querySelector(\"agentx-app\");\n if (agentxApp && agentxApp.shadowRoot) {\n const mdTheme = agentxApp.shadowRoot.querySelector(\"md-theme\");\n if (mdTheme) {\n const routerView = mdTheme.querySelector(\"router-view\");\n if (routerView && routerView.shadowRoot) {\n return routerView.shadowRoot;\n }\n }\n }\n return null;\n};\nexport function agentHasSupervisorCapability() {\n return STORE.agent.getUserRole === \"supervisor\" || STORE.agent.getUserRole === \"supervisorAgent\";\n}\nexport function isInteractionsPageEnabled() {\n return agentHasSupervisorCapability() && STORE.app.featureFlags.isInteractionsPageEnabled;\n}\nexport function isQueueStatsTabEnabled() {\n return agentHasSupervisorCapability() && STORE.app.featureFlags.isQueueStatsTabEnabled;\n}\n/**\n * Toggles the display of a specified element based on the `isMaximized` parameter.\n *\n * @param {boolean} isMaximized - If true, the element's display style is set to \"block\", otherwise it's set to \"none\".\n * @param {string} selector - The CSS selector of the element to toggle.\n * @param {boolean} [isAdditonalShadowRoot=false] - If true, the function will look for the element inside the shadow root of a \"uuip-dynamic-widget\" inside \"#panel-two\".\n * @param {boolean} [isMdTab=false] - If true and `isAdditonalShadowRoot`\n * is also true, the function will look for the element inside the shadow root of \"md-tabs\" inside the shadow root of a \"uuip-dynamic-widget\" inside \"#panel-two\".\n * @returns {boolean} - Returns true if the element was found and its display was toggled, otherwise returns false.\n */\nexport const toggleDisplayOnMaximize = (isMaximized, selector, isAdditonalShadowRoot = false, isMdTab = false) => {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n const routerView = getQuerySelectorTillRouterView();\n if (routerView) {\n let element;\n if (isAdditonalShadowRoot) {\n if (isMdTab) {\n element = (_e = (_d = (_c = (_b = (_a = routerView\n .querySelector(\"#panel-two\")) === null || _a === void 0 ? void 0 : _a.querySelector(\"uuip-dynamic-widget\")) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector(\"md-tabs\")) === null || _d === void 0 ? void 0 : _d.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector(`#${selector}`);\n }\n else {\n element = (_h = (_g = (_f = routerView\n .querySelector(\"#panel-two\")) === null || _f === void 0 ? void 0 : _f.querySelector(\"uuip-dynamic-widget\")) === null || _g === void 0 ? void 0 : _g.shadowRoot) === null || _h === void 0 ? void 0 : _h.querySelector(`#${selector}`);\n }\n }\n else {\n element = routerView.querySelector(`#${selector}`);\n }\n if (element) {\n if (!isMaximized) {\n element.style.display = \"none\";\n }\n else {\n element.style.display = \"block\";\n }\n return true;\n }\n }\n return false;\n};\nexport const isEmailOrChat = (store) => {\n return (store === null || store === void 0 ? void 0 : store.mediaType) === MediaType.Email || (store === null || store === void 0 ? void 0 : store.mediaType) === MediaType.Chat;\n};\nexport const fetchTeamDataById = (orgId, page, agentDbId, searchTerm = \"\", teamId = \"\") => __awaiter(void 0, void 0, void 0, function* () {\n try {\n const params = {\n orgId,\n page,\n search: searchTerm,\n pageSize: 50,\n customFilter: teamId !== \"\" ? `userId==\"${agentDbId}\";id==\"${teamId}\"` : `userId==\"${agentDbId}\"`\n };\n return yield SERVICE.abs.fetchPaginatedTeamsList(params);\n }\n catch (error) {\n logger.error(\"event=fetchTeams | Error on fetching Teams List in Station Login Module\", error);\n throw error;\n }\n});\n","import { t } from \"@/mixins/i18nMixin\";\nimport { createLogger } from \"@/sdk\";\nimport { STORE } from \"@/store\";\nimport { isComputedProp, isObservableProp, reaction } from \"mobx\";\nconst logger = createLogger(\"[UtilsDynamic]\");\nclass UtilsDynamic {\n constructor() {\n this.storeDataProvider = (k, upd) => {\n const s = k.split(\".\");\n const isStore = s[0] === \"$STORE\" && s.length > 1;\n const isI18N = s[0] === \"$I18N\" && s.length > 1;\n if (isI18N) {\n s.shift();\n const key = s.join(\".\");\n return { value: t(key) };\n }\n if (isStore) {\n const pName = s[s.length - 1];\n let pObj = STORE;\n for (let i = 1; i < s.length - 1; i++) {\n if (s[i] in pObj) {\n pObj = pObj[s[i]];\n }\n else {\n pObj = undefined;\n break;\n }\n }\n if (pObj && pName in pObj && pObj[pName] !== undefined) {\n let dispose;\n if (isObservableProp(pObj, pName)) {\n dispose = reaction(() => pObj[pName], (x) => upd(x));\n }\n else {\n // TODO - it will work with computed property\n // but Rost should check all MobX cases, combinations and nesting\n let pObj2 = STORE;\n for (let i = 1; i < s.length - 1; i++) {\n if (s[i] in pObj2) {\n pObj2 = pObj2[s[i]];\n if (isComputedProp(pObj2, s[i + 1])) {\n const propName = s[i + 2];\n dispose = reaction(() => pObj2[s[i + 1]], (x) => (x && x[propName] ? upd(x[propName]) : null));\n break;\n }\n }\n else {\n break;\n }\n }\n }\n return { value: pObj[pName], dispose };\n }\n else {\n logger.info(`dataProvider: Can't find ${k}`);\n }\n }\n return { value: k };\n };\n }\n}\nexport const UTILS_DYNAMIC = new UtilsDynamic();\n","import { logger } from \"./Utils\";\nconst NOT_RESPONSIVE = \"NOT_RESPONSIVE\";\nconst TAB_PANEL = \"md-tab-panel\";\nconst EMPTY_STATE_COMP = \"empty-responsive-widget\";\nconst EMPTY_LAYOUT = {\n id: \"dw-empty-navigation\",\n widgets: {\n emptyComp: {\n comp: \"empty-responsive-widget\"\n }\n },\n layout: {\n areas: [[\"emptyComp\"]],\n size: {\n cols: [1],\n rows: [1]\n }\n }\n};\nconst DEFAULT_PANEL_COMP = {\n comp: \"md-tabs\",\n attributes: { class: \"widget-tabs\" }\n};\nexport const isPanelEmpty = (configObj) => {\n return configObj.comp === EMPTY_STATE_COMP;\n};\nexport const getDefaultPanelComp = () => {\n return DEFAULT_PANEL_COMP;\n};\nconst getEmptyLayoutComp = () => {\n return EMPTY_LAYOUT.widgets.emptyComp;\n};\nconst makeWidgetsLayoutAreaInSingleColumn = (componentArea) => {\n const respLayoutArea = [], respRows = [];\n for (const widget of Object.keys(componentArea.widgets)) {\n respLayoutArea.push([widget]);\n respRows.push(1);\n }\n if (respLayoutArea.length > 0) {\n if (componentArea.layout.areas) {\n componentArea.layout.areas = respLayoutArea;\n componentArea.layout.size.rows = respRows;\n componentArea.layout.size.cols.length = 1;\n }\n else if (componentArea.layout.ROOT) {\n componentArea.layout = {};\n componentArea.layout.areas = respLayoutArea;\n componentArea.layout.size = { rows: respRows, cols: [1] };\n }\n }\n return componentArea;\n};\nconst checkForResponsiveness = (component) => {\n return !((component.visibility !== undefined && component.visibility === NOT_RESPONSIVE) ||\n (component.responsive !== undefined && component.responsive === false));\n};\nconst filterResponsiveChildrenComponents = (componentList) => {\n return componentList === null || componentList === void 0 ? void 0 : componentList.filter((component) => {\n return checkForResponsiveness(component);\n });\n};\nconst filterResponsiveWidgetComponents = (widgetsObj) => {\n for (const widget in widgetsObj.widgets) {\n if (checkForResponsiveness(widgetsObj.widgets[widget]) === false) {\n delete widgetsObj.widgets[widget];\n }\n }\n};\nconst getEmptyComponentInTabPanel = (component) => {\n var _a;\n if (((_a = component.children) === null || _a === void 0 ? void 0 : _a.length) === 0 && component.comp === TAB_PANEL) {\n component.children.push(getEmptyLayoutComp());\n }\n};\nconst addComponentToUnresponsiveList = (component, unresponsiveList) => {\n var _a, _b, _c, _d, _e;\n if (((_a = component.children) === null || _a === void 0 ? void 0 : _a.length) === 0 ||\n (((_c = (_b = component.properties) === null || _b === void 0 ? void 0 : _b.area) === null || _c === void 0 ? void 0 : _c.widgets) && Object.keys((_e = (_d = component.properties) === null || _d === void 0 ? void 0 : _d.area) === null || _e === void 0 ? void 0 : _e.widgets).length === 0)) {\n unresponsiveList.push(component);\n }\n};\nconst removeUnresponsiveChildrenComponent = (widgetChildren) => {\n var _a;\n let responsiveWidgetChildren = filterResponsiveChildrenComponents(widgetChildren);\n if ((responsiveWidgetChildren === null || responsiveWidgetChildren === void 0 ? void 0 : responsiveWidgetChildren.length) > 0) {\n const unresponsiveComponentList = [];\n for (const component of responsiveWidgetChildren) {\n if (component.children && component.children.length > 0) {\n component.children = removeUnresponsiveChildrenComponent(component.children);\n getEmptyComponentInTabPanel(component);\n addComponentToUnresponsiveList(component, unresponsiveComponentList);\n }\n if ((_a = component === null || component === void 0 ? void 0 : component.properties) === null || _a === void 0 ? void 0 : _a.area) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n removeUnresponsiveWidgetComponent(component.properties.area);\n addComponentToUnresponsiveList(component, unresponsiveComponentList);\n }\n }\n responsiveWidgetChildren = responsiveWidgetChildren.filter((component) => {\n return unresponsiveComponentList.indexOf(component) === -1;\n });\n return responsiveWidgetChildren;\n }\n else {\n return responsiveWidgetChildren;\n }\n};\nconst removeUnresponsiveWidgetComponent = (navPageObj) => {\n var _a, _b, _c, _d, _e, _f, _g;\n filterResponsiveWidgetComponents(navPageObj);\n if (navPageObj.widgets) {\n for (const widget in navPageObj.widgets) {\n const widgetChildren = (_a = navPageObj.widgets[widget]) === null || _a === void 0 ? void 0 : _a.children;\n if (widgetChildren && widgetChildren.length > 0) {\n navPageObj.widgets[widget].children = removeUnresponsiveChildrenComponent(navPageObj.widgets[widget].children);\n if (!navPageObj.widgets[widget].children.length) {\n delete navPageObj.widgets[widget];\n }\n }\n const componentAreaWidget = (_d = (_c = (_b = navPageObj.widgets[widget]) === null || _b === void 0 ? void 0 : _b.properties) === null || _c === void 0 ? void 0 : _c.area) === null || _d === void 0 ? void 0 : _d.widgets;\n if (componentAreaWidget) {\n removeUnresponsiveWidgetComponent(navPageObj.widgets[widget].properties.area);\n if (Object.keys((_g = (_f = (_e = navPageObj.widgets[widget]) === null || _e === void 0 ? void 0 : _e.properties) === null || _f === void 0 ? void 0 : _f.area) === null || _g === void 0 ? void 0 : _g.widgets).length === 0) {\n delete navPageObj.widgets[widget];\n }\n }\n }\n }\n return makeWidgetsLayoutAreaInSingleColumn(navPageObj);\n};\nexport const updatePanelResponsiveLayout = (configObj) => {\n var _a;\n const responsivePanelObj = JSON.parse(JSON.stringify(configObj));\n responsivePanelObj.children = removeUnresponsiveChildrenComponent(responsivePanelObj.children);\n if (((_a = responsivePanelObj.children) === null || _a === void 0 ? void 0 : _a.length) === 0) {\n return getEmptyLayoutComp();\n }\n return responsivePanelObj;\n};\nexport const updatePersistentResponsiveLayout = (configObjList) => {\n const responsivePersistentObjList = JSON.parse(JSON.stringify(configObjList));\n return removeUnresponsiveChildrenComponent(responsivePersistentObjList);\n};\nexport const updateNavigationResponsiveLayout = (configObj) => {\n const responsiveNavObj = JSON.parse(JSON.stringify(configObj));\n for (const navItem in responsiveNavObj) {\n if (responsiveNavObj[navItem].nav.isResponsive === false) {\n responsiveNavObj[navItem].page = EMPTY_LAYOUT;\n continue;\n }\n try {\n removeUnresponsiveWidgetComponent(responsiveNavObj[navItem].page);\n }\n catch (_a) {\n logger.info(\"Update nav for responsive layout failed for nav index : \", navItem, \"nav page : \", responsiveNavObj[navItem].page);\n }\n if (Object.keys(responsiveNavObj[navItem].page.widgets).length === 0) {\n responsiveNavObj[navItem].page = EMPTY_LAYOUT;\n }\n }\n return responsiveNavObj;\n};\nexport const updateHomepageResponsiveLayout = (homapageObj) => {\n const responsiveNavObj = JSON.parse(JSON.stringify(homapageObj));\n if (responsiveNavObj.nav.isResponsive === false) {\n responsiveNavObj.page = EMPTY_LAYOUT;\n }\n else {\n try {\n removeUnresponsiveWidgetComponent(responsiveNavObj.page);\n }\n catch (_a) {\n logger.info(\"Update nav for responsive layout failed for homepage : \", responsiveNavObj.nav, \"nav page : \", responsiveNavObj.page);\n }\n if (Object.keys(responsiveNavObj.page.widgets).length === 0) {\n responsiveNavObj.page = EMPTY_LAYOUT;\n }\n }\n return responsiveNavObj;\n};\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { STORE } from \"@/store\";\nimport { SERVICE } from \"@agentx/agentx-services\";\nimport { MicrophoneAccessStatus } from \"../components/constants\";\nimport { logger } from \"./Utils\";\nexport const handlePermissionUpdate = () => __awaiter(void 0, void 0, void 0, function* () {\n navigator.permissions\n .query({ name: \"microphone\" })\n .then((permissionStatus) => {\n logger.info(`[WebRtc] microphone permission state is ${permissionStatus.state}`);\n STORE.agent.updateMediaPermission(permissionStatus.state);\n // listen microphone permission change\n permissionStatus.onchange = () => {\n logger.info(`[WebRtc] microphone updated permission state is ${permissionStatus.state}`);\n STORE.agent.updateMediaPermission(permissionStatus.state);\n };\n })\n .catch((err) => {\n logger.error(\"[WebRtc] microphone permission denied\", err);\n STORE.agent.updateMediaPermission(MicrophoneAccessStatus.denied);\n });\n});\nexport const checkNeedsWebexRegister = () => __awaiter(void 0, void 0, void 0, function* () {\n var _a, _b;\n if (!((_a = SERVICE.webex) === null || _a === void 0 ? void 0 : _a.webexInitializedStatus())) {\n yield ((_b = SERVICE.webex) === null || _b === void 0 ? void 0 : _b.registerWebex(STORE.app.isEnvironmentProd));\n }\n});\nexport const registerWebCalling = (domainUrl) => __awaiter(void 0, void 0, void 0, function* () {\n try {\n // Firefox does not support navigator.permissions.query for microphone\n // encouraged to use navigator.mediaDevices.getUserMedia instead\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1609427#:~:text=There%27s%20no%20way%20for%20us,impossible%20to%20implement%20on%20Firefox.\n // https://github.com/mozilla/standards-positions/issues/19#issuecomment-370158947\n if (!navigator.userAgent.includes(\"Firefox\")) {\n handlePermissionUpdate();\n }\n const mediaStream = yield navigator.mediaDevices.getUserMedia({ audio: true });\n if (mediaStream) {\n logger.info(\"[WebRtc] : Microphone access granted!\");\n STORE.agent.updateMediaPermission(MicrophoneAccessStatus.granted);\n SERVICE.webCalling.registerWebCalling(domainUrl);\n mediaStream.getTracks().forEach((track) => track.stop());\n }\n else {\n STORE.agent.updateMediaPermission(MicrophoneAccessStatus.denied);\n }\n }\n catch (error) {\n logger.error(\"[WebRtc] : Microphone access denied!\", error);\n STORE.agent.updateMediaPermission(MicrophoneAccessStatus.denied);\n }\n});\n","import { SERVICE } from \"@agentx/agentx-services\";\nimport { STORE } from \"@/store\";\nimport { logger } from \"./Utils\";\nimport { Notifications } from \"@uuip/unified-ui-platform-sdk\";\nimport { t } from \"@/mixins/i18nMixin\";\nimport webexImg from \"@img/teams-icon-color.svg\";\nimport { ToasterNotificationItemContent } from \"@uuip/unified-ui-platform-common-components\";\nimport { html } from \"lit-html\";\nconst webexNotificationType = \"webex_message\";\nconst clickHandler = () => {\n STORE.app.updateWebexShowModal(true);\n STORE.app.updateWebexMinimized(false);\n localStorage.setItem(\"webex-show-modal\", \"true\");\n localStorage.setItem(\"webex-minimize-modal\", \"false\");\n};\n// allow notification's for Webex\nconst allowNotification = () => {\n return (STORE.app.webexEnabled &&\n !STORE.app.webexDndEnabled &&\n (!STORE.app.webexShowModal || (STORE.app.webexShowModal && STORE.app.webexMinimized)));\n};\nexport const subscribeToWebexEvents = () => {\n // Subscribe to all the webex events here from SERVICE and show notifications\n SERVICE.webex.onNewMessage.listen((message) => {\n if (message.sentBy !== STORE.agent.agentEmailId && allowNotification()) {\n logger.info(\"event=webexNewMessageReceived | New Message : \", message);\n const notificationData = {\n type: Notifications.ItemMeta.Type.Chat,\n mode: Notifications.ItemMeta.Mode.AutoDismiss,\n title: t(\"app:notifications.newChatMessageTitle\") + message.displayName,\n data: new ToasterNotificationItemContent.DataController({\n type: webexNotificationType,\n text: message.hasAttachments\n ? t(\"app:notifications.newChatAttachmentData\")\n : message.text\n ? message.text\n : \"\",\n iconDetail: {\n iconUrl: webexImg\n },\n clickHandler,\n taskId: message.id\n })\n };\n STORE.generalNotifications.fireNotificationEvent(notificationData);\n setTimeout(() => {\n STORE.generalNotifications.deactivateReadMessagesFromNotifications(message.id);\n }, 9000);\n }\n });\n SERVICE.webex.onWebexChatActionDone.listen((data) => {\n const bgColor = \"var(--alert-default-bg-color)\";\n if (data.status) {\n const notificationData = {\n type: Notifications.ItemMeta.Type.Chat,\n mode: Notifications.ItemMeta.Mode.AutoDismiss,\n title: t(\"app:notifications.webexChatTPWSuccessTitle\"),\n data: new ToasterNotificationItemContent.DataController({\n text: \"\",\n iconDetail: {\n iconName: \"icon-info_20\",\n iconColor: \"#00A0D1\",\n bgColor\n }\n })\n };\n STORE.generalNotifications.fireNotificationEvent(notificationData);\n }\n else {\n const notificationData = {\n type: Notifications.ItemMeta.Type.Chat,\n mode: Notifications.ItemMeta.Mode.AutoDismiss,\n title: t(\"app:notifications.webexChatTPWErrorTitle\"),\n data: new ToasterNotificationItemContent.DataController({\n text: t(\"app:notifications.webexChatTPWErrorSubTitle\"),\n iconDetail: {\n iconName: \"icon-warning_20\",\n iconColor: \"#A12512\",\n bgColor\n }\n })\n };\n STORE.generalNotifications.fireNotificationEvent(notificationData);\n }\n });\n const webexFloatingNotification = (id, notificationTitle, text) => {\n return {\n type: Notifications.ItemMeta.Type.Chat,\n mode: Notifications.ItemMeta.Mode.AutoDismiss,\n title: notificationTitle,\n data: new ToasterNotificationItemContent.DataController({\n type: webexNotificationType,\n text,\n iconDetail: {\n iconUrl: webexImg\n },\n clickHandler,\n taskId: id\n })\n };\n };\n const getNotificationTitle = (event) => {\n if (event.isScheduledMeeting) {\n return `${event.participantName}`;\n }\n return event.meetingType === SERVICE.constants.WebexConstants.CALL\n ? `${t(\"app:notifications.newWebexIncomingCall\")} ${event.participantName}`\n : `${t(\"app:notifications.newWebexIncomingMeeting\")} ${event.participantName}`;\n };\n const getNotificationText = (event) => {\n if (event.isScheduledMeeting) {\n return event.meetingInMinutes && event.meetingInMinutes > 0\n ? `${t(\"app:common.in\")} ${event.meetingInMinutes} ${t(\"app:common.minutes\")}`\n : `${t(\"app:common.now\")}`;\n }\n return html ` `;\n };\n const handleCallAndMeeting = (event) => {\n var _a;\n const notificationTitle = getNotificationTitle(event);\n const notificationText = getNotificationText(event);\n if (!event.isScheduledMeeting) {\n STORE.app.updateWebexMeetingTimeStamp(event.timeStamp);\n localStorage.setItem(SERVICE.constants.WebexConstants.WEBEX_MEETING_TIME_STAMP, (_a = event.timeStamp) === null || _a === void 0 ? void 0 : _a.toString());\n }\n if (allowNotification() && document.hasFocus()) {\n const notificationData = webexFloatingNotification(event.id, notificationTitle, notificationText);\n STORE.generalNotifications.fireNotificationEvent(notificationData);\n setTimeout(() => {\n STORE.generalNotifications.deactivateReadMessagesFromNotifications(event.id);\n }, 9000);\n }\n if (!document.hasFocus() && !STORE.app.webexDndEnabled) {\n STORE.browserNotifications.firebrowserNotification(notificationTitle);\n }\n };\n // Subsribe to Webex Meeting events\n SERVICE.webex.onNewMeetingEvent.listen((event) => {\n if (STORE.app.webexEnabled) {\n if (event.eventType === SERVICE.constants.WebexConstants.INCOMING ||\n event.eventType === SERVICE.constants.WebexConstants.JOIN) {\n logger.info(\"event=webexMeetingsUpdate | Webex Meeting Added : \", event);\n handleCallAndMeeting(event);\n }\n else if (event.eventType === SERVICE.constants.WebexConstants.CALL_INACTIVE ||\n event.eventType === SERVICE.constants.WebexConstants.MEETING_INACTIVE_TERMINATING) {\n logger.info(\"event=webexMeetingsUpdate | Webex Meeting Removed : \", event);\n STORE.app.updateWebexMeetingTimeStamp(0);\n localStorage.removeItem(SERVICE.constants.WebexConstants.WEBEX_MEETING_TIME_STAMP);\n }\n }\n });\n // Subsribe to Webex Presense events\n SERVICE.webex.onNewPresenceEvent.listen((event) => {\n if (STORE.app.webexEnabled) {\n if (event.status === \"dnd\") {\n STORE.app.updateWebexDnd(true);\n }\n else {\n STORE.app.updateWebexDnd(false);\n }\n }\n });\n SERVICE.webex.onNotificationCountUpdate.listen((count) => {\n if (STORE.app.webexEnabled) {\n logger.info(\"event=webexNotificationCountUpdate | Webex notification count updated : \", count);\n STORE.generalNotifications.setWebexNotificationCount(count);\n }\n });\n};\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { createLogger } from \"@/sdk\";\nimport { SERVICE } from \"@agentx/agentx-services\";\nimport StackTrace from \"stacktrace-js\";\nexport const logger = createLogger(\"[App: Exception Tracker]\");\nexport const exceptionTracker = (accessToken) => {\n window.onerror = function (message, source, lineno, colno, error) {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function* () {\n if (!accessToken) {\n return;\n }\n let originalPosition = {\n source: undefined,\n lineno: undefined,\n colno: undefined\n };\n if (error) {\n const stackFrames = yield StackTrace.fromError(error);\n originalPosition = {\n source: stackFrames[0].fileName,\n lineno: stackFrames[0].lineNumber,\n colno: stackFrames[0].columnNumber\n };\n const stackString = stackFrames.map((frame) => frame.toString()).join(\"\\n\");\n logger.error(stackString);\n StackTrace.getSync();\n }\n SERVICE.telemetry.track(\"Uncaught exception\", {\n Message: message,\n Source: originalPosition.source || source,\n Lineno: originalPosition.lineno || lineno,\n Colno: originalPosition.colno || colno,\n Error: error,\n Threadtype: \"main\"\n }, [(_b = (_a = SERVICE.telemetry) === null || _a === void 0 ? void 0 : _a.SERVICE_PROVIDERS) === null || _b === void 0 ? void 0 : _b.webex_business]);\n });\n };\n};\n","/*eslint @typescript-eslint/no-unused-vars: \"off\"*/\n/*eslint \"no-console\": \"off\"*/\nimport { SERVICE } from \"@agentx/agentx-services\";\n// Make available global variables for third-party\nconst exposeAppGlobalVariables = () => {\n /**\n * WARNING! Providing temporary as global for Desktop(wxcc-desktop/sdk) widgets support\n * global READONLY\n */\n Object.defineProperty(global, \"AGENTX_SERVICE\", {\n writable: false,\n value: new Proxy(SERVICE, {\n // Preventing any property override via proxy\n set(_SERVICE, prop, val) {\n console.error(\"You are not allowed to override AGENTX_SERVICE global object properties\");\n return false;\n },\n // Preventing any property delete via proxy\n deleteProperty(_SERVICE, prop) {\n console.error(\"You are not allowed to delete AGENTX_SERVICE global object properties\");\n return false;\n }\n })\n });\n};\nexposeAppGlobalVariables();\n","import \"@/global\";\nimport \"@/sw/sw-controller\";\nimport { configure } from \"mobx\";\nimport \"./app/App\";\n// Configure Mobx\nconfigure({ enforceActions: \"always\" });\n// Exports\n// External Shared Actions Types\nexport * from \"./store/shared-actions/export-types\";\n","/**\n * Copyright (c) Cisco Systems, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\nconst appliedMixins = new WeakMap();\nexport const wasApplied = (mixin, superClass) => {\n const entries = appliedMixins.get(mixin);\n let proto = superClass;\n const chain = [];\n while (proto) {\n chain.push(proto);\n proto = Object.getPrototypeOf(proto);\n }\n return entries ? chain.reduce((res, protoClass) => res || entries.has(protoClass), false) : false;\n};\nexport const DedupeMixin = (mixin, superClass) => {\n let entries = appliedMixins.get(mixin);\n if (!entries) {\n entries = new WeakSet();\n appliedMixins.set(mixin, entries);\n }\n entries.add(superClass);\n};\n","/**\n * Copyright (c) Cisco Systems, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n/** This mixin provides a performant mechanism by which component can monitor changes to its size.\n * For performance purpose, resizeObserver instance is static mixin property, and its shared across\n * all components that applied ResizeMixin. (The `observe` method, which adds element as a new target to the list of observed elements,\n * can pass either one element or multiple, so this mixin can manage mutliple elements that need's to be observed).\n * When observed element's size changed, mixin dispatch `resize` event to handle it outside component tree.\n *\n * Example:\n * @customElements(\"custom-element\")\n * class CustomElement extends ResizeMixin(LitElement) {\n * protected handleResize(contentRect: DOMRect) { <---- You override this with corresponding name in component directly.\n // super.handleResize && super.handleResize(event); <---- Check to see whether the superclass defines a method of the same name, and if so, invoke that method.\n // Do your listener work here.\n }\n * }\n */\nimport { LitElement } from \"lit-element\";\nimport { DedupeMixin, wasApplied } from \"./DedupeMixin\";\nexport class ResizeClass extends LitElement {\n}\nexport const ResizeMixin = (base) => {\n if (wasApplied(ResizeMixin, base)) {\n return base;\n }\n class Resize extends base {\n _initResizeObserver() {\n const observer = Resize._resizeObserver;\n if (observer == null) {\n Resize._resizeObserver = new ResizeObserver((entries) => {\n Resize._animationFrameID = requestAnimationFrame(() => {\n if (Array.isArray(entries) && entries.length) {\n // eslint-disable-next-line sonarjs/no-nested-functions\n entries.forEach((entry) => {\n const { target, contentRect } = entry;\n target.handleResize(contentRect);\n });\n }\n });\n });\n }\n }\n handleResize(contentRect) {\n if (super.handleResize) {\n super.handleResize(contentRect);\n }\n this.dispatchEvent(new CustomEvent(\"resize\", {\n detail: {\n contentRect\n },\n bubbles: true,\n composed: true\n }));\n }\n unobserveAll() {\n if (super.unobserveAll) {\n super.unobserveAll();\n }\n const observer = Resize._resizeObserver;\n if (observer) {\n observer.disconnect();\n }\n }\n connectedCallback() {\n super.connectedCallback();\n this._initResizeObserver();\n const observer = Resize._resizeObserver;\n if (observer && this.isConnected) {\n observer.observe(this);\n }\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n const observer = Resize._resizeObserver;\n const timerId = Resize._animationFrameID;\n if (observer) {\n observer.unobserve(this);\n }\n if (timerId) {\n cancelAnimationFrame(timerId);\n }\n }\n }\n DedupeMixin(ResizeMixin, Resize);\n return Resize;\n};\n","import { createLogger } from \"@/sdk\";\nimport { STORE } from \"@/store\";\nimport { SERVICE } from \"@agentx/agentx-services\";\nimport { I18N } from \"@uuip/unified-ui-platform-sdk\";\nconst logger = createLogger(\"[AgentX i18n]\");\nconst init = () => {\n // Bind events\n SERVICE.i18n.on(\"failedLoading\", (lng, ns, msg) => logger.info(\"i18n resource bundle loading failed:\", lng, ns, msg));\n SERVICE.i18n.on(\"initialized\", () => logger.info(\"i18n resource bundle initialized\"));\n SERVICE.i18n.on(\"languageChanged\", (lng) => {\n logger.info(\"i18n resource bundle changed browsers language:\", lng);\n STORE.app.updateLanguage(lng);\n });\n // Init Info\n logger.info(\"i18n resource bundle initializing with options:\", SERVICE.i18n.DEFAULT_INIT_OPTIONS);\n //Init\n SERVICE.i18n\n .init(SERVICE.i18n.DEFAULT_INIT_OPTIONS)\n .catch((err) => logger.error(\"event=I18NLoadFailure | loading of i18n resource bundle failed\", err));\n};\ninit();\nexport const i18nMixin = I18N.createMixin({ i18n: SERVICE.i18n });\nexport function t(...args) {\n // Testing\n if (process.env.NODE_ENV === \"test\") {\n return (args && args.length ? (Array.isArray(args[0]) ? args[0].join(\"\") : args[0]) : \"\");\n }\n return SERVICE.i18n.t(...args);\n}\n","import { createLogger as createBaseLogger } from \"@uuip/unified-ui-platform-sdk\";\nimport { DateTime } from \"luxon\";\n// Mask the values of keys mentioned in this object\nconst objKeysToBeMasked = {\n ani: true,\n dn: true,\n agent_ani: true,\n dnis: true,\n email: true,\n callAssociatedData: true,\n title: true,\n text: true,\n displayName: true,\n sentBy: true,\n agentName: true,\n agentMailId: true,\n userName: true,\n emails: true,\n sipAddresses: true\n};\nconst logger = createBaseLogger(\"AgentX\", objKeysToBeMasked);\nconst KEY = \"YTdiYTEwZjctYzIxYy00YzhhLTgzN2ItNDQ4MDNhOGMxZmEy\";\nvar Level;\n(function (Level) {\n Level[Level[\"Trace\"] = 1] = \"Trace\";\n Level[Level[\"Debug\"] = 2] = \"Debug\";\n Level[Level[\"Warn\"] = 3] = \"Warn\";\n //eslint-disable-next-line @typescript-eslint/no-shadow\n Level[Level[\"Error\"] = 4] = \"Error\";\n Level[Level[\"Fatal\"] = 5] = \"Fatal\";\n})(Level || (Level = {}));\nconst EVENT_KEY = \"event=\";\nconst ERROR_KEY = \"error\";\nconst FAILED_KEY = \"failed\";\nconst generateUUID = () => {\n let d = DateTime.utc().toMillis();\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, (c) => {\n const r = (d + Math.random() * 16) % 16 | 0; // eslint-disable-line no-bitwise\n d = Math.floor(d / 16);\n return (c === \"x\" ? r : (r & 0x3) | 0x8).toString(16); // eslint-disable-line no-bitwise\n });\n};\nconst loggerId = generateUUID();\nlogger.info(`[Agentx] ClientLogSessionID = ${loggerId}`);\nlocalStorage.setItem(\"ClientLogSessionID\", loggerId);\nconst kibana = (logs, logName, logValue, logPrefix) => {\n const HOST = process.env.AGENTX_LOGGER || \"\";\n if (HOST === \"\") {\n return;\n }\n fetch(`${process.env.AGENTX_LOGGER}/api/pushLogs`, {\n method: \"POST\",\n mode: \"cors\",\n cache: \"no-cache\",\n headers: {\n Authorization: KEY,\n \"Content-Type\": \"application/json\",\n Accept: \"application/json, text/plain, */*\"\n },\n body: JSON.stringify(logs)\n })\n .then((res) => {\n if (res.ok) {\n localStorage.setItem(logName, logValue);\n logger.info(`${logPrefix} pushlogs api success`);\n }\n else {\n logger.warn(`${logPrefix} pushlogs api unsuccessful`);\n }\n })\n .catch((e) => {\n logger.error(`${logPrefix} pushlogs api failed`, e);\n });\n};\n/*eslint @typescript-eslint/no-unused-vars: \"off\"*/\nexport const logMiner = () => {\n const uuipLogs = sessionStorage.getItem(\"uuip-client-logs\");\n const lastLogTs = localStorage.getItem(\"last-log-ts\") || \"\";\n const agentId = sessionStorage.getItem(\"agentId\") || \"\";\n const orgId = sessionStorage.getItem(\"orgId\") || \"\";\n const lastTs = lastLogTs && lastLogTs !== \"\" ? Number.parseInt(lastLogTs) : 0;\n const logsArr = uuipLogs && uuipLogs !== \"\" ? JSON.parse(`[${uuipLogs.split(\"\").join(\",\")}]`) : [];\n const filteredLogs = logsArr.filter((value) => {\n const searchMsg = value.msgs.join(\" | \").toLowerCase();\n return (value.ts > lastTs &&\n (searchMsg.includes(EVENT_KEY) ||\n searchMsg.includes(FAILED_KEY) ||\n searchMsg.includes(ERROR_KEY) ||\n value.lvl > 2));\n });\n if (filteredLogs.length > 0) {\n const selectedLogs = [];\n // eslint-disable-next-line sonarjs/prefer-for-of\n for (let l = 0; l < filteredLogs.length; l++) {\n const record = filteredLogs[l];\n let logLevel;\n switch (record.lvl) {\n case Level.Debug:\n logLevel = \"info\";\n break;\n case Level.Warn:\n logLevel = \"warn\";\n break;\n case Level.Error:\n logLevel = \"error\";\n break;\n case Level.Fatal:\n logLevel = \"error\";\n break;\n }\n selectedLogs.push({\n level: logLevel,\n message: `ClientLogSessionID=${loggerId} | TimeStamp=${new Date(record.ts)} org_id=${orgId} | agentId=${agentId} | ${record.msgs.join(\" | \").replace(\"[object Object]\", \"\")}`,\n timestamp: new Date(record.ts),\n clientLogSessionId: loggerId,\n agentId,\n orgId\n });\n }\n kibana(selectedLogs, \"last-log-ts\", logsArr[logsArr.length - 1].ts.toString(), \"[LogMiner]\");\n }\n};\nsetInterval(logMiner, 180000);\nfunction prometheusLogMiner() {\n const prometheusLogs = localStorage.getItem(\"prometheus-logs\");\n if (prometheusLogs) {\n const prometheusLogsParsed = JSON.parse(prometheusLogs);\n kibana(prometheusLogsParsed, \"prometheus-logs\", \"[]\", \"[PrometheusLogMiner]\");\n }\n}\nsetInterval(prometheusLogMiner, 300000);\nexport const createLogger = (prefix) => {\n class LoggerWrapper {\n constructor(pfx) {\n this.prefix = pfx;\n }\n error(...msg) {\n logger.error(this.prefix, ...msg);\n }\n info(...msg) {\n logger.info(this.prefix, ...msg);\n }\n warn(...msg) {\n logger.warn(this.prefix, ...msg);\n }\n }\n return new LoggerWrapper(prefix);\n};\n/** this will catch the unhandled java script error and update desktop standard loggers */\nwindow.onerror = function (message, source, lineno, colno, error) {\n logger.error(\"Unhandled exception\", message, source, lineno, colno, error);\n};\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { createLogger } from \"@/sdk\";\n/**\n * We are using local storage to keep the list of interaction for which auto wrap up timer us running .\n * session storage is used to keep this list since we lose track of which particular auto wrap is cancelled on reload.\n * Whenever auot wrap is cancelled for an interaction we use to remove it from the array.\n * In addition we are storing the list of interaction for which auto wrap up was canceled as a seperate key.\n * This is done in order to check if the interaction is not present in the first list because autowrapup was cancelled and not due to any other reason.\n */\nimport { STORE } from \"@/store\";\nimport { SERVICE } from \"@agentx/agentx-services\";\nimport * as workerTimers from \"@uuip/unified-ui-platform-sdk\";\nimport { DateTime } from \"luxon\";\nimport { action, computed, observable, toJS } from \"mobx\";\nconst logger = createLogger(\"[store-interaction-control] [InteractionControl]\");\nexport default class InteractionControl {\n constructor() {\n this.autoWrapUp = [];\n this.autoWrapUpTimer = {};\n this.timerId = 0;\n this.getDefaultWrapUpReason = (resonList) => {\n return resonList === null || resonList === void 0 ? void 0 : resonList.find(({ isDefault }) => isDefault === true);\n };\n this.clearTimers = () => {\n workerTimers.clearTimeout(this.timerId);\n };\n this.submitHandler = (interactionIdValue, wrapUpContent) => {\n var _a;\n if (((_a = STORE.agentContact.taskSelected) === null || _a === void 0 ? void 0 : _a.interactionId) === interactionIdValue ||\n this.autoWrapUp.indexOf(interactionIdValue) === -1) {\n return;\n }\n const defaultReason = this.getDefaultWrapUpReason(wrapUpContent.wrapUpReasonList);\n const wrappUpReq = SERVICE.aqm.contact.wrapupV2({\n interactionId: interactionIdValue,\n data: {\n auxCodeId: (defaultReason === null || defaultReason === void 0 ? void 0 : defaultReason.id.toString()) || \"\",\n wrapUpReason: (defaultReason === null || defaultReason === void 0 ? void 0 : defaultReason.name) || \"\"\n }\n });\n wrappUpReq\n .then(() => {\n STORE.session.interactionControl.removeInteraction(interactionIdValue);\n logger.info(\"event=WrapUp | Wrappedup Event: interactionId=\", interactionIdValue);\n delete this.autoWrapUpTimer[interactionIdValue];\n })\n .catch(() => {\n delete this.autoWrapUpTimer[interactionIdValue];\n });\n };\n this.deleteAutoWrapTimer = (interactionId) => {\n clearTimeout(this.autoWrapUpTimer[interactionId]);\n };\n this.addAutoWrapUpTimers = (interactionId, wrapUpTimeStamp, autoWrapUpData) => {\n var _a;\n const wrapUpInterval = ((_a = autoWrapUpData === null || autoWrapUpData === void 0 ? void 0 : autoWrapUpData.wrapUpProps) === null || _a === void 0 ? void 0 : _a.autoWrapupInterval) || 60000; // if autowarpInterval is not available then setting default value as 60 seconds;\n const setTimeoutRunner = DateTime.fromMillis(wrapUpTimeStamp).plus({\n seconds: wrapUpInterval / 1000 + 1\n });\n this.autoWrapUpTimer[interactionId] = toJS(workerTimers.setTimeout(() => {\n // eslint-disable-next-line sonarjs/no-useless-call\n this.submitHandler.call(this, interactionId, autoWrapUpData.wrapUpProps);\n }, setTimeoutRunner.diff(DateTime.local().plus({ milliseconds: 1000 })).milliseconds));\n this.timerId = this.autoWrapUpTimer[interactionId];\n };\n }\n get getListOfAutoWrapUp() {\n return toJS(this.autoWrapUp);\n }\n get autoWrapUpTimersRunning() {\n return toJS(this.autoWrapUpTimer);\n }\n addInteraction(interactionId) {\n this.autoWrapUp.push(interactionId);\n sessionStorage.setItem(\"autoWrapUpInteraction\", JSON.parse(JSON.stringify(toJS(this.autoWrapUp))));\n }\n /**\n * this method is used to check the interactionid in the session storage set using canceled autoWrapup.\n */\n getIndexOfCanceledAutoWrapupInteration(interactionId) {\n var _a;\n return (_a = sessionStorage.getItem(\"canceledAutoWrapUpInteraction\")) === null || _a === void 0 ? void 0 : _a.split(\",\").indexOf(interactionId);\n }\n removeInteraction(interactionId) {\n if (this.autoWrapUp.indexOf(interactionId) > -1) {\n this.autoWrapUp.splice(this.autoWrapUp.indexOf(interactionId), 1);\n sessionStorage.setItem(\"autoWrapUpInteraction\", JSON.parse(JSON.stringify(toJS(this.autoWrapUp))));\n }\n }\n getIndex(data) {\n var _a;\n return (_a = sessionStorage.getItem(\"autoWrapUpInteraction\")) === null || _a === void 0 ? void 0 : _a.split(\",\").indexOf(data.interactionId);\n }\n /**\n * this method is used to set the interactionId in the session when agent-contact event comes,\n * incase this was not stored due to wrapUp event not received by the application because of disconnect.\n */\n setAutoWrapupState(data, agentId, wrapUpData) {\n var _a;\n const isInteractionAlreadyInList = this.getIndex(data);\n const isCanceledAutoWrapup = this.getIndexOfCanceledAutoWrapupInteration(data.interactionId);\n if (((_a = wrapUpData === null || wrapUpData === void 0 ? void 0 : wrapUpData.wrapUpProps) === null || _a === void 0 ? void 0 : _a.autoWrapup) &&\n (isInteractionAlreadyInList === -1 || isInteractionAlreadyInList === undefined) &&\n (isCanceledAutoWrapup === -1 || isCanceledAutoWrapup === undefined) &&\n data.interaction.participants[agentId][\"isWrapUp\"]) {\n this.addInteraction(data.interactionId);\n }\n }\n checkForWrapUp(data, agentId) {\n if (STORE.agent.wrapUpData.wrapUpProps.autoWrapup &&\n this.getIndex(data) !== -1 &&\n data.interaction.participants[agentId][\"wrapUpTimestamp\"]) {\n this.addAutoWrapUpTimers(data.interactionId, data.interaction.participants[agentId][\"wrapUpTimestamp\"], toJS(STORE.agent.wrapUpData));\n this.addInteraction(data.interactionId);\n }\n }\n}\n__decorate([\n observable\n], InteractionControl.prototype, \"autoWrapUp\", void 0);\n__decorate([\n observable\n], InteractionControl.prototype, \"autoWrapUpTimer\", void 0);\n__decorate([\n observable\n], InteractionControl.prototype, \"timerId\", void 0);\n__decorate([\n action\n], InteractionControl.prototype, \"clearTimers\", void 0);\n__decorate([\n action\n], InteractionControl.prototype, \"submitHandler\", void 0);\n__decorate([\n computed\n], InteractionControl.prototype, \"getListOfAutoWrapUp\", null);\n__decorate([\n computed\n], InteractionControl.prototype, \"autoWrapUpTimersRunning\", null);\n__decorate([\n action\n], InteractionControl.prototype, \"deleteAutoWrapTimer\", void 0);\n__decorate([\n action\n], InteractionControl.prototype, \"addAutoWrapUpTimers\", void 0);\n__decorate([\n action\n], InteractionControl.prototype, \"addInteraction\", null);\n__decorate([\n action\n], InteractionControl.prototype, \"getIndexOfCanceledAutoWrapupInteration\", null);\n__decorate([\n action\n], InteractionControl.prototype, \"removeInteraction\", null);\n__decorate([\n action\n], InteractionControl.prototype, \"setAutoWrapupState\", null);\n__decorate([\n action\n], InteractionControl.prototype, \"checkForWrapUp\", null);\nexport const interactionControl = new InteractionControl();\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { createLogger } from \"@/sdk\";\nimport { action, observable } from \"mobx\";\nconst logger = createLogger(\"[store-ivr-transcript]\");\nexport default class ModuleIvrTranscript {\n constructor() {\n this.ivrTranscriptMap = new Map();\n }\n saveTranscript(interactionID, ivrConversations) {\n logger.info(`event=saveTranscript | interactionID=${interactionID} | [IVR transcript] fetched, Saving data in store`);\n this.ivrTranscriptMap.set(interactionID, ivrConversations);\n }\n deleteTranscript(interactionID) {\n if (this.ivrTranscriptMap.get(interactionID)) {\n this.ivrTranscriptMap.delete(interactionID);\n }\n }\n}\n__decorate([\n observable\n], ModuleIvrTranscript.prototype, \"ivrTranscriptMap\", void 0);\n__decorate([\n action\n], ModuleIvrTranscript.prototype, \"saveTranscript\", null);\n__decorate([\n action\n], ModuleIvrTranscript.prototype, \"deleteTranscript\", null);\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { RouteName } from \"@/app/routing/routing\";\nimport { STORE } from \"@/store\";\nimport { MediaType } from \"@/store/store-agent-contact\";\nimport { SERVICE } from \"@agentx/agentx-services\";\nimport { action, computed, observable, toJS } from \"mobx\";\nimport { getMediaChannelForNotification, isMediaTypeDigitalOutbound } from \"@/app/utils/Utils\";\nconst UNREAD_CHAT_MESSAGE_EVENT = \"unread-chat-message\";\nexport class ModuleChat {\n constructor() {\n this.chatMessage = [];\n this.mediaViewInitState = { state: \"LOADING\" };\n this.retryMediaViewInit = 0;\n this.removeMediaListener = false;\n this.hasCustomerLeft = new Map();\n this.isConvNotFound = new Map();\n this.unreadMessages = new Map();\n this.imiTeamId = \"719\";\n this.imiAgentId = \"narender\";\n this.imiConvId = \"CSROEQSWI5OTLU2C\";\n this.imiWidgetInitState = true;\n this.imiServicesInitialized = false;\n this.newUnreadTaskMessage = {};\n }\n get unReadMessagesObject() {\n return toJS(this.unreadMessages);\n }\n get getNewUnreadMessageId() {\n return toJS(this.newUnreadTaskMessage);\n }\n get mediaViewOption() {\n return {\n accessToken: STORE.auth.accessToken,\n refreshToken: STORE.auth.refreshToken,\n clientId: STORE.auth.authService.config.clientId,\n clientSecret: STORE.auth.authService.config.clientSecret,\n retryMediaViewInit: this.retryMediaViewInit,\n removeMediaListener: this.removeMediaListener,\n isNativeChat: STORE.app.featureFlags.isNativeChat\n };\n }\n setChatMessages(chatMessages) {\n this.chatMessage = chatMessages;\n }\n isChatConvActive(convId) {\n if (STORE.routing.currentRouteName === RouteName.TASKPANEL) {\n const selectedTask = STORE.agentContact.taskMap.get(STORE.agentContact.selectedTaskId);\n if (selectedTask &&\n (selectedTask.interaction.mediaType === MediaType.Chat ||\n selectedTask.interaction.mediaType === MediaType.Social)) {\n const mediaResourceId = selectedTask.isConsulted\n ? selectedTask.consultMediaResourceId\n : selectedTask.mediaResourceId;\n if (!(mediaResourceId && mediaResourceId.includes(convId))) {\n // Condition 1: selected task mediaResourceId and message event media resource id are not same\n return false;\n }\n }\n else {\n // Condition 2: If selected task is not chat or social type\n return false;\n }\n }\n else {\n // Condition 3: If Agent is not in Task Route\n return false;\n }\n return true;\n }\n setUnreadMessages(data) {\n const task = STORE.agentContact.getTaskIdFromConvId(data.convId);\n const taskId = (task === null || task === void 0 ? void 0 : task.interactionId) || \"\";\n const savedUnreadMessages = this.unreadMessages.get(taskId) || {};\n if (taskId !== \"\" && !this.isChatConvActive(data.convId)) {\n savedUnreadMessages.unreadMessageCount = savedUnreadMessages.unreadMessageCount\n ? savedUnreadMessages.unreadMessageCount + 1\n : 1;\n savedUnreadMessages.lastUnreadMessage = data.message;\n this.unreadMessages.set(taskId, savedUnreadMessages);\n if (task) {\n this.fireChatMessageNotification(data, task);\n this.newUnreadTaskMessage = toJS({\n interactionId: task.interactionId,\n unreadMessageCount: savedUnreadMessages.unreadMessageCount\n });\n }\n sessionStorage.setItem(UNREAD_CHAT_MESSAGE_EVENT, JSON.stringify(toJS(this.unreadMessages)));\n }\n }\n fireChatMessageNotification(data, task) {\n const mediaChannel = task.interaction.mediaChannel;\n const mediaType = task.interaction.mediaType;\n const taskId = task.interactionId;\n const chatId = task.mediaResourceId || task.consultMediaResourceId;\n const direction = task.interaction.contactDirection.type;\n let iconUrl = undefined;\n if (!task.interaction.media[chatId].mediaMgr.includes(\"digitalmm\") &&\n mediaType === MediaType.Social &&\n data.actorType === \"ROBOT\") {\n data.actorName =\n task.interaction.callProcessingDetails.customerName || task.interaction.callProcessingDetails.appUser;\n }\n const derivedMediaChannel = getMediaChannelForNotification(mediaChannel, direction);\n if (this.getMediaSubChannelType(mediaType, derivedMediaChannel)) {\n iconUrl = this.getNotificationIconUrl(derivedMediaChannel);\n }\n STORE.generalNotifications.fireNewChatMessage(data, mediaChannel && mediaType === MediaType.Social\n ? mediaChannel === \"facebook\"\n ? \"messenger\"\n : mediaChannel\n : MediaType.Chat, iconUrl, taskId);\n }\n getMediaSubChannelType(mediaType, mediaChannel) {\n return (mediaType === MediaType.Social || isMediaTypeDigitalOutbound(mediaChannel)) &&\n mediaChannel &&\n SERVICE.constants.MEDIA_SUBCHANNEL_TYPES[mediaChannel]\n ? true\n : false;\n }\n getNotificationIconUrl(mediaChannel) {\n var _a, _b, _c, _d;\n return STORE.app.darkMode\n ? (_b = (_a = SERVICE.constants.MEDIA_SUBCHANNEL_TYPES[mediaChannel]) === null || _a === void 0 ? void 0 : _a.notification) === null || _b === void 0 ? void 0 : _b.dark\n : (_d = (_c = SERVICE.constants.MEDIA_SUBCHANNEL_TYPES[mediaChannel]) === null || _c === void 0 ? void 0 : _c.notification) === null || _d === void 0 ? void 0 : _d.light;\n }\n getUnreadMessagesFromSessionStorage(data) {\n if (data) {\n for (const [taskId, obj] of Object.entries(data)) {\n this.unreadMessages.set(taskId, obj);\n }\n }\n }\n updateRemoveMediaListeners(status) {\n this.removeMediaListener = status;\n }\n updateHasCustomerLeft(convId) {\n var _a;\n const taskId = ((_a = STORE.agentContact.getTaskIdFromConvId(convId)) === null || _a === void 0 ? void 0 : _a.interactionId) || \"\";\n if (taskId !== \"\") {\n this.hasCustomerLeft.set(taskId, true);\n }\n }\n updateIsConvNotFound(convId, status) {\n var _a;\n const taskId = ((_a = STORE.agentContact.getTaskIdFromConvId(convId)) === null || _a === void 0 ? void 0 : _a.interactionId) || \"\";\n if (taskId !== \"\") {\n this.isConvNotFound.set(taskId, status);\n }\n }\n deleteUnreadMessages(taskId) {\n if (taskId !== \"\") {\n this.unreadMessages.delete(taskId);\n sessionStorage.setItem(UNREAD_CHAT_MESSAGE_EVENT, JSON.stringify(toJS(this.unreadMessages)));\n STORE.generalNotifications.deactivateReadMessagesFromNotifications(taskId);\n }\n }\n clearAllUnreadMessagesFromStore() {\n this.unreadMessages.clear();\n sessionStorage.removeItem(UNREAD_CHAT_MESSAGE_EVENT);\n }\n setMediaViewInitState(mediaState) {\n this.mediaViewInitState = mediaState;\n }\n setImiWidgetInitState(state) {\n this.imiWidgetInitState = state;\n }\n setImiServicesInitialized(flag) {\n this.imiServicesInitialized = flag;\n }\n get chatMessages() {\n return this.chatMessage;\n }\n get mediaInitState() {\n return toJS(this.mediaViewInitState);\n }\n get imiInitState() {\n return this.imiWidgetInitState;\n }\n get imiServicesInit() {\n return this.imiServicesInitialized;\n }\n setRetryMediaViewInit() {\n this.retryMediaViewInit += 1;\n }\n}\n__decorate([\n observable\n], ModuleChat.prototype, \"chatMessage\", void 0);\n__decorate([\n observable\n], ModuleChat.prototype, \"mediaViewInitState\", void 0);\n__decorate([\n observable\n], ModuleChat.prototype, \"retryMediaViewInit\", void 0);\n__decorate([\n observable\n], ModuleChat.prototype, \"removeMediaListener\", void 0);\n__decorate([\n observable\n], ModuleChat.prototype, \"hasCustomerLeft\", void 0);\n__decorate([\n observable\n], ModuleChat.prototype, \"isConvNotFound\", void 0);\n__decorate([\n observable\n], ModuleChat.prototype, \"unreadMessages\", void 0);\n__decorate([\n observable\n], ModuleChat.prototype, \"imiTeamId\", void 0);\n__decorate([\n observable\n], ModuleChat.prototype, \"imiAgentId\", void 0);\n__decorate([\n observable\n], ModuleChat.prototype, \"imiConvId\", void 0);\n__decorate([\n observable\n], ModuleChat.prototype, \"imiWidgetInitState\", void 0);\n__decorate([\n observable\n], ModuleChat.prototype, \"imiServicesInitialized\", void 0);\n__decorate([\n observable\n], ModuleChat.prototype, \"newUnreadTaskMessage\", void 0);\n__decorate([\n computed\n], ModuleChat.prototype, \"unReadMessagesObject\", null);\n__decorate([\n computed\n], ModuleChat.prototype, \"getNewUnreadMessageId\", null);\n__decorate([\n computed\n], ModuleChat.prototype, \"mediaViewOption\", null);\n__decorate([\n action\n], ModuleChat.prototype, \"setChatMessages\", null);\n__decorate([\n action\n], ModuleChat.prototype, \"setUnreadMessages\", null);\n__decorate([\n action\n], ModuleChat.prototype, \"fireChatMessageNotification\", null);\n__decorate([\n action\n], ModuleChat.prototype, \"getUnreadMessagesFromSessionStorage\", null);\n__decorate([\n action\n], ModuleChat.prototype, \"updateRemoveMediaListeners\", null);\n__decorate([\n action\n], ModuleChat.prototype, \"updateHasCustomerLeft\", null);\n__decorate([\n action\n], ModuleChat.prototype, \"updateIsConvNotFound\", null);\n__decorate([\n action\n], ModuleChat.prototype, \"deleteUnreadMessages\", null);\n__decorate([\n action\n], ModuleChat.prototype, \"clearAllUnreadMessagesFromStore\", null);\n__decorate([\n action\n], ModuleChat.prototype, \"setMediaViewInitState\", null);\n__decorate([\n action\n], ModuleChat.prototype, \"setImiWidgetInitState\", null);\n__decorate([\n action\n], ModuleChat.prototype, \"setImiServicesInitialized\", null);\n__decorate([\n computed\n], ModuleChat.prototype, \"chatMessages\", null);\n__decorate([\n computed\n], ModuleChat.prototype, \"mediaInitState\", null);\n__decorate([\n computed\n], ModuleChat.prototype, \"imiInitState\", null);\n__decorate([\n computed\n], ModuleChat.prototype, \"imiServicesInit\", null);\n__decorate([\n action\n], ModuleChat.prototype, \"setRetryMediaViewInit\", null);\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { createLogger } from \"@/sdk\";\nimport { action, computed, observable, toJS } from \"mobx\";\nexport default class ModuleEmail {\n constructor() {\n this.logger = createLogger(\"[store-email] [EmailComposer]\");\n this._template = {\n defaultValues: {\n defaultTypeAgent: \"\",\n defaultTypeForAgent: false,\n defaultTypeCustomer: \"\",\n defaultTypeForCustomer: false\n },\n emailTemplate: \"\"\n };\n this._emailCache = new Map();\n /**\n * Actions\n */\n this.setTemplate = (e) => {\n this._template = e.detail.template;\n };\n this.updateDraftEmailContent = (e) => {\n this.logger.info(\"email details setting in cache\");\n this._emailCache.set(e.detail.taskId, e.detail);\n };\n this.deleteEmailFromCache = (interactionId) => {\n this._emailCache.delete(interactionId);\n };\n }\n /**\n * Computed\n */\n get templateSelector() {\n return this._template;\n }\n get emailCacheSelector() {\n this.logger.info(\"email content getting from cache\");\n return toJS(this._emailCache);\n }\n}\n__decorate([\n observable\n], ModuleEmail.prototype, \"_template\", void 0);\n__decorate([\n observable\n], ModuleEmail.prototype, \"_emailCache\", void 0);\n__decorate([\n computed\n], ModuleEmail.prototype, \"templateSelector\", null);\n__decorate([\n computed\n], ModuleEmail.prototype, \"emailCacheSelector\", null);\n__decorate([\n action\n], ModuleEmail.prototype, \"setTemplate\", void 0);\n__decorate([\n action\n], ModuleEmail.prototype, \"updateDraftEmailContent\", void 0);\n__decorate([\n action\n], ModuleEmail.prototype, \"deleteEmailFromCache\", void 0);\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { t } from \"@/mixins/i18nMixin\";\nimport { action, computed, observable } from \"mobx\";\nexport default class ModuleErrorDialog {\n constructor() {\n this.errorDetails = {};\n this.isModalOpen = false;\n this.errorDetailsList = [];\n this.setErrorDetails = (e) => {\n this.errorDetailsList.push(e.detail);\n if (this.isModalOpen) {\n this.updateModalStatus(false);\n }\n if (!this.isModalOpen) {\n this.shiftErrorDetail();\n this.updateModalStatus(true);\n }\n };\n this.updateModalStatus = (e) => {\n this.isModalOpen = e;\n if (!e) {\n if (this.errorDetailsList.length >= 1) {\n //when modal close trigerred check for existing errors\n this.shiftErrorDetail();\n this.isModalOpen = true;\n }\n else {\n this.errorDetails = {};\n this.isModalOpen = false;\n this.errorDetailsList = [];\n }\n }\n };\n }\n get localization() {\n return {\n okButtonText: t(\"app:errorModal:ok\"),\n headerText: t(\"app:errorModal:header\"),\n errorActionsText: t(\"app:errorModal:errorActions\")\n };\n }\n /**\n * Actions\n */\n shiftErrorDetail() {\n this.errorDetails = Object.assign(Object.assign({}, this.errorDetailsList.shift()), { localization: {\n errorLessButtonText: t(\"app:errorDetail:errorLessButton\"),\n errorMoreButtonText: t(\"app:errorDetail:errorMoreButton\"),\n errorDetailsText: t(\"app:errorModal:errorDetails\"),\n trackingIdTitleText: t(\"app:errorModal:trackingIdTitle\"),\n trackingIdDescriptionText: t(\"app:errorModal:trackingIdDescription\"),\n trackingIdLabelText: t(\"app:errorModal:trackingIdLabel\"),\n copyText: t(\"app:errorModal:copy\"),\n copiedText: t(\"app:errorModal:copied\")\n } });\n }\n}\n__decorate([\n observable\n], ModuleErrorDialog.prototype, \"errorDetails\", void 0);\n__decorate([\n observable\n], ModuleErrorDialog.prototype, \"isModalOpen\", void 0);\n__decorate([\n computed\n], ModuleErrorDialog.prototype, \"localization\", null);\n__decorate([\n action\n], ModuleErrorDialog.prototype, \"shiftErrorDetail\", null);\n__decorate([\n action\n], ModuleErrorDialog.prototype, \"setErrorDetails\", void 0);\n__decorate([\n action\n], ModuleErrorDialog.prototype, \"updateModalStatus\", void 0);\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { t } from \"@/mixins/i18nMixin\";\nimport { createLogger } from \"@/sdk\";\nimport { STORE } from \"@/store\";\nimport { MediaType } from \"@/store/store-agent-contact\";\nimport { ScreenPop } from \"@agentx/agentx-mfe-wc-based\";\nimport { SERVICE } from \"@agentx/agentx-services\";\nimport { ToasterNotificationItemContent } from \"@uuip/unified-ui-platform-common-components\";\nimport { Notifications } from \"@uuip/unified-ui-platform-sdk\";\nimport { action, computed, observable } from \"mobx\";\nconst logger = createLogger(\"[store-screen-pop] [ScreenPop]\");\nexport const SCREEN_POP_CONFIG = \"screenPopConfig\";\nexport default class ModuleScreenPop {\n constructor() {\n /**\n * Actions\n */\n this.setScreenPopUrl = (screenPop) => {\n this.screenPopUrl = screenPop;\n };\n this.updateScreenPopData = (interactionId) => {\n const screenPOPData = sessionStorage.getItem(SCREEN_POP_CONFIG) || \"[]\";\n const removedInteractionData = JSON.parse(screenPOPData).filter((data) => data.interactionId !== interactionId);\n sessionStorage.setItem(SCREEN_POP_CONFIG, JSON.stringify(removedInteractionData));\n this.setScreenPopUrl(removedInteractionData);\n };\n this.getTaskDetils = (interactionId) => {\n const task = STORE.agentContact.taskMap.get(interactionId);\n if (task) {\n return STORE.agentContact.flattenTaskForTaskList(STORE.agentContact.maskTask(task), STORE.agent.agentId);\n }\n return undefined;\n };\n this.getScreenNotificationConf = (url, interactionId, screenPopDesktopLabel) => {\n const task = this.getTaskDetils(interactionId);\n return {\n type: Notifications.ItemMeta.Type.Default,\n mode: Notifications.ItemMeta.Mode.Silent,\n title: `${t(\"app:notifications.screenPopNotifTitle\")}`,\n data: new ToasterNotificationItemContent.DataController({\n text: `${STORE.agentContact.isMediaTypeTelePhony\n ? (task === null || task === void 0 ? void 0 : task.displayAni)\n ? task === null || task === void 0 ? void 0 : task.displayAni\n : task === null || task === void 0 ? void 0 : task.dnis\n : t(\"app:notifications.screenPopEventTitle\")}`,\n link: `${url}`,\n linkTooltip: `${screenPopDesktopLabel}`,\n iconDetail: this.getMediaTypeIcon((task === null || task === void 0 ? void 0 : task.mediaType) || \"\"),\n linkName: `${screenPopDesktopLabel}`\n })\n };\n };\n /** This Method is nowhere used or called\n * @action addSilentNotificationForScreenPop = (finalUrl: string, interactionId: string) => {\n * STORE.generalNotifications.fireScreenPop(\n * this.getScreenNotificationConf(finalUrl, interactionId, screenPopDesktopLabel)\n * );\n * };\n */\n this.addToastNotificationForScreenPop = (finalUrl, interactionId, screenPopDesktopLabel) => {\n const data = this.getScreenNotificationConf(finalUrl, interactionId, screenPopDesktopLabel);\n data.mode = Notifications.ItemMeta.Mode.AutoDismiss;\n STORE.generalNotifications.fireScreenPop(data);\n };\n /** update the screen pop config in the store so that should be rendered*/\n this.updateScreenPopStore = (screenPop) => {\n this.setScreenPopUrl(screenPop);\n };\n this.updateScreenPopStoreOnReload = () => {\n const screenPopConfigData = ScreenPop.getAlreadyOpenedScreenPopConfig() || [];\n if (screenPopConfigData) {\n this.updateScreenPopStore(screenPopConfigData);\n }\n };\n this.handleScreenPop = (screenPopDetail) => {\n logger.info(\"event=handleScreenPop | Screen-pop event data\", screenPopDetail);\n const settings = screenPopDetail.data;\n const target = settings.target;\n const task = this.getTaskDetils(screenPopDetail.data.interactionId);\n const saveToSessionStorage = target === ScreenPop.TARGET_INSIDE_DESKTOP;\n const mediaType = (task === null || task === void 0 ? void 0 : task.mediaType) || \"\";\n const finalUrl = ScreenPop.constructScreenPopUrl(screenPopDetail, mediaType, saveToSessionStorage);\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.SCREEN_POP_DELIVERED, {\n [SERVICE.telemetry.TELEM_PROPS.SCREEN_POP_TARGET]: screenPopDetail.data.target,\n [SERVICE.telemetry.TELEM_PROPS.SCREEN_POP_INTERACTION]: screenPopDetail.data.interactionId,\n [SERVICE.telemetry.TELEM_PROPS.MEDIA_TYPE]: task === null || task === void 0 ? void 0 : task.mediaType\n });\n if (target === ScreenPop.TARGET_INSIDE_DESKTOP) {\n logger.info(\"Opening Screen-pop inside desktop\");\n const existingScreenPopData = ScreenPop.getAlreadyOpenedScreenPopConfig() || [];\n this.updateScreenPopStore(existingScreenPopData);\n }\n else {\n logger.info(`Opening Screen-pop as browser tab: ${target}`);\n window.open(finalUrl, target === ScreenPop.TARGET_SAME_BROWSER_TAB ? target : \"\");\n }\n this.addToastNotificationForScreenPop(finalUrl, screenPopDetail.data.interactionId, screenPopDetail.data.screenPopDesktopLabel &&\n screenPopDetail.data.screenPopDesktopLabel !== \"null\" &&\n screenPopDetail.data.screenPopDesktopLabel.trim() !== \"\"\n ? screenPopDetail.data.screenPopDesktopLabel\n : t(\"app:notifications.screenPopEventTitle\"));\n };\n this.screenPopUrl = [];\n }\n /**\n * Computed\n */\n get screenPopSelector() {\n return this.screenPopUrl.filter((data) => data.interactionId === (STORE.agentContact.taskSelected ? STORE.agentContact.taskSelected.interactionId : \"\"));\n }\n getMediaTypeIcon(mediaType) {\n const iconBgColor = \"var(--md-olive-20)\";\n const iconColor = \"var(--md-olive-70)\";\n switch (mediaType) {\n case MediaType.Telephony:\n return {\n iconName: \"icon-handset_16\",\n bgColor: iconBgColor,\n iconColor\n };\n case MediaType.Chat:\n return {\n iconName: \"icon-chat-active_16\",\n bgColor: iconBgColor,\n iconColor\n };\n case MediaType.Email:\n return {\n iconName: \"icon-email_16\",\n bgColor: iconBgColor,\n iconColor\n };\n case MediaType.Social:\n return {\n iconName: \"icon-pop-out_16\",\n bgColor: iconBgColor,\n iconColor\n };\n default:\n return {\n iconName: \"icon-info_16\",\n bgColor: iconBgColor,\n iconColor\n };\n }\n }\n}\n__decorate([\n observable\n], ModuleScreenPop.prototype, \"screenPopUrl\", void 0);\n__decorate([\n computed\n], ModuleScreenPop.prototype, \"screenPopSelector\", null);\n__decorate([\n action\n], ModuleScreenPop.prototype, \"updateScreenPopData\", void 0);\n__decorate([\n action\n], ModuleScreenPop.prototype, \"addToastNotificationForScreenPop\", void 0);\n__decorate([\n action\n], ModuleScreenPop.prototype, \"updateScreenPopStore\", void 0);\n__decorate([\n action\n], ModuleScreenPop.prototype, \"updateScreenPopStoreOnReload\", void 0);\n__decorate([\n action\n], ModuleScreenPop.prototype, \"handleScreenPop\", void 0);\n","import { interactionControl } from \"./MFE/interaction-control\";\nimport { agent } from \"./store-agent\";\nimport { agentContact } from \"./store-agent-contact\";\nimport { alertBanner } from \"./store-alert-banner\";\nimport { app } from \"./store-app\";\nimport { auth } from \"./store-auth\";\nimport { browserNotifications } from \"./store-browser-notifications\";\nimport { common } from \"./store-common-state-variables\";\nimport { layout } from \"./store-desktop-layout\";\nimport { dynamic } from \"./store-dynamic\";\nimport { envVaribles } from \"./store-env-variables\";\nimport { generalNotifications } from \"./store-general-notifications\";\nimport { page } from \"./store-page\";\nimport { routing } from \"./store-routing\";\nimport { session } from \"./store-session\";\nimport { shortcutKeys } from \"./store-shortcut-key\";\nexport const STORE = {\n agent,\n agentContact,\n app,\n auth,\n dynamic,\n routing,\n session,\n generalNotifications,\n browserNotifications,\n shortcutKeys,\n layout,\n envVaribles,\n common,\n alertBanner,\n page,\n interactionControl\n};\nexport const updatedByFc = \"FC\";\n// indicates the contact is updated by IMI flows\nexport const updatedByIMI = \"IMI\";\n","export const SUPERVISOR_DEFAULT_NAVIGATION_ITEMS = [\n {\n label: \"app:navigation.task\",\n icon: \"view-list\",\n iconType: \"momentum\",\n navigateTo: \"task\",\n align: \"top\"\n },\n {\n label: \"app:navigation.help\",\n icon: \"help-circle\",\n iconActive: \"help-circle-active\",\n iconType: \"momentum\",\n navigateTo: \n // eslint-disable-next-line sonarjs/no-clear-text-protocols\n \"http://rtp-aspw-crs2/00000018WIA62583B50GYZ/output/output-ciscopdfflbp/cjp_b_30-olh-cisco-webex-contact-center-agent.pdf\",\n align: \"bottom\"\n },\n {\n label: \"app:navigation.shareFeedback\",\n icon: \"survey\",\n iconType: \"momentum\",\n navigateTo: \"https://exp.bz/WC-146636\",\n align: \"bottom\"\n }\n];\nexport const DEFAULT_NAVIGATION_ITEMS = [\n {\n label: \"app:navigation.home\",\n icon: \"home\",\n iconActive: \"home-active\",\n iconType: \"momentum\",\n navigateTo: \"task\",\n align: \"top\"\n },\n {\n label: \"app:navigation.shareFeedback\",\n icon: \"survey\",\n iconType: \"momentum\",\n navigateTo: \"https://exp.bz/WC-146636\",\n align: \"bottom\"\n },\n {\n label: \"app:navigation.help\",\n icon: \"help-circle\",\n iconActive: \"help-circle-active\",\n iconType: \"momentum\",\n navigateTo: \n // eslint-disable-next-line sonarjs/no-clear-text-protocols\n \"http://rtp-aspw-crs2/00000018WIA62583B50GYZ/output/output-ciscopdfflbp/cjp_b_30-olh-cisco-webex-contact-center-agent.pdf\",\n align: \"bottom\"\n }\n];\n","export const OUTDIAL_ERROR_REASONS = {\n DC_CALLS_LIMIT_EXCEEDED: \"app:outbound.errorDcCallsLimitExceeded\",\n ORG_CALLS_LIMIT_EXCEEDED: \"app:outbound.errorOrgCallsLimitExceeded\",\n NO_ANSWER_FROM_CUSTOMER: \"app:outbound.errorOutDialNoAnswerFromCustomer\",\n CUSTOMER_UNAVAILABLE: \"app:outbound.errorOutDialCustomerUnavailable\",\n AGENT_ENDS: \"app:outbound.errorOutDialAgentEnds\",\n CUSTOMER_BUSY: \"app:outbound.errorOutDialCustomerBusy\"\n};\nexport const OUTBOUND_REASONS_MAPPING = {\n NO_MATCHING_AGENT_CHANNEL_FOUND: \"app:outbound.errorNoMatchingAgentChannelFound\"\n};\nexport const STATE_CONSULTING = \"consulting\";\nexport const STATE_CONSULT = \"consult\";\nexport const STATE_CONFERENCE = \"conference\";\nexport const STATE_WRAPUP = \"wrapUp\";\nexport const STATE_CONFERENCING = \"conferencing\";\nexport const STATE_CONSULT_INITIATED = \"consultInitiated\";\nexport const STATE_CONSULT_COMPLETED = \"consultCompleted\";\nexport const STATE_POST_CALL = \"post_call\";\nexport const STATE_CONNECTED = \"connected\";\nexport const SUPERVISOR = \"supervisor\";\nexport const BROWSER = \"BROWSER\";\nexport const DESKTOP_NOTIFICATION_SOUND_SETTINGS = \"desktop-notification-sound-settings\";\nexport const SOUND_DEFAULT_SETTINGS = '{\"default\":{\"sound\":true,\"volume\":0.8,\"mute\":false}}';\nexport const EP_DN = \"EpDn\";\nexport const MACHINE = \"MACHINE\";\nexport const SELF = \"SELF\";\nexport const EPDN = \"EP-DN\";\nexport const DESKTOP_HIDE_WEBEX_CALLING_NOTIFICATIONS_SETTING = \"desktop-hide-webex-calling-notifications-setting\";\n","export {};\n","import { AgentSharedActions } from \"./shared-actions-agent\";\nimport { AgentContactSharedActions } from \"./shared-actions-agent-contact\";\nimport { AuthSharedActions } from \"./shared-actions-auth\";\nimport { GeneralNotificationsSharedActions } from \"./shared-actions-general-notifications\";\nexport const initSharedStoreActions = () => {\n AgentSharedActions.Init();\n AgentContactSharedActions.Init();\n AuthSharedActions.Init();\n GeneralNotificationsSharedActions.Init();\n};\n","import { SERVICE } from \"@agentx/agentx-services\";\nimport { toJS } from \"mobx\";\nimport { agentContact } from \"../store-agent-contact\";\nexport var AgentContactSharedActions;\n(function (AgentContactSharedActions) {\n AgentContactSharedActions.Init = () => {\n // Bind agent contact store actions channels\n // AddCustomContact\n {\n const d = SERVICE.actionsChannels.createDestination(\"addCustomTask\");\n /* istanbul ignore next */\n d.addListener((p) => agentContact.updateTask(...p.args));\n }\n // GetTaskMap\n {\n const d = SERVICE.actionsChannels.createDestination(\"getTaskMap/Req\");\n const s = SERVICE.actionsChannels.createSource(\"getTaskMap/Res\");\n /* istanbul ignore next */\n d.addListener(({ args: [req_uuid] }) => s.send(\n // Copying to prevent mutate in other place\n Array.from(agentContact.taskMap).reduce((acc, [taskId, task]) => {\n acc.set(taskId, toJS(task));\n return acc;\n }, new Map()), req_uuid));\n }\n // GetMediaTypeQueue\n {\n const d = SERVICE.actionsChannels.createDestination(\"getMediaTypeQueue/Req\");\n const s = SERVICE.actionsChannels.createSource(\"getMediaTypeQueue/Res\");\n /* istanbul ignore next */\n d.addListener(({ args: [media_type, req_uuid] }) => s.send(\n // Copying to prevent mutate in other place\n Array.from(agentContact.taskMap).reduce((acc, [taskId, task]) => {\n if (task.interaction.mediaType === media_type) {\n acc.set(taskId, toJS(task));\n }\n return acc;\n }, new Map()), req_uuid));\n }\n };\n})(AgentContactSharedActions || (AgentContactSharedActions = {}));\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { createLogger } from \"@/sdk\";\nimport { SERVICE } from \"@agentx/agentx-services\";\nimport { toJS } from \"mobx\";\nimport { agent } from \"../store-agent\";\nexport var AgentSharedActions;\n(function (AgentSharedActions) {\n AgentSharedActions.Init = () => {\n // Bind agent store actions channels\n const logger = createLogger(\"[AgentSharedActions]\");\n // GetIdleCodes\n {\n const d = SERVICE.actionsChannels.createDestination(\"getIdleCodes/Req\");\n const s = SERVICE.actionsChannels.createSource(\"getIdleCodes/Res\");\n const fetchAllIdleCodes = (profile) => __awaiter(this, void 0, void 0, function* () {\n const params = {\n orgId: profile === null || profile === void 0 ? void 0 : profile.orgId,\n accessType: profile === null || profile === void 0 ? void 0 : profile.idleCodesAccess\n };\n const response = (yield SERVICE.abs.fetchIdleCodes(params));\n logger.info(`event=fetchAllIdleCodes Successfully fetched ${response.length} idle codes for js sdk`);\n return Array.isArray(response) ? response : [];\n });\n /* istanbul ignore next */\n d.addListener(({ args: [req_uuid] }) => {\n const profile = SERVICE.conf.profile;\n const agentIdleCodes = agent.idleCodes;\n if ((!agentIdleCodes || agentIdleCodes.length === 0) && profile) {\n fetchAllIdleCodes(profile).then((idleCodesList) => {\n s.send(idleCodesList, req_uuid);\n agent.updateIdleCodesList(idleCodesList);\n profile.idleCodesList = idleCodesList;\n });\n }\n else {\n logger.info(`Serve idle codes from store`);\n s.send(\n //Copying to prevent mutation\n toJS(agentIdleCodes), req_uuid);\n }\n });\n }\n // GetWrapUpCodes\n {\n const d = SERVICE.actionsChannels.createDestination(\"getWrapUpCodes/Req\");\n const s = SERVICE.actionsChannels.createSource(\"getWrapUpCodes/Res\");\n const fetchAllAuxCodes = (profile) => __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d;\n const params = {\n orgId: profile.orgId,\n accessType: (_b = (_a = profile === null || profile === void 0 ? void 0 : profile.wrapUpData) === null || _a === void 0 ? void 0 : _a.wrapUpProps) === null || _b === void 0 ? void 0 : _b.wrapUpCodeAccess,\n ids: ((_d = (_c = profile === null || profile === void 0 ? void 0 : profile.wrapUpData) === null || _c === void 0 ? void 0 : _c.wrapUpProps) === null || _d === void 0 ? void 0 : _d.wrapUpCodesList) || []\n };\n const response = (yield SERVICE.abs.fetchWrapUpCodes(params));\n logger.info(`event=fetchAllAuxCodes Successfully fetched ${response.length} wrap up codes for js sdk`);\n return Array.isArray(response) ? response : [];\n });\n /* istanbul ignore next */\n d.addListener(({ args: [req_uuid] }) => {\n const profile = SERVICE.conf.profile;\n const wrapUpReasonList = agent.wrapUpData.wrapUpProps.wrapUpReasonList;\n if ((!wrapUpReasonList || wrapUpReasonList.length === 0) && profile) {\n fetchAllAuxCodes(profile).then((wrapUpCodes) => {\n s.send(wrapUpCodes, req_uuid);\n agent.updateWrapupList(wrapUpCodes);\n profile.wrapupCodes = wrapUpCodes;\n });\n }\n else {\n logger.info(`Serve wrap up codes from store`);\n s.send(\n //Copying to prevent mutation\n toJS(wrapUpReasonList), req_uuid);\n }\n });\n }\n // GetState => in agentx-js-api => agentInfo => latestData\n // GetSubState => in agentx-js-api => agentInfo => latestData\n };\n})(AgentSharedActions || (AgentSharedActions = {}));\n","import { SERVICE } from \"@agentx/agentx-services\";\nimport { auth } from \"../store-auth\";\nexport var AuthSharedActions;\n(function (AuthSharedActions) {\n AuthSharedActions.Init = () => {\n // Bind auth store actions channels\n // GetToken\n {\n const d = SERVICE.actionsChannels.createDestination(\"getToken/Req\");\n const s = SERVICE.actionsChannels.createSource(\"getToken/Res\");\n /* istanbul ignore next */\n d.addListener(({ args: [req_uuid] }) => s.send(auth.accessToken, req_uuid));\n }\n };\n})(AuthSharedActions || (AuthSharedActions = {}));\n","import { createLogger } from \"@/sdk\";\nimport { SERVICE } from \"@agentx/agentx-services\";\nimport { Notifications } from \"@uuip/unified-ui-platform-sdk\";\nimport { generalNotifications } from \"../store-general-notifications\";\nconst logger = createLogger(\"[SharedActions]\");\nexport var GeneralNotificationsSharedActions;\n(function (GeneralNotificationsSharedActions) {\n GeneralNotificationsSharedActions.Init = () => {\n // Bind general notifications store actions channels\n // Fire Acknowledge Dialog\n {\n const d = SERVICE.actionsChannels.createDestination(\"fireGeneralAcknowledgeNotification/Req\");\n const s = SERVICE.actionsChannels.createSource(\"fireGeneralAcknowledgeNotification/Res\");\n /* istanbul ignore next */\n d.addListener(({ meta, args: [raw, req_id] }) => {\n if (raw.data.mode !== Notifications.ItemMeta.Mode.Acknowledge) {\n logger.warn(`\"fireGeneralAcknowledgeNotification/Req\" supports only Acknowledge notification type.` +\n `Received from \"${meta.sourceTag}\" mode \"${raw.data.mode}\". Ignoring`);\n return;\n }\n const fired = generalNotifications.fire(raw);\n if (fired) {\n const [n] = fired;\n if (generalNotifications.isSilentNotificationsEnabled) {\n s.send(n.status, n.reason, n.mode);\n return;\n }\n const statusUpdateListener = (status, reason) => {\n if (status === Notifications.ItemMeta.Status.Deactivated) {\n n.removeEventListener(\"statusUpdate\", statusUpdateListener);\n }\n s.send(status, reason, n.mode, req_id);\n };\n n.addEventListener(\"statusUpdate\", statusUpdateListener);\n }\n });\n }\n // Fire Autodismiss\n {\n const d = SERVICE.actionsChannels.createDestination(\"fireGeneralAutoDismissNotification/Req\");\n const s = SERVICE.actionsChannels.createSource(\"fireGeneralAutoDismissNotification/Res\");\n /* istanbul ignore next */\n d.addListener(({ meta, args: [raw, req_id] }) => {\n if (raw.data.mode !== Notifications.ItemMeta.Mode.AutoDismiss) {\n logger.warn(`\"fireGeneralAutoDismissNotification/Req\" supports only AutoDismiss notification type.` +\n `Received from \"${meta.sourceTag}\" mode \"${raw.data.mode}\". Ignoring`);\n return;\n }\n const fired = generalNotifications.fire(raw);\n if (fired) {\n const [n] = fired;\n if (generalNotifications.isSilentNotificationsEnabled) {\n s.send(n.status, n.reason, n.mode);\n return;\n }\n const statusUpdateListener = (status, reason) => {\n if (status === Notifications.ItemMeta.Status.Pended &&\n reason !== Notifications.ItemMeta.PendingEventReason.ServiceAutoPropagate) {\n n.deactivate(Notifications.ItemMeta.DeactivateEventReason.UserNeutral);\n }\n if (status === Notifications.ItemMeta.Status.Deactivated) {\n n.removeEventListener(\"statusUpdate\", statusUpdateListener);\n }\n s.send(status, reason, n.mode, req_id);\n };\n n.addEventListener(\"statusUpdate\", statusUpdateListener);\n }\n });\n }\n // Fire Silent\n {\n const d = SERVICE.actionsChannels.createDestination(\"fireGeneralSilentNotification/Req\");\n /* istanbul ignore next */\n d.addListener(({ meta, args: [raw] }) => {\n if (raw.data.mode !== Notifications.ItemMeta.Mode.Silent) {\n logger.warn(`\"fireGeneralSilentNotification/Req\" supports only Silent notification type.` +\n `Received from \"${meta.sourceTag}\" mode \"${raw.data.mode}\". Ignoring`);\n return;\n }\n generalNotifications.fire(raw);\n });\n }\n };\n})(GeneralNotificationsSharedActions || (GeneralNotificationsSharedActions = {}));\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AGENT, AgentConsultEnded, AGENTX_DEFAULT_FOCUS, AX_ANNOUNCEMENT_UPDATE, BARGE_IN_MONITORING_STATE, consultICHeight, CUSTOMER, INTERACTION_EVENTS, mainICHeight, MEDIA_TYPES, MONITORING_TYPE } from \"@/app/components/constants\";\nimport { RouteName } from \"@/app/routing/routing\";\nimport { handlePresenceStateReset } from \"@/app/utils/StateSyncManager/UtilsSyncState\";\nimport { t } from \"@/mixins/i18nMixin\";\nimport { createLogger } from \"@/sdk\";\nimport { STORE, updatedByFc, updatedByIMI } from \"@/store\";\nimport { getTrackingIdFromErrorObject, maskSensitiveData } from \"@agentx/agentx-services\";\nimport { Notifications } from \"@uuip/unified-ui-platform-sdk\";\nimport { DateTime } from \"luxon\";\nimport { action, computed, observable, toJS } from \"mobx\";\nimport { computeAgentCallMonitoringStateDetails, dispatchCustomEvent, getBargedInSupId, getErrorMsgForReasonCode, getFCValue, isDigitalOutbound, isSecondaryEpDnAgent, triggerBargeInNotification } from \"../app/utils/Utils\";\nimport { BROWSER, EP_DN, OUTBOUND_REASONS_MAPPING, OUTDIAL_ERROR_REASONS, STATE_CONFERENCE, STATE_CONSULT, STATE_CONSULT_COMPLETED, STATE_CONSULTING, STATE_POST_CALL, STATE_WRAPUP, SUPERVISOR } from \"./shared-actions/constants\";\nimport { findHoldStatus, findHoldTimestamp, findMediaResourceId, getConsultedAgentId, getConsultMPCState, getDestAgentIdForCBT, getIsConferenceInProgress, getIsConsultedAgent, getIsConsultedAgentEPDN, getIsConsultEnabledForMPC, getIsConsultInProgress, getIsSecondaryAgentCBT, getIsWrapupAssist, getPrimaryMediaParticipants, isAgentContactInOfferConferenceState, isOwner, isParticipantInMainInteraction } from \"./store-contact-helper\";\n/*\n * (manro):\n *\n * Major part of this STORE module\n * SHOULD BE DONE in EmailComposer <== (yanaha): Not in Email Composer, in new interaction Popover\n */\nconst logger = createLogger(\"[store-agent-contact]\");\nexport var MediaType;\n(function (MediaType) {\n MediaType[\"Telephony\"] = \"telephony\";\n MediaType[\"Chat\"] = \"chat\";\n MediaType[\"Email\"] = \"email\";\n MediaType[\"Social\"] = \"social\";\n MediaType[\"Midcall\"] = \"midcall telephony\";\n MediaType[\"APPLE_BUSINESS_CHAT\"] = \"appleMessages\";\n})(MediaType || (MediaType = {}));\n/**\n * masking sensitive dataTypes\n */\nexport const OUTBOUND = \"OUTBOUND\";\nexport const ANI = \"ani\";\nexport const DN = \"dn\";\nexport const SOURCENUMBER = \"sourceNumber\";\nexport const CUSTOMERNUMBER = \"customerNumber\";\nexport class ModuleAgentContact {\n constructor() {\n /**\n * Observable block\n */\n this.taskMap = new Map();\n this.EpDnConsultDestinationAgentJoined = false;\n this.lastCompletedTask = \"\";\n this.selectedTaskId = \"\";\n this.selectedQueueId = \"\";\n this.newOfferPopoverCount = 0;\n this.interactionIds = [];\n this.openCADSection = false;\n this.chatConferenceData = {\n initiateConferenceChat: false,\n interactionId: \"\",\n destAgentId: \"\",\n agentId: \"\"\n };\n this.checkNewReplies = false;\n this.showNewReply = false;\n this.showArrow = false;\n this.copyTaskMap = new Map();\n this.navigationWarning = {\n cadVariables: false,\n chatMessages: false,\n wrapUpReason: false\n };\n this.interactionControlDimension = {\n mainCallContainerHeight: 0,\n consultCallContainerHeight: 0\n };\n this.interactionControlCAD = {\n isMainContainerCADExpanded: false,\n isConsultContainerCADExpanded: false\n };\n this.monitoringOwnerName = \"\";\n this.isMonitoringNotEndedManually = false;\n this.isCallMuted = undefined;\n /**\n * Utils block\n */\n this.popoverEventTypes = [\n \"AgentOfferContact\",\n \"AgentOfferConsult\",\n \"AgentContact\",\n \"AgentConsulting\",\n \"AgentContactAssigned\",\n \"AgentOfferCampaignReservation\",\n \"AgentAddCampaignReservation\"\n ];\n this.isNonTerminatedTask = (taskObj) => {\n return taskObj && taskObj.interaction && !taskObj.interaction.isTerminated;\n };\n // To check if agent is added to campaign call - hasJoined will come as true in this special case, but interaction panel and task list should not appear\n this.isAgentAddedToCampaign = (data, agentId) => {\n var _a, _b;\n return ((data.type === \"AgentAddCampaignReservation\" || data.reservedAgentChannelId) &&\n !((_a = data.interaction.participants[agentId]) === null || _a === void 0 ? void 0 : _a.isWrapUp) &&\n ((_b = data.interaction.participants[agentId]) === null || _b === void 0 ? void 0 : _b.hasJoined));\n };\n this.isAgentContactInRingingState = (data) => {\n var _a, _b;\n const agentId = STORE.agent.agentId || \"\";\n if (data.interaction.state === \"new\" ||\n data.interaction.state === \"connected\" ||\n data.interaction.state === \"parked\") {\n return (this.isAgentAddedToCampaign(data, agentId) ||\n (!((_a = data.interaction.participants[agentId]) === null || _a === void 0 ? void 0 : _a.isWrapUp) && !((_b = data.interaction.participants[agentId]) === null || _b === void 0 ? void 0 : _b.hasJoined)));\n }\n return false;\n };\n this.isAgentContactInOfferConsultState = (data, agentId) => {\n var _a, _b, _c;\n if (data.interaction.state === \"consult\") {\n return (!((_a = data.interaction.participants[agentId]) === null || _a === void 0 ? void 0 : _a.isWrapUp) &&\n !((_b = data.interaction.participants[agentId]) === null || _b === void 0 ? void 0 : _b.hasJoined) &&\n ((_c = data.interaction.participants[agentId]) === null || _c === void 0 ? void 0 : _c.isConsulted));\n }\n return false;\n };\n this.isSupervisorInMonitorOfferState = (data, agentId) => {\n var _a, _b, _c, _d, _e, _f, _g;\n return (!((_b = (_a = data.task) === null || _a === void 0 ? void 0 : _a.participants[agentId]) === null || _b === void 0 ? void 0 : _b.isWrapUp) &&\n !((_d = (_c = data.task) === null || _c === void 0 ? void 0 : _c.participants[agentId]) === null || _d === void 0 ? void 0 : _d.hasJoined) &&\n ((_g = (_f = (_e = data.task) === null || _e === void 0 ? void 0 : _e.participants[agentId]) === null || _f === void 0 ? void 0 : _f.monitoringState) === null || _g === void 0 ? void 0 : _g.type) === \"SilentMonitoring\");\n };\n this.isValidEventForPopover = (task) => {\n if (task.type === \"AgentContact\") {\n return (this.isAgentContactInRingingState(task) || this.isAgentContactInOfferConsultState(task, STORE.agent.agentId));\n }\n return true;\n };\n // return true for non customer participate.\n this.isNonCustomerParticipant = (participantType) => {\n const isPersistCallOrMPCEnabled = STORE.app.featureFlags.isWxccMultiPartyConfEnabled || STORE.app.featureFlags.isWxccPersistCallEnabled;\n return (participantType === \"Agent\" ||\n participantType === \"DN\" ||\n participantType === \"EpDn\" ||\n (isPersistCallOrMPCEnabled && participantType === \"entryPoint\"));\n };\n this.getDestinationAgentId = (data, agentId) => {\n let id = \"\";\n data &&\n Object.keys(data).forEach((participant) => {\n if (this.isNonCustomerParticipant(data[participant].type) &&\n data[participant].id !== agentId &&\n !data[participant].isWrapUp) {\n id = data[participant].id;\n }\n });\n return id;\n };\n this.calculateDestAgentId = (interaction, agentId) => {\n var _a, _b, _c;\n if (!STORE.app.featureFlags.isWxccMultiPartyConfEnabled && !STORE.app.featureFlags.isWxccPersistCallEnabled) {\n return this.getDestinationAgentId(interaction.participants, agentId);\n }\n else {\n const consultingAgent = getConsultedAgentId(interaction.media, agentId);\n // in case of non CBT below fun will return empty string so that it will not go inside if condition\n // it will execute the normal flow\n const destAgentIdCBT = getDestAgentIdForCBT(interaction, consultingAgent);\n if (destAgentIdCBT) {\n return destAgentIdCBT;\n }\n return ((_a = interaction.participants[consultingAgent]) === null || _a === void 0 ? void 0 : _a.type) === EP_DN\n ? (_b = interaction.participants[consultingAgent]) === null || _b === void 0 ? void 0 : _b.epId\n : (_c = interaction.participants[consultingAgent]) === null || _c === void 0 ? void 0 : _c.id;\n }\n };\n this.calculateDestAgentIdForFetchingDestType = (interaction, agentId) => {\n if (!STORE.app.featureFlags.isWxccMultiPartyConfEnabled && !STORE.app.featureFlags.isWxccPersistCallEnabled) {\n return this.getDestinationAgentId(interaction.participants, agentId);\n }\n else {\n const consultingAgent = getConsultedAgentId(interaction.media, agentId);\n // in case of non CBT below fun will return empty string\n const destAgentIdCBT = getDestAgentIdForCBT(interaction, consultingAgent);\n return destAgentIdCBT ? destAgentIdCBT : consultingAgent;\n }\n };\n this.getStatus = (data) => {\n var _a;\n const agentId = STORE.agent.agentId;\n const interaction = data.interaction;\n if (isSecondaryEpDnAgent(interaction)) {\n if (interaction.state === STATE_CONFERENCE) {\n return STATE_CONFERENCE;\n }\n return STATE_CONSULTING; // handle state of child agent case as we cant relay on interaction state.\n }\n if (STORE.app.featureFlags.isWxccMultiPartyConfEnabled) {\n if ((data.interaction.state === STATE_WRAPUP || data.interaction.state === STATE_POST_CALL) &&\n ((_a = interaction.participants[agentId]) === null || _a === void 0 ? void 0 : _a.consultState) === STATE_CONSULT_COMPLETED) {\n return STATE_CONSULT_COMPLETED;\n }\n return getConsultMPCState(data, agentId);\n }\n return interaction.state;\n };\n this.isConferencingAfterConsultCompleted = (data) => {\n const status = this.getStatus(data);\n if (status !== \"consultCompleted\") {\n return false;\n }\n const mediaMainCall = data.interaction.media[data.interactionId];\n const participantsInMainCall = mediaMainCall === null || mediaMainCall === void 0 ? void 0 : mediaMainCall.participants;\n const participants = data.interaction.participants;\n let participantsInCallAfterConsultCompelted = \"\";\n if (participantsInMainCall) {\n participantsInCallAfterConsultCompelted = participantsInMainCall === null || participantsInMainCall === void 0 ? void 0 : participantsInMainCall.filter((participantId) => participants[participantId] &&\n participants[participantId].pType !== CUSTOMER &&\n participants[participantId].pType !== SUPERVISOR &&\n !participants[participantId].hasLeft);\n }\n return participantsInCallAfterConsultCompelted.length >= 2;\n };\n this.getDestPhoneNumber = (interaction, destAgentId) => {\n var _a, _b;\n if (isSecondaryEpDnAgent(interaction)) {\n return interaction.callProcessingDetails.parent_Agent_DN; // return's primary agent ANI.\n }\n return destAgentId\n ? ((_a = interaction.participants[destAgentId]) === null || _a === void 0 ? void 0 : _a.dn) || ((_b = interaction.participants[destAgentId]) === null || _b === void 0 ? void 0 : _b.id)\n : undefined;\n };\n this.getDestAgentName = (interaction, destAgentId) => {\n var _a;\n if (isSecondaryEpDnAgent(interaction)) {\n return interaction.callProcessingDetails.parent_Agent_Name; // return's primary agent name.\n }\n return destAgentId ? (_a = interaction.participants[destAgentId]) === null || _a === void 0 ? void 0 : _a.name : undefined;\n };\n this.getMediaType = (interaction, agentId) => {\n var _a, _b;\n // as interaction object is same for contact and monitoring\n const participantsRole = (_a = interaction.participants[agentId]) === null || _a === void 0 ? void 0 : _a.pType;\n //check if incoming call is a monitoring call or a consult call which is being monitored\n if (((_b = interaction.callProcessingDetails) === null || _b === void 0 ? void 0 : _b.monitorType) === MONITORING_TYPE.MIDCALL &&\n interaction.owner !== agentId &&\n (participantsRole === null || participantsRole === void 0 ? void 0 : participantsRole.toLowerCase()) === SUPERVISOR) {\n return MEDIA_TYPES.MIDCALL_MONITORING;\n }\n return interaction.mediaType;\n };\n this.getTimeStamp = (interaction, agentId) => {\n var _a, _b;\n let owner = agentId;\n if (this.getMediaType(interaction, agentId) === MEDIA_TYPES.MIDCALL_MONITORING) {\n owner = interaction.owner;\n }\n return ((_a = interaction.participants[owner]) === null || _a === void 0 ? void 0 : _a.joinTimestamp) || ((_b = interaction.participants[owner]) === null || _b === void 0 ? void 0 : _b.lastUpdated);\n };\n this.handleTaskDelete = (taskId, deviceType) => {\n const selectedTask = this.taskMap.get(taskId);\n if (selectedTask && selectedTask.interaction.mediaType === MediaType.Telephony) {\n const webexCallId = this.getCallIdForTask(taskId);\n if (deviceType === BROWSER || (webexCallId && webexCallId !== \"\")) {\n dispatchCustomEvent(window, INTERACTION_EVENTS.AX_INTERACTION_DELETE, taskId);\n }\n handlePresenceStateReset(taskId);\n }\n };\n this.flattenTaskForInteractionControl = (data, agentId, hasCustomerLeft = false, isConvNotFound = false) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5;\n const mediaType = this.getMediaType(data.interaction, agentId);\n const isWxccMPCEnabled = STORE.app.featureFlags.isWxccMultiPartyConfEnabled;\n //If agent not in consult, then destAgentId will be empty. Else it will be of the other agent who is in consult with this agent\n const destAgentId = this.calculateDestAgentId(toJS(data.interaction), agentId);\n const destAgentIdForFetchingDestType = this.calculateDestAgentIdForFetchingDestType(toJS(data.interaction), agentId);\n const isConferenceInProgress = getIsConferenceInProgress(data);\n return {\n customerName: data.interaction.callProcessingDetails.customerName,\n mediaType,\n mediaChannel: data.interaction.mediaChannel,\n queueId: data.interaction.callProcessingDetails.QueueId,\n ani: data.interaction.callProcessingDetails.ani,\n displayAni: data.interaction.callProcessingDetails.displayAni,\n orgId: data.orgId,\n isFcManaged: data.interaction.isFcManaged,\n owner: data.interaction.owner,\n reasonCode: data.reasonCode,\n interactionId: data.interactionId,\n mediaResourceId: findMediaResourceId(data.interaction.media, \"mainCall\"),\n isConsulted: getIsConsultedAgent(data),\n state: this.getStatus(data),\n destAgentId,\n destAgentPhoneNumber: this.getDestPhoneNumber(data.interaction, destAgentIdForFetchingDestType),\n destAgentName: this.getDestAgentName(data.interaction, destAgentIdForFetchingDestType) ||\n data.interaction.callProcessingDetails.consultDestinationAgentName,\n destAgentType: destAgentIdForFetchingDestType\n ? (_a = data.interaction.participants[destAgentIdForFetchingDestType]) === null || _a === void 0 ? void 0 : _a.type\n : undefined,\n consultHold: findHoldStatus(data, \"consult\"),\n consultMediaResourceId: findMediaResourceId(data.interaction.media, \"consult\"),\n isTerminated: data.interaction.isTerminated,\n agentId,\n ownerName: data.interaction.owner ? (_b = data.interaction.participants[data.interaction.owner]) === null || _b === void 0 ? void 0 : _b.name : undefined,\n ownerPhoneNumber: data.interaction.owner ? (_c = data.interaction.participants[data.interaction.owner]) === null || _c === void 0 ? void 0 : _c.dn : undefined,\n isWrapUp: (_d = data.interaction.participants[agentId]) === null || _d === void 0 ? void 0 : _d.isWrapUp,\n hasJoined: (_e = data.interaction.participants[agentId]) === null || _e === void 0 ? void 0 : _e.hasJoined,\n isOffered: (_g = (_f = data.interaction.participants[agentId]) === null || _f === void 0 ? void 0 : _f.isOffered) !== null && _g !== void 0 ? _g : false,\n dnis: data.interaction.callProcessingDetails.dnis,\n phoneNumber: data.interaction.callProcessingDetails.displayAni,\n virtualTeamName: data.interaction.callProcessingDetails.virtualTeamName,\n ivrPath: data.interaction.callProcessingDetails.IvrPath,\n pathId: data.interaction.callProcessingDetails.pathId,\n ronaTimeout: data.interaction.callProcessingDetails.ronaTimeout,\n category: data.interaction.callProcessingDetails.category,\n additionalDetails: data.interaction.callProcessingDetails.reason,\n sourceNumber: data.interaction.callProcessingDetails.sourceNumber,\n sourcePage: data.interaction.callProcessingDetails.sourcePage,\n appUser: data.interaction.callProcessingDetails.appUser,\n customerNumber: data.interaction.callProcessingDetails.customerNumber,\n isConferencing: ((_h = data.interaction.participants[agentId]) === null || _h === void 0 ? void 0 : _h.hasJoined) &&\n !((_j = data.interaction.participants[agentId]) === null || _j === void 0 ? void 0 : _j.hasLeft) &&\n (this.getStatus(data) === STATE_CONFERENCE || this.isConferencingAfterConsultCompleted(data)),\n isRecordingPaused: data.interaction.callProcessingDetails.isPaused === \"true\",\n isRecorded: data.interaction.callProcessingDetails.recordInProgress === \"true\",\n isPauseResumeEnabled: data.interaction.callProcessingDetails.pauseResumeEnabled === \"true\",\n recordingPauseDuration: data.interaction.callProcessingDetails.pauseDuration,\n contactDirection: data.interaction.contactDirection.type,\n outboundType: data.interaction.outboundType,\n isHold: findHoldStatus(data, \"mainCall\"),\n ctqInProgress: ((_k = data.interaction.callProcessingDetails) === null || _k === void 0 ? void 0 : _k.ctqInProgress) === \"true\",\n outdialTransferToQueueEnabled: ((_l = data.interaction.callProcessingDetails) === null || _l === void 0 ? void 0 : _l.outdialTransferToQueueEnabled) === \"true\",\n timeStamp: this.getTimeStamp(data.interaction, agentId),\n consultTimeStamp: ((_m = data.interaction.participants[agentId]) === null || _m === void 0 ? void 0 : _m.consultTimestamp) || ((_o = data.interaction.participants[agentId]) === null || _o === void 0 ? void 0 : _o.lastUpdated),\n wrapUpAssistTimestamp: (_p = data.interaction.participants[agentId]) === null || _p === void 0 ? void 0 : _p.wrapUpTimestamp,\n wrapUpTimestamp: ((_q = data.interaction.participants[agentId]) === null || _q === void 0 ? void 0 : _q.isWrapUp)\n ? (_r = data.interaction.participants[agentId]) === null || _r === void 0 ? void 0 : _r.lastUpdated\n : (_s = data.interaction.participants[agentId]) === null || _s === void 0 ? void 0 : _s.wrapUpTimestamp,\n holdTimestamp: findHoldTimestamp(data.interaction, \"mainCall\"),\n consultHoldTimestamp: findHoldTimestamp(data.interaction, \"consult\"),\n callAssociatedData: toJS(data.interaction.callAssociatedData),\n hasCustomerLeft,\n isConvNotFound,\n updatedBy: data.updatedBy,\n isOwner: isOwner(data.interaction, agentId),\n parentInteractionId: data.interaction.callProcessingDetails.parentInteractionId,\n EpDnConsultDestinationAgentJoined: ((_u = (_t = data.interaction) === null || _t === void 0 ? void 0 : _t.callProcessingDetails) === null || _u === void 0 ? void 0 : _u.consultDestinationAgentJoined) === \"true\" ? true : false,\n isSecondaryEpDnAgent: isSecondaryEpDnAgent(data.interaction) ? true : false,\n monitoringStartTime: ((_v = data.interaction.participants[STORE.agent.agentId]) === null || _v === void 0 ? void 0 : _v.joinTimestamp) || DateTime.now().toMillis(),\n type: data.type,\n isMonitoringOnHold: ((_w = data.interaction.participants[STORE.agent.agentId]) === null || _w === void 0 ? void 0 : _w.isOnHold) || false,\n monitoringHoldTimer: ((_x = data.interaction.participants[STORE.agent.agentId]) === null || _x === void 0 ? void 0 : _x.holdTimestamp) || DateTime.now().toMillis(),\n isCallMute: this.isCallMuted,\n isBargedIn: data.interaction.owner !== agentId &&\n ((_z = (_y = data.interaction.participants[agentId]) === null || _y === void 0 ? void 0 : _y.pType) === null || _z === void 0 ? void 0 : _z.toLowerCase()) === SUPERVISOR &&\n ((_1 = (_0 = data.interaction.participants[agentId]) === null || _0 === void 0 ? void 0 : _0.monitoringDetails) === null || _1 === void 0 ? void 0 : _1.type) === BARGE_IN_MONITORING_STATE,\n bargedInTimeStamp: ((_3 = (_2 = data.interaction.participants[agentId]) === null || _2 === void 0 ? void 0 : _2.monitoringDetails) === null || _3 === void 0 ? void 0 : _3.startTimestamp) || DateTime.now().toMillis(),\n fcDesktopViewCad: getFCValue(data),\n primaryMediaParticipants: getPrimaryMediaParticipants(data),\n isConsultEnabledForMPC: getIsConsultEnabledForMPC(data, isWxccMPCEnabled, agentId),\n isConsultInProgress: getIsConsultInProgress(data),\n isConferenceInProgress,\n isWrapUpAssist: !STORE.app.featureFlags.isWxccPostCallEnabled && getIsWrapupAssist(data.interaction),\n isSecondaryAgentCBT: getIsSecondaryAgentCBT(data.interaction, destAgentIdForFetchingDestType),\n postCallTimestamp: (_4 = data.interaction.participants[agentId]) === null || _4 === void 0 ? void 0 : _4.currentStateTimestamp,\n isInteractionInPostCall: STORE.app.featureFlags.isWxccPostCallEnabled && data.interaction.state === STATE_POST_CALL,\n isAmdDetectedInCallback: ((_5 = data.interaction.callProcessingDetails) === null || _5 === void 0 ? void 0 : _5.callbackCpaResult) === \"AMD\"\n };\n };\n this.flattenTaskForTaskList = (data, agentId) => {\n var _a, _b, _c, _d, _e, _f, _g;\n return {\n customerName: data.interaction.callProcessingDetails.customerName,\n mediaType: this.getMediaType(data.interaction, agentId),\n mediaChannel: data.interaction.mediaChannel,\n ani: data.interaction.callProcessingDetails.ani,\n displayAni: data.interaction.callProcessingDetails.displayAni,\n interactionId: data.interactionId,\n isConsulted: getIsConsultedAgent(data),\n state: this.getStatus(data),\n outboundType: data.interaction.outboundType,\n consultHold: findHoldStatus(data, \"consult\"),\n dnis: data.interaction.callProcessingDetails.dnis,\n virtualTeamName: data.interaction.callProcessingDetails.virtualTeamName,\n appUser: data.interaction.callProcessingDetails.appUser,\n isConferencing: ((_a = data.interaction.participants[agentId]) === null || _a === void 0 ? void 0 : _a.hasJoined) && data.interaction.state === STATE_CONFERENCE,\n contactDirection: data.interaction.contactDirection.type,\n isHold: findHoldStatus(data, \"mainCall\"),\n timeStamp: ((_b = data.interaction.participants[agentId]) === null || _b === void 0 ? void 0 : _b.joinTimestamp) || ((_c = data.interaction.participants[agentId]) === null || _c === void 0 ? void 0 : _c.lastUpdated),\n consultTimeStamp: ((_d = data.interaction.participants[agentId]) === null || _d === void 0 ? void 0 : _d.consultTimestamp) || ((_e = data.interaction.participants[agentId]) === null || _e === void 0 ? void 0 : _e.lastUpdated),\n ownerName: data.interaction.owner ? (_f = data.interaction.participants[data.interaction.owner]) === null || _f === void 0 ? void 0 : _f.name : undefined,\n monitoringStartTime: (_g = data.interaction.participants[STORE.agent.agentId]) === null || _g === void 0 ? void 0 : _g.joinTimestamp,\n type: data.type\n };\n };\n this.isPrimary = (data, agentId) => {\n return data.interaction.owner ? data.interaction.owner === agentId : data.agentId === agentId;\n };\n // /* return interactionId.\n // return parentInteractionId for secondary agent in only EP-DN consult case.\n // */\n this.getInteractionId = () => {\n var _a, _b, _c, _d;\n if (STORE.app.featureFlags.isDesktopConsultToEntryPointDnEnabled &&\n !((_a = STORE.agentContact.taskSelected) === null || _a === void 0 ? void 0 : _a.isOwner) &&\n ((_b = STORE.agentContact.taskSelected) === null || _b === void 0 ? void 0 : _b.parentInteractionId)) {\n return (_c = STORE.agentContact.taskSelected) === null || _c === void 0 ? void 0 : _c.parentInteractionId;\n }\n return (_d = STORE.agentContact.taskSelected) === null || _d === void 0 ? void 0 : _d.interactionId;\n };\n this.getTaskIdFromConvId = (convId) => {\n for (const task of this.taskMap.values()) {\n if ((task.interaction.mediaType === MediaType.Chat || task.interaction.mediaType === MediaType.Social) &&\n ((task.consultMediaResourceId && task.consultMediaResourceId.includes(convId)) ||\n (task.mediaResourceId && task.mediaResourceId.includes(convId)))) {\n logger.info(`event=getTaskIdFromConvId | Getting taskId=${task.interactionId} from convId=${convId} `);\n return this.maskTask(task);\n }\n }\n return undefined;\n };\n this.getMediaMgrFromTask = () => {\n var _a;\n const selectedTask = this.taskMap.get(this.selectedTaskId);\n if (selectedTask) {\n const chatId = selectedTask.mediaResourceId ||\n ((_a = selectedTask.consultMediaResourceId) === null || _a === void 0 ? void 0 : _a.substring(selectedTask.consultMediaResourceId.indexOf(\"_\") + 1));\n return selectedTask.interaction.media[chatId] ? selectedTask.interaction.media[chatId].mediaMgr : null;\n }\n else {\n return null;\n }\n };\n this.getAcceptedTasks = () => {\n const newTask = [];\n this.taskMap.forEach((task) => {\n if (!(this.isAgentContactInRingingState(task) ||\n this.isAgentContactInOfferConsultState(task, STORE.agent.agentId) ||\n isAgentContactInOfferConferenceState(task, STORE.agent.agentId))) {\n newTask.push(task);\n }\n });\n return newTask;\n };\n this.handleDefaultFocus = () => {\n if (this.taskMap.size === 0) {\n document.dispatchEvent(new CustomEvent(AGENTX_DEFAULT_FOCUS));\n }\n };\n //CX-3596 Method required to check if the navigation is happening by navbar in case of Telephony , in this case dont show warn on navigation\n this.checkTelephonyTask = () => {\n for (const task of this.taskMap.values()) {\n if (this.selectedTaskId === task.interactionId && task.interaction.mediaType === MediaType.Telephony) {\n return false;\n }\n }\n return true;\n };\n this.isCADExpanded = () => {\n if (STORE.agentContact.taskSelected &&\n this.isTelephoneOrMidcall &&\n STORE.app.isVoiceIntPaneUpdatedByUser !== null) {\n // If user expanded/collapsed interaction control, fetch that state on navigating to Voice interaction task\n return STORE.app.isVoiceIntPaneUpdatedByUser;\n }\n else if (STORE.agentContact.taskSelected &&\n this.isTelephoneOrMidcall &&\n STORE.app.isVoiceIntPaneUpdatedByUser === null) {\n // If user did not change interaction control state(expand/collapse), then fetch from json configuration\n return !STORE.app.collapseVoiceIntPane;\n }\n else {\n return false;\n }\n };\n this.getCallIdForTask = (taskId) => {\n const isSuppressWebexNotificationsFeatureEnabled = STORE.app.featureFlags.isSuppressWebexCallingNotificationEnabled &&\n localStorage.getItem(\"desktop-hide-webex-calling-notifications-setting\") === \"true\";\n if (isSuppressWebexNotificationsFeatureEnabled) {\n const selectedTask = this.taskMap.get(taskId);\n if (selectedTask) {\n const participants = selectedTask.interaction.participants;\n if (participants) {\n const agentParticipants = Object.values(participants).filter((participant) => participant &&\n (participant === null || participant === void 0 ? void 0 : participant.id) === STORE.agent.agentId &&\n (participant === null || participant === void 0 ? void 0 : participant.deviceCallId) &&\n (participant === null || participant === void 0 ? void 0 : participant.deviceCallId.trim()) !== \"\");\n if (agentParticipants.length > 0) {\n const participant = agentParticipants[0];\n return participant.deviceCallId;\n }\n }\n }\n }\n return undefined;\n };\n this.updateConsultingAgentTask = (data) => {\n const custEvent = {\n detail: {\n message: data.interaction.mediaType === MediaType.Telephony\n ? getErrorMsgForReasonCode(data.reasonCode) || t(\"app:consult.consultFailed\")\n : getErrorMsgForReasonCode(data.reasonCode) || t(\"app:consult.conferenceFailed\"),\n trackingId: data.trackingId\n }\n };\n STORE.agentContact.updateForConsultFailed(data);\n if ((STORE.app.featureFlags.isWxccMultiPartyConfEnabled || STORE.app.featureFlags.isWxccPersistCallEnabled) &&\n data.interaction.state === \"consult\") {\n STORE.session.errorModal.setErrorDetails(custEvent);\n }\n // Handling to avoid show error in Transfer modal inline as well as Error Modal in case of AgentConsultFailed\n if (data.interaction.state !== \"consult\" && data.interaction.state !== \"none\") {\n STORE.session.errorModal.setErrorDetails(custEvent);\n }\n };\n this.checkParticipantNotInInteraction = (agentId, data) => {\n return (!(agentId in data.interaction.participants) ||\n (agentId in data.interaction.participants && data.interaction.participants[agentId].hasLeft));\n };\n this.removeTaskOnConsultEnd = (interaction) => {\n this.deleteAndSelectNextTask(interaction.interactionId);\n if (interaction.mediaType === MediaType.Chat || interaction.mediaType === MediaType.Social) {\n STORE.session.chat.deleteUnreadMessages(interaction.interactionId);\n }\n this.updateLastCompletedTask(\"\");\n };\n this.updateInteractionAndMediaObject = (data) => {\n const task = this.taskMap.get(data.interactionId);\n if (task && task.interaction.participants && task.interaction.media) {\n task.interaction.participants = data.interaction.participants;\n task.interaction.media = data.interaction.media;\n task.interaction.state = data.interaction.state;\n this.taskMap.set(data.interactionId, task);\n this.copyTaskMap.set(task.interactionId, task);\n }\n };\n this.updateTaskForParticipant = (data, agentId) => {\n //if agent is primary, update task\n //else remove task on consult end\n if (this.isPrimary(data, agentId)) {\n this.resetInteractionControlDimensions();\n this.updateTask(data);\n }\n else {\n this.removeTaskOnConsultEnd(data.interaction);\n }\n };\n this.updateTaskForPersistCallOrMPC = (data, agentId) => {\n //if agent is primary, update interaction and media object,\n //else remove task on consult end\n if (isParticipantInMainInteraction(data.interaction, agentId) || this.isPrimary(data, agentId)) {\n this.resetInteractionControlDimensions();\n this.updateInteractionAndMediaObject(data);\n }\n else {\n this.removeTaskOnConsultEnd(data.interaction);\n }\n };\n this.getTotalAgentParticipants = (currentParticipants) => {\n return Object.values(currentParticipants).filter((currentParticipant) => currentParticipant.pType === AGENT && currentParticipant.hasJoined).length;\n };\n this.getParticipantLeft = (data) => {\n var _a, _b;\n const prevTask = this.taskMap.get(data.interactionId);\n let participantLeft;\n if (prevTask) {\n const prevParticipants = (_a = prevTask.interaction) === null || _a === void 0 ? void 0 : _a.participants;\n participantLeft = data.participantId ? (_b = prevParticipants[data.participantId]) === null || _b === void 0 ? void 0 : _b.name : undefined;\n }\n return {\n participantName: participantLeft,\n totalParticipants: this.getTotalAgentParticipants(data.interaction.participants)\n };\n };\n this.getParticipantAdded = (data) => {\n var _a, _b;\n const currentParticipants = (_a = data.interaction) === null || _a === void 0 ? void 0 : _a.participants;\n return {\n participantName: data.participantId ? (_b = currentParticipants[data.participantId]) === null || _b === void 0 ? void 0 : _b.name : undefined,\n totalParticipants: this.getTotalAgentParticipants(data.interaction.participants)\n };\n };\n this.updateTaskOnParticipantLeft = (data, agentId) => {\n const { participantName, totalParticipants } = this.getParticipantLeft(data);\n if (participantName && totalParticipants) {\n window.dispatchEvent(new CustomEvent(AX_ANNOUNCEMENT_UPDATE, {\n detail: {\n thisEvent: {\n message: `${participantName} ${t(\"app:common.leftConference\", \"\", { count: totalParticipants })}`\n }\n }\n }));\n }\n if (STORE.app.featureFlags.isWxccPersistCallEnabled) {\n //if the persist call ff is ON, check if agent has left or not [check if his id is in participants and hasLeft is true, or not in participants]\n if (this.checkParticipantNotInInteraction(agentId, data)) {\n //if agent has left the interaction, go to check for primary agent and update, else remove for secondary agent\n this.updateTaskForPersistCallOrMPC(data, agentId);\n }\n else {\n //else update interaction and media directly\n this.updateInteractionAndMediaObject(data);\n }\n //on ff removal, the above if-else needs to be kept as is\n }\n else if (STORE.app.featureFlags.isWxccMultiPartyConfEnabled) {\n //if only the multi party ff is ON, go to check for primary agent and update, else remove for secondary agent\n this.updateTaskForPersistCallOrMPC(data, agentId);\n }\n else {\n //else go to check for primary agent and update full task, else remove for secondary agent\n this.updateTaskForParticipant(data, agentId);\n }\n };\n this.handleAgentContactAssignFailure = (data) => {\n if (isDigitalOutbound(data.interaction)) {\n logger.info(\"[Digital]: Agent contact assign failure for interactionId \", data.interactionId);\n STORE.session.errorModal.setErrorDetails({\n detail: {\n modalType: \"dialog\",\n message: t(\"app:outbound.errorDigitalOutboundAcceptFailed\"),\n trackingId: data.trackingId\n }\n });\n }\n };\n }\n maskTask(task) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n if (!STORE.agent.getIsMaskSensitiveDataEnabled || !task.interaction || typeof maskSensitiveData !== \"function\") {\n return Object.assign(Object.assign({}, task), { interaction: Object.assign(Object.assign({}, task === null || task === void 0 ? void 0 : task.interaction), { callProcessingDetails: Object.assign(Object.assign({}, (_a = task === null || task === void 0 ? void 0 : task.interaction) === null || _a === void 0 ? void 0 : _a.callProcessingDetails), { displayAni: (_c = (_b = task === null || task === void 0 ? void 0 : task.interaction) === null || _b === void 0 ? void 0 : _b.callProcessingDetails) === null || _c === void 0 ? void 0 : _c.ani }) }) });\n }\n const maskedCallProcessingDetails = Object.assign(Object.assign({}, task.interaction.callProcessingDetails), { displayAni: maskSensitiveData((_d = task.interaction.callProcessingDetails) === null || _d === void 0 ? void 0 : _d.ani), customerName: maskSensitiveData((_e = task.interaction.callProcessingDetails) === null || _e === void 0 ? void 0 : _e.customerName), appUser: maskSensitiveData((_f = task.interaction.callProcessingDetails) === null || _f === void 0 ? void 0 : _f.appUser), customerNumber: maskSensitiveData((_g = task.interaction.callProcessingDetails) === null || _g === void 0 ? void 0 : _g.customerNumber), sourceNumber: task.interaction.contactDirection.type === OUTBOUND\n ? (_h = task.interaction.callProcessingDetails) === null || _h === void 0 ? void 0 : _h.sourceNumber\n : maskSensitiveData((_j = task.interaction.callProcessingDetails) === null || _j === void 0 ? void 0 : _j.sourceNumber), dnis: maskSensitiveData((_k = task.interaction.callProcessingDetails) === null || _k === void 0 ? void 0 : _k.dnis) });\n let maskCallAssociatedDataTask;\n if (task.interaction.contactDirection.type === OUTBOUND) {\n maskCallAssociatedDataTask = this.maskCallAssociatedData(task, DN);\n }\n else {\n maskCallAssociatedDataTask = this.maskCallAssociatedData(task, ANI);\n maskCallAssociatedDataTask = this.maskCallAssociatedData(maskCallAssociatedDataTask, SOURCENUMBER);\n maskCallAssociatedDataTask = this.maskCallAssociatedData(maskCallAssociatedDataTask, CUSTOMERNUMBER);\n }\n return Object.assign(Object.assign({}, task), { interaction: Object.assign(Object.assign({}, task.interaction), { callProcessingDetails: maskedCallProcessingDetails, callAssociatedData: maskCallAssociatedDataTask.interaction.callAssociatedData }) });\n }\n maskCallAssociatedData(task, property) {\n var _a, _b, _c;\n let maskedCallAssociatedData;\n const callAssociatedData = (_a = task.interaction) === null || _a === void 0 ? void 0 : _a.callAssociatedData;\n if ((callAssociatedData === null || callAssociatedData === void 0 ? void 0 : callAssociatedData[property]) &&\n ((_b = callAssociatedData === null || callAssociatedData === void 0 ? void 0 : callAssociatedData[property]) === null || _b === void 0 ? void 0 : _b.value) &&\n typeof ((_c = callAssociatedData === null || callAssociatedData === void 0 ? void 0 : callAssociatedData[property]) === null || _c === void 0 ? void 0 : _c.value) === \"string\") {\n const maskedValue = maskSensitiveData(callAssociatedData[property].value);\n maskedCallAssociatedData = Object.assign(Object.assign({}, callAssociatedData), { [property]: Object.assign(Object.assign({}, callAssociatedData[property]), { value: maskedValue }) });\n }\n else {\n maskedCallAssociatedData = callAssociatedData;\n }\n return Object.assign(Object.assign({}, task), { interaction: Object.assign(Object.assign({}, task.interaction), { callAssociatedData: maskedCallAssociatedData }) });\n }\n get getEngagedStatus() {\n return this.getAcceptedTasks().length > 0;\n }\n get getIsAgentOnActiveCall() {\n const taskArr = [...this.taskMap.values()];\n return taskArr.some((task) => task.interaction && this.getMediaType(task.interaction, STORE.agent.agentId) === MediaType.Telephony);\n }\n checkBeforeNavigatingTask(taskId) {\n if (!STORE.common.isInteractionModelOpen) {\n if (STORE.agentContact.checkBeforeNavigation) {\n STORE.routing.showNavigationErrorModal(() => {\n STORE.agentContact.selectedTaskChange(taskId);\n STORE.routing.navigateTask(taskId);\n });\n }\n else {\n STORE.agentContact.selectedTaskChange(taskId);\n STORE.routing.navigateTask(taskId);\n }\n }\n }\n get isTelephoneOrMidcall() {\n var _a, _b;\n return (((_a = STORE.agentContact.taskSelected) === null || _a === void 0 ? void 0 : _a.mediaType) === MediaType.Telephony ||\n ((_b = STORE.agentContact.taskSelected) === null || _b === void 0 ? void 0 : _b.mediaType) === MediaType.Midcall);\n }\n checkBeforeSelectingTask(taskId) {\n if (!STORE.app.stopNavigateOnAcceptTask || STORE.routing.currentRouteName === RouteName.TASK) {\n this.checkBeforeNavigatingTask(taskId);\n }\n }\n checkReplies() {\n this.checkNewReplies = !this.checkNewReplies;\n }\n isTaskRinging(taskId) {\n const data = this.taskMap.get(taskId);\n if (data) {\n return (this.isAgentContactInRingingState(data) || this.isAgentContactInOfferConsultState(data, STORE.agent.agentId));\n }\n return false;\n }\n get showNewReplyButton() {\n return this.showNewReply;\n }\n get showArrowUp() {\n return this.showArrow;\n }\n // Check to determine is there are any active tasks.\n isTaskPresent() {\n // returns true which indicates there are active task with agent.\n return this.taskMap.size > 0;\n }\n // Check to determine is there more than one task.\n isAgentHandlingMoreThanOneTask() {\n return this.taskMap.size > 1;\n }\n /**\n * Computed block\n */\n get contact() {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n return {\n mediaViewInitState: STORE.session.chat.mediaInitState ? STORE.session.chat.mediaInitState : { state: \"LOADING\" },\n mediaResourceId: (_b = (_a = this.taskSelected) === null || _a === void 0 ? void 0 : _a.mediaResourceId) !== null && _b !== void 0 ? _b : \"\",\n mediaType: (_d = (_c = this.taskSelected) === null || _c === void 0 ? void 0 : _c.mediaType) !== null && _d !== void 0 ? _d : \"\",\n customerName: (_f = (_e = this.taskSelected) === null || _e === void 0 ? void 0 : _e.customerName) !== null && _f !== void 0 ? _f : \"\",\n queueId: (_h = (_g = this.taskSelected) === null || _g === void 0 ? void 0 : _g.queueId) !== null && _h !== void 0 ? _h : \"\",\n enterpriseId: STORE.agent.enterpriseId,\n chatMessages: STORE.session.chat.chatMessage\n };\n }\n get shouldDisableOutdialForExclusive() {\n if (STORE.app.featureFlags.isWxccAllowOutdialCallAlwaysEnabled) {\n return false;\n }\n return STORE.agent.profileType === \"EXCLUSIVE\" && this.taskMap.size !== 0;\n }\n get taskSelected() {\n if (STORE.routing.currentRouteName === RouteName.TASKPANEL || STORE.routing.currentRouteName === RouteName.TASK) {\n const newTask = this.taskMap.get(this.selectedTaskId);\n if (newTask) {\n const hasCustomerLeft = STORE.session.chat.hasCustomerLeft.get(newTask.interactionId);\n const isConvNotFound = STORE.session.chat.isConvNotFound.get(newTask.interactionId);\n const maskedTask = toJS(this.flattenTaskForInteractionControl(this.maskTask(newTask), STORE.agent.agentId, hasCustomerLeft, isConvNotFound));\n return maskedTask !== null && maskedTask !== void 0 ? maskedTask : null;\n }\n }\n else {\n for (const task of this.taskMap.values()) {\n if (task.interaction.mediaType === MediaType.Telephony &&\n !(this.isAgentContactInRingingState(task) ||\n this.isAgentContactInOfferConsultState(task, STORE.agent.agentId) ||\n this.isSupervisorInMonitorOfferState(task, STORE.agent.agentId))) {\n const maskedTask = toJS(this.flattenTaskForInteractionControl(this.maskTask(task), STORE.agent.agentId));\n return maskedTask !== null && maskedTask !== void 0 ? maskedTask : null;\n }\n }\n }\n return null;\n }\n get isNotTelephoneOrMidcall() {\n var _a, _b;\n return (((_a = STORE.agentContact.taskSelected) === null || _a === void 0 ? void 0 : _a.mediaType) !== MediaType.Telephony &&\n ((_b = STORE.agentContact.taskSelected) === null || _b === void 0 ? void 0 : _b.mediaType) !== MediaType.Midcall);\n }\n get callPersistence() {\n if (STORE.routing.currentRouteName === RouteName.TASKPANEL || STORE.routing.currentRouteName === RouteName.TASK) {\n return this.isCADExpanded();\n }\n else {\n return false;\n }\n }\n get isMediaTypeTelePhony() {\n var _a;\n return ((_a = STORE.agentContact.taskSelected) === null || _a === void 0 ? void 0 : _a.mediaType) === MediaType.Telephony ? true : false;\n }\n get taskMapForPopover() {\n const popoverTaskMap = {};\n this.taskMap.forEach((task, key) => {\n if (task.type === \"AgentContactReserved\" ||\n task.type === \"MonitoringOffered\" ||\n (this.popoverEventTypes.includes(task.type) &&\n this.isNonTerminatedTask(task) &&\n this.isValidEventForPopover(task))) {\n popoverTaskMap[key] = this.maskTask(task);\n }\n });\n return popoverTaskMap;\n }\n get taskArray() {\n return this.getAcceptedTasks().map((task) => this.flattenTaskForTaskList(this.maskTask(task), STORE.agent.agentId));\n }\n get isActiveCall() {\n for (const task of this.taskMap.values()) {\n if (task.interaction.mediaType === MediaType.Telephony) {\n return true;\n }\n }\n return false;\n }\n get newPopoverCount() {\n return this.newOfferPopoverCount;\n }\n get isDefinedIvrTranscript() {\n const selectedTask = this.taskMap.get(this.selectedTaskId);\n const convIvrTranscript = selectedTask === null || selectedTask === void 0 ? void 0 : selectedTask.interaction.callProcessingDetails.convIvrTranscript;\n return JSON.parse(convIvrTranscript || \"false\");\n }\n get getCallGuideProps() {\n var _a, _b, _c, _d, _e;\n if (((_a = this.taskSelected) === null || _a === void 0 ? void 0 : _a.outboundType) && ((_b = this.taskSelected) === null || _b === void 0 ? void 0 : _b.callAssociatedData)) {\n return {\n LCMKey: toJS((_c = this.taskSelected) === null || _c === void 0 ? void 0 : _c.callAssociatedData).LCMKey.value,\n outboundType: (_d = this.taskSelected) === null || _d === void 0 ? void 0 : _d.outboundType,\n owner: (_e = this.taskSelected) === null || _e === void 0 ? void 0 : _e.owner\n };\n }\n return undefined;\n }\n get getCADSectionOpenStatus() {\n return this.openCADSection;\n }\n get getMainCadSectionStatus() {\n if (!this.openCADSection) {\n return this.interactionControlCAD.isMainContainerCADExpanded;\n }\n return false;\n }\n get getcheckReplies() {\n return this.checkNewReplies;\n }\n get getConsultCadSectionStatus() {\n if (!this.openCADSection) {\n return this.interactionControlCAD.isConsultContainerCADExpanded;\n }\n return false;\n }\n setInteractionIds(interactionIds) {\n this.interactionIds = interactionIds;\n }\n removeAutoCompleteTasks() {\n this.taskMap.forEach((data) => {\n if (!this.interactionIds.includes(data.interactionId)) {\n this.copyTaskMap.delete(data.interactionId);\n }\n });\n this.taskMap = this.copyTaskMap;\n }\n /**\n * Actions block\n */\n selectedTaskChange(taskId) {\n this.selectedTaskId = taskId;\n dispatchCustomEvent(window, INTERACTION_EVENTS.AX_SELECTED_INTERACTION_CHANGED, taskId);\n }\n selectedQueueStatsQueueChange(queueId) {\n this.selectedQueueId = queueId;\n }\n //TODO: to be removed as its a workaround for props not rendering in interaction control in wrap up on reload\n rerenderTaskMap() {\n this.taskMap = this.copyTaskMap;\n }\n //TODO: Once task is completed (wrapped up), complted task is should be updated in the store STORE.agentContact.lastcompletedtask.taskId? -->\n updateLastCompletedTask(taskId) {\n this.lastCompletedTask = taskId;\n }\n updateCadSectionDimension(key, value) {\n this.interactionControlDimension[key] = value;\n }\n setInteractionControlDimensions() {\n if (this.interactionControlDimension.consultCallContainerHeight > mainICHeight) {\n this.interactionControlDimension.mainCallContainerHeight = mainICHeight;\n this.interactionControlDimension.consultCallContainerHeight = consultICHeight;\n }\n else {\n this.interactionControlDimension.mainCallContainerHeight = mainICHeight;\n }\n }\n toggleInteractionControlCADSection(isOpen) {\n if (isOpen) {\n this.openCADSection = true;\n this.interactionControlCAD.isMainContainerCADExpanded =\n this.interactionControlDimension.mainCallContainerHeight > mainICHeight;\n this.interactionControlCAD.isConsultContainerCADExpanded =\n this.interactionControlDimension.consultCallContainerHeight > mainICHeight;\n this.setInteractionControlDimensions();\n }\n else {\n this.openCADSection = false;\n }\n }\n updateRecordingStatus(taskId, isPaused) {\n if (this.taskMap.has(taskId)) {\n const task = this.taskMap.get(taskId);\n if (task) {\n task.interaction.callProcessingDetails.isPaused = isPaused;\n this.taskMap.set(taskId, task);\n }\n }\n }\n updateRecordingProps(newTask) {\n const task = this.taskMap.get(newTask.interactionId);\n if (task) {\n task.interaction.callProcessingDetails.recordInProgress =\n newTask.interaction.callProcessingDetails.recordInProgress;\n task.interaction.callProcessingDetails.pauseDuration = newTask.interaction.callProcessingDetails.pauseDuration;\n task.interaction.callProcessingDetails.pauseResumeEnabled =\n newTask.interaction.callProcessingDetails.pauseResumeEnabled;\n task.interaction.callProcessingDetails.isPaused = newTask.interaction.callProcessingDetails.isPaused;\n this.taskMap.set(newTask.interactionId, task);\n }\n }\n updateShowNewReply(flag) {\n this.showNewReply = flag;\n }\n updateShowArrowUp(flag) {\n this.showArrow = flag;\n }\n updateHeldUnheldProps(newTask) {\n const task = this.taskMap.get(newTask.interactionId);\n if (task) {\n task.interaction = newTask.interaction;\n this.taskMap.set(newTask.interactionId, task);\n }\n }\n updateHeldUnheldPropsMonitoring(newTask) {\n const task = this.taskMap.get(newTask.interactionId);\n if (task) {\n // setting isOnHold and holdTimestamp properties of supervisor participants for hold and unhold events\n if (newTask.type === \"MonitoringHeld\") {\n task.interaction.participants[STORE.agent.agentId].isOnHold = true;\n task.interaction.participants[STORE.agent.agentId].holdTimestamp = DateTime.now().toMillis();\n }\n else if (newTask.type === \"MonitoringUnHeld\") {\n task.interaction.participants[STORE.agent.agentId].isOnHold = false;\n task.interaction.participants[STORE.agent.agentId].holdTimestamp = 0;\n }\n task.type = newTask.type;\n this.taskMap.set(newTask.interactionId, task);\n }\n }\n updateBargeInProps(bargeInDetails) {\n const task = this.taskMap.get(bargeInDetails.interactionId);\n if (task) {\n task.type = bargeInDetails.type;\n task.interaction = bargeInDetails.interaction;\n this.taskMap.set(bargeInDetails.interactionId, task);\n }\n }\n get getAgentCallMonitoringStateDetails() {\n const selectedTask = this.taskMap.get(this.selectedTaskId);\n if (this.agentCallMonitoringState &&\n selectedTask &&\n this.agentCallMonitoringState.interactionId === selectedTask.interactionId) {\n return this.agentCallMonitoringState;\n }\n return undefined;\n }\n get getWebexCallingCallId() {\n return this.getCallIdForTask(this.selectedTaskId);\n }\n setAgentCallMonitoringStateDetails(agentCallMonitoringStateDetails) {\n this.agentCallMonitoringState = agentCallMonitoringStateDetails;\n }\n updateAgentCallMonitoringStateDetails(task) {\n this.agentCallMonitoringState = computeAgentCallMonitoringStateDetails(task.interaction);\n }\n updateInteractionAndMediaObjectForMonitorStateChangeEvent(newTask) {\n const task = this.taskMap.get(newTask.interactionId);\n if (task && task.interaction.participants && task.interaction.media) {\n task.interaction.participants = newTask.interaction.participants;\n task.interaction.media = newTask.interaction.media;\n this.taskMap.set(newTask.interactionId, task);\n }\n }\n removeSupervisorFromInteractionAndMediaObject(newTask) {\n const task = this.taskMap.get(newTask.taskId);\n if (!task) {\n return;\n }\n const { interaction } = task;\n const supervisorId = newTask.supervisorId;\n // Remove supervisor from interaction participants\n if (interaction.participants[supervisorId]) {\n delete interaction.participants[supervisorId];\n }\n // Remove supervisor from media participants\n const mainLegInteractionId = interaction.mainInteractionId;\n if (mainLegInteractionId && interaction.media[mainLegInteractionId]) {\n interaction.media[mainLegInteractionId].participants = interaction.media[mainLegInteractionId].participants.filter((participantId) => participantId !== supervisorId);\n }\n this.taskMap.set(task.interactionId, task);\n }\n handleConfParticipantJoined(newTask) {\n const { participantName, totalParticipants } = this.getParticipantAdded(newTask);\n if (participantName && totalParticipants) {\n window.dispatchEvent(new CustomEvent(AX_ANNOUNCEMENT_UPDATE, {\n detail: {\n thisEvent: {\n message: `${participantName} ${t(\"app:common.joinedConference\", \"\", { count: totalParticipants })}`\n }\n }\n }));\n }\n this.updateInteractionAndMediaObject(newTask);\n }\n updateCadVariable(newTask) {\n var _a, _b;\n const task = this.taskMap.get(newTask.interactionId);\n const agentId = STORE.agent.agentId;\n // Update callProcessingDetails object, when changes in consultDestinationAgentJoined flag on EP-DN consult scenario\n if (task &&\n STORE.app.featureFlags.isDesktopConsultToEntryPointDnEnabled &&\n ((_a = newTask.interaction.callProcessingDetails) === null || _a === void 0 ? void 0 : _a.relationshipType) === \"consult\" &&\n ((_b = newTask.interaction.callProcessingDetails) === null || _b === void 0 ? void 0 : _b.consultDestinationAgentJoined)) {\n task.interaction.callProcessingDetails.consultDestinationAgentJoined =\n newTask.interaction.callProcessingDetails.consultDestinationAgentJoined;\n task.interaction.callProcessingDetails.consultDestinationAgentName =\n newTask.interaction.callProcessingDetails.consultDestinationAgentName;\n this.taskMap.set(newTask.interactionId, task);\n }\n // update cad only when one of the particpents updates it.\n if (task &&\n (newTask.updatedBy === agentId ||\n newTask.updatedBy === this.getDestinationAgentId(task === null || task === void 0 ? void 0 : task.interaction.participants, agentId) ||\n newTask.updatedBy === updatedByFc ||\n newTask.updatedBy === updatedByIMI)) {\n task.interaction.callAssociatedData = newTask.interaction.callAssociatedData;\n task.updatedBy = newTask.updatedBy;\n this.taskMap.set(newTask.interactionId, task);\n if (newTask.updatedBy !== agentId && newTask.updatedBy !== updatedByFc && newTask.updatedBy !== updatedByIMI) {\n const notificationData = {\n type: Notifications.ItemMeta.Type.Warn,\n mode: Notifications.ItemMeta.Mode.AutoDismiss,\n title: t(\"app:notifications.CADUpdateTitle\"),\n data: t(\"app:notifications.CADUpdateData\")\n };\n STORE.generalNotifications.fireNotificationEvent(notificationData);\n }\n }\n }\n selectNextTask(nextTaskId) {\n // Updating Store route (id)\n this.selectedTaskChange(nextTaskId);\n if (STORE.routing.currentRouteName === RouteName.TASKPANEL) {\n if (nextTaskId) {\n STORE.routing.navigateTask(nextTaskId);\n }\n else if (STORE.agent.role === SUPERVISOR) {\n STORE.routing.navigate(RouteName.TASK);\n }\n else {\n STORE.routing.navigateHome();\n }\n }\n }\n updateTask(task) {\n if (this.interactionIds.indexOf(task.interactionId) === -1) {\n this.interactionIds.push(task.interactionId);\n }\n this.taskMap.set(task.interactionId, task);\n this.copyTaskMap.set(task.interactionId, task);\n }\n deleteAndSelectNextTask(taskId) {\n if (this.taskMap.has(taskId)) {\n this.deleteTask(taskId);\n }\n STORE.session.ivrTransctipt.deleteTranscript(taskId);\n let nextTaskId = \"\";\n this.taskMap.forEach((data) => {\n if (!this.isAgentContactInRingingState(data)) {\n nextTaskId = data.interactionId;\n }\n });\n if (this.selectedTaskId === taskId) {\n this.selectNextTask(nextTaskId);\n }\n if (this.lastCompletedTask !== taskId) {\n this.updateLastCompletedTask(taskId);\n }\n else {\n this.updateLastCompletedTask(\"\");\n }\n this.handleDefaultFocus();\n }\n deleteTask(taskId, isContactMerged = false) {\n if (!isContactMerged) {\n this.handleTaskDelete(taskId, STORE.agent.deviceType);\n }\n this.taskMap.delete(taskId);\n this.copyTaskMap.delete(taskId);\n if (this.interactionIds.indexOf(taskId) !== -1) {\n const index = this.interactionIds.indexOf(taskId);\n this.interactionIds.splice(index, 1);\n }\n }\n updateForCTQ(taskId) {\n const selectedTask = this.taskMap.get(taskId);\n if (selectedTask) {\n selectedTask.interaction.state = \"connected\";\n this.taskMap.set(taskId, selectedTask);\n }\n }\n updateForCTQFailure(task) {\n const selectedTask = this.taskMap.get(task.interactionId);\n if ((selectedTask === null || selectedTask === void 0 ? void 0 : selectedTask.interaction.state) === STATE_CONSULTING) {\n const custEvent = {\n detail: {\n message: getErrorMsgForReasonCode(task.reasonCode) || t(\"app:consult.cancelCtqFailed\"),\n trackingId: task.trackingId\n }\n };\n STORE.session.errorModal.setErrorDetails(custEvent);\n }\n }\n updateForConsultFailed(task) {\n const selectedTask = this.taskMap.get(task.interactionId);\n if (selectedTask && task.interaction.state !== \"none\") {\n // #CX-4221 issue fix\n selectedTask.interaction.state = task.interaction.state;\n this.taskMap.set(task.interactionId, selectedTask);\n }\n }\n handleAgentConsultFailed(data, agentId) {\n if (STORE.app.featureFlags.isWxccMultiPartyConfEnabled) {\n //Finding agent who started consult, by previous state.\n const task = this.taskMap.get(data.interactionId);\n const previousStatus = task ? this.getStatus(task) : undefined;\n const isConsultingWithEpDn = STORE.app.featureFlags.isAllowConfTransferToEpDnEnabled &&\n getIsConsultedAgentEPDN(task) &&\n previousStatus === STATE_CONSULTING;\n if (previousStatus && (previousStatus === STATE_CONSULT || isConsultingWithEpDn)) {\n this.updateConsultingAgentTask(data);\n }\n else if (isParticipantInMainInteraction(data.interaction, agentId) && task) {\n //Updating conferenced agent UI when consult failed\n task.interaction = data.interaction;\n this.taskMap.set(data.interactionId, task);\n }\n else {\n //If the agent is who was consulted\n STORE.agentContact.deleteAndSelectNextTask(data.interactionId);\n }\n }\n else if (!this.isPrimary(data, agentId)) {\n STORE.agentContact.deleteAndSelectNextTask(data.interactionId);\n }\n else {\n this.updateConsultingAgentTask(data);\n }\n }\n selectAcceptedTask(data, agentId) {\n if (!this.isPrimary(data, agentId)) {\n this.checkBeforeSelectingTask(data.interactionId);\n }\n }\n resetInteractionControlDimensions() {\n this.interactionControlDimension.consultCallContainerHeight = 0;\n }\n handleConsultUpdate(data, agentId) {\n if (STORE.app.featureFlags.isWxccMultiPartyConfEnabled && data.type === AgentConsultEnded) {\n // consult-end event for MPC FF enabled flow\n // updating all agent consult/conferenced agent interaction panel\n isParticipantInMainInteraction(data.interaction, agentId)\n ? this.updateTask(data)\n : this.removeTaskOnConsultEnd(data.interaction);\n }\n else {\n // consult-end event for non-MPC FF enabled flow, conference-end flow and participant-left-conf flow\n this.updateTaskOnParticipantLeft(data, agentId);\n }\n }\n handleConfParticipantLeft(newTask, agentId) {\n if (this.taskMap.get(newTask.interactionId)) {\n this.updateTaskOnParticipantLeft(newTask, agentId);\n }\n }\n handleContactOwnerChanged(data, agentId) {\n const task = this.taskMap.get(data.interactionId);\n if (data.toOwner === agentId) {\n if (task) {\n task.interaction = data.interaction;\n this.taskMap.set(data.interactionId, task);\n this.copyTaskMap.set(task.interactionId, task);\n }\n else {\n STORE.agentContact.updateTask(data);\n STORE.agentContact.checkBeforeSelectingTask(data.interactionId);\n }\n }\n }\n handleConsulting(data, agentId) {\n // Handling for Chat Consult Conference failure as the task gets stuck in consulting state on secondary agent side\n if (!this.isPrimary(data, agentId) &&\n (data.interaction.mediaType === MediaType.Chat || data.interaction.mediaType === MediaType.Social)) {\n return;\n }\n STORE.agentContact.updateTask(data);\n STORE.agentContact.selectAcceptedTask(data, agentId);\n }\n updatePopoverCount(popoverCount) {\n this.newOfferPopoverCount = popoverCount;\n }\n selectTaskOnHomeRoute() {\n const acceptedTasks = this.getAcceptedTasks();\n if (acceptedTasks && acceptedTasks.length > 0) {\n const selectedTask = acceptedTasks.find((task) => task.interaction.mediaType === MediaType.Telephony);\n if (selectedTask) {\n STORE.agentContact.selectedTaskChange(selectedTask.interactionId);\n STORE.routing.navigateTask(selectedTask.interactionId);\n }\n else {\n STORE.agentContact.selectedTaskChange(acceptedTasks[0].interactionId);\n STORE.routing.navigateTask(acceptedTasks[0].interactionId);\n }\n }\n }\n handleContactCleanup(data) {\n this.deleteAndSelectNextTask(data.interactionId);\n if (data.mediaType === MediaType.Chat || data.mediaType === MediaType.Social) {\n STORE.session.chat.deleteUnreadMessages(data.interactionId);\n }\n this.updateLastCompletedTask(\"\");\n }\n handleAbruptMonitoringEnd() {\n if (!this.isMonitoringNotEndedManually) {\n STORE.session.errorModal.setErrorDetails({\n detail: {\n header: t(\"app:monitoring.monitoringEndedTitle\"),\n modalType: \"dialog\",\n message: t(\"app:monitoring.monitoringEndedAbruptly\")\n }\n });\n STORE.browserNotifications.firebrowserNotification(t(\"app:monitoring.monitoringEndedAbruptly\"), t(\"app:monitoring.monitoringEndedTitle\"));\n }\n this.setIsMonitoringNotEndedManually(false);\n }\n handleOutBoundFailed(data) {\n let errorString;\n if (data.interaction.outboundType === \"OUTDIAL\" && !isDigitalOutbound(data.interaction)) {\n const errorMessage = getErrorMsgForReasonCode(data.reasonCode);\n if (errorMessage) {\n errorString = errorMessage;\n }\n else {\n errorString = (data.reason && t(OUTDIAL_ERROR_REASONS[data.reason])) || t(\"app:outbound.errorOutdialFailed\");\n }\n }\n else if (isDigitalOutbound(data.interaction)) {\n /*\n As of today, when DesktopReasonCode feature is Enabled, error messages for a few events are picked based on reasonCode\n However, those error messages are voice specific and need proper restructuring.\n As the DesktopReasonCode feature is not fully developed on desktop, a generic message is shown for\n digital outbound failure scenarios except known scenarios.\n */\n errorString =\n (data.reason && t(OUTBOUND_REASONS_MAPPING[data.reason])) || t(\"app:outbound.errorDigitalOutboundFailed\");\n }\n else if (data.interaction.outboundType === \"CAMPAIGN\") {\n errorString = t(\"app:outbound.errorCampaignFailed\");\n }\n else if (data.interaction.outboundType === \"CALLBACK\") {\n errorString = t(\"app:outbound.errorCallbackFailed\");\n }\n else {\n errorString = t(\"app:outbound.errorOutdialFailed\");\n }\n const custEvent = {\n detail: {\n message: errorString,\n trackingId: data.trackingId\n }\n };\n STORE.session.errorModal.setErrorDetails(custEvent);\n }\n handleChatConferenceFailed(data) {\n const custEvent = {\n detail: {\n message: t(\"app:consult.conferenceFailed\"),\n trackingId: getTrackingIdFromErrorObject(data)\n }\n };\n STORE.session.errorModal.setErrorDetails(custEvent);\n }\n updateCallMonitoringObjAndTriggerNotification(task) {\n var _a, _b, _c;\n const participants = task.interaction.participants;\n if (participants) {\n const bargedSupervisorId = getBargedInSupId(participants);\n if (!bargedSupervisorId) {\n return;\n }\n const agentCallMonitoringState = {\n monitoringType: (_a = participants[bargedSupervisorId].monitoringDetails) === null || _a === void 0 ? void 0 : _a.type,\n supervisorId: bargedSupervisorId,\n supervisorName: participants[bargedSupervisorId].name,\n interactionId: task.interactionId,\n agentId: task.agentId,\n eventTime: (_b = participants[bargedSupervisorId].monitoringDetails) === null || _b === void 0 ? void 0 : _b.startTimestamp\n };\n this.setAgentCallMonitoringStateDetails(agentCallMonitoringState);\n const supervisorName = (_c = participants[bargedSupervisorId]) === null || _c === void 0 ? void 0 : _c.name;\n triggerBargeInNotification(supervisorName);\n }\n }\n updatechatConferenceData(data) {\n this.chatConferenceData = {\n interactionId: data.interactionId,\n destAgentId: data.destAgentId,\n initiateConferenceChat: data.initiateConferenceChat,\n agentId: data.agentId\n };\n }\n updateWarnOnNavigation(data) {\n this.navigationWarning[data.key] = data.value;\n }\n resetWarningOnNavigation() {\n this.navigationWarning = {\n cadVariables: false,\n chatMessages: false,\n wrapUpReason: false\n };\n }\n setMonitoringOwnerName(ownerName) {\n this.monitoringOwnerName = ownerName;\n }\n setIsMonitoringNotEndedManually(isEnded) {\n this.isMonitoringNotEndedManually = isEnded;\n }\n setIsCallMuted(muteValue) {\n this.isCallMuted = muteValue;\n }\n toggleCallMuted() {\n this.isCallMuted = !this.isCallMuted;\n }\n get checkBeforeNavigation() {\n return Object.keys(toJS(this.navigationWarning)).filter((item) => toJS(this.navigationWarning)[item] === true)\n .length > 0\n ? true\n : false;\n }\n}\n__decorate([\n observable\n], ModuleAgentContact.prototype, \"taskMap\", void 0);\n__decorate([\n observable\n], ModuleAgentContact.prototype, \"EpDnConsultDestinationAgentJoined\", void 0);\n__decorate([\n observable\n], ModuleAgentContact.prototype, \"lastCompletedTask\", void 0);\n__decorate([\n observable\n], ModuleAgentContact.prototype, \"selectedTaskId\", void 0);\n__decorate([\n observable\n], ModuleAgentContact.prototype, \"selectedQueueId\", void 0);\n__decorate([\n observable\n], ModuleAgentContact.prototype, \"newOfferPopoverCount\", void 0);\n__decorate([\n observable\n], ModuleAgentContact.prototype, \"interactionIds\", void 0);\n__decorate([\n observable\n], ModuleAgentContact.prototype, \"openCADSection\", void 0);\n__decorate([\n observable\n], ModuleAgentContact.prototype, \"chatConferenceData\", void 0);\n__decorate([\n observable\n], ModuleAgentContact.prototype, \"checkNewReplies\", void 0);\n__decorate([\n observable\n], ModuleAgentContact.prototype, \"showNewReply\", void 0);\n__decorate([\n observable\n], ModuleAgentContact.prototype, \"showArrow\", void 0);\n__decorate([\n observable\n], ModuleAgentContact.prototype, \"copyTaskMap\", void 0);\n__decorate([\n observable\n], ModuleAgentContact.prototype, \"navigationWarning\", void 0);\n__decorate([\n observable\n], ModuleAgentContact.prototype, \"interactionControlDimension\", void 0);\n__decorate([\n observable\n], ModuleAgentContact.prototype, \"interactionControlCAD\", void 0);\n__decorate([\n observable\n], ModuleAgentContact.prototype, \"monitoringOwnerName\", void 0);\n__decorate([\n observable\n], ModuleAgentContact.prototype, \"isMonitoringNotEndedManually\", void 0);\n__decorate([\n observable\n], ModuleAgentContact.prototype, \"isCallMuted\", void 0);\n__decorate([\n observable\n], ModuleAgentContact.prototype, \"agentCallMonitoringState\", void 0);\n__decorate([\n computed\n], ModuleAgentContact.prototype, \"getEngagedStatus\", null);\n__decorate([\n computed\n], ModuleAgentContact.prototype, \"getIsAgentOnActiveCall\", null);\n__decorate([\n computed\n], ModuleAgentContact.prototype, \"isTelephoneOrMidcall\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"checkReplies\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"isTaskRinging\", null);\n__decorate([\n computed\n], ModuleAgentContact.prototype, \"showNewReplyButton\", null);\n__decorate([\n computed\n], ModuleAgentContact.prototype, \"showArrowUp\", null);\n__decorate([\n computed\n], ModuleAgentContact.prototype, \"contact\", null);\n__decorate([\n computed\n], ModuleAgentContact.prototype, \"shouldDisableOutdialForExclusive\", null);\n__decorate([\n computed\n], ModuleAgentContact.prototype, \"taskSelected\", null);\n__decorate([\n computed\n], ModuleAgentContact.prototype, \"isNotTelephoneOrMidcall\", null);\n__decorate([\n computed\n], ModuleAgentContact.prototype, \"callPersistence\", null);\n__decorate([\n computed\n], ModuleAgentContact.prototype, \"isMediaTypeTelePhony\", null);\n__decorate([\n computed\n], ModuleAgentContact.prototype, \"taskMapForPopover\", null);\n__decorate([\n computed\n], ModuleAgentContact.prototype, \"taskArray\", null);\n__decorate([\n computed\n], ModuleAgentContact.prototype, \"isActiveCall\", null);\n__decorate([\n computed\n], ModuleAgentContact.prototype, \"newPopoverCount\", null);\n__decorate([\n computed\n], ModuleAgentContact.prototype, \"isDefinedIvrTranscript\", null);\n__decorate([\n computed\n], ModuleAgentContact.prototype, \"getCallGuideProps\", null);\n__decorate([\n computed\n], ModuleAgentContact.prototype, \"getCADSectionOpenStatus\", null);\n__decorate([\n computed\n], ModuleAgentContact.prototype, \"getMainCadSectionStatus\", null);\n__decorate([\n computed\n], ModuleAgentContact.prototype, \"getcheckReplies\", null);\n__decorate([\n computed\n], ModuleAgentContact.prototype, \"getConsultCadSectionStatus\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"setInteractionIds\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"removeAutoCompleteTasks\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"selectedTaskChange\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"selectedQueueStatsQueueChange\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"rerenderTaskMap\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"updateLastCompletedTask\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"updateCadSectionDimension\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"setInteractionControlDimensions\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"toggleInteractionControlCADSection\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"updateRecordingStatus\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"updateRecordingProps\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"updateShowNewReply\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"updateShowArrowUp\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"updateHeldUnheldProps\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"updateHeldUnheldPropsMonitoring\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"updateBargeInProps\", null);\n__decorate([\n computed\n], ModuleAgentContact.prototype, \"getAgentCallMonitoringStateDetails\", null);\n__decorate([\n computed\n], ModuleAgentContact.prototype, \"getWebexCallingCallId\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"setAgentCallMonitoringStateDetails\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"updateAgentCallMonitoringStateDetails\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"updateInteractionAndMediaObjectForMonitorStateChangeEvent\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"removeSupervisorFromInteractionAndMediaObject\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"handleConfParticipantJoined\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"updateCadVariable\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"selectNextTask\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"updateTask\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"deleteAndSelectNextTask\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"deleteTask\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"updateForCTQ\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"updateForCTQFailure\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"updateForConsultFailed\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"handleAgentConsultFailed\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"selectAcceptedTask\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"resetInteractionControlDimensions\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"handleConsultUpdate\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"handleConfParticipantLeft\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"handleContactOwnerChanged\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"handleConsulting\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"updatePopoverCount\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"selectTaskOnHomeRoute\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"handleContactCleanup\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"handleAbruptMonitoringEnd\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"updatechatConferenceData\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"updateWarnOnNavigation\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"resetWarningOnNavigation\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"setMonitoringOwnerName\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"setIsMonitoringNotEndedManually\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"setIsCallMuted\", null);\n__decorate([\n action\n], ModuleAgentContact.prototype, \"toggleCallMuted\", null);\n__decorate([\n computed\n], ModuleAgentContact.prototype, \"checkBeforeNavigation\", null);\nexport const agentContact = new ModuleAgentContact();\n// JS DOC Comments - Type Definitions\n/**\n * @typedef {Object} ChatConferenceData\n * @summary Store.AgentContact.chatConferenceData\n * @description Chat Conference Data\n * @property {String} interactionId=\"\" Unique identifier of the user interaction.\n * @property {String} destAgentId=\"\" Unique identifier of the destination/secondary agent.\n * @property {Boolean} initiateConferenceChat=false Determines whether chat conference can be initiated or not.\n * @property {String} agentId=\"\" Unique identifier of the agent.\n */\n/**\n * @typedef {Map} TaskMap\n * @summary The full list of tasks that are assigned to an agent at a given time.\n * @property {String} TaskId Unique identifier of the task.\n * @property {Service_Aqm_Contact_AgentContact_Data} Task Details of the task. [Service.Aqm.Contact.AgentContact.data]\n */\n/**\n * @typedef {Object} agentContact\n * @summary $STORE.agentContact\n * @property {TaskMap} taskMap The full list of tasks that are assigned to an agent at a given time.\n * @property {String} lastCompletedTask=\"\" Unique Identifier for the last wrapped up task.\n * @property {String} selectedTaskId=\"\" Unique Identifier for the selected task.\n * @property {Array}interactionIds=[]] List of unique identifiers of the user interactions.\n * @property {ChatConferenceData} chatConferenceData Chat conference data. [Store.AgentContact.chatConferenceData]\n * @property {Object | null} taskSelected Gives the user interaction details about the selected task.\n */\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { DEFAULT_LOGIN_VOICE_OPTIONS, MicrophoneAccessStatus, PRESENCE_SYNC, SYSTEM_ROLES, TPW_REQUESTED_PAGE_SIZE, USER_ROLES, WEB_RTC_STATUS } from \"@/app/components/constants\";\nimport { UserRoles } from \"@/app/utils/DesktopLayoutUtils\";\nimport { getSpecificIdleCode, logger, multipleExist } from \"@/app/utils/Utils\";\nimport { t } from \"@/mixins/i18nMixin\";\nimport { STORE } from \"@/store\";\nimport { SERVICE, getTrackingIdFromErrorObject } from \"@agentx/agentx-services\";\nimport { action, computed, observable } from \"mobx\";\nimport { agentContact } from \"./store-agent-contact\";\nexport class ModuleAgent {\n constructor() {\n var _a, _b, _c, _d;\n this.dnNumber = \"\";\n this.teamName = \"\";\n this.profileType = \"\";\n this.enterpriseId = \"\";\n this.agentName = \"\";\n this.agentId = \"\";\n this.agentEmailId = \"\";\n this.agentProfileID = \"\";\n this.isOutboundEnabledForTenant = false;\n this.isOutboundEnabledForAgent = false;\n this.isAdhocDialingEnabled = false;\n this.isAgentAvailableAfterOutdial = false;\n this.isCampaignManagementEnabled = false;\n this.campaignManagerAdditionalInfo = \"\";\n this.acqueonApiUrl = \"\";\n this.acqueonConsoleUrl = \"\";\n this.siteId = \"\";\n this.orgId = \"\";\n this.usesOtherDN = false;\n this.isExtension = false;\n this.isEndCallEnabled = false;\n this.isEndConsultEnabled = true;\n this.allowConsultToQueue = false;\n this.agentDbId = \"\";\n this.lcmUrl = \"\";\n this.teamId = \"\"; // This is \"dbid\" attribute value of teams response.\n this.teamUniqueId = \"\"; // This is \"id\" attribute value of teams response.\n this.dialPlan = {};\n this.outDialEp = \"\";\n this.channels = {\n voiceCount: 0,\n chatCount: 0,\n emailCount: 0,\n socialCount: 0\n };\n this.subStatus = \"\";\n this.subStatusChangeTimestamp = new Date();\n this.idleStatusTimestamp = new Date();\n this.idleCodes = [];\n this.agentStateIdleCodes = null;\n this.agentDefaultWrapupCode = {\n id: \"\",\n name: \"\"\n };\n this.agentWrapUpCodes = {\n data: [],\n meta: {\n links: {\n first: \"\",\n last: \"\",\n next: \"\",\n self: \"\"\n },\n orgid: \"\",\n page: 0,\n pageSize: 0,\n totalPages: 0,\n totalRecords: 0\n }\n };\n this.wrapUpData = {\n wrapUpProps: {\n autoWrapup: false,\n autoWrapupInterval: 0,\n lastAgentRoute: false,\n wrapUpReasonList: [],\n interactionId: \"\",\n allowCancelAutoWrapup: false\n }\n };\n this.outDialAni = {\n initialFetchCompleted: false,\n data: []\n };\n // used to store latest selected ANI, which is to be accessed in widgets\n this.selectedOutdialANI = {\n id: \"\",\n name: \"\"\n };\n this.addressBook = {\n initialFetchCompleted: false,\n data: [],\n errorObj: {}\n };\n this.cadVariables = [];\n this.callVariablesSuppressed = [];\n this.userSelectedRole = \"\";\n this.isMonitoringEnabled = false;\n this.isMidCallMonitoringEnabled = false;\n this.isBargeInEnabled = false;\n this.isManagedTeamsEnabled = false;\n this.isSendMessageEnabled = false;\n this.isAgentStateChangeEnabled = false;\n this.isSignoutAgentsEnabled = false;\n this.isManagedQueuesEnabled = false;\n this.userRole = [];\n this.organizationId = \"\";\n this.meUserId = \"\";\n this.role = \"\";\n this.preferredSupervisorTeamId = \"\";\n this.defaultDn = \"\";\n this.isDefaultDnSet = false;\n this.extensionNumber = \"\";\n this.dialNumberValueForNonUS = \"\";\n this.isInternational = false;\n this.internationalPhoneNumber = \"\";\n this.countryCallingCode = \"\";\n this.countryCodeValue = \"\";\n this.isPreferenceSaved = false;\n this.isRememberMyCredentials = false;\n this.isRecordingManagementEnabled = false;\n this.lostConnectionRecoveryTimeout = 120000;\n this.managedTeams = [];\n this.managedQueues = [];\n this.isTimeoutDesktopInactivityEnabled = false;\n this.isAnalyzerEnabled = false;\n this.tenantTimezone = \"\";\n this.changedByName = null;\n this.webRtcStatus = WEB_RTC_STATUS.WEB_RTC_REGISTERING;\n this.presenceServiceStatus = {\n serviceStatus: \"\",\n trackingId: \"\"\n };\n this.lastStateChangeByPresence = false;\n this.isMaskSensitiveDataOrgSettingEnabled = false;\n this.idleCodesAccess = \"\";\n this.selectedChannelList = JSON.parse(sessionStorage.getItem(\"selected-channel-list\") || \"[]\");\n this.selectedTeamList = JSON.parse(sessionStorage.getItem(\"selected-team-list\") || \"[]\");\n this.selectedQueueList = JSON.parse(sessionStorage.getItem(\"selected-queue-list\") || \"[]\");\n this.isManagedTeamLoading = true;\n this.isManagedQueueLoading = true;\n this.isManagedTeamsError = false;\n this.isManagedQueuesError = false;\n this.organizationIdleCodes = {\n isFetchingSuccess: false,\n data: []\n };\n this.selectedInputDeviceId = \"\";\n this.selectedOutputDeviceId = \"\";\n this.dtmfValue = \"\";\n this.selectedOutputVolume = ((_b = (_a = JSON.parse(localStorage.getItem(\"desktop-speaker-mic-sound-settings\") || \"{}\")) === null || _a === void 0 ? void 0 : _a.speaker) === null || _b === void 0 ? void 0 : _b.volume) || 0.8;\n this.speakerMute = ((_d = (_c = JSON.parse(localStorage.getItem(\"desktop-speaker-mic-sound-settings\") || \"{}\")) === null || _c === void 0 ? void 0 : _c.speaker) === null || _d === void 0 ? void 0 : _d.mute) || false;\n this.loginVoiceOptions = [];\n this.deviceType = null;\n this.mediaPermission = MicrophoneAccessStatus.denied;\n this.isEmergencyModalAlreadyDisplayed = false;\n this.epDnMapping = {\n initialFetchCompleted: false,\n data: [],\n errorObj: {}\n };\n this.displayMicrosoftUserDetails = false;\n this.displayWebexUserDetails = false;\n this.stateSynchronization = false;\n this.collabToolInSync = \"\";\n this.signOutByUi = false;\n this.signOutByProfileChange = false;\n this.availableExtensions = [];\n this.fetchDefaultIdleCodes = (orgId) => __awaiter(this, void 0, void 0, function* () {\n try {\n const params = { orgId };\n const response = yield SERVICE.abs.fetchDefaultAuxCodes(params);\n logger.info(`event=fetchDefaultAuxCodes : Successfully fetched ${response.length} default aux codes`);\n return response[0];\n }\n catch (error) {\n logger.error(`event=fetchDefaultIdleCodes | Tracking ID: ${getTrackingIdFromErrorObject ? getTrackingIdFromErrorObject(error) : \"\"} | Fetching default aux code is failed : ${error}`, error);\n throw error;\n }\n });\n this.getIdleCodesForInfiniteScroll = () => {\n var _a;\n return STORE.app.featureFlags.isDesktopAuxCodesInfiniteScrollEnabled\n ? (_a = this.agentStateIdleCodes) === null || _a === void 0 ? void 0 : _a.data\n : this.idleCodes;\n };\n }\n get areDigitalChannelsEnabled() {\n const channels = this.channels;\n return channels.chatCount > 0 || channels.emailCount > 0 || channels.socialCount > 0;\n }\n get collaboration() {\n return {\n collabToolInSync: this.collabToolInSync,\n displayUserDetails: this.displayMicrosoftUserDetails || this.displayWebexUserDetails,\n displayMicrosoftUserDetails: this.displayMicrosoftUserDetails,\n displayWebexUserDetails: this.displayWebexUserDetails,\n stateSynchronization: this.stateSynchronization\n };\n }\n get analyzerInteractionFilter() {\n return JSON.stringify({\n channelType: this.selectedChannelList,\n teamName: this.selectedTeamList,\n queueName: this.selectedQueueList\n });\n }\n get analyzerQueueStatsFilter() {\n var _a;\n return JSON.stringify({\n queueName: [(_a = this.managedQueues.find((queue) => queue.queueId === agentContact.selectedQueueId)) !== null && _a !== void 0 ? _a : \"\"]\n });\n }\n get getAgentStateProps() {\n return {\n agentStateOptions: this.idleCodes,\n agentStateIdleCodes: this.agentStateIdleCodes,\n idleTimeStamp: this.idleStatusTimestamp,\n timerTimeStamp: this.subStatusChangeTimestamp,\n defaultState: this.subStatus,\n engagedState: STORE.agentContact.getEngagedStatus,\n isStateChangedByPresenceSync: this.lastStateChangeByPresence,\n stateChangedByName: this.changedByName,\n currentUserId: STORE.agent.agentId,\n isDesktopAuxCodesInfiniteScrollEnabled: STORE.app.featureFlags.isDesktopAuxCodesInfiniteScrollEnabled,\n isWxccCoreDisallowPendingLogoutStateChangeEnabled: STORE.app.featureFlags.isWxccCoreDisallowPendingLogoutStateChangeEnabled,\n idleCodesAccess: this.idleCodesAccess\n };\n }\n get getAgentWrapUpCodeProps() {\n return {\n agentWrapUpCodes: this.agentWrapUpCodes,\n agentDefaultWrapupCode: this.agentDefaultWrapupCode\n };\n }\n get getEpDnMapping() {\n return this.epDnMapping;\n }\n get getAddressBook() {\n return {\n initialFetchCompleted: this.addressBook.initialFetchCompleted,\n errorObj: JSON.parse(JSON.stringify(this.addressBook.errorObj)),\n data: JSON.parse(JSON.stringify(this.addressBook.data))\n };\n }\n get getAcqueonTeamId() {\n return STORE.app.featureFlags.isDesktopMaerskAcqueonTeamId ? this.teamUniqueId : this.teamId;\n }\n get getOutDialAni() {\n return this.outDialAni;\n }\n get outdialAniList() {\n // Required this get outdialAniList for access on JS SDK\n return this.outDialAni.data;\n }\n get getOutdialRegex() {\n /**\n * TODO: Removing dial plan code as it's not being used now.\n * Any Format may not exist if removed from Portal\n * This feature will be implemented later.\n * Outidal component has internal regex validator for now.\n */\n return \"\";\n }\n get getUserRole() {\n var _a;\n // Not using constants on return values on purpose.\n if (((_a = this.userRole) === null || _a === void 0 ? void 0 : _a.join(\"_\")) === UserRoles.SUPERVISOR) {\n return \"supervisor\";\n }\n if (this.userSelectedRole) {\n if (this.userSelectedRole === UserRoles.SUPERVISOR) {\n return \"supervisor\";\n }\n else if (this.userSelectedRole === UserRoles.SUPERVISOR_AGENT) {\n return \"supervisorAgent\";\n }\n }\n return \"agent\";\n }\n get getMCMEnabled() {\n return this.isMidCallMonitoringEnabled;\n }\n get getRecordingManagementEnabled() {\n return (STORE.app.featureFlags.isESDPostInteractionInsightsEnabled &&\n STORE.agent.role !== UserRoles.AGENT &&\n this.isRecordingManagementEnabled);\n }\n get getMicrophoneAccessDenied() {\n return (STORE.app.featureFlags.isWebRTCEnabled &&\n this.deviceType === SERVICE.constants.LoginVoiceOptions.BROWSER &&\n this.mediaPermission === \"denied\");\n }\n get getMediaDeviceSetting() {\n return {\n mic: {\n ID: this.selectedInputDeviceId,\n volume: 1\n },\n speaker: {\n ID: this.selectedOutputDeviceId,\n mute: this.speakerMute,\n volume: this.selectedOutputVolume\n }\n };\n }\n get imiConfigs() {\n return {\n areDigitalChannelsEnabled: this.areDigitalChannelsEnabled,\n deviceType: this.deviceType\n };\n }\n changeStateWithDefaultIdleObject(idleCode, state, lastStateChangeReason = \"\") {\n SERVICE.aqm.agent\n .stateChange({ data: { state, auxCodeIdArray: idleCode.id, lastStateChangeReason } })\n .then((data) => {\n if (data.data.subStatus === SERVICE.constants.AgentState.Available) {\n this.updateSubStatus(SERVICE.constants.AgentState.Available, data.data.lastStateChangeTimestamp, data.data.lastIdleCodeChangeTimestamp);\n }\n else {\n this.updateSubStatus(idleCode.name.toString(), data.data.lastStateChangeTimestamp, data.data.lastIdleCodeChangeTimestamp);\n }\n })\n .catch((err) => {\n logger.error(`Agent default state change failed request: ${getTrackingIdFromErrorObject(err)}`, err);\n STORE.session.errorModal.setErrorDetails({\n detail: {\n message: t(\"app:rona.errorStateChange\"),\n trackingId: getTrackingIdFromErrorObject(err)\n }\n });\n });\n }\n changeAgentState(state) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n if (state === SERVICE.constants.AgentState.Available) {\n this.makeStateChange(SERVICE.constants.AgentState.AvailableAuxCodeId, SERVICE.constants.AgentState.Available);\n }\n else if (STORE.app.featureFlags.isDesktopAuxCodesInfiniteScrollEnabled) {\n // make api call to fetch default aux code\n const response = yield this.fetchDefaultIdleCodes(STORE.agent.orgId);\n if (response) {\n const defaultStateOption = response;\n this.changeStateWithDefaultIdleObject(defaultStateOption, SERVICE.constants.AgentState.Idle);\n }\n }\n else {\n const defaultStateOption = this.idleCodes.filter((option) => option.isDefault);\n this.makeStateChange((_a = defaultStateOption[0]) === null || _a === void 0 ? void 0 : _a.id.toString(), SERVICE.constants.AgentState.Idle);\n }\n });\n }\n makeStateChange(auxCodeId, state, lastStateChangeReason = \"\", fetchedSingleIdleCode = undefined) {\n SERVICE.aqm.agent\n .stateChange({ data: { state, auxCodeIdArray: auxCodeId, lastStateChangeReason } })\n .then((data) => {\n var _a;\n if (data.data.subStatus === SERVICE.constants.AgentState.Available) {\n this.updateSubStatus(SERVICE.constants.AgentState.Available, data.data.lastStateChangeTimestamp, data.data.lastIdleCodeChangeTimestamp);\n }\n else {\n const idleCodes = this.getIdleCodesForInfiniteScroll();\n const auxCode = fetchedSingleIdleCode !== null && fetchedSingleIdleCode !== void 0 ? fetchedSingleIdleCode : idleCodes.filter((option) => option.id === data.data.auxCodeId);\n this.updateSubStatus((_a = auxCode[0]) === null || _a === void 0 ? void 0 : _a.name.toString(), data.data.lastStateChangeTimestamp, data.data.lastIdleCodeChangeTimestamp);\n }\n })\n .catch((err) => {\n logger.error(`Agent state change failed request: ${getTrackingIdFromErrorObject(err)}`, err);\n STORE.session.errorModal.setErrorDetails({\n detail: {\n message: t(\"app:rona.errorStateChange\"),\n trackingId: getTrackingIdFromErrorObject(err)\n }\n });\n });\n }\n get getAgentData() {\n return {\n orgId: STORE.agent.orgId,\n teamId: STORE.agent.teamId,\n agentId: STORE.agent.agentId,\n selectedLanguage: STORE.app.language\n };\n }\n get isSupervisorySendMessageEnabled() {\n return STORE.app.webexEnabled && this.isSendMessageEnabled;\n }\n get isStateChangeBySupervisorEnabled() {\n return this.isAgentStateChangeEnabled;\n }\n get isSignoutBySupervisorEnabled() {\n return STORE.app.featureFlags.isSignoutBySupervisorEnabled && this.isSignoutAgentsEnabled;\n }\n get tpwConfigs() {\n return {\n gridId: STORE.routing.currentRouteName,\n isDarkMode: STORE.app.darkMode,\n webexEnabled: STORE.app.webexEnabled,\n isMCMEnabled: this.getMCMEnabled,\n webexEventRegistered: STORE.app.webexEventRegistered,\n supervisorId: STORE.agent.agentId,\n supervisorName: STORE.agent.agentName,\n isStateChangeBySupervisorEnabled: this.isStateChangeBySupervisorEnabled,\n isSignoutBySupervisorEnabled: this.isSignoutBySupervisorEnabled,\n supervisorAnalyserId: STORE.agent.agentAnalyzerId,\n supervisorEmail: STORE.agent.agentEmailId,\n role: STORE.agent.userSelectedRole,\n onActiveCall: STORE.agentContact.getIsAgentOnActiveCall,\n isSupervisorySendMessageEnabled: this.isSupervisorySendMessageEnabled,\n isStationLoginSuccess: STORE.app.isStationLoginSuccess,\n isEnvironmentProd: STORE.app.isEnvironmentProd,\n idleCodes: STORE.agent.organizationIdleCodes,\n orgId: STORE.agent.orgId,\n voiceChannelCount: STORE.agent.channels.voiceCount,\n isMPCorPersistEnabled: STORE.app.featureFlags.isWxccMultiPartyConfEnabled || STORE.app.featureFlags.isWxccPersistCallEnabled,\n isWxccAgentInteractionEnabled: STORE.app.featureFlags.isWxccAgentInteractionEnabled,\n isShowSignedOutAgentsEnabled: STORE.app.featureFlags.isShowSignedOutAgentsEnabled,\n isWxccCoreDisallowPendingLogoutStateChangeEnabled: STORE.app.featureFlags.isWxccCoreDisallowPendingLogoutStateChangeEnabled,\n requestedPageSize: TPW_REQUESTED_PAGE_SIZE,\n isDesktopAuxCodesInfiniteScrollEnabled: STORE.app.featureFlags.isDesktopAuxCodesInfiniteScrollEnabled,\n isPostCallEnabled: STORE.app.featureFlags.isWxccPostCallEnabled\n };\n }\n get acqueonAgentId() {\n var _a;\n return STORE.app.featureFlags.isDesktopMaerskAcqueonTeamId\n ? ((_a = STORE.agent.agentAnalyzerId) !== null && _a !== void 0 ? _a : \"\")\n : STORE.agent.agentDbId;\n }\n get getIsMaskSensitiveDataEnabled() {\n return STORE.app.featureFlags.isMaskSensitiveDataFFEnabled && STORE.agent.isMaskSensitiveDataOrgSettingEnabled;\n }\n updateStatusAfterRONA(newState) {\n this.changeAgentState(newState);\n }\n updateSubStatus(subStatus, lastStateChangeTimestamp, lastIdleCodeChangeTimestamp) {\n this.subStatus = subStatus;\n this.subStatusChangeTimestamp = new Date(lastStateChangeTimestamp);\n this.idleStatusTimestamp = new Date(lastIdleCodeChangeTimestamp);\n }\n updateStateByPresence(auxCodeId, state) {\n var _a, _b, _c, _d, _e;\n return __awaiter(this, void 0, void 0, function* () {\n let stateData = state;\n let auxCodeIdData = auxCodeId;\n let fetchedSingleIdleCode = undefined;\n const idleCodes = this.getIdleCodesForInfiniteScroll();\n const auxCode = idleCodes && idleCodes.filter((option) => option.id === auxCodeId);\n if (auxCode && auxCode.length === 0 && state !== SERVICE.constants.AgentState.Available) {\n if (STORE.app.featureFlags.isDesktopAuxCodesInfiniteScrollEnabled) {\n const fetchedIdleCodeInfo = yield getSpecificIdleCode(auxCodeId);\n fetchedSingleIdleCode = fetchedIdleCodeInfo ? fetchedIdleCodeInfo.data : undefined;\n if (fetchedSingleIdleCode && fetchedSingleIdleCode.length > 0) {\n stateData =\n ((_a = fetchedSingleIdleCode[0]) === null || _a === void 0 ? void 0 : _a.name.toString()) === SERVICE.constants.AgentState.Available\n ? SERVICE.constants.AgentState.Available\n : SERVICE.constants.AgentState.Idle;\n auxCodeIdData = (_b = fetchedSingleIdleCode[0]) === null || _b === void 0 ? void 0 : _b.id.toString();\n }\n }\n if (!fetchedSingleIdleCode || (Array.isArray(fetchedSingleIdleCode) && fetchedSingleIdleCode.length === 0)) {\n // If aux code is not found, then set default aux code\n const defaultIdleCode = idleCodes.filter((option) => option.isDefault);\n if (this.subStatus === ((_c = defaultIdleCode[0]) === null || _c === void 0 ? void 0 : _c.name.toString())) {\n return;\n }\n stateData =\n ((_d = defaultIdleCode[0]) === null || _d === void 0 ? void 0 : _d.name.toString()) === SERVICE.constants.AgentState.Available\n ? SERVICE.constants.AgentState.Available\n : SERVICE.constants.AgentState.Idle;\n auxCodeIdData = (_e = defaultIdleCode[0]) === null || _e === void 0 ? void 0 : _e.id.toString();\n fetchedSingleIdleCode = defaultIdleCode;\n logger.info(`Default auxCodeID ${auxCodeIdData} selected for presence sync`);\n }\n }\n this.makeStateChange(auxCodeIdData, stateData, PRESENCE_SYNC, fetchedSingleIdleCode);\n });\n }\n updateLastStateChangeByPresence(flag) {\n this.lastStateChangeByPresence = flag;\n }\n updateTeamName(teamName) {\n this.teamName = teamName; // Update Team name in Agent Profile after change team\n }\n updateTeamId(teamId) {\n this.teamId = teamId;\n }\n updateTeamUniqueId(teamId) {\n this.teamUniqueId = teamId;\n }\n updateChangeByName(supervisorName) {\n this.changedByName = supervisorName;\n }\n updateSelectedAgentRole(selectedRoleName) {\n this.userSelectedRole = selectedRoleName; // Update Role name in Agent Profile after change role\n }\n updateDnNumber(dnNumber) {\n this.dnNumber = dnNumber;\n }\n updateUsesOtherDN(usesOtherDN) {\n this.usesOtherDN = usesOtherDN;\n }\n updateIsExtension(isExtension) {\n this.isExtension = isExtension;\n }\n updateDefaultDN(defaultDn) {\n this.defaultDn = defaultDn;\n }\n updateExtensionNumber(extensionNumber) {\n this.extensionNumber = extensionNumber;\n }\n updateDialNumberValueForNonUS(dialNumberValueForNonUS) {\n this.dialNumberValueForNonUS = dialNumberValueForNonUS;\n }\n updateIsInternational(isInternational) {\n this.isInternational = isInternational;\n }\n updateInternationalPhoneNumber(internationalPhoneNumber) {\n this.internationalPhoneNumber = internationalPhoneNumber;\n }\n updateCountryCallingCode(countryCallingCode) {\n this.countryCallingCode = countryCallingCode;\n }\n updateCountryCodeValue(countryCodeValue) {\n this.countryCodeValue = countryCodeValue;\n }\n updateIsPreferenceSaved(isPrefSaved) {\n this.isPreferenceSaved = isPrefSaved;\n }\n updateIsPreferenceSavedFailed(isPrefSaved) {\n this.isPreferenceSaved = isPrefSaved;\n }\n updateIsRememberMyCredentials(isRememberMyCredentials) {\n this.isRememberMyCredentials = isRememberMyCredentials;\n }\n updateDeviceType(deviceType) {\n this.deviceType = deviceType;\n }\n updateEmergencyModalDisplay(isEmergencyModalAlreadyDisplayed = false) {\n this.isEmergencyModalAlreadyDisplayed = isEmergencyModalAlreadyDisplayed;\n }\n updateSelectedInputDeviceId(selectedInputDeviceId) {\n this.selectedInputDeviceId = selectedInputDeviceId;\n }\n updateSelectedOutputDeviceId(selectedOutputDeviceId) {\n this.selectedOutputDeviceId = selectedOutputDeviceId;\n }\n updateMediaSettings(settings) {\n var _a, _b;\n this.selectedOutputVolume = (_a = settings === null || settings === void 0 ? void 0 : settings.speaker) === null || _a === void 0 ? void 0 : _a.volume;\n this.speakerMute = (_b = settings === null || settings === void 0 ? void 0 : settings.speaker) === null || _b === void 0 ? void 0 : _b.mute;\n }\n updateMediaPermission(status) {\n this.mediaPermission = status;\n STORE.alertBanner.updateAlertBanner({\n message: t(\"app:notifications.microphoneAccessDenied\"),\n display: this.getMicrophoneAccessDenied,\n type: \"error\",\n closable: false\n });\n }\n updateChannelCapacity(mmProfile) {\n this.channels = {\n voiceCount: mmProfile.telephony.length || 0,\n chatCount: mmProfile.chat.length || 0,\n emailCount: mmProfile.email.length || 0,\n socialCount: mmProfile.social.length || 0\n };\n }\n updateProfileType(profileType) {\n this.profileType = profileType;\n }\n updateAgentId(agentId) {\n this.agentId = agentId;\n }\n updateAvailableExtensions(extensions) {\n this.availableExtensions = extensions;\n }\n updateAgentProfileLogin(detail) {\n const { dn, teamName, subStatus, lastStateChangeTimestamp, lastIdleCodeChangeTimestamp, profileType, mmProfile, teamId, teamUniqueId } = detail;\n this.dnNumber = dn;\n this.agentId = detail.agentId;\n this.teamName = teamName ? teamName : \"\";\n this.channels = {\n voiceCount: mmProfile.voiceCount,\n chatCount: mmProfile.chatCount,\n emailCount: mmProfile.emailCount,\n socialCount: mmProfile.socialCount\n };\n this.profileType = profileType;\n this.teamId = teamId ? teamId : \"\";\n this.teamUniqueId = teamUniqueId ? teamUniqueId : \"\";\n this.usesOtherDN = detail.usesOtherDN;\n this.updateSubStatus(subStatus, lastStateChangeTimestamp, lastIdleCodeChangeTimestamp);\n }\n updateInitialConfiguration(profile) {\n var _a, _b;\n const { agentName, agentMailId, enterpriseId, agentProfileID, wrapUpData, agentWrapUpCodes, agentDefaultWrapUpCode, agentId, privacyShieldVisible, idleCodes, isAdhocDialingEnabled, isOutboundEnabledForAgent, isOutboundEnabledForTenant, isAgentAvailableAfterOutdial, isCampaignManagementEnabled, outDialEp, dialPlan, isEndCallEnabled, isEndConsultEnabled, cadVariables, callVariablesSuppressed, allowConsultToQueue, lcmUrl, agentDbId, campaignManagerAdditionalInfo, urlMappings, siteId, orgId, defaultDn, forceDefaultDnForAgent, preferredSupervisorTeamId, isCallMonitoringEnabled, isMidCallMonitoringEnabled, isBargeInEnabled, isManagedTeamsEnabled, isManagedQueuesEnabled, isSendMessageEnabled, isAgentStateChangeEnabled, isSignOutAgentsEnabled, isTimeoutDesktopInactivityEnabled, timeoutDesktopInactivityMins, analyserUserId, isAnalyzerEnabled, loginVoiceOptions, tenantTimezone, organizationIdleCodes, isRecordingManagementEnabled, lostConnectionRecoveryTimeout, maskSensitiveData, idleCodesAccess } = profile;\n this.agentName = agentName;\n this.agentId = agentId;\n this.agentEmailId = agentMailId;\n this.enterpriseId = enterpriseId;\n this.wrapUpData = wrapUpData;\n this.agentWrapUpCodes = agentWrapUpCodes;\n this.agentDefaultWrapupCode = agentDefaultWrapUpCode;\n this.cadVariables = cadVariables;\n this.callVariablesSuppressed = callVariablesSuppressed;\n this.agentProfileID = agentProfileID;\n this.agentAnalyzerId = this.agentAnalyzerId ? this.agentAnalyzerId : analyserUserId;\n this.privacyShieldVisible = privacyShieldVisible;\n this.idleCodes = idleCodes;\n this.isAdhocDialingEnabled = isAdhocDialingEnabled;\n this.isOutboundEnabledForAgent = isOutboundEnabledForAgent;\n this.isOutboundEnabledForTenant = isOutboundEnabledForTenant;\n this.isAgentAvailableAfterOutdial = isAgentAvailableAfterOutdial;\n this.isCampaignManagementEnabled = isCampaignManagementEnabled;\n this.isEndCallEnabled = isEndCallEnabled;\n this.isEndConsultEnabled = isEndConsultEnabled;\n this.allowConsultToQueue = allowConsultToQueue;\n this.outDialEp = outDialEp;\n this.dialPlan = dialPlan;\n this.agentDbId = agentDbId;\n this.lcmUrl = lcmUrl;\n this.campaignManagerAdditionalInfo = campaignManagerAdditionalInfo;\n this.acqueonApiUrl = (_a = urlMappings === null || urlMappings === void 0 ? void 0 : urlMappings.acqueonApiUrl) !== null && _a !== void 0 ? _a : \"\";\n this.acqueonConsoleUrl = (_b = urlMappings === null || urlMappings === void 0 ? void 0 : urlMappings.acqueonConsoleUrl) !== null && _b !== void 0 ? _b : \"\";\n this.siteId = siteId;\n this.orgId = orgId;\n this.defaultDn = defaultDn;\n this.isDefaultDnSet = (defaultDn === null || defaultDn === void 0 ? void 0 : defaultDn.length) > 0 ? forceDefaultDnForAgent : false;\n this.preferredSupervisorTeamId = preferredSupervisorTeamId;\n this.isMonitoringEnabled = isCallMonitoringEnabled || false;\n this.isMidCallMonitoringEnabled = isMidCallMonitoringEnabled || false;\n this.isBargeInEnabled = isBargeInEnabled || false;\n this.isManagedTeamsEnabled = isManagedTeamsEnabled || false;\n this.isManagedQueuesEnabled = isManagedQueuesEnabled || false;\n this.timeoutDesktopInactivityMins = timeoutDesktopInactivityMins;\n this.isTimeoutDesktopInactivityEnabled = isTimeoutDesktopInactivityEnabled;\n this.isSendMessageEnabled = isSendMessageEnabled || false;\n this.isAgentStateChangeEnabled = isAgentStateChangeEnabled || false;\n this.isSignoutAgentsEnabled = isSignOutAgentsEnabled || false;\n this.isAnalyzerEnabled = isAnalyzerEnabled || false;\n this.tenantTimezone = tenantTimezone;\n this.loginVoiceOptions = loginVoiceOptions || DEFAULT_LOGIN_VOICE_OPTIONS;\n this.isRecordingManagementEnabled = isRecordingManagementEnabled || false;\n this.lostConnectionRecoveryTimeout = lostConnectionRecoveryTimeout || this.lostConnectionRecoveryTimeout;\n this.isMaskSensitiveDataOrgSettingEnabled = maskSensitiveData || false;\n this.idleCodesAccess = idleCodesAccess || \"ALL\";\n if (!STORE.app.featureFlags.isDesktopMaerskEnhancementEnabled ||\n (STORE.app.featureFlags.isDesktopMaerskEnhancementEnabled && profile.idleCodesAccess === \"ALL\")) {\n const orgIdleCodes = STORE.app.featureFlags.isDesktopMaerskEnhancementEnabled\n ? profile.idleCodes\n : organizationIdleCodes;\n // for pure supervisor (ie. only supervisor) aux codes are not fetched by default\n const isFetchingSuccess = STORE.agent.getUserRole !== UserRoles.SUPERVISOR;\n this.updateOrganizationIdleCodes(isFetchingSuccess, orgIdleCodes !== null && orgIdleCodes !== void 0 ? orgIdleCodes : []);\n }\n }\n updateStatusAfterOutdial(e) {\n if (this.subStatus !== SERVICE.constants.AgentState.Available &&\n this.isAgentAvailableAfterOutdial &&\n e.detail.contactDirection === SERVICE.constants.ContactDirection.OUTBOUND) {\n this.changeAgentState(SERVICE.constants.AgentState.Available);\n }\n }\n updateStatusAfterProfileUpdate() {\n this.changeAgentState(SERVICE.constants.AgentState.Idle);\n }\n updateStateToRona() {\n this.updateSubStatus(SERVICE.constants.AgentState.RONA, new Date().getTime(), new Date().getTime());\n }\n updateoutdialAniList(resp) {\n this.outDialAni = {\n initialFetchCompleted: true,\n data: resp.data.data.mockOutdialAniList\n };\n }\n updateSelectedOutdialANI(ani) {\n this.selectedOutdialANI = ani;\n }\n updateoutdialAniListFailed() {\n this.outDialAni = {\n initialFetchCompleted: true,\n data: []\n };\n }\n updateAgentStateIdleCodes(resp) {\n this.agentStateIdleCodes = resp;\n }\n updateAgentWrapUpCodes(resp) {\n this.agentWrapUpCodes = resp;\n }\n updateWrapupList(wrapupReasonList) {\n this.wrapUpData.wrapUpProps.wrapUpReasonList = wrapupReasonList;\n }\n updateAddressbookList(addressBookData) {\n this.addressBook = {\n initialFetchCompleted: true,\n data: addressBookData.speedDials,\n errorObj: {}\n };\n }\n updateAddressbookListFailed(resp) {\n this.addressBook = {\n initialFetchCompleted: true,\n data: [],\n errorObj: resp.error\n };\n }\n updateSelectedChannelList(selectedChannelList) {\n this.selectedChannelList = selectedChannelList;\n }\n updateSelectedTeamList(selectedTeamList) {\n this.selectedTeamList = selectedTeamList;\n }\n updateSelectedQueueList(selectedQueueList) {\n this.selectedQueueList = selectedQueueList;\n }\n updateDtmfValue(dtmfValue) {\n this.dtmfValue = dtmfValue;\n }\n selectState(e) {\n return __awaiter(this, void 0, void 0, function* () {\n // closing the error modal on state change other than RONA\n if (STORE.session.errorModal.isModalOpen && e.detail.agentStatus !== SERVICE.constants.AgentState.RONA) {\n STORE.session.errorModal.updateModalStatus(false);\n }\n this.subStatus = e.detail.agentStatus;\n this.subStatusChangeTimestamp = new Date(e.detail.lastStateChangeTimestamp);\n this.idleStatusTimestamp = new Date(e.detail.lastIdleCodeChangeTimestamp);\n this.changedByName = e.detail.changedByName;\n });\n }\n updateAgentMe(meData) {\n var _a, _b, _c;\n const agentPhoto = (_b = (_a = meData === null || meData === void 0 ? void 0 : meData.photos) === null || _a === void 0 ? void 0 : _a.filter((data) => data.type === \"thumbnail\")[0]) === null || _b === void 0 ? void 0 : _b.value;\n const userRoles = meData === null || meData === void 0 ? void 0 : meData.roles;\n const organizationId = (_c = meData === null || meData === void 0 ? void 0 : meData.meta) === null || _c === void 0 ? void 0 : _c.organizationID;\n const meUserId = meData === null || meData === void 0 ? void 0 : meData.id;\n let role = \"\";\n const supervisorRoles = [USER_ROLES.FULL_ADMIN, USER_ROLES.CCS_ADMIN];\n if (multipleExist(userRoles, supervisorRoles)) {\n role = SYSTEM_ROLES.AGENT;\n }\n else if (userRoles.includes(USER_ROLES.SUPERVISOR)) {\n role = SYSTEM_ROLES.SUPERVISOR;\n }\n else if ((userRoles === null || userRoles === void 0 ? void 0 : userRoles.includes(USER_ROLES.PREMIUM_AGENT)) || (userRoles === null || userRoles === void 0 ? void 0 : userRoles.includes(USER_ROLES.STANDARD_AGENT))) {\n role = SYSTEM_ROLES.AGENT;\n }\n this.setUserProfileInfo(role, agentPhoto, organizationId, meUserId);\n }\n setRole(role, meData, orgDetails) {\n var _a, _b;\n const agentPhoto = (_b = (_a = meData === null || meData === void 0 ? void 0 : meData.photos) === null || _a === void 0 ? void 0 : _a.filter((data) => data.type === \"thumbnail\")[0]) === null || _b === void 0 ? void 0 : _b.value;\n const organizationId = orgDetails.orgId;\n const meUserId = meData === null || meData === void 0 ? void 0 : meData.id;\n this.setUserProfileInfo(role, agentPhoto, organizationId, meUserId);\n }\n setUserProfileInfo(role, agentPhoto, organizationId, meUserId) {\n this.role = role;\n this.agentPhoto = agentPhoto;\n this.organizationId = organizationId;\n this.meUserId = meUserId;\n }\n updateAgentAnalyzerId(userId) {\n this.agentAnalyzerId = userId;\n }\n updateUserRole(userRole) {\n this.userRole = userRole;\n }\n updateWebRtcStatus(status) {\n this.webRtcStatus = status;\n }\n updateEpDnList(data) {\n this.epDnMapping = {\n initialFetchCompleted: true,\n data,\n errorObj: {}\n };\n }\n updatetrackingIdforEpList(errorObj) {\n this.epDnMapping = {\n initialFetchCompleted: true,\n data: [],\n errorObj\n };\n }\n updateManagedTeams(managedTeamsData) {\n this.managedTeams = [...managedTeamsData].sort((t1, t2) => {\n return t1.teamName.localeCompare(t2.teamName);\n });\n this.updateIsManagedTeamError(false);\n }\n updateManagedQueues(managedQueuesData) {\n this.managedQueues = [...managedQueuesData].sort((t1, t2) => {\n return t1.queueName.localeCompare(t2.queueName);\n });\n this.updateIsManagedQueueError(false);\n }\n updateIsManagedTeamLoading(status) {\n this.isManagedTeamLoading = status;\n }\n updateIsManagedQueueLoading(status) {\n this.isManagedQueueLoading = status;\n }\n updateIsManagedTeamEnabled(status) {\n this.isManagedTeamsEnabled = status;\n }\n updateIsManagedQueueEnabled(status) {\n this.isManagedQueuesEnabled = status;\n }\n updateIsManagedTeamError(status) {\n this.isManagedTeamsError = status;\n }\n updateIsManagedQueueError(status) {\n this.isManagedQueuesError = status;\n }\n updateOrganizationIdleCodes(isFetchingSuccess, data) {\n this.organizationIdleCodes = {\n isFetchingSuccess,\n data\n };\n }\n updatePresenceServiceStatus(serviceStatus, trackingId) {\n this.presenceServiceStatus = {\n serviceStatus,\n trackingId\n };\n }\n updateDisplayMicrosoftUserDetailsEnabled(status) {\n this.displayMicrosoftUserDetails = status;\n }\n updateDisplayWebexUserDetailsEnabled(status) {\n this.displayWebexUserDetails = status;\n }\n updateStateSyncEnabled(status) {\n this.stateSynchronization = status;\n }\n updateCollabToolInSync(toolName) {\n this.collabToolInSync = toolName;\n }\n updateSignOutByUi(isSignedOut) {\n this.signOutByUi = isSignedOut;\n }\n updateSignOutByChangeProfile(isSignedOut) {\n this.signOutByProfileChange = isSignedOut;\n }\n updateIdleCodesList(idleCodesList) {\n this.idleCodes = idleCodesList;\n }\n}\n__decorate([\n observable\n], ModuleAgent.prototype, \"dnNumber\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"teamName\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"profileType\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"enterpriseId\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"privacyShieldVisible\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"agentName\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"agentId\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"agentEmailId\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"agentProfileID\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"isOutboundEnabledForTenant\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"isOutboundEnabledForAgent\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"isAdhocDialingEnabled\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"isAgentAvailableAfterOutdial\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"isCampaignManagementEnabled\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"campaignManagerAdditionalInfo\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"acqueonApiUrl\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"acqueonConsoleUrl\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"siteId\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"orgId\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"usesOtherDN\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"isExtension\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"isEndCallEnabled\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"isEndConsultEnabled\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"allowConsultToQueue\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"agentDbId\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"lcmUrl\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"teamId\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"teamUniqueId\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"dialPlan\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"outDialEp\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"agentPhoto\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"channels\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"subStatus\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"subStatusChangeTimestamp\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"idleStatusTimestamp\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"idleCodes\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"agentStateIdleCodes\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"agentDefaultWrapupCode\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"agentWrapUpCodes\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"wrapUpData\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"outDialAni\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"selectedOutdialANI\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"addressBook\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"cadVariables\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"callVariablesSuppressed\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"agentAnalyzerId\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"userSelectedRole\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"isMonitoringEnabled\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"isMidCallMonitoringEnabled\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"isBargeInEnabled\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"isManagedTeamsEnabled\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"isSendMessageEnabled\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"isAgentStateChangeEnabled\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"isSignoutAgentsEnabled\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"isManagedQueuesEnabled\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"userRole\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"organizationId\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"meUserId\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"role\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"preferredSupervisorTeamId\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"defaultDn\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"isDefaultDnSet\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"extensionNumber\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"dialNumberValueForNonUS\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"isInternational\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"internationalPhoneNumber\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"countryCallingCode\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"countryCodeValue\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"isPreferenceSaved\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"isRememberMyCredentials\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"isRecordingManagementEnabled\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"lostConnectionRecoveryTimeout\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"managedTeams\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"managedQueues\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"isTimeoutDesktopInactivityEnabled\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"timeoutDesktopInactivityMins\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"isAnalyzerEnabled\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"tenantTimezone\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"changedByName\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"webRtcStatus\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"presenceServiceStatus\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"lastStateChangeByPresence\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"isMaskSensitiveDataOrgSettingEnabled\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"idleCodesAccess\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"selectedChannelList\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"selectedTeamList\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"selectedQueueList\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"isManagedTeamLoading\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"isManagedQueueLoading\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"isManagedTeamsError\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"isManagedQueuesError\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"organizationIdleCodes\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"selectedInputDeviceId\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"selectedOutputDeviceId\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"dtmfValue\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"selectedOutputVolume\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"speakerMute\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"loginVoiceOptions\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"deviceType\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"mediaPermission\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"isEmergencyModalAlreadyDisplayed\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"epDnMapping\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"displayMicrosoftUserDetails\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"displayWebexUserDetails\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"stateSynchronization\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"collabToolInSync\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"signOutByUi\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"signOutByProfileChange\", void 0);\n__decorate([\n observable\n], ModuleAgent.prototype, \"availableExtensions\", void 0);\n__decorate([\n computed\n], ModuleAgent.prototype, \"areDigitalChannelsEnabled\", null);\n__decorate([\n computed\n], ModuleAgent.prototype, \"collaboration\", null);\n__decorate([\n computed\n], ModuleAgent.prototype, \"analyzerInteractionFilter\", null);\n__decorate([\n computed\n], ModuleAgent.prototype, \"analyzerQueueStatsFilter\", null);\n__decorate([\n computed\n], ModuleAgent.prototype, \"getAgentStateProps\", null);\n__decorate([\n computed\n], ModuleAgent.prototype, \"getAgentWrapUpCodeProps\", null);\n__decorate([\n computed\n], ModuleAgent.prototype, \"getEpDnMapping\", null);\n__decorate([\n computed\n], ModuleAgent.prototype, \"getAddressBook\", null);\n__decorate([\n computed\n], ModuleAgent.prototype, \"getAcqueonTeamId\", null);\n__decorate([\n computed\n], ModuleAgent.prototype, \"getOutDialAni\", null);\n__decorate([\n computed\n], ModuleAgent.prototype, \"outdialAniList\", null);\n__decorate([\n computed\n], ModuleAgent.prototype, \"getOutdialRegex\", null);\n__decorate([\n computed\n], ModuleAgent.prototype, \"getUserRole\", null);\n__decorate([\n computed\n], ModuleAgent.prototype, \"getMCMEnabled\", null);\n__decorate([\n computed\n], ModuleAgent.prototype, \"getRecordingManagementEnabled\", null);\n__decorate([\n computed\n], ModuleAgent.prototype, \"getMicrophoneAccessDenied\", null);\n__decorate([\n computed\n], ModuleAgent.prototype, \"getMediaDeviceSetting\", null);\n__decorate([\n computed\n], ModuleAgent.prototype, \"imiConfigs\", null);\n__decorate([\n computed\n], ModuleAgent.prototype, \"getAgentData\", null);\n__decorate([\n computed\n], ModuleAgent.prototype, \"isSupervisorySendMessageEnabled\", null);\n__decorate([\n computed\n], ModuleAgent.prototype, \"isStateChangeBySupervisorEnabled\", null);\n__decorate([\n computed\n], ModuleAgent.prototype, \"isSignoutBySupervisorEnabled\", null);\n__decorate([\n computed\n], ModuleAgent.prototype, \"tpwConfigs\", null);\n__decorate([\n computed\n], ModuleAgent.prototype, \"acqueonAgentId\", null);\n__decorate([\n computed\n], ModuleAgent.prototype, \"getIsMaskSensitiveDataEnabled\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateStatusAfterRONA\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateSubStatus\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateStateByPresence\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateLastStateChangeByPresence\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateTeamName\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateTeamId\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateTeamUniqueId\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateChangeByName\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateSelectedAgentRole\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateDnNumber\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateUsesOtherDN\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateIsExtension\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateDefaultDN\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateExtensionNumber\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateDialNumberValueForNonUS\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateIsInternational\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateInternationalPhoneNumber\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateCountryCallingCode\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateCountryCodeValue\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateIsPreferenceSaved\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateIsPreferenceSavedFailed\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateIsRememberMyCredentials\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateDeviceType\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateEmergencyModalDisplay\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateSelectedInputDeviceId\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateSelectedOutputDeviceId\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateMediaSettings\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateMediaPermission\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateChannelCapacity\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateProfileType\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateAgentId\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateAvailableExtensions\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateAgentProfileLogin\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateInitialConfiguration\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateStatusAfterOutdial\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateStatusAfterProfileUpdate\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateStateToRona\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateoutdialAniList\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateSelectedOutdialANI\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateoutdialAniListFailed\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateAgentStateIdleCodes\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateAgentWrapUpCodes\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateWrapupList\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateAddressbookList\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateAddressbookListFailed\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateSelectedChannelList\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateSelectedTeamList\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateSelectedQueueList\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateDtmfValue\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"selectState\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateAgentMe\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"setRole\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"setUserProfileInfo\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateAgentAnalyzerId\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateUserRole\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateWebRtcStatus\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateEpDnList\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updatetrackingIdforEpList\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateManagedTeams\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateManagedQueues\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateIsManagedTeamLoading\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateIsManagedQueueLoading\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateIsManagedTeamEnabled\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateIsManagedQueueEnabled\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateIsManagedTeamError\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateIsManagedQueueError\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateOrganizationIdleCodes\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updatePresenceServiceStatus\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateDisplayMicrosoftUserDetailsEnabled\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateDisplayWebexUserDetailsEnabled\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateStateSyncEnabled\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateCollabToolInSync\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateSignOutByUi\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateSignOutByChangeProfile\", null);\n__decorate([\n action\n], ModuleAgent.prototype, \"updateIdleCodesList\", null);\nexport const agent = new ModuleAgent();\n// JS DOC Comments - Type Definitions\n/**\n * @typedef {Object} agent\n * @summary $STORE.agent\n * @property {String} dnNumber=\"\" Dial Number\n * @property {String} teamName=\"\" Name of the team.\n * @property {String} profileType=\"\" Profile Type\n * @property {String} enterpriseId=\"\" Unique Database Identifier of the tenant.\n * @property {String} agentName=\"\" Name of the agent.\n * @property {String} agentId=\"\" Unique identifier of the agent.\n * @property {String} agentEmailId=\"\" Email ID of the agent.\n * @property {Boolean} isOutboundEnabledForTenant=false Determines whether the outbound feature is enabled for the tenant.\n * @property {Boolean} isOutboundEnabledForAgent=false Determines whether the outbound feature is enabled for the agent.\n * @property {Boolean} isAdhocDialingEnabled=false Determines whether agent can use numbers other than the ones mentioned in address book for the outdial.\n * @property {Boolean} isAgentAvailableAfterOutdial=false Determines whether the agent is available after the outdial.\n * @property {Boolean} isCampaignManagementEnabled=false Determines whether the campaign management enabled.\n * @property {String} campaignManagerAdditionalInfo=\"\" Additional information for the campaign management.\n * @property {String} siteId=\"\" Unique Identifier for the site.\n * @property {String} orgId=\"\" Unique Identifier for the organization.\n * @property {Boolean} usesOtherDN=false Other Dial Number (Non-US Format).\n * @property {Boolean} isEndCallEnabled=false Determines whether the end call feature is enabled.\n * @property {Boolean} isEndConsultEnabled=true Determines whether the end consult call feature is enabled.\n * @property {Boolean} allowConsultToQueue=false Determines whether consult can go to queue.\n * @property {String} teamId=\"\" Unique identifier of the team.\n * @property {String} outDialEp=\"\" Outdial Entry Point\n * @property {String} changedByName=\"\" supervisor who changed agent state.\n * @property {(String|Undefined)} agentPhoto URL for the photo of the agent in JPG format.\n * @property {Object} channels Channels: Includes voice, chat, email, and social\n * @property {Number} channels.voiceCount=0 Channel - Voice Count\n * @property {Number} channels.chatCount=0 Channel - Chat Count\n * @property {Number} channels.emailCount=0 Channel - Email Count\n * @property {Number} channels.socialCount=0 Channel - Social Count\n * @property {Service_Aqm_Agent_StateChange} subStatus=\"\" Agent availability status.\n * The possible values for sub status can be Available, Idle, or RONA [Service.Aqm.Agent.StateChange[\"state\"]]\n * @property {Date} subStatusChangeTimestamp Timestamp for change in the agent state.\n * @property {Date} idleStatusTimestamp Timestamp for idle status.\n * @property {Service_Aqm_Configs_Entity} idleCodes=[]] The idle reason codes indicating that the agent is not ready to accept any routed requests.\n * Example: Idle, Coffee break, Meeting, Tea. [Service.Aqm.Configs.Entity]\n * @property {Service_Aqm_Configs_WrapupData} wrapUpData Wrap up data. [Service.Aqm.Configs.WrapupData]\n * @property {Service_Aqm_Agent_OutdialAni} outDialAni.data=[]] Outdial ANI List. [Service.Aqm.Agent.OutdialAni]\n * @property {String} userSelectedRole=\"\" Name of Selected UserRole\n * @property {String} isMonitoringEnabled=false Monitoring flag for user\n * @property {String} isMidCallMonitoringEnabled=false Mid call Monitoring flag for user\n * @property {boolean} isTimeoutDesktopInactivityEnabled = false determines whether the inactivity timeout feature is enabled.\n * @property {number} timeoutDesktopInactivityMins = 0 determines the timeout interval in minutes for inactivity\n * @property {boolean} isAnalyzerEnabled = false determines whether the supervisor has access to analyzer or not.\n * @property {boolean} isManagedQueuesError false determines the no error. If we have a error then will store the trackingId.\n * @property {boolean} isManagedTeamsError false determines the no error. If we have a error then will store the trackingId.\n * @property {String[]} loginVoiceOptions= DEFAULT_LOGIN_VOICE_OPTIONS Agent Login Voice options. AGENT_DN | EXTENSION | BROWSER\n * @property {String} deviceType = AGENT_DN Agent Device Selection\n * @property {String} mediaPermission = \"denied\" Microphone Access Status \"granted\" | \"denied\" | \"prompt\"\n * @property {boolean} isRecordingManagementEnabled=false Manage Recordings flag for user\n */\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { STORE } from \"@/store\";\nimport { action, computed, observable } from \"mobx\";\nimport { AGENT_STATE_CHANGEDBY_NAME, ALERT_BANNER_DETAILS, STATE_CHANGE_BANNER } from \"../app/components/constants\";\nexport class ModuleAlertBanner {\n constructor() {\n this.alertBannerProps = {\n type: \"default\",\n closable: true,\n message: \"\",\n display: false,\n id: \"\"\n };\n }\n updateAlertBanner(value) {\n this.alertBannerProps = Object.assign(Object.assign({}, this.alertBannerProps), value);\n }\n removeStateChangeBanner() {\n // Checks if the banner is agent state changed by supervisor banner\n if (STORE.agent.changedByName !== null && this.alertBannerProps.id === STATE_CHANGE_BANNER) {\n this.updateAlertBanner({\n display: false,\n id: \"\"\n });\n STORE.agent.updateChangeByName(null);\n const sessionBannerDetails = sessionStorage.getItem(ALERT_BANNER_DETAILS);\n const currentBannerDetails = sessionBannerDetails ? JSON.parse(sessionBannerDetails) : undefined;\n if (currentBannerDetails && currentBannerDetails.reason === AGENT_STATE_CHANGEDBY_NAME) {\n sessionStorage.removeItem(ALERT_BANNER_DETAILS);\n }\n }\n }\n get shouldRenderBanner() {\n return this.alertBannerProps.display ? this.alertBannerProps.display : false;\n }\n}\n__decorate([\n observable\n], ModuleAlertBanner.prototype, \"alertBannerProps\", void 0);\n__decorate([\n action\n], ModuleAlertBanner.prototype, \"updateAlertBanner\", null);\n__decorate([\n action\n], ModuleAlertBanner.prototype, \"removeStateChangeBanner\", null);\n__decorate([\n computed\n], ModuleAlertBanner.prototype, \"shouldRenderBanner\", null);\nexport const alertBanner = new ModuleAlertBanner();\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { AGENT_STATE_CHANGEDBY_NAME, SYSTEM_ROLES } from \"@/app/components/constants\";\nimport { stripSpecialChar } from \"@/app/utils/Utils\";\nimport { checkNeedsWebexRegister, registerWebCalling } from \"@/app/utils/UtilsWebCalling\";\nimport { t } from \"@/mixins/i18nMixin\";\nimport { createLogger } from \"@/sdk\";\nimport { STORE } from \"@/store\";\nimport AGENTX_SW_CONTROLLER from \"@/sw/sw-controller\";\nimport { SERVICE, formRoleNameForTelemetry, getTrackingIdFromErrorObject } from \"@agentx/agentx-services\";\nimport { themeManager } from \"@momentum-ui/web-components\";\nimport { Notifications } from \"@uuip/unified-ui-platform-sdk\";\nimport Cookies from \"js-cookie\";\nimport { action, computed, observable } from \"mobx\";\nimport { hideBanner } from \"../app/utils/AlertBannerUtils\";\nimport { UserRoles } from \"../app/utils/DesktopLayoutUtils\";\nimport defaultLogo from \"../assets/images/webex_cc_logo.png\";\nconst TASK_AREA_COOKIES = \"taskAreaCollapsed\";\nconst AUX_PANEL_COOKIES = \"auxilliaryPanelCollapsed\";\nconst AI_BLOCK_COOKIES = \"aiBlockCollapsed\";\nconst DARK_MODE_KEY = \"darkMode\";\nconst VISUAL_REBRAND_NEW_LOOK_KEY = \"visualRebrandNewLook\";\nconst WAS_ASKED_PWA_INSTALL_COOKIES = \"askedPwaInstall\";\nconst IPAD_LANDSCAPE_LOWER_LIMIT = 1024;\nconst USER_PREFERENCE = \"user_preference\";\nexport const logger = createLogger(\"[store-app]\");\nexport class ModuleApp {\n constructor() {\n var _a, _b;\n this.title = \"Webex Contact Center\";\n this.logo = defaultLogo;\n this.appTitleAsImage = false;\n this.taskAreaCollapsed = false;\n this.auxilliaryPanelCollapsed = false;\n this.aiBlockCollapsed = false;\n this.defaultMaximizeAreaName = \"app-maximize-area\";\n this.darkThemeEnabled = true;\n this.darkMode = false;\n this.wasAskedPwaInstall = false;\n this.showAuxPanelAsOverlay = true;\n this.changeTeamLoading = false;\n this.isStationLoginOpen = false;\n this.isEmergencyModalOpen = false;\n this.changeTeamsError = false;\n this.isStationLoginSuccess = false;\n this.changeProfileSettingsLoading = false;\n this.changeProfileSettingsError = false;\n this.stopNavigateOnAcceptTask = true;\n this.collapseVoiceIntPane = false; //configured in json to control expand/collapse of voice interaction CAD section\n this.isVoiceIntPaneUpdatedByUser = null;\n this.taskPageIllustration = \"\";\n this.isRTDIntialized = false;\n this.microsoftOrgConfig = null;\n this.webexOrgConfig = null;\n this.datacenter = \"\";\n this.theme = \"lumos\";\n /**\n * WXM\n */\n this.wxmEnabled = false;\n /**\n * WEBEX\n */\n this.webexEnabled = false;\n this.webexShowModal = localStorage.getItem(\"webex-show-modal\") === \"true\" || false;\n this.webexMinimized = localStorage.getItem(\"webex-minimize-modal\") === \"true\" || false;\n this.language = localStorage.getItem(\"lng\") || \"\";\n this.webexMeetingTimeStamp = Number.parseInt(localStorage.getItem((_b = (_a = SERVICE.constants) === null || _a === void 0 ? void 0 : _a.WebexConstants) === null || _b === void 0 ? void 0 : _b.WEBEX_MEETING_TIME_STAMP) || \"\") || 0;\n this.webexDndEnabled = false;\n this.webexEventRegistered = false;\n this.isEnvironmentProd = false;\n this.domainUrl = \"\";\n this.featureFlags = {\n isCareAttachmentEnabled: true,\n isVideoEnabled: false,\n isDigitalFFEnabled: true,\n isPCIComplianceEnabled: true,\n isDesktopReasonCodeEnabled: false,\n isImiChatWidgetEnabled: false,\n isSteeringDigitsAppendEnabled: false,\n isTahoeEnabled: false,\n isSecureCADVariablesEnabled: false,\n isDesktopNotesWidgetEnabled: false,\n isLogRocketEnabled: false,\n isLogRocketMaskingDisabled: false,\n isIMIGlobalVariablesEnabled: false,\n isGlobalVariablesEnabled: false,\n isDesktopConsultToEntryPointDnEnabled: false,\n isDesktopMaxSessionLimitsEnabled: false,\n isSignoutBySupervisorEnabled: false,\n isCallbackRetryEnabled: false,\n isWebRTCEnabled: false,\n isWebRTCSupervisorEnabled: false,\n isProgressiveCampaignEnabled: false,\n isProgressiveCampaign1NEnabled: false,\n isDesktopMaerskEnhancementEnabled: false,\n isESDPostInteractionInsightsEnabled: false,\n isDesktopMaerskAcqueonTeamId: false,\n isNativeChat: false,\n isDesktopCpdViewEnabled: false,\n isAddressBookInfiniteScrollEnabled: false,\n isDesktopMSStateSyncEnabled: false,\n isDesktopAuxCodesInfiniteScrollEnabled: false,\n isDesktopWebexStateSyncEnabled: false,\n isDesktopEmergencyNotificationEnabled: false,\n isWebrtcRingingEnabled: false,\n isWebrtcEndCallEnabled: false,\n isWxccMultiPartyConfEnabled: false,\n isAiAssistantEnabled: false,\n isCallDropSummaryEnabled: false,\n isVirtualAgentSummaryEnabled: false,\n isQMWShowConsultRecordingsEnabled: false,\n isRecordingsRicherMetadataEnabled: false,\n isDesktopConferenceRecordingEnabled: false,\n isWxccPersistCallEnabled: false,\n isShowSignedOutAgentsEnabled: false,\n isAutoCsatEnabled: false,\n isWxccAgentInteractionEnabled: false,\n isMomentumV2Enabled: false,\n isWebexDirectoryViewEnabled: false,\n isWxccAllowOutdialCallAlwaysEnabled: false,\n isQueueStatsTabEnabled: false,\n isInteractionsPageEnabled: false,\n isMaskSensitiveDataFFEnabled: false,\n isAllowConfTransferToEpDnEnabled: false,\n isOutdialOrgSearchEnabled: false,\n isConfirmDialogEnabled: false,\n isSuppressWebexCallingNotificationEnabled: false,\n isProgressive11SpecialModeEnabled: false,\n isConsultTransferInfiniteScrollEnabled: false,\n isDesktopEnhancedSignInEnabled: false,\n isLogUploadEnabledOnLoginError: false,\n isWxccCoreDisallowPendingLogoutStateChangeEnabled: false,\n isAiAssistantV2Enabled: false,\n isVisualRebrandNewLookToggleEnabled: false,\n isWxccPostCallEnabled: false,\n isEarlyWebexRegistrationDisabled: false,\n isWxccPersistConsultEnabled: false,\n isDesktopCallPanelVisualUpdateEnabled: false,\n isWellnessBreakClientEnabled: false,\n isUploadLogsToWebexEnabled: false\n };\n this.pciCompliance = {\n action: \"redact\",\n isAttachmentEnabled: true\n };\n this.pciAllowedAttachmentTypes = \"\";\n this.imiScriptLoaded = false;\n this.getDeviceType = (isExtension) => {\n return isExtension ? SERVICE.constants.LoginVoiceOptions.EXTENSION : SERVICE.constants.LoginVoiceOptions.AGENT_DN;\n };\n this.fetchDefaultIdleCodeId = (orgId) => __awaiter(this, void 0, void 0, function* () {\n try {\n const params = { orgId };\n const response = yield SERVICE.abs.fetchDefaultAuxCodes(params);\n logger.info(`event=fetchDefaultAuxCodes : Successfully fetched ${response.length} default aux codes`);\n return response[0].id.toString();\n }\n catch (error) {\n logger.error(`event=fetchDefaultIdleCodes | Tracking ID: ${getTrackingIdFromErrorObject ? getTrackingIdFromErrorObject(error) : \"\"} | Fetching default aux code is failed : ${error}`, error);\n throw error;\n }\n });\n this.getDefaultAuxCode = () => {\n if (this.featureFlags.isDesktopAuxCodesInfiniteScrollEnabled) {\n const response = this.fetchDefaultIdleCodeId(STORE.agent.orgId);\n if (response) {\n return response.toString();\n }\n }\n else if (STORE.agent.idleCodes.length > 0) {\n const defaultStateOption = STORE.agent.idleCodes.filter((option) => option.isDefault);\n if (defaultStateOption[0]) {\n return defaultStateOption[0].id.toString();\n }\n }\n return \"\";\n };\n const _taskAreaCollapsed = Cookies.get(TASK_AREA_COOKIES);\n this.taskAreaCollapsed = _taskAreaCollapsed === \"true\";\n const _auxilliaryPanelCollapsed = Cookies.get(AUX_PANEL_COOKIES);\n this.auxilliaryPanelCollapsed = _auxilliaryPanelCollapsed === \"true\";\n const _aiBlockCollapsed = Cookies.get(AI_BLOCK_COOKIES);\n this.aiBlockCollapsed = _aiBlockCollapsed === \"true\";\n const _showAuxPanelAsOverlay = true;\n this.showAuxPanelAsOverlay = _showAuxPanelAsOverlay;\n const _darkMode = localStorage.getItem(DARK_MODE_KEY);\n this.darkMode = _darkMode === \"true\";\n themeManager.setDarkMode(this.darkMode);\n const _wasAskedPwaInstall = Cookies.get(WAS_ASKED_PWA_INSTALL_COOKIES);\n this.wasAskedPwaInstall = _wasAskedPwaInstall === \"true\";\n const _changeTeamLoading = false;\n this.changeTeamLoading = _changeTeamLoading;\n const _changeProfileSettingsLoading = false;\n this.changeProfileSettingsLoading = _changeProfileSettingsLoading;\n }\n /**\n * Computed values to simplify passing data to Web Components\n */\n get isInteractionBtnConfirmDialogEnabled() {\n return (this.featureFlags.isConfirmDialogEnabled &&\n (this.featureFlags.isWxccMultiPartyConfEnabled || this.featureFlags.isWxccPersistCallEnabled));\n }\n get chatConfigs() {\n return {\n isCareAttachmentEnabled: this.featureFlags.isCareAttachmentEnabled,\n isVideoEnabled: this.featureFlags.isVideoEnabled,\n isDigitalFFEnabled: this.featureFlags.isDigitalFFEnabled,\n isPCIComplianceEnabled: this.featureFlags.isPCIComplianceEnabled\n };\n }\n get multipartyOrPersistsFF() {\n return this.featureFlags.isWxccMultiPartyConfEnabled || this.featureFlags.isWxccPersistCallEnabled;\n }\n get pciSettings() {\n return {\n action: this.pciCompliance.action,\n isAttachmentEnabled: this.pciCompliance.isAttachmentEnabled\n };\n }\n get pciAllowedAttachments() {\n return this.pciAllowedAttachmentTypes;\n }\n get emailConfigs() {\n return {\n isCareAttachmentEnabled: this.featureFlags.isCareAttachmentEnabled,\n isPCIComplianceEnabled: this.featureFlags.isPCIComplianceEnabled\n };\n }\n get imiConfigs() {\n return {\n imiWidgetEnabled: this.featureFlags.isImiChatWidgetEnabled,\n imiScriptLoaded: this.imiScriptLoaded,\n isStationLoginSuccess: this.isStationLoginSuccess\n };\n }\n get cssDynamicVars() {\n return {\n \"--interaction-control-block-height\": `${!STORE.agentContact.interactionControlDimension.consultCallContainerHeight\n ? STORE.agentContact.interactionControlDimension.mainCallContainerHeight\n : STORE.agentContact.interactionControlDimension.mainCallContainerHeight +\n STORE.agentContact.interactionControlDimension.consultCallContainerHeight}px`\n };\n }\n updateIsRTDInitializedFlag(value) {\n this.isRTDIntialized = value;\n }\n login(stationLoginData, userPrefData) {\n var _a, _b, _c, _d;\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const login = yield SERVICE.aqm.agent.stationLogin({\n data: stationLoginData\n });\n let teamUniqueId = \"\";\n if (STORE.app.featureFlags.isDesktopMaerskAcqueonTeamId &&\n stationLoginData.teamId &&\n stationLoginData.teamId !== \"\") {\n const team = yield SERVICE.cms.fetchAllTeams(STORE.agent.orgId, {\n dbId: stationLoginData.teamId\n });\n if (Array.isArray(team) && team.length > 0) {\n teamUniqueId = team[0].id;\n }\n else {\n throw new Error(`Error fetching response for teamId: ${stationLoginData.teamId}`);\n }\n }\n logger.info(\"event=stationLoginSuccess | Station login success after Profile Settings updation\", login.data);\n // Remove state change banner on profile update\n hideBanner(AGENT_STATE_CHANGEDBY_NAME);\n const userLastSelectedRole = STORE.agent.userSelectedRole;\n const switchedRole = (_a = stationLoginData === null || stationLoginData === void 0 ? void 0 : stationLoginData.roles) === null || _a === void 0 ? void 0 : _a.join(\"_\");\n if (switchedRole !== UserRoles.SUPERVISOR) {\n STORE.agent.updateStatusAfterProfileUpdate();\n }\n STORE.agent.updateSelectedAgentRole(((_b = stationLoginData === null || stationLoginData === void 0 ? void 0 : stationLoginData.roles) === null || _b === void 0 ? void 0 : _b.join(\"_\")) || \"\");\n STORE.agent.updateDnNumber(stationLoginData.dialNumber || \"\");\n STORE.agent.updateUsesOtherDN(stationLoginData.usesOtherDN);\n STORE.agent.updateTeamId(stationLoginData.teamId || \"\");\n STORE.agent.updateTeamUniqueId(teamUniqueId || \"\");\n STORE.agent.updateTeamName(stationLoginData.teamName || \"\");\n STORE.agent.updateIsExtension(stationLoginData.isExtension || false);\n STORE.agent.updateExtensionNumber(userPrefData.extensionNumber);\n STORE.agent.updateDialNumberValueForNonUS(userPrefData.dialNumberValueForNonUS);\n STORE.agent.updateIsInternational(userPrefData.isInternational);\n STORE.agent.updateCountryCallingCode(userPrefData.countryCallingCode);\n STORE.agent.updateChannelCapacity(login.data.channelsMap);\n STORE.agent.updateProfileType(login.data.profileType);\n STORE.agent.updateInternationalPhoneNumber(userPrefData.isInternational ? userPrefData.internationalPhoneNumber : \"\");\n STORE.agent.updateCountryCodeValue(userPrefData.countryCodeValue);\n STORE.agent.updateIsRememberMyCredentials(userPrefData.isRememberMyCredentials);\n // Always update the store value for desktop notification on login\n if (STORE.app.featureFlags.isDesktopEmergencyNotificationEnabled) {\n STORE.agent.updateEmergencyModalDisplay(userPrefData.isEmergencyModalAlreadyDisplayed);\n }\n if (STORE.app.featureFlags.isWebRTCEnabled) {\n STORE.agent.updateDeviceType(stationLoginData.deviceType || this.getDeviceType(stationLoginData.isExtension || false));\n if (stationLoginData.deviceType === SERVICE.constants.LoginVoiceOptions.BROWSER) {\n checkNeedsWebexRegister();\n registerWebCalling(this.domainUrl);\n }\n }\n if (!SERVICE.conf.profile) {\n logger.error(\"event=NoConfigProfile | No Config profile after StationLogin while update profile\");\n }\n else {\n if (STORE.agent.isRememberMyCredentials) {\n this.saveOrUpdateUserPreferences(Object.assign({ selectedRoleName: (_c = stationLoginData === null || stationLoginData === void 0 ? void 0 : stationLoginData.roles) === null || _c === void 0 ? void 0 : _c.join(\"_\"), teamName: userPrefData.teamName, teamId: userPrefData.teamId, dialNumber: stationLoginData.dialNumber, isExtension: stationLoginData.isExtension, extensionNumber: userPrefData.extensionNumber, dialNumberValueForNonUS: userPrefData.dialNumberValueForNonUS, isInternational: userPrefData.isInternational, internationalPhoneNumber: userPrefData.internationalPhoneNumber, countryCallingCode: userPrefData.countryCallingCode, countryCodeValue: userPrefData.countryCodeValue, isRememberMyCredentials: userPrefData.isRememberMyCredentials, deviceType: stationLoginData.deviceType, deviceId: stationLoginData.deviceId }, (STORE.app.featureFlags.isDesktopEmergencyNotificationEnabled && {\n isEmergencyModalAlreadyDisplayed: userPrefData.isEmergencyModalAlreadyDisplayed\n })));\n this.saveUserPreferenceInSessionStorage(userPrefData);\n }\n else if (STORE.app.featureFlags.isDesktopEmergencyNotificationEnabled) {\n this.saveOrUpdateUserPreferences({\n isEmergencyModalAlreadyDisplayed: userPrefData.isEmergencyModalAlreadyDisplayed ? true : false\n });\n this.deleteUserPreferenceFromSessionStorage();\n }\n else {\n this.deleteUserPreferences();\n this.deleteUserPreferenceFromSessionStorage();\n }\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.CHANGE_PROFILE_SETTINGS, {\n Status: SERVICE.telemetry.TELEM_EVENT.STATUS.SUCCESS,\n ChangedProfileSettings: stationLoginData,\n Reason: SERVICE.telemetry.TELEM_EVENT.STATUS.SUCCESS\n });\n // when user switches role from profile settings, call telemetry event\n if (userLastSelectedRole !== ((_d = stationLoginData === null || stationLoginData === void 0 ? void 0 : stationLoginData.roles) === null || _d === void 0 ? void 0 : _d.join(\"_\"))) {\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.SWITCH_USER_ROLE, {\n status: SERVICE.telemetry.TELEM_EVENT.STATUS.SUCCESS,\n LastUserRole: userLastSelectedRole === UserRoles.SUPERVISOR_AGENT\n ? formRoleNameForTelemetry(userLastSelectedRole)\n : userLastSelectedRole,\n SwitchedRole: switchedRole === UserRoles.SUPERVISOR_AGENT ? formRoleNameForTelemetry(switchedRole) : switchedRole,\n Reason: \"[Profile Settings] User switched Role\"\n });\n }\n const notificationData = {\n type: Notifications.ItemMeta.Type.Info,\n mode: Notifications.ItemMeta.Mode.AutoDismiss,\n title: t(\"app:notifications.changeProfileNotifTitle\"),\n data: t(\"app:notifications.changeProfileNotifData\")\n };\n STORE.generalNotifications.fireNotificationEvent(notificationData);\n }\n }\n catch (e) {\n this.setChangeProfileSettingsLoginFailed(true);\n this.updateStationLoginOpen(true);\n this.updateEmergencyModalOpen(false);\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.CHANGE_PROFILE_SETTINGS, {\n Status: SERVICE.telemetry.TELEM_EVENT.STATUS.FAILED,\n ChangedProfileSettings: stationLoginData.teamName,\n Reason: \"Update Profile failed at stationLogin\"\n });\n logger.error(`event=stationLoginFailed | Update Profile failed at stationLogin ${e}`, e);\n }\n });\n }\n loginAgentWithNewTeam(stationLoginData) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n yield SERVICE.aqm.agent.stationLogin({\n data: stationLoginData\n });\n STORE.agent.updateTeamName(stationLoginData.teamName || \"\");\n if (!SERVICE.conf.profile) {\n logger.error(\"event=NoConfigProfile | No Config profile after StationLogin while changing teams\");\n }\n else {\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.CHANGE_TEAM, {\n Status: SERVICE.telemetry.TELEM_EVENT.STATUS.SUCCESS,\n ChangedTeam: stationLoginData.teamName,\n Reason: SERVICE.telemetry.TELEM_EVENT.STATUS.SUCCESS\n });\n const notificationData = {\n type: Notifications.ItemMeta.Type.Info,\n mode: Notifications.ItemMeta.Mode.AutoDismiss,\n title: t(\"app:notifications.changeTeamNotifTitle\"),\n data: t(\"app:notifications.changeTeamNotifData\") + stationLoginData.teamName\n };\n STORE.generalNotifications.fireNotificationEvent(notificationData);\n }\n }\n catch (e) {\n this.setChangeTeamsLoginFailed(true);\n this.updateStationLoginOpen(true);\n this.updateEmergencyModalOpen(false);\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.CHANGE_TEAM, {\n Status: SERVICE.telemetry.TELEM_EVENT.STATUS.FAILED,\n ChangedTeam: stationLoginData.teamName,\n Reason: \"Team change failed at stationLogin\"\n });\n logger.error(`event=stationLoginFailed | Team change failed at stationLogin ${e}`, e);\n }\n });\n }\n getAgentDN() {\n return localStorage ? localStorage.getItem(\"agent-dn-number\") : \"\";\n }\n saveUserPreferenceInSessionStorage(data) {\n sessionStorage.setItem(USER_PREFERENCE, JSON.stringify(data));\n }\n deleteUserPreferenceFromSessionStorage() {\n sessionStorage.removeItem(USER_PREFERENCE);\n }\n /**\n * Save or Update User Preferences when submit is called from User Station Login or Profile Settings\n * @param payloadUserPreferences\n */\n saveOrUpdateUserPreferences(payloadUserPreferences) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n if (STORE.agent.isPreferenceSaved) {\n // If preferences already exists update the saved ones\n const data = yield SERVICE.userPrefs.updateUserPreferences({\n organizationId: STORE.agent.organizationId,\n id: STORE.agent.meUserId,\n data: payloadUserPreferences\n });\n this.saveUserPreferenceInSessionStorage(data);\n logger.info(\"event=userPreferencesUpdateSuccess | updating User Preferences Success : \", payloadUserPreferences, `length=${JSON.stringify(payloadUserPreferences).length}`);\n if (\"isInternational\" in payloadUserPreferences) {\n STORE.agent.updateIsInternational(payloadUserPreferences.isInternational);\n }\n if (\"isRememberMyCredentials\" in payloadUserPreferences) {\n STORE.agent.updateIsRememberMyCredentials(payloadUserPreferences.isRememberMyCredentials);\n }\n if (\"countryCallingCode\" in payloadUserPreferences) {\n STORE.agent.updateCountryCallingCode(payloadUserPreferences.countryCallingCode);\n }\n if (\"internationalPhoneNumber\" in payloadUserPreferences) {\n STORE.agent.updateInternationalPhoneNumber(payloadUserPreferences.internationalPhoneNumber);\n }\n if (\"countryCodeValue\" in payloadUserPreferences) {\n STORE.agent.updateCountryCodeValue(payloadUserPreferences.countryCodeValue);\n }\n if (\"deviceType\" in payloadUserPreferences) {\n STORE.agent.updateDeviceType(payloadUserPreferences.deviceType || null);\n }\n if (\"isEmergencyModalAlreadyDisplayed\" in payloadUserPreferences) {\n STORE.agent.updateEmergencyModalDisplay(payloadUserPreferences.isEmergencyModalAlreadyDisplayed);\n }\n }\n else {\n //else save new preferences\n const data = yield SERVICE.userPrefs.saveUserPreferences({\n organizationId: STORE.agent.organizationId,\n id: STORE.agent.meUserId,\n data: payloadUserPreferences\n });\n this.saveUserPreferenceInSessionStorage(data);\n if (\"isEmergencyModalAlreadyDisplayed\" in payloadUserPreferences) {\n STORE.agent.updateEmergencyModalDisplay(payloadUserPreferences.isEmergencyModalAlreadyDisplayed);\n }\n logger.info(\"event=userPreferencesSaveSuccess | saving User Preferences Success : \", payloadUserPreferences, `length=${JSON.stringify(payloadUserPreferences).length}`);\n }\n }\n catch (error) {\n logger.error(\"event=userPreferencesSaveFailed | saving User Preferences Error : \", error);\n const notificationData = {\n type: Notifications.ItemMeta.Type.Info,\n mode: Notifications.ItemMeta.Mode.AutoDismiss,\n title: \"\",\n data: t(\"app:notifications.profileSavedFailedData\")\n };\n STORE.generalNotifications.fireNotificationEvent(notificationData);\n }\n });\n }\n /**\n * Delete User Preferences when Remember Me checkbox is unchecked and submit is called from User Station Login or Profile Settings\n */\n deleteUserPreferences() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n if (STORE.agent.isPreferenceSaved) {\n // If preferences exists, delete the saved ones\n yield SERVICE.userPrefs.deleteUserPreferences({\n organizationId: STORE.agent.organizationId,\n id: STORE.agent.meUserId\n });\n logger.info(\"event=userPreferencesDeleteSuccess | deleting User Preferences Success\");\n }\n }\n catch (error) {\n logger.error(\"event=userPreferencesDeleteFailed | deleting User Preferences Error : \", error);\n }\n });\n }\n /**\n * capture the event when user switched device type from Desktop to any other value\n * @param deviceType\n */\n addTelemetryOnDeviceSwitchFromDesktop(deviceType) {\n if (STORE.agent.deviceType === SERVICE.constants.LoginVoiceOptions.BROWSER &&\n deviceType !== STORE.agent.deviceType) {\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.WEBRTC_VOICE_CHANNEL_SWITCHED, {\n deviceType\n });\n }\n }\n logout(profileDetails) {\n return __awaiter(this, void 0, void 0, function* () {\n this.setChangeProfileSetingsLoading(true);\n logger.info(\"[UpdateProfile] Initiating Logout for Update Profile\");\n SERVICE.telemetry.timeEvent(SERVICE.telemetry.TELEM_EVENT.SIGN_OUT);\n const logoutResponse = SERVICE.aqm.agent.logout({\n data: { logoutReason: \"User requested logout\" }\n });\n const ifSupervisorOnly = profileDetails.roles.join(\"_\") === \"supervisor\";\n logoutResponse\n .then(() => __awaiter(this, void 0, void 0, function* () {\n if (STORE.app.featureFlags.isWebRTCEnabled &&\n STORE.agent.deviceType === SERVICE.constants.LoginVoiceOptions.BROWSER) {\n logger.info(\"[WebRtc] : deregistering webcalling\");\n yield SERVICE.webCalling.deregisterWebCalling(); // should wait for deregistration in case of profile switch.\n }\n if (profileDetails.deviceType) {\n this.addTelemetryOnDeviceSwitchFromDesktop(profileDetails.deviceType);\n }\n const userStationLoginData = {\n dialNumber: profileDetails.dnNumber || \"\",\n usesOtherDN: profileDetails.usesOtherDN,\n isExtension: profileDetails.isExtension,\n teamId: ifSupervisorOnly ? null : profileDetails.teamId,\n teamName: ifSupervisorOnly ? null : profileDetails.teamName,\n roles: profileDetails.roles,\n siteId: STORE.agent.siteId,\n auxCodeId: this.getDefaultAuxCode() || \"\"\n };\n const prefData = {\n extensionNumber: profileDetails.extensionNumber,\n dialNumberValueForNonUS: profileDetails.dialNumberValueForNonUS,\n isInternational: profileDetails.isInternational,\n teamName: profileDetails.teamName,\n teamId: profileDetails.teamId,\n internationalPhoneNumber: stripSpecialChar(profileDetails.phoneNumber),\n countryCallingCode: profileDetails.countryCallingCode,\n countryCodeValue: profileDetails.countryCodeValue,\n isRememberMyCredentials: profileDetails.isRememberMyCredentials\n };\n if ((STORE.app.featureFlags.isWebRTCEnabled && STORE.agent.role === SYSTEM_ROLES.AGENT) ||\n (STORE.app.featureFlags.isWebRTCEnabled &&\n STORE.app.featureFlags.isWebRTCSupervisorEnabled &&\n STORE.agent.role === SYSTEM_ROLES.SUPERVISOR)) {\n if (profileDetails.deviceType === SERVICE.constants.LoginVoiceOptions.BROWSER) {\n userStationLoginData.deviceId = `webrtc-${STORE.agent.agentId}`;\n userStationLoginData.dialNumber = `webrtc-${STORE.agent.agentId}`;\n }\n else {\n userStationLoginData.deviceId = userStationLoginData.dialNumber;\n }\n if (this.featureFlags.isDesktopEmergencyNotificationEnabled) {\n userStationLoginData.isEmergencyModalAlreadyDisplayed = profileDetails.isEmergencyModalAlreadyDisplayed;\n }\n userStationLoginData.deviceType = profileDetails.deviceType;\n prefData.deviceType = profileDetails.deviceType;\n logger.info(\"[WebRTC] : event=logoutSuccess | WebRTC logout success for supervisor | userStationLoginData \", JSON.stringify(userStationLoginData), \" | prefData \", JSON.stringify(prefData));\n }\n const logoutPrefData = Object.assign(Object.assign({}, userStationLoginData), prefData);\n if (SERVICE.conf.profile &&\n SERVICE.conf.profile.skillProfileId !== \"0\" &&\n SERVICE.conf.profile.skillProfileId !== \"null\") {\n userStationLoginData.skillProfileId = SERVICE.conf.profile.skillProfileId;\n }\n logger.info(\"[UpdateProfile] Logout success for Update Profile\");\n yield this.login(userStationLoginData, logoutPrefData);\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.SIGN_OUT, {\n [SERVICE.telemetry.TELEM_PROPS.SIGN_OUT_METHOD]: \"Agent\",\n Status: SERVICE.telemetry.TELEM_EVENT.STATUS.SUCCESS\n });\n this.setChangeProfileSetingsLoading(false);\n }))\n .catch((err) => {\n this.setChangeProfileSetingsLoading(false);\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.SIGN_OUT, {\n [SERVICE.telemetry.TELEM_PROPS.SIGN_OUT_METHOD]: \"Agent\",\n Status: SERVICE.telemetry.TELEM_EVENT.STATUS.FAILED,\n Reason: \"RoutingLogoutFailure\"\n });\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.CHANGE_PROFILE_SETTINGS, {\n status: SERVICE.telemetry.TELEM_EVENT.STATUS.FAILED,\n ChangedProfile: profileDetails,\n Reason: \"Routing logout Failed For Update Profile\"\n });\n logger.error(`event=AQMLogoutFailure | [Tracking ID: ${getTrackingIdFromErrorObject ? getTrackingIdFromErrorObject(err) : \"\"}] Routing logout Failed For Update Profile ${err}`, err);\n STORE.session.errorModal.setErrorDetails({\n detail: {\n modalType: \"dialog\",\n // AgentLogoutFailed\n message: t(\"app:updateProfileSettings.updateProfileFailed\"),\n trackingId: getTrackingIdFromErrorObject ? getTrackingIdFromErrorObject(err) : \"\"\n }\n });\n });\n });\n }\n logoutFromCurrentTeam(selectedTeam) {\n return __awaiter(this, void 0, void 0, function* () {\n // Save DN in local storage\n localStorage.setItem(\"agent-dn-number\", STORE.agent.dnNumber);\n this.setChangeTeamLoading(true);\n logger.info(\"[ChangeTeam] Initiating Logout for Change Teams\");\n SERVICE.telemetry.timeEvent(SERVICE.telemetry.TELEM_EVENT.SIGN_OUT);\n const logoutResponse = SERVICE.aqm.agent.logout({ data: { logoutReason: \"User requested logout\" } });\n logoutResponse\n .then(() => __awaiter(this, void 0, void 0, function* () {\n const stationLoginData = {\n dn: this.getAgentDN() || \"\",\n usesOtherDN: STORE.agent.usesOtherDN,\n teamId: selectedTeam === null || selectedTeam === void 0 ? void 0 : selectedTeam.teamId,\n teamName: selectedTeam === null || selectedTeam === void 0 ? void 0 : selectedTeam.teamName,\n siteId: STORE.agent.siteId,\n auxCodeId: this.getDefaultAuxCode() || \"\",\n isExtension: STORE.agent.isExtension\n };\n if (SERVICE.conf.profile &&\n SERVICE.conf.profile.skillProfileId !== \"0\" &&\n SERVICE.conf.profile.skillProfileId !== \"null\") {\n stationLoginData.skillProfileId = SERVICE.conf.profile.skillProfileId;\n }\n logger.info(\"[ChangeTeam] Logout success for Change Teams\");\n yield this.loginAgentWithNewTeam(stationLoginData);\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.SIGN_OUT, {\n [SERVICE.telemetry.TELEM_PROPS.SIGN_OUT_METHOD]: \"Agent\",\n Status: SERVICE.telemetry.TELEM_EVENT.STATUS.SUCCESS\n });\n this.setChangeTeamLoading(false);\n }))\n .catch((err) => {\n this.setChangeTeamLoading(false);\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.SIGN_OUT, {\n [SERVICE.telemetry.TELEM_PROPS.SIGN_OUT_METHOD]: \"Agent\",\n Status: SERVICE.telemetry.TELEM_EVENT.STATUS.FAILED,\n Reason: \"RoutingLogoutFailure\"\n });\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.CHANGE_TEAM, {\n status: SERVICE.telemetry.TELEM_EVENT.STATUS.FAILED,\n ChangedTeam: selectedTeam === null || selectedTeam === void 0 ? void 0 : selectedTeam.teamName,\n Reason: \"Routing logout Failed For Change Teams\"\n });\n logger.error(`event=AQMLogoutFailure | [Tracking ID: ${getTrackingIdFromErrorObject ? getTrackingIdFromErrorObject(err) : \"\"}] Routing logout Failed For Change Teams ${err}`, err);\n STORE.session.errorModal.setErrorDetails({\n detail: {\n modalType: \"dialog\",\n message: t(\"app:changeTeam.changeTeamFailed\"),\n trackingId: getTrackingIdFromErrorObject ? getTrackingIdFromErrorObject(err) : \"\"\n }\n });\n });\n });\n }\n /**\n * Actions\n */\n updateTitle(title) {\n this.title = title;\n }\n updateAppTitleAsImage(appTitleAsImage) {\n this.appTitleAsImage = appTitleAsImage;\n }\n updateLogo(logoUrl) {\n this.logo = logoUrl;\n }\n updateTaskPageIllustration(url) {\n this.taskPageIllustration = url;\n }\n updateStopNavigateOnAcceptTask(isEnabled) {\n this.stopNavigateOnAcceptTask = isEnabled;\n }\n updateCollapseVoiceIntPane(isEnabled) {\n this.collapseVoiceIntPane = isEnabled;\n }\n updateUserVoiceIntPaneState(isEnabled) {\n this.isVoiceIntPaneUpdatedByUser = isEnabled;\n }\n toggleDarkMode(isEnabled) {\n this.darkMode = isEnabled;\n themeManager.setDarkMode(isEnabled);\n localStorage.setItem(DARK_MODE_KEY, `${isEnabled}`);\n }\n toggleVisualRebrandNewLook(isEnabled) {\n themeManager.setVisualRebrandEnabled(isEnabled && this.featureFlags.isVisualRebrandNewLookToggleEnabled);\n themeManager.setMomentumAvatar(isEnabled && this.featureFlags.isVisualRebrandNewLookToggleEnabled);\n localStorage.setItem(VISUAL_REBRAND_NEW_LOOK_KEY, `${isEnabled}`);\n }\n updateWebexEnabled(isEnabled) {\n this.webexEnabled = isEnabled;\n }\n updateWebexEventRegistrationStatus(isRegistered) {\n this.webexEventRegistered = isRegistered;\n }\n updateWebexShowModal(isShow) {\n this.webexShowModal = isShow;\n }\n updateWebexMeetingTimeStamp(timeStamp) {\n this.webexMeetingTimeStamp = timeStamp;\n }\n updateWebexMinimized(isShow) {\n this.webexMinimized = isShow;\n }\n updateLanguage(lng) {\n this.language = lng;\n }\n updateWxmEnabled(isEnabled) {\n this.wxmEnabled = isEnabled;\n }\n updateWebexDnd(isEnabled) {\n this.webexDndEnabled = isEnabled;\n }\n updateStationLoginOpen(isOpen) {\n this.isStationLoginOpen = isOpen;\n }\n updateEmergencyModalOpen(isOpen) {\n this.isEmergencyModalOpen = isOpen;\n }\n updateStationLoginSuccess(isSuccess) {\n this.isStationLoginSuccess = isSuccess;\n }\n setChangeTeamsLoginFailed(isError) {\n this.changeTeamsError = isError;\n }\n setChangeProfileSettingsLoginFailed(isError) {\n this.changeProfileSettingsError = isError;\n }\n updateIMIFeatureFlag(status) {\n this.featureFlags.isImiChatWidgetEnabled = status;\n }\n updateFeatureFlags(featureFlags) {\n if (featureFlags) {\n this.featureFlags = Object.assign(Object.assign({}, this.featureFlags), featureFlags);\n }\n this.updateThemeManagerRebrand();\n }\n updatePciCompliance(pciComplianceSettings) {\n if (pciComplianceSettings) {\n this.pciCompliance = pciComplianceSettings;\n }\n }\n updatePciAllowedAttachmentTypes(allowedAttachmentTypes) {\n if (allowedAttachmentTypes) {\n this.pciAllowedAttachmentTypes = allowedAttachmentTypes;\n }\n }\n toggleTaskAreaCollapse() {\n this.taskAreaCollapsed = !this.taskAreaCollapsed;\n Cookies.set(TASK_AREA_COOKIES, `${this.taskAreaCollapsed}`);\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.TASK_PANE_TOGGLE, {\n [SERVICE.telemetry.TELEM_PROPS.TASK_PANE_STATE]: this.taskAreaCollapsed ? \"Minimized\" : \"Expanded\",\n Status: SERVICE.telemetry.TELEM_EVENT.STATUS.SUCCESS\n });\n if (!this.taskAreaCollapsed && window.innerWidth < IPAD_LANDSCAPE_LOWER_LIMIT && !this.auxilliaryPanelCollapsed) {\n // Collapse Aux panel if Task List is expanded in < 1024 screen size\n this.toggleAuxilliaryPanelCollapse();\n }\n }\n toggleAuxilliaryPanelCollapse() {\n this.auxilliaryPanelCollapsed = !this.auxilliaryPanelCollapsed;\n Cookies.set(AUX_PANEL_COOKIES, `${this.auxilliaryPanelCollapsed}`);\n if (!this.auxilliaryPanelCollapsed && window.innerWidth < IPAD_LANDSCAPE_LOWER_LIMIT && !this.taskAreaCollapsed) {\n // Collapse Task List if Aux panel is expanded in < 1024 screen size\n this.toggleTaskAreaCollapse();\n }\n }\n toggleAiAssistantPanelCollapse() {\n this.aiBlockCollapsed = !this.aiBlockCollapsed;\n Cookies.set(AI_BLOCK_COOKIES, `${this.aiBlockCollapsed}`);\n }\n setShowAuxPanelAsOverlay(showAuxPanelAsOverlayParam) {\n this.showAuxPanelAsOverlay = showAuxPanelAsOverlayParam;\n }\n checkPwaInstall() {\n return __awaiter(this, void 0, void 0, function* () {\n if (AGENTX_SW_CONTROLLER.isInstallPending && !this.wasAskedPwaInstall) {\n const res = yield STORE.generalNotifications.fireCheckPWAInstall();\n this.setAskedPwaInstall();\n if (res) {\n AGENTX_SW_CONTROLLER.installConfirm();\n }\n else {\n AGENTX_SW_CONTROLLER.installDismiss();\n }\n }\n });\n }\n setAskedPwaInstall() {\n this.wasAskedPwaInstall = true;\n Cookies.set(WAS_ASKED_PWA_INSTALL_COOKIES, `${this.wasAskedPwaInstall}`);\n }\n updateMicrosoftOrgConfig(data) {\n var _a, _b, _c, _d, _e, _f;\n const accountDetails = { tenantId: (_b = (_a = data.accountDetails) === null || _a === void 0 ? void 0 : _a.tenantId) !== null && _b !== void 0 ? _b : \"\" };\n const orgResponse = {\n active: (_c = data === null || data === void 0 ? void 0 : data.active) !== null && _c !== void 0 ? _c : false,\n accountDetails,\n showUserDetails: (_d = data === null || data === void 0 ? void 0 : data.showUserDetails) !== null && _d !== void 0 ? _d : false,\n stateSynchronization: (_e = data === null || data === void 0 ? void 0 : data.stateSynchronization) !== null && _e !== void 0 ? _e : false,\n idleCodes: (_f = data === null || data === void 0 ? void 0 : data.idleCodes) !== null && _f !== void 0 ? _f : {}\n };\n this.microsoftOrgConfig = orgResponse;\n }\n updateWebexOrgConfig(orgConfig) {\n this.webexOrgConfig = orgConfig;\n }\n setChangeTeamLoading(changeTeamLoading) {\n this.changeTeamLoading = changeTeamLoading;\n }\n changeAgentTeam(selectedTeam) {\n this.changeTeamLoading = true;\n this.logoutFromCurrentTeam(selectedTeam);\n }\n updateProfileSettings(profileDetails) {\n this.changeProfileSettingsLoading = true;\n this.logout(profileDetails);\n }\n setChangeProfileSetingsLoading(changeProfileSettingsLoading) {\n this.changeProfileSettingsLoading = changeProfileSettingsLoading;\n }\n setImiScriptLoad() {\n this.imiScriptLoaded = true;\n }\n setIsEnvironmentProd(isProd) {\n this.isEnvironmentProd = isProd;\n }\n setDomainUrl(url) {\n this.domainUrl = url;\n }\n setDatacenter(datacenter) {\n this.datacenter = datacenter;\n }\n updateTheme(theme) {\n this.theme = theme;\n themeManager.setThemeName(theme);\n }\n updateThemeManagerRebrand() {\n const isEnabled = localStorage.getItem(VISUAL_REBRAND_NEW_LOOK_KEY) === \"true\";\n themeManager.setVisualRebrandEnabled(isEnabled && this.featureFlags.isVisualRebrandNewLookToggleEnabled);\n themeManager.setMomentumAvatar(isEnabled && this.featureFlags.isVisualRebrandNewLookToggleEnabled);\n }\n}\n__decorate([\n observable\n], ModuleApp.prototype, \"title\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"logo\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"appTitleAsImage\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"taskAreaCollapsed\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"auxilliaryPanelCollapsed\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"aiBlockCollapsed\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"defaultMaximizeAreaName\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"darkThemeEnabled\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"darkMode\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"wasAskedPwaInstall\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"showAuxPanelAsOverlay\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"changeTeamLoading\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"isStationLoginOpen\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"isEmergencyModalOpen\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"changeTeamsError\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"isStationLoginSuccess\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"changeProfileSettingsLoading\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"changeProfileSettingsError\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"stopNavigateOnAcceptTask\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"collapseVoiceIntPane\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"isVoiceIntPaneUpdatedByUser\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"taskPageIllustration\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"isRTDIntialized\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"microsoftOrgConfig\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"webexOrgConfig\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"datacenter\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"theme\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"wxmEnabled\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"webexEnabled\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"webexShowModal\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"webexMinimized\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"language\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"webexMeetingTimeStamp\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"webexDndEnabled\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"webexEventRegistered\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"isEnvironmentProd\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"domainUrl\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"featureFlags\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"pciCompliance\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"pciAllowedAttachmentTypes\", void 0);\n__decorate([\n observable\n], ModuleApp.prototype, \"imiScriptLoaded\", void 0);\n__decorate([\n computed\n], ModuleApp.prototype, \"isInteractionBtnConfirmDialogEnabled\", null);\n__decorate([\n computed\n], ModuleApp.prototype, \"chatConfigs\", null);\n__decorate([\n computed\n], ModuleApp.prototype, \"multipartyOrPersistsFF\", null);\n__decorate([\n computed\n], ModuleApp.prototype, \"pciSettings\", null);\n__decorate([\n computed\n], ModuleApp.prototype, \"pciAllowedAttachments\", null);\n__decorate([\n computed\n], ModuleApp.prototype, \"emailConfigs\", null);\n__decorate([\n computed\n], ModuleApp.prototype, \"imiConfigs\", null);\n__decorate([\n computed\n], ModuleApp.prototype, \"cssDynamicVars\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"updateIsRTDInitializedFlag\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"updateTitle\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"updateAppTitleAsImage\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"updateLogo\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"updateTaskPageIllustration\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"updateStopNavigateOnAcceptTask\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"updateCollapseVoiceIntPane\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"updateUserVoiceIntPaneState\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"toggleDarkMode\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"toggleVisualRebrandNewLook\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"updateWebexEnabled\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"updateWebexEventRegistrationStatus\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"updateWebexShowModal\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"updateWebexMeetingTimeStamp\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"updateWebexMinimized\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"updateLanguage\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"updateWxmEnabled\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"updateWebexDnd\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"updateStationLoginOpen\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"updateEmergencyModalOpen\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"updateStationLoginSuccess\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"setChangeTeamsLoginFailed\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"setChangeProfileSettingsLoginFailed\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"updateIMIFeatureFlag\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"updateFeatureFlags\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"updatePciCompliance\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"updatePciAllowedAttachmentTypes\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"toggleTaskAreaCollapse\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"toggleAuxilliaryPanelCollapse\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"toggleAiAssistantPanelCollapse\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"setShowAuxPanelAsOverlay\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"checkPwaInstall\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"setAskedPwaInstall\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"updateMicrosoftOrgConfig\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"updateWebexOrgConfig\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"setChangeTeamLoading\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"changeAgentTeam\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"updateProfileSettings\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"setChangeProfileSetingsLoading\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"setImiScriptLoad\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"setIsEnvironmentProd\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"setDomainUrl\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"setDatacenter\", null);\n__decorate([\n action\n], ModuleApp.prototype, \"updateTheme\", null);\nexport const app = new ModuleApp();\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { createLogger } from \"@/sdk\";\nimport { STORE } from \"@/store\";\nimport { analyzerSessionHelper } from \"@agentx/agentx-mfe-wc-based\";\nimport { SERVICE } from \"@agentx/agentx-services\";\nimport { OAuth } from \"@uuip/unified-ui-platform\";\nimport { action, computed, observable } from \"mobx\";\nimport { handleIframeLogout, unRegisterWebexSDK } from \"../app/utils/Utils\";\nconst logger = createLogger(\"[store-auth]\");\nexport class ModuleAuth {\n constructor() {\n this.authService = new OAuth.Service({\n clientId: process.env.AUTH_CLIENT_ID,\n clientSecret: process.env.AUTH_CLIENT_SECRET,\n scopes: process.env.AUTH_SCOPE,\n idbrokerUrl: process.env.ID_BROKER_URL,\n identityUrl: process.env.IDENTITY_URL,\n flsUrl: process.env.FLS_URL,\n useSelfContained: \"true\"\n });\n this.accessToken = \"\";\n this.refreshToken = \"\";\n this.iframeLogoutRequested = false;\n this.isWebexLogoutRequested = false;\n // Microsoft Authentication Services\n this.microsoftAuthServiceIsEnabled = false;\n this.microsoftAuthServiceIsAuthenticated = false;\n this.requestCiLogout = (token) => {\n //websocket disconnect done explicitly since AQM logout does not disconnect websocket connection\n SERVICE.aqm.closeSocket(false, \"SelfLogout\");\n if (window.self !== window.top) {\n this.setIFrameLogoutRequested(true);\n handleIframeLogout();\n }\n else {\n this.authService.logout(token);\n }\n };\n }\n get getMicrosoftAuthConfig() {\n return {\n isEnabled: this.microsoftAuthServiceIsEnabled,\n isAuthenticated: this.microsoftAuthServiceIsAuthenticated // This flag is used to show the error on profile setting.\n };\n }\n setIFrameLogoutRequested(value) {\n this.iframeLogoutRequested = value;\n }\n setIsWebexLogoutRequested(value) {\n this.isWebexLogoutRequested = value;\n }\n tokenSet(token) {\n this.accessToken = token;\n }\n updateCiDetails(identityUrl, idbrokerUrl) {\n STORE.auth.authService.config.identityUrl = identityUrl;\n STORE.auth.authService.config.idbrokerUrl = idbrokerUrl;\n }\n logout(token) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n const promiseLogout = analyzerSessionHelper.analyzerLogout();\n this.setIsWebexLogoutRequested(true);\n if (SERVICE.webex) {\n logger.info(\"[Webex] : logout initiated to delete the device registered with webex-js-sdk!\");\n yield unRegisterWebexSDK();\n }\n // dispatch event when CI logout is triggered from desktop so that js-sdk can listen to this event when required\n window.dispatchEvent(new CustomEvent(\"desktop-ci-logout\", {\n bubbles: true,\n composed: true\n }));\n let timeoutId;\n // Trigger Microsoft Logout, If user is Authenticated.\n if (STORE.auth.getMicrosoftAuthConfig.isAuthenticated) {\n logger.info(\"[Microsoft Auth]: initiating msLogout\");\n (_a = SERVICE.microsoft) === null || _a === void 0 ? void 0 : _a.msLogout().then(() => {\n logger.info(\"[Microsoft Auth]: Microsoft User Signout form Desktop is success\", timeoutId);\n if (timeoutId) {\n clearTimeout(timeoutId);\n this.requestCiLogout(token);\n }\n });\n }\n promiseLogout\n .finally(() => {\n if (!STORE.app.webexEnabled && !STORE.auth.getMicrosoftAuthConfig.isAuthenticated) {\n this.requestCiLogout(token);\n }\n else {\n const timeoutDuration = STORE.auth.getMicrosoftAuthConfig.isAuthenticated ? 10000 : 5000;\n timeoutId = setTimeout(() => {\n this.requestCiLogout(token);\n }, timeoutDuration);\n }\n })\n .catch((error) => {\n logger.error(`event=AnalyzerLogout | Failed to logout from Analyzer - ${error}`, error);\n });\n });\n }\n refreshTokenSet(token) {\n this.refreshToken = token;\n }\n // Microsoft Authentication Services\n updateMicrosoftAuthServiceEnabled(status) {\n this.microsoftAuthServiceIsEnabled = status;\n }\n updateMicrosoftAuthServiceAuthenticated(status) {\n this.microsoftAuthServiceIsAuthenticated = status;\n }\n}\n__decorate([\n observable\n], ModuleAuth.prototype, \"authService\", void 0);\n__decorate([\n observable\n], ModuleAuth.prototype, \"accessToken\", void 0);\n__decorate([\n observable\n], ModuleAuth.prototype, \"refreshToken\", void 0);\n__decorate([\n observable\n], ModuleAuth.prototype, \"iframeLogoutRequested\", void 0);\n__decorate([\n observable\n], ModuleAuth.prototype, \"isWebexLogoutRequested\", void 0);\n__decorate([\n observable\n], ModuleAuth.prototype, \"microsoftAuthServiceIsEnabled\", void 0);\n__decorate([\n observable\n], ModuleAuth.prototype, \"microsoftAuthServiceIsAuthenticated\", void 0);\n__decorate([\n computed\n], ModuleAuth.prototype, \"getMicrosoftAuthConfig\", null);\n__decorate([\n action\n], ModuleAuth.prototype, \"setIFrameLogoutRequested\", null);\n__decorate([\n action\n], ModuleAuth.prototype, \"setIsWebexLogoutRequested\", null);\n__decorate([\n action\n], ModuleAuth.prototype, \"tokenSet\", null);\n__decorate([\n action\n], ModuleAuth.prototype, \"updateCiDetails\", null);\n__decorate([\n action\n], ModuleAuth.prototype, \"logout\", null);\n__decorate([\n action\n], ModuleAuth.prototype, \"refreshTokenSet\", null);\n__decorate([\n action\n], ModuleAuth.prototype, \"updateMicrosoftAuthServiceEnabled\", null);\n__decorate([\n action\n], ModuleAuth.prototype, \"updateMicrosoftAuthServiceAuthenticated\", null);\nexport const auth = new ModuleAuth();\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { CONTACT_DIRECTION, OUTBOUND_TYPE } from \"@/app/components/constants\";\nimport { t } from \"@/mixins/i18nMixin\";\nimport { MediaType } from \"@/store/store-agent-contact\";\nimport { createBrowserNotifications } from \"@uuip/unified-ui-platform-sdk\";\nimport { action, observable } from \"mobx\";\nimport { DESKTOP_NOTIFICATION_SOUND_SETTINGS, SOUND_DEFAULT_SETTINGS } from \"./shared-actions/constants\";\nconst MILLISECONDS_IN_SECOND = 1000;\nexport class ModuleBrowserNotifications {\n constructor(notifications) {\n this.isTabFocus = true;\n this.browserNotificationAutoDismiss = 8000; //ms\n this.popoverAudioObject = new Audio(\"/sounds/new_contact_sound.mp3\");\n this.ringAudioObject = new Audio(\"/sounds/ringtone.mp3\");\n this.getOutboundNotificationBody = (data) => {\n switch (data.outboundType) {\n case OUTBOUND_TYPE.CAMPAIGN:\n return t(\"app:browserNotifications.campaignOutboundCallRequest\");\n case OUTBOUND_TYPE.OUTDIAL_RESERVATION:\n return t(\"app:browserNotifications.outdialReservationCallRequest\");\n case OUTBOUND_TYPE.IVR_PREDICTIVE:\n case OUTBOUND_TYPE.IVR_PROGRESSIVE:\n return t(\"app:browserNotifications.IVRCallRequest\");\n default:\n return t(\"app:browserNotifications.newOutboundCallRequest\");\n }\n };\n this.getBrowserNotificationBody = (data) => {\n switch (data.type) {\n case MediaType.Telephony:\n return data.contactDirection === CONTACT_DIRECTION.OUTBOUND || data.outboundType\n ? this.getOutboundNotificationBody(data)\n : t(\"app:browserNotifications.newIncomingCallRequest\");\n case MediaType.Chat:\n return t(\"app:browserNotifications.newChatRequest\");\n case MediaType.Email:\n return t(\"app:browserNotifications.newEmailRequest\");\n case MediaType.Social:\n return t(\"app:browserNotifications.newSocialRequest\");\n default:\n return \"New request\";\n }\n };\n this.notifications = notifications;\n this.requestPermission();\n this.loadSound(); //loading sound\n }\n requestPermission() {\n return __awaiter(this, void 0, void 0, function* () {\n // invoke isPermissionGranted only if browser notification is supported else it throws undefined error\n if (this.notifications &&\n this.notifications.isBrowserNotificationSupported &&\n !this.notifications.isPermissionGranted) {\n yield this.notifications.requestNotificationUserPermission();\n }\n });\n }\n setIsTabFocus(isFocus) {\n this.isTabFocus = isFocus;\n }\n playSound(isWebCall = false) {\n // isWebCall will be true only if the call is a web call and the feature flag CX-13578-webrtc-ringtone is enabled\n // if FF CX-13578-webrtc-ringtone is on :\n // 1. plays ringtone if the call is a web call\n // 2. plays default chime sound if the call is not a web call\n // 3. plays default chime sound for all other media types\n // if FF CX-13578-webrtc-ringtone is off :\n // plays default chime sound for all media types\n if (isWebCall) {\n // updating the sound settings for web call\n this.updateWebCallAudioSettings();\n this.playRing();\n }\n else {\n // updating the sound settings for default chime sound\n this.updateAudioSettings();\n this.popoverAudioObject.play();\n }\n }\n loadSound() {\n // load the sound settings\n this.popoverAudioObject.load();\n this.ringAudioObject.load();\n this.ringAudioObject.loop = true;\n this.updateAudioSettings();\n this.updateWebCallAudioSettings();\n }\n playRing() {\n //play ringtone\n this.ringAudioObject.play();\n }\n stopRing() {\n // stop the ringtone and reset the time to 0\n // This is used when the user : accepts the call / rejects the call / the call is RONA\n this.ringAudioObject.pause();\n this.ringAudioObject.currentTime = 0;\n }\n getAudioSettings() {\n // get the sound settings from local storage\n const notificationSettings = JSON.parse(localStorage.getItem(DESKTOP_NOTIFICATION_SOUND_SETTINGS) || SOUND_DEFAULT_SETTINGS);\n const agentId = sessionStorage.getItem(\"agentId\") || \"default\";\n return notificationSettings[agentId] || JSON.parse(SOUND_DEFAULT_SETTINGS).default;\n }\n setAudioProperties(audioObject) {\n // set the sound settings to the audio object passed\n const notification = this.getAudioSettings();\n audioObject.volume = notification.volume;\n audioObject.muted = notification.mute || !notification.sound;\n audioObject.pause();\n audioObject.currentTime = 0;\n }\n updateAudioSettings() {\n // update the sound settings for the default chime sound\n this.setAudioProperties(this.popoverAudioObject);\n }\n updateWebCallAudioSettings() {\n // update the sound settings for the web call ringtone\n this.setAudioProperties(this.ringAudioObject);\n }\n addOnClick(notif) {\n if (notif) {\n notif.onclick = function () {\n window.focus();\n notif.close();\n };\n }\n }\n setNotificationTimeout(seconds) {\n this.browserNotificationAutoDismiss = seconds * MILLISECONDS_IN_SECOND;\n }\n fireNewOfferNotification(task) {\n if (this.notifications.isPermissionGranted && !this.isTabFocus) {\n const title = \"Webex CC Desktop\";\n let message = `${this.getBrowserNotificationBody(task)}`;\n if (task.outboundType !== OUTBOUND_TYPE.OUTDIAL_RESERVATION) {\n message += ` ${task.header.contactTitle}`;\n }\n const notif = this.notifications.fire(title, {\n body: message,\n tag: task.id\n });\n this.addOnClick(notif);\n /** Configurable notification timeout through layout JSON */\n setTimeout(() => {\n if (notif) {\n notif.close();\n }\n }, this.browserNotificationAutoDismiss);\n }\n }\n firebrowserNotification(message, title = \"Webex CC Desktop\") {\n if (this.notifications.isPermissionGranted && !this.isTabFocus) {\n const notifs = this.notifications.fire(title, {\n body: message\n });\n this.addOnClick(notifs);\n /** Configurable notification timeout through layout JSON */\n setTimeout(() => {\n if (notifs) {\n notifs.close();\n }\n }, this.browserNotificationAutoDismiss);\n }\n }\n}\n__decorate([\n observable\n], ModuleBrowserNotifications.prototype, \"isTabFocus\", void 0);\n__decorate([\n observable\n], ModuleBrowserNotifications.prototype, \"browserNotificationAutoDismiss\", void 0);\n__decorate([\n observable\n], ModuleBrowserNotifications.prototype, \"popoverAudioObject\", void 0);\n__decorate([\n observable\n], ModuleBrowserNotifications.prototype, \"ringAudioObject\", void 0);\n__decorate([\n action\n], ModuleBrowserNotifications.prototype, \"setIsTabFocus\", null);\n__decorate([\n action\n], ModuleBrowserNotifications.prototype, \"playSound\", null);\n__decorate([\n action\n], ModuleBrowserNotifications.prototype, \"loadSound\", null);\n__decorate([\n action\n], ModuleBrowserNotifications.prototype, \"stopRing\", null);\n__decorate([\n action\n], ModuleBrowserNotifications.prototype, \"setNotificationTimeout\", null);\n__decorate([\n action\n], ModuleBrowserNotifications.prototype, \"fireNewOfferNotification\", null);\n__decorate([\n action\n], ModuleBrowserNotifications.prototype, \"firebrowserNotification\", null);\n/**\n * Set up notofication host\n */\nexport const browserNotifications = new ModuleBrowserNotifications(createBrowserNotifications());\n","/**\n * store-common-state-variables store is used to share common variables/state accross components\n */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { createLogger } from \"@/sdk\";\nimport { action, computed, observable } from \"mobx\";\nconst logger = createLogger(\"[store-common-state-variables]\");\nexport class CommonState {\n constructor() {\n this.navBarOpen = false;\n /**\n * ref CX-5228\n * 1. taskbar and incoming popover will be on top of modal overlay if CONSULT/CONFERENCE/TRANSFER model is open to prevent RONA\n * 2. task switching will be disabled\n *\n * interactionModalState is set to TRUE if interaction control modal is open\n */\n this.interactionModalState = { interactionID: null, state: false };\n }\n /**\n * Update Modal State Open or Close\n */\n updateIsNavBarOpen(navBarOpen) {\n this.navBarOpen = navBarOpen;\n logger.info(\"updated help content modal\", this.navBarOpen);\n }\n get isNavBarOpen() {\n return this.navBarOpen;\n }\n updateInteractionModalState(interactionModalState) {\n this.interactionModalState = {\n interactionID: interactionModalState.interactionId,\n state: interactionModalState.isInteractionModelOpen\n };\n logger.info(\"CONSULT/CONFERENCE/TRANSFER model is open: \", this.interactionModalState);\n }\n deleteInteractionModalState() {\n this.interactionModalState = { interactionID: null, state: false };\n logger.info(\"CONSULT/CONFERENCE/TRANSFER model is open: \", this.interactionModalState);\n }\n get interactionModelOpenId() {\n return this.interactionModalState.interactionID;\n }\n get isInteractionModelOpen() {\n return this.interactionModalState.state;\n }\n}\n__decorate([\n observable\n], CommonState.prototype, \"navBarOpen\", void 0);\n__decorate([\n action\n], CommonState.prototype, \"updateIsNavBarOpen\", null);\n__decorate([\n computed\n], CommonState.prototype, \"isNavBarOpen\", null);\n__decorate([\n observable\n], CommonState.prototype, \"interactionModalState\", void 0);\n__decorate([\n action\n], CommonState.prototype, \"updateInteractionModalState\", null);\n__decorate([\n action\n], CommonState.prototype, \"deleteInteractionModalState\", null);\n__decorate([\n computed\n], CommonState.prototype, \"interactionModelOpenId\", null);\n__decorate([\n computed\n], CommonState.prototype, \"isInteractionModelOpen\", null);\nexport const common = new CommonState();\n","import { AGENT, BARGE_IN_MONITORING_STATE, CUSTOMER, SUPERVISOR, VVA } from \"@/app/components/constants\";\nimport { isSecondaryEpDnAgent, logger } from \"@/app/utils/Utils\";\nimport { STORE } from \"@/store\";\nimport { EPDN, STATE_CONFERENCE, STATE_CONFERENCING, STATE_CONNECTED, STATE_CONSULT, STATE_CONSULTING, STATE_CONSULT_COMPLETED, STATE_CONSULT_INITIATED, STATE_POST_CALL, STATE_WRAPUP } from \"./shared-actions/constants\";\nimport { MediaType } from \"./store-agent-contact\";\nconst MAX_AGENT_IN_MPC = 7;\nconst DN = \"dn\";\nconst filterParticipants = (participants) => {\n const result = {};\n participants.forEach((participantDetails) => {\n var _a, _b, _c, _d;\n if (participantDetails.pType !== CUSTOMER &&\n (participantDetails.pType !== SUPERVISOR ||\n ((_a = participantDetails.monitoringState) === null || _a === void 0 ? void 0 : _a.type) === BARGE_IN_MONITORING_STATE) &&\n !participantDetails.hasLeft) {\n result[participantDetails.id] = {\n agentId: participantDetails.id,\n agentName: (_b = participantDetails.name) !== null && _b !== void 0 ? _b : \"\",\n pType: participantDetails.pType,\n joinTimestamp: (_c = participantDetails.joinTimestamp) !== null && _c !== void 0 ? _c : null,\n agentPhoneNumber: (_d = participantDetails.dn) !== null && _d !== void 0 ? _d : \"\"\n };\n }\n });\n return result;\n};\nconst getConsultCallParticipants = (mediaObject) => {\n for (const key in mediaObject) {\n const mediaItem = mediaObject[key];\n if ((mediaItem === null || mediaItem === void 0 ? void 0 : mediaItem.mType) === STATE_CONSULT) {\n return mediaItem.participants;\n }\n }\n return [];\n};\nexport const getIsConsultedAgentEPDN = (data) => {\n var _a, _b, _c;\n if (data) {\n const mediaObject = (_a = data === null || data === void 0 ? void 0 : data.interaction) === null || _a === void 0 ? void 0 : _a.media;\n const participantsInConsultCall = getConsultCallParticipants(mediaObject);\n const allParticipantsInInteraction = (_b = data === null || data === void 0 ? void 0 : data.interaction) === null || _b === void 0 ? void 0 : _b.participants;\n for (const consultParticipant of participantsInConsultCall) {\n if (((_c = allParticipantsInInteraction[consultParticipant]) === null || _c === void 0 ? void 0 : _c.pType) === EPDN) {\n return true;\n }\n }\n }\n return false;\n};\nexport const getPrimaryMediaParticipants = (data) => {\n var _a, _b, _c, _d;\n // To get the participants in the call with customer.\n // Does not contain any participant who is in consult call or monitoring call.\n const mediaObject = (_a = data === null || data === void 0 ? void 0 : data.interaction) === null || _a === void 0 ? void 0 : _a.media;\n const mediaMainCall = mediaObject[data.interactionId];\n const participantsInMainCall = mediaMainCall === null || mediaMainCall === void 0 ? void 0 : mediaMainCall.participants;\n const participantsInConsultCall = getConsultCallParticipants(mediaObject);\n const allParticipantsInInteraction = (_b = data === null || data === void 0 ? void 0 : data.interaction) === null || _b === void 0 ? void 0 : _b.participants;\n let consultingAgent = \"\";\n let isConsultedAgentEPDN = false;\n try {\n if (STORE.app.featureFlags.isAllowConfTransferToEpDnEnabled) {\n for (const consultParticipant of participantsInConsultCall) {\n if (participantsInMainCall === null || participantsInMainCall === void 0 ? void 0 : participantsInMainCall.includes(consultParticipant)) {\n consultingAgent = consultParticipant;\n }\n else if (((_c = allParticipantsInInteraction[consultParticipant]) === null || _c === void 0 ? void 0 : _c.pType) === EPDN) {\n isConsultedAgentEPDN = true;\n }\n }\n if (((_d = allParticipantsInInteraction[consultingAgent]) === null || _d === void 0 ? void 0 : _d.consultState) === STATE_CONFERENCING && isConsultedAgentEPDN) {\n return filterParticipants(Object.values(allParticipantsInInteraction));\n }\n return filterParticipants(participantsInMainCall === null || participantsInMainCall === void 0 ? void 0 : participantsInMainCall.map((key) => allParticipantsInInteraction[key]));\n }\n else {\n return participantsInMainCall.reduce((result, key) => {\n var _a, _b, _c, _d;\n const participantDetails = allParticipantsInInteraction[key];\n if (participantDetails &&\n participantDetails.pType !== CUSTOMER &&\n (participantDetails.pType !== SUPERVISOR ||\n ((_a = participantDetails.monitoringState) === null || _a === void 0 ? void 0 : _a.type) === BARGE_IN_MONITORING_STATE) &&\n !participantDetails.hasLeft) {\n result[key] = {\n agentId: key,\n agentName: (_b = participantDetails.name) !== null && _b !== void 0 ? _b : \"\",\n pType: participantDetails.pType,\n joinTimestamp: (_c = participantDetails.joinTimestamp) !== null && _c !== void 0 ? _c : null,\n agentPhoneNumber: (_d = participantDetails.dn) !== null && _d !== void 0 ? _d : \"\"\n };\n }\n return result;\n }, {});\n }\n }\n catch (error) {\n // this is to handle the case when the participantsInMainCall is not getting updated correctly.\n // In such cases, we will return the {}\n logger.error(\"Error while getting the call participants\", error);\n return {};\n }\n};\nexport const getIsConsultInProgress = (data) => {\n const mediaObject = data.interaction.media;\n return Object.values(mediaObject).some((media) => media.mType === \"consult\");\n};\nexport const getIsConferenceInProgress = (data) => {\n const mediaMainCall = data.interaction.media[data.interactionId];\n const participantsInMainCall = new Set(mediaMainCall === null || mediaMainCall === void 0 ? void 0 : mediaMainCall.participants);\n const participants = data.interaction.participants;\n const agentParticipants = new Set();\n if (participantsInMainCall.size > 0) {\n participantsInMainCall.forEach((participantId) => {\n const participant = participants[participantId];\n if (participant &&\n participant.pType !== CUSTOMER &&\n participant.pType !== SUPERVISOR &&\n !participant.hasLeft &&\n participant.pType !== VVA) {\n agentParticipants.add(participantId);\n }\n });\n }\n return agentParticipants.size >= 2;\n};\nexport const getIsConsultEnabledForMPC = (data, isMPCEnabled, agentId) => {\n const mainMediaParticipants = getPrimaryMediaParticipants(data);\n const participants = data.interaction.participants;\n if (isMPCEnabled) {\n const agentParticipant = Object.keys(mainMediaParticipants).filter((participantId) => participants[participantId] &&\n participants[participantId].pType !== CUSTOMER &&\n participants[participantId].pType !== SUPERVISOR);\n const isConsultEnabledForSelf = Object.values(participants).some((participantDet) => participantDet.consultState === STATE_CONSULT_COMPLETED)\n ? participants[agentId].consultState === STATE_CONSULT_COMPLETED\n : !getIsConsultInProgress(data);\n return agentParticipant.length < MAX_AGENT_IN_MPC && isConsultEnabledForSelf;\n }\n return false;\n};\nexport const setmTypeForEPDN = (data, mType) => {\n if (isSecondaryEpDnAgent(data)) {\n return \"mainCall\";\n }\n return mType;\n};\nexport const findMediaResourceId = (data, mType) => {\n for (const key in data) {\n if (data[key].mType === mType) {\n return data[key].mediaResourceId;\n }\n }\n return \"\";\n};\nexport const isParticipantInMainInteraction = (interactionObj, agentId) => {\n if (!(interactionObj === null || interactionObj === void 0 ? void 0 : interactionObj.media)) {\n return false;\n }\n return Object.values(interactionObj.media).some((mediaObj) => { var _a; return mediaObj.mType === \"mainCall\" && ((_a = mediaObj.participants) === null || _a === void 0 ? void 0 : _a.includes(agentId)); });\n};\nexport const getConsultMPCState = (data, agentId) => {\n var _a, _b;\n const interaction = data.interaction;\n if (!!data.consultMediaResourceId &&\n !!((_a = interaction.participants[agentId]) === null || _a === void 0 ? void 0 : _a.consultState) &&\n data.interaction.state !== STATE_WRAPUP &&\n data.interaction.state !== STATE_POST_CALL // If interaction.state is post_call, we want to return post_call.\n ) {\n // interaction state for all agents when consult is going on\n switch ((_b = interaction.participants[agentId]) === null || _b === void 0 ? void 0 : _b.consultState) {\n case STATE_CONSULT_INITIATED:\n return STATE_CONSULT;\n case STATE_CONSULT_COMPLETED:\n return interaction.state === STATE_CONNECTED ? STATE_CONNECTED : STATE_CONSULT_COMPLETED;\n case STATE_CONFERENCING:\n return STATE_CONFERENCE;\n default:\n return STATE_CONSULTING;\n }\n }\n return interaction === null || interaction === void 0 ? void 0 : interaction.state;\n};\nconst isConsultOnHoldMPC = (data, agentId) => {\n var _a;\n const isInConsultState = [STATE_CONSULT, STATE_CONSULTING].includes(getConsultMPCState(data, agentId));\n const consultMediaResourceId = data.consultMediaResourceId;\n const isConsultHold = consultMediaResourceId && ((_a = data.interaction.media[consultMediaResourceId]) === null || _a === void 0 ? void 0 : _a.isHold);\n return isInConsultState && !isConsultHold;\n};\nexport const findHoldStatus = (data, mType) => {\n var _a;\n const interaction = data.interaction;\n if (!interaction) {\n return false;\n }\n mType = setmTypeForEPDN(interaction, mType); //set mType if agent is secondary EPDN agent\n const mediaId = findMediaResourceId(interaction.media, mType);\n const agentId = STORE.agent.agentId;\n //custom mainCall hold status for agent who initiated the consult.\n if (STORE.app.featureFlags.isWxccMultiPartyConfEnabled &&\n mType === \"mainCall\" &&\n ((_a = interaction.media[mediaId]) === null || _a === void 0 ? void 0 : _a.participants.includes(agentId)) &&\n (isConsultOnHoldMPC(data, agentId) || [STATE_CONSULT_COMPLETED].includes(getConsultMPCState(data, agentId)))) {\n return true;\n }\n //hold status for agents who are in consulting call(consulting agent | consulted agent)\n return mType === STATE_CONSULT && interaction.media[mediaId]\n ? interaction.media[mediaId].participants.includes(agentId)\n ? interaction.media[mediaId].isHold\n : false\n : (interaction.media[mediaId] && interaction.media[mediaId].isHold) || false; // For all the other agent for main whatever is the status of main call hold\n};\nexport const findHoldTimestamp = (data, mType) => {\n var _a;\n mType = setmTypeForEPDN(data, mType); //set mType if agent is secondary EPDN agent\n const mediaId = findMediaResourceId(data.media, mType);\n if (mediaId && ((_a = data.media[mediaId]) === null || _a === void 0 ? void 0 : _a.holdTimestamp)) {\n return data.media[mediaId].holdTimestamp;\n }\n return null;\n};\nexport const isOwner = (interaction, agentId) => {\n return isSecondaryEpDnAgent(interaction) ? false : interaction.owner === agentId;\n};\nexport const getIsConsultedAgent = (data) => {\n var _a, _b, _c;\n if (STORE.app.featureFlags.isWxccMultiPartyConfEnabled) {\n const agentId = STORE.agent.agentId;\n //filtering consulted interaction for agent who started consult and is consultig\n const consultMedia = data.consultMediaResourceId && ((_a = data.interaction) === null || _a === void 0 ? void 0 : _a.media[data.consultMediaResourceId]);\n const mainMedia = data.interactionId && ((_b = data.interaction) === null || _b === void 0 ? void 0 : _b.media[data.interactionId]);\n if (consultMedia) {\n return consultMedia.participants.includes(agentId) && !(mainMedia === null || mainMedia === void 0 ? void 0 : mainMedia.participants.includes(agentId));\n }\n return false;\n }\n return data.type === \"AgentContact\"\n ? data.isConsulted\n : data.type === \"AgentContactAssigned\" ||\n data.type === \"AgentConsultConferenced\" ||\n data.type === \"AgentConsultCreated\"\n ? (_c = data.interaction.participants[data.destAgentId]) === null || _c === void 0 ? void 0 : _c.isConsulted\n : false;\n};\n/* Returns true if customer is a Participant in the Task and not left */\nexport const isCustomerInParticipants = (participants) => {\n return Object.values(participants).some((participant) => participant.pType === CUSTOMER && !participant.hasLeft);\n};\n/* Returns true for wrapup assist state which means customer is dropped from on-going conference telephony Task */\nexport const getIsWrapupAssist = (interaction) => {\n return (STORE.app.featureFlags.isWxccPersistCallEnabled &&\n interaction.mediaType === MediaType.Telephony &&\n interaction.state === STATE_WRAPUP &&\n !isCustomerInParticipants(interaction.participants));\n};\nexport const getIsSecondaryAgentCBT = (interaction, destAgentId) => {\n const participant = interaction === null || interaction === void 0 ? void 0 : interaction.participants[destAgentId];\n return (participant === null || participant === void 0 ? void 0 : participant.pType) === \"DN\" && (participant === null || participant === void 0 ? void 0 : participant.type) === \"Agent\";\n};\nexport const getConsultedAgentId = (media, agentId) => {\n let consultParticipants = [];\n let consultedParticipantId = \"\";\n for (const key in media) {\n if (media[key].mType === STATE_CONSULT) {\n consultParticipants = media[key].participants;\n }\n }\n if (consultParticipants.includes(agentId)) {\n const id = consultParticipants.find((participant) => participant !== agentId);\n consultedParticipantId = id ? id : consultedParticipantId;\n }\n return consultedParticipantId;\n};\nexport const getDestAgentIdForCBT = (interaction, consultingAgent) => {\n const participants = interaction.participants;\n let destAgentIdForCBT = \"\";\n // first it will check it is not a nonCBT with the below condition\n if (consultingAgent && !participants[consultingAgent]) {\n for (const key in participants) {\n const participant = participants[key];\n if (participant.pType.toLowerCase() === DN && participant.type === AGENT && participant.dn === consultingAgent) {\n destAgentIdForCBT = key;\n break;\n }\n }\n }\n return destAgentIdForCBT;\n};\nexport const isAgentContactInOfferConferenceState = (data, agentId) => {\n var _a, _b;\n if (STORE.app.featureFlags.isWxccMultiPartyConfEnabled && data.interaction.state === \"conference\") {\n return !((_a = data.interaction.participants[agentId]) === null || _a === void 0 ? void 0 : _a.isWrapUp) && !((_b = data.interaction.participants[agentId]) === null || _b === void 0 ? void 0 : _b.hasJoined);\n }\n return false;\n};\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { RouteName } from \"@/app/routing/routing\";\nimport { UserRoles } from \"@/app/utils/DesktopLayoutUtils\";\nimport { UTILS_DYNAMIC } from \"@/app/utils/UtilsDynamic\";\nimport { STORE } from \"@/store\";\nimport { action, computed, observable } from \"mobx\";\nimport { DEFAULT_NAVIGATION_ITEMS, SUPERVISOR_DEFAULT_NAVIGATION_ITEMS } from \"./init/default-configs\";\nexport class ModuleDesktopLayout {\n constructor() {\n this._navs = DEFAULT_NAVIGATION_ITEMS;\n this.isDesktopLayoutLoaded = true; // Setting true until we can actually get the layout. Until then it blocks my view (yanaha)\n this._routerViewClasses = { _default_: {} };\n this.updateLayoutMainConfigs = (config) => {\n this.layoutMainConfigs = config;\n };\n //adding dynamic home nav with other default navs\n this.addDynamicHomeNav = (homeNav) => {\n this.removeDynamicNavIcon(homeNav);\n DEFAULT_NAVIGATION_ITEMS.forEach((item) => this.removeDynamicNavIcon(item));\n this.insertNavItem(homeNav, 0);\n SUPERVISOR_DEFAULT_NAVIGATION_ITEMS.forEach((nav) => {\n if (nav.navigateTo === RouteName.TASK) {\n if ((STORE.agent.userSelectedRole === UserRoles.SUPERVISOR && STORE.agent.getMCMEnabled) ||\n STORE.agent.userSelectedRole !== UserRoles.SUPERVISOR) {\n STORE.layout.addDynamicNavIcon(nav);\n }\n }\n else {\n STORE.layout.addDynamicNavIcon(nav);\n }\n });\n };\n //adding default home nav if dynamic homenav not present\n this.addDefaultHomeNav = (defaultHomeNav) => {\n this.removeDynamicNavIcon(defaultHomeNav);\n DEFAULT_NAVIGATION_ITEMS.forEach((item) => this.removeDynamicNavIcon(item));\n this.insertNavItem(defaultHomeNav, 0);\n DEFAULT_NAVIGATION_ITEMS.forEach((nav) => {\n if (nav.navigateTo !== RouteName.TASK) {\n STORE.layout.addDynamicNavIcon(nav);\n }\n });\n };\n }\n get navigation() {\n return JSON.parse(JSON.stringify(this._navs));\n }\n insertNavItem(item, idx) {\n let label = item.label;\n const upd = (v) => (label = v);\n const { value } = UTILS_DYNAMIC.storeDataProvider(label, upd);\n item.label = value;\n this._navs = [...this._navs.slice(0, idx), item, ...this._navs.slice(idx)];\n }\n updateApsDisplay() {\n const apsItem = {\n label: \"app:navigation.analytics\",\n icon: \"analysis\",\n iconActive: \"analysis-active\",\n iconType: \"momentum\",\n navigateTo: \"aps\",\n align: \"top\",\n isResponsive: false\n };\n this.removeDynamicNavIcon(apsItem);\n this._navs.splice(1, 0, apsItem);\n this._navs = [...this._navs];\n }\n updateQueueStatsDisplay() {\n const queueStatsItem = {\n label: \"app:navigation.queueStats\",\n icon: \"queue-contact\",\n iconActive: \"queue-contact-filled\",\n iconType: \"momentum\",\n navigateTo: \"queues\",\n align: \"top\",\n isResponsive: false\n };\n this.removeDynamicNavIcon(queueStatsItem);\n this._navs.splice(1, 0, queueStatsItem);\n this._navs = [...this._navs];\n }\n updateInteractionsNavItem() {\n const interactionsNavItem = {\n label: \"app:interactions.interactions\",\n icon: \"view-list\",\n iconActive: \"view-list\",\n iconType: \"momentum\",\n navigateTo: \"interactions\",\n align: \"top\",\n isResponsive: false\n };\n this.removeDynamicNavIcon(interactionsNavItem);\n this._navs.splice(2, 0, interactionsNavItem);\n this._navs = [...this._navs];\n }\n addDynamicNavIcon(item) {\n // Removing if particular nav item existed at other position\n // and adding as per layout order\n this.removeDynamicNavIcon(item);\n if (item.align === \"top\") {\n const navsRev = [...this._navs].reverse();\n const _item = navsRev.find((i) => i.align === \"top\"); // Last TOP\n const idx = _item ? this._navs.indexOf(_item) + 1 : 0;\n this.insertNavItem(item, idx);\n }\n if (item.align === \"bottom\") {\n const _item = this._navs.find((i) => i.align === \"bottom\"); // First BOTTOM\n const idx = _item ? this._navs.indexOf(_item) : this._navs.length;\n this.insertNavItem(item, idx);\n }\n }\n addDefaultNavIcon(item) {\n this.removeDynamicNavIcon(item);\n this.insertNavItem(item, 0);\n }\n removeDynamicNavIcon(item) {\n this._navs = this._navs.filter((_item) => _item.navigateTo !== item.navigateTo);\n }\n removeDynamicNavigationTo(navigateTo) {\n this._navs = this._navs.filter((_item) => _item.navigateTo !== navigateTo);\n }\n updateDynamicNavIcon(oldItem, newItem) {\n const idx = this._navs.findIndex((_item) => _item.navigateTo === oldItem.navigateTo);\n if (idx !== -1) {\n this.removeDynamicNavIcon(oldItem);\n this.insertNavItem(newItem, idx);\n }\n else {\n this.addDynamicNavIcon(newItem);\n }\n }\n updateDesktopLayoutLoaded(status) {\n this.isDesktopLayoutLoaded = status;\n }\n get getRouterViewClasses() {\n const routeName = STORE.routing.currentRouteName || \"_default_\";\n return this._routerViewClasses[routeName] || {};\n }\n setRouterViewClasses(classes) {\n const routeName = STORE.routing.currentRouteName === null ? \"_default_\" : STORE.routing.currentRouteName;\n this._routerViewClasses[routeName] = Object.assign(Object.assign({}, this._routerViewClasses[routeName]), classes);\n }\n}\n__decorate([\n observable\n], ModuleDesktopLayout.prototype, \"_navs\", void 0);\n__decorate([\n observable\n], ModuleDesktopLayout.prototype, \"isDesktopLayoutLoaded\", void 0);\n__decorate([\n observable\n], ModuleDesktopLayout.prototype, \"layoutMainConfigs\", void 0);\n__decorate([\n observable\n], ModuleDesktopLayout.prototype, \"_routerViewClasses\", void 0);\n__decorate([\n computed\n], ModuleDesktopLayout.prototype, \"navigation\", null);\n__decorate([\n action\n], ModuleDesktopLayout.prototype, \"insertNavItem\", null);\n__decorate([\n action\n], ModuleDesktopLayout.prototype, \"updateApsDisplay\", null);\n__decorate([\n action\n], ModuleDesktopLayout.prototype, \"updateQueueStatsDisplay\", null);\n__decorate([\n action\n], ModuleDesktopLayout.prototype, \"updateInteractionsNavItem\", null);\n__decorate([\n action\n], ModuleDesktopLayout.prototype, \"addDynamicNavIcon\", null);\n__decorate([\n action\n], ModuleDesktopLayout.prototype, \"addDefaultNavIcon\", null);\n__decorate([\n action\n], ModuleDesktopLayout.prototype, \"removeDynamicNavIcon\", null);\n__decorate([\n action\n], ModuleDesktopLayout.prototype, \"removeDynamicNavigationTo\", null);\n__decorate([\n action\n], ModuleDesktopLayout.prototype, \"updateDynamicNavIcon\", null);\n__decorate([\n action\n], ModuleDesktopLayout.prototype, \"updateDesktopLayoutLoaded\", null);\n__decorate([\n action\n], ModuleDesktopLayout.prototype, \"updateLayoutMainConfigs\", void 0);\n__decorate([\n action\n], ModuleDesktopLayout.prototype, \"addDynamicHomeNav\", void 0);\n__decorate([\n action\n], ModuleDesktopLayout.prototype, \"addDefaultHomeNav\", void 0);\n__decorate([\n computed\n], ModuleDesktopLayout.prototype, \"getRouterViewClasses\", null);\n__decorate([\n action\n], ModuleDesktopLayout.prototype, \"setRouterViewClasses\", null);\nexport const layout = new ModuleDesktopLayout();\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { RouteName } from \"@/app/routing/routing\";\nimport { STORE } from \"@/store\";\nimport { action, computed, observable } from \"mobx\";\nimport { getLayoutConfigFromCache } from \"../../src/app/utils/DesktopLayoutUtils\";\nimport { getDefaultPanelComp, isPanelEmpty, updateHomepageResponsiveLayout, updateNavigationResponsiveLayout, updatePanelResponsiveLayout, updatePersistentResponsiveLayout } from \"../../src/app/utils/UtilsResponsive\";\nimport { DEFAULT_ACTION_ITEMS_ORDER } from \"../app/components/constants\";\nexport class ModuleDynamic {\n constructor() {\n this.isDragDrop = true;\n this.header = null;\n this.advancedHeader = null;\n this.actionIcons = DEFAULT_ACTION_ITEMS_ORDER;\n this.panel = null;\n this.persistent = null;\n this.widgetExplorer = null;\n this.navigation = null;\n this.homepage = null;\n this.headless = null;\n this.isConnector = false;\n this.currentRoute = \"\";\n this.persistentConfig = null;\n this.respPersistentConfig = null;\n this.navConfig = null;\n this.respNavConfig = null;\n this.homepageConfig = null;\n this.resHomepageConfig = null;\n this.updateLayoutForConnectorViewUnresponsiveWidget = (agentXAppRouting) => __awaiter(this, void 0, void 0, function* () {\n if (this.panelConfig) {\n this.updatePanel(this.panelConfig);\n }\n if (this.persistentConfig) {\n this.updatePersistent(this.persistentConfig);\n }\n if (this.navConfig) {\n this.updateNavigation(this.navConfig);\n const layoutConfig = getLayoutConfigFromCache();\n const roleSpecificLayoutDetails = layoutConfig.layout[layoutConfig.userSelectedRole];\n if (this.isConnector) {\n if (roleSpecificLayoutDetails && this.navigation) {\n roleSpecificLayoutDetails.area.navigation = this.navigation;\n }\n yield agentXAppRouting.addOrUpdateDynamicRoutes(roleSpecificLayoutDetails);\n }\n else {\n yield agentXAppRouting.addOrUpdateDynamicRoutes(roleSpecificLayoutDetails);\n }\n }\n if (this.homepageConfig) {\n this.updateHomePage(this.homepageConfig);\n const layoutConfig = getLayoutConfigFromCache();\n const roleSpecificLayoutDetails = layoutConfig.layout[layoutConfig.userSelectedRole];\n if (this.isConnector) {\n if (roleSpecificLayoutDetails && this.homepage) {\n roleSpecificLayoutDetails.area.homepage = this.homepage;\n }\n yield agentXAppRouting.addOrUpdateDynamicRoutes(roleSpecificLayoutDetails);\n }\n else {\n yield agentXAppRouting.addOrUpdateDynamicRoutes(roleSpecificLayoutDetails);\n }\n }\n });\n // For debug of \"config_sample.json\" - page-dynamic-widgets-debug\n // --------------------------------------------------------------\n this.testStr = \"Title 1 [from STORE]\";\n this.testObj = { sub: { sub: { val: \"sub-000\" } } };\n this.testArr = [\"arr-0\"];\n this.testBool = true;\n this.testNotObservable = \"NotObservable works\";\n // --------------------------------------------------------------\n }\n updateSelectedRoute(route) {\n this.currentRoute = route;\n }\n get selectedRouted() {\n return this.currentRoute;\n }\n updatePanel(v) {\n this.panel = v;\n if (!this.panelConfig) {\n this.panelConfig = v;\n this.respPanelConfig = updatePanelResponsiveLayout(v);\n }\n if (this.isConnector) {\n this.panel = this.respPanelConfig || null;\n }\n }\n resetResponsiveLayout() {\n this.respPersistentConfig = null;\n this.persistentConfig = null;\n this.respPanelConfig = undefined;\n this.panelConfig = undefined;\n this.navConfig = null;\n this.homepageConfig = null;\n this.respNavConfig = null;\n }\n updatePanelPersistentAttributes() {\n var _a;\n if ((_a = this.panel) === null || _a === void 0 ? void 0 : _a.attributes) {\n this.panel.attributes[\"persist-selection\"] = true;\n this.panel.attributes[\"tabs-id\"] = \"$STORE.agentContact.taskSelected.interactionId\";\n }\n }\n updateNavigation(v) {\n this.navigation = v;\n if (!this.navConfig) {\n this.navConfig = v;\n this.respNavConfig = updateNavigationResponsiveLayout(v);\n }\n if (this.isConnector) {\n this.navigation = this.respNavConfig;\n }\n }\n updateHomePage(homenav) {\n if (!homenav) {\n this.homepage = null;\n this.resHomepageConfig = null;\n }\n else {\n this.homepage = homenav;\n if (!this.homepageConfig) {\n this.homepageConfig = homenav;\n this.resHomepageConfig = updateHomepageResponsiveLayout(homenav);\n }\n if (this.isConnector) {\n this.homepage = this.resHomepageConfig;\n }\n }\n }\n updatePanelWithPersistent() {\n var _a;\n if (this.persistent && ((_a = this.persistent) === null || _a === void 0 ? void 0 : _a.length) > 0 && this.panel) {\n if (isPanelEmpty(this.panel)) {\n this.panel = getDefaultPanelComp();\n if (this.panel) {\n this.panel.children = this.persistent;\n }\n return;\n }\n if (this.panel.children) {\n this.panel.children = this.panel.children.concat(this.persistent);\n }\n }\n }\n updatePersistent(v) {\n this.persistent = v;\n if (!this.persistentConfig) {\n this.persistentConfig = v;\n this.respPersistentConfig = updatePersistentResponsiveLayout(v);\n }\n if (this.isConnector) {\n this.persistent = this.respPersistentConfig;\n }\n this.updatePanelWithPersistent();\n }\n updateScreenSize(v) {\n this.isConnector = v;\n }\n updateIsDragDrop(v) {\n this.isDragDrop = v;\n }\n updateHeader(v) {\n this.header = v;\n }\n updateAdvancedHeader(v) {\n this.advancedHeader = v;\n }\n updateWidgetExplorer(v) {\n this.widgetExplorer = v;\n }\n updateActionIcons(v) {\n this.actionIcons = v;\n }\n updateHeadless(v) {\n this.headless = v;\n }\n get persistentWidgets() {\n const tabContent = this.persistent && this.persistent[1] && this.persistent[1].children && this.persistent[1].children[0]\n ? this.persistent[1].children[0]\n : [];\n return this.persistent && this.persistent.length > 2\n ? {\n comp: \"md-tabs\",\n attributes: { class: \"widget-tabs\", \"persist-selection\": true, \"tabs-id\": \"agentx-persistent-widget-tabs\" },\n children: this.persistent\n }\n : tabContent;\n }\n get showPersistentWidgets() {\n return (STORE.routing.currentRouteName !== RouteName.TASK &&\n STORE.routing.currentRouteName !== RouteName.TASKPANEL &&\n STORE.dynamic.persistent &&\n STORE.dynamic.persistent.length > 0);\n }\n updTest() {\n this.testStr = `Title CHANGE ${Math.random()}`;\n this.testObj.sub.sub.val = `sub-${Math.random() * 100}`;\n if (this.testArr.length < 10) {\n this.testArr = [...this.testArr, `arr-${Math.random() * 100}`];\n }\n else {\n this.testArr = [\"arr-0\"];\n }\n this.testBool = this.testBool ? false : true;\n }\n}\n__decorate([\n observable\n], ModuleDynamic.prototype, \"isDragDrop\", void 0);\n__decorate([\n observable\n], ModuleDynamic.prototype, \"header\", void 0);\n__decorate([\n observable\n], ModuleDynamic.prototype, \"advancedHeader\", void 0);\n__decorate([\n observable\n], ModuleDynamic.prototype, \"actionIcons\", void 0);\n__decorate([\n observable\n], ModuleDynamic.prototype, \"panel\", void 0);\n__decorate([\n observable\n], ModuleDynamic.prototype, \"persistent\", void 0);\n__decorate([\n observable\n], ModuleDynamic.prototype, \"widgetExplorer\", void 0);\n__decorate([\n observable\n], ModuleDynamic.prototype, \"navigation\", void 0);\n__decorate([\n observable\n], ModuleDynamic.prototype, \"homepage\", void 0);\n__decorate([\n observable\n], ModuleDynamic.prototype, \"headless\", void 0);\n__decorate([\n observable\n], ModuleDynamic.prototype, \"isConnector\", void 0);\n__decorate([\n observable\n], ModuleDynamic.prototype, \"currentRoute\", void 0);\n__decorate([\n action\n], ModuleDynamic.prototype, \"updateSelectedRoute\", null);\n__decorate([\n computed\n], ModuleDynamic.prototype, \"selectedRouted\", null);\n__decorate([\n action\n], ModuleDynamic.prototype, \"updatePanel\", null);\n__decorate([\n action\n], ModuleDynamic.prototype, \"resetResponsiveLayout\", null);\n__decorate([\n action\n], ModuleDynamic.prototype, \"updatePanelPersistentAttributes\", null);\n__decorate([\n action\n], ModuleDynamic.prototype, \"updateNavigation\", null);\n__decorate([\n action\n], ModuleDynamic.prototype, \"updateHomePage\", null);\n__decorate([\n action\n], ModuleDynamic.prototype, \"updatePersistent\", null);\n__decorate([\n action\n], ModuleDynamic.prototype, \"updateScreenSize\", null);\n__decorate([\n action\n], ModuleDynamic.prototype, \"updateIsDragDrop\", null);\n__decorate([\n action\n], ModuleDynamic.prototype, \"updateHeader\", null);\n__decorate([\n action\n], ModuleDynamic.prototype, \"updateAdvancedHeader\", null);\n__decorate([\n action\n], ModuleDynamic.prototype, \"updateWidgetExplorer\", null);\n__decorate([\n action\n], ModuleDynamic.prototype, \"updateActionIcons\", null);\n__decorate([\n action\n], ModuleDynamic.prototype, \"updateHeadless\", null);\n__decorate([\n computed\n], ModuleDynamic.prototype, \"persistentWidgets\", null);\n__decorate([\n computed\n], ModuleDynamic.prototype, \"showPersistentWidgets\", null);\n__decorate([\n observable\n], ModuleDynamic.prototype, \"testStr\", void 0);\n__decorate([\n observable\n], ModuleDynamic.prototype, \"testObj\", void 0);\n__decorate([\n observable\n], ModuleDynamic.prototype, \"testArr\", void 0);\n__decorate([\n observable\n], ModuleDynamic.prototype, \"testBool\", void 0);\n__decorate([\n action\n], ModuleDynamic.prototype, \"updTest\", null);\nexport const dynamic = new ModuleDynamic();\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { observable } from \"mobx\";\nexport class ModuleEnvVaribles {\n constructor() {\n this.serviceUrls = {\n dialerHost: process.env.DIALER_HOST,\n aqmHost: process.env.AQM_HOST,\n notifHost: process.env.NOTIF_HOST,\n emmHost: process.env.EMM_HOST,\n wxmHost: process.env.WXM_HOST,\n configUrl: process.env.CONFIG_URL,\n analyzerHost: process.env.ANALYZER_HOST,\n analyzerNewHost: process.env.ANALYZER_NEW_HOST,\n hostUrl: process.env.HOST_URL,\n mediServiceHost: process.env.MEDIA_SERVICE_HOST,\n webexAppUrl: process.env.WEBEX_APP_URL,\n apiGatewayHost: process.env.API_GATEWAY,\n agentxBackendServiceHost: process.env.AGENTX_BACKEND_PROXY_SERVICE_HOST,\n welcomeTimeout: process.env.WELCOME_TIMEOUT,\n dialerProxyHost: process.env.DIALER_PROXY_HOST,\n jabberHostUrl: process.env.JABBER_HOST_URL\n };\n }\n}\n__decorate([\n observable\n], ModuleEnvVaribles.prototype, \"serviceUrls\", void 0);\nexport const envVaribles = new ModuleEnvVaribles();\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { t } from \"@/mixins/i18nMixin\";\nimport { STORE } from \"@/store\";\nimport { ToasterNotificationItemContent } from \"@uuip/unified-ui-platform-common-components\";\nimport { Notifications, createNotifications } from \"@uuip/unified-ui-platform-sdk\";\nimport { action, observable } from \"mobx\";\nconst DEFAULT_AUTO_DISMISS_TIMER = 8;\nconst DEFAULT_MAXIMUM_TOASTER_COUNT = 3;\nconst SILENT_NOTIFICATIONS = \"desktop-silent-notifications\";\nconst NOTIFICATION_SETTINGS = \"desktop-notification-settings\";\nconst DEFAULT_NOTIFICATIONS_SETTINGS = { settings: true, silent: false };\nexport class ModuleGeneralNotifications {\n constructor(notifications) {\n this.isNotificationsEnabled = true;\n this.isSilentNotificationsEnabled = false;\n this.countAdded = 0;\n this.countPending = 0;\n this.countActivated = 0;\n this.countDeactivated = 0;\n this.webexNotificationCount = 0;\n this.getPresenceNotifData = (titleType, retryCallback) => {\n let notificationType = Notifications.ItemMeta.Type.Success;\n let notificationTitle = \"app:notifications.mercurySyncSuccessTitle\";\n let notificationData = new ToasterNotificationItemContent.DataController({\n text: t(\"app:notifications.mercurySyncSuccessMessage\")\n });\n let showNotification = true;\n if (titleType === \"sync_successful\") {\n showNotification = false;\n }\n else if (titleType === \"mercury_retrying\") {\n notificationType = Notifications.ItemMeta.Type.Error;\n notificationTitle = \"app:notifications.mercurySyncFailedTitle\";\n notificationData = new ToasterNotificationItemContent.DataController({\n text: t(\"app:notifications.stateSyncFailedMessage\")\n });\n }\n else if (titleType === \"mercury_failure\") {\n notificationType = Notifications.ItemMeta.Type.Error;\n notificationTitle = \"app:notifications.mercurySyncRetryFailedTitle\";\n notificationData = new ToasterNotificationItemContent.DataController({\n text: t(\"app:notifications.mercurySyncRetryFailedMessage\")\n });\n }\n else if (titleType === \"sync_failure\") {\n notificationType = Notifications.ItemMeta.Type.Error;\n notificationTitle = \"app:notifications.stateSyncFailedTitle\";\n notificationData = new ToasterNotificationItemContent.DataController({\n text: t(\"app:notifications.stateSyncFailedMessage\"),\n linkName: t(\"Retry synchronization\"),\n linkHandler: () => {\n if (retryCallback) {\n retryCallback();\n }\n }\n });\n }\n return { notificationType, notificationTitle, notificationData, showNotification };\n };\n // Injecting Notifications.Service instance\n this.notifications = notifications;\n this.restoreNotificationsSettings();\n // Listening for all service status events\n Notifications.ServiceMeta.STATUS_EVENTS.forEach((eventName) => {\n notifications.addEventListener(eventName, () => this.updateStoreNotificationsData());\n });\n // Restoring notifications sequence\n this.restoreNotificationsOnReload();\n }\n setWebexNotificationCount(count) {\n this.webexNotificationCount = count;\n }\n clearAll() {\n this.notifications.deactivateAll(Notifications.ItemMeta.DeactivateEventReason.UserNegative);\n this.notifications.removeAll();\n this.countAdded = 0;\n this.countPending = 0;\n this.countActivated = 0;\n this.countDeactivated = 0;\n sessionStorage.removeItem(SILENT_NOTIFICATIONS);\n }\n isSelectedTaskHasChatNotifications(n, taskId) {\n if (n.data instanceof ToasterNotificationItemContent.DataController) {\n return n.data.taskId && n.data.taskId === taskId;\n }\n return false;\n }\n deactivateReadMessagesFromNotifications(taskId) {\n const pendingSilentChatNotifications = this.notifications.added.chat.filter((n) => this.isSelectedTaskHasChatNotifications(n, taskId));\n this.notifications.deactivate(pendingSilentChatNotifications, Notifications.ItemMeta.DeactivateEventReason.UserNegative);\n // changes to remove notification related to particular task when agents selects it.\n this.notifications.remove(pendingSilentChatNotifications);\n sessionStorage.setItem(SILENT_NOTIFICATIONS, JSON.stringify(this.notifications.pended.silent.map((n) => ({\n data: {\n title: n.title,\n mode: n.mode,\n type: n.type,\n data: n.data,\n timestamp: n.timestamp\n },\n options: n.options\n }))));\n }\n restoreNotificationsOnReload() {\n const silentNotificationsFromSessionJson = sessionStorage.getItem(SILENT_NOTIFICATIONS);\n if (silentNotificationsFromSessionJson) {\n try {\n const parsedSilentNotifications = JSON.parse(silentNotificationsFromSessionJson);\n if (Array.isArray(parsedSilentNotifications) && parsedSilentNotifications.length > 0) {\n const rawNotifications = parsedSilentNotifications.map((n) => {\n if (n.data && typeof n.data.data === \"object\") {\n n.data.data = new ToasterNotificationItemContent.DataController(Object.assign(n.data.data));\n }\n return {\n data: n.data,\n options: n.options\n };\n });\n this.fire(rawNotifications);\n }\n }\n catch (_a) {\n // remove bad data which might cause reload issue\n sessionStorage.removeItem(SILENT_NOTIFICATIONS);\n return;\n }\n }\n }\n updateStoreNotificationsData() {\n this.countAdded = this.notifications.added.length;\n //\n this.countPending = this.notifications.pended.length;\n this.countActivated = this.notifications.activated.length;\n this.countDeactivated = this.notifications.deactivated.length;\n sessionStorage.setItem(SILENT_NOTIFICATIONS, JSON.stringify(this.notifications.pended.silent.map((el) => ({\n data: {\n title: el.title,\n mode: el.mode,\n type: el.type,\n data: el.data,\n timestamp: el.timestamp\n },\n options: el.options\n }))));\n }\n saveNotificationsSettings(notificationsSettings) {\n localStorage.setItem(NOTIFICATION_SETTINGS, JSON.stringify(notificationsSettings));\n }\n restoreNotificationsSettings() {\n const restoredNotificationsSettingsJson = localStorage.getItem(NOTIFICATION_SETTINGS);\n if (restoredNotificationsSettingsJson) {\n const restoredNotificationsSettings = JSON.parse(restoredNotificationsSettingsJson);\n if (restoredNotificationsSettings) {\n this.isNotificationsEnabled = restoredNotificationsSettings.settings;\n this.isSilentNotificationsEnabled = restoredNotificationsSettings.silent;\n }\n }\n else {\n this.saveNotificationsSettings(DEFAULT_NOTIFICATIONS_SETTINGS);\n }\n if (!this.isNotificationsEnabled) {\n this.clearAll();\n }\n }\n fire(raw) {\n // Only fire when notifications are enabled\n if (this.isNotificationsEnabled) {\n const _raw = Array.isArray(raw) ? raw : [raw];\n // Silentify by settings\n _raw.forEach((_r) => {\n if (this.isSilentNotificationsEnabled && _r.data.mode !== Notifications.ItemMeta.Mode.Silent) {\n _r.data.mode = Notifications.ItemMeta.Mode.Silent;\n }\n });\n return this.notifications.add(_raw);\n }\n return undefined;\n }\n fireNewChatMessage(data, type, iconUrl, taskId) {\n const notificationData = {\n type: Notifications.ItemMeta.Type.Chat,\n mode: Notifications.ItemMeta.Mode.AutoDismiss,\n title: t(\"app:notifications.newChatMessageTitle\") + data.actorName,\n data: new ToasterNotificationItemContent.DataController({\n type,\n text: data.isAttachment ? t(\"app:notifications.newChatAttachmentData\") : data.message ? data.message : \"\",\n taskId,\n iconDetail: Object.assign({}, (iconUrl && { iconUrl }))\n })\n };\n this.fireNotificationEvent(notificationData);\n }\n fireChatEnded(data) {\n const notificationData = {\n type: Notifications.ItemMeta.Type.Warn,\n mode: Notifications.ItemMeta.Mode.AutoDismiss,\n title: t(\"app:notifications.customerLeftTitle\") + data.actorName,\n data: t(\"app:notifications.customerLeftData\")\n };\n this.fireNotificationEvent(notificationData);\n }\n fireScreenPop(conf) {\n this.fireNotificationEvent(conf);\n }\n fireShortcutKeyConflict(title, data) {\n const notificationData = {\n type: Notifications.ItemMeta.Type.Warn,\n mode: Notifications.ItemMeta.Mode.AutoDismiss,\n title,\n data\n };\n this.fireNotificationEvent(notificationData);\n }\n fireCheckPWAInstall() {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve) => {\n const notificationData = {\n type: Notifications.ItemMeta.Type.Info,\n mode: Notifications.ItemMeta.Mode.AutoDismiss,\n title: t(\"app:notifications.desktopapplicationPopTitle\"),\n data: new ToasterNotificationItemContent.DataController({\n text: t(\"app:notifications.desktopapplicationData\"),\n linkName: t(\"app:notifications.desktopapplicationLink\"),\n localization: { closeButtonText: t(\"app:notifications.close\") },\n linkHandler: (n) => {\n resolve(true);\n n.pending();\n }\n })\n };\n const notificationOptions = {\n AUTO_DISMISS_TIMEOUT: 15 * 60 * 1000 // 15 mins\n };\n const firedNotifications = this.fireNotificationEvent(notificationData, notificationOptions);\n if (firedNotifications) {\n const [n] = firedNotifications;\n const statusUpdateListener = (status) => {\n if (status === Notifications.ItemMeta.Status.Pended) {\n resolve(false);\n n.deactivate(Notifications.ItemMeta.DeactivateEventReason.UserNeutral);\n }\n if (status === Notifications.ItemMeta.Status.Deactivated) {\n resolve(false);\n n.removeEventListener(\"statusUpdate\", statusUpdateListener);\n }\n };\n n.addEventListener(\"statusUpdate\", statusUpdateListener);\n }\n });\n });\n }\n fireNotificationEvent(notificationData, options) {\n return this.fire({\n data: Object.assign({}, notificationData),\n options: Object.assign({}, (options || {}))\n });\n }\n updateNotificationSettings(isNotificationsEnabled, isSilentNotificationsEnabled) {\n const updatedNotificationSettings = { settings: isNotificationsEnabled, silent: isSilentNotificationsEnabled };\n this.isNotificationsEnabled = isNotificationsEnabled;\n this.isSilentNotificationsEnabled = isSilentNotificationsEnabled;\n this.saveNotificationsSettings(updatedNotificationSettings);\n if (!this.isNotificationsEnabled) {\n this.clearAll();\n }\n }\n updateConfig(toasterTimer, maximumToasterCount) {\n const updatedConfig = {\n ACTIVATED_ITEM_MODE_LIMIT: {\n autodismiss: maximumToasterCount || maximumToasterCount === 0 ? maximumToasterCount : DEFAULT_MAXIMUM_TOASTER_COUNT\n },\n AUTO_DISMISS_TIMEOUT: (toasterTimer || toasterTimer === 0 ? toasterTimer : DEFAULT_AUTO_DISMISS_TIMER) * 1000\n };\n this.notifications.updateConfig(updatedConfig);\n }\n triggerPresenceNotification(callingValue, retryCallback) {\n const { notificationType, notificationTitle, notificationData, showNotification } = retryCallback\n ? this.getPresenceNotifData(STORE.agent.presenceServiceStatus.serviceStatus, retryCallback)\n : this.getPresenceNotifData(STORE.agent.presenceServiceStatus.serviceStatus);\n if (!showNotification || callingValue !== STORE.agent.presenceServiceStatus.serviceStatus) {\n return;\n }\n const notificationRawData = {\n type: notificationType,\n mode: Notifications.ItemMeta.Mode.AutoDismiss,\n title: t(notificationTitle),\n data: notificationData\n };\n this.fireNotificationEvent(notificationRawData);\n STORE.browserNotifications.firebrowserNotification(`${t(notificationTitle)} : ${t(notificationData.text)}`);\n }\n}\n__decorate([\n observable\n], ModuleGeneralNotifications.prototype, \"isNotificationsEnabled\", void 0);\n__decorate([\n observable\n], ModuleGeneralNotifications.prototype, \"isSilentNotificationsEnabled\", void 0);\n__decorate([\n observable\n], ModuleGeneralNotifications.prototype, \"countAdded\", void 0);\n__decorate([\n observable\n], ModuleGeneralNotifications.prototype, \"countPending\", void 0);\n__decorate([\n observable\n], ModuleGeneralNotifications.prototype, \"countActivated\", void 0);\n__decorate([\n observable\n], ModuleGeneralNotifications.prototype, \"countDeactivated\", void 0);\n__decorate([\n observable\n], ModuleGeneralNotifications.prototype, \"webexNotificationCount\", void 0);\n__decorate([\n action\n], ModuleGeneralNotifications.prototype, \"setWebexNotificationCount\", null);\n__decorate([\n action\n], ModuleGeneralNotifications.prototype, \"clearAll\", null);\n__decorate([\n action\n], ModuleGeneralNotifications.prototype, \"deactivateReadMessagesFromNotifications\", null);\n__decorate([\n action\n], ModuleGeneralNotifications.prototype, \"restoreNotificationsOnReload\", null);\n__decorate([\n action\n], ModuleGeneralNotifications.prototype, \"updateStoreNotificationsData\", null);\n__decorate([\n action\n], ModuleGeneralNotifications.prototype, \"saveNotificationsSettings\", null);\n__decorate([\n action\n], ModuleGeneralNotifications.prototype, \"restoreNotificationsSettings\", null);\n__decorate([\n action\n], ModuleGeneralNotifications.prototype, \"fire\", null);\n__decorate([\n action\n], ModuleGeneralNotifications.prototype, \"fireNewChatMessage\", null);\n__decorate([\n action\n], ModuleGeneralNotifications.prototype, \"fireChatEnded\", null);\n__decorate([\n action\n], ModuleGeneralNotifications.prototype, \"fireScreenPop\", null);\n__decorate([\n action\n], ModuleGeneralNotifications.prototype, \"fireShortcutKeyConflict\", null);\n__decorate([\n action\n], ModuleGeneralNotifications.prototype, \"fireCheckPWAInstall\", null);\n__decorate([\n action\n], ModuleGeneralNotifications.prototype, \"fireNotificationEvent\", null);\n__decorate([\n action\n], ModuleGeneralNotifications.prototype, \"updateNotificationSettings\", null);\n__decorate([\n action\n], ModuleGeneralNotifications.prototype, \"updateConfig\", null);\n__decorate([\n action\n], ModuleGeneralNotifications.prototype, \"triggerPresenceNotification\", null);\nconst generalNotificationInit = () => {\n return createNotifications({\n ACTIVATED_ITEM_MODE_LIMIT: {\n autodismiss: DEFAULT_MAXIMUM_TOASTER_COUNT\n },\n AUTO_DISMISS_TIMEOUT: DEFAULT_AUTO_DISMISS_TIMER * 1000\n });\n};\n/**\n * Set up notification host\n */\nexport const generalNotifications = new ModuleGeneralNotifications(generalNotificationInit());\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { t } from \"@/mixins/i18nMixin\";\nimport { STORE } from \"@/store\";\nimport { computed } from \"mobx\";\nexport class ModulePage {\n get getDefaultPageTitle() {\n return `${t(\"app:common.hi\")} ${STORE.agent.agentName}, ${t(\"app:common.defaultWelcomeTitle\")}`;\n }\n}\n__decorate([\n computed\n], ModulePage.prototype, \"getDefaultPageTitle\", null);\nexport const page = new ModulePage();\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { RouteName } from \"@/app/routing/routing\";\nimport { t } from \"@/mixins/i18nMixin\";\nimport { STORE } from \"@/store\";\nimport { agentContact } from \"@/store/store-agent-contact\";\nimport { SERVICE } from \"@agentx/agentx-services\";\nimport { action, computed, observable } from \"mobx\";\nexport class ModuleRouting {\n constructor() {\n this.routes = [];\n this._currentRouteName = null;\n this._currentRouteValues = JSON.stringify({\n params: {},\n query: {}\n });\n // Mix panel tracking for time spent on Analyzer reports.\n this.telemetryTrackingForNavigation = () => {\n // track all the navigated pages\n const navigationTime = SERVICE.telemetry.getValueFromCache(this._currentRouteName ? this._currentRouteName : \"0\");\n let timeSpentInThePage = {};\n if (Number(navigationTime) > 0) {\n timeSpentInThePage = {\n [SERVICE.telemetry.TELEM_PROPS.TOTAL_TIME_SPENT]: Number(((new Date().getTime() - Number(navigationTime)) / 1000).toFixed(2))\n };\n }\n SERVICE.telemetry.track(SERVICE.telemetry.TELEM_EVENT.DESKTOP_VISITED_PAGE, Object.assign({ [SERVICE.telemetry.TELEM_PROPS.PAGE_NAME]: this._currentRouteName }, timeSpentInThePage));\n SERVICE.telemetry.removeValueFromCache(this._currentRouteName ? this._currentRouteName : \"\");\n };\n }\n /**\n * Computed\n */\n // App current routeName\n get currentRouteName() {\n return this._currentRouteName;\n }\n // App current routeValues\n get currentRouteValues() {\n return JSON.parse(this._currentRouteValues);\n }\n // Nav decorated routeName\n get forNavRouteName() {\n switch (this._currentRouteName) {\n case RouteName.TASKPANEL:\n return RouteName.TASK;\n default:\n return this._currentRouteName;\n }\n }\n /**\n * Actions\n */\n // Router -> Store sync\n sync(routeName, routeValues) {\n this._currentRouteName = routeName;\n if (routeValues) {\n this._currentRouteValues = JSON.stringify(routeValues);\n }\n }\n syncQueryParams(query) {\n this._currentRouteValues = JSON.stringify({ params: this.currentRouteValues.params, query });\n }\n // Common Navigate\n navigate(routeName, routeValues) {\n this.sync(routeName, routeValues);\n }\n // Home navigate\n navigateHome() {\n var _a;\n const homeRouteName = (_a = this.routes.find((route) => route.path === \"/\")) === null || _a === void 0 ? void 0 : _a.name;\n homeRouteName && homeRouteName !== RouteName.DEFAULT_HOME && this.navigate(homeRouteName);\n }\n // Interaction Navigate\n navigateInteractionTab() {\n // Todo: For now navigate to interactions tab, we can add the filters later\n this.navigateNav(\"interactions\");\n }\n // Task Navigate\n navigateTask(taskId) {\n if (STORE.agentContact.checkBeforeNavigation && taskId !== STORE.agentContact.selectedTaskId) {\n const callback = this.navigateTaskOnConfirm.bind(this, taskId);\n this.showNavigationErrorModal(callback);\n }\n else {\n this.navigateTaskOnConfirm(taskId);\n }\n }\n navigateTaskOnConfirm(taskId) {\n STORE.agentContact.selectedTaskChange(taskId);\n this.navigate(RouteName.TASKPANEL, {\n params: Object.assign(Object.assign({}, STORE.routing.currentRouteValues.params), { taskId }),\n query: STORE.routing.currentRouteValues.query\n });\n }\n showNavigationErrorModal(callback) {\n STORE.session.errorModal.setErrorDetails({\n detail: {\n modalType: \"dialog\",\n header: t(\"app:warningMessage:header\"),\n message: t(\"app:warningMessage:message\"),\n buttons: [\n {\n type: \"button\",\n label: t(\"app:warningMessage:cancelButton\"),\n color: \"var(--md-background-color--gray-05)\",\n onClick: () => {\n STORE.session.errorModal.updateModalStatus(false);\n }\n },\n {\n type: \"button\",\n label: t(\"app:warningMessage:saveButton\"),\n onClick: () => {\n STORE.session.errorModal.updateModalStatus(false);\n STORE.agentContact.resetWarningOnNavigation();\n callback();\n }\n }\n ]\n }\n });\n }\n // Nav Navigate\n navigateNav(navigateTo) {\n STORE.agentContact.openCADSection = false;\n if (STORE.agentContact.checkBeforeNavigation && STORE.agentContact.checkTelephonyTask()) {\n const callback = this.navigateNavOnConfirm.bind(this, navigateTo);\n this.showNavigationErrorModal(callback);\n }\n else {\n this.navigateNavOnConfirm(navigateTo);\n }\n }\n setRoutes(routes) {\n this.routes = [...routes];\n }\n getRoutes() {\n return this.routes;\n }\n navigateNavOnConfirm(navigateTo) {\n this.telemetryTrackingForNavigation();\n if (navigateTo === RouteName.TASK && agentContact.selectedTaskId) {\n this.navigateTask(agentContact.selectedTaskId);\n }\n else {\n this.navigate(navigateTo);\n }\n }\n}\n__decorate([\n observable\n], ModuleRouting.prototype, \"routes\", void 0);\n__decorate([\n observable\n], ModuleRouting.prototype, \"_currentRouteName\", void 0);\n__decorate([\n observable\n], ModuleRouting.prototype, \"_currentRouteValues\", void 0);\n__decorate([\n computed\n], ModuleRouting.prototype, \"currentRouteName\", null);\n__decorate([\n computed\n], ModuleRouting.prototype, \"currentRouteValues\", null);\n__decorate([\n computed\n], ModuleRouting.prototype, \"forNavRouteName\", null);\n__decorate([\n action\n], ModuleRouting.prototype, \"sync\", null);\n__decorate([\n action\n], ModuleRouting.prototype, \"syncQueryParams\", null);\n__decorate([\n action\n], ModuleRouting.prototype, \"navigate\", null);\n__decorate([\n action\n], ModuleRouting.prototype, \"navigateHome\", null);\n__decorate([\n action\n], ModuleRouting.prototype, \"navigateInteractionTab\", null);\n__decorate([\n action\n], ModuleRouting.prototype, \"navigateTask\", null);\n__decorate([\n action\n], ModuleRouting.prototype, \"navigateNav\", null);\n__decorate([\n action\n], ModuleRouting.prototype, \"setRoutes\", null);\n__decorate([\n action\n], ModuleRouting.prototype, \"getRoutes\", null);\nexport const routing = new ModuleRouting();\n","/******************************************************\n * This store is dedicated to keeping MFE specific data\n * that has to persist beyond MFE lifecycle\n * Includding:\n * - Predefined Chat Responses (pulled once by Chat, stored here througout the session)\n * - Email message templates (pulled once EmailComposer, stored here througout the session)\n * - Email draf messages\n * - Auto Wrapup details for Interactions\n ******************************************************/\nimport InteractionControl from \"./MFE/interaction-control\";\nimport ModuleIvrTranscript from \"./MFE/ivr-transcript\";\nimport { ModuleChat } from \"./MFE/module-chat\";\nimport ModuleEmail from \"./MFE/module-email\";\nimport ModuleErrorDialog from \"./MFE/module-error\";\nimport ModuleScreenPop from \"./MFE/screen-pop\";\nexport class ModuleSession {\n constructor() {\n this.email = new ModuleEmail();\n this.chat = new ModuleChat();\n this.screenpop = new ModuleScreenPop();\n this.errorModal = new ModuleErrorDialog();\n this.interactionControl = new InteractionControl();\n this.ivrTransctipt = new ModuleIvrTranscript();\n }\n}\nexport const session = new ModuleSession();\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { action, computed, observable } from \"mobx\";\nexport class ModuleShortcutKeys {\n constructor() {\n this.isKeyboardShortcutsModalOpen = false;\n this.isShortcutKeyConflict = false;\n }\n /**\n * Action to update conflicts\n * @param key\n */\n updateConflictForKey(flag) {\n this.isShortcutKeyConflict = flag;\n }\n /**\n * Update Modal State Open or Close\n */\n updateShortcutKeysModal(isModalOpen) {\n this.isKeyboardShortcutsModalOpen = isModalOpen;\n }\n get shortcutKeysModal() {\n return this.isKeyboardShortcutsModalOpen;\n }\n get updateKeyboardShortcutConflict() {\n return this.isShortcutKeyConflict;\n }\n}\n__decorate([\n observable\n], ModuleShortcutKeys.prototype, \"isKeyboardShortcutsModalOpen\", void 0);\n__decorate([\n observable\n], ModuleShortcutKeys.prototype, \"isShortcutKeyConflict\", void 0);\n__decorate([\n action\n], ModuleShortcutKeys.prototype, \"updateConflictForKey\", null);\n__decorate([\n action\n], ModuleShortcutKeys.prototype, \"updateShortcutKeysModal\", null);\n__decorate([\n computed\n], ModuleShortcutKeys.prototype, \"shortcutKeysModal\", null);\n__decorate([\n computed\n], ModuleShortcutKeys.prototype, \"updateKeyboardShortcutConflict\", null);\nexport const shortcutKeys = new ModuleShortcutKeys();\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n/*eslint \"no-console\": \"off\"*/\nimport EventEmitter from \"event-emitter\";\nexport var AgentXServiceWorker;\n(function (AgentXServiceWorker) {\n let MessageEventDataAction;\n (function (MessageEventDataAction) {\n MessageEventDataAction[\"SkipWaiting\"] = \"skipWaiting\";\n })(MessageEventDataAction = AgentXServiceWorker.MessageEventDataAction || (AgentXServiceWorker.MessageEventDataAction = {}));\n class Controller {\n constructor() {\n this.emitter = EventEmitter();\n this.is_update_pending = false;\n this.is_inited = false;\n this.is_refreshing = false;\n this.deferredInstallPromptEvent = null;\n this.currWorker = null;\n this.nextWorker = null;\n this.currVersion = null;\n this.nextVersion = null;\n this.deleteOldCache = () => __awaiter(this, void 0, void 0, function* () {\n const cacheNames = yield caches.keys();\n return yield Promise.all(cacheNames.map((cacheName) => {\n // Check if the cache name matches the one you want to delete\n console.log(\"Caches are: \", cacheName);\n if (cacheName.includes(\"workbox-precache-v2\")) {\n return caches.delete(cacheName);\n }\n return Promise.resolve();\n }));\n });\n // Browser Events\n this.onControllerChangeHandler = () => {\n if (this.is_refreshing) {\n return;\n }\n if (this.isUpdatePending) {\n this.is_update_pending = false;\n window.location.reload();\n this.is_refreshing = true;\n }\n };\n this.onBeforeInstallPromptHandler = (e /*: BeforeInstallPromptEvent*/) => {\n // Prevent the mini-infobar from appearing on mobile\n e.preventDefault();\n //\n // Stash the event so it can be triggered later.\n this.deferredInstallPromptEvent = e;\n this.emit(\"AGENTX_SW_ASK_INSTALL\");\n };\n }\n bindSwUpdateFlow(reg) {\n return __awaiter(this, void 0, void 0, function* () {\n console.log(\"AgentX SW binding self update events...\");\n this.currWorker = reg.active;\n // Silently skipping waiting on page load\n if (reg.waiting) {\n reg.waiting.postMessage({ action: MessageEventDataAction.SkipWaiting });\n }\n yield this.deleteOldCache();\n reg.addEventListener(\"updatefound\", () => {\n // An updated service worker has appeared in reg.installing!\n this.nextWorker = reg.installing;\n console.log(\"AgentX SW updatefound\");\n if (this.nextWorker) {\n this.nextWorker.addEventListener(\"statechange\", () => __awaiter(this, void 0, void 0, function* () {\n var _a;\n console.log(\"AgentX next SW statechange: \", this.nextWorker, (_a = this.nextWorker) === null || _a === void 0 ? void 0 : _a.state);\n if (this.nextWorker && this.nextWorker.state === \"installed\") {\n // Has service worker state changed?\n this.notifyPendingUpdate();\n }\n }));\n }\n });\n });\n }\n notifyPendingUpdate() {\n // There is a new service worker available, show the notification\n console.log(\"Controller SW: \", navigator.serviceWorker.controller);\n if (navigator.serviceWorker.controller) {\n this.is_update_pending = true;\n // Emitting Update\n this.emit(\"AGENTX_SW_UPDATE_PENDING\");\n }\n }\n bindSwBrowserEvents() {\n if (\"serviceWorker\" in navigator) {\n //\n // The event listener that is fired when the service worker updates\n // Here we reload the page\n navigator.serviceWorker.addEventListener(\"controllerchange\", this.onControllerChangeHandler);\n // Catching mini-info bar\n window.addEventListener(\"beforeinstallprompt\", this.onBeforeInstallPromptHandler);\n }\n }\n unbindSwBrowserEvents() {\n if (\"serviceWorker\" in navigator) {\n navigator.serviceWorker.removeEventListener(\"controllerchange\", this.onControllerChangeHandler);\n window.removeEventListener(\"beforeinstallprompt\", this.onBeforeInstallPromptHandler);\n }\n }\n // Public\n // Init Service Worker\n init() {\n if (this.is_inited) {\n return;\n }\n // Registering Service Worker\n if (\"serviceWorker\" in navigator) {\n this.bindSwBrowserEvents();\n console.log(\"AgentX SW trying to register...\");\n // main sw boot\n navigator.serviceWorker\n .register(\"/service-worker.js\")\n .then((registration) => {\n console.log(\"AgentX SW registered: \", registration);\n // OK\n return this.bindSwUpdateFlow(registration);\n })\n .catch((registrationError) => {\n console.log(\"AgentX SW registration failed: \", registrationError);\n this.unbindSwBrowserEvents();\n });\n }\n else {\n console.log(\"Your browser does not support Service Worker...\");\n }\n this.is_inited = true;\n }\n reload() {\n if (this.isUpdatePending) {\n this.nextWorker && this.nextWorker.postMessage({ action: MessageEventDataAction.SkipWaiting });\n }\n else {\n console.warn(\"No update pending...\");\n }\n }\n // Install as standalone\n installConfirm() {\n if (this.deferredInstallPromptEvent) {\n this.deferredInstallPromptEvent /*: BeforeInstallPromptEvent*/\n .prompt();\n this.deferredInstallPromptEvent /*: BeforeInstallPromptEvent*/.userChoice\n .then((res) => {\n console.log(res);\n if (res.outcome === \"accepted\") {\n console.log(\"User accepted the install prompt\");\n }\n else {\n console.log(\"User dismissed the install prompt.\");\n }\n });\n }\n else {\n console.warn(\"App already installed on your device...\");\n }\n }\n installDismiss() {\n this.emit(\"AGENTX_SW_DISMISS_INSTALL\");\n }\n //\n get isUpdatePending() {\n return this.is_update_pending;\n }\n get isInstallPending() {\n return !!this.deferredInstallPromptEvent;\n }\n // Events\n emit(eventName, ...args) {\n this.emitter.emit(eventName, ...args);\n }\n addEventListener(eventName, listener) {\n this.emitter.on(eventName, listener);\n }\n removeEventListener(eventName, listener) {\n this.emitter.off(eventName, listener);\n }\n }\n AgentXServiceWorker.Controller = Controller;\n})(AgentXServiceWorker || (AgentXServiceWorker = {}));\nconst AGENTX_SW_CONTROLLER = new AgentXServiceWorker.Controller();\nconst init = () => {\n // Init sw controller\n AGENTX_SW_CONTROLLER.init();\n //bind sw controller CRITICAL events\n {\n // Bind app service-worker update event => this could be changed to styled modal but it should fire as much earlier as possible\n AGENTX_SW_CONTROLLER.addEventListener(\"AGENTX_SW_UPDATE_PENDING\", () => {\n confirm(`New version of Webex Contact Center is available. Please reload to stay up to date with our latest upgrades.`) && AGENTX_SW_CONTROLLER.reload();\n });\n }\n};\ninit();\nexport default AGENTX_SW_CONTROLLER;\n","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"names":[],"sourceRoot":""}