{"version":3,"sources":["webpack:///./src/app/core/services/debitcard-passwordreset.service.ts","webpack:///./src/app/pages/authentication/authentication.module.ts","webpack:///./src/app/pages/authentication/authentication.route.ts","webpack:///./src/app/pages/authentication/changePassword/changePassword.component.css","webpack:///./src/app/pages/authentication/changePassword/changePassword.component.html","webpack:///./src/app/pages/authentication/changePassword/changePassword.component.ts","webpack:///./src/app/pages/authentication/create-security-questions/createSecurityQuestions.component.css","webpack:///./src/app/pages/authentication/create-security-questions/createSecurityQuestions.component.html","webpack:///./src/app/pages/authentication/create-security-questions/createSecurityQuestions.component.ts","webpack:///./src/app/pages/authentication/login/login.component.css","webpack:///./src/app/pages/authentication/login/login.component.html","webpack:///./src/app/pages/authentication/login/login.component.ts","webpack:///./src/app/pages/authentication/reset-password-secret/resetPassword.component.css","webpack:///./src/app/pages/authentication/reset-password-secret/resetPassword.component.html","webpack:///./src/app/pages/authentication/reset-password-secret/resetPassword.component.ts","webpack:///./src/app/pages/authentication/reset-password/resetPassword.component.css","webpack:///./src/app/pages/authentication/reset-password/resetPassword.component.html","webpack:///./src/app/pages/authentication/reset-password/resetPassword.component.ts","webpack:///./src/app/pages/authentication/survey/survey.component.css","webpack:///./src/app/pages/authentication/survey/survey.component.html","webpack:///./src/app/pages/authentication/survey/survey.component.ts","webpack:///./src/app/pages/authentication/user-registration/user-registration.component.css","webpack:///./src/app/pages/authentication/user-registration/user-registration.component.html","webpack:///./src/app/pages/authentication/user-registration/user-registration.component.ts","webpack:///./src/app/pages/authentication/validate-auth-otp/validateAuth.component.css","webpack:///./src/app/pages/authentication/validate-auth-otp/validateAuth.component.html","webpack:///./src/app/pages/authentication/validate-auth-otp/validateAuth.component.ts","webpack:///./src/app/pages/base.component.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAA2C;AAEO;AACK;AAKvD;IAGE,uCAAoB,WAAuB,EAAU,gBAAkC;QAAnE,gBAAW,GAAX,WAAW,CAAY;QAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;QACrF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,6BAA6B,CAAC;IACzE,CAAC;IAGD,yDAAiB,GAAjB,UACE,OAAuC;QAGvC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CACvB,IAAI,CAAC,WAAW,sDAAmD,EACtE,OAAO,CACR,CAAC;IAEJ,CAAC;IAED,yDAAiB,GAAjB,UACE,OAAmC;QAGnC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CACvB,IAAI,CAAC,WAAW,kDAA+C,EAClE,OAAO,CACR,CAAC;IAEJ,CAAC;IA5BU,6BAA6B;QADzC,gEAAU,EAAE;yCAIsB,+DAAU,EAA4B,mEAAgB;OAH5E,6BAA6B,CA6BzC;IAAD,oCAAC;CAAA;AA7ByC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRD;AACM;AACmB;AACnB;AAEe;AACA;AAEL;AACyB;AAC6B;AACnB;AACH;AACP;AACtB;AACmC;AACO;AAuBtG;IAAA;IAAyC,CAAC;IAA7B,yBAAyB;QArBrC,8DAAQ,CAAC;YACR,OAAO,EAAE;gBACP,4DAAY;gBACZ,kEAAmB;gBACnB,0DAAW;gBACX,sEAAiB;gBACjB,4DAAY;gBACZ,0EAAoB;aACrB;YACD,YAAY,EAAE;gBACZ,qEAAc;gBACd,8FAAoB;gBACpB,2HAA8B;gBAC9B,wGAAyB;gBACzB,sGAA4B;gBAC5B,+FAAsB;gBACtB,4GAA4B;gBAC5B,yEAAe;aAChB;YACD,SAAS,EAAE,CAAC,oHAA6B,CAAC;SAC3C,CAAC;OACW,yBAAyB,CAAI;IAAD,gCAAC;CAAA;AAAJ;;;;;;;;;;;;;ACvCtC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+C;AACU;AACyB;AAC6B;AACnB;AACH;AACP;AAClF,wEAAwE;AACZ;AACmC;AAExF,IAAM,oBAAoB,GAAG,4DAAY,CAAC,QAAQ,CAAC;IACxD;QACE,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,OAAO;QACnB,SAAS,EAAE,MAAM;KAClB;IACD;QACE,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,qEAAc;QACzB,SAAS,EAAE,MAAM;KAClB;IACD;QACE,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,8FAAoB;QAC/B,SAAS,EAAE,MAAM;KAClB;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,SAAS,EAAE,2HAA8B;QACzC,SAAS,EAAE,MAAM;KAClB;IACD;QACE,IAAI,EAAE,eAAe;QACrB,SAAS,EAAE,wGAAyB;QACpC,SAAS,EAAE,MAAM;KAClB;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,qGAA4B;QACvC,SAAS,EAAE,MAAM;KAClB;IACD;QACE,IAAI,EAAE,eAAe;QACrB,SAAS,EAAE,8FAAsB;QACjC,SAAS,EAAE,MAAM;KAClB;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,SAAS,EAAE,2GAA4B;QACvC,SAAS,EAAE,MAAM;KAClB;IACD;QACE,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,wEAAe;QAC1B,SAAS,EAAE,MAAM;KAClB;CACF,CAAC,CAAC;;;;;;;;;;;;ACzDH,mCAAmC,8BAA8B,uBAAuB,qBAAqB,GAAG,iBAAiB,qBAAqB,GAAG,wCAAwC,sBAAsB,GAAG,qBAAqB,qCAAqC,GAAG,gCAAgC,kCAAkC,gCAAgC,4BAA4B,yCAAyC,kCAAkC,oCAAoC,GAAG,0EAA0E,gBAAgB,aAAa,8BAA8B,mBAAmB,cAAc,aAAa,uBAAuB,2BAA2B,sCAAsC,yCAAyC,6BAA6B,uBAAuB,wBAAwB,uCAAuC,yCAAyC,gCAAgC,uBAAuB,wBAAwB,2BAA2B,qBAAqB,oBAAoB,kCAAkC,kBAAkB,gCAAgC,wBAAwB,8BAA8B,yBAAyB,qBAAqB,mBAAmB,uBAAuB,iCAAiC,4BAA4B,mBAAmB,uBAAuB,iCAAiC,+CAA+C,ukG;;;;;;;;;;;ACAngD,uGAAuG,4BAA4B,qHAAqH,mBAAmB,iBAAiB,oHAAoH,eAAe,mBAAmB,oBAAoB,wHAAwH,gBAAgB,iBAAiB,8CAA8C,iFAAiF,8BAA8B,oBAAoB,cAAc,oBAAoB,oDAAoD,YAAY,0DAA0D,8BAA8B,oBAAoB,cAAc,oBAAoB,mOAAmO,q9CAAq9C,qEAAqE,2LAA2L,8BAA8B,mjBAAmjB,uDAAuD,2SAA2S,mDAAmD,wSAAwS,uDAAuD,0SAA0S,uDAAuD,0SAA0S,sDAAsD,0SAA0S,gDAAgD,kuCAAkuC,mFAAmF,iUAAiU,8yBAA8yB,8BAA8B,oBAAoB,cAAc,qBAAqB,6EAA6E,kBAAkB,0IAA0I,8BAA8B,oBAAoB,cAAc,qBAAqB,8EAA8E,kBAAkB,mYAAmY,wIAAwI,miBAAmiB,mBAAmB,iBAAiB,qPAAqP,gBAAgB,iBAAiB,gDAAgD,0EAA0E,sBAAsB,kFAAkF,8BAA8B,oBAAoB,cAAc,qBAAqB,WAAW,qBAAqB,kBAAkB,8JAA8J,6P;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAz8T;AAC5C;AAC2B;AACiB;AAGvB;AAEG;AACH;AAC0D;AACjD;AACH;AACG;AACK;AAGvB;AAOrD;IAAkD,gDAAa;IA8B7D,sCAAoB,MAAc,EAAU,QAAqB,EAAU,WAAwB,EACzF,cAA8B,EAAU,UAAqB,EAC7D,KAA2B,EAAU,WAAwB,EAAU,KAAwB;QAFzG,YAIE,kBAAM,WAAW,EAAE,MAAM,CAAC,SA+B3B;QAnCmB,YAAM,GAAN,MAAM,CAAQ;QAAU,cAAQ,GAAR,QAAQ,CAAa;QAAU,iBAAW,GAAX,WAAW,CAAa;QACzF,oBAAc,GAAd,cAAc,CAAgB;QAAU,gBAAU,GAAV,UAAU,CAAW;QAC7D,WAAK,GAAL,KAAK,CAAsB;QAAU,iBAAW,GAAX,WAAW,CAAa;QAAU,WAAK,GAAL,KAAK,CAAmB;QApBzG,mCAA6B,GAAW,CAAC,CAAC;QAO1C,kBAAY,GAAY,KAAK,CAAC;QAC9B,yBAAmB,GAAY,KAAK,CAAC;QAgBnC,IAAI,CAAC,8EAAW,CAAC,0BAA0B,EAAE;YAC3C,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;;SAElD;QAED,IAAI,CAAC,kFAAgB,CAAC,qCAAqC,IAAI,kFAAgB,CAAC,qCAAqC,IAAI,CAAC,EAAE;YAC1H,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;SAClD;QAED,IAAI,kFAAgB,CAAC,qCAAqC,IAAI,sGAAqC,CAAC,WAAW;YAC7G,kFAAgB,CAAC,qCAAqC,IAAI,sGAAqC,CAAC,kBAAkB,EAClH;YACA,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;SAClD;QAGD,KAAI,CAAC,UAAU,GAAG,8EAAW,CAAC,0BAA0B,CAAC,MAAM,CAAC;QAChE,KAAI,CAAC,uBAAuB,GAAG,WAAW,CAAC,KAAK,CAAC;YAC/C,WAAW,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACtC,eAAe,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SAC3C,CAAC,CAAC;QAGH,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACzC,GAAG,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SAC/B,CAAC,CAAC;QAEH,iFAAW,CAAC,kBAAkB,EAAE,CAAC;;IAEnC,CAAC;IAGD,4DAAqB,GAArB;QACE,IAAI,IAAI,CAAC,6BAA6B,KAAK,CAAC,EAAE;YAC5C,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;SACzC;IACH,CAAC;IAGD,+DAAwB,GAAxB;QACE,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;IACzC,CAAC;IAGD,+DAAwB,GAAxB;QACE,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;QACvC,IAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC;QACnF,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC;IAC/C,CAAC;IAID,+DAAwB,GAAxB,UAAyB,aAAqB;QAC5C,QAAQ,aAAa,EAAE;YACrB,KAAK,CAAC;gBACJ,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;gBACvC,MAAM;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC;gBACrD,MAAM;SACT;IACH,CAAC;IAGD,6DAAsB,GAAtB,UAAuB,eAAuB;QAE5C,IAAI,CAAC,6BAA6B,GAAG,CAAC,CAAC;QAEvC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9B,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;YAC3C,IAAI,CAAC,6BAA6B,GAAG,CAAC,CAAC;SACxC;aAAM;YACL,IAAI,CAAC,8BAA8B,GAAG,KAAK,CAAC;SAC7C;QAED,IAAI,iFAAW,CAAC,iCAAiC,CAAC,eAAe,CAAC,EAAE;YAClE,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;YAC3C,IAAI,CAAC,6BAA6B,IAAI,CAAC,CAAC;SACzC;aAAM;YACL,IAAI,CAAC,8BAA8B,GAAG,KAAK,CAAC;SAC7C;QAED,IAAI,iFAAW,CAAC,iCAAiC,CAAC,eAAe,CAAC,EAAE;YAClE,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;YAC3C,IAAI,CAAC,6BAA6B,IAAI,CAAC,CAAC;SACzC;aAAM;YACL,IAAI,CAAC,8BAA8B,GAAG,KAAK,CAAC;SAC7C;QAED,IAAI,iFAAW,CAAC,mBAAmB,CAAC,eAAe,CAAC,EAAE;YACpD,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;YACvC,IAAI,CAAC,6BAA6B,IAAI,CAAC,CAAC;SACzC;aAAM;YACL,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;SACzC;QAED,IAAI,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,EAAE;YAChD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,6BAA6B,IAAI,CAAC,CAAC;SACzC;aAAM;YACL,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;SACtC;QAED,IAAI,IAAI,CAAC,6BAA6B,CAAC,eAAe,CAAC,EAAE;YACvD,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC;YAC1C,IAAI,CAAC,6BAA6B,IAAI,CAAC,CAAC;SACzC;aAAM;YACL,IAAI,CAAC,6BAA6B,GAAG,KAAK,CAAC;SAC5C;IACH,CAAC;IAGD,6DAAsB,GAAtB,UAAuB,QAAgB;QAErC,sBAAsB;QACtB,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAC5B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAC1B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAC1B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAC1B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAC1B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAC1B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAC1B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAC1B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAC1B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAC1B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAC1B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAC1B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI;QAC/B,iCAAiC;QACjC,gCAAgC;QAChC,gCAAgC;QAChC,6BAA6B;QAC7B,8BAA8B;UAC9B;YACA,OAAO,IAAI,CAAC;SACb;QAGD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,oEAA6B,GAArC,UAAsC,QAAgB;QACpD,IAAM,kBAAkB,GAAG,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,IAAI,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;gBAChD,SAAS;aACV;YACD,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;SACtC;QACD,OAAO,kBAAkB,CAAC,MAAM,IAAI,CAAC,CAAC;IACxC,CAAC;IAKD,mDAAY,GAAZ,UAAa,OAAmB;QAC9B,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,IAAI,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE;YAEtC,IAAI,iFAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;gBAE5F,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,+BAA+B,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvI,OAAO;aACR;YAED,IAAI,iFAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;gBAEhG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iCAAiC,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzI,OAAO;aACR;YAGD,IAAI,IAAI,CAAC,6BAA6B,GAAG,CAAC,EAAE;gBAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,uCAAuC,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC/I,OAAO;aACR;YAED,IAAI,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,KAAK,EAAE;gBAChI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,+BAA+B,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvI,OAAO;aACR;YAGD,IAAI,iFAAW,CAAC,uBAAuB,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE;gBAC3G,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,oCAAoC,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC5I,OAAO;aACR;YAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;SAE3B;IACH,CAAC;IAMD,kDAAW,GAAX,UAAY,OAAmB;QAA/B,iBAuCC;QArCC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CACxD;YACE,MAAM,EAAE,8EAAW,CAAC,0BAA0B,CAAC,MAAM;YACrD,KAAK,EAAE,8EAAW,CAAC,0BAA0B,CAAC,KAAK;YACnD,UAAU,EAAE,+EAAc,CAAC,eAAe;SAC3C,CACF,CAAC,SAAS,CAAC,kBAAQ;YAElB,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAE5B,IAAI,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,KAAK,8EAAa,CAAC,OAAO,EAAE;gBAC5E,KAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,mBAAmB,CAAC;gBACjD,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;gBAClD,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;gBAErD,OAAO,CAAC,IAAI,EAAE,CAAC;gBAEf,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,4CAA0C,QAAQ,CAAC,mBAAmB,UAC9F,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7E,OAAO;aACR;YAED,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,uBAAuB,CAAC;YACzD,KAAI,CAAC,kBAAkB,GAAG,iFAAW,CAAC,mBAAmB,CAAC,KAAI,CAAC,kBAAkB,EAAE,KAAI,CAAC,qBAAqB,EAAE,KAAI,CAAC,UAAU,CAAC,CAAC;QAElI,CAAC,EACC,UAAC,KAAU;YACT,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAE5B,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,2EAAS,CAAC,sBAAsB,EAAE;gBAC7D,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,2EAAS,CAAC,wBAAwB,EACnD,IAAI,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;aACtF;QAIH,CAAC,CAAC,CAAC;IACP,CAAC;IAID,6CAAM,GAAN,UAAO,OAAmB;QAExB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAE1B,gCAAgC;QAChC,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;YAC7C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SACpD;QAED,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IAKD,gDAAS,GAAT;QAEE,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;YAC5B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,kCAAkC,CAAC,CAAC;SAC5D;aACI;YACH,IAAI,iFAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;gBACvE,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE;gBAC5F,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,yCAAyC,EAAE,IAAI,EAChE,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC5E,OAAO;aACR;YAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAE3B,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,qDAAc,GAAd;QAAA,iBAoCC;QAnCC,IAAI,IAAI,GAAG,IAAI,CAAC;QAGhB,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;YAC9B,MAAM,EAAE,8EAAW,CAAC,0BAA0B,CAAC,MAAM;YACrD,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK;YAC5C,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,WAAW,EAAE,IAAI,CAAC,8EAAW,CAAC,0BAA0B,CAAC,iBAAiB,CAAC;YAC3E,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC;SAC9E,CAAC;aACC,IAAI,CACH,kBAAQ;YAEN,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAE5B,IAAI,QAAQ,CAAC,YAAY,IAAI,8EAAa,CAAC,OAAO,EAAE;gBAClD,kFAAgB,CAAC,gCAAgC,GAAG,IAAI,CAAC;gBACzD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACjD,OAAO;aACR;YAED,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,uBAAuB,CAAC;YACzD,KAAI,CAAC,kBAAkB,GAAG,iFAAW,CAAC,mBAAmB,CAAC,KAAI,CAAC,kBAAkB,EAAE,KAAI,CAAC,qBAAqB,EAAE,KAAI,CAAC,UAAU,CAAC,CAAC;QAElI,CAAC,EACD,UAAC,KAAK;YACJ,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,2EAAS,CAAC,sBAAsB,EAAE;gBAC7D,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,2EAAS,CAAC,wBAAwB,EACnD,IAAI,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;aACtF;YACD,4IAA4I;QAE9I,CAAC,CACF,CAAC;IACN,CAAC;IAGD,wDAAiB,GAAjB;QACE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnD,CAAC;IAGD,0DAAmB,GAAnB;QACE,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;SACjC;IACH,CAAC;IAED,kDAAW,GAAX;QACE,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE;SAClC;IACH,CAAC;IAzV+B;QAA/B,+DAAS,CAAC,mBAAmB,CAAC;kCAAwB,yDAAW;+EAAM;IAzB7D,4BAA4B;QAJxC,+DAAS,CAAC;;;SAGV,CAAC;yCA+B4B,sDAAM,EAAoB,6DAAW,EAAuB,0DAAW;YACzE,qFAAc,EAAsB,2DAAS;YACtD,2EAAoB,EAAuB,8EAAW,EAAiB,+DAAiB;OAhC9F,4BAA4B,CAoXxC;IAAD,mCAAC;CAAA,CApXiD,8DAAa,GAoX9D;AApXwC;;;;;;;;;;;;ACxBzC,mCAAmC,8BAA8B,uBAAuB,qBAAqB,GAAG,iBAAiB,qBAAqB,GAAG,wCAAwC,sBAAsB,GAAG,qBAAqB,qCAAqC,GAAG,+CAA+C,m3B;;;;;;;;;;;ACAtU,uGAAuG,4BAA4B,qHAAqH,mBAAmB,iBAAiB,oHAAoH,eAAe,mBAAmB,oBAAoB,wHAAwH,gBAAgB,iBAAiB,8CAA8C,sFAAsF,8BAA8B,oBAAoB,cAAc,qBAAqB,4BAA4B,+MAA+M,8BAA8B,oBAAoB,cAAc,qBAAqB,6NAA6N,+kBAA+kB,2BAA2B,kBAAkB,yDAAyD,KAAK,uBAAuB,4jCAA4jC,mGAAmG,6vBAA6vB,2BAA2B,kBAAkB,yDAAyD,KAAK,uBAAuB,8jCAA8jC,mGAAmG,+vBAA+vB,2BAA2B,kBAAkB,yDAAyD,KAAK,uBAAuB,w7BAAw7B,mGAAmG,oiBAAoiB,6HAA6H,iW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA7tP;AAC5B;AAC2B;AAGN;AACd;AAEiB;AACH;AAC0C;AACjC;AACH;AACO;AACJ;AACW;AACN;AAO5E;IA0BE,wCAAoB,MAAc,EAAU,QAAqB,EAAU,WAAwB,EACzF,cAA8B,EAC9B,KAA2B,EAAU,WAAwB,EAAU,KAAwB;QAEvG,iDAAiD;QACjD,sDAAsD;QACtD,YAAY;QACZ,IAAI;QAPc,WAAM,GAAN,MAAM,CAAQ;QAAU,aAAQ,GAAR,QAAQ,CAAa;QAAU,gBAAW,GAAX,WAAW,CAAa;QACzF,mBAAc,GAAd,cAAc,CAAgB;QAC9B,UAAK,GAAL,KAAK,CAAsB;QAAU,gBAAW,GAAX,WAAW,CAAa;QAAU,UAAK,GAAL,KAAK,CAAmB;QARzG,gCAA2B,GAAY,KAAK,CAAC;QAC7C,gCAA2B,GAAY,KAAK,CAAC;QAC7C,gCAA2B,GAAY,KAAK,CAAC;QAa3C,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC,KAAK,CAAC;YACzC,OAAO,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAClC,OAAO,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAClC,OAAO,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAClC,aAAa,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACxC,aAAa,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SAEzC,CAAC,CAAC;QAEH,iFAAW,CAAC,kBAAkB,EAAE,CAAC;QAEjC,QAAQ;QACR,yCAAyC;QACzC,sBAAsB;IAExB,CAAC;IAGD,iDAAQ,GAAR;QAEE,IAAI,CAAC,yFAAgB,CAAC,qCAAqC,IAAI,yFAAgB,CAAC,qCAAqC,IAAI,CAAC,EAAE;YAC1H,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;SAClD;QAED,IAAI,yFAAgB,CAAC,qCAAqC,IAAI,sGAAqC,CAAC,WAAW;YAC7G,yFAAgB,CAAC,qCAAqC,IAAI,sGAAqC,CAAC,kBAAkB,EAClH;YACA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;SAClD;QAGD,IAAI,CAAC,yFAAgB,CAAC,kBAAkB;YACtC,CAAC,yFAAgB,CAAC,kBAAkB,IAAI,yFAAgB,CAAC,kBAAkB,CAAC,MAAM,IAAI,yFAAgB,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;YACvI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;SAClD;QAED,IAAI,CAAC,uBAAuB,GAAG,yFAAgB,CAAC,kBAAkB,CAAC;QACnE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,GAAG,yFAAgB,CAAC,kBAAkB,CAAC;QAGlH,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAClD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAClD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;QACxD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;QAGxD,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;IAC7B,CAAC;IAID,0EAAiC,GAAjC,UAAkC,aAAqB;QACrD,QAAQ,aAAa,EAAE;YACrB,KAAK,CAAC;gBACJ,IAAI,CAAC,2BAA2B,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC;gBACrE,MAAM;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,2BAA2B,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC;gBACrE,MAAM;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,2BAA2B,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC;gBACrE,MAAM;SACT;IACH,CAAC;IAID,2EAAkC,GAAlC,UAAmC,OAAO;QAA1C,iBAwCC;QAvCC,IAAM,iBAAiB,GAAG,OAAO,CAAC,KAAyB,CAAC;QAE5D,IAAI,iBAAiB,EAAE;YACrB,IAAI,CAAC,yBAAyB,GAAG,iBAAiB,CAAC;YAEnD,IAAI,SAAS,UAAC;YACd,IAAI,iBAAiB,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,KAAI,CAAC,yBAAyB,CAAC,UAAU,EAAzD,CAAyD,CAAC,CAAC;YAE5H,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAErD,oBAAoB;gBACpB,IAAI,IAAI,CAAC,yBAAyB,EAAE;oBAClC,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,KAAI,CAAC,yBAAyB,CAAC,UAAU,EAAzD,CAAyD,CAAC,CAAC;iBACtG;qBACI;oBACH,SAAS,GAAG,iBAAiB,CAAC;iBAC/B;gBAED,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oBACrC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;iBACrC;gBAGD,oBAAoB;gBACpB,IAAI,IAAI,CAAC,yBAAyB,EAAE;oBAClC,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,KAAI,CAAC,yBAAyB,CAAC,UAAU,EAAzD,CAAyD,CAAC,CAAC;iBACtG;qBACI;oBACH,SAAS,GAAG,iBAAiB,CAAC;iBAC/B;gBAED,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oBACrC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;iBACrC;aACF;YAED,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;SACtC;IAEH,CAAC;IAGD,2EAAkC,GAAlC,UAAmC,OAAO;QAA1C,iBA2CC;QA1CC,IAAM,iBAAiB,GAAG,OAAO,CAAC,KAAyB,CAAC;QAG5D,IAAI,iBAAiB,EAAE;YACrB,IAAI,CAAC,yBAAyB,GAAG,iBAAiB,CAAC;YAEnD,IAAI,SAAS,UAAC;YACd,IAAI,iBAAiB,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,KAAI,CAAC,yBAAyB,CAAC,UAAU,EAAzD,CAAyD,CAAC,CAAC;YAE5H,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAErD,oBAAoB;gBACpB,IAAI,IAAI,CAAC,yBAAyB,EAAE;oBAClC,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,KAAI,CAAC,yBAAyB,CAAC,UAAU,EAAzD,CAAyD,CAAC,CAAC;iBACtG;qBACI;oBACH,SAAS,GAAG,iBAAiB,CAAC;iBAC/B;gBAED,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oBACrC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;iBACrC;gBAGD,oBAAoB;gBACpB,IAAI,IAAI,CAAC,yBAAyB,EAAE;oBAClC,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,KAAI,CAAC,yBAAyB,CAAC,UAAU,EAAzD,CAAyD,CAAC,CAAC;iBACtG;qBACI;oBACH,SAAS,GAAG,iBAAiB,CAAC;iBAC/B;gBAED,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oBACrC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;iBACrC;aACF;YAED,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;SACtC;IAIH,CAAC;IAGD,2EAAkC,GAAlC,UAAmC,OAAO;QAA1C,iBAsCC;QArCC,IAAM,iBAAiB,GAAG,OAAO,CAAC,KAAyB,CAAC;QAG5D,IAAI,iBAAiB,EAAE;YACrB,IAAI,CAAC,yBAAyB,GAAG,iBAAiB,CAAC;YAEnD,IAAI,SAAS,UAAC;YACd,IAAI,iBAAiB,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,KAAI,CAAC,yBAAyB,CAAC,UAAU,EAAzD,CAAyD,CAAC,CAAC;YAE5H,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAErD,oBAAoB;gBACpB,IAAI,IAAI,CAAC,yBAAyB,EAAE;oBAClC,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,KAAI,CAAC,yBAAyB,CAAC,UAAU,EAAzD,CAAyD,CAAC,CAAC;iBACtG;qBACI;oBACH,SAAS,GAAG,iBAAiB,CAAC;iBAC/B;gBAED,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oBACrC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;iBACrC;gBAGD,oBAAoB;gBACpB,IAAI,IAAI,CAAC,yBAAyB,EAAE;oBAClC,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,KAAI,CAAC,yBAAyB,CAAC,UAAU,EAAzD,CAAyD,CAAC,CAAC;iBACtG;qBACI;oBACH,SAAS,GAAG,iBAAiB,CAAC;iBAC/B;gBAED,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oBACrC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;iBACrC;aACF;SACF;IACH,CAAC;IAGD,6DAAoB,GAApB,UAAqB,eAAuB;QAC1C,IAAI,eAAe,IAAI,SAAS,IAAI,IAAI,CAAC,yBAAyB;eAC7D,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,iFAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC/H,iCAAiC;YAEjC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACjD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;SACxD;aACI,IAAI,eAAe,IAAI,SAAS,IAAI,IAAI,CAAC,yBAAyB;eAClE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,iFAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC/H,iCAAiC;YAEjC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACjD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;SACxD;IACH,CAAC;IAID,+CAAM,GAAN;QAEE,IAAI,yFAAgB,CAAC,qCAAqC,IAAI,sGAAqC,CAAC,kBAAkB,EAAE;YACtH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,yBAAyB,CAAC,CAAC,CAAC;SACnE;aACI,IAAI,yFAAgB,CAAC,qCAAqC,IAAI,sGAAqC,CAAC,WAAW,EAAE;YACpH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;SAClD;aACI;YACH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;SAClD;IACH,CAAC;IAID,+DAAsB,GAAtB;QAAA,iBAoEC;QAlEC,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE;YAEjC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,8CAA8C,EAAE,IAAI,EACrE,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7E,OAAO;SACR;aACI;YAEH,IAAI,iFAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;gBACnF,iFAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;gBACjF,iFAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE;gBAEnF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iDAAiD,EAAE,IAAI,EACxE,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC7E,OAAO;aACR;YAGD,IAAI,eAAe,GAAG,EAAE,CAAC;YAEzB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;YAChE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;YAChE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;YAGhE,eAAe,GAAG,iFAAW,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;YAE9D,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,0CAA0C,EAAE,IAAI,EACjE,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC7E,OAAO;aACR;YAED,IAAI,aAAa,GAAG,IAAI,8EAAoB,EAAE,CAAC;YAE/C,IAAI,8EAAW,CAAC,0BAA0B,EAAE;gBAC1C,aAAa,CAAC,MAAM,GAAG,8EAAW,CAAC,0BAA0B,CAAC,MAAM,CAAC;aACtE;iBACI;gBACH,aAAa,CAAC,MAAM,GAAG,8EAAW,CAAC,qBAAqB,CAAC;aAC1D;YAED,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,KAAI,CAAC,yBAAyB,CAAC,UAAU;gBAC1H,CAAC,CAAC,UAAU,IAAI,KAAI,CAAC,yBAAyB,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,IAAI,KAAI,CAAC,yBAAyB,CAAC,UAAU,EADrD,CACqD,CAAC,CAAC;YAG1H,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,KAAI,CAAC,yBAAyB,CAAC,UAAU,EAAzD,CAAyD,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;YACvJ,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,KAAI,CAAC,yBAAyB,CAAC,UAAU,EAAzD,CAAyD,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;YACvJ,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,KAAI,CAAC,yBAAyB,CAAC,UAAU,EAAzD,CAAyD,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;YAGvJ,IAAI,CAAC,mBAAmB,GAAG,aAAa,CAAC;YAGzC,IAAI,yFAAgB,CAAC,qCAAqC,IAAI,sGAAqC,CAAC,WAAW,EAC7G;gBACA,wDAAwD;gBACxD,OAAO;aACR;YAED,0BAA0B;YAC1B,IAAI,CAAC,aAAa,EAAE,CAAC;SAEtB;IACH,CAAC;IAKD,sDAAa,GAAb;QAAA,iBA4CC;QA1CC,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,IAAI,CAAC,mBAAmB,CAAC,GAAG,GAAG,KAAK;QACpC,IAAI,CAAC,mBAAmB,CAAC,SAAS,GAAG,8EAAW,CAAC,qBAAqB,CAAC;QACvE,IAAI,CAAC,mBAAmB,CAAC,UAAU,GAAG,8EAAW,CAAC,iBAAiB,CAAC;QAGpE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC;YACjC,SAAS,EAAE,8EAAW,CAAC,qBAAqB;YAC5C,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,UAAU;YAC/C,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,SAAS;YAC7C,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,SAAS;YAC7C,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC,SAAS;YAChD,GAAG,EAAE,IAAI,CAAC,mBAAmB,CAAC,GAAG;YACjC,kBAAkB,EAAE,IAAI,CAAC,mBAAmB,CAAC,SAAS;SACvD,CAAC;aACC,IAAI,CACH,kBAAQ;YAEN,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAE5B,IAAI,QAAQ,CAAC,YAAY,IAAI,8EAAa,CAAC,OAAO;gBAChD,CAAC,QAAQ,CAAC,YAAY,IAAI,8EAAa,CAAC,cAAc,IAAI,kFAAgB,CAAC,8BAA8B,CAAC,EAAE;gBAC5G,yFAAgB,CAAC,uDAAuD,GAAG,IAAI,CAAC;gBAChF,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,kBAAkB,CAAC,CAAC,CAAC;aAC5D;iBACI;gBACH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;aACzI;QAEH,CAAC,EACD,UAAC,KAAK;YACJ,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,2EAAS,CAAC,sBAAsB,EAAE;gBAC7D,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,2EAAS,CAAC,wBAAwB,EACnD,IAAI,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;aACtF;YACD,4IAA4I;YAC5I,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC9B,CAAC,CACF,CAAC;IACN,CAAC;IAhYU,8BAA8B;QAJ1C,+DAAS,CAAC;;;SAGV,CAAC;yCA2B4B,sDAAM,EAAoB,6DAAW,EAAuB,0DAAW;YACzE,qFAAc;YACvB,2EAAoB,EAAuB,8EAAW,EAAiB,+DAAiB;OA5B9F,8BAA8B,CAkY1C;IAAD,qCAAC;CAAA;AAlY0C;;;;;;;;;;;;ACvB3C,mCAAmC,8BAA8B,uBAAuB,qBAAqB,GAAG,iBAAiB,qBAAqB,GAAG,wCAAwC,sBAAsB,GAAG,qBAAqB,qCAAqC,GAAG,qBAAqB,8BAA8B,uBAAuB,qBAAqB,GAAG,iBAAiB,qBAAqB,GAAG,wCAAwC,sBAAsB,GAAG,qBAAqB,qCAAqC,GAAG,gBAAgB,uBAAuB,mCAAmC,gBAAgB,wBAAwB,qBAAqB,oBAAoB,qBAAqB,GAAG,oBAAoB,+BAA+B,gBAAgB,oBAAoB,cAAc,GAAG,4BAA4B,mBAAmB,mBAAmB,GAAG,gCAAgC,wBAAwB,mCAAmC,gBAAgB,oBAAoB,sBAAsB,wBAAwB,GAAG,uCAAuC,wBAAwB,kCAAkC,oBAAoB,gBAAgB,mBAAmB,GAAG,oCAAoC,mCAAmC,oBAAoB,gBAAgB,GAAG,0BAA0B,iBAAiB,mBAAmB,uBAAuB,qBAAqB,oBAAoB,mBAAmB,oBAAoB,gBAAgB,iBAAiB,GAAG,0CAA0C,2BAA2B,kCAAkC,kBAAkB,sBAAsB,kBAAkB,sBAAsB,KAAK,KAAK,0CAA0C,2BAA2B,kCAAkC,KAAK,KAAK,SAAS,kBAAkB,kBAAkB,4BAA4B,GAAG,+CAA+C,28H;;;;;;;;;;;ACA/6D,uGAAuG,4BAA4B,2UAA2U,8IAA8I,iBAAiB,0EAA0E,8lDAA8lD,qEAAqE,4LAA4L,8BAA8B,iBAAiB,kBAAkB,eAAe,UAAU,gBAAgB,sBAAsB,eAAe,kBAAkB,gBAAgB,kHAAkH,eAAe,YAAY,gBAAgB,sUAAsU,oBAAoB,oHAAoH,MAAM,mTAAmT,6BAA6B,iBAAiB,eAAe,UAAU,gBAAgB,sBAAsB,eAAe,kBAAkB,iBAAiB,iGAAiG,eAAe,kPAAkP,gBAAgB,sEAAsE,iBAAiB,kBAAkB,8BAA8B,eAAe,uBAAuB,iFAAiF,6SAA6S,mFAAmF,0IAA0I,kBAAkB,mBAAmB,mEAAmE,8WAA8W,i3BAAi3B,kBAAkB,yCAAyC,uDAAuD,kBAAkB,2QAA2Q,4DAA4D,kBAAkB,yRAAyR,kBAAkB,6JAA6J,uDAAuD,kBAAkB,2PAA2P,uDAAuD,kBAAkB,oWAAoW,uDAAuD,kBAAkB,gYAAgY,4DAA4D,kBAAkB,8lBAA8lB,wDAAwD,aAAa,oEAAoE,aAAa,0DAA0D,gBAAgB,iBAAiB,0DAA0D,cAAc,oQAAoQ,2FAA2F,mBAAmB,oBAAoB,kBAAkB,qBAAqB,iZAAiZ,oBAAoB,YAAY,gBAAgB,oOAAoO,mBAAmB,kBAAkB,YAAY,gBAAgB,ijCAAijC,yGAAyG,aAAa,aAAa,gBAAgB,iBAAiB,+GAA+G,mBAAmB,gBAAgB,iBAAiB,aAAa,iBAAiB,cAAc,gBAAgB,iBAAiB,cAAc,oJAAoJ,iBAAiB,aAAa,iBAAiB,aAAa,gBAAgB,iBAAiB,kBAAkB,WAAW,kBAAkB,iBAAiB,kBAAkB,iKAAiK,8BAA8B,wEAAwE,mBAAmB,oBAAoB,6hBAA6hB,oBAAoB,YAAY,gBAAgB,kNAAkN,mBAAmB,kBAAkB,YAAY,gBAAgB,0MAA0M,8BAA8B,wEAAwE,mBAAmB,oBAAoB,sfAAsf,oBAAoB,YAAY,gBAAgB,kNAAkN,mBAAmB,kBAAkB,YAAY,gBAAgB,0MAA0M,8BAA8B,wEAAwE,mBAAmB,oBAAoB,yXAAyX,oBAAoB,YAAY,gBAAgB,kNAAkN,mBAAmB,kBAAkB,YAAY,gBAAgB,0MAA0M,8BAA8B,wEAAwE,mBAAmB,oBAAoB,ggBAAggB,oBAAoB,YAAY,gBAAgB,oNAAoN,mBAAmB,kBAAkB,YAAY,gBAAgB,4NAA4N,8BAA8B,cAAc,wEAAwE,mBAAmB,oBAAoB,kNAAkN,glBAAglB,mFAAmF,0IAA0I,kBAAkB,mBAAmB,mEAAmE,8WAA8W,qNAAqN,+FAA+F,4ZAA4Z,8BAA8B,cAAc,4DAA4D,mBAAmB,oBAAoB,0BAA0B,2DAA2D,gOAAgO,kBAAkB,8NAA8N,0RAA0R,aAAa,qBAAqB,iNAAiN,+BAA+B,mUAAmU,mFAAmF,0IAA0I,kBAAkB,mBAAmB,mEAAmE,mNAAmN,iBAAiB,eAAe,0KAA0K,eAAe,gdAAgd,+FAA+F,kQAAkQ,8BAA8B,cAAc,yFAAyF,mBAAmB,oBAAoB,0BAA0B,iTAAiT,shBAAshB,gBAAgB,iBAAiB,0KAA0K,8BAA8B,oBAAoB,cAAc,qBAAqB,iFAAiF,8BAA8B,0KAA0K,8BAA8B,oBAAoB,cAAc,qBAAqB,kFAAkF,8BAA8B,6FAA6F,qaAAqa,YAAY,6bAA6b,mBAAmB,+LAA+L,4VAA4V,aAAa,qBAAqB,iBAAiB,qQAAqQ,+BAA+B,0YAA0Y,mFAAmF,0IAA0I,kBAAkB,mBAAmB,mEAAmE,sNAAsN,iBAAiB,eAAe,0KAA0K,eAAe,kEAAkE,8BAA8B,cAAc,mPAAmP,uNAAuN,waAAwa,YAAY,8bAA8b,mBAAmB,+MAA+M,aAAa,qBAAqB,iBAAiB,6QAA6Q,+BAA+B,4RAA4R,4BAA4B,IAAI,iBAAiB,gC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACMhu6B;AACkB;AAC2B;AACN;AAEW;AAER;AACG;AAK1B;AACoB;AACS;AACpB;AACoB;AACK;AACA;AACtB;AAEkB;AASxE;IA2CE,wBACU,WAAwB,EACxB,MAAc,EACd,KAAwB,EACxB,KAA2B,EAC3B,WAAwB,EACxB,cAA8B,EAC9B,SAAsB,EACtB,UAAqB,EACrB,kBAAsC,EACtC,eAA+B;QAVzC,iBA2DC;QA1DS,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAmB;QACxB,UAAK,GAAL,KAAK,CAAsB;QAC3B,gBAAW,GAAX,WAAW,CAAa;QACxB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,cAAS,GAAT,SAAS,CAAa;QACtB,eAAU,GAAV,UAAU,CAAW;QACrB,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,oBAAe,GAAf,eAAe,CAAgB;QA3CzC,oBAAe,GAAG;YAChB,YAAY,EAAE,GAAG;YACjB,cAAc,EAAE,GAAG;YACnB,eAAe,EAAE,GAAG;YACpB,QAAQ,EAAE,GAAG;YACb,WAAW,EAAE,GAAG;SACjB,CAAC;QAEF,iBAAY,GAAY,KAAK,CAAC;QAqB9B,0BAAqB,GAAW,CAAC,CAAC;QAgBhC,YAAY,CAAC,KAAK,EAAE,CAAC;QAErB,IAAI;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;SACxB;QAAC,OAAO,KAAK,EAAE,GAAE;QAEnB,QAAQ,CAAC,KAAK,GAAG,uBAAuB,CAAC;QAEzC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC3C,MAAM,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACjC,QAAQ,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SACpC,CAAC,CAAC;QAEH,IAAI,kFAAgB,CAAC,gCAAgC,EAAE;YACrD,IAAI,CAAC,SAAS,CAAC,IAAI,CACjB,+CAA+C,EAC/C,IAAI,EACJ,EAAE,QAAQ,EAAE,KAAK,EAAE,CACpB,CAAC;YACF,kFAAgB,CAAC,gCAAgC,GAAG,KAAK,CAAC;SAC3D;QAED,IAAI,kFAAgB,CAAC,eAAe,EAAE;YACpC,kFAAgB,CAAC,eAAe,GAAG,KAAK,CAAC;YACzC,IAAI,CAAC,SAAS;iBACX,IAAI,CAAC,2EAAS,CAAC,sBAAsB,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;iBAClE,QAAQ,EAAE;iBACV,SAAS,CAAC,cAAM,QAAC,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC,EAA7B,CAA6B,CAAC,CAAC;YAClD,OAAO;SACR;QAED,IAAI,kFAAgB,CAAC,cAAc,EAAE;YACnC,kFAAgB,CAAC,cAAc,GAAG,KAAK,CAAC;YACxC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,2EAAS,CAAC,4BAA4B,EAAE,IAAI,EAAE;gBAChE,QAAQ,EAAE,MAAM;aACjB,CAAC,CAAC;YACH,OAAO;SACR;QAED,iFAAW,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC/C,iFAAW,CAAC,mBAAmB,EAAE,CAAC;QAGlC,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;QACb,sBAAsB;QACrB,sBAAsB;IACxB,CAAC;IAED,iCAAQ,GAAR;QACE,6EAA6E;QAC7E,iDAAiD;QACjD,8DAA8D;QAC9D,uBAAuB;QACvB,IAAI;QAEJ,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACzC,GAAG,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SAC/B,CAAC,CAAC;QAEH,8EAAW,CAAC,yCAAyC,GAAG,IAAI,CAAC;QAC7D,8EAAW,CAAC,mBAAmB,GAAG,IAAI,CAAC;QACvC,IAAI,8EAAW,CAAC,uBAAuB,EAAE;YACvC,IAAI,CAAC,eAAe;iBACjB,cAAc,EAAE;iBAChB,IAAI,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;YACpD,CAAC,CAAC;iBACD,KAAK,CAAC,UAAC,GAAG;gBACT,cAAO,CAAC,GAAG,CAAC,6CAA6C,GAAG,GAAG,CAAC;YAAhE,CAAgE,CACjE,CAAC;SACL;QACD,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,UAAU,CAAC;YACT,kBAAkB,CAAC,mBAAmB,GAAG,KAAK,CAAC;YAC/C,kBAAkB,CAAC,eAAe,GAAG,KAAK,CAAC;YAC3C,kBAAkB,CAAC,SAAS,GAAG,KAAK,CAAC;YAErC,cAAc,CAAC,UAAU,WAAW,EAAE,GAAG;gBACvC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;gBAChC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC;gBAC1B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,cAAc,EAAE;oBAC5D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;iBAC3B;gBACD,IAAI,wBAAwB,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC;gBACvE,IAAI,wBAAwB,IAAI,wBAAwB,CAAC,QAAQ,EAAE;oBACjE,IAAI,CAAC,QAAQ,GAAG,wBAAwB,CAAC,QAAQ,CAAC;iBACnD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,oDAAoD;IAEtD,CAAC;IAED,0CAAiB,GAAjB;QACE,uFAAuF;QACvF,IAAM,eAAe,GACnB,yEAAyE,CAAC;QAC5E,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IACD,iDAAwB,GAAxB;QACE,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;IACzC,CAAC;IAED,kCAAS,GAAT;QAAA,iBA+BC;QA9BC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,SAAS;iBACX,IAAI,CACH,sEAAsE,EACtE,KAAK,EACL,EAAE,QAAQ,EAAE,KAAK,EAAE,CACpB;iBACA,QAAQ,EAAE;iBACV,SAAS,CAAC,cAAM,QAAC,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC,EAA7B,CAA6B,CAAC,CAAC;YAClD,OAAO;SACR;QACD,4BAA4B;QAC5B,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,IACE,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK;YAC1B,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK;gBACxB,CAAC,iFAAW,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM;oBACpE,CAAC;oBACD,iFAAW,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC;yBAC7D,MAAM,GAAG,CAAC,CAAC,CAAC,EACnB;YACA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,kCAAkC,CAAC,CAAC;SAC5D;aAAM;YACL,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAID,eAAe;IACf,mCAAmC;IACnC,mBAAmB;IACnB,0BAA0B;IAC1B,MAAM;IACN,mBAAmB;IACnB,IAAI;IAEJ,6BAAI,GAAJ;QACE,IAAI,MAAM,GAAG;YACX,GAAG,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE;SAEnC,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;QAEnB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,kBAAkB;IAClB,sBAAsB;IACtB,kBAAkB;IAClB,+BAA+B;IAC/B,YAAY;IACZ,UAAU;IACV,iBAAiB;IACjB,YAAY;IACZ,kDAAkD;IAClD,iFAAiF;IACjF,6BAA6B;IAC7B,uBAAuB;IACvB,WAAW;IACX,qCAAqC;IACrC,yBAAyB;IACzB,SAAS;IACT,qCAAqC;IACrC,6CAA6C;IAC7C,6BAA6B;IAC7B,YAAY;IACZ,mBAAmB;IACnB,cAAc;IACd,0BAA0B;IAC1B,sBAAsB;IACtB,eAAe;IACf,YAAY;IACZ,UAAU;IACV,sBAAsB;IACtB,0CAA0C;IAC1C,QAAQ;IACR,wBAAwB;IACxB,WAAW;IACX,IAAI;IAEJ,mBAAmB;IACnB,oBAAoB;IACpB,oBAAoB;IACpB,+BAA+B;IAC/B,6CAA6C;IAC7C,qCAAqC;IACrC,YAAY;IACZ,yHAAyH;IACzH,oBAAoB;IACpB,6BAA6B;IAC7B,kCAAkC;IAClC,wBAAwB;IACxB,WAAW;IACX,IAAI;IAEJ,yCAAgB,GAAhB;QAAA,iBA6KC;QA5KC,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,8EAAW,CAAC,qBAAqB;YAC/B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;QAE/C,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,8EAAW,CAAC,qBAAqB,CAAC,CAAC;QACtE,8EAAW,CAAC,qBAAqB,GAAG,iFAAW,CAAC,iBAAiB,EAAE,CAAC;QAEpE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW;aAC7B,gBAAgB,CAAC;YAChB,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE;YAC3D,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE;YAC/D,eAAe,EAAE,IAAI;YACrB,cAAc,EAAE,IAAI,CAAC,QAAQ;YAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,8EAAW,CAAC,qBAAqB;SAC7C,CAAC;aACD,SAAS,CACR,UAAC,QAAQ;YACP,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAE5B,IAAI,QAAQ,CAAC,YAAY,IAAI,8EAAa,CAAC,mBAAmB,EAAE;gBAC9D,KAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC7B,OAAO;aACR;YAED,IAAI,CAAC,8EAAW,CAAC,0BAA0B,EAAE;gBAC3C,8EAAW,CAAC,0BAA0B,GAAG,IAAI,iEAAO,EAAE,CAAC;aACxD;YAED,KAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;YAEpC,8EAAW,CAAC,0BAA0B,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC9D,8EAAW,CAAC,0BAA0B,CAAC,MAAM;gBAC3C,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;YAC/C,8EAAW,CAAC,0BAA0B,CAAC,sBAAsB;gBAC3D,QAAQ,CAAC,sBAAsB,CAAC;YAClC,8EAAW,CAAC,0BAA0B,CAAC,sBAAsB;gBAC3D,QAAQ,CAAC,mBAAmB,CAAC;YAC/B,8EAAW,CAAC,0BAA0B,CAAC,mBAAmB;gBACxD,QAAQ,CAAC,gBAAgB,CAAC;YAC5B,8EAAW,CAAC,0BAA0B,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;YACtE,8EAAW,CAAC,0BAA0B,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;YACpE,8EAAW,CAAC,0BAA0B,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;YACtE,8EAAW,CAAC,0BAA0B,CAAC,WAAW;gBAChD,QAAQ,CAAC,WAAW,CAAC;YACvB,8EAAW,CAAC,0BAA0B,CAAC,kBAAkB;gBACvD,QAAQ,CAAC,kBAAkB,CAAC;YAC9B,8EAAW,CAAC,0BAA0B,CAAC,WAAW;gBAChD,QAAQ,CAAC,WAAW,CAAC;YACvB,8EAAW,CAAC,0BAA0B,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7D,8EAAW,CAAC,0BAA0B,CAAC,WAAW;gBAChD,QAAQ,CAAC,YAAY,CAAC;YAExB,8EAAW,CAAC,0BAA0B,CAAC,mBAAmB;gBACxD,QAAQ,CAAC,YAAY,IAAI,OAAO;oBAC9B,CAAC,CAAC,kFAAgB,CAAC,gCAAgC;oBACnD,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC5B,8EAAW,CAAC,0BAA0B,CAAC,kBAAkB;gBACvD,QAAQ,CAAC,kBAAkB,IAAI,OAAO;oBACpC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAClC,KAAI,CAAC,WAAW,CAAC,kBAAkB,CACjC,8EAAW,CAAC,0BAA0B,CAAC,kBAAkB,CAC1D,CAAC;YAEF,IAAI,QAAQ,IAAI,QAAQ,CAAC,YAAY,IAAI,IAAI,EAAE;gBAC7C,QAAQ,CAAC,YAAY,GAAG,8EAAa,CAAC,OAAO,CAAC;aAC/C;YAED,IACE,QAAQ,CAAC,YAAY,IAAI,8EAAa,CAAC,OAAO;gBAC9C,QAAQ,CAAC,YAAY;oBACnB,8EAAa,CAAC,6BAA6B;gBAC7C,QAAQ,CAAC,YAAY;oBACnB,8EAAa,CAAC,wCAAwC;gBACxD,QAAQ,CAAC,YAAY,IAAI,8EAAa,CAAC,0BAA0B,EACjE;gBACA,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC;gBAExC,IACE,QAAQ,CAAC,YAAY;oBACnB,8EAAa,CAAC,6BAA6B;oBAC7C,QAAQ,CAAC,YAAY;wBACnB,8EAAa,CAAC,wCAAwC,EACxD;oBACA,8EAAW,CAAC,0BAA0B,CAAC,aAAa,GAAG,IAAI,CAAC;iBAC7D;gBAED,aAAa;gBACb,IACE,CAAC,QAAQ,CAAC,YAAY,IAAI,8EAAa,CAAC,OAAO;oBAC7C,QAAQ,CAAC,YAAY;wBACnB,8EAAa,CAAC,0BAA0B,CAAC;oBAC7C,CAAC,iFAAW,CAAC,mBAAmB,CAC9B,8EAAW,CAAC,0BAA0B,CAAC,WAAW,CACnD;oBACD,8EAAW,CAAC,0BAA0B,CAAC,WAAW,IAAI,OAAO;oBAC7D,CAAC,iFAAW,CAAC,mBAAmB,CAC9B,8EAAW,CAAC,0BAA0B,CAAC,kBAAkB,CAC1D,EACD;oBACA,8EAAW,CAAC,qBAAqB,GAAG,QAAQ,CAAC,KAAK,CAAC;oBACnD,8EAAW,CAAC,mBAAmB,GAAG,IAAI,CAAC;oBACvC,IACE,QAAQ,CAAC,YAAY;wBACrB,8EAAa,CAAC,0BAA0B,EACxC;wBACA,8EAAW,CAAC,mBAAmB,GAAG,KAAK,CAAC;qBACzC;oBAED,kEAAkE;oBAElE,qDAAqD;oBAErD,4CAA4C;oBAC5C,6BAA6B;oBAC7B,qGAAqG;oBACrG,QAAQ;oBACR,MAAM;oBACN,IAAI;oBAEJ,KAAI,CAAC,WAAW,CAAC,6BAA6B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAE/D,IAAI,CAAC,8EAAW,CAAC,uBAAuB,EAAE,EAAE;wBAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;wBACjD,OAAO;qBACR;oBAED,IAAI,CAAC,8BAA8B,EAAE,CAAC;oBACtC,OAAO;iBACR;gBAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,kBAAkB,CAAC,CAAC,CAAC;aAC5D;iBAAM,IACL,QAAQ,CAAC,YAAY,IAAI,8EAAa,CAAC,sBAAsB,EAC7D;gBACA,8EAAW,CAAC,0BAA0B,CAAC,iBAAiB;oBACtD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC;gBACjD,kFAAgB,CAAC,qCAAqC;oBACpD,sGAAqC,CAAC,WAAW,CAAC;gBACpD,8EAAW,CAAC,mBAAmB,GAAG,KAAK,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,yBAAyB,CAAC,CAAC,CAAC;aACnE;iBAAM,IACL,QAAQ,CAAC,YAAY;gBACrB,8EAAa,CAAC,uCAAuC,EACrD;gBACA,8EAAW,CAAC,0BAA0B,CAAC,iBAAiB;oBACtD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC;gBACjD,kFAAgB,CAAC,qCAAqC;oBACpD,sGAAqC,CAAC,WAAW,CAAC;gBACpD,8EAAW,CAAC,mBAAmB,GAAG,KAAK,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;oBACnB,oFAAe,CAAC,mCAAmC;iBACpD,CAAC,CAAC;aACJ;iBAAM;gBACL,KAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC;aAC1D;QACH,CAAC,EACD,UAAC,KAAU;YACT,8DAA8D;YAC9D,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,2EAAS,CAAC,sBAAsB,EAAE;gBAC7D,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,2EAAS,CAAC,wBAAwB,EAAE,IAAI,EAAE;oBAC5D,gBAAgB,EAAE,QAAQ;oBAC1B,kBAAkB,EAAE,OAAO;oBAC3B,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,8EAAW,CAAC,mBAAmB,GAAG,KAAK,CAAC;QAC1C,CAAC,CACF,CAAC;IACN,CAAC;IAED,uDAA8B,GAA9B;QAAA,iBAqDC;QApDC,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,WAAW;aACjD,8BAA8B,CAC7B,8EAAW,CAAC,sBAAsB,CAAC,MAAM,EACzC,8EAAW,CAAC,sBAAsB,CAAC,KAAK,CACzC;aACA,SAAS,CACR,UAAC,QAAQ;YACP,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAE5B,IAAI,QAAQ,CAAC,YAAY,IAAI,8EAAa,CAAC,OAAO,EAAE;gBAClD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAE3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC;aAC1D;iBAAM;gBACL,IAAI,iFAAW,CAAC,cAAc,EAAE,EAAE;oBAChC,IAAI,CAAC,mBAAmB,GAAG,iFAAW,CAAC,cAAc,CACnD,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,wBAAwB,EAC7B,KAAI,CAAC,UAAU,EACf,IAAI,EACJ,GAAG,CACJ,CAAC;iBACH;qBAAM;oBACL,KAAI,CAAC,mBAAmB,GAAG,iFAAW,CAAC,cAAc,CACnD,KAAI,CAAC,mBAAmB,EACxB,KAAI,CAAC,wBAAwB,EAC7B,KAAI,CAAC,UAAU,EACf,IAAI,EACJ,EAAE,CACH,CAAC;iBACH;aACF;QACH,CAAC,EACD,UAAC,KAAU;YACT,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,2EAAS,CAAC,sBAAsB,EAAE;gBAC7D,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,2EAAS,CAAC,wBAAwB,EAAE,IAAI,EAAE;oBAC5D,gBAAgB,EAAE,QAAQ;oBAC1B,kBAAkB,EAAE,OAAO;oBAC3B,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC3D,CAAC,EACD;YACE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC9B,CAAC,CACF,CAAC;IACN,CAAC;IAED,8CAAqB,GAArB;QACE,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,iFAAW,CAAC,cAAc,EAAE,EAAE;YAChC,IAAI,CAAC,4BAA4B,GAAG,iFAAW,CAAC,cAAc,CAC5D,IAAI,CAAC,4BAA4B,EACjC,IAAI,CAAC,yBAAyB,EAC9B,IAAI,CAAC,UAAU,EACf,IAAI,EACJ,GAAG,CACJ,CAAC;SACH;aAAM;YACL,IAAI,CAAC,4BAA4B,GAAG,iFAAW,CAAC,cAAc,CAC5D,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,yBAAyB,EAC9B,IAAI,CAAC,UAAU,EACf,IAAI,EACJ,EAAE,CACH,CAAC;SACH;QACD,OAAO;IACT,CAAC;IAED,gDAAuB,GAAvB;QACE,IAAI,IAAI,CAAC,4BAA4B,EAAE;YACrC,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,CAAC;YAC1C,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;YAE/B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;SAC3B;IACH,CAAC;IAED,4CAAmB,GAAnB,UAAoB,QAAyB;QAA7C,iBAwDC;QAxDmB,2CAAyB;QAC3C,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;SAC/B;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW;aAC/B,kBAAkB,CAAC;YAClB,MAAM,EAAE,iFAAW,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;YACtE,UAAU,EAAE,+EAAc,CAAC,OAAO;YAClC,iBAAiB,EAAE,eAAe;SACnC,CAAC;aACD,SAAS,CACR,UAAC,QAAQ;YACP,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,QAAQ,CAAC,YAAY,IAAI,8EAAa,CAAC,OAAO,EAAE;gBAClD,KAAI,CAAC,4BAA4B,GAAG,QAAQ,CAAC,gBAAgB,CAAC;gBAC9D,KAAI,CAAC,4BAA4B,GAAG,QAAQ,CAAC,mBAAmB,CAAC;gBACjE,KAAI,CAAC,wBAAwB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;gBAE7D,IAAI,QAAQ,IAAI,IAAI,EAAE;oBACpB,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,wBAAwB,EAAE,IAAI,EAAE;wBAClD,gBAAgB,EAAE,QAAQ;wBAC1B,kBAAkB,EAAE,OAAO;wBAC3B,QAAQ,EAAE,IAAI;qBACf,CAAC,CAAC;iBACJ;qBAAM;oBACL,KAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;iBAChC;gBAED,OAAO;aACR;YAED,KAAI,CAAC,SAAS,CAAC,IAAI,CACjB,8DAA8D,EAC9D,IAAI,EACJ;gBACE,gBAAgB,EAAE,KAAK;gBACvB,kBAAkB,EAAE,OAAO;gBAC3B,QAAQ,EAAE,IAAI;aACf,CACF,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QAC7B,CAAC,EACD,UAAC,KAAU;YACT,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,2EAAS,CAAC,wBAAwB,EAAE,IAAI,EAAE;gBAC5D,gBAAgB,EAAE,KAAK;gBACvB,kBAAkB,EAAE,OAAO;gBAC3B,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;QACL,CAAC,CACF,CAAC;IACN,CAAC;IAED,qCAAY,GAAZ;QAAA,iBAoMC;QAnMC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE;YAC/D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mCAAmC,EAAE,IAAI,EAAE;gBAC7D,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;YACH,OAAO;SACR;QAED,IACE,iFAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;YACrE,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK;gBACnC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,EACnD;YACA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,oCAAoC,EAAE,IAAI,EAAE;gBAC9D,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;YACH,OAAO;SACR;QAED,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,8EAAW,CAAC,qBAAqB;YAC/B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;QAE/C,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,8EAAW,CAAC,qBAAqB,CAAC,CAAC;QAEtE,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;SAC7B;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW;aAC7B,gBAAgB,CAAC;YAChB,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE;YAC3D,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE;YAC/D,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK;YAC5C,YAAY,EAAE,IAAI,CAAC,wBAAwB;YAC3C,eAAe,EAAE,IAAI;SACtB,CAAC;aACD,SAAS,CACR,UAAC,QAAQ;YACP,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAE5B,IACE,CAAC,CACC,QAAQ,CAAC,YAAY,IAAI,8EAAa,CAAC,OAAO;gBAC9C,QAAQ,CAAC,YAAY;oBACnB,8EAAa,CAAC,6BAA6B;gBAC7C,QAAQ,CAAC,YAAY;oBACnB,8EAAa,CAAC,wCAAwC;gBACxD,QAAQ,CAAC,YAAY,IAAI,8EAAa,CAAC,sBAAsB;gBAC7D,QAAQ,CAAC,YAAY;oBACnB,8EAAa,CAAC,uCAAuC,CACxD,EACD;gBACA,KAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC;gBACrD,KAAI,CAAC,uBAAuB,EAAE,CAAC;gBAC/B,OAAO;aACR;YAED,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,8EAAW,CAAC,0BAA0B,EAAE;gBAC3C,8EAAW,CAAC,0BAA0B,GAAG,IAAI,iEAAO,EAAE,CAAC;aACxD;YAED,KAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;YAEpC,8EAAW,CAAC,0BAA0B,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC9D,8EAAW,CAAC,0BAA0B,CAAC,MAAM;gBAC3C,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;YAC/C,8EAAW,CAAC,0BAA0B,CAAC,sBAAsB;gBAC3D,QAAQ,CAAC,sBAAsB,CAAC;YAClC,8EAAW,CAAC,0BAA0B,CAAC,sBAAsB;gBAC3D,QAAQ,CAAC,mBAAmB,CAAC;YAC/B,8EAAW,CAAC,0BAA0B,CAAC,mBAAmB;gBACxD,QAAQ,CAAC,gBAAgB,CAAC;YAC5B,8EAAW,CAAC,0BAA0B,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;YACtE,8EAAW,CAAC,0BAA0B,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;YACpE,8EAAW,CAAC,0BAA0B,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;YACtE,8EAAW,CAAC,0BAA0B,CAAC,WAAW;gBAChD,QAAQ,CAAC,WAAW,CAAC;YACvB,8EAAW,CAAC,0BAA0B,CAAC,kBAAkB;gBACvD,QAAQ,CAAC,kBAAkB,CAAC;YAC9B,8EAAW,CAAC,0BAA0B,CAAC,WAAW;gBAChD,QAAQ,CAAC,WAAW,CAAC;YACvB,8EAAW,CAAC,0BAA0B,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7D,8EAAW,CAAC,0BAA0B,CAAC,WAAW;gBAChD,QAAQ,CAAC,YAAY,CAAC;YACxB,8EAAW,CAAC,0BAA0B,CAAC,mBAAmB;gBACxD,QAAQ,CAAC,YAAY,IAAI,OAAO;oBAC9B,CAAC,CAAC,kFAAgB,CAAC,gCAAgC;oBACnD,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC5B,8EAAW,CAAC,0BAA0B,CAAC,kBAAkB;gBACvD,QAAQ,CAAC,kBAAkB,IAAI,OAAO;oBACpC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAClC,KAAI,CAAC,WAAW,CAAC,kBAAkB,CACjC,8EAAW,CAAC,0BAA0B,CAAC,kBAAkB,CAC1D,CAAC;YAEF,IAAI,QAAQ,IAAI,QAAQ,CAAC,YAAY,IAAI,IAAI,EAAE;gBAC7C,QAAQ,CAAC,YAAY,GAAG,8EAAa,CAAC,OAAO,CAAC;aAC/C;YAED,IACE,QAAQ,CAAC,YAAY,IAAI,8EAAa,CAAC,OAAO;gBAC9C,QAAQ,CAAC,YAAY;oBACnB,8EAAa,CAAC,6BAA6B;gBAC7C,QAAQ,CAAC,YAAY;oBACnB,8EAAa,CAAC,wCAAwC,EACxD;gBACA,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC;gBAExC,IACE,QAAQ,CAAC,YAAY;oBACnB,8EAAa,CAAC,6BAA6B;oBAC7C,QAAQ,CAAC,YAAY;wBACnB,8EAAa,CAAC,wCAAwC,EACxD;oBACA,8EAAW,CAAC,0BAA0B,CAAC,aAAa,GAAG,IAAI,CAAC;iBAC7D;gBAED,8EAAW,CAAC,qBAAqB,GAAG,QAAQ,CAAC,KAAK,CAAC;gBACnD,8EAAW,CAAC,mBAAmB,GAAG,IAAI,CAAC;gBAEvC,IAAI,cAAc,GAAG,KAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,CAAC;gBAE/D,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC/C,KAAsB,UAAc,EAAd,iCAAc,EAAd,4BAAc,EAAd,IAAc,EAAE;wBAAjC,IAAI,SAAS;wBAChB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;4BACnB,KAAI,CAAC,kBAAkB,CAAC,WAAW,CACjC,SAAS,CAAC,EAAE,EACZ,aAAa,EACb,yBAAyB,CAC1B,CAAC;yBACH;qBACF;iBACF;gBAED,KAAI,CAAC,WAAW,CAAC,6BAA6B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAE/D,IAAI,CAAC,8EAAW,CAAC,uBAAuB,EAAE,EAAE;oBAC1C,KAAI,CAAC,uBAAuB,EAAE,CAAC;oBAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAEjD,OAAO;iBACR;gBAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAE3B,IAAI,CAAC,qBAAqB,GAAG,iFAAW,CAAC,MAAM,CAAC,WAAW,CACzD;oBACE,IAAI,CAAC,uBAAuB,EAAE,CAAC;oBAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBACzD,iFAAW,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBAC/D,CAAC,EACD,GAAG,CACJ,CAAC;aACH;iBAAM,IACL,QAAQ,CAAC,YAAY,IAAI,8EAAa,CAAC,sBAAsB,EAC7D;gBACA,8EAAW,CAAC,0BAA0B,CAAC,iBAAiB;oBACtD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC;gBACjD,kFAAgB,CAAC,qCAAqC;oBACpD,sGAAqC,CAAC,WAAW,CAAC;gBACpD,8EAAW,CAAC,mBAAmB,GAAG,KAAK,CAAC;gBACxC,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,yBAAyB,CAAC,CAAC,CAAC;aACnE;iBAAM,IACL,QAAQ,CAAC,YAAY;gBACrB,8EAAa,CAAC,uCAAuC,EACrD;gBACA,8EAAW,CAAC,0BAA0B,CAAC,iBAAiB;oBACtD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC;gBACjD,kFAAgB,CAAC,qCAAqC;oBACpD,sGAAqC,CAAC,WAAW,CAAC;gBACpD,8EAAW,CAAC,mBAAmB,GAAG,KAAK,CAAC;gBACxC,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;oBACnB,oFAAe,CAAC,mCAAmC;iBACpD,CAAC,CAAC;aACJ;QACH,CAAC,EACD,UAAC,KAAU;YACT,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,2EAAS,CAAC,sBAAsB,EAAE;gBAC7D,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,2EAAS,CAAC,wBAAwB,EAAE,IAAI,EAAE;oBAC5D,gBAAgB,EAAE,QAAQ;oBAC1B,kBAAkB,EAAE,OAAO;oBAC3B,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,8EAAW,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACxC,KAAI,CAAC,uBAAuB,EAAE,CAAC;QACjC,CAAC,CACF,CAAC;IACN,CAAC;IAED,uCAAc,GAAd;QACE,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,IAAI,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,GAAG,EAAE;YAC1D,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;YAEjC,IAAI,iFAAW,CAAC,cAAc,EAAE,EAAE;gBAChC,IAAI,CAAC,0BAA0B,GAAG,iFAAW,CAAC,cAAc,CAC1D,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,+BAA+B,EACpC,IAAI,CAAC,UAAU,EACf,IAAI,EACJ,GAAG,CACJ,CAAC;aACH;iBAAM;gBACL,IAAI,CAAC,0BAA0B,GAAG,iFAAW,CAAC,cAAc,CAC1D,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,+BAA+B,EACpC,IAAI,CAAC,UAAU,EACf,IAAI,EACJ,EAAE,CACH,CAAC;aACH;YAED,OAAO;SACR;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,0CAAiB,GAAjB;QACE,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,CAAC;QAExC,IAAI,iFAAW,CAAC,cAAc,EAAE,EAAE;YAChC,IAAI,CAAC,mBAAmB,GAAG,iFAAW,CAAC,cAAc,CACnD,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,wBAAwB,EAC7B,IAAI,CAAC,UAAU,EACf,IAAI,EACJ,GAAG,CACJ,CAAC;SACH;aAAM;YACL,IAAI,CAAC,mBAAmB,GAAG,iFAAW,CAAC,cAAc,CACnD,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,wBAAwB,EAC7B,IAAI,CAAC,UAAU,EACf,IAAI,EACJ,EAAE,CACH,CAAC;SACH;IACH,CAAC;IAED,sCAAa,GAAb;QACE,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,WAAW;aAChD,wBAAwB,CACvB,8EAAW,CAAC,sBAAsB,CAAC,MAAM,EACzC,8EAAW,CAAC,sBAAsB,CAAC,KAAK,EACxC,IAAI,CAAC,eAAe,CAAC,YAAY,EACjC,IAAI,CAAC,eAAe,CAAC,cAAc,EACnC,IAAI,CAAC,eAAe,CAAC,eAAe,EACpC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAC7B,IAAI,CAAC,eAAe,CAAC,WAAW,CACjC;aACA,SAAS,CACR,UAAC,QAAQ;YACP,IAAI,CAAC,kCAAkC,EAAE,CAAC;QAC5C,CAAC,EACD,UAAC,KAAU;YACT,IAAI,CAAC,kCAAkC,EAAE,CAAC;QAC5C,CAAC,EACD,cAAO,CAAC,CACT,CAAC;QAEJ,OAAO,KAAK,CAAC;IACf,CAAC;IAwBD,6BAA6B;IAC7B,6BAA6B;IAC7B,+CAA+C;IAE/C,kBAAkB;IAClB,IAAI;IAEJ,yCAAyC;IAEzC,sCAAsC;IACtC,gCAAgC;IAEhC,qBAAqB;IAErB,8EAA8E;IAC9E,gEAAgE;IAChE,oEAAoE;IACpE,aAAa;IAEb,kBAAkB;IAClB,IAAI;IAEJ,0CAAiB,GAAjB,UAAkB,KAAK;QACrB,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,eAAe,EAAE,CAAC;SACzB;QAED,IAAI,CAAC,kCAAkC,EAAE,CAAC;QAE1C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,2DAAkC,GAAlC;QACE,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;SAClC;QAED,IAAI,IAAI,CAAC,0BAA0B,EAAE;YACnC,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,CAAC;SACzC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,IAAI,CAAC,qBAAqB,GAAG,iFAAW,CAAC,MAAM,CAAC,WAAW,CAAC;YAC1D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACzD,iFAAW,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC/D,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,OAAO,KAAK,CAAC;IACf,CAAC;IAED,0CAAiB,GAAjB,UAAkB,KAAK;QACrB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,2BAA2B,CAAC,CAAC,CAAC;QAEpE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,4CAAmB,GAAnB,UAAoB,KAAK;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAElE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oCAAW,GAAX;QACE,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;SAC7B;QAED,IAAI,IAAI,CAAC,4BAA4B,EAAE;YACrC,IAAI,CAAC,4BAA4B,CAAC,WAAW,EAAE,CAAC;SACjD;QAED,IAAI,IAAI,CAAC,2BAA2B,EAAE;YACpC,IAAI,CAAC,2BAA2B,CAAC,WAAW,EAAE,CAAC;SAChD;QAED,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;SAC/B;IACH,CAAC;IAr7BD;QADC,+DAAS,CAAC,0BAA0B,CAAC;kCACZ,yDAAW;oEAAM;IAI3C;QADC,+DAAS,CAAC,iCAAiC,CAAC;kCACZ,yDAAW;2EAAM;IAQlD;QADC,+DAAS,CAAC,2BAA2B,CAAC;kCACZ,yDAAW;qEAAM;IAjCjC,cAAc;QAJ1B,+DAAS,CAAC;;;SAGV,CAAC;yCA6CuB,0DAAW;YAChB,sDAAM;YACP,+DAAiB;YACjB,2EAAoB;YACd,8EAAW;YACR,qFAAc;YACnB,6DAAW;YACV,2DAAS;YACD,oEAAkB;YACrB,8EAAc;OArD9B,cAAc,CA28B1B;IAAD,qBAAC;CAAA;AA38B0B;;;;;;;;;;;;ACrC3B,mCAAmC,8BAA8B,uBAAuB,qBAAqB,GAAG,iBAAiB,qBAAqB,GAAG,wCAAwC,sBAAsB,GAAG,qBAAqB,qCAAqC,GAAG,gCAAgC,kCAAkC,gCAAgC,4BAA4B,yCAAyC,kCAAkC,oCAAoC,GAAG,0EAA0E,gBAAgB,aAAa,8BAA8B,mBAAmB,cAAc,aAAa,uBAAuB,2BAA2B,sCAAsC,yCAAyC,6BAA6B,uBAAuB,wBAAwB,uCAAuC,yCAAyC,gCAAgC,uBAAuB,wBAAwB,2BAA2B,qBAAqB,oBAAoB,wFAAwF,kBAAkB,gCAAgC,wBAAwB,8BAA8B,yBAAyB,qBAAqB,mBAAmB,uBAAuB,iCAAiC,4BAA4B,mBAAmB,uBAAuB,iCAAiC,+CAA+C,+pG;;;;;;;;;;;ACAzjD,uGAAuG,4BAA4B,qHAAqH,mBAAmB,iBAAiB,yGAAyG,mBAAmB,oBAAoB,wHAAwH,gBAAgB,iBAAiB,8CAA8C,4EAA4E,gCAAgC,oBAAoB,cAAc,oBAAoB,sJAAsJ,iKAAiK,gCAAgC,oBAAoB,cAAc,oBAAoB,mBAAmB,+SAA+S,oyBAAoyB,i4BAAi4B,0EAA0E,grBAAgrB,gCAAgC,oBAAoB,cAAc,oBAAoB,uaAAua,oGAAoG,oUAAoU,oGAAoG,mQAAmQ,oGAAoG,6GAA6G,oGAAoG,8OAA8O,mGAAmG,goBAAgoB,oGAAoG,qRAAqR,oGAAoG,8RAA8R,oGAAoG,wOAAwO,mGAAmG,wJAAwJ,oGAAoG,yqBAAyqB,oGAAoG,uPAAuP,oGAAoG,4TAA4T,oGAAoG,wOAAwO,mGAAmG,sJAAsJ,oGAAoG,kmBAAkmB,yrBAAyrB,gCAAgC,oBAAoB,cAAc,oBAAoB,yEAAyE,4FAA4F,kEAAkE,gCAAgC,oBAAoB,cAAc,oBAAoB,y4CAAy4C,qEAAqE,41BAA41B,uDAAuD,2SAA2S,mDAAmD,wSAAwS,uDAAuD,0SAA0S,uDAAuD,0SAA0S,gDAAgD,ioCAAioC,mFAAmF,yoBAAyoB,61BAA61B,gCAAgC,oBAAoB,cAAc,qBAAqB,4EAA4E,kBAAkB,0IAA0I,gCAAgC,oBAAoB,cAAc,qBAAqB,6EAA6E,kBAAkB,+XAA+X,i3BAAi3B,mBAAmB,iBAAiB,qPAAqP,gBAAgB,iBAAiB,gDAAgD,0EAA0E,sBAAsB,kFAAkF,gCAAgC,oBAAoB,cAAc,qBAAqB,WAAW,qBAAqB,kBAAkB,8JAA8J,6P;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA55oB;AAC5C;AAC2B;AACiB;AAGvB;AAEG;AACH;AAC0D;AACjD;AACH;AACG;AACK;AAIvB;AAOrD;IAAkD,gDAAa;IAiC7D,sCAAoB,MAAc,EAAU,QAAqB,EAAU,WAAwB,EACzF,cAA8B,EAAU,UAAqB,EAC7D,KAA2B,EAAU,WAAwB,EAAU,KAAwB;QAFzG,YAIE,kBAAM,WAAW,EAAE,MAAM,CAAC,SA0B3B;QA9BmB,YAAM,GAAN,MAAM,CAAQ;QAAU,cAAQ,GAAR,QAAQ,CAAa;QAAU,iBAAW,GAAX,WAAW,CAAa;QACzF,oBAAc,GAAd,cAAc,CAAgB;QAAU,gBAAU,GAAV,UAAU,CAAW;QAC7D,WAAK,GAAL,KAAK,CAAsB;QAAU,iBAAW,GAAX,WAAW,CAAa;QAAU,WAAK,GAAL,KAAK,CAAmB;QAfzG,mCAA6B,GAAW,CAAC,CAAC;QAoBxC,KAAI,CAAC,sBAAsB,GAAG,WAAW,CAAC,KAAK,CAAC;YAC9C,SAAS,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACpC,MAAM,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SAClC,CAAC,CAAC;QAEH,KAAI,CAAC,yBAAyB,GAAG,WAAW,CAAC,KAAK,CAAC;YACjD,SAAS,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACpC,SAAS,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACpC,SAAS,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SACrC,CAAC,CAAC;QAGH,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACzC,GAAG,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SAC/B,CAAC,CAAC;QAGH,KAAI,CAAC,uBAAuB,GAAG,WAAW,CAAC,KAAK,CAAC;YAC/C,WAAW,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACtC,eAAe,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SAC3C,CAAC,CAAC;QAEH,iFAAW,CAAC,kBAAkB,EAAE,CAAC;;IACnC,CAAC;IAKD,uDAAgB,GAAhB,UAAiB,CAAC;QAChB,IAAI,GAAG,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;QAEvC,IAAI,CAAC,CAAC,QAAQ,EAAE;YACd,OAAO,KAAK,CAAC;SACd;QAED,OAAO;QACL,UAAU;QACV,CAAC,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC;YACxB,iBAAiB;YACjB,CAAC,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,CAAC;YACzB,8BAA8B;YAC9B,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE;YACjC,eAAe;YACf,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE;YACtB,wBAAwB;YACxB,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE;YACtB,qBAAqB;YACrB,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE;YACtB,cAAc;YACd,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CACvB,CAAC;IACJ,CAAC;IAID,wDAAiB,GAAjB;QACE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnD,CAAC;IAID,yDAAkB,GAAlB,UAAmB,OAAmB;QAEpC,IAAI,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE;YAErC,IAAI,iFAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBACtF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,4BAA4B,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpI,OAAO;aACR;YAED,IAAI,iFAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBACzF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mCAAmC,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3I,OAAO;aACR;YAED,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC;SAC3C;IAEH,CAAC;IAED,kEAA2B,GAA3B,UAA4B,OAAmB;QAA/C,iBAoCC;QAjCC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC,gCAAgC,CAChD;YACE,MAAM,EAAE,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK;YACzD,SAAS,EAAE,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK;YAC/D,iBAAiB,EAAE,iFAAW,CAAC,iBAAiB,EAAE;SACnD,CACF,CAAC,IAAI,CAAC,kBAAQ;YAEb,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAE5B,IAAI,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,KAAK,8EAAa,CAAC,OAAO,EAAE;gBAE5E,IAAI,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;oBACnE,KAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,eAAe,CAAC;oBAClD,KAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC;oBAElC,OAAO,CAAC,IAAI,EAAE,CAAC;oBACf,OAAO;iBACR;aACF;YAED,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,uBAAuB,CAAC;YACzD,KAAI,CAAC,kBAAkB,GAAG,iFAAW,CAAC,mBAAmB,CAAC,KAAI,CAAC,kBAAkB,EAAE,KAAI,CAAC,qBAAqB,EAAE,KAAI,CAAC,UAAU,CAAC,CAAC;QAIlI,CAAC,EACC,UAAC,KAAU;YACT,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,KAAI,CAAC,gBAAgB,GAAG,2EAAS,CAAC,wBAAwB,CAAC;YAC3D,KAAI,CAAC,kBAAkB,GAAG,iFAAW,CAAC,mBAAmB,CAAC,KAAI,CAAC,kBAAkB,EAAE,KAAI,CAAC,qBAAqB,EAAE,KAAI,CAAC,UAAU,CAAC,CAAC;QAClI,CAAC,CAAC,CAAC;IACP,CAAC;IAID,0DAAmB,GAAnB,UAAoB,OAAmB;QAErC,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,CAAC;QAEvC,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE;YAC1D,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SACjE;QAED,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IAID,+DAAwB,GAAxB,UAAyB,OAAmB;QAE1C,IAAI,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE;YAExC,IAAI,iFAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;gBAC7F,iFAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;gBAC3F,iFAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,EAC3F;gBAEA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,uCAAuC,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC/I,OAAO;aAER;YAED,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC;YACpG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC;YACpG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC;YAEpG,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,OAAO;SAER;IACH,CAAC;IAID,mEAA4B,GAA5B,UAA6B,OAAmB;QAE9C,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,CAAC;QAErC,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE;YACxD,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SAC/D;QAED,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;QAExC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACrB,CAAC;IAID,4DAAqB,GAArB,UAAsB,OAAmB;QACvC,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,IAAI,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE;YAEtC,IAAI,iFAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;gBAE5F,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,+BAA+B,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvI,OAAO;aACR;YAED,IAAI,iFAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;gBAEhG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iCAAiC,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzI,OAAO;aACR;YAED,IAAI,IAAI,CAAC,6BAA6B,GAAG,CAAC,EAAE;gBAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,uCAAuC,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC/I,OAAO;aACR;iBACI,IAAI,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,KAAK,EAAE;gBACrI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,+BAA+B,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvI,OAAO;aACR;YAED,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;SAE3B;IACH,CAAC;IAGD,kDAAW,GAAX,UAAY,OAAmB;QAA/B,iBAkCC;QAhCC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CACxD;YACE,MAAM,EAAE,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK;YACzD,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,UAAU,EAAE,+EAAc,CAAC,eAAe;SAC3C,CACF,CAAC,SAAS,CAAC,kBAAQ;YAElB,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAE5B,IAAI,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,KAAK,8EAAa,CAAC,OAAO,EAAE;gBAC5E,KAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,mBAAmB,CAAC;gBACjD,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;gBAClD,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;gBAErD,OAAO,CAAC,IAAI,EAAE,CAAC;gBAEf,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,4CAA0C,QAAQ,CAAC,mBAAmB,SAC9F,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7E,OAAO;aACR;YAED,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,uBAAuB,CAAC;YACzD,KAAI,CAAC,kBAAkB,GAAG,iFAAW,CAAC,mBAAmB,CAAC,KAAI,CAAC,kBAAkB,EAAE,KAAI,CAAC,qBAAqB,EAAE,KAAI,CAAC,UAAU,CAAC,CAAC;QAElI,CAAC,EACC,UAAC,KAAU;YACT,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,KAAI,CAAC,gBAAgB,GAAG,2EAAS,CAAC,wBAAwB,CAAC;YAC3D,KAAI,CAAC,kBAAkB,GAAG,iFAAW,CAAC,mBAAmB,CAAC,KAAI,CAAC,kBAAkB,EAAE,KAAI,CAAC,qBAAqB,EAAE,KAAI,CAAC,UAAU,CAAC,CAAC;QAClI,CAAC,CAAC,CAAC;IACP,CAAC;IAMD,iEAA0B,GAA1B,UAA2B,OAAmB;QAG5C,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAE1B,gCAAgC;QAChC,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;YAC7C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SACpD;QAED,OAAO,CAAC,QAAQ,EAAE,CAAC;IACrB,CAAC;IAID,gDAAS,GAAT;QAEE,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;YAC5B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,kCAAkC,CAAC,CAAC;SAC5D;aACI;YACH,IAAI,iFAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;gBACvE,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE;gBAC5F,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,yCAAyC,EAAE,IAAI,EAChE,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC5E,OAAO;aACR;YAED,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAKD,oDAAa,GAAb;QAAA,iBAiCC;QAhCC,IAAI,IAAI,GAAG,IAAI,CAAC;QAGhB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;YAC7B,MAAM,EAAE,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK;YACzD,aAAa,EAAE,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK;YACnE,kBAAkB,EAAE,IAAI,CAAC,iBAAiB;YAC1C,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK;YACzC,WAAW,EAAE,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;YACpE,WAAW,EAAE,IAAI,CAAC,YAAY;SAC/B,CAAC;aACC,IAAI,CACH,kBAAQ;YAEN,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAE5B,IAAI,QAAQ,CAAC,YAAY,IAAI,8EAAa,CAAC,OAAO,EAAE;gBAClD,kFAAgB,CAAC,gCAAgC,GAAG,IAAI,CAAC;gBACzD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACjD,OAAO;aACR;YAED,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,uBAAuB,CAAC;YACzD,KAAI,CAAC,kBAAkB,GAAG,iFAAW,CAAC,mBAAmB,CAAC,KAAI,CAAC,kBAAkB,EAAE,KAAI,CAAC,qBAAqB,EAAE,KAAI,CAAC,UAAU,CAAC,CAAC;QAElI,CAAC,EACD,eAAK;YACH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,2EAAS,CAAC,wBAAwB,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1I,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC9B,CAAC,CACF,CAAC;IACN,CAAC;IAID,0DAAmB,GAAnB;QACE,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;SACjC;IACH,CAAC;IAGD,4DAAqB,GAArB;QACE,IAAI,IAAI,CAAC,6BAA6B,KAAK,CAAC,EAAE;YAC5C,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;SACzC;IACH,CAAC;IAGD,+DAAwB,GAAxB;QACE,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;IACzC,CAAC;IAGD,+DAAwB,GAAxB;QACE,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;QACvC,IAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC;QACnF,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC;IAC/C,CAAC;IAKD,6DAAsB,GAAtB,UAAuB,eAAuB;QAE5C,IAAI,CAAC,6BAA6B,GAAG,CAAC,CAAC;QAEvC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9B,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;YAC3C,IAAI,CAAC,6BAA6B,GAAG,CAAC,CAAC;SACxC;aAAM;YACL,IAAI,CAAC,8BAA8B,GAAG,KAAK,CAAC;SAC7C;QAED,IAAI,iFAAW,CAAC,iCAAiC,CAAC,eAAe,CAAC,EAAE;YAClE,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;YAC3C,IAAI,CAAC,6BAA6B,IAAI,CAAC,CAAC;SACzC;aAAM;YACL,IAAI,CAAC,8BAA8B,GAAG,KAAK,CAAC;SAC7C;QAED,IAAI,iFAAW,CAAC,iCAAiC,CAAC,eAAe,CAAC,EAAE;YAClE,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;YAC3C,IAAI,CAAC,6BAA6B,IAAI,CAAC,CAAC;SACzC;aAAM;YACL,IAAI,CAAC,8BAA8B,GAAG,KAAK,CAAC;SAC7C;QAED,IAAI,iFAAW,CAAC,mBAAmB,CAAC,eAAe,CAAC,EAAE;YACpD,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;YACvC,IAAI,CAAC,6BAA6B,IAAI,CAAC,CAAC;SACzC;aAAM;YACL,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;SACzC;QAED,IAAI,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,EAAE;YAChD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,6BAA6B,IAAI,CAAC,CAAC;SACzC;aAAM;YACL,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;SACtC;IACH,CAAC;IAGD,6DAAsB,GAAtB,UAAuB,QAAgB;QACrC,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAC5B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAC1B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAC1B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAC1B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAC1B,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC7B,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAMD,wEAAiC,GAAjC,UAAkC,aAAqB;QACrD,QAAQ,aAAa,EAAE;YACrB,KAAK,CAAC;gBACJ,IAAI,CAAC,2BAA2B,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC;gBACrE,MAAM;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,2BAA2B,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC;gBACrE,MAAM;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,2BAA2B,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC;gBACrE,MAAM;SACT;IACH,CAAC;IAMD,+DAAwB,GAAxB,UAAyB,aAAqB;QAC5C,QAAQ,aAAa,EAAE;YACrB,KAAK,CAAC;gBACJ,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;gBACvC,MAAM;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC;gBACrD,MAAM;SACT;IACH,CAAC;IAGD,kDAAW,GAAX;QACE,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE;SAClC;IACH,CAAC;IArc+B;QAA/B,+DAAS,CAAC,mBAAmB,CAAC;kCAAwB,yDAAW;+EAAM;IA5B7D,4BAA4B;QAJxC,+DAAS,CAAC;;;SAGV,CAAC;yCAkC4B,sDAAM,EAAoB,6DAAW,EAAuB,0DAAW;YACzE,qFAAc,EAAsB,2DAAS;YACtD,2EAAoB,EAAuB,8EAAW,EAAiB,+DAAiB;OAnC9F,4BAA4B,CAsexC;IAAD,mCAAC;CAAA,CAteiD,8DAAa,GAse9D;AAtewC;;;;;;;;;;;;ACzBzC,mCAAmC,8BAA8B,uBAAuB,qBAAqB,GAAG,iBAAiB,qBAAqB,GAAG,wCAAwC,sBAAsB,GAAG,qBAAqB,qCAAqC,GAAG,gCAAgC,kCAAkC,gCAAgC,4BAA4B,yCAAyC,kCAAkC,oCAAoC,GAAG,0EAA0E,gBAAgB,aAAa,8BAA8B,mBAAmB,cAAc,aAAa,uBAAuB,2BAA2B,sCAAsC,yCAAyC,6BAA6B,uBAAuB,wBAAwB,uCAAuC,yCAAyC,gCAAgC,uBAAuB,wBAAwB,2BAA2B,qBAAqB,oBAAoB,kCAAkC,kBAAkB,gCAAgC,wBAAwB,8BAA8B,yBAAyB,qBAAqB,mBAAmB,uBAAuB,iCAAiC,4BAA4B,mBAAmB,uBAAuB,iCAAiC,+CAA+C,mkG;;;;;;;;;;;ACAngD,uGAAuG,4BAA4B,+HAA+H,oBAAoB,+IAA+I,oBAAoB,+NAA+N,gBAAgB,8MAA8M,8CAA8C,mCAAmC,8BAA8B,oCAAoC,6YAA6Y,kDAAkD,uCAAuC,kCAAkC,wCAAwC,uCAAuC,wuIAAwuI,eAAe,wBAAwB,qBAAqB,yBAAyB,0GAA0G,oDAAoD,oCAAoC,0CAA0C,y2CAAy2C,uOAAuO,ggEAAggE,2oCAA2oC,8DAA8D,uCAAuC,kCAAkC,wCAAwC,4iBAA4iB,8NAA8N,4cAA4c,0NAA0N,gcAAgc,0NAA0N,wSAAwS,iOAAiO,i4BAAi4B,8NAA8N,uWAAuW,0NAA0N,gcAAgc,0NAA0N,6YAA6Y,iOAAiO,q4BAAq4B,8NAA8N,mWAAmW,0NAA0N,ocAAoc,0NAA0N,6YAA6Y,iOAAiO,y3DAAy3D,8DAA8D,uCAAuC,kCAAkC,wCAAwC,2GAA2G,8KAA8K,sGAAsG,8DAA8D,uCAAuC,kCAAkC,wCAAwC,wlEAAwlE,kKAAkK,inBAAinB,iJAAiJ,mXAAmX,8GAA8G,gXAAgX,iJAAiJ,kXAAkX,iJAAiJ,kXAAkX,2GAA2G,+nDAA+nD,gLAAgL,6oDAA6oD,oDAAoD,yCAAyC,oCAAoC,2CAA2C,kHAAkH,4DAA4D,iPAAiP,oDAAoD,yCAAyC,oCAAoC,2CAA2C,mHAAmH,4DAA4D,k3DAAk3D,oBAAoB,qRAAqR,gBAAgB,gSAAgS,gDAAgD,qCAAqC,gCAAgC,uCAAuC,6BAA6B,mDAAmD,oBAAoB,ujB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAt6jC;AAC5C;AAC2B;AACiB;AAGvB;AAEG;AACH;AAC0D;AACjD;AACH;AACG;AACK;AAIvB;AACiD;AAOtG;IAA4C,0CAAa;IAsCvD,gCAAoB,MAAc,EAAU,QAAqB,EAAU,WAAwB,EACzF,cAA8B,EAAU,UAAqB,EAC7D,KAA2B,EAAU,WAAwB,EAAU,KAAwB,EAC/F,oBAAmD;QAH7D,YAME,kBAAM,WAAW,EAAE,MAAM,CAAC,SA+B3B;QArCmB,YAAM,GAAN,MAAM,CAAQ;QAAU,cAAQ,GAAR,QAAQ,CAAa;QAAU,iBAAW,GAAX,WAAW,CAAa;QACzF,oBAAc,GAAd,cAAc,CAAgB;QAAU,gBAAU,GAAV,UAAU,CAAW;QAC7D,WAAK,GAAL,KAAK,CAAsB;QAAU,iBAAW,GAAX,WAAW,CAAa;QAAU,WAAK,GAAL,KAAK,CAAmB;QAC/F,0BAAoB,GAApB,oBAAoB,CAA+B;QApB7D,mCAA6B,GAAW,CAAC,CAAC;QAC1C,0BAAoB,GAAyF;YAC3G,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE;SACnE,CAAC;QAIF,uBAAiB,GAAW,UAAU,CAAC;QAmBrC,KAAI,CAAC,sBAAsB,GAAG,WAAW,CAAC,KAAK,CAAC;YAC9C,SAAS,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACpC,MAAM,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SAClC,CAAC,CAAC;QAEH,KAAI,CAAC,yBAAyB,GAAG,WAAW,CAAC,KAAK,CAAC;YACjD,SAAS,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACpC,SAAS,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACpC,SAAS,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SACrC,CAAC,CAAC;QAEH,KAAI,CAAC,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC;YACrC,OAAO,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAClC,aAAa,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SACzC,CAAC,CAAC;QAGH,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACzC,GAAG,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SAC/B,CAAC,CAAC;QAGH,KAAI,CAAC,uBAAuB,GAAG,WAAW,CAAC,KAAK,CAAC;YAC/C,WAAW,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACtC,eAAe,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SAC3C,CAAC,CAAC;QAEH,iFAAW,CAAC,kBAAkB,EAAE,CAAC;;IACnC,CAAC;IAKD,iDAAgB,GAAhB,UAAiB,CAAC;QAChB,IAAI,GAAG,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;QAEvC,IAAI,CAAC,CAAC,QAAQ,EAAE;YACd,OAAO,KAAK,CAAC;SACd;QAED,OAAO;QACL,UAAU;QACV,CAAC,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC;YACxB,iBAAiB;YACjB,CAAC,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,CAAC;YACzB,8BAA8B;YAC9B,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE;YACjC,eAAe;YACf,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE;YACtB,wBAAwB;YACxB,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE;YACtB,qBAAqB;YACrB,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE;YACtB,cAAc;YACd,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CACvB,CAAC;IACJ,CAAC;IAID,kDAAiB,GAAjB;QACE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,gBAAgB;IAChB,4CAAW,GAAX,UAAY,OAAmB;QAC7B,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;QACnF,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;QAC7F,OAAO,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC;IAED,6CAAY,GAAZ,UAAa,OAAmB;QAAhC,iBA2CO;QAzCH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,IAAM,qBAAqB,GAAG;YAC5B,MAAM,EAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM;YACzC,GAAG,EAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK;YAC7C,aAAa,EAAE,IAAI,CAAC,oBAAoB,CAAC,aAAa;YACtD,KAAK,EAAE,WAAW;YAClB,mBAAmB,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK;SACnE;QACD,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CACvC,qBAAqB,CACpB,CAAC,SAAS,CAAC,kBAAQ;YAElB,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;YAErB,IAAI,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,KAAK,8EAAa,CAAC,OAAO,EAAE;gBAE5E,yEAAyE;gBACzE,uDAAuD;gBACvD,uCAAuC;gBAGvC,YAAY;gBACZ,IAAI;gBACJ,OAAO,CAAC,IAAI,EAAE,CAAC;gBACf,OAAM;aACP;YAED,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,uBAAuB,CAAC;YACzD,KAAI,CAAC,kBAAkB,GAAG,iFAAW,CAAC,mBAAmB,CAAC,KAAI,CAAC,kBAAkB,EAAE,KAAI,CAAC,qBAAqB,EAAE,KAAI,CAAC,UAAU,CAAC,CAAC;QAIlI,CAAC,EACC,UAAC,KAAU;YACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;YAClB,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,KAAI,CAAC,gBAAgB,GAAG,2EAAS,CAAC,wBAAwB,CAAC;YAC3D,KAAI,CAAC,kBAAkB,GAAG,iFAAW,CAAC,mBAAmB,CAAC,KAAI,CAAC,kBAAkB,EAAE,KAAI,CAAC,qBAAqB,EAAE,KAAI,CAAC,UAAU,CAAC,CAAC;QAClI,CAAC,CAAC,CAAC;IACP,CAAC;IAIP,mDAAkB,GAAlB,UAAmB,OAAmB;QAAtC,iBAwDG;QAtDD,IAAI,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE;YAErC,IAAI,iFAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBACtF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,4BAA4B,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpI,OAAO;aACR;YAED,IAAI,iFAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBACzF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mCAAmC,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3I,OAAO;aACR;YAED,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;YACnF,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;YAC7F,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CACrC;gBACE,MAAM,EAAE,IAAI,CAAC,oBAAoB,CAAC,MAAM;gBACxC,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,aAAa;aACnD,CACF,CAAC,SAAS,CAAC,kBAAQ;gBAElB,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAErB,IAAI,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,KAAK,8EAAa,CAAC,OAAO,EAAE;oBAE5E,yEAAyE;oBACzE,uDAAuD;oBACvD,uCAAuC;oBAGvC,YAAY;oBACZ,IAAI;oBACJ,OAAO,CAAC,IAAI,EAAE,CAAC;oBACf,OAAM;iBACP;gBAED,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,uBAAuB,CAAC;gBACzD,KAAI,CAAC,kBAAkB,GAAG,iFAAW,CAAC,mBAAmB,CAAC,KAAI,CAAC,kBAAkB,EAAE,KAAI,CAAC,qBAAqB,EAAE,KAAI,CAAC,UAAU,CAAC,CAAC;YAIlI,CAAC,EACC,UAAC,KAAU;gBACT,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,KAAI,CAAC,gBAAgB,GAAG,2EAAS,CAAC,wBAAwB,CAAC;gBAC3D,KAAI,CAAC,kBAAkB,GAAG,iFAAW,CAAC,mBAAmB,CAAC,KAAI,CAAC,kBAAkB,EAAE,KAAI,CAAC,qBAAqB,EAAE,KAAI,CAAC,UAAU,CAAC,CAAC;YAClI,CAAC,CAAC,CAAC;SACN;QAIH,6CAA6C;IAC/C,CAAC;IAIH,qDAAqD;IAGrD,gCAAgC;IAChC,wDAAwD;IACxD,QAAQ;IACR,mEAAmE;IACnE,yEAAyE;IACzE,2DAA2D;IAC3D,QAAQ;IACR,yBAAyB;IAEzB,mCAAmC;IAEnC,sFAAsF;IAEtF,+EAA+E;IAC/E,6DAA6D;IAC7D,6CAA6C;IAE7C,0BAA0B;IAC1B,kBAAkB;IAClB,UAAU;IACV,QAAQ;IAER,gEAAgE;IAChE,uIAAuI;IAIvI,OAAO;IACP,wBAAwB;IACxB,qCAAqC;IACrC,oEAAoE;IACpE,yIAAyI;IACzI,UAAU;IACV,IAAI;IAIJ,oDAAmB,GAAnB,UAAoB,OAAmB;QAErC,0CAA0C;QAE1C,gEAAgE;QAChE,qEAAqE;QACrE,IAAI;QAEJ,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IAED,sDAAqB,GAArB,UAAsB,OAAmB;QACvC,OAAO,CAAC,QAAQ,EAAE;IACpB,CAAC;IAID,yDAAwB,GAAxB,UAAyB,OAAmB;QAE1C,8CAA8C;QAE9C,uGAAuG;QACvG,qGAAqG;QACrG,kGAAkG;QAClG,QAAQ;QAER,sJAAsJ;QACtJ,cAAc;QAEd,MAAM;QAEN,yGAAyG;QACzG,yGAAyG;QACzG,yGAAyG;QAEzG,oBAAoB;QACpB,YAAY;QAEZ,IAAI;IAGN,CAAC;IAID,6DAA4B,GAA5B,UAA6B,OAAmB;QAE9C,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,CAAC;QAErC,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE;YACxD,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SAC/D;QAED,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;QAExC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACrB,CAAC;IAID,sDAAqB,GAArB,UAAsB,OAAmB;QACvC,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,4CAA4C;QAE5C,oGAAoG;QAEpG,8IAA8I;QAC9I,cAAc;QACd,MAAM;QAEN,wGAAwG;QAExG,gJAAgJ;QAChJ,cAAc;QACd,MAAM;QAEN,kDAAkD;QAClD,sJAAsJ;QACtJ,cAAc;QACd,MAAM;QACN,6IAA6I;QAC7I,8IAA8I;QAC9I,cAAc;QACd,MAAM;QAEN,+BAA+B;QAE/B,IAAI;QAEJ,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAGD,4CAAW,GAAX,UAAY,OAAmB;QAE/B,gCAAgC;QAChC,gEAAgE;QAChE,QAAQ;QACR,mEAAmE;QACnE,4BAA4B;QAC5B,mDAAmD;QACnD,QAAQ;QACR,8BAA8B;QAE9B,mCAAmC;QAEnC,sFAAsF;QACtF,0DAA0D;QAC1D,2DAA2D;QAC3D,8DAA8D;QAE9D,wBAAwB;QAExB,mGAAmG;QACnG,sFAAsF;QACtF,gBAAgB;QAChB,QAAQ;QAER,gEAAgE;QAChE,uIAAuI;QAEvI,OAAO;QACP,wBAAwB;QACxB,qCAAqC;QACrC,oEAAoE;QACpE,yIAAyI;QACzI,UAAU;QAEN,OAAO,CAAC,IAAI,EAAE,CAAC;IACnB,CAAC;IAMD,2DAA0B,GAA1B,UAA2B,OAAmB;QAG5C,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAE1B,gCAAgC;QAChC,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;YAC7C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SACpD;QAED,OAAO,CAAC,QAAQ,EAAE,CAAC;IACrB,CAAC;IAID,0CAAS,GAAT;QAEE,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;YAC5B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,kCAAkC,CAAC,CAAC;SAC5D;aACI;YACH,IAAI,iFAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;gBACvE,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE;gBAC5F,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,yCAAyC,EAAE,IAAI,EAChE,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC5E,OAAO;aACR;YAED,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAKD,8CAAa,GAAb;QAAA,iBAiCC;QAhCC,IAAI,IAAI,GAAG,IAAI,CAAC;QAGhB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;YAC7B,MAAM,EAAE,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK;YACzD,aAAa,EAAE,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK;YACnE,kBAAkB,EAAE,IAAI,CAAC,iBAAiB;YAC1C,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK;YACzC,WAAW,EAAE,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;YACpE,WAAW,EAAE,IAAI,CAAC,YAAY;SAC/B,CAAC;aACC,IAAI,CACH,kBAAQ;YAEN,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAE5B,IAAI,QAAQ,CAAC,YAAY,IAAI,8EAAa,CAAC,OAAO,EAAE;gBAClD,kFAAgB,CAAC,gCAAgC,GAAG,IAAI,CAAC;gBACzD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACjD,OAAO;aACR;YAED,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,uBAAuB,CAAC;YACzD,KAAI,CAAC,kBAAkB,GAAG,iFAAW,CAAC,mBAAmB,CAAC,KAAI,CAAC,kBAAkB,EAAE,KAAI,CAAC,qBAAqB,EAAE,KAAI,CAAC,UAAU,CAAC,CAAC;QAElI,CAAC,EACD,eAAK;YACH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,2EAAS,CAAC,wBAAwB,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1I,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC9B,CAAC,CACF,CAAC;IACN,CAAC;IAID,oDAAmB,GAAnB;QACE,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;SACjC;IACH,CAAC;IAGD,sDAAqB,GAArB;QACE,IAAI,IAAI,CAAC,6BAA6B,KAAK,CAAC,EAAE;YAC5C,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;SACzC;IACH,CAAC;IAGD,yDAAwB,GAAxB;QACE,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;IACzC,CAAC;IAGD,yDAAwB,GAAxB;QACE,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;QACvC,IAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC;QACnF,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC;IAC/C,CAAC;IAKD,uDAAsB,GAAtB,UAAuB,eAAuB;QAE5C,IAAI,CAAC,6BAA6B,GAAG,CAAC,CAAC;QAEvC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9B,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;YAC3C,IAAI,CAAC,6BAA6B,GAAG,CAAC,CAAC;SACxC;aAAM;YACL,IAAI,CAAC,8BAA8B,GAAG,KAAK,CAAC;SAC7C;QAED,IAAI,iFAAW,CAAC,iCAAiC,CAAC,eAAe,CAAC,EAAE;YAClE,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;YAC3C,IAAI,CAAC,6BAA6B,IAAI,CAAC,CAAC;SACzC;aAAM;YACL,IAAI,CAAC,8BAA8B,GAAG,KAAK,CAAC;SAC7C;QAED,IAAI,iFAAW,CAAC,iCAAiC,CAAC,eAAe,CAAC,EAAE;YAClE,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;YAC3C,IAAI,CAAC,6BAA6B,IAAI,CAAC,CAAC;SACzC;aAAM;YACL,IAAI,CAAC,8BAA8B,GAAG,KAAK,CAAC;SAC7C;QAED,IAAI,iFAAW,CAAC,mBAAmB,CAAC,eAAe,CAAC,EAAE;YACpD,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;YACvC,IAAI,CAAC,6BAA6B,IAAI,CAAC,CAAC;SACzC;aAAM;YACL,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;SACzC;QAED,IAAI,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,EAAE;YAChD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,6BAA6B,IAAI,CAAC,CAAC;SACzC;aAAM;YACL,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;SACtC;IACH,CAAC;IAGD,uDAAsB,GAAtB,UAAuB,QAAgB;QACrC,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAC5B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAC1B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAC1B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAC1B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAC1B,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC7B,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAMD,kEAAiC,GAAjC,UAAkC,aAAqB;QACrD,QAAQ,aAAa,EAAE;YACrB,KAAK,CAAC;gBACJ,IAAI,CAAC,2BAA2B,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC;gBACrE,MAAM;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,2BAA2B,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC;gBACrE,MAAM;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,2BAA2B,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC;gBACrE,MAAM;SACT;IACH,CAAC;IAED,iDAAgB,GAAhB,UAAiB,SAAiB,EAAE,IAAY;QAE9C,QAAQ,IAAI,EAAE;YACZ,KAAK,SAAS;gBACZ,SAAS,IAAI,UAAU;oBACrB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;oBACnC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,CAAC;gBAC1C,MAAM;SAET;IACH,CAAC;IAMD,yDAAwB,GAAxB,UAAyB,aAAqB;QAC5C,QAAQ,aAAa,EAAE;YACrB,KAAK,CAAC;gBACJ,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;gBACvC,MAAM;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC;gBACrD,MAAM;SACT;IACH,CAAC;IAGD,4CAAW,GAAX;QACE,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE;SAClC;IACH,CAAC;IA/jB+B;QAA/B,+DAAS,CAAC,mBAAmB,CAAC;kCAAwB,yDAAW;yEAAM;IAjC7D,sBAAsB;QAJlC,+DAAS,CAAC;;;SAGV,CAAC;yCAuC4B,sDAAM,EAAoB,6DAAW,EAAuB,0DAAW;YACzE,qFAAc,EAAsB,2DAAS;YACtD,2EAAoB,EAAuB,8EAAW,EAAiB,+DAAiB;YACzE,oHAA6B;OAzClD,sBAAsB,CAqmBlC;IAAD,6BAAC;CAAA,CArmB2C,8DAAa,GAqmBxD;AArmBkC;;;;;;;;;;;;AC1BnC,uBAAuB,kCAAkC,8BAA8B,GAAG,+CAA+C,ma;;;;;;;;;;;ACAzI,kGAAkG,wJAAwJ,8FAA8F,qFAAqF,8IAA8I,kBAAkB,mBAAmB,qEAAqE,yjBAAyjB,wGAAwG,4BAA4B,+JAA+J,6BAA6B,4BAA4B,6SAA6S,qTAAqT,6CAA6C,yCAAyC,uCAAuC,4BAA4B,kFAAkF,OAAO,uBAAuB,qJAAqJ,cAAc,sQAAsQ,6DAA6D,uIAAuI,KAAK,aAAa,4JAA4J,cAAc,sQAAsQ,oGAAoG,oIAAoI,KAAK,aAAa,0JAA0J,cAAc,sQAAsQ,mGAAmG,oIAAoI,KAAK,aAAa,yTAAyT,iCAAiC,oBAAoB,yDAAyD,yBAAyB,sFAAsF,iHAAiH,oaAAoa,sBAAsB,wpBAAwpB,iCAAiC,oBAAoB,yDAAyD,yBAAyB,sFAAsF,iHAAiH,saAAsa,uBAAuB,utBAAutB,iCAAiC,qBAAqB,yDAAyD,yBAAyB,4MAA4M,2WAA2W,uvBAAuvB,qBAAqB,q1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACMp+R;AACkD;AACR;AACxB;AAC2B;AACH;AACM;AACT;AACM;AAQO;AAO3E;IA6BE,yBACU,OAAe,EACf,WAAwB,EACxB,SAAsB,EACtB,UAAqB,EACrB,WAAwB,EACxB,KAAwB;QALxB,YAAO,GAAP,OAAO,CAAQ;QACf,gBAAW,GAAX,WAAW,CAAa;QACxB,cAAS,GAAT,SAAS,CAAa;QACtB,eAAU,GAAV,UAAU,CAAW;QACrB,gBAAW,GAAX,WAAW,CAAa;QACxB,UAAK,GAAL,KAAK,CAAmB;IAC/B,CAAC;IAEJ,kCAAQ,GAAR;QACE,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC5C,WAAW,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SACvC,CAAC,CAAC;QAEH,IAAI,iFAAW,CAAC,cAAc,EAAE,EAAE;YAChC,IAAI,CAAC,cAAc,GAAG,iFAAW,CAAC,cAAc,CAC9C,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,UAAU,EACf,IAAI,EACJ,EAAE,CACH,CAAC;SACH;aAAM;YACL,IAAI,CAAC,cAAc,GAAG,iFAAW,CAAC,cAAc,CAC9C,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,UAAU,EACf,IAAI,EACJ,EAAE,CACH,CAAC;SACH;IACH,CAAC;IAED,oCAAU,GAAV;QAAA,iBAwFC;QAvFC,IACE,wFAAgB,CAAC,eAAe;YAChC,wFAAgB,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAC3C;YACA,IAAI,CAAC,eAAe,GAAG,wFAAgB,CAAC,eAAe,CAAC;YAExD,IAAI,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CACnD,UAAC,CAAC,IAAK,QAAC,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,WAAW,EAAnC,CAAmC,CAC3C,CAAC;YAEF,IAAI,mBAAmB,IAAI,mBAAmB,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC1D,IAAI,CAAC,kBAAkB,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;gBACjD,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChB,OAAO;aACR;iBAAM;gBACL,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAClD,OAAO;aACR;SACF;QAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW;aAChC,SAAS,CAAC,8EAAW,CAAC,sBAAsB,CAAC,KAAK,CAAC;aACnD,SAAS,CACR,UAAC,QAAQ;YACP,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,QAAQ,CAAC,YAAY,IAAI,8EAAa,CAAC,OAAO,EAAE;gBAClD,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC9D,KAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC;oBAErC,IAAI,mBAAmB,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,CACnD,UAAC,CAAC,IAAK,QAAC,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,WAAW,EAAnC,CAAmC,CAC3C,CAAC;oBACF,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;oBAE3B,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;oBACjC,IAAI,mBAAmB,IAAI,mBAAmB,CAAC,MAAM,IAAI,CAAC,EAAE;wBAC1D,KAAI,CAAC,kBAAkB,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;wBACjD,KAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;wBAC3D,KAAI,CAAC,MAAM,GAAG,CAAC,CAAC;wBAChB,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;wBAE3B,OAAO;qBACR;iBACF;aACF;YAED,KAAI,CAAC,SAAS,CAAC,IAAI,CACjB,2CAA2C,EAC3C,IAAI,EACJ;gBACE,gBAAgB,EAAE,QAAQ;gBAC1B,kBAAkB,EAAE,OAAO;gBAC3B,QAAQ,EAAE,KAAK;aAChB,CACF,CAAC;YAEF,KAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpD,CAAC,EACD,UAAC,KAAU;YACT,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,2EAAS,CAAC,sBAAsB,EAAE;gBAC7D,KAAI,CAAC,SAAS,CAAC,IAAI,CACjB,2CAA2C,EAC3C,IAAI,EACJ;oBACE,gBAAgB,EAAE,QAAQ;oBAC1B,kBAAkB,EAAE,OAAO;oBAC3B,QAAQ,EAAE,KAAK;iBAChB,CACF,CAAC;aACH;YACD,wBAAwB;YACxB,0BAA0B;YAC1B,gDAAgD;YAEhD,6BAA6B;YAC7B,qDAAqD;YAErD,KAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpD,CAAC,CACF,CAAC;IACN,CAAC;IAED,8CAAoB,GAApB,UAAqB,gBAAsC;QACzD,IAAI,CAAC,kBAAkB,GAAG,gBAAgB,CAAC;QAC3C,IAAI,gBAAgB,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,SAAS,EAAE;YACrD,IAAI,wBAAwB,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CACxD,UAAC,CAAC,IAAK,QAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,iBAAiB,EAA/C,CAA+C,CACvD,CAAC;YAEF,IAAI,wBAAwB,IAAI,wBAAwB,CAAC,MAAM,IAAI,CAAC,EAAE;gBACpE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChB,IAAI,CAAC,uBAAuB,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAC;gBAC3D,IAAI,CAAC,mBAAmB,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAE/D,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CACjD,UAAC,CAAC,IAAK,QAAC,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,QAAQ,EAAjC,CAAiC,CACzC,CAAC;gBACF,IAAI,UAAU,IAAI,CAAC,CAAC,EAAE;oBACpB,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;iBAChD;gBACD,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;gBAE3B,OAAO;aACR;YAED,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,OAAO;SACR;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,qDAA2B,GAA3B;QACE,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QACnE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,mDAAyB,GAAzB,UAA0B,eAAqC;QAC7D,IAAI,CAAC,uBAAuB,GAAG,eAAe,CAAC;IACjD,CAAC;IAED,+CAAqB,GAArB;QACE,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CACjB,iDAAiD,EACjD,IAAI,EACJ;gBACE,gBAAgB,EAAE,KAAK;gBACvB,kBAAkB,EAAE,QAAQ;gBAC5B,QAAQ,EAAE,KAAK;aAChB,CACF,CAAC;YAEF,OAAO;SACR;QAED,IAAI,yBAAyB,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CACzD,UAAC,CAAC,IAAK,QAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,gBAAgB,EAA9C,CAA8C,CACtD,CAAC;QAEF,IAAI,yBAAyB,IAAI,yBAAyB,CAAC,MAAM,IAAI,CAAC,EAAE;YACtE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAChB,IAAI,CAAC,wBAAwB,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC;YAC7D,IAAI,CAAC,oBAAoB,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAEjE,IAAI,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAClD,UAAC,CAAC,IAAK,QAAC,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,QAAQ,EAAjC,CAAiC,CACzC,CAAC;YACF,IAAI,UAAU,IAAI,CAAC,CAAC,EAAE;gBACpB,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;aACjD;YAED,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;gBAC7B,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,QAAQ;aAChB,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YAE3B,OAAO;SACR;IACH,CAAC;IAED,0DAAgC,GAAhC;QACE,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;QAC1C,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAEhB,IAAI,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAClD,UAAC,CAAC,IAAK,QAAC,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,QAAQ,EAAjC,CAAiC,CACzC,CAAC;QACF,IAAI,UAAU,IAAI,CAAC,CAAC,EAAE;YACpB,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;SACjD;IACH,CAAC;IAED,oDAA0B,GAA1B,UAA2B,gBAAsC;QAC/D,IAAI,CAAC,wBAAwB,GAAG,gBAAgB,CAAC;QAEjD,IAAI,gBAAgB,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,QAAQ,EAAE;YACpD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YAC3B,OAAO;SACR;IACH,CAAC;IAED,2DAAiC,GAAjC;QACE,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;QAC1C,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,sBAAI,yCAAY;aAAhB;YACE,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC;QACzD,CAAC;;;OAAA;IAED,wCAAc,GAAd;QAAA,iBA8JC;QA7JC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gCAAgC,EAAE,IAAI,EAAE;gBAC1D,gBAAgB,EAAE,KAAK;gBACvB,kBAAkB,EAAE,QAAQ;gBAC5B,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;YACH,OAAO;SACR;QAED,IACE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,SAAS;YACxD,CAAC,IAAI,CAAC,uBAAuB,EAC7B;YACA,IAAI,CAAC,SAAS,CAAC,IAAI,CACjB,qDAAqD,EACrD,IAAI,EACJ;gBACE,gBAAgB,EAAE,KAAK;gBACvB,kBAAkB,EAAE,QAAQ;gBAC5B,QAAQ,EAAE,KAAK;aAChB,CACF,CAAC;YACF,OAAO;SACR;QAED,IACE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,SAAS;YACxD,CAAC,IAAI,CAAC,wBAAwB,EAC9B;YACA,IAAI,CAAC,SAAS,CAAC,IAAI,CACjB,kDAAkD,EAClD,IAAI,EACJ;gBACE,gBAAgB,EAAE,KAAK;gBACvB,kBAAkB,EAAE,QAAQ;gBAC5B,QAAQ,EAAE,KAAK;aAChB,CACF,CAAC;YACF,OAAO;SACR;QAED,IACE,IAAI,CAAC,wBAAwB;YAC7B,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,QAAQ;YAC7D,iFAAW,CAAC,mBAAmB,CAC7B,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAChD,EACD;YACA,IAAI,CAAC,SAAS,CAAC,IAAI,CACjB,kEAAkE,EAClE,IAAI,EACJ;gBACE,gBAAgB,EAAE,KAAK;gBACvB,kBAAkB,EAAE,QAAQ;gBAC5B,QAAQ,EAAE,KAAK;aAChB,CACF,CAAC;YACF,OAAO;SACR;QAED,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAE/B,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;YAC7B,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK;YACrC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI;SACvC,CAAC,CAAC;QAEH,IACE,IAAI,CAAC,wBAAwB;YAC7B,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,QAAQ,EAC7D;YACA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;gBAC7B,MAAM,EAAE,IAAI,CAAC,wBAAwB,CAAC,KAAK;gBAC3C,QAAQ,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI;aAC7C,CAAC,CAAC;SACJ;aAAM,IACL,IAAI,CAAC,wBAAwB;YAC7B,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,QAAQ,EAC7D;YACA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;gBAC7B,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;gBACvD,QAAQ,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI;aAC7C,CAAC,CAAC;SACJ;QAED,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAChC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;gBAC7B,MAAM,EAAE,IAAI,CAAC,uBAAuB,CAAC,KAAK;gBAC1C,QAAQ,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI;aAC5C,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,oBAAoB,GAAG;YAC1B,KAAK,EAAE,8EAAW,CAAC,sBAAsB,CAAC,KAAK;YAC/C,cAAc,EAAE,CAAC;YACjB,eAAe,EAAE,EAAE;YACnB,YAAY,EAAE,IAAI,CAAC,oBAAoB;SACxC,CAAC;QAEF,0CAA0C;QAC1C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,UAAU;QACV,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAC9D,UAAC,QAAQ;YACP,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAE3B,IAAI,QAAQ,CAAC,YAAY,IAAI,8EAAa,CAAC,OAAO,EAAE;gBAClD,KAAI,CAAC,SAAS,CAAC,IAAI,CACjB,gDAAgD,EAChD,IAAI,EACJ;oBACE,gBAAgB,EAAE,KAAK;oBACvB,kBAAkB,EAAE,QAAQ;oBAC5B,QAAQ,EAAE,KAAK;iBAChB,CACF,CAAC;gBAEF,wBAAwB;gBACxB,0BAA0B;gBAC1B,gDAAgD;gBAEhD,6BAA6B;aAC9B;iBAAM;gBACL,KAAI,CAAC,SAAS,CAAC,IAAI,CACjB,8CAA8C,EAC9C,IAAI,EACJ;oBACE,gBAAgB,EAAE,QAAQ;oBAC1B,kBAAkB,EAAE,OAAO;oBAC3B,QAAQ,EAAE,KAAK;iBAChB,CACF,CAAC;aACH;YAED,KAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpD,CAAC,EACD,UAAC,KAAU;YACT,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,2EAAS,CAAC,sBAAsB,EAAE;gBAC7D,KAAI,CAAC,SAAS,CAAC,IAAI,CACjB,8CAA8C,EAC9C,IAAI,EACJ;oBACE,gBAAgB,EAAE,QAAQ;oBAC1B,kBAAkB,EAAE,OAAO;oBAC3B,QAAQ,EAAE,KAAK;iBAChB,CACF,CAAC;aACH;YAED,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAE3B,KAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpD,CAAC,CACF,CAAC;IACJ,CAAC;IAED,2CAAiB,GAAjB;QACE,YAAY,CAAC,KAAK,EAAE,CAAC;QACrB,cAAc,CAAC,KAAK,EAAE,CAAC;QACvB,8EAAW,CAAC,yBAAyB,GAAG,IAAI,CAAC;QAC7C,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IACD,2CAAiB,GAAjB,UAAkB,KAAK;QACrB,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,eAAe,EAAE,CAAC;SACzB;QAED,IAAI,CAAC,kCAAkC,EAAE,CAAC;QAE1C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,4DAAkC,GAAlC;QACE,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;SAC7B;QAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,qCAAW,GAAX;QACE,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SAChC;IACH,CAAC;IAvbiC;QAAjC,+DAAS,CAAC,qBAAqB,CAAC;kCAAsB,yDAAW;gEAAM;IAjB7D,eAAe;QAL3B,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;;;SAGvB,CAAC;yCA+BmB,sDAAM;YACF,8EAAW;YACb,6DAAW;YACV,2DAAS;YACR,0DAAW;YACjB,+DAAiB;OAnCvB,eAAe,CAyc3B;IAAD,sBAAC;CAAA;AAzc2B;;;;;;;;;;;;AC7B5B,mCAAmC,8BAA8B,uBAAuB,qBAAqB,GAAG,iBAAiB,qBAAqB,GAAG,wCAAwC,sBAAsB,GAAG,qBAAqB,qCAAqC,GAAG,gBAAgB,uBAAuB,kCAAkC,gBAAgB,wBAAwB,qBAAqB,oBAAoB,qBAAqB,GAAG,oBAAoB,+BAA+B,gBAAgB,oBAAoB,cAAc,GAAG,4BAA4B,mBAAmB,mBAAmB,GAAG,gCAAgC,wBAAwB,mCAAmC,gBAAgB,oBAAoB,sBAAsB,wBAAwB,GAAG,uCAAuC,wBAAwB,kCAAkC,oBAAoB,gBAAgB,mBAAmB,GAAG,oCAAoC,kCAAkC,oBAAoB,gBAAgB,GAAG,0BAA0B,iBAAiB,mBAAmB,uBAAuB,qBAAqB,oBAAoB,mBAAmB,oBAAoB,gBAAgB,iBAAiB,GAAG,+CAA+C,myF;;;;;;;;;;;ACAtyC,uGAAuG,4BAA4B,2UAA2U,8IAA8I,iBAAiB,sPAAsP,gBAAgB,iBAAiB,mFAAmF,6BAA6B,cAAc,4BAA4B,qTAAqT,krBAAkrB,wBAAwB,oHAAoH,gBAAgB,cAAc,4BAA4B,gBAAgB,2BAA2B,qBAAqB,4HAA4H,ujBAAujB,2CAA2C,6PAA6P,gBAAgB,sEAAsE,iBAAiB,kBAAkB,8BAA8B,eAAe,uBAAuB,iFAAiF,sSAAsS,mFAAmF,0IAA0I,kBAAkB,mBAAmB,mEAAmE,yIAAyI,oJAAoJ,iBAAiB,8yTAA8yT,oGAAoG,+NAA+N,m+HAAm+H,25FAA25F,2+IAA2+I,uGAAuG,27BAA27B,sOAAsO,4DAA4D,2nHAA2nH,mtOAAmtO,ymB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACEv7rC;AACzB;AAC2B;AACK;AAKR;AACG;AACoC;AAC1C;AACS;AACK;AAO5E;IAYE,mCAAoB,WAAwB,EAAU,MAAc,EAAU,WAAwB,EAC5F,SAAsB,EAAU,UAAqB;QAD3C,gBAAW,GAAX,WAAW,CAAa;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,gBAAW,GAAX,WAAW,CAAa;QAC5F,cAAS,GAAT,SAAS,CAAa;QAAU,eAAU,GAAV,UAAU,CAAW;QAR/D,iBAAY,GAAY,KAAK,CAAC;QAU5B,QAAQ,CAAC,KAAK,GAAG,uBAAuB,CAAC;QAEzC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC9C,SAAS,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACpC,YAAY,EAAE,CAAC,KAAK,CAAC;SACtB,CAAC,CAAC;QAIH,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,8EAAW,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;QAE5F,iFAAW,CAAC,kBAAkB,EAAE,CAAC;IACnC,CAAC;IAID,qDAAiB,GAAjB;QACE,8EAAW,CAAC,qBAAqB,GAAG,SAAS,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,yDAAqB,GAArB;QAEE,IAAI,iFAAW,CAAC,cAAc,EAAE,EAAE;YAChC,IAAI,CAAC,yBAAyB,GAAG,iFAAW,CAAC,cAAc,CAAC,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,8BAA8B,EAC7H,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;SAC9B;aACI;YACH,IAAI,CAAC,yBAAyB,GAAG,iFAAW,CAAC,cAAc,CAAC,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,8BAA8B,EAC7H,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;SAC9B;IAEH,CAAC;IAED,mDAAe,GAAf,UAAgB,KAAK;QACnB,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,CAAC;QAEvC,OAAO,KAAK,CAAC;IACf,CAAC;IAID,kCAAkC;IAClC,yDAAyD;IACzD,IAAI;IAEJ,sDAAkB,GAAlB;QAEE,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE;YAEhC,IAAI,iFAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,EAAE;gBACvF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kCAAkC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClF,OAAO;aACR;YAED,IAAI,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,IAAI,IAAI,EAAE;gBAC9D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,qCAAqC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrF,OAAO;aACR;YAED,IAAI,CAAC,gDAAgD,EAAE,CAAC;SACzD;IACH,CAAC;IAID,oFAAgD,GAAhD;QAAA,iBA4BC;QA3BC,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAC1F,kBAAQ;YACN,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAE5B,IAAI,QAAQ,CAAC,YAAY,IAAI,8EAAa,CAAC,OAAO,EAAE;gBAClD,iFAAgB,CAAC,qCAAqC,GAAG,sGAAqC,CAAC,kBAAkB,CAAC;gBAClH,8EAAW,CAAC,iBAAiB,GAAG,QAAQ,CAAC,UAAU,CAAC;gBACpD,8EAAW,CAAC,qBAAqB,GAAG,QAAQ,CAAC,SAAS,CAAC;gBACvD,8EAAW,CAAC,qBAAqB,GAAG,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;gBACpF,iFAAgB,CAAC,kBAAkB,GAAG,QAAQ,CAAC,eAAe,CAAC;gBAC/D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,mCAAmC,CAAC,CAAC,CAAC;gBAE5E,OAAO;aACR;YAED,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAClF,CAAC,EACD,eAAK;YACH,sBAAsB;YACtB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,2EAAS,CAAC,wBAAwB,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpF,CAAC,CACF,CAAC;IACJ,CAAC;IAvG4C;QAA5C,+DAAS,CAAC,gCAAgC,CAAC;kCAAiC,yDAAW;qFAAM;IARnF,yBAAyB;QAJrC,+DAAS,CAAC;;;SAGV,CAAC;yCAaiC,0DAAW,EAAkB,sDAAM,EAAuB,8EAAW;YACjF,6DAAW,EAAsB,2DAAS;OAbpD,yBAAyB,CAkHrC;IAAD,gCAAC;CAAA;AAlHqC;;;;;;;;;;;;ACtBtC,mCAAmC,8BAA8B,uBAAuB,qBAAqB,GAAG,iBAAiB,qBAAqB,GAAG,wCAAwC,sBAAsB,GAAG,qBAAqB,qCAAqC,GAAG,gBAAgB,uBAAuB,kCAAkC,gBAAgB,wBAAwB,qBAAqB,oBAAoB,qBAAqB,GAAG,oBAAoB,+BAA+B,gBAAgB,oBAAoB,cAAc,GAAG,4BAA4B,mBAAmB,mBAAmB,GAAG,gCAAgC,wBAAwB,kCAAkC,gBAAgB,oBAAoB,sBAAsB,wBAAwB,GAAG,uCAAuC,wBAAwB,mCAAmC,oBAAoB,gBAAgB,mBAAmB,GAAG,oCAAoC,kCAAkC,oBAAoB,gBAAgB,GAAG,0BAA0B,iBAAiB,mBAAmB,uBAAuB,qBAAqB,oBAAoB,mBAAmB,oBAAoB,gBAAgB,iBAAiB,GAAG,0CAA0C,2BAA2B,kCAAkC,kBAAkB,sBAAsB,kBAAkB,sBAAsB,KAAK,KAAK,0CAA0C,2BAA2B,kCAAkC,KAAK,KAAK,+CAA+C,21G;;;;;;;;;;;ACAxlD,uGAAuG,4BAA4B,qHAAqH,mBAAmB,iBAAiB,oHAAoH,eAAe,mBAAmB,oBAAoB,wHAAwH,gBAAgB,iBAAiB,iHAAiH,aAAa,aAAa,mHAAmH,8BAA8B,oBAAoB,cAAc,qBAAqB,uEAAuE,kBAAkB,gHAAgH,8BAA8B,oBAAoB,cAAc,qBAAqB,wEAAwE,kBAAkB,sLAAsL,8BAA8B,oBAAoB,cAAc,qBAAqB,kPAAkP,4bAA4b,wCAAwC,sNAAsN,6vBAA6vB,gBAAgB,iBAAiB,gHAAgH,oFAAoF,8BAA8B,oBAAoB,cAAc,qBAAqB,4TAA4T,8GAA8G,gMAAgM,ySAAyS,oQAAoQ,mFAAmF,sKAAsK,wPAAwP,eAAe,gBAAgB,eAAe,iBAAiB,iFAAiF,6BAA6B,mBAAmB,cAAc,iBAAiB,uJAAuJ,6BAA6B,mBAAmB,iBAAiB,qBAAqB,iEAAiE,WAAW,uSAAuS,mFAAmF,0IAA0I,kBAAkB,mBAAmB,mEAAmE,8WAA8W,i3BAAi3B,kBAAkB,yCAAyC,uDAAuD,kBAAkB,2QAA2Q,4DAA4D,kBAAkB,yRAAyR,kBAAkB,6JAA6J,uDAAuD,kBAAkB,2PAA2P,uDAAuD,kBAAkB,oWAAoW,uDAAuD,kBAAkB,gYAAgY,4DAA4D,kBAAkB,8lBAA8lB,wDAAwD,aAAa,oEAAoE,aAAa,0DAA0D,gBAAgB,iBAAiB,0DAA0D,cAAc,oQAAoQ,2FAA2F,mBAAmB,oBAAoB,kBAAkB,qBAAqB,kXAAkX,oBAAoB,YAAY,gBAAgB,oOAAoO,mBAAmB,kBAAkB,YAAY,gBAAgB,ijCAAijC,yGAAyG,aAAa,aAAa,gBAAgB,iBAAiB,+GAA+G,mBAAmB,gBAAgB,iBAAiB,aAAa,iBAAiB,cAAc,gBAAgB,iBAAiB,cAAc,oJAAoJ,iBAAiB,aAAa,iBAAiB,aAAa,gBAAgB,iBAAiB,kBAAkB,WAAW,kBAAkB,iBAAiB,kBAAkB,iKAAiK,8BAA8B,wEAAwE,mBAAmB,oBAAoB,6hBAA6hB,oBAAoB,YAAY,gBAAgB,kNAAkN,mBAAmB,kBAAkB,YAAY,gBAAgB,0MAA0M,8BAA8B,wEAAwE,mBAAmB,oBAAoB,sfAAsf,oBAAoB,YAAY,gBAAgB,kNAAkN,mBAAmB,kBAAkB,YAAY,gBAAgB,0MAA0M,8BAA8B,wEAAwE,mBAAmB,oBAAoB,yXAAyX,oBAAoB,YAAY,gBAAgB,kNAAkN,mBAAmB,kBAAkB,YAAY,gBAAgB,0MAA0M,8BAA8B,wEAAwE,mBAAmB,oBAAoB,ggBAAggB,oBAAoB,YAAY,gBAAgB,oNAAoN,mBAAmB,kBAAkB,YAAY,gBAAgB,4NAA4N,8BAA8B,cAAc,wEAAwE,mBAAmB,oBAAoB,oPAAoP,kPAAkP,aAAa,qBAAqB,2OAA2O,8DAA8D,ueAAue,mFAAmF,0IAA0I,kBAAkB,mBAAmB,mEAAmE,mNAAmN,iBAAiB,eAAe,0KAA0K,eAAe,gdAAgd,+FAA+F,kQAAkQ,8BAA8B,cAAc,yFAAyF,mBAAmB,oBAAoB,0BAA0B,iTAAiT,kiBAAkiB,gBAAgB,iBAAiB,0KAA0K,8BAA8B,oBAAoB,cAAc,qBAAqB,iFAAiF,8BAA8B,0KAA0K,8BAA8B,oBAAoB,cAAc,qBAAqB,kFAAkF,8BAA8B,6FAA6F,qaAAqa,YAAY,6bAA6b,mBAAmB,+LAA+L,qUAAqU,aAAa,qBAAqB,iBAAiB,qQAAqQ,+BAA+B,8YAA8Y,mFAAmF,0IAA0I,kBAAkB,mBAAmB,mEAAmE,8WAA8W,qNAAqN,+FAA+F,4ZAA4Z,8BAA8B,cAAc,4DAA4D,mBAAmB,oBAAoB,0BAA0B,2DAA2D,gOAAgO,kBAAkB,8NAA8N,oSAAoS,aAAa,qBAAqB,iNAAiN,+BAA+B,mUAAmU,mFAAmF,0IAA0I,kBAAkB,mBAAmB,mEAAmE,oOAAoO,iBAAiB,eAAe,0KAA0K,eAAe,kEAAkE,8BAA8B,cAAc,uQAAuQ,oKAAoK,oaAAoa,YAAY,obAAob,mBAAmB,+MAA+M,aAAa,qBAAqB,iBAAiB,6QAA6Q,+BAA+B,4Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAxk9B;AAC5C;AAC2B;AAGN;AACW;AAER;AACH;AAC0D;AACjD;AACH;AACG;AACK;AACzB;AACyB;AACtB;AAatD;IAkDE,8BAAmB,MAAc,EAAU,QAAqB,EAAU,WAAwB,EACxF,cAA8B,EAC9B,KAA2B,EAAU,WAAwB,EAC7D,KAAwB,EAAU,UAAqB,EACvD,kBAAsC;QAE5C,QAAQ;QACR,0CAA0C;QAC1C,sBAAsB;QARP,WAAM,GAAN,MAAM,CAAQ;QAAU,aAAQ,GAAR,QAAQ,CAAa;QAAU,gBAAW,GAAX,WAAW,CAAa;QACxF,mBAAc,GAAd,cAAc,CAAgB;QAC9B,UAAK,GAAL,KAAK,CAAsB;QAAU,gBAAW,GAAX,WAAW,CAAa;QAC7D,UAAK,GAAL,KAAK,CAAmB;QAAU,eAAU,GAAV,UAAU,CAAW;QACvD,uBAAkB,GAAlB,kBAAkB,CAAoB;QAjChD,oBAAe,GAAG;YAChB,YAAY,EAAE,GAAG;YACjB,cAAc,EAAE,GAAG;YACnB,eAAe,EAAE,GAAG;YACpB,QAAQ,EAAE,GAAG;YACb,WAAW,EAAE,GAAG;SACjB;QASD,wBAAmB,GAAY,KAAK,CAAC;QA0BpC,IAAI;YACM,MAAM,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC;SAC3C;QAAC,OAAO,KAAK,EAAE,GAAE;QAEnB,IAAI,CAAC,8EAAW,CAAC,0BAA0B,IAAI,IAAI,CAAC,sCAAsC,IAAI,IAAI,EAAE;YAClG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjD,OAAO;SACR;QAED,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAE5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACzC,OAAO,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SACnC,CAAC,CAAC;QAGH,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACrD,GAAG,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SAC/B,CAAC,CAAC;QAGH,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAChD,QAAQ,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SACpC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAEnD,IAAI,8EAAW,CAAC,0BAA0B,IAAI,8EAAW,CAAC,0BAA0B,CAAC,mBAAmB,EAAE;YACxG,IAAI,CAAC,gBAAgB,GAAG,8EAAW,CAAC,0BAA0B,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC;SAClG;QAED,IAAI,8EAAW,CAAC,0BAA0B,IAAI,8EAAW,CAAC,0BAA0B,CAAC,sBAAsB,EAAE;YAC3G,IAAI,CAAC,gBAAgB,GAAG,8EAAW,CAAC,0BAA0B,CAAC,sBAAsB,CAAC;SACvF;QAED,IAAI,8EAAW,CAAC,0BAA0B,IAAI,8EAAW,CAAC,0BAA0B,CAAC,SAAS,EAAE;YAC9F,IAAI,CAAC,WAAW,GAAG,8EAAW,CAAC,0BAA0B,CAAC,SAAS,CAAC;SACrE;QAED,kHAAkH;QAClH,gGAAgG;QAChG,IAAI,CAAC,sCAAsC,GAAG,kFAAgB,CAAC,uDAAuD,CAAC;QACvH,kFAAgB,CAAC,uDAAuD,GAAG,KAAK,CAAC;QAIjF,iFAAW,CAAC,kBAAkB,EAAE,CAAC;QAEjC,IAAI,CAAC,SAAS,GAAG,kFAAgB,CAAC,SAAS,CAAC;IAC9C,CAAC;IAED,uCAAQ,GAAR;QAGE,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,UAAU,CAAC;YACT,kBAAkB,CAAC,mBAAmB,GAAG,KAAK,CAAC;YAC/C,kBAAkB,CAAC,eAAe,GAAG,KAAK,CAAC;YAC3C,kBAAkB,CAAC,SAAS,GAAG,KAAK,CAAC;YAErC,cAAc,CAAC,UAAU,WAAW,EAAE,GAAG;gBACvC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;gBAChC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC;gBAC1B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,cAAc,EAAE;oBAC5D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;iBAC3B;gBACD,IAAI,wBAAwB,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC;gBACvE,IAAI,wBAAwB,IAAI,wBAAwB,CAAC,QAAQ,EAAE;oBACjE,IAAI,CAAC,QAAQ,GAAG,wBAAwB,CAAC,QAAQ,CAAC;iBACnD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAID,8DAA+B,GAA/B;QACE,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC;IAEvD,CAAC;IAID,0CAAW,GAAX;QAEE,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;YAC5B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,kCAAkC,CAAC,CAAC;SAC5D;aACI;YACH,IAAI,iFAAW,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;gBAE7E,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,uCAAuC,EAAE,IAAI,EAAE;oBAChE,gBAAgB,EAAE,QAAQ;oBAC1B,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI;iBAC5C,CAAC,CAAC;gBAEH,OAAO;aACR;YAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,8BAA8B;YAC9B,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAGD,oDAAqB,GAArB;QAAA,iBAwHC;QAvHC,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,8EAAW,CAAC,qBAAqB,GAAG,iFAAW,CAAC,iBAAiB,EAAE,CAAC;QAEpE,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC;YAChC,MAAM,EAAE,8EAAW,CAAC,0BAA0B,CAAC,MAAM;YACrD,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK;YAChD,SAAS,EAAE,8EAAW,CAAC,0BAA0B,CAAC,sBAAsB;YACxE,KAAK,EAAE,8EAAW,CAAC,0BAA0B,CAAC,KAAK;YACnD,UAAU,EAAE,+EAAc,CAAC,KAAK;YAChC,SAAS,EAAE,8EAAW,CAAC,0BAA0B,CAAC,SAAS;YAC3D,cAAc,EAAE,IAAI,CAAC,QAAQ;YAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,SAAS,EAAE,8EAAW,CAAC,0BAA0B,CAAC,SAAS;YAC3D,iBAAiB,EAAE,IAAI;YACvB,QAAQ,EAAE,8EAAW,CAAC,0BAA0B,CAAC,QAAQ;YACzD,aAAa,EAAE,8EAAW,CAAC,qBAAqB;SACjD,CAAC;aACC,IAAI,CACH,kBAAQ;YAEN,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAG5B,IAAI,QAAQ,CAAC,YAAY,IAAI,8EAAa,CAAC,mBAAmB,EAAE;gBAC9D,KAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC7B,OAAO;aACR;YAID,IAAI,QAAQ,CAAC,YAAY,IAAI,8EAAa,CAAC,OAAO,IAAI,QAAQ,CAAC,YAAY,IAAI,8EAAa,CAAC,0BAA0B,EAAE;gBAGvH,IAAI,8EAAW,CAAC,0BAA0B,CAAC,WAAW,IAAI,8EAAa,CAAC,OAAO,IAAI,8EAAW,CAAC,0BAA0B,CAAC,WAAW,IAAI,8EAAa,CAAC,6BAA6B;uBAC/K,8EAAW,CAAC,0BAA0B,CAAC,WAAW,IAAI,8EAAa,CAAC,wCAAwC,EAAE;oBAEjH,IAAI,CAAC,8EAAW,CAAC,uBAAuB,EAAE,EAAE;wBAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;wBACjD,OAAO;qBACR;oBAED,8EAAW,CAAC,qBAAqB,GAAG,QAAQ,CAAC,KAAK,CAAC;oBACnD,8EAAW,CAAC,mBAAmB,GAAG,IAAI,CAAC;oBACvC,IAAI,QAAQ,CAAC,YAAY,IAAI,8EAAa,CAAC,0BAA0B,EAAE;wBACrE,8EAAW,CAAC,mBAAmB,GAAG,KAAK,CAAC;qBACzC;oBAID,IAAI,cAAc,GAAG,KAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,CAAC;oBAE/D,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC/C,qCAAqC;wBACrC,+BAA+B;wBAG/B,KAAsB,UAAc,EAAd,iCAAc,EAAd,4BAAc,EAAd,IAAc,EAAE;4BAAjC,IAAI,SAAS;4BAChB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;gCACnB,KAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,EAAE,aAAa,EAAE,yBAAyB,CAAC,CAAC;6BAC7F;yBACF;qBACF;oBAED,KAAI,CAAC,WAAW,CAAC,6BAA6B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAE/D,IAAI,CAAC,8BAA8B,EAAE,CAAC;oBACtC,4DAA4D;iBAC7D;qBACI,IAAI,8EAAW,CAAC,0BAA0B,CAAC,WAAW,IAAI,8EAAa,CAAC,uCAAuC,EAAE;oBAEpH,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE;yBACpC,IAAI,CACH,kBAAQ;wBAEN,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;wBAE5B,IAAI,QAAQ,CAAC,YAAY,IAAI,8EAAa,CAAC,OAAO,EAAE;4BAElD,kFAAgB,CAAC,qCAAqC,GAAG,sGAAqC,CAAC,WAAW,CAAC;4BAC3G,kFAAgB,CAAC,kBAAkB,GAAG,QAAQ,CAAC,SAAS,CAAC;4BAEzD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,mCAAmC,CAAC,CAAC,CAAC;4BAC5E,OAAO;yBACR;wBAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;oBAE1I,CAAC,EACD,eAAK;wBACH,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;wBAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,2EAAS,CAAC,wBAAwB,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;oBAE5I,CAAC,CACF,CAAC;iBACL;qBACI,IAAI,8EAAW,CAAC,0BAA0B,CAAC,WAAW,IAAI,8EAAa,CAAC,sBAAsB,EAAE;oBACnG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,yBAAyB,CAAC,CAAC,CAAC;iBACnE;gBAED,OAAO;aACR;YAGD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAEjF,CAAC,EACD,eAAK;YACH,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,GAAG,EAAE;gBACvD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,2FAA2F,EAAE,IAAI,EAClH,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;gBACvB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;gBACpC,OAAO;aACR;QACH,CAAC,CACF,CAAC;IACN,CAAC;IAGD,wCAAS,GAAT;QAAA,iBAyCC;QAvCC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC;YACvC,MAAM,EAAE,8EAAW,CAAC,0BAA0B,CAAC,MAAM;YACrD,KAAK,EAAE,8EAAW,CAAC,0BAA0B,CAAC,KAAK;YACnD,UAAU,EAAE,+EAAc,CAAC,KAAK;SACjC,CAAC;aACC,IAAI,CACH,kBAAQ;YAEN,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,QAAQ,CAAC,YAAY,IAAI,8EAAa,CAAC,OAAO,EAAE;gBAElD,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;gBAEnD,8EAAW,CAAC,0BAA0B,CAAC,mBAAmB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;gBACvF,8EAAW,CAAC,0BAA0B,CAAC,sBAAsB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;gBAC7F,8EAAW,CAAC,0BAA0B,CAAC,sBAAsB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;gBAE7F,IAAI,8EAAW,CAAC,0BAA0B,IAAI,8EAAW,CAAC,0BAA0B,CAAC,mBAAmB,EAAE;oBACxG,KAAI,CAAC,gBAAgB,GAAG,8EAAW,CAAC,0BAA0B,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC;iBAClG;gBAED,IAAI,8EAAW,CAAC,0BAA0B,IAAI,8EAAW,CAAC,0BAA0B,CAAC,sBAAsB,EAAE;oBAC3G,KAAI,CAAC,gBAAgB,GAAG,8EAAW,CAAC,0BAA0B,CAAC,sBAAsB,CAAC;iBACvF;gBAED,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;aACjI;iBACI;gBACH,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;aACzI;QAEH,CAAC,EACD,eAAK;YACH,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,2EAAS,CAAC,wBAAwB,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1I,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC9B,CAAC,CACF,CAAC;IACN,CAAC;IAID,oDAAqB,GAArB;QAEE,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,iFAAW,CAAC,cAAc,EAAE,EAAE;YAChC,IAAI,CAAC,4BAA4B,GAAG,iFAAW,CAAC,cAAc,CAAC,IAAI,CAAC,4BAA4B,EAAE,IAAI,CAAC,yBAAyB,EAC9H,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;SAC/B;aACI;YACH,IAAI,CAAC,4BAA4B,GAAG,iFAAW,CAAC,cAAc,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,yBAAyB,EACrH,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;SAC9B;QACD,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,sDAAuB,GAAvB;QAEE,IAAI,IAAI,CAAC,4BAA4B,EAAE;YACrC,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,CAAC;YAC1C,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;YAE/B,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC;SACvC;IACH,CAAC;IAUD,kDAAmB,GAAnB,UAAoB,QAAyB;QAA7C,iBA0CC;QA1CmB,2CAAyB;QAC3C,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC/B,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC;SAC3C;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAC/D;YACE,MAAM,EAAE,8EAAW,CAAC,0BAA0B,CAAC,MAAM;YACrD,UAAU,EAAE,+EAAc,CAAC,OAAO;YAClC,iBAAiB,EAAE,eAAe;YAClC,KAAK,EAAE,8EAAW,CAAC,0BAA0B,CAAC,KAAK;SACpD,CACF,CAAC,SAAS,CAAC,kBAAQ;YAElB,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,QAAQ,CAAC,YAAY,IAAI,8EAAa,CAAC,OAAO,EAAE;gBAElD,KAAI,CAAC,4BAA4B,GAAG,QAAQ,CAAC,gBAAgB,CAAC;gBAC9D,KAAI,CAAC,4BAA4B,GAAG,QAAQ,CAAC,mBAAmB,CAAC;gBACjE,KAAI,CAAC,wBAAwB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;gBAE7D,IAAI,QAAQ,IAAI,IAAI,EAAE;oBACpB,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;iBACjI;qBACI;oBACH,KAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;iBAChC;gBAED,OAAO;aACR;YAED,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,8DAA8D,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YACnK,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QAC7B,CAAC,EACC,UAAC,KAAU;YACT,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,2EAAS,CAAC,wBAAwB,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACzI,CAAC,CAAC,CAAC;IACP,CAAC;IAED,2CAAY,GAAZ;QAAA,iBAwEC;QArEC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,GAAG,EAAE;YACvF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mCAAmC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACnF,OAAO;SACR;QAED,IAAI,iFAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;eAChF,CAAC,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE;YACvH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,oCAAoC,EAAE,IAAI,EAC3D,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YACtB,OAAO;SACR;QAGD,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC;YAChE,MAAM,EAAE,8EAAW,CAAC,0BAA0B,CAAC,MAAM;YACrD,GAAG,EAAE,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK;YACxD,SAAS,EAAE,IAAI,CAAC,wBAAwB;YACxC,KAAK,EAAE,8EAAW,CAAC,0BAA0B,CAAC,KAAK;SACpD,CAAC,CAAC,SAAS,CAAC,kBAAQ;YAEnB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,KAAI,CAAC,uBAAuB,EAAE,CAAC;YAE/B,IAAI,QAAQ,CAAC,YAAY,IAAI,8EAAa,CAAC,OAAO,EAAE;gBAElD,IAAI,8EAAW,CAAC,0BAA0B,CAAC,WAAW,IAAI,8EAAa,CAAC,OAAO,IAAI,8EAAW,CAAC,0BAA0B,CAAC,WAAW,IAAI,8EAAa,CAAC,6BAA6B;uBAC/K,8EAAW,CAAC,0BAA0B,CAAC,WAAW,IAAI,8EAAa,CAAC,wCAAwC,EAAE;oBAEjH,IAAI,CAAC,8EAAW,CAAC,uBAAuB,EAAE,EAAE;wBAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;wBACjD,OAAO;qBACR;oBAED,8EAAW,CAAC,qBAAqB,GAAG,QAAQ,CAAC,KAAK,CAAC;oBACnD,8EAAW,CAAC,mBAAmB,GAAG,IAAI,CAAC;oBAEvC,IAAI,cAAc,GAAG,KAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,CAAC;oBAE/D,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC/C,KAAsB,UAAc,EAAd,iCAAc,EAAd,4BAAc,EAAd,IAAc,EAAE;4BAAjC,IAAI,SAAS;4BAChB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;gCACnB,KAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,EAAE,aAAa,EAAE,yBAAyB,CAAC,CAAC;6BAC7F;yBACF;qBACF;oBAED,KAAI,CAAC,WAAW,CAAC,6BAA6B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAE/D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBACzD,OAAO;iBACR;aACF;YAED,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAC7C,IAAI,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAEvF,CAAC,EACC,UAAC,KAAU;YACT,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,2EAAS,CAAC,sBAAsB,EAAE;gBAC7D,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,2EAAS,CAAC,wBAAwB,EACnD,IAAI,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;aACtF;YACD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,8EAAW,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACxC,KAAI,CAAC,uBAAuB,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;IACP,CAAC;IAGD,6DAA8B,GAA9B;QAAA,iBAqCC;QAnCC,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,WAAW,CAAC,8BAA8B,CAAC,8EAAW,CAAC,sBAAsB,CAAC,MAAM,EAC3H,8EAAW,CAAC,sBAAsB,CAAC,KAAK,CAAC;aACxC,SAAS,CAAC,kBAAQ;YAEjB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAE5B,IAAI,QAAQ,CAAC,YAAY,IAAI,8EAAa,CAAC,OAAO,EAAE;gBAClD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAE3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC;aAC1D;iBACI;gBACH,IAAI,iFAAW,CAAC,cAAc,EAAE,EAAE;oBAChC,IAAI,CAAC,mBAAmB,GAAG,iFAAW,CAAC,cAAc,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,wBAAwB,EAC3G,KAAI,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;iBAC/B;qBACI;oBACH,KAAI,CAAC,mBAAmB,GAAG,iFAAW,CAAC,cAAc,CAAC,KAAI,CAAC,mBAAmB,EAAE,KAAI,CAAC,wBAAwB,EAC3G,KAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;iBAC9B;aACF;QACH,CAAC,EACC,UAAC,KAAU;YAET,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,2EAAS,CAAC,wBAAwB,CAAC,CAAC;YAC3D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC3D,CAAC,EACD;YACE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC9B,CAAC,CAAC,CAAC;IACT,CAAC;IAID,6CAAc,GAAd;QAEE,IAAI,IAAI,GAAG,IAAI,CAAC;QAGhB,IAAI,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,GAAG,EAAE;YAC1D,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;YAEjC,IAAI,iFAAW,CAAC,cAAc,EAAE,EAAE;gBAChC,IAAI,CAAC,0BAA0B,GAAG,iFAAW,CAAC,cAAc,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,+BAA+B,EACzH,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;aAC/B;iBACI;gBACH,IAAI,CAAC,0BAA0B,GAAG,iFAAW,CAAC,cAAc,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,+BAA+B,EACzH,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;aAC9B;YAED,OAAO;SACR;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,IAAI,CAAC,aAAa,EAAE,CAAC;IAEvB,CAAC;IAID,gDAAiB,GAAjB;QAEE,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,CAAC;QAExC,IAAI,iFAAW,CAAC,cAAc,EAAE,EAAE;YAChC,IAAI,CAAC,mBAAmB,GAAG,iFAAW,CAAC,cAAc,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,wBAAwB,EAC3G,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;SAC/B;aACI;YACH,IAAI,CAAC,mBAAmB,GAAG,iFAAW,CAAC,cAAc,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,wBAAwB,EAC3G,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;SAC9B;IAEH,CAAC;IAGD,4CAAa,GAAb;QAEE,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAG3B,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,8EAAW,CAAC,sBAAsB,CAAC,MAAM,EACpH,8EAAW,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,cAAc,EAChH,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC;aACrG,SAAS,CAAC,kBAAQ;YACjB,IAAI,CAAC,kCAAkC,EAAE,CAAC;QAC5C,CAAC,EACC,UAAC,KAAU;YACT,IAAI,CAAC,kCAAkC,EAAE,CAAC;QAC5C,CAAC,EACD;QAEA,CAAC,CAAC,CAAC;QAGP,OAAO,KAAK,CAAC;IACf,CAAC;IAMD,gDAAiB,GAAjB,UAAkB,KAAK;QACrB,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,eAAe,EAAE,CAAC;SACzB;QAED,IAAI,CAAC,kCAAkC,EAAE,CAAC;QAE1C,OAAO,KAAK,CAAC;IACf,CAAC;IAGD,iEAAkC,GAAlC;QAGE,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;SAClC;QAED,IAAI,IAAI,CAAC,0BAA0B,EAAE;YACnC,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,CAAC;SACzC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,IAAI,CAAC,qBAAqB,GAAG,iFAAW,CAAC,MAAM,CAAC,WAAW,CAAC;YAC1D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACzD,iFAAW,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC/D,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,OAAO,KAAK,CAAC;IACf,CAAC;IAaD,iDAAkB,GAAlB;QAEE,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE;YACnC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,kCAAkC,CAAC,CAAC;SAC5D;aACI;YACH,IAAI,iFAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,EAAE;gBAExF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,+BAA+B,EAAE,IAAI,EAAE;oBACxD,gBAAgB,EAAE,QAAQ;oBAC1B,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI;iBAC5C,CAAC,CAAC;gBAEH,OAAO;aACR;YAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,2BAA2B,EAAE,CAAC;SACpC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAGD,0DAA2B,GAA3B;QAAA,iBA8CC;QA5CC,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC;YAChD,MAAM,EAAE,8EAAW,CAAC,qBAAqB;YACzC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE;YACpE,eAAe,EAAE,IAAI;SACtB,CAAC,CAAC,SAAS,CAAC,kBAAQ;YACnB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,8EAAW,CAAC,0BAA0B,EAAE;gBAC3C,8EAAW,CAAC,0BAA0B,GAAG,IAAI,iEAAO,EAAE,CAAC;aACxD;YAGD,8EAAW,CAAC,0BAA0B,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC9D,8EAAW,CAAC,0BAA0B,CAAC,MAAM,GAAG,8EAAW,CAAC,qBAAqB,CAAC;YAClF,8EAAW,CAAC,0BAA0B,CAAC,sBAAsB,GAAG,QAAQ,CAAC,sBAAsB,CAAC;YAChG,8EAAW,CAAC,0BAA0B,CAAC,sBAAsB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;YAC7F,8EAAW,CAAC,0BAA0B,CAAC,mBAAmB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;YACvF,8EAAW,CAAC,0BAA0B,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;YACtE,8EAAW,CAAC,0BAA0B,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;YACpE,8EAAW,CAAC,0BAA0B,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;YACtE,8EAAW,CAAC,0BAA0B,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;YAC1E,8EAAW,CAAC,0BAA0B,CAAC,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,CAAC;YACxF,8EAAW,CAAC,0BAA0B,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;YAC1E,8EAAW,CAAC,0BAA0B,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7D,8EAAW,CAAC,0BAA0B,CAAC,WAAW,GAAG,QAAQ,CAAC,YAAY,CAAC;YAC3E,8EAAW,CAAC,0BAA0B,CAAC,iBAAiB,GAAG,KAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK;YAE9G,8EAAW,CAAC,0BAA0B,CAAC,mBAAmB,GAAG,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,2EAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;YACxJ,8EAAW,CAAC,0BAA0B,CAAC,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YACtI,KAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,8EAAW,CAAC,0BAA0B,CAAC,kBAAkB,CAAC,CAAC;YAE/F,IAAI,QAAQ,CAAC,YAAY,IAAI,8EAAa,CAAC,sBAAsB,EAAE;gBACjE,kFAAgB,CAAC,qCAAqC,GAAG,sGAAqC,CAAC,kBAAkB,CAAC;gBAClH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,4BAA4B;aAChG;iBACI;gBACH,KAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC;aAC1D;QACH,CAAC,EACC,UAAC,KAAU;YACT,KAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,2EAAS,CAAC,wBAAwB,CAAC,CAAC;YAC3D,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC9B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,6CAAc,GAAd;QACE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oFAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnD,CAAC;IAID,0CAAW,GAAX;QACE,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;SAC7B;QAED,IAAI,IAAI,CAAC,4BAA4B,EAAE;YACrC,IAAI,CAAC,4BAA4B,CAAC,WAAW,EAAE,CAAC;SACjD;QACD,IAAI,IAAI,CAAC,2BAA2B,EAAE;YACpC,IAAI,CAAC,2BAA2B,CAAC,WAAW,EAAE,CAAC;SAChD;IAEH,CAAC;IAnsBsC;QAAtC,+DAAS,CAAC,0BAA0B,CAAC;kCAA2B,yDAAW;0EAAM;IAKpC;QAA7C,+DAAS,CAAC,iCAAiC,CAAC;kCAAkC,yDAAW;iFAAM;IAIxD;QAAvC,+DAAS,CAAC,2BAA2B,CAAC;kCAA4B,yDAAW;2EAAM;IA/CzE,oBAAoB;QAJhC,+DAAS,CAAC;;;SAGV,CAAC;yCAmD2B,sDAAM,EAAoB,6DAAW,EAAuB,0DAAW;YACxE,qFAAc;YACvB,2EAAoB,EAAuB,8EAAW;YACtD,+DAAiB,EAAsB,2DAAS;YACnC,oEAAkB;OAtDrC,oBAAoB,CA2uBhC;IAAD,2BAAC;CAAA;AA3uBgC;;;;;;;;;;;;;ACxBjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2D;AACH;AACS;AACd;AAEnD;IAyBI,uBAAY,WAAyB,EAAE,MAAe,EAAE,KAAyB;QAC7E,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEpB,IAAI,CAAC,4BAA4B,GAAG,uEAAW,CAAC,YAAY,EAAE,CAAC;QAE/D,IAAI,WAAW,IAAI,WAAW,CAAC,eAAe,EAAE,EAAE;YAC9C,IAAM,aAAa,GAAG,WAAW,CAAC,eAAe,EAAE,CAAC;YACpD,IAAI,aAAa,IAAI,aAAa,CAAC,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE;gBACjE,IAAI,CAAC,0BAA0B,GAAG,aAAa,IAAI,aAAa,CAAC,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,8DAAI,CAAC,SAAS,CAAC,CAAC;gBAC3H,IAAI,CAAC,yBAAyB,GAAG,aAAa,IAAI,aAAa,CAAC,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,8DAAI,CAAC,QAAQ,CAAC,CAAC;aAC5H;SAEJ;IACL,CAAC;IAGD,2CAAmB,GAAnB;QACI,8BAA8B;QAC9B,oCAAoC;QACpC,iDAAiD;IACrD,CAAC;IAID,8BAAM,GAAN;QACI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;QAC3B,oEAAS,CAAC,gBAAgB,GAAG,SAAS,CAAC;QACvC,kDAAkD;QAClD,0CAA0C;QAC1C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,6EAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtD,CAAC;IAEL,oBAAC;AAAD,CAAC","file":"src-app-pages-authentication-authentication-module.js","sourcesContent":["import { Injectable } from '@angular/core';\nimport {Observable, of} from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport { AppConfigService } from './appconfig.service';\nimport { DebitCardPassworrdResetPayload, DebitCardValidationPayload } from '../models/payloads/auth';\n\n\n@Injectable()\nexport class DebitCardPasswordResetService {\n private _apiBaseUrl: string;\n\n constructor(private _httpClient: HttpClient, private _settingsService: AppConfigService) {\n this._apiBaseUrl = this._settingsService.DebitCardPasswordResetBaseUrl;\n }\n\n\n verifyUserDetails(\n payload: DebitCardPassworrdResetPayload\n ): Observable {\n\n return this._httpClient.post(\n `${this._apiBaseUrl}/UserProfileManagement/ValidateUserIdAndAccountNo`,\n payload\n );\n \n }\n\n verifyCardDetails(\n payload: DebitCardValidationPayload\n ): Observable {\n\n return this._httpClient.post(\n `${this._apiBaseUrl}/UserProfileManagement/ValidateUserCardAndPin`,\n payload\n );\n \n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { ReactiveFormsModule, FormsModule } from \"@angular/forms\";\nimport { RouterModule } from \"@angular/router\";\n\nimport { authenticationRoutes } from \"./authentication.route\";\nimport { AppMaterialModule } from \"../../app.material.module\";\n\nimport { LoginComponent } from \"./login/login.component\";\nimport { ValidateOTPComponent } from \"./validate-auth-otp/validateAuth.component\";\nimport { LoginSecurityQuestionComponent } from \"./create-security-questions/createSecurityQuestions.component\";\nimport { UserRegistrationComponent } from \"./user-registration/user-registration.component\";\nimport { ChangeLoginPasswordComponent } from \"./changePassword/changePassword.component\";\nimport { ResetPasswordComponent } from \"./reset-password/resetPassword.component\";\nimport { SurveyComponent } from \"./survey/survey.component\";\nimport { ResetPasswordSecretComponent } from \"./reset-password-secret/resetPassword.component\";\nimport { DebitCardPasswordResetService } from \"src/app/core/services/debitcard-passwordreset.service\";\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n AppMaterialModule,\n RouterModule,\n authenticationRoutes,\n ],\n declarations: [\n LoginComponent,\n ValidateOTPComponent,\n LoginSecurityQuestionComponent,\n UserRegistrationComponent,\n ChangeLoginPasswordComponent,\n ResetPasswordComponent,\n ResetPasswordSecretComponent,\n SurveyComponent,\n ],\n providers: [DebitCardPasswordResetService],\n})\nexport class AuthenticationPagesModule { }\n","import { RouterModule } from \"@angular/router\";\nimport { LoginComponent } from \"./login/login.component\";\nimport { ValidateOTPComponent } from \"./validate-auth-otp/validateAuth.component\";\nimport { LoginSecurityQuestionComponent } from \"./create-security-questions/createSecurityQuestions.component\";\nimport { UserRegistrationComponent } from \"./user-registration/user-registration.component\";\nimport { ChangeLoginPasswordComponent } from \"./changePassword/changePassword.component\";\nimport { ResetPasswordComponent } from \"./reset-password/resetPassword.component\";\n// import { NavigationGuard } from \"../commons/services/deactivateBack\";\nimport { SurveyComponent } from \"./survey/survey.component\";\nimport { ResetPasswordSecretComponent } from \"./reset-password-secret/resetPassword.component\";\n\nexport const authenticationRoutes = RouterModule.forChild([\n {\n path: \"\",\n redirectTo: \"login\",\n pathMatch: \"full\",\n },\n {\n path: \"login\",\n component: LoginComponent,\n pathMatch: \"full\",\n },\n {\n path: \"validate-otp\", // RouterConstants.ChildValidateOTPURL,\n component: ValidateOTPComponent,\n pathMatch: \"full\",\n },\n {\n path: \"create-security-questions\",\n component: LoginSecurityQuestionComponent,\n pathMatch: \"full\",\n },\n {\n path: \"register-user\",\n component: UserRegistrationComponent,\n pathMatch: \"full\",\n },\n {\n path: \"change-password\",\n component: ChangeLoginPasswordComponent,\n pathMatch: \"full\",\n },\n {\n path: \"reset-passwor\",\n component: ResetPasswordComponent,\n pathMatch: \"full\",\n },\n {\n path: \"reset-password\",\n component: ResetPasswordSecretComponent,\n pathMatch: \"full\",\n },\n {\n path: \"survey\",\n component: SurveyComponent,\n pathMatch: \"full\",\n },\n]);\n","module.exports = \".mat-form-field {\\n display: block !important;\\n position: relative;\\n text-align: left;\\n}\\n\\n.button-row {\\n margin-top: 10px;\\n}\\n\\n.button-row button,\\n.button-row a {\\n margin-right: 8px;\\n}\\n\\n.outline-yellow {\\n border-color: #cc8e17 !important;\\n}\\n\\n.changepwd-validation-wrap {\\n position: absolute !important;\\n background: #fff !important;\\n width: 193px !important;\\n border: 1px solid #d4d3d3 !important;\\n border-radius: 3px !important;\\n padding: 15px 15px 0 !important;\\n}\\n\\n.changepwd-validation-wrap:after,\\n.changepwd-validation-wrap:before {\\n right: 100%;\\n top: 18%;\\n border: solid transparent;\\n content: \\\" \\\";\\n height: 0;\\n width: 0;\\n position: absolute;\\n pointer-events: none\\n}\\n\\n.changepwd-validation-wrap:after {\\n border-color: rgba(250, 250, 250, 0);\\n border-right-color: #fff;\\n border-width: 11px;\\n margin-top: -13px\\n}\\n\\n.changepwd-validation-wrap:before {\\n border-color: rgba(250, 250, 250, 0);\\n border-right-color: #cfcfcf;\\n border-width: 12px;\\n margin-top: -14px\\n}\\n\\n.changepwd-validation {\\n margin: 0 0 10px;\\n font-size: 12px;\\n font-family: 'Libre Franklin';\\n color: #666\\n}\\n\\n.changepwd-validation span {\\n line-height: 20px\\n}\\n\\n.new-password-block-wrap {\\n position: relative\\n}\\n\\n.pwd-valid-icon {\\n color: #e9e8e8;\\n margin-right: 10px;\\n font-size: 20px !important\\n}\\n\\n.pwd-valid-icon-active {\\n color: #5fa33b;\\n margin-right: 10px;\\n font-size: 20px !important\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvYXV0aGVudGljYXRpb24vY2hhbmdlUGFzc3dvcmQvY2hhbmdlUGFzc3dvcmQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDBCQUEwQjtFQUMxQixtQkFBbUI7RUFDbkIsaUJBQWlCO0NBQ2xCOztBQUVEO0VBQ0UsaUJBQWlCO0NBQ2xCOztBQUVEOztFQUVFLGtCQUFrQjtDQUNuQjs7QUFFRDtFQUNFLGlDQUFpQztDQUNsQzs7QUFJRDtFQUNFLDhCQUE4QjtFQUM5Qiw0QkFBNEI7RUFDNUIsd0JBQXdCO0VBQ3hCLHFDQUFxQztFQUNyQyw4QkFBOEI7RUFDOUIsZ0NBQWdDO0NBQ2pDOztBQUVEOztFQUVFLFlBQVk7RUFDWixTQUFTO0VBQ1QsMEJBQTBCO0VBQzFCLGFBQWE7RUFDYixVQUFVO0VBQ1YsU0FBUztFQUNULG1CQUFtQjtFQUNuQixvQkFBb0I7Q0FDckI7O0FBRUQ7RUFDRSxxQ0FBcUM7RUFDckMseUJBQXlCO0VBQ3pCLG1CQUFtQjtFQUNuQixpQkFBaUI7Q0FDbEI7O0FBRUQ7RUFDRSxxQ0FBcUM7RUFDckMsNEJBQTRCO0VBQzVCLG1CQUFtQjtFQUNuQixpQkFBaUI7Q0FDbEI7O0FBRUQ7RUFDRSxpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLDhCQUE4QjtFQUM5QixXQUFXO0NBQ1o7O0FBRUQ7RUFDRSxpQkFBaUI7Q0FDbEI7O0FBRUQ7RUFDRSxrQkFBa0I7Q0FDbkI7O0FBRUQ7RUFDRSxlQUFlO0VBQ2YsbUJBQW1CO0VBQ25CLDBCQUEwQjtDQUMzQjs7QUFFRDtFQUNFLGVBQWU7RUFDZixtQkFBbUI7RUFDbkIsMEJBQTBCO0NBQzNCIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvYXV0aGVudGljYXRpb24vY2hhbmdlUGFzc3dvcmQvY2hhbmdlUGFzc3dvcmQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5tYXQtZm9ybS1maWVsZCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmJ1dHRvbi1yb3cge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4uYnV0dG9uLXJvdyBidXR0b24sXG4uYnV0dG9uLXJvdyBhIHtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5vdXRsaW5lLXllbGxvdyB7XG4gIGJvcmRlci1jb2xvcjogI2NjOGUxNyAhaW1wb3J0YW50O1xufVxuXG5cblxuLmNoYW5nZXB3ZC12YWxpZGF0aW9uLXdyYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xuICB3aWR0aDogMTkzcHggIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q0ZDNkMyAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMTVweCAxNXB4IDAgIWltcG9ydGFudDtcbn1cblxuLmNoYW5nZXB3ZC12YWxpZGF0aW9uLXdyYXA6YWZ0ZXIsXG4uY2hhbmdlcHdkLXZhbGlkYXRpb24td3JhcDpiZWZvcmUge1xuICByaWdodDogMTAwJTtcbiAgdG9wOiAxOCU7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lXG59XG5cbi5jaGFuZ2Vwd2QtdmFsaWRhdGlvbi13cmFwOmFmdGVyIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1MCwgMjUwLCAyNTAsIDApO1xuICBib3JkZXItcmlnaHQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci13aWR0aDogMTFweDtcbiAgbWFyZ2luLXRvcDogLTEzcHhcbn1cblxuLmNoYW5nZXB3ZC12YWxpZGF0aW9uLXdyYXA6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1MCwgMjUwLCAyNTAsIDApO1xuICBib3JkZXItcmlnaHQtY29sb3I6ICNjZmNmY2Y7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbiAgbWFyZ2luLXRvcDogLTE0cHhcbn1cblxuLmNoYW5nZXB3ZC12YWxpZGF0aW9uIHtcbiAgbWFyZ2luOiAwIDAgMTBweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LWZhbWlseTogJ0xpYnJlIEZyYW5rbGluJztcbiAgY29sb3I6ICM2NjZcbn1cblxuLmNoYW5nZXB3ZC12YWxpZGF0aW9uIHNwYW4ge1xuICBsaW5lLWhlaWdodDogMjBweFxufVxuXG4ubmV3LXBhc3N3b3JkLWJsb2NrLXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmVcbn1cblxuLnB3ZC12YWxpZC1pY29uIHtcbiAgY29sb3I6ICNlOWU4ZTg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnRcbn1cblxuLnB3ZC12YWxpZC1pY29uLWFjdGl2ZSB7XG4gIGNvbG9yOiAjNWZhMzNiO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50XG59XG4iXX0= */\"","module.exports = \"
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
Change your password
\\n \\n Please note that your User ID is {{authUserId}}\\n \\n Kindly enter a new password that you will use to sign in to Online Banking \\n
\\n \\n \\n \\n Enter New Password\\n
\\n
\\n
\\n
\\n \\n New Password\\n\\n \\n\\n \\n\\n\\n\\n \\n \\n\\n\\n Must not be the same as previous\\n 3 passwords \\n \\n
\\n
\\n
\\n
\\n
8\\n or more characters
\\n
1 or\\n more numbers
\\n
Uppercase character
\\n
Lowercase character
\\n
4\\n Unique characters
\\n
Only\\n symbols #^@.:*<>(:)?|&
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n Confirm New Password\\n\\n \\n\\n \\n\\n \\n \\n\\n\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n Confirm OTP\\n
\\n A One Time PIN has been sent to the following email {{maskedOtpAddress}}
\\n
\\n A One Time PIN has been sent to the following number {{maskedOtpAddress}}
\\n \\n One Time Pin \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\\"Stanbic\\n
\\n
An error has occurred
\\n
Error description
\\n \\n {{exceptionMessage}}\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\"","import { Component, ChangeDetectorRef, ViewChild, TemplateRef } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\nimport { MatSnackBar, MatDialogRef, MatDialog, MatStepper } from '@angular/material';\n\n\nimport { NotificationsService } from 'angular2-notifications';\n\nimport { AuthService } from 'src/app/core/services/auth.service';\nimport { Constants } from 'src/app/core/helpers/appConstants';\nimport { OtpReasonCodes, ResponseCodes, SecurityQuestionCreationRequestAuthor } from 'src/app/core/models/Enumerations';\nimport { RouterConstants } from 'src/app/core/helpers/routerConstants';\nimport { UtilService } from 'src/app/core/services/helpers.service';\nimport { StorageService } from 'src/app/core/services/storage.service';\nimport { VariablesService } from '../../../core/services/variables.service';\n\n\nimport { BaseComponent } from \"../../base.component\";\n\n\n@Component({\n templateUrl: './changePassword.component.html',\n styleUrls: ['./changePassword.component.css']\n})\nexport class ChangeLoginPasswordComponent extends BaseComponent {\n\n requestOngoing: boolean;\n\n changePasswordFormGroup: FormGroup;\n\n showPasswordValidationWrap: boolean;\n minimumPasswordLengthValidated: boolean;\n passwordHasOneOrMoreNumber: boolean;\n passwordHasUpperCaseCharacters: boolean;\n passwordHasLowerCaseCharacters: boolean;\n passwordHasValidSymbols: boolean; // @#$%^\\ #^@.:*<>(:)?|&~$%\\\n passwordValidationPassedCount: number = 0;\n passwordHas4DistinctCharaters: boolean;\n\n\n authUserId: string;\n otpFormGroup: FormGroup;\n\n showPassword: boolean = false;\n showConfirmPassword: boolean = false;\n\n\n\n // Refactor on all pages later as single component instead of repeating template DRY\n @ViewChild('ExceptionTemplate') errorModalTemplateRef: TemplateRef;\n exceptionDialogRef: MatDialogRef;\n\n\n\n constructor(private router: Router, private snackBar: MatSnackBar, private formBuilder: FormBuilder,\n private storageService: StorageService, private _matDialog: MatDialog,\n private toast: NotificationsService, private authService: AuthService, private cdRef: ChangeDetectorRef) {\n\n super(authService, router);\n\n if (!AuthService.PartiallyAuthenticatedUser) {\n this.router.navigate([RouterConstants.LoginURL]);\n return;\n }\n\n if (!VariablesService.SecurityQuestionCreationRequestAuthor || VariablesService.SecurityQuestionCreationRequestAuthor == 0) {\n this.router.navigate([RouterConstants.LoginURL]);\n }\n\n if (VariablesService.SecurityQuestionCreationRequestAuthor != SecurityQuestionCreationRequestAuthor.RetailLogin &&\n VariablesService.SecurityQuestionCreationRequestAuthor != SecurityQuestionCreationRequestAuthor.RetailUserCreation\n ) {\n this.router.navigate([RouterConstants.LoginURL]);\n }\n\n\n this.authUserId = AuthService.PartiallyAuthenticatedUser.UserId;\n this.changePasswordFormGroup = formBuilder.group({\n newPassword: ['', Validators.required],\n confirmPassword: ['', Validators.required]\n });\n\n\n this.otpFormGroup = this.formBuilder.group({\n otp: ['', Validators.required]\n });\n\n UtilService.onPageLoadCallback();\n\n }\n\n\n onPasswordControlBlur() {\n if (this.passwordValidationPassedCount === 5) {\n this.showPasswordValidationWrap = false;\n }\n }\n\n\n onPasswordControlFocused() {\n this.showPasswordValidationWrap = true;\n }\n\n\n onEnteredPasswordChanged() {\n this.showPasswordValidationWrap = true;\n const currentPassword = this.changePasswordFormGroup.controls['newPassword'].value;\n this.AutoPasswordValidation(currentPassword);\n }\n\n\n\n togglePasswordVisibility(questionIndex: number) {\n switch (questionIndex) {\n case 1:\n this.showPassword = !this.showPassword;\n break;\n case 2:\n this.showConfirmPassword = !this.showConfirmPassword;\n break;\n }\n }\n\n\n AutoPasswordValidation(currentPassword: string) {\n\n this.passwordValidationPassedCount = 0;\n\n if (currentPassword.length > 7) {\n this.minimumPasswordLengthValidated = true;\n this.passwordValidationPassedCount = 1;\n } else {\n this.minimumPasswordLengthValidated = false;\n }\n\n if (UtilService.StringContainsUpperCaseCharacters(currentPassword)) {\n this.passwordHasUpperCaseCharacters = true;\n this.passwordValidationPassedCount += 1;\n } else {\n this.passwordHasUpperCaseCharacters = false;\n }\n\n if (UtilService.StringContainsLowerCaseCharacters(currentPassword)) {\n this.passwordHasLowerCaseCharacters = true;\n this.passwordValidationPassedCount += 1;\n } else {\n this.passwordHasLowerCaseCharacters = false;\n }\n\n if (UtilService.StringContainsDigit(currentPassword)) {\n this.passwordHasOneOrMoreNumber = true;\n this.passwordValidationPassedCount += 1;\n } else {\n this.passwordHasOneOrMoreNumber = false;\n }\n\n if (this.PasswordHasValidSymbol(currentPassword)) {\n this.passwordHasValidSymbols = true;\n this.passwordValidationPassedCount += 1;\n } else {\n this.passwordHasValidSymbols = false;\n }\n\n if (this.PasswordHas4DistinctCharaters(currentPassword)) {\n this.passwordHas4DistinctCharaters = true;\n this.passwordValidationPassedCount += 1;\n } else {\n this.passwordHas4DistinctCharaters = false;\n }\n }\n\n\n PasswordHasValidSymbol(password: string) {\n\n // #^@.:*<>(:)?|&~$%\\\n if (password.indexOf('#') >= 0 ||\n password.indexOf('^') >= 0 ||\n password.indexOf('@') >= 0 ||\n password.indexOf('.') >= 0 ||\n password.indexOf(':') >= 0 ||\n password.indexOf('*') >= 0 ||\n password.indexOf('<') >= 0 ||\n password.indexOf('>') >= 0 ||\n password.indexOf('(') >= 0 ||\n password.indexOf(')') >= 0 ||\n password.indexOf('?') >= 0 ||\n password.indexOf('|') >= 0 ||\n password.indexOf('&') >= 0 //||\n // password.indexOf('\\\\') >= 0 ||\n // password.indexOf('~') >= 0 ||\n // password.indexOf('$') >= 0 ||\n // password.indexOf('%') >= 0\n // password.indexOf('\\\\') >= 0\n ) {\n return true;\n }\n\n\n return false;\n }\n\n private PasswordHas4DistinctCharaters(password: string): boolean {\n const distinctCharsCount = [];\n for (let i = 0; i < password.length; i++) {\n if (distinctCharsCount.indexOf(password[i]) >= 0) {\n continue;\n }\n distinctCharsCount.push(password[i]);\n }\n return distinctCharsCount.length >= 4;\n }\n\n\n\n\n SavePassword(stepper: MatStepper) {\n let self = this;\n\n if (this.changePasswordFormGroup.valid) {\n\n if (UtilService.StringIsNullOrEmpty(this.changePasswordFormGroup.controls.newPassword.value)) {\n\n this.snackBar.open(\"Please enter the new password\", null, { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n return;\n }\n\n if (UtilService.StringIsNullOrEmpty(this.changePasswordFormGroup.controls.confirmPassword.value)) {\n\n this.snackBar.open(\"Please confirm the new password\", null, { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n return;\n }\n\n\n if (this.passwordValidationPassedCount < 5) {\n self.snackBar.open(\"Passwords does not meet the criteria.\", null, { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n return;\n }\n\n if (this.changePasswordFormGroup.controls['newPassword'].value != this.changePasswordFormGroup.controls['confirmPassword'].value) {\n self.snackBar.open(\"There is a password mismatch.\", null, { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n return;\n }\n\n\n if (UtilService.validatePasswordContent(this.changePasswordFormGroup.controls['newPassword'].value) != true) {\n self.snackBar.open(\"Please enter a valid new password.\", null, { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n return;\n }\n\n this.requestOngoing = true;\n self.initiateOtp(stepper);\n\n }\n }\n\n\n\n initiateOTPSub: any;\n\n initiateOtp(stepper: MatStepper) {\n\n this.initiateOTPSub = this._authService.initiateOtpRequest(\n {\n UserId: AuthService.PartiallyAuthenticatedUser.UserId,\n CifId: AuthService.PartiallyAuthenticatedUser.CifId,\n ReasonCode: OtpReasonCodes.CHANGE_PASSWORD\n }\n ).subscribe(response => {\n\n this.requestOngoing = false;\n\n if (response.ResponseCode && response.ResponseCode === ResponseCodes.SUCCESS) {\n this.otpReference = response.ResponseDescription;\n this.notificationType = response.NotificationType;\n this.maskedOtpAddress = response.NotificationAddress;\n\n stepper.next();\n\n this.snackBar.open(`Please enter the One Time Code sent to ${response.NotificationAddress} \n `, 'OK', { verticalPosition: 'top', horizontalPosition: 'right', duration: 5000 });\n return;\n }\n\n this.exceptionMessage = response.ResponseFriendlyMessage;\n this.exceptionDialogRef = UtilService.showExceptionDialog(this.exceptionDialogRef, this.errorModalTemplateRef, this._matDialog);\n\n },\n (error: any) => {\n this.requestOngoing = false;\n\n if (error && error.status != Constants.UnauthorizedStatusCode) {\n this.snackBar.open(Constants.APITechnicalErrorMessage,\n 'Ok', { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n }\n\n\n\n });\n }\n\n\n\n GoBack(stepper: MatStepper) {\n\n this.otpFormGroup.reset();\n\n // Nullify error cos of Material\n for (let cursor in this.otpFormGroup.controls) {\n this.otpFormGroup.controls[cursor].setErrors(null);\n }\n\n stepper.reset();\n }\n\n\n\n\n VerifyOTP() {\n\n let self = this;\n\n if (!self.otpFormGroup.valid) {\n this.toast.error(null, 'Please enter all required fields');\n }\n else {\n if (UtilService.StringIsNullOrEmpty(this.otpFormGroup.controls.otp.value) ||\n (this.otpFormGroup.controls.otp.value && this.otpFormGroup.controls.otp.value.length != 5)) {\n this.snackBar.open('Please enter a valid 5 digits OTP code.', 'OK',\n { verticalPosition: 'top', horizontalPosition: 'right', duration: 3000 });\n return;\n }\n\n self.requestOngoing = true;\n\n self.changePassword();\n }\n\n return false;\n }\n\n changePassword() {\n let self = this;\n\n\n self.authService.changePassword({\n UserId: AuthService.PartiallyAuthenticatedUser.UserId,\n OTP: self.otpFormGroup.controls['otp'].value,\n SourceRefId: self.otpReference,\n OldPassword: btoa(AuthService.PartiallyAuthenticatedUser.AuthPassForChange),\n NewPassword: btoa(this.changePasswordFormGroup.controls['newPassword'].value),\n })\n .then(\n response => {\n\n self.requestOngoing = false;\n\n if (response.ResponseCode == ResponseCodes.SUCCESS) {\n VariablesService.LoginPasswordChangedSuccessfully = true;\n self.router.navigate([RouterConstants.LoginURL]);\n return;\n }\n\n this.exceptionMessage = response.ResponseFriendlyMessage;\n this.exceptionDialogRef = UtilService.showExceptionDialog(this.exceptionDialogRef, this.errorModalTemplateRef, this._matDialog);\n\n },\n (error) => {\n self.requestOngoing = false;\n if (error && error.status != Constants.UnauthorizedStatusCode) {\n this.snackBar.open(Constants.APITechnicalErrorMessage,\n 'Ok', { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n }\n //self.snackBar.open(Constants.APITechnicalErrorMessage, null, { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n\n }\n );\n }\n\n\n GoBackToLoginPage() {\n this.router.navigate([RouterConstants.LoginURL]);\n }\n\n\n closeExceptionModal() {\n if (this.exceptionDialogRef) {\n this.exceptionDialogRef.close();\n }\n }\n\n ngOnDestroy() {\n if (this.initiateOTPSub) {\n this.initiateOTPSub.unsubscribe()\n }\n }\n\n}\n","module.exports = \".mat-form-field {\\n display: block !important;\\n position: relative;\\n text-align: left;\\n}\\n\\n.button-row {\\n margin-top: 10px;\\n}\\n\\n.button-row button,\\n.button-row a {\\n margin-right: 8px;\\n}\\n\\n.outline-yellow {\\n border-color: #cc8e17 !important;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvYXV0aGVudGljYXRpb24vY3JlYXRlLXNlY3VyaXR5LXF1ZXN0aW9ucy9jcmVhdGVTZWN1cml0eVF1ZXN0aW9ucy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsMEJBQTBCO0VBQzFCLG1CQUFtQjtFQUNuQixpQkFBaUI7Q0FDbEI7O0FBRUQ7RUFDRSxpQkFBaUI7Q0FDbEI7O0FBRUQ7O0VBRUUsa0JBQWtCO0NBQ25COztBQUVEO0VBQ0UsaUNBQWlDO0NBQ2xDIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvYXV0aGVudGljYXRpb24vY3JlYXRlLXNlY3VyaXR5LXF1ZXN0aW9ucy9jcmVhdGVTZWN1cml0eVF1ZXN0aW9ucy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm1hdC1mb3JtLWZpZWxkIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uYnV0dG9uLXJvdyB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5idXR0b24tcm93IGJ1dHRvbixcbi5idXR0b24tcm93IGEge1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLm91dGxpbmUteWVsbG93IHtcbiAgYm9yZGVyLWNvbG9yOiAjY2M4ZTE3ICFpbXBvcnRhbnQ7XG59XG4iXX0= */\"","module.exports = \"
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
Create Security Questions
\\n \\n The security questions you are registering here will be used for your password reset in case you forgot your\\n password. \\n \\n Please select and answer 3 unique security questions below. \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n Select Question 1\\n \\n \\n
{{question.questionDESC}}
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n Answer 1\\n \\n\\n \\n\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n Select Question 2\\n \\n \\n
{{question.questionDESC}}
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n Answer 2\\n\\n \\n\\n \\n\\n \\n \\n\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n Select Question 3\\n \\n \\n
{{question.questionDESC}}
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n Answer 3\\n \\n\\n \\n\\n \\n \\n\\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\"","import { Component, ChangeDetectorRef, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\n\n\nimport { NotificationsService } from 'angular2-notifications';\nimport { MatSnackBar } from '@angular/material';\n\nimport { AuthService } from 'src/app/core/services/auth.service';\nimport { Constants } from 'src/app/core/helpers/appConstants';\nimport { ResponseCodes, SecurityQuestionCreationRequestAuthor } from 'src/app/core/models/Enumerations';\nimport { RouterConstants } from 'src/app/core/helpers/routerConstants';\nimport { UtilService } from 'src/app/core/services/helpers.service';\nimport { VariablesService } from 'src/app/core/services/variables.service';\nimport { StorageService } from 'src/app/core/services/storage.service';\nimport { SecurityQuestion, UserSecurityQuestion } from \"src/app/core/models/auth\";\nimport { AppConfigService } from '../../../core/services/appconfig.service';\nimport { HttpClient } from '@angular/common/http';\n\n@Component({\n templateUrl: './createSecurityQuestions.component.html',\n styleUrls: ['./createSecurityQuestions.component.css']\n})\nexport class LoginSecurityQuestionComponent implements OnInit {\n\n requestOngoing: boolean;\n\n securityFormGroup: FormGroup;\n securityQuestionsBackup: Array;\n // selectedSecurityQuestionsMap: any;\n userQuestionDetails: UserSecurityQuestion;\n\n\n securityQuestionsA: Array;\n securityQuestionsB: Array;\n securityQuestionsC: Array;\n\n\n selectedSecurityQuestionA: SecurityQuestion;\n selectedSecurityQuestionB: SecurityQuestion;\n selectedSecurityQuestionC: SecurityQuestion;\n\n\n showSecurityQuestionAnswerA: boolean = false;\n showSecurityQuestionAnswerB: boolean = false;\n showSecurityQuestionAnswerC: boolean = false;\n\n\n\n constructor(private router: Router, private snackBar: MatSnackBar, private formBuilder: FormBuilder,\n private storageService: StorageService,\n private toast: NotificationsService, private authService: AuthService, private cdRef: ChangeDetectorRef) {\n\n // if (!AuthService.PartiallyAuthenticatedUser) {\n // this.router.navigate([RouterConstants.LoginURL]);\n // return;\n // }\n\n this.requestOngoing = false;\n this.securityFormGroup = formBuilder.group({\n answer1: ['', Validators.required],\n answer2: ['', Validators.required],\n answer3: ['', Validators.required],\n answer2Select: ['', Validators.required],\n answer3Select: ['', Validators.required]\n\n });\n\n UtilService.onPageLoadCallback();\n\n // try {\n // window['casa']('security_question');\n // } catch (error) {}\n\n }\n\n\n ngOnInit() {\n\n if (!VariablesService.SecurityQuestionCreationRequestAuthor || VariablesService.SecurityQuestionCreationRequestAuthor == 0) {\n this.router.navigate([RouterConstants.LoginURL]);\n }\n\n if (VariablesService.SecurityQuestionCreationRequestAuthor != SecurityQuestionCreationRequestAuthor.RetailLogin &&\n VariablesService.SecurityQuestionCreationRequestAuthor != SecurityQuestionCreationRequestAuthor.RetailUserCreation\n ) {\n this.router.navigate([RouterConstants.LoginURL]);\n }\n\n\n if (!VariablesService.SECURITY_QUESTIONS ||\n (VariablesService.SECURITY_QUESTIONS && VariablesService.SECURITY_QUESTIONS.length && VariablesService.SECURITY_QUESTIONS.length < 1)) {\n this.router.navigate([RouterConstants.LoginURL]);\n }\n\n this.securityQuestionsBackup = VariablesService.SECURITY_QUESTIONS;\n this.securityQuestionsA = this.securityQuestionsB = this.securityQuestionsC = VariablesService.SECURITY_QUESTIONS;\n\n\n this.securityFormGroup.controls.answer2.disable();\n this.securityFormGroup.controls.answer3.disable();\n this.securityFormGroup.controls.answer2Select.disable();\n this.securityFormGroup.controls.answer3Select.disable();\n\n\n this.cdRef.detectChanges();\n }\n\n\n\n toggleSecurityQuestionsVisibility(questionIndex: number) {\n switch (questionIndex) {\n case 1:\n this.showSecurityQuestionAnswerA = !this.showSecurityQuestionAnswerA;\n break;\n case 2:\n this.showSecurityQuestionAnswerB = !this.showSecurityQuestionAnswerB;\n break;\n case 3:\n this.showSecurityQuestionAnswerC = !this.showSecurityQuestionAnswerC;\n break;\n }\n }\n\n\n\n onSelectedSecurityQuestionAChanged(evtData) {\n const _selectedQuestion = evtData.value as SecurityQuestion;\n\n if (_selectedQuestion) {\n this.selectedSecurityQuestionA = _selectedQuestion;\n\n let questions;\n let filteredQuestions = this.securityQuestionsBackup.filter(x => x.questionID != this.selectedSecurityQuestionA.questionID);\n\n if (filteredQuestions && filteredQuestions.length > 0) {\n\n // Update Question B\n if (this.selectedSecurityQuestionC) {\n questions = filteredQuestions.filter(x => x.questionID != this.selectedSecurityQuestionC.questionID);\n }\n else {\n questions = filteredQuestions;\n }\n\n if (questions && questions.length > 0) {\n this.securityQuestionsB = questions;\n }\n\n\n // Update Question C\n if (this.selectedSecurityQuestionB) {\n questions = filteredQuestions.filter(x => x.questionID != this.selectedSecurityQuestionB.questionID);\n }\n else {\n questions = filteredQuestions;\n }\n\n if (questions && questions.length > 0) {\n this.securityQuestionsC = questions;\n }\n }\n\n this.securityQuestionBlur(\"answer1\");\n }\n\n }\n\n\n onSelectedSecurityQuestionBChanged(evtData) {\n const _selectedQuestion = evtData.value as SecurityQuestion;\n\n\n if (_selectedQuestion) {\n this.selectedSecurityQuestionB = _selectedQuestion;\n\n let questions;\n let filteredQuestions = this.securityQuestionsBackup.filter(x => x.questionID != this.selectedSecurityQuestionB.questionID);\n\n if (filteredQuestions && filteredQuestions.length > 0) {\n\n // Update Question A\n if (this.selectedSecurityQuestionC) {\n questions = filteredQuestions.filter(x => x.questionID != this.selectedSecurityQuestionC.questionID);\n }\n else {\n questions = filteredQuestions;\n }\n\n if (questions && questions.length > 0) {\n this.securityQuestionsA = questions;\n }\n\n\n // Update Question C\n if (this.selectedSecurityQuestionA) {\n questions = filteredQuestions.filter(x => x.questionID != this.selectedSecurityQuestionA.questionID);\n }\n else {\n questions = filteredQuestions;\n }\n\n if (questions && questions.length > 0) {\n this.securityQuestionsC = questions;\n }\n }\n\n this.securityQuestionBlur(\"answer2\");\n }\n\n\n\n }\n\n\n onSelectedSecurityQuestionCChanged(evtData) {\n const _selectedQuestion = evtData.value as SecurityQuestion;\n\n\n if (_selectedQuestion) {\n this.selectedSecurityQuestionC = _selectedQuestion;\n\n let questions;\n let filteredQuestions = this.securityQuestionsBackup.filter(x => x.questionID != this.selectedSecurityQuestionC.questionID);\n\n if (filteredQuestions && filteredQuestions.length > 0) {\n\n // Update Question A\n if (this.selectedSecurityQuestionB) {\n questions = filteredQuestions.filter(x => x.questionID != this.selectedSecurityQuestionB.questionID);\n }\n else {\n questions = filteredQuestions;\n }\n\n if (questions && questions.length > 0) {\n this.securityQuestionsA = questions;\n }\n\n\n // Update Question C\n if (this.selectedSecurityQuestionA) {\n questions = filteredQuestions.filter(x => x.questionID != this.selectedSecurityQuestionA.questionID);\n }\n else {\n questions = filteredQuestions;\n }\n\n if (questions && questions.length > 0) {\n this.securityQuestionsB = questions;\n }\n }\n }\n }\n\n\n securityQuestionBlur(formControlName: string) {\n if (formControlName == \"answer1\" && this.selectedSecurityQuestionA\n && this.securityFormGroup.controls.answer1 && !UtilService.StringIsNullOrEmpty(this.securityFormGroup.controls.answer1.value)) {\n // this.disableQuestion2 = false;\n\n this.securityFormGroup.controls.answer2.enable();\n this.securityFormGroup.controls.answer2Select.enable();\n }\n else if (formControlName == \"answer2\" && this.selectedSecurityQuestionB\n && this.securityFormGroup.controls.answer1 && !UtilService.StringIsNullOrEmpty(this.securityFormGroup.controls.answer1.value)) {\n // this.disableQuestion3 = false;\n\n this.securityFormGroup.controls.answer3.enable();\n this.securityFormGroup.controls.answer3Select.enable();\n }\n }\n\n\n\n GoBack() {\n\n if (VariablesService.SecurityQuestionCreationRequestAuthor == SecurityQuestionCreationRequestAuthor.RetailUserCreation) {\n this.router.navigate([RouterConstants.LOGIN_CREATE_RIB_USER_URL]);\n }\n else if (VariablesService.SecurityQuestionCreationRequestAuthor == SecurityQuestionCreationRequestAuthor.RetailLogin) {\n this.router.navigate([RouterConstants.LoginURL]);\n }\n else {\n this.router.navigate([RouterConstants.LoginURL]);\n }\n }\n\n\n\n createSecurityQuestion() {\n\n let self = this;\n\n if (!this.securityFormGroup.valid) {\n\n this.snackBar.open(`Security questions and answers are required.`, 'Ok',\n { verticalPosition: 'top', horizontalPosition: 'right', duration: 10000 });\n return;\n }\n else {\n\n if (UtilService.StringIsNullOrEmpty(this.securityFormGroup.controls[\"answer1\"].value) ||\n UtilService.StringIsNullOrEmpty(this.securityFormGroup.controls[\"answer2\"].value) ||\n UtilService.StringIsNullOrEmpty(this.securityFormGroup.controls[\"answer2\"].value)) {\n\n this.snackBar.open(`All the security question answers are required.`, 'Ok',\n { verticalPosition: 'top', horizontalPosition: 'right', duration: 10000 });\n return;\n }\n\n\n let questionIDArray = [];\n\n questionIDArray.push(this.selectedSecurityQuestionA.questionID);\n questionIDArray.push(this.selectedSecurityQuestionB.questionID);\n questionIDArray.push(this.selectedSecurityQuestionC.questionID);\n\n\n questionIDArray = UtilService.GetUniqueArray(questionIDArray);\n\n if (questionIDArray.length < 3) {\n this.snackBar.open(`Please select unique security questions.`, 'Ok',\n { verticalPosition: 'top', horizontalPosition: 'right', duration: 10000 });\n return;\n }\n\n let userQuestions = new UserSecurityQuestion();\n\n if (AuthService.PartiallyAuthenticatedUser) {\n userQuestions.userId = AuthService.PartiallyAuthenticatedUser.UserId;\n }\n else {\n userQuestions.userId = AuthService.UnauthenticatedUserId;\n }\n\n userQuestions.questions = this.securityQuestionsBackup.filter(x => x.questionID == this.selectedSecurityQuestionA.questionID ||\n x.questionID == this.selectedSecurityQuestionB.questionID || x.questionID == this.selectedSecurityQuestionC.questionID);\n\n\n userQuestions.questions.find(x => x.questionID == this.selectedSecurityQuestionA.questionID).answer = this.securityFormGroup.controls[\"answer1\"].value;\n userQuestions.questions.find(x => x.questionID == this.selectedSecurityQuestionB.questionID).answer = this.securityFormGroup.controls[\"answer2\"].value;\n userQuestions.questions.find(x => x.questionID == this.selectedSecurityQuestionC.questionID).answer = this.securityFormGroup.controls[\"answer3\"].value;\n\n\n self.userQuestionDetails = userQuestions;\n\n\n if (VariablesService.SecurityQuestionCreationRequestAuthor == SecurityQuestionCreationRequestAuthor.RetailLogin\n ) {\n // create security questions and move to change password\n return;\n }\n\n // From User creation page\n self.createProfile();\n\n }\n }\n\n\n\n\n createProfile() {\n\n let self = this;\n\n self.userQuestionDetails.otp = \"111\"\n self.userQuestionDetails.requestID = AuthService.userCreationRequestId;\n self.userQuestionDetails.customerId = AuthService.userCreationCIFId;\n\n\n self.requestOngoing = true;\n\n self.authService.doRIBUserCreation({\n accountID: AuthService.UnauthenticatedUserId,\n customerId: self.userQuestionDetails.customerId,\n sourceRef: self.userQuestionDetails.requestID,\n requestID: self.userQuestionDetails.requestID,\n referralCode: self.userQuestionDetails.requestID,\n OTP: self.userQuestionDetails.otp,\n questionDetailList: self.userQuestionDetails.questions\n })\n .then(\n response => {\n\n self.requestOngoing = false;\n\n if (response.ResponseCode == ResponseCodes.SUCCESS ||\n (response.ResponseCode == ResponseCodes.TechnicalError && AppConfigService.isUATModeForRetailUserCreation)) {\n VariablesService.UseValidateOTPPageForRIBFirstTimeLoginAfterRegistration = true;\n this.router.navigate([RouterConstants.FullValidateOTPURL]);\n }\n else {\n self.snackBar.open(response.ResponseFriendlyMessage, null, { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n }\n\n },\n (error) => {\n if (error && error.status != Constants.UnauthorizedStatusCode) {\n this.snackBar.open(Constants.APITechnicalErrorMessage,\n 'Ok', { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n }\n //self.snackBar.open(Constants.APITechnicalErrorMessage, null, { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n self.requestOngoing = false;\n }\n );\n }\n\n}\n","module.exports = \".mat-form-field {\\n display: block !important;\\n position: relative;\\n text-align: left;\\n}\\n\\n.button-row {\\n margin-top: 10px;\\n}\\n\\n.button-row button,\\n.button-row a {\\n margin-right: 8px;\\n}\\n\\n.outline-yellow {\\n border-color: #cc8e17 !important;\\n}\\n\\n.mat-form-field {\\n display: block !important;\\n position: relative;\\n text-align: left;\\n}\\n\\n.button-row {\\n margin-top: 10px;\\n}\\n\\n.button-row button,\\n.button-row a {\\n margin-right: 8px;\\n}\\n\\n.outline-yellow {\\n border-color: #cc8e17 !important;\\n}\\n\\n.tc-header {\\n text-align: center;\\n font-family: 'Libre Franklin';\\n color: #333;\\n margin-bottom: 10px;\\n font-weight: 200;\\n font-size: 24px;\\n margin-top: 15px;\\n}\\n\\n.tc-inner-wrap {\\n border-top: 1px solid #ccc;\\n width: 100%;\\n padding: 20px 0;\\n margin: 0;\\n}\\n\\n.tc-inner-wrap::before {\\n content: \\\" \\\";\\n display: table;\\n}\\n\\n.tc-inner-wrap .conditions {\\n margin-bottom: 25px;\\n font-family: 'Libre Franklin';\\n color: #666;\\n font-size: 13px;\\n line-height: 18px;\\n text-align: justify;\\n}\\n\\n.tc-inner-wrap .conditiom-heading {\\n margin-bottom: 10px;\\n font-family: 'Libre Franklin';\\n font-size: 15px;\\n color: #333;\\n display: block;\\n}\\n\\n.tc-inner-wrap .condition-desc {\\n font-family: 'Libre Franklin';\\n font-size: 13px;\\n color: #666;\\n}\\n\\n.close-reveal-modal1 {\\n z-index: 100;\\n line-height: 1;\\n position: relative;\\n font-weight: 700;\\n cursor: pointer;\\n color: #2570e0;\\n font-size: 20px;\\n width: 33px;\\n float: right;\\n}\\n\\n@media screen and (max-width: 360px) {\\n\\n .consent-last-radio {\\n margin-left: 1px !important;\\n float: none;\\n cursor: pointer;\\n clear: both;\\n margin-top: 7px;\\n }\\n\\n}\\n\\n@media screen and (min-width: 361px) {\\n\\n .consent-last-radio {\\n margin-left: 6px !important;\\n }\\n\\n}\\n\\nmain{\\n height: 100vh;\\n display: flex;\\n justify-content: center;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvYXV0aGVudGljYXRpb24vbG9naW4vbG9naW4uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDBCQUEwQjtFQUMxQixtQkFBbUI7RUFDbkIsaUJBQWlCO0NBQ2xCOztBQUVEO0VBQ0UsaUJBQWlCO0NBQ2xCOztBQUVEOztFQUVFLGtCQUFrQjtDQUNuQjs7QUFFRDtFQUNFLGlDQUFpQztDQUNsQzs7QUFHRDtFQUNFLDBCQUEwQjtFQUMxQixtQkFBbUI7RUFDbkIsaUJBQWlCO0NBQ2xCOztBQUVEO0VBQ0UsaUJBQWlCO0NBQ2xCOztBQUVEOztFQUVFLGtCQUFrQjtDQUNuQjs7QUFFRDtFQUNFLGlDQUFpQztDQUNsQzs7QUFJRDtFQUNFLG1CQUFtQjtFQUNuQiwrQkFBK0I7RUFDL0IsWUFBWTtFQUNaLG9CQUFvQjtFQUNwQixpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtDQUNsQjs7QUFFRDtFQUNFLDJCQUEyQjtFQUMzQixZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hCLFVBQVU7Q0FDWDs7QUFFRDtFQUNFLGFBQWE7RUFDYixlQUFlO0NBQ2hCOztBQUdEO0VBQ0Usb0JBQW9CO0VBQ3BCLCtCQUErQjtFQUMvQixZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixvQkFBb0I7Q0FDckI7O0FBRUQ7RUFDRSxvQkFBb0I7RUFDcEIsOEJBQThCO0VBQzlCLGdCQUFnQjtFQUNoQixZQUFZO0VBQ1osZUFBZTtDQUNoQjs7QUFFRDtFQUNFLCtCQUErQjtFQUMvQixnQkFBZ0I7RUFDaEIsWUFBWTtDQUNiOztBQUdEO0VBQ0UsYUFBYTtFQUNiLGVBQWU7RUFDZixtQkFBbUI7RUFDbkIsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLFlBQVk7RUFDWixhQUFhO0NBQ2Q7O0FBR0Q7O0VBRUU7SUFDRSw0QkFBNEI7SUFDNUIsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixZQUFZO0lBQ1osZ0JBQWdCO0dBQ2pCOztDQUVGOztBQUdEOztFQUVFO0lBQ0UsNEJBQTRCO0dBQzdCOztDQUVGOztBQUVEO0VBQ0UsY0FBYztFQUNkLGNBQWM7RUFDZCx3QkFBd0I7Q0FDekIiLCJmaWxlIjoic3JjL2FwcC9wYWdlcy9hdXRoZW50aWNhdGlvbi9sb2dpbi9sb2dpbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm1hdC1mb3JtLWZpZWxkIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uYnV0dG9uLXJvdyB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5idXR0b24tcm93IGJ1dHRvbixcbi5idXR0b24tcm93IGEge1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLm91dGxpbmUteWVsbG93IHtcbiAgYm9yZGVyLWNvbG9yOiAjY2M4ZTE3ICFpbXBvcnRhbnQ7XG59XG5cblxuLm1hdC1mb3JtLWZpZWxkIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uYnV0dG9uLXJvdyB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5idXR0b24tcm93IGJ1dHRvbixcbi5idXR0b24tcm93IGEge1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLm91dGxpbmUteWVsbG93IHtcbiAgYm9yZGVyLWNvbG9yOiAjY2M4ZTE3ICFpbXBvcnRhbnQ7XG59XG5cblxuXG4udGMtaGVhZGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogICdMaWJyZSBGcmFua2xpbic7XG4gIGNvbG9yOiAjMzMzO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LXdlaWdodDogMjAwO1xuICBmb250LXNpemU6IDI0cHg7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbi50Yy1pbm5lci13cmFwIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuLnRjLWlubmVyLXdyYXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuXG4udGMtaW5uZXItd3JhcCAuY29uZGl0aW9ucyB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIGZvbnQtZmFtaWx5OiAgJ0xpYnJlIEZyYW5rbGluJztcbiAgY29sb3I6ICM2NjY7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG5cbi50Yy1pbm5lci13cmFwIC5jb25kaXRpb20taGVhZGluZyB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiAnTGlicmUgRnJhbmtsaW4nO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGNvbG9yOiAjMzMzO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnRjLWlubmVyLXdyYXAgLmNvbmRpdGlvbi1kZXNjIHtcbiAgZm9udC1mYW1pbHk6ICAnTGlicmUgRnJhbmtsaW4nO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiAjNjY2O1xufVxuXG5cbi5jbG9zZS1yZXZlYWwtbW9kYWwxIHtcbiAgei1pbmRleDogMTAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjMjU3MGUwO1xuICBmb250LXNpemU6IDIwcHg7XG4gIHdpZHRoOiAzM3B4O1xuICBmbG9hdDogcmlnaHQ7XG59XG5cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzYwcHgpIHtcblxuICAuY29uc2VudC1sYXN0LXJhZGlvIHtcbiAgICBtYXJnaW4tbGVmdDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG1hcmdpbi10b3A6IDdweDtcbiAgfVxuXG59XG5cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzYxcHgpIHtcblxuICAuY29uc2VudC1sYXN0LXJhZGlvIHtcbiAgICBtYXJnaW4tbGVmdDogNnB4ICFpbXBvcnRhbnQ7XG4gIH1cblxufVxuXG5tYWlue1xuICBoZWlnaHQ6IDEwMHZoO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbiJdfQ== */\"","module.exports = \"
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\\"Stanbic\\n

Login to your account

\\n
\\n
\\n \\n Login User ID \\n \\n \\n
\\n
\\n \\n Password\\n \\n\\n \\n\\n \\n \\n \\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
Data Privacy Consent
\\n
\\n
\\n
\\n
\\n
Data Consent You consent to us\\n collecting your Personal Information from you and where lawful and reasonable, from public sources\\n for credit, fraud and compliance purposes, as well as the purposes set out below.
\\n
If you give us Personal Information about or on behalf of another\\n person (including, but not limited to, account signatories, shareholders, principal executive\\n officers, trustees and beneficiaries), you confirm that you are authorised to: \\n

(a) give us the Personal Information;

\\n

(b) consent on their behalf to the Processing of\\n their Personal Information, specifically any cross-border transfer of Personal Information into\\n and outside the country where the products or services are provided; and

\\n

(c) receive any privacy notices on\\n their behalf.

\\n
\\n
You consent to us Processing your Personal Information: • to provide products and services to you in terms of\\n this agreement and any other products and services for which you may apply;

\\n

• to carry out statistical and other analyses to\\n identify potential markets and trends, evaluate and improve our business (this includes\\n improving existing and developing new products and services);

\\n

• In countries outside the country where the\\n products or services are provided. These countries may not have the same data protection laws as\\n the country where the products or services are provided. Where we can, we will ask the receiving\\n party to agree to our privacy policies;

\\n

• By sharing your Personal Information with our\\n third-party service providers, locally and outside the country where the products or services\\n are provided. We ask people who provide services to us to agree to our privacy policies if they\\n need access to any Personal Information to carry out their services; and

\\n

• Within the Group.

\\n
\\n
You will find our Processing practices in the Group’s and our privacy\\n statements. These statements are available on the Group’s websites or on request.
\\n
If you are unsure about your tax or legal position because your Personal\\n Information is processed in countries other than where you live, you should get independent\\n advice.
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n I agree to the above Data Consent. \\n \\n \\n \\n \\n
Consent Please tick applicable
\\n \\n Yes\\n \\n \\n No \\n \\n
\\n
\\n
\\n
Marketing Consent Permission to market products and services As part of our service we\\n would like to give you information about products and services offered by the Group, which we\\n believe may benefit you. The Group means Standard Bank Group Limited, its subsidiaries and their\\n subsidiaries including Stanbic IBTC Bank PLC. Because your personal information is confidential,\\n we need your consent to share it within the Group. \\n
\\n
\\n

\\n Consent

\\n

\\n Please tick applicable

\\n
\\n
\\n

I give my consent that you may communicate other companies’\\n products, services and special offers to me. If I respond positively to the communication,\\n that company may contact me.

\\n \\n Yes\\n \\n No\\n \\n \\n
\\n
\\n

Contact me for research purposes. (The research companies we use\\n follow strict codes of conduct and treat customer information confidentially). \\n

\\n \\n Yes\\n \\n No\\n \\n \\n
\\n
\\n

Market your products, services and special offers to me. \\n

\\n \\n Yes\\n \\n No\\n \\n \\n
\\n
\\n

Share my personal information within the Group for marketing\\n purposes and that the Group may then market its products, services and special offers to\\n me.

\\n \\n Yes\\n \\n No \\n \\n
\\n
\\n

Submit

\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
Data Privacy Consent
\\n
\\n
\\n
\\n
\\n
\\n\\n Declining data consent\\n may\\n impact our ability to serve you. For more details, please contact +234 1 422 2222 or\\n Customercarenigeria@stanbicibtc.com \\n
\\n
\\n
\\n
\\n
\\n\\n
\\n

\\n\\n \\n\\n\\n \\n\\n \\n

\\n\\n
\\n \\n   Saving your consent... Please wait.\\n
\\n\\n\\n
\\n\\n\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n\\n\\n\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
Reset Session
\\n
\\n
\\n
\\n cancel\\n
\\n
\\n
\\n
\\n\\n A user session already exist.\\n Please\\n click continue to terminate the session.\\n
\\n
\\n\\n\\n
\\n

\\n \\n \\n

\\n
\\n\\n\\n
\\n\\n
\\n
\\n
\\n A One Time PIN has been sent to the following email {{maskedResetSessionOtpAddress}}
\\n
\\n A One Time PIN has been sent to the following number {{maskedResetSessionOtpAddress}}
\\n
\\n \\n One Time Pin \\n \\n \\n
\\n
\\n \\n \\n\\n \\n
\\n
\\n
\\n\\n
\\n \\n   Resetting your session... Please\\n wait.\\n
\\n
\\n\\n\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
Secret question authentication
\\n
\\n
\\n\\n
\\n
\\n \\n Enter answer to any of your\\n secret question\\n\\n \\n \\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n\\n
\\n \\n   loading... Please\\n wait.\\n
\\n
\\n
\\n\\n\\n
\\n\\n\\n\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n\"","import {\n Component,\n ChangeDetectorRef,\n OnInit,\n TemplateRef,\n ViewChild,\n} from \"@angular/core\";\nimport { Router } from \"@angular/router\";\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\nimport { NotificationsService } from \"angular2-notifications\";\n\nimport { MatSnackBar, MatDialogRef, MatDialog } from \"@angular/material\";\n\nimport { AuthService } from \"src/app/core/services/auth.service\";\nimport { UtilService } from \"src/app/core/services/helpers.service\";\nimport {\n ResponseCodes,\n SecurityQuestionCreationRequestAuthor,\n OtpReasonCodes,\n} from \"src/app/core/models/Enumerations\";\nimport { Constants } from \"src/app/core/helpers/appConstants\";\nimport { RouterConstants } from \"src/app/core/helpers/routerConstants\";\nimport { AppUser } from \"src/app/core/models/auth\";\nimport { StorageService } from \"src/app/core/services/storage.service\";\nimport { VariablesService } from \"../../../core/services/variables.service\";\nimport { AppConfigService } from \"../../../core/services/appconfig.service\";\nimport { MultiWindowService } from \"ngx-multi-window\";\nimport { Subscription } from \"../../../../../node_modules/rxjs\";\nimport { SignalRService } from \"../../../core/services/signalr.service\";\n\ndeclare var runFingerPrint: any;\ndeclare var fingerPrintOptions: any;\n\n@Component({\n templateUrl: \"./login.component.html\",\n styleUrls: [\"./login.component.css\"],\n})\nexport class LoginComponent implements OnInit {\n requestOngoing: boolean;\n loginFormGroup: FormGroup;\n\n loginSub: any;\n\n getUserDataPrivacyConsentSub: Subscription;\n updateUserPrivacyConsentSub: Subscription;\n sendOTPSub: Subscription;\n\n customerConsent = {\n consentGiven: \"Y\",\n otherCompanies: \"Y\",\n researchPurpose: \"Y\",\n products: \"Y\",\n withinGroup: \"Y\",\n };\n\n showPassword: boolean = false;\n\n @ViewChild(\"dataPrivacyModalTemplate\")\n dataPrivacyModalTemplate: TemplateRef;\n public dataPrivacyModalRef: MatDialogRef;\n\n @ViewChild(\"dataConsentWarningModalTemplate\")\n dataConsentWarningModalTemplate: TemplateRef;\n public dataConsentWarningModalRef: MatDialogRef;\n deviceCookie: string;\n deviceUUID: string;\n timeZone: string;\n isLocalCookie: boolean;\n\n @ViewChild(\"resetSessionModalTemplate\")\n resetSessionModalTemplate: TemplateRef;\n public resetSessionModalTemplateRef: MatDialogRef;\n\n maskedResetSessionOtpAddress: string;\n resetSessionNotificationType: string;\n resetSessionOtpReference: string;\n resetSessionViewIndex: number = 0;\n\n otpFormGroup: FormGroup;\n\n constructor(\n private formBuilder: FormBuilder,\n private router: Router,\n private cdRef: ChangeDetectorRef,\n private toast: NotificationsService,\n private authService: AuthService,\n private storageService: StorageService,\n private _snackbar: MatSnackBar,\n private _matDialog: MatDialog,\n private multiWindowService: MultiWindowService,\n private _signalRService: SignalRService\n ) {\n localStorage.clear();\n\n try {\n window['casa']('login');\n } catch (error) {}\n\n document.title = \"STANBIC IBTC BANK PLC\";\n\n this.loginFormGroup = this.formBuilder.group({\n userID: [\"\", Validators.required],\n password: [\"\", Validators.required],\n });\n\n if (VariablesService.LoginPasswordChangedSuccessfully) {\n this._snackbar.open(\n `Please login with your newly changed password`,\n \"Ok\",\n { duration: 10000 }\n );\n VariablesService.LoginPasswordChangedSuccessfully = false;\n }\n\n if (VariablesService.SessionTimedOut) {\n VariablesService.SessionTimedOut = false;\n this._snackbar\n .open(Constants.TIMEOUT_LOGOUT_MESSAGE, \"OK\", { duration: 600000 })\n .onAction()\n .subscribe(() => (this.requestOngoing = false));\n return;\n }\n\n if (VariablesService.SessionInvalid) {\n VariablesService.SessionInvalid = false;\n this._snackbar.open(Constants.MULTI_SESSION_LOGOUT_MESSAGE, \"OK\", {\n duration: 600000,\n });\n return;\n }\n\n UtilService.onPageLoadCallback(\"login\", false);\n UtilService.onLoginPageCallback();\n\n\n var CSID = Number(new Date());\n this.baki();\n // this.loginLoader();\n //this.loginLoader2();\n }\n\n ngOnInit(): void {\n // const dom_refreshed = sessionStorage.getItem(Constants.DOM_REFRESHED_KEY);\n // if (!dom_refreshed || dom_refreshed === 'N') {\n // sessionStorage.setItem(Constants.DOM_REFRESHED_KEY, 'Y');\n // location.reload();\n // }\n\n this.otpFormGroup = this.formBuilder.group({\n otp: [\"\", Validators.required],\n });\n\n AuthService.useLoginTokenForSessionTokenOnNextAPICall = true;\n AuthService.ValidateUserSession = true;\n if (AuthService.signalRConnectionOpened) {\n this._signalRService\n .stopConnection()\n .then(() => {\n console.log(\"Signalr connection closed on login\");\n })\n .catch((err) =>\n console.log(\"Error stopping Connection on logout click: \" + err)\n );\n }\n let self = this;\n setTimeout(function () {\n fingerPrintOptions.POST_ALL_COMPONENTS = false;\n fingerPrintOptions.RUN_FINGERPRINT = false;\n fingerPrintOptions.POST_DATA = false;\n\n runFingerPrint(function (fingerprint, uid) {\n self.deviceCookie = fingerprint;\n self.deviceUUID = uid.UID;\n self.isLocalCookie = false;\n if (uid.Source && uid.Source.toLowerCase() == \"localstorage\") {\n self.isLocalCookie = true;\n }\n let resolvedTimezoneSettings = Intl.DateTimeFormat().resolvedOptions();\n if (resolvedTimezoneSettings && resolvedTimezoneSettings.timeZone) {\n self.timeZone = resolvedTimezoneSettings.timeZone;\n }\n });\n }, 100);\n\n // this.router.navigate([RouterConstants.SurveyURL])\n\n }\n\n goToQuickServices() {\n // const quickServiceUrl = 'https://ibanking.stanbicibtcbank.com/quickservices/#/home';\n const quickServiceUrl =\n \" https://customerquickserviceui.stanbicibtc-devase.p.azurewebsites.net/\";\n window.open(quickServiceUrl, \"_blank\");\n window.focus();\n }\n togglePasswordVisibility() {\n this.showPassword = !this.showPassword;\n }\n\n LoginUser(): boolean {\n this._snackbar.dismiss();\n if (this.requestOngoing) {\n this._snackbar\n .open(\n `Signin request in progress .. Do you want to cancel and start again?`,\n \"Yes\",\n { duration: 20000 }\n )\n .onAction()\n .subscribe(() => (this.requestOngoing = false));\n return;\n }\n //this.authService.logout();\n let self = this;\n\n if (\n !self.loginFormGroup.valid ||\n (self.loginFormGroup.valid &&\n (UtilService.trim(self.loginFormGroup.controls[\"userID\"].value).length <\n 1 ||\n UtilService.trim(self.loginFormGroup.controls[\"password\"].value)\n .length < 1))\n ) {\n this.toast.error(null, \"Please enter all required fields\");\n } else {\n self.requestOngoing = true;\n self.authenticateUser();\n }\n\n return false;\n }\n\n responseToken: string;\n\n // baki(UID) {\n // // console.log(\"Bakiiii\", UID)\n // var result = {\n // \"u\": { \"p\": [UID] }\n // }\n // return result;\n // }\n\n baki() {\n var result = {\n \"c\": Number(new Date()).toString()\n ,\n };\n console.log(result)\n\n return result;\n }\n\n // loginLoader() {\n // var f = document,\n // e = window,\n // i = e.location.protocol,\n // b = [\n // [\n // \"src\",\n // [\n // i == \"https:\" ? \"https:/\" : \"http:/\",\n // \"abb.retailbankinguat.stanbicibtc.com/7375241/mont.js?dt=login&r=\" +\n // Math.random(),\n // ].join(\"/\"),\n // ],\n // [\"type\", \"text/javascript\"],\n // [\"async\", true],\n // ],\n // c = f.createElement(\"script\"),\n // h = f.getElementsByTagName(\"head\")[0];\n // setTimeout(function () {\n // for (\n // var d = 0,\n // l =\n // // @ts-ignore\n // b.length;\n // d < l;\n // d++\n // ) {\n // // @ts-ignore\n // c.setAttribute(b[d][0], b[d][1]);\n // }\n // h.appendChild(c);\n // }, 0);\n // }\n\n // loginLoader2() {\n // var c = window,\n // d = document,\n // g = c.location.protocol,\n // f = d.getElementsByTagName(\"head\")[0],\n // b = d.createElement(\"script\");\n // b.src =\n // `${g == \"https:\" ? \"https://\" : \"http://\"}abb.retailbankinguat.stanbicibtc.com/7375241/eri.js?r=${Math.random()}`;\n // b.async = true;\n // setTimeout(function () {\n // b.type = \"text/javascript\";\n // f.appendChild(b);\n // }, 0);\n // }\n\n authenticateUser() {\n let self = this;\n AuthService.UnauthenticatedUserId =\n self.loginFormGroup.controls[\"userID\"].value;\n\n localStorage.setItem(\"tempUserId\", AuthService.UnauthenticatedUserId);\n AuthService.IntellixDeviceSession = UtilService.generateSessionId();\n\n this.loginSub = this.authService\n .authenticateUser({\n userId: self.loginFormGroup.controls[\"userID\"].value.trim(),\n password: self.loginFormGroup.controls[\"password\"].value.trim(),\n returnRMDetails: true,\n ClientTimeZone: self.timeZone,\n DeviceCookie: this.deviceCookie,\n DeviceUUID: this.deviceUUID,\n SessionId: AuthService.IntellixDeviceSession,\n })\n .subscribe(\n (response) => {\n self.requestOngoing = false;\n\n if (response.ResponseCode == ResponseCodes.ResetSessionOnLogin) {\n this._showReseSessionModal();\n return;\n }\n\n if (!AuthService.PartiallyAuthenticatedUser) {\n AuthService.PartiallyAuthenticatedUser = new AppUser();\n }\n\n this.responseToken = response.Token;\n\n AuthService.PartiallyAuthenticatedUser.CifId = response.CifId;\n AuthService.PartiallyAuthenticatedUser.UserId =\n self.loginFormGroup.controls[\"userID\"].value;\n AuthService.PartiallyAuthenticatedUser.OTPResponseDescription =\n response.OTPResponseDescription;\n AuthService.PartiallyAuthenticatedUser.OTPNotificationAddress =\n response.NotificationAddress;\n AuthService.PartiallyAuthenticatedUser.OTPNotificationType =\n response.NotificationType;\n AuthService.PartiallyAuthenticatedUser.Firstname = response.FirstName;\n AuthService.PartiallyAuthenticatedUser.Lastname = response.LastName;\n AuthService.PartiallyAuthenticatedUser.SessionId = response.SessionId;\n AuthService.PartiallyAuthenticatedUser.LastLoginIn =\n response.LastLoginIn;\n AuthService.PartiallyAuthenticatedUser.YPSFlixDescription =\n response.YPSFlixDescription;\n AuthService.PartiallyAuthenticatedUser.MenuProfile =\n response.MenuProfile;\n AuthService.PartiallyAuthenticatedUser.LimitedAccess = false;\n AuthService.PartiallyAuthenticatedUser.LoginStatus =\n response.ResponseCode;\n\n AuthService.PartiallyAuthenticatedUser.AccountOfficerEmail =\n response.accountEmail == \"-999-\"\n ? AppConfigService.DefaultStanbicAccountOficerEmail\n : response.accountEmail;\n AuthService.PartiallyAuthenticatedUser.AccountOfficerName =\n response.accountOfficerName == \"-999-\"\n ? \"\"\n : response.accountOfficerName;\n this.authService.SetAccessPassCache(\n AuthService.PartiallyAuthenticatedUser.YPSFlixDescription\n );\n\n if (response && response.ResponseCode == \"04\") {\n response.ResponseCode = ResponseCodes.SUCCESS;\n }\n\n if (\n response.ResponseCode == ResponseCodes.SUCCESS ||\n response.ResponseCode ==\n ResponseCodes.LoginSuccessWithLimitedAccess ||\n response.ResponseCode ==\n ResponseCodes.LoginSuccessWithLimitedAccessUnderReview ||\n response.ResponseCode == ResponseCodes.FailedSessionOnValidateOTP\n ) {\n self.authService.setPartialLoginToken();\n\n if (\n response.ResponseCode ==\n ResponseCodes.LoginSuccessWithLimitedAccess ||\n response.ResponseCode ==\n ResponseCodes.LoginSuccessWithLimitedAccessUnderReview\n ) {\n AuthService.PartiallyAuthenticatedUser.LimitedAccess = true;\n }\n\n //Is SME USER\n if (\n (response.ResponseCode == ResponseCodes.SUCCESS ||\n response.ResponseCode ==\n ResponseCodes.FailedSessionOnValidateOTP) &&\n !UtilService.StringIsNullOrEmpty(\n AuthService.PartiallyAuthenticatedUser.MenuProfile\n ) &&\n AuthService.PartiallyAuthenticatedUser.MenuProfile != \"-999-\" &&\n !UtilService.StringIsNullOrEmpty(\n AuthService.PartiallyAuthenticatedUser.YPSFlixDescription\n )\n ) {\n AuthService.FirstValidateOTPToken = response.Token;\n AuthService.ValidateUserSession = true;\n if (\n response.ResponseCode ==\n ResponseCodes.FailedSessionOnValidateOTP\n ) {\n AuthService.ValidateUserSession = false;\n }\n\n // let knowAppWindows = this.multiWindowService.getKnownWindows();\n\n // if (knowAppWindows && knowAppWindows.length > 0) {\n\n // for (let appWindow of knowAppWindows) {\n // if (!appWindow.self) {\n // this.multiWindowService.sendMessage(appWindow.id, 'customEvent', \"obkg_stanbic_rm_session\");\n // }\n // }\n // }\n\n this.authService.useTokenForSubsequentAPICalls(response.Token);\n\n if (!AuthService.createFullyLoggedInUser()) {\n self.router.navigate([RouterConstants.LoginURL]);\n return;\n }\n\n self.CheckIfDataPrivacyConsentExist();\n return;\n }\n\n self.router.navigate([RouterConstants.FullValidateOTPURL]);\n } else if (\n response.ResponseCode == ResponseCodes.PasswordChangeRequired\n ) {\n AuthService.PartiallyAuthenticatedUser.AuthPassForChange =\n self.loginFormGroup.controls[\"password\"].value;\n VariablesService.SecurityQuestionCreationRequestAuthor =\n SecurityQuestionCreationRequestAuthor.RetailLogin;\n AuthService.ValidateUserSession = false;\n self.router.navigate([RouterConstants.LOGIN_CHANGE_PASSWORD_URL]);\n } else if (\n response.ResponseCode ==\n ResponseCodes.QuestionAndPasswordRegistrationRequired\n ) {\n AuthService.PartiallyAuthenticatedUser.AuthPassForChange =\n self.loginFormGroup.controls[\"password\"].value;\n VariablesService.SecurityQuestionCreationRequestAuthor =\n SecurityQuestionCreationRequestAuthor.RetailLogin;\n AuthService.ValidateUserSession = false;\n self.router.navigate([\n RouterConstants.LOGIN_CREATE_SECURITY_QUESTIONS_URL,\n ]);\n } else {\n this.toast.error(null, response.ResponseFriendlyMessage);\n }\n },\n (error: any) => {\n // this.toast.error(null, Constants.APITechnicalErrorMessage);\n if (error && error.status != Constants.UnauthorizedStatusCode) {\n this._snackbar.open(Constants.APITechnicalErrorMessage, \"Ok\", {\n verticalPosition: \"bottom\",\n horizontalPosition: \"right\",\n duration: 1500,\n });\n }\n self.requestOngoing = false;\n AuthService.ValidateUserSession = false;\n }\n );\n }\n\n CheckIfDataPrivacyConsentExist() {\n let self = this;\n\n self.requestOngoing = true;\n\n self.getUserDataPrivacyConsentSub = self.authService\n .CheckIfDataPrivacyConsentExist(\n AuthService.FullyAuthenticatedUser.UserId,\n AuthService.FullyAuthenticatedUser.CifId\n )\n .subscribe(\n (response) => {\n self.requestOngoing = false;\n\n if (response.ResponseCode == ResponseCodes.SUCCESS) {\n self.requestOngoing = true;\n\n self.router.navigate([RouterConstants.FullDashboardURL]);\n } else {\n if (UtilService.isNotBigScreen()) {\n self.dataPrivacyModalRef = UtilService.showBasicModal(\n self.dataPrivacyModalRef,\n self.dataPrivacyModalTemplate,\n this._matDialog,\n true,\n 100\n );\n } else {\n this.dataPrivacyModalRef = UtilService.showBasicModal(\n this.dataPrivacyModalRef,\n this.dataPrivacyModalTemplate,\n this._matDialog,\n true,\n 60\n );\n }\n }\n },\n (error: any) => {\n if (error && error.status != Constants.UnauthorizedStatusCode) {\n this._snackbar.open(Constants.APITechnicalErrorMessage, \"Ok\", {\n verticalPosition: \"bottom\",\n horizontalPosition: \"right\",\n duration: 1500,\n });\n }\n self.requestOngoing = false;\n self.router.navigate([RouterConstants.FullDashboardURL]);\n },\n () => {\n self.requestOngoing = false;\n }\n );\n }\n\n _showReseSessionModal() {\n let self = this;\n if (UtilService.isNotBigScreen()) {\n self.resetSessionModalTemplateRef = UtilService.showBasicModal(\n self.resetSessionModalTemplateRef,\n self.resetSessionModalTemplate,\n this._matDialog,\n true,\n 100\n );\n } else {\n this.resetSessionModalTemplateRef = UtilService.showBasicModal(\n this.dataPrivacyModalRef,\n this.resetSessionModalTemplate,\n this._matDialog,\n true,\n 60\n );\n }\n return;\n }\n\n _closeResetSessionModal() {\n if (this.resetSessionModalTemplateRef) {\n this.resetSessionModalTemplateRef.close();\n this.resetSessionViewIndex = 0;\n\n this.otpFormGroup.controls.otp.setErrors(null);\n this.otpFormGroup.reset();\n }\n }\n\n sendResetSessionOTP(isResend: boolean = false) {\n let self = this;\n\n if (this.sendOTPSub) {\n this.sendOTPSub.unsubscribe();\n }\n\n self.requestOngoing = true;\n\n this.sendOTPSub = this.authService\n .initiateOtpRequest({\n UserId: UtilService.trim(this.loginFormGroup.controls[\"userID\"].value),\n ReasonCode: OtpReasonCodes.GENERIC,\n ReasonDescription: \"Reset session\",\n })\n .subscribe(\n (response) => {\n this.requestOngoing = false;\n if (response.ResponseCode == ResponseCodes.SUCCESS) {\n this.resetSessionNotificationType = response.NotificationType;\n this.maskedResetSessionOtpAddress = response.NotificationAddress;\n this.resetSessionOtpReference = response.ResponseDescription;\n\n if (isResend == true) {\n this._snackbar.open(\"OTP sent successfully.\", null, {\n verticalPosition: \"bottom\",\n horizontalPosition: \"right\",\n duration: 1500,\n });\n } else {\n this.resetSessionViewIndex = 1;\n }\n\n return;\n }\n\n this._snackbar.open(\n \"OTP could not be sent at the moment. Please try again later.\",\n null,\n {\n verticalPosition: \"top\",\n horizontalPosition: \"right\",\n duration: 2500,\n }\n );\n self.cdRef.detectChanges();\n },\n (error: any) => {\n self.requestOngoing = false;\n this._snackbar.open(Constants.APITechnicalErrorMessage, null, {\n verticalPosition: \"top\",\n horizontalPosition: \"right\",\n duration: 2500,\n });\n }\n );\n }\n\n resetSession() {\n if (!this.otpFormGroup.valid || !this.otpFormGroup.controls.otp) {\n this._snackbar.open(`Please enter a valid 5 digits OTP`, \"Ok\", {\n duration: 25000,\n });\n return;\n }\n\n if (\n UtilService.StringIsNullOrEmpty(this.otpFormGroup.controls.otp.value) ||\n (this.otpFormGroup.controls.otp.value &&\n this.otpFormGroup.controls.otp.value.length != 5)\n ) {\n this._snackbar.open(\"Please enter a valid 5 digits OTP.\", \"OK\", {\n duration: 3000,\n });\n return;\n }\n\n let self = this;\n self.requestOngoing = true;\n\n AuthService.UnauthenticatedUserId =\n self.loginFormGroup.controls[\"userID\"].value;\n\n localStorage.setItem(\"tempUserId\", AuthService.UnauthenticatedUserId);\n\n if (this.loginSub) {\n this.loginSub.unsubscribe();\n }\n\n this.loginSub = this.authService\n .resetUserSession({\n userId: self.loginFormGroup.controls[\"userID\"].value.trim(),\n password: self.loginFormGroup.controls[\"password\"].value.trim(),\n Otp: self.otpFormGroup.controls[\"otp\"].value,\n OtpReference: self.resetSessionOtpReference,\n returnRMDetails: true,\n })\n .subscribe(\n (response) => {\n self.requestOngoing = false;\n\n if (\n !(\n response.ResponseCode == ResponseCodes.SUCCESS ||\n response.ResponseCode ==\n ResponseCodes.LoginSuccessWithLimitedAccess ||\n response.ResponseCode ==\n ResponseCodes.LoginSuccessWithLimitedAccessUnderReview ||\n response.ResponseCode == ResponseCodes.PasswordChangeRequired ||\n response.ResponseCode ==\n ResponseCodes.QuestionAndPasswordRegistrationRequired\n )\n ) {\n this.toast.error(null, response.ResponseDescription);\n this._closeResetSessionModal();\n return;\n }\n\n self.requestOngoing = false;\n if (!AuthService.PartiallyAuthenticatedUser) {\n AuthService.PartiallyAuthenticatedUser = new AppUser();\n }\n\n this.responseToken = response.Token;\n\n AuthService.PartiallyAuthenticatedUser.CifId = response.CifId;\n AuthService.PartiallyAuthenticatedUser.UserId =\n self.loginFormGroup.controls[\"userID\"].value;\n AuthService.PartiallyAuthenticatedUser.OTPResponseDescription =\n response.OTPResponseDescription;\n AuthService.PartiallyAuthenticatedUser.OTPNotificationAddress =\n response.NotificationAddress;\n AuthService.PartiallyAuthenticatedUser.OTPNotificationType =\n response.NotificationType;\n AuthService.PartiallyAuthenticatedUser.Firstname = response.FirstName;\n AuthService.PartiallyAuthenticatedUser.Lastname = response.LastName;\n AuthService.PartiallyAuthenticatedUser.SessionId = response.SessionId;\n AuthService.PartiallyAuthenticatedUser.LastLoginIn =\n response.LastLoginIn;\n AuthService.PartiallyAuthenticatedUser.YPSFlixDescription =\n response.YPSFlixDescription;\n AuthService.PartiallyAuthenticatedUser.MenuProfile =\n response.MenuProfile;\n AuthService.PartiallyAuthenticatedUser.LimitedAccess = false;\n AuthService.PartiallyAuthenticatedUser.LoginStatus =\n response.ResponseCode;\n AuthService.PartiallyAuthenticatedUser.AccountOfficerEmail =\n response.accountEmail == \"-999-\"\n ? AppConfigService.DefaultStanbicAccountOficerEmail\n : response.accountEmail;\n AuthService.PartiallyAuthenticatedUser.AccountOfficerName =\n response.accountOfficerName == \"-999-\"\n ? \"\"\n : response.accountOfficerName;\n this.authService.SetAccessPassCache(\n AuthService.PartiallyAuthenticatedUser.YPSFlixDescription\n );\n\n if (response && response.ResponseCode == \"04\") {\n response.ResponseCode = ResponseCodes.SUCCESS;\n }\n\n if (\n response.ResponseCode == ResponseCodes.SUCCESS ||\n response.ResponseCode ==\n ResponseCodes.LoginSuccessWithLimitedAccess ||\n response.ResponseCode ==\n ResponseCodes.LoginSuccessWithLimitedAccessUnderReview\n ) {\n self.authService.setPartialLoginToken();\n\n if (\n response.ResponseCode ==\n ResponseCodes.LoginSuccessWithLimitedAccess ||\n response.ResponseCode ==\n ResponseCodes.LoginSuccessWithLimitedAccessUnderReview\n ) {\n AuthService.PartiallyAuthenticatedUser.LimitedAccess = true;\n }\n\n AuthService.FirstValidateOTPToken = response.Token;\n AuthService.ValidateUserSession = true;\n\n let knowAppWindows = this.multiWindowService.getKnownWindows();\n\n if (knowAppWindows && knowAppWindows.length > 0) {\n for (let appWindow of knowAppWindows) {\n if (!appWindow.self) {\n this.multiWindowService.sendMessage(\n appWindow.id,\n \"customEvent\",\n \"obkg_stanbic_rm_session\"\n );\n }\n }\n }\n\n this.authService.useTokenForSubsequentAPICalls(response.Token);\n\n if (!AuthService.createFullyLoggedInUser()) {\n this._closeResetSessionModal();\n self.router.navigate([RouterConstants.LoginURL]);\n\n return;\n }\n\n self.requestOngoing = true;\n\n self.gotoDashboardInterval = UtilService.Window.setInterval(\n function () {\n self._closeResetSessionModal();\n self.router.navigate([RouterConstants.FullDashboardURL]);\n UtilService.Window.clearInterval(self.gotoDashboardInterval);\n },\n 300\n );\n } else if (\n response.ResponseCode == ResponseCodes.PasswordChangeRequired\n ) {\n AuthService.PartiallyAuthenticatedUser.AuthPassForChange =\n self.loginFormGroup.controls[\"password\"].value;\n VariablesService.SecurityQuestionCreationRequestAuthor =\n SecurityQuestionCreationRequestAuthor.RetailLogin;\n AuthService.ValidateUserSession = false;\n self._closeResetSessionModal();\n self.router.navigate([RouterConstants.LOGIN_CHANGE_PASSWORD_URL]);\n } else if (\n response.ResponseCode ==\n ResponseCodes.QuestionAndPasswordRegistrationRequired\n ) {\n AuthService.PartiallyAuthenticatedUser.AuthPassForChange =\n self.loginFormGroup.controls[\"password\"].value;\n VariablesService.SecurityQuestionCreationRequestAuthor =\n SecurityQuestionCreationRequestAuthor.RetailLogin;\n AuthService.ValidateUserSession = false;\n self._closeResetSessionModal();\n self.router.navigate([\n RouterConstants.LOGIN_CREATE_SECURITY_QUESTIONS_URL,\n ]);\n }\n },\n (error: any) => {\n if (error && error.status != Constants.UnauthorizedStatusCode) {\n this._snackbar.open(Constants.APITechnicalErrorMessage, \"Ok\", {\n verticalPosition: \"bottom\",\n horizontalPosition: \"right\",\n duration: 1500,\n });\n }\n self.requestOngoing = false;\n AuthService.ValidateUserSession = false;\n this._closeResetSessionModal();\n }\n );\n }\n\n _submitPrivacy() {\n let self = this;\n\n if (this.customerConsent.consentGiven.toLowerCase() == \"n\") {\n this.dataPrivacyModalRef.close();\n\n if (UtilService.isNotBigScreen()) {\n self.dataConsentWarningModalRef = UtilService.showBasicModal(\n self.dataPrivacyModalRef,\n self.dataConsentWarningModalTemplate,\n this._matDialog,\n true,\n 100\n );\n } else {\n this.dataConsentWarningModalRef = UtilService.showBasicModal(\n this.dataPrivacyModalRef,\n this.dataConsentWarningModalTemplate,\n this._matDialog,\n true,\n 60\n );\n }\n\n return;\n }\n\n self.requestOngoing = true;\n\n this.submitPrivacy();\n }\n\n changeDataConsent() {\n this.dataConsentWarningModalRef.close();\n\n if (UtilService.isNotBigScreen()) {\n this.dataPrivacyModalRef = UtilService.showBasicModal(\n this.dataPrivacyModalRef,\n this.dataPrivacyModalTemplate,\n this._matDialog,\n true,\n 100\n );\n } else {\n this.dataPrivacyModalRef = UtilService.showBasicModal(\n this.dataPrivacyModalRef,\n this.dataPrivacyModalTemplate,\n this._matDialog,\n true,\n 60\n );\n }\n }\n\n submitPrivacy() {\n let self = this;\n\n self.requestOngoing = true;\n\n self.updateUserPrivacyConsentSub = self.authService\n .CreateDataPrivacyConsent(\n AuthService.FullyAuthenticatedUser.UserId,\n AuthService.FullyAuthenticatedUser.CifId,\n this.customerConsent.consentGiven,\n this.customerConsent.otherCompanies,\n this.customerConsent.researchPurpose,\n this.customerConsent.products,\n this.customerConsent.withinGroup\n )\n .subscribe(\n (response) => {\n self._closePrivacyModalAndGoToDashboard();\n },\n (error: any) => {\n self._closePrivacyModalAndGoToDashboard();\n },\n () => {}\n );\n\n return false;\n }\n\n // submitPrivacy() {\n\n // let self = this;\n\n // self.updateUserPrivacyConsentSub = self.authService.CreateDataPrivacyConsent(AuthService.FullyAuthenticatedUser.UserId,\n // AuthService.FullyAuthenticatedUser.CifId, this.customerConsent.consentGiven, this.customerConsent.otherCompanies,\n // this.customerConsent.researchPurpose, this.customerConsent.products, this.customerConsent.withinGroup)\n // .subscribe(response => {\n // self._closePrivacyModalAndGoToDashboard();\n // },\n // (error: any) => {\n // self._closePrivacyModalAndGoToDashboard();\n // },\n // () => {\n\n // });\n\n // return false;\n // }\n\n gotoDashboardInterval: any;\n\n // closePrivacyModal(event) {\n // event.stopPropagation();\n // this._closePrivacyModalAndGoToDashboard();\n\n // return false;\n // }\n\n // _closePrivacyModalAndGoToDashboard() {\n\n // this.dataPrivacyModalRef.close();\n // this.requestOngoing = true;\n\n // let self = this;\n\n // this.gotoDashboardInterval = UtilService.Window.setInterval(function () {\n // self.router.navigate([RouterConstants.FullDashboardURL]);\n // UtilService.Window.clearInterval(self.gotoDashboardInterval);\n // }, 300);\n\n // return false;\n // }\n\n closePrivacyModal(event) {\n if (event) {\n event.stopPropagation();\n }\n\n this._closePrivacyModalAndGoToDashboard();\n\n return false;\n }\n\n _closePrivacyModalAndGoToDashboard() {\n if (this.dataPrivacyModalRef) {\n this.dataPrivacyModalRef.close();\n }\n\n if (this.dataConsentWarningModalRef) {\n this.dataConsentWarningModalRef.close();\n }\n\n this.requestOngoing = true;\n\n let self = this;\n\n this.gotoDashboardInterval = UtilService.Window.setInterval(function () {\n self.router.navigate([RouterConstants.FullDashboardURL]);\n UtilService.Window.clearInterval(self.gotoDashboardInterval);\n }, 300);\n\n return false;\n }\n\n gotoResetPassword(event) {\n event.stopPropagation();\n this.router.navigate([RouterConstants.RESET_RIB_USER_PASSWORD_URL]);\n\n return false;\n }\n\n gotoRegisterRIBUser(event) {\n event.stopPropagation();\n this.router.navigate([RouterConstants.LOGIN_CREATE_RIB_USER_URL]);\n\n return false;\n }\n\n ngOnDestroy() {\n console.log(\"Login component destroyed\");\n if (this.loginSub) {\n this.loginSub.unsubscribe();\n }\n\n if (this.getUserDataPrivacyConsentSub) {\n this.getUserDataPrivacyConsentSub.unsubscribe();\n }\n\n if (this.updateUserPrivacyConsentSub) {\n this.updateUserPrivacyConsentSub.unsubscribe();\n }\n\n if (this.sendOTPSub) {\n this.sendOTPSub.unsubscribe();\n }\n }\n}\n","module.exports = \".mat-form-field {\\n display: block !important;\\n position: relative;\\n text-align: left;\\n}\\n\\n.button-row {\\n margin-top: 10px;\\n}\\n\\n.button-row button,\\n.button-row a {\\n margin-right: 8px;\\n}\\n\\n.outline-yellow {\\n border-color: #cc8e17 !important;\\n}\\n\\n.changepwd-validation-wrap {\\n position: absolute !important;\\n background: #fff !important;\\n width: 193px !important;\\n border: 1px solid #d4d3d3 !important;\\n border-radius: 3px !important;\\n padding: 15px 15px 0 !important;\\n}\\n\\n.changepwd-validation-wrap:after,\\n.changepwd-validation-wrap:before {\\n right: 100%;\\n top: 18%;\\n border: solid transparent;\\n content: \\\" \\\";\\n height: 0;\\n width: 0;\\n position: absolute;\\n pointer-events: none\\n}\\n\\n.changepwd-validation-wrap:after {\\n border-color: rgba(250, 250, 250, 0);\\n border-right-color: #fff;\\n border-width: 11px;\\n margin-top: -13px\\n}\\n\\n.changepwd-validation-wrap:before {\\n border-color: rgba(250, 250, 250, 0);\\n border-right-color: #cfcfcf;\\n border-width: 12px;\\n margin-top: -14px\\n}\\n\\n.changepwd-validation {\\n margin: 0 0 10px;\\n font-size: 12px;\\n font-family: HelveticaNeue-Regular, HelveticaNeue, robotoregular, Arial, sans-serif;\\n color: #666\\n}\\n\\n.changepwd-validation span {\\n line-height: 20px\\n}\\n\\n.new-password-block-wrap {\\n position: relative\\n}\\n\\n.pwd-valid-icon {\\n color: #e9e8e8;\\n margin-right: 10px;\\n font-size: 20px !important\\n}\\n\\n.pwd-valid-icon-active {\\n color: #5fa33b;\\n margin-right: 10px;\\n font-size: 20px !important\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvYXV0aGVudGljYXRpb24vcmVzZXQtcGFzc3dvcmQtc2VjcmV0L3Jlc2V0UGFzc3dvcmQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDBCQUEwQjtFQUMxQixtQkFBbUI7RUFDbkIsaUJBQWlCO0NBQ2xCOztBQUVEO0VBQ0UsaUJBQWlCO0NBQ2xCOztBQUVEOztFQUVFLGtCQUFrQjtDQUNuQjs7QUFFRDtFQUNFLGlDQUFpQztDQUNsQzs7QUFJRDtFQUNFLDhCQUE4QjtFQUM5Qiw0QkFBNEI7RUFDNUIsd0JBQXdCO0VBQ3hCLHFDQUFxQztFQUNyQyw4QkFBOEI7RUFDOUIsZ0NBQWdDO0NBQ2pDOztBQUVEOztFQUVFLFlBQVk7RUFDWixTQUFTO0VBQ1QsMEJBQTBCO0VBQzFCLGFBQWE7RUFDYixVQUFVO0VBQ1YsU0FBUztFQUNULG1CQUFtQjtFQUNuQixvQkFBb0I7Q0FDckI7O0FBRUQ7RUFDRSxxQ0FBcUM7RUFDckMseUJBQXlCO0VBQ3pCLG1CQUFtQjtFQUNuQixpQkFBaUI7Q0FDbEI7O0FBRUQ7RUFDRSxxQ0FBcUM7RUFDckMsNEJBQTRCO0VBQzVCLG1CQUFtQjtFQUNuQixpQkFBaUI7Q0FDbEI7O0FBRUQ7RUFDRSxpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLG9GQUFvRjtFQUNwRixXQUFXO0NBQ1o7O0FBRUQ7RUFDRSxpQkFBaUI7Q0FDbEI7O0FBRUQ7RUFDRSxrQkFBa0I7Q0FDbkI7O0FBRUQ7RUFDRSxlQUFlO0VBQ2YsbUJBQW1CO0VBQ25CLDBCQUEwQjtDQUMzQjs7QUFFRDtFQUNFLGVBQWU7RUFDZixtQkFBbUI7RUFDbkIsMEJBQTBCO0NBQzNCIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvYXV0aGVudGljYXRpb24vcmVzZXQtcGFzc3dvcmQtc2VjcmV0L3Jlc2V0UGFzc3dvcmQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5tYXQtZm9ybS1maWVsZCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmJ1dHRvbi1yb3cge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4uYnV0dG9uLXJvdyBidXR0b24sXG4uYnV0dG9uLXJvdyBhIHtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5vdXRsaW5lLXllbGxvdyB7XG4gIGJvcmRlci1jb2xvcjogI2NjOGUxNyAhaW1wb3J0YW50O1xufVxuXG5cblxuLmNoYW5nZXB3ZC12YWxpZGF0aW9uLXdyYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xuICB3aWR0aDogMTkzcHggIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q0ZDNkMyAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMTVweCAxNXB4IDAgIWltcG9ydGFudDtcbn1cblxuLmNoYW5nZXB3ZC12YWxpZGF0aW9uLXdyYXA6YWZ0ZXIsXG4uY2hhbmdlcHdkLXZhbGlkYXRpb24td3JhcDpiZWZvcmUge1xuICByaWdodDogMTAwJTtcbiAgdG9wOiAxOCU7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lXG59XG5cbi5jaGFuZ2Vwd2QtdmFsaWRhdGlvbi13cmFwOmFmdGVyIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1MCwgMjUwLCAyNTAsIDApO1xuICBib3JkZXItcmlnaHQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci13aWR0aDogMTFweDtcbiAgbWFyZ2luLXRvcDogLTEzcHhcbn1cblxuLmNoYW5nZXB3ZC12YWxpZGF0aW9uLXdyYXA6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1MCwgMjUwLCAyNTAsIDApO1xuICBib3JkZXItcmlnaHQtY29sb3I6ICNjZmNmY2Y7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbiAgbWFyZ2luLXRvcDogLTE0cHhcbn1cblxuLmNoYW5nZXB3ZC12YWxpZGF0aW9uIHtcbiAgbWFyZ2luOiAwIDAgMTBweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LWZhbWlseTogSGVsdmV0aWNhTmV1ZS1SZWd1bGFyLCBIZWx2ZXRpY2FOZXVlLCByb2JvdG9yZWd1bGFyLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICM2NjZcbn1cblxuLmNoYW5nZXB3ZC12YWxpZGF0aW9uIHNwYW4ge1xuICBsaW5lLWhlaWdodDogMjBweFxufVxuXG4ubmV3LXBhc3N3b3JkLWJsb2NrLXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmVcbn1cblxuLnB3ZC12YWxpZC1pY29uIHtcbiAgY29sb3I6ICNlOWU4ZTg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnRcbn1cblxuLnB3ZC12YWxpZC1pY29uLWFjdGl2ZSB7XG4gIGNvbG9yOiAjNWZhMzNiO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50XG59XG4iXX0= */\"","module.exports = \"
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
Forgot Password
\\n \\n \\n
\\n \\n \\n \\n Identify Yourself\\n \\n Kindly enter your user ID and account number below \\n
\\n
\\n
\\n
\\n \\n User ID \\n \\n User ID is required \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n Stanbic IBTC bank account number \\n \\n Account number is required \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n Answer security questions\\n \\n Kindly enter the answers to your secret questions below \\n
\\n
\\n
\\n
\\n \\n \\n {{securityQuestions && securityQuestions.length > 0 ? (securityQuestions[0].questionDESC || '') : ''}}\\n \\n\\n 0 ? (securityQuestions[0].questionDESC || '') : ''}}\\\">\\n\\n 0 ? (securityQuestions[0].questionDESC || '') : ''}}\\\">\\n\\n \\n \\n \\n \\n Please provide an answer. \\n \\n
\\n
\\n
\\n
\\n \\n \\n {{securityQuestions && securityQuestions.length > 1 ? (securityQuestions[1].questionDESC || '') : ''}}\\n \\n\\n 1 ? (securityQuestions[1].questionDESC || '') : ''}}\\\"\\n formControlName=\\\"questionB\\\" maxlength=\\\"30\\\">\\n\\n 1 ? (securityQuestions[1].questionDESC || '') : ''}}\\\"\\n formControlName=\\\"questionB\\\" maxlength=\\\"30\\\">\\n\\n \\n \\n\\n\\n \\n \\n Please provide an answer. \\n \\n
\\n
\\n
\\n
\\n \\n \\n {{securityQuestions && securityQuestions.length > 2 ? (securityQuestions[2].questionDESC || '') : ''}}\\n \\n\\n 2 ? (securityQuestions[2].questionDESC || '') : ''}}\\\"\\n formControlName=\\\"questionC\\\" maxlength=\\\"30\\\">\\n\\n 2 ? (securityQuestions[2].questionDESC || '') : ''}}\\\"\\n formControlName=\\\"questionC\\\" maxlength=\\\"30\\\">\\n\\n \\n \\n\\n \\n \\n Please provide an answer. \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n Enter New Password\\n \\n Please note that your User ID\\n is {{resetPasswordFormGroup.controls.userID ? resetPasswordFormGroup.controls.userID.value : ''}}\\n \\n Kindly enter a new password that you will use to sign in to Online Banking \\n
\\n
\\n
\\n
\\n \\n New Password\\n\\n\\n \\n\\n \\n\\n \\n \\n\\n \\n \\n
\\n
\\n
\\n
\\n
8\\n or more characters
\\n
1 or\\n more numbers
\\n
Uppercase character
\\n
Lowercase character
\\n
Only\\n symbols @#$%^\\\\
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n Confirm New Password\\n\\n \\n\\n \\n\\n \\n \\n\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
Back Next
\\n
\\n
\\n
\\n \\n Confirm OTP\\n
\\n
\\n A One Time PIN has been sent to the following email{{maskedOtpAddress}}
\\n
\\n A One Time PIN has been sent to the following number{{maskedOtpAddress}}
\\n \\n One Time Pin \\n \\n
Verify
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\\"Stanbic\\n
\\n
An error has occurred
\\n
Error description
\\n \\n {{exceptionMessage}}\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\"","import { Component, ChangeDetectorRef, ViewChild, TemplateRef } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\nimport { MatSnackBar, MatDialogRef, MatDialog, MatStepper } from '@angular/material';\n\n\nimport { NotificationsService } from 'angular2-notifications';\n\nimport { AuthService } from 'src/app/core/services/auth.service';\nimport { Constants } from 'src/app/core/helpers/appConstants';\nimport { OtpReasonCodes, ResponseCodes, SecurityQuestionCreationRequestAuthor } from 'src/app/core/models/Enumerations';\nimport { RouterConstants } from 'src/app/core/helpers/routerConstants';\nimport { UtilService } from 'src/app/core/services/helpers.service';\nimport { StorageService } from 'src/app/core/services/storage.service';\nimport { VariablesService } from '../../../core/services/variables.service';\nimport { SecurityQuestion, UserSecurityQuestion } from \"src/app/core/models/auth\";\n\n\nimport { BaseComponent } from \"../../base.component\";\n\n\n@Component({\n templateUrl: './resetPassword.component.html',\n styleUrls: ['./resetPassword.component.css']\n})\nexport class ResetPasswordSecretComponent extends BaseComponent {\n\n requestOngoing: boolean;\n\n securityQuestionFormGroup: FormGroup;\n changePasswordFormGroup: FormGroup;\n resetPasswordFormGroup: FormGroup;\n otpFormGroup: FormGroup;\n\n\n securityQuestions: Array;\n otpCif: string;\n\n\n showPasswordValidationWrap: boolean;\n minimumPasswordLengthValidated: boolean;\n passwordHasOneOrMoreNumber: boolean;\n passwordHasUpperCaseCharacters: boolean;\n passwordHasLowerCaseCharacters: boolean;\n passwordHasValidSymbols: boolean; // @#$%^\\\n passwordValidationPassedCount: number = 0;\n\n\n authUserId: string;\n\n\n\n // Refactor on all pages later as single component instead of repeating template DRY\n @ViewChild('ExceptionTemplate') errorModalTemplateRef: TemplateRef;\n exceptionDialogRef: MatDialogRef;\n\n\n\n constructor(private router: Router, private snackBar: MatSnackBar, private formBuilder: FormBuilder,\n private storageService: StorageService, private _matDialog: MatDialog,\n private toast: NotificationsService, private authService: AuthService, private cdRef: ChangeDetectorRef) {\n\n super(authService, router);\n\n\n this.resetPasswordFormGroup = formBuilder.group({\n accountNo: ['', Validators.required],\n userID: ['', Validators.required]\n });\n\n this.securityQuestionFormGroup = formBuilder.group({\n questionA: ['', Validators.required],\n questionB: ['', Validators.required],\n questionC: ['', Validators.required]\n });\n\n\n this.otpFormGroup = this.formBuilder.group({\n otp: ['', Validators.required]\n });\n\n\n this.changePasswordFormGroup = formBuilder.group({\n newPassword: ['', Validators.required],\n confirmPassword: ['', Validators.required]\n });\n\n UtilService.onPageLoadCallback();\n }\n\n\n\n\n accountNoKeyDown(e) {\n var key = e.charCode || e.keyCode || 0;\n\n if (e.shiftKey) {\n return false;\n }\n\n return (\n // numbers\n (key >= 48 && key <= 57) ||\n // Numeric keypad\n (key >= 96 && key <= 105) ||\n // Backspace and Tab and Enter\n key == 8 || key == 9 || key == 13 ||\n // Home and End\n key == 35 || key == 36 ||\n // left and right arrows\n key == 37 || key == 39 ||\n // up and down arrows\n key == 38 || key == 40 ||\n // Del and Ins\n key == 46 || key == 45\n );\n }\n\n\n\n GoBackToLoginPage() {\n this.router.navigate([RouterConstants.LoginURL]);\n }\n\n\n\n nextToSecurityView(stepper: MatStepper) {\n\n if (this.resetPasswordFormGroup.valid) {\n\n if (UtilService.StringIsNullOrEmpty(this.resetPasswordFormGroup.controls.userID.value)) {\n this.snackBar.open(\"Please enter your User ID.\", null, { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n return;\n }\n\n if (UtilService.StringIsNullOrEmpty(this.resetPasswordFormGroup.controls.accountNo.value)) {\n this.snackBar.open(\"Please enter your Account Number.\", null, { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n return;\n }\n\n this._fetchUserSecurityQuestions(stepper);\n }\n\n }\n\n _fetchUserSecurityQuestions(stepper: MatStepper) {\n\n\n this.requestOngoing = true;\n this._authService.GetRetailUserRegisteredQuestions(\n {\n UserId: this.resetPasswordFormGroup.controls.userID.value,\n AccountNo: this.resetPasswordFormGroup.controls.accountNo.value,\n SourceReferenceId: UtilService.generateSessionId()\n }\n ).then(response => {\n\n this.requestOngoing = false;\n\n if (response.ResponseCode && response.ResponseCode === ResponseCodes.SUCCESS) {\n\n if (response.QuestionDetails && response.QuestionDetails.length > 0) {\n this.securityQuestions = response.QuestionDetails;\n this.otpCif = response.customerID;\n\n stepper.next();\n return;\n }\n }\n\n this.exceptionMessage = response.ResponseFriendlyMessage;\n this.exceptionDialogRef = UtilService.showExceptionDialog(this.exceptionDialogRef, this.errorModalTemplateRef, this._matDialog);\n\n\n\n },\n (error: any) => {\n this.requestOngoing = false;\n this.exceptionMessage = Constants.APITechnicalErrorMessage;\n this.exceptionDialogRef = UtilService.showExceptionDialog(this.exceptionDialogRef, this.errorModalTemplateRef, this._matDialog);\n });\n }\n\n\n\n GoBackToDetailsForm(stepper: MatStepper) {\n\n this.securityQuestionFormGroup.reset();\n\n for (let cursor in this.securityQuestionFormGroup.controls) {\n this.securityQuestionFormGroup.controls[cursor].setErrors(null);\n }\n\n stepper.reset();\n }\n\n\n\n nextToChangePasswordView(stepper: MatStepper) {\n\n if (this.securityQuestionFormGroup.valid) {\n\n if (UtilService.StringIsNullOrEmpty(this.securityQuestionFormGroup.controls[\"questionA\"].value) ||\n UtilService.StringIsNullOrEmpty(this.securityQuestionFormGroup.controls[\"questionB\"].value) ||\n UtilService.StringIsNullOrEmpty(this.securityQuestionFormGroup.controls[\"questionC\"].value)\n ) {\n\n this.snackBar.open(\"Please enter all the question answers\", null, { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n return;\n\n }\n\n this.securityQuestions[0].answer = btoa(this.securityQuestionFormGroup.controls[\"questionA\"].value);\n this.securityQuestions[1].answer = btoa(this.securityQuestionFormGroup.controls[\"questionB\"].value);\n this.securityQuestions[2].answer = btoa(this.securityQuestionFormGroup.controls[\"questionC\"].value);\n\n stepper.next();\n return;\n\n }\n }\n\n\n\n GoBackToSecurityQuestionView(stepper: MatStepper) {\n\n this.changePasswordFormGroup.reset();\n\n for (let cursor in this.changePasswordFormGroup.controls) {\n this.changePasswordFormGroup.controls[cursor].setErrors(null);\n }\n\n this.showPasswordValidationWrap = false;\n\n stepper.previous();\n }\n\n\n\n SendPasswordChangeOTP(stepper: MatStepper) {\n let self = this;\n\n if (this.changePasswordFormGroup.valid) {\n\n if (UtilService.StringIsNullOrEmpty(this.changePasswordFormGroup.controls.newPassword.value)) {\n\n this.snackBar.open(\"Please enter the new password\", null, { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n return;\n }\n\n if (UtilService.StringIsNullOrEmpty(this.changePasswordFormGroup.controls.confirmPassword.value)) {\n\n this.snackBar.open(\"Please confirm the new password\", null, { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n return;\n }\n\n if (this.passwordValidationPassedCount < 5) {\n self.snackBar.open(\"Passwords does not meet the criteria.\", null, { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n return;\n }\n else if (this.changePasswordFormGroup.controls['newPassword'].value != this.changePasswordFormGroup.controls['confirmPassword'].value) {\n self.snackBar.open(\"There is a password mismatch.\", null, { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n return;\n }\n\n self.initiateOtp(stepper);\n\n }\n }\n\n initiateOTPSub: any;\n initiateOtp(stepper: MatStepper) {\n\n this.requestOngoing = true;\n this.initiateOTPSub = this._authService.initiateOtpRequest(\n {\n UserId: this.resetPasswordFormGroup.controls.userID.value,\n CifId: this.otpCif,\n ReasonCode: OtpReasonCodes.CHANGE_PASSWORD\n }\n ).subscribe(response => {\n\n this.requestOngoing = false;\n\n if (response.ResponseCode && response.ResponseCode === ResponseCodes.SUCCESS) {\n this.otpReference = response.ResponseDescription;\n this.notificationType = response.NotificationType;\n this.maskedOtpAddress = response.NotificationAddress;\n\n stepper.next();\n\n this.snackBar.open(`Please enter the One Time Code sent to ${response.NotificationAddress}\n `, 'OK', { verticalPosition: 'top', horizontalPosition: 'right', duration: 5000 });\n return;\n }\n\n this.exceptionMessage = response.ResponseFriendlyMessage;\n this.exceptionDialogRef = UtilService.showExceptionDialog(this.exceptionDialogRef, this.errorModalTemplateRef, this._matDialog);\n\n },\n (error: any) => {\n this.requestOngoing = false;\n this.exceptionMessage = Constants.APITechnicalErrorMessage;\n this.exceptionDialogRef = UtilService.showExceptionDialog(this.exceptionDialogRef, this.errorModalTemplateRef, this._matDialog);\n });\n }\n\n\n\n\n\n GoBackToPasswordChangeView(stepper: MatStepper) {\n\n\n this.otpFormGroup.reset();\n\n // Nullify error cos of Material\n for (let cursor in this.otpFormGroup.controls) {\n this.otpFormGroup.controls[cursor].setErrors(null);\n }\n\n stepper.previous();\n }\n\n\n\n VerifyOTP() {\n\n let self = this;\n\n if (!self.otpFormGroup.valid) {\n this.toast.error(null, 'Please enter all required fields');\n }\n else {\n if (UtilService.StringIsNullOrEmpty(this.otpFormGroup.controls.otp.value) ||\n (this.otpFormGroup.controls.otp.value && this.otpFormGroup.controls.otp.value.length != 5)) {\n this.snackBar.open('Please enter a valid 5 digits OTP code.', 'OK',\n { verticalPosition: 'top', horizontalPosition: 'right', duration: 3000 });\n return;\n }\n\n self.resetPassword();\n }\n\n return false;\n }\n\n\n\n\n resetPassword() {\n let self = this;\n\n\n this.requestOngoing = true;\n self.authService.resetPassword({\n UserId: this.resetPasswordFormGroup.controls.userID.value,\n AccountNumber: this.resetPasswordFormGroup.controls.accountNo.value,\n QuestionDetailList: this.securityQuestions,\n OTP: this.otpFormGroup.controls.otp.value,\n NewPassword: this.changePasswordFormGroup.controls.newPassword.value,\n SourceRefId: this.otpReference\n })\n .then(\n response => {\n\n self.requestOngoing = false;\n\n if (response.ResponseCode == ResponseCodes.SUCCESS) {\n VariablesService.LoginPasswordChangedSuccessfully = true;\n self.router.navigate([RouterConstants.LoginURL]);\n return;\n }\n\n this.exceptionMessage = response.ResponseFriendlyMessage;\n this.exceptionDialogRef = UtilService.showExceptionDialog(this.exceptionDialogRef, this.errorModalTemplateRef, this._matDialog);\n\n },\n error => {\n self.snackBar.open(Constants.APITechnicalErrorMessage, null, { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n self.requestOngoing = false;\n }\n );\n }\n\n\n\n closeExceptionModal() {\n if (this.exceptionDialogRef) {\n this.exceptionDialogRef.close();\n }\n }\n\n\n onPasswordControlBlur() {\n if (this.passwordValidationPassedCount === 5) {\n this.showPasswordValidationWrap = false;\n }\n }\n\n\n onPasswordControlFocused() {\n this.showPasswordValidationWrap = true;\n }\n\n\n onEnteredPasswordChanged() {\n this.showPasswordValidationWrap = true;\n const currentPassword = this.changePasswordFormGroup.controls['newPassword'].value;\n this.AutoPasswordValidation(currentPassword);\n }\n\n\n\n\n AutoPasswordValidation(currentPassword: string) {\n\n this.passwordValidationPassedCount = 0;\n\n if (currentPassword.length > 7) {\n this.minimumPasswordLengthValidated = true;\n this.passwordValidationPassedCount = 1;\n } else {\n this.minimumPasswordLengthValidated = false;\n }\n\n if (UtilService.StringContainsUpperCaseCharacters(currentPassword)) {\n this.passwordHasUpperCaseCharacters = true;\n this.passwordValidationPassedCount += 1;\n } else {\n this.passwordHasUpperCaseCharacters = false;\n }\n\n if (UtilService.StringContainsLowerCaseCharacters(currentPassword)) {\n this.passwordHasLowerCaseCharacters = true;\n this.passwordValidationPassedCount += 1;\n } else {\n this.passwordHasLowerCaseCharacters = false;\n }\n\n if (UtilService.StringContainsDigit(currentPassword)) {\n this.passwordHasOneOrMoreNumber = true;\n this.passwordValidationPassedCount += 1;\n } else {\n this.passwordHasOneOrMoreNumber = false;\n }\n\n if (this.PasswordHasValidSymbol(currentPassword)) {\n this.passwordHasValidSymbols = true;\n this.passwordValidationPassedCount += 1;\n } else {\n this.passwordHasValidSymbols = false;\n }\n }\n\n\n PasswordHasValidSymbol(password: string) {\n if (password.indexOf('@') >= 0 ||\n password.indexOf('#') >= 0 ||\n password.indexOf('$') >= 0 ||\n password.indexOf('%') >= 0 ||\n password.indexOf('^') >= 0 ||\n password.indexOf('\\\\') >= 0) {\n return true;\n }\n return false;\n }\n\n showSecurityQuestionAnswerA: boolean;\n showSecurityQuestionAnswerB: boolean;\n showSecurityQuestionAnswerC: boolean;\n\n toggleSecurityQuestionsVisibility(questionIndex: number) {\n switch (questionIndex) {\n case 1:\n this.showSecurityQuestionAnswerA = !this.showSecurityQuestionAnswerA;\n break;\n case 2:\n this.showSecurityQuestionAnswerB = !this.showSecurityQuestionAnswerB;\n break;\n case 3:\n this.showSecurityQuestionAnswerC = !this.showSecurityQuestionAnswerC;\n break;\n }\n }\n\n\n showPassword: boolean;\n showConfirmPassword: boolean;\n\n togglePasswordVisibility(questionIndex: number) {\n switch (questionIndex) {\n case 1:\n this.showPassword = !this.showPassword;\n break;\n case 2:\n this.showConfirmPassword = !this.showConfirmPassword;\n break;\n }\n }\n\n\n ngOnDestroy() {\n if (this.initiateOTPSub) {\n this.initiateOTPSub.unsubscribe()\n }\n }\n\n\n\n\n}\n","module.exports = \".mat-form-field {\\n display: block !important;\\n position: relative;\\n text-align: left;\\n}\\n\\n.button-row {\\n margin-top: 10px;\\n}\\n\\n.button-row button,\\n.button-row a {\\n margin-right: 8px;\\n}\\n\\n.outline-yellow {\\n border-color: #cc8e17 !important;\\n}\\n\\n.changepwd-validation-wrap {\\n position: absolute !important;\\n background: #fff !important;\\n width: 193px !important;\\n border: 1px solid #d4d3d3 !important;\\n border-radius: 3px !important;\\n padding: 15px 15px 0 !important;\\n}\\n\\n.changepwd-validation-wrap:after,\\n.changepwd-validation-wrap:before {\\n right: 100%;\\n top: 18%;\\n border: solid transparent;\\n content: \\\" \\\";\\n height: 0;\\n width: 0;\\n position: absolute;\\n pointer-events: none\\n}\\n\\n.changepwd-validation-wrap:after {\\n border-color: rgba(250, 250, 250, 0);\\n border-right-color: #fff;\\n border-width: 11px;\\n margin-top: -13px\\n}\\n\\n.changepwd-validation-wrap:before {\\n border-color: rgba(250, 250, 250, 0);\\n border-right-color: #cfcfcf;\\n border-width: 12px;\\n margin-top: -14px\\n}\\n\\n.changepwd-validation {\\n margin: 0 0 10px;\\n font-size: 12px;\\n font-family: 'Libre Franklin';\\n color: #666\\n}\\n\\n.changepwd-validation span {\\n line-height: 20px\\n}\\n\\n.new-password-block-wrap {\\n position: relative\\n}\\n\\n.pwd-valid-icon {\\n color: #e9e8e8;\\n margin-right: 10px;\\n font-size: 20px !important\\n}\\n\\n.pwd-valid-icon-active {\\n color: #5fa33b;\\n margin-right: 10px;\\n font-size: 20px !important\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvYXV0aGVudGljYXRpb24vcmVzZXQtcGFzc3dvcmQvcmVzZXRQYXNzd29yZC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsMEJBQTBCO0VBQzFCLG1CQUFtQjtFQUNuQixpQkFBaUI7Q0FDbEI7O0FBRUQ7RUFDRSxpQkFBaUI7Q0FDbEI7O0FBRUQ7O0VBRUUsa0JBQWtCO0NBQ25COztBQUVEO0VBQ0UsaUNBQWlDO0NBQ2xDOztBQUlEO0VBQ0UsOEJBQThCO0VBQzlCLDRCQUE0QjtFQUM1Qix3QkFBd0I7RUFDeEIscUNBQXFDO0VBQ3JDLDhCQUE4QjtFQUM5QixnQ0FBZ0M7Q0FDakM7O0FBRUQ7O0VBRUUsWUFBWTtFQUNaLFNBQVM7RUFDVCwwQkFBMEI7RUFDMUIsYUFBYTtFQUNiLFVBQVU7RUFDVixTQUFTO0VBQ1QsbUJBQW1CO0VBQ25CLG9CQUFvQjtDQUNyQjs7QUFFRDtFQUNFLHFDQUFxQztFQUNyQyx5QkFBeUI7RUFDekIsbUJBQW1CO0VBQ25CLGlCQUFpQjtDQUNsQjs7QUFFRDtFQUNFLHFDQUFxQztFQUNyQyw0QkFBNEI7RUFDNUIsbUJBQW1CO0VBQ25CLGlCQUFpQjtDQUNsQjs7QUFFRDtFQUNFLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsOEJBQThCO0VBQzlCLFdBQVc7Q0FDWjs7QUFFRDtFQUNFLGlCQUFpQjtDQUNsQjs7QUFFRDtFQUNFLGtCQUFrQjtDQUNuQjs7QUFFRDtFQUNFLGVBQWU7RUFDZixtQkFBbUI7RUFDbkIsMEJBQTBCO0NBQzNCOztBQUVEO0VBQ0UsZUFBZTtFQUNmLG1CQUFtQjtFQUNuQiwwQkFBMEI7Q0FDM0IiLCJmaWxlIjoic3JjL2FwcC9wYWdlcy9hdXRoZW50aWNhdGlvbi9yZXNldC1wYXNzd29yZC9yZXNldFBhc3N3b3JkLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubWF0LWZvcm0tZmllbGQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5idXR0b24tcm93IHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLmJ1dHRvbi1yb3cgYnV0dG9uLFxuLmJ1dHRvbi1yb3cgYSB7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4ub3V0bGluZS15ZWxsb3cge1xuICBib3JkZXItY29sb3I6ICNjYzhlMTcgIWltcG9ydGFudDtcbn1cblxuXG5cbi5jaGFuZ2Vwd2QtdmFsaWRhdGlvbi13cmFwIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbiAgd2lkdGg6IDE5M3B4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkNGQzZDMgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogM3B4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDE1cHggMTVweCAwICFpbXBvcnRhbnQ7XG59XG5cbi5jaGFuZ2Vwd2QtdmFsaWRhdGlvbi13cmFwOmFmdGVyLFxuLmNoYW5nZXB3ZC12YWxpZGF0aW9uLXdyYXA6YmVmb3JlIHtcbiAgcmlnaHQ6IDEwMCU7XG4gIHRvcDogMTglO1xuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjb250ZW50OiBcIiBcIjtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZVxufVxuXG4uY2hhbmdlcHdkLXZhbGlkYXRpb24td3JhcDphZnRlciB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTAsIDI1MCwgMjUwLCAwKTtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZmZmO1xuICBib3JkZXItd2lkdGg6IDExcHg7XG4gIG1hcmdpbi10b3A6IC0xM3B4XG59XG5cbi5jaGFuZ2Vwd2QtdmFsaWRhdGlvbi13cmFwOmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTAsIDI1MCwgMjUwLCAwKTtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjY2ZjZmNmO1xuICBib3JkZXItd2lkdGg6IDEycHg7XG4gIG1hcmdpbi10b3A6IC0xNHB4XG59XG5cbi5jaGFuZ2Vwd2QtdmFsaWRhdGlvbiB7XG4gIG1hcmdpbjogMCAwIDEwcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC1mYW1pbHk6ICdMaWJyZSBGcmFua2xpbic7XG4gIGNvbG9yOiAjNjY2XG59XG5cbi5jaGFuZ2Vwd2QtdmFsaWRhdGlvbiBzcGFuIHtcbiAgbGluZS1oZWlnaHQ6IDIwcHhcbn1cblxuLm5ldy1wYXNzd29yZC1ibG9jay13cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlXG59XG5cbi5wd2QtdmFsaWQtaWNvbiB7XG4gIGNvbG9yOiAjZTllOGU4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50XG59XG5cbi5wd2QtdmFsaWQtaWNvbi1hY3RpdmUge1xuICBjb2xvcjogIzVmYTMzYjtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudFxufVxuIl19 */\"","module.exports = \"
\\n \\n
\\n
\\n \\n
\\n \\n \\n
\\n
\\n Forgot Password\\n
\\n \\n
\\n \\n \\n \\n Identify Yourself\\n\\n \\n Kindly enter your Internet Banking ID below\\n \\n\\n \\n
\\n
\\n
\\n \\n Internet banking ID\\n \\n \\n \\n User ID is required\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n Account number linked to your debit card\\n \\n \\n \\n Account number is required\\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n Cancel\\n \\n \\n \\n Next\\n \\n
\\n
\\n \\n
\\n\\n\\n \\n Enter your debit card details below\\n \\n \\n Enter your debit card details below\\n \\n \\n
\\n
\\n
\\n\\n \\n \\n Debit Card Pin\\n \\n\\n \\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n \\n \\n Please provide a valid pin.\\n \\n \\n\\n
\\n\\n
\\n
\\n
\\n\\n
\\n
\\n \\n \\n Last six digits of your debit card\\n \\n\\n \\n\\n \\n \\n Please enter last 6 digits of debitcard to proceed\\n \\n \\n
\\n
\\n\\n
\\n
\\n
\\n \\n Back\\n \\n \\n \\n Next\\n \\n
\\n
\\n \\n
\\n \\n\\n\\n \\n\\n\\n\\n \\n\\n\\n \\n Confirm OTP\\n
\\n \\n A One Time PIN has been sent to the following email{{\\n maskedOtpAddress\\n }}\\n \\n \\n A One Time PIN has been sent to the following number{{\\n maskedOtpAddress\\n }}\\n \\n \\n One Time Pin\\n \\n \\n
\\n \\n Cancel\\n \\n \\n Back\\n \\n \\n Reset Password\\n \\n
\\n \\n
\\n \\n \\n
\\n \\n \\n\\n\\n
\\n \\n
\\n
\\n
\\n \\\"Stanbic\\n
\\n
An error has occurred
\\n
\\n Error description\\n
\\n \\n {{ exceptionMessage }}\\n \\n
\\n
\\n
\\n
\\n \\n Continue\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n\"","import { Component, ChangeDetectorRef, ViewChild, TemplateRef } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\nimport { MatSnackBar, MatDialogRef, MatDialog, MatStepper } from '@angular/material';\n\n\nimport { NotificationsService } from 'angular2-notifications';\n\nimport { AuthService } from 'src/app/core/services/auth.service';\nimport { Constants } from 'src/app/core/helpers/appConstants';\nimport { OtpReasonCodes, ResponseCodes, SecurityQuestionCreationRequestAuthor } from 'src/app/core/models/Enumerations';\nimport { RouterConstants } from 'src/app/core/helpers/routerConstants';\nimport { UtilService } from 'src/app/core/services/helpers.service';\nimport { StorageService } from 'src/app/core/services/storage.service';\nimport { VariablesService } from '../../../core/services/variables.service';\nimport { SecurityQuestion, UserSecurityQuestion } from \"src/app/core/models/auth\";\n\n\nimport { BaseComponent } from \"../../base.component\";\nimport { DebitCardPasswordResetService } from 'src/app/core/services/debitcard-passwordreset.service';\n\n\n@Component({\n templateUrl: './resetPassword.component.html',\n styleUrls: ['./resetPassword.component.css']\n})\nexport class ResetPasswordComponent extends BaseComponent {\n\n requestOngoing: boolean;\n\n securityQuestionFormGroup: FormGroup;\n changePasswordFormGroup: FormGroup;\n resetPasswordFormGroup: FormGroup;\n debitCardForm: FormGroup;\n otpFormGroup: FormGroup;\n\n\n securityQuestions: Array;\n otpCif: string;\n\n\n showPasswordValidationWrap: boolean;\n minimumPasswordLengthValidated: boolean;\n passwordHasOneOrMoreNumber: boolean;\n passwordHasUpperCaseCharacters: boolean;\n passwordHasLowerCaseCharacters: boolean;\n passwordHasValidSymbols: boolean; // @#$%^\\\n passwordValidationPassedCount: number = 0;\n passwordResetDetails: {userId: string, accountNumber: string, debitCardPin: string, lastSixDigits: string} = {\n userId: '', accountNumber: '', debitCardPin: '', lastSixDigits: ''\n };\n\n\n authUserId: string;\n cardPanVisibility: string = 'password';\n\n\n\n // Refactor on all pages later as single component instead of repeating template DRY\n @ViewChild('ExceptionTemplate') errorModalTemplateRef: TemplateRef;\n exceptionDialogRef: MatDialogRef;\n\n\n\n constructor(private router: Router, private snackBar: MatSnackBar, private formBuilder: FormBuilder,\n private storageService: StorageService, private _matDialog: MatDialog,\n private toast: NotificationsService, private authService: AuthService, private cdRef: ChangeDetectorRef,\n private passwordResetService: DebitCardPasswordResetService\n ) {\n\n super(authService, router);\n\n\n this.resetPasswordFormGroup = formBuilder.group({\n accountNo: ['', Validators.required],\n userID: ['', Validators.required]\n });\n\n this.securityQuestionFormGroup = formBuilder.group({\n questionA: ['', Validators.required],\n questionB: ['', Validators.required],\n questionC: ['', Validators.required]\n });\n\n this.debitCardForm = formBuilder.group({\n cardPin: ['', Validators.required],\n lastsixDigits: ['', Validators.required]\n });\n\n\n this.otpFormGroup = this.formBuilder.group({\n otp: ['', Validators.required]\n });\n\n\n this.changePasswordFormGroup = formBuilder.group({\n newPassword: ['', Validators.required],\n confirmPassword: ['', Validators.required]\n });\n\n UtilService.onPageLoadCallback();\n }\n\n\n\n\n accountNoKeyDown(e) {\n var key = e.charCode || e.keyCode || 0;\n\n if (e.shiftKey) {\n return false;\n }\n\n return (\n // numbers\n (key >= 48 && key <= 57) ||\n // Numeric keypad\n (key >= 96 && key <= 105) ||\n // Backspace and Tab and Enter\n key == 8 || key == 9 || key == 13 ||\n // Home and End\n key == 35 || key == 36 ||\n // left and right arrows\n key == 37 || key == 39 ||\n // up and down arrows\n key == 38 || key == 40 ||\n // Del and Ins\n key == 46 || key == 45\n );\n }\n\n\n\n GoBackToLoginPage() {\n this.router.navigate([RouterConstants.LoginURL]);\n }\n\n // For bypassing\n nextStepper(stepper: MatStepper) {\n this.passwordResetDetails.userId = this.resetPasswordFormGroup.get('userID').value;\n this.passwordResetDetails.accountNumber = this.resetPasswordFormGroup.get('accountNo').value;\n stepper.next(); \n }\n\n validateCard(stepper: MatStepper) {\n \n this.requestOngoing = true;\n\n const cardValidationPayload = {\n UserId : this.passwordResetDetails.userId ,\n Pin : this.debitCardForm.get('cardPin').value,\n AccountNumber: this.passwordResetDetails.accountNumber,\n CifId: '000229845',\n LastSixDigitsOfCard: this.debitCardForm.get('lastsixDigits').value,\n }\n this.passwordResetService.verifyCardDetails(\n cardValidationPayload\n ).subscribe(response => {\n \n this.requestOngoing = false;\n console.log(response)\n \n if (response.ResponseCode && response.ResponseCode === ResponseCodes.SUCCESS) {\n \n // if (response.QuestionDetails && response.QuestionDetails.length > 0) {\n // this.securityQuestions = response.QuestionDetails;\n // this.otpCif = response.customerID;\n \n \n // return;\n // }\n stepper.next();\n return\n }\n \n this.exceptionMessage = response.ResponseFriendlyMessage;\n this.exceptionDialogRef = UtilService.showExceptionDialog(this.exceptionDialogRef, this.errorModalTemplateRef, this._matDialog);\n \n \n \n },\n (error: any) => {\n console.log(error)\n this.requestOngoing = false;\n this.exceptionMessage = Constants.APITechnicalErrorMessage;\n this.exceptionDialogRef = UtilService.showExceptionDialog(this.exceptionDialogRef, this.errorModalTemplateRef, this._matDialog);\n });\n }\n \n\n\n nextToSecurityView(stepper: MatStepper) {\n\n if (this.resetPasswordFormGroup.valid) {\n\n if (UtilService.StringIsNullOrEmpty(this.resetPasswordFormGroup.controls.userID.value)) {\n this.snackBar.open(\"Please enter your User ID.\", null, { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n return;\n }\n\n if (UtilService.StringIsNullOrEmpty(this.resetPasswordFormGroup.controls.accountNo.value)) {\n this.snackBar.open(\"Please enter your Account Number.\", null, { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n return;\n }\n \n this.passwordResetDetails.userId = this.resetPasswordFormGroup.get('userID').value;\n this.passwordResetDetails.accountNumber = this.resetPasswordFormGroup.get('accountNo').value;\n this.requestOngoing = true;\n this.passwordResetService.verifyUserDetails(\n {\n UserId: this.passwordResetDetails.userId ,\n AccountNo: this.passwordResetDetails.accountNumber ,\n }\n ).subscribe(response => {\n \n this.requestOngoing = false;\n console.log(response)\n \n if (response.ResponseCode && response.ResponseCode === ResponseCodes.SUCCESS) {\n \n // if (response.QuestionDetails && response.QuestionDetails.length > 0) {\n // this.securityQuestions = response.QuestionDetails;\n // this.otpCif = response.customerID;\n \n \n // return;\n // }\n stepper.next();\n return\n }\n \n this.exceptionMessage = response.ResponseFriendlyMessage;\n this.exceptionDialogRef = UtilService.showExceptionDialog(this.exceptionDialogRef, this.errorModalTemplateRef, this._matDialog);\n \n \n \n },\n (error: any) => {\n this.requestOngoing = false;\n this.exceptionMessage = Constants.APITechnicalErrorMessage;\n this.exceptionDialogRef = UtilService.showExceptionDialog(this.exceptionDialogRef, this.errorModalTemplateRef, this._matDialog);\n });\n }\n\n \n\n // this._fetchUserSecurityQuestions(stepper);\n }\n\n \n\n // _fetchUserSecurityQuestions(stepper: MatStepper) {\n\n\n // this.requestOngoing = true;\n // this._authService.GetRetailUserRegisteredQuestions(\n // {\n // UserId: this.resetPasswordFormGroup.controls.userID.value,\n // AccountNo: this.resetPasswordFormGroup.controls.accountNo.value,\n // SourceReferenceId: UtilService.generateSessionId()\n // }\n // ).then(response => {\n\n // this.requestOngoing = false;\n\n // if (response.ResponseCode && response.ResponseCode === ResponseCodes.SUCCESS) {\n\n // if (response.QuestionDetails && response.QuestionDetails.length > 0) {\n // this.securityQuestions = response.QuestionDetails;\n // this.otpCif = response.customerID;\n\n // stepper.next();\n // return;\n // }\n // }\n\n // this.exceptionMessage = response.ResponseFriendlyMessage;\n // this.exceptionDialogRef = UtilService.showExceptionDialog(this.exceptionDialogRef, this.errorModalTemplateRef, this._matDialog);\n\n\n\n // },\n // (error: any) => {\n // this.requestOngoing = false;\n // this.exceptionMessage = Constants.APITechnicalErrorMessage;\n // this.exceptionDialogRef = UtilService.showExceptionDialog(this.exceptionDialogRef, this.errorModalTemplateRef, this._matDialog);\n // });\n // }\n\n\n\n GoBackToDetailsForm(stepper: MatStepper) {\n\n // this.securityQuestionFormGroup.reset();\n\n // for (let cursor in this.securityQuestionFormGroup.controls) {\n // this.securityQuestionFormGroup.controls[cursor].setErrors(null);\n // }\n\n stepper.reset();\n }\n\n GoBackToDebitCardForm(stepper: MatStepper) {\n stepper.previous()\n }\n\n\n\n nextToChangePasswordView(stepper: MatStepper) {\n\n // if (this.securityQuestionFormGroup.valid) {\n\n // if (UtilService.StringIsNullOrEmpty(this.securityQuestionFormGroup.controls[\"questionA\"].value) ||\n // UtilService.StringIsNullOrEmpty(this.securityQuestionFormGroup.controls[\"questionB\"].value) ||\n // UtilService.StringIsNullOrEmpty(this.securityQuestionFormGroup.controls[\"questionC\"].value)\n // ) {\n\n // this.snackBar.open(\"Please enter all the question answers\", null, { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n // return;\n\n // }\n\n // this.securityQuestions[0].answer = btoa(this.securityQuestionFormGroup.controls[\"questionA\"].value);\n // this.securityQuestions[1].answer = btoa(this.securityQuestionFormGroup.controls[\"questionB\"].value);\n // this.securityQuestions[2].answer = btoa(this.securityQuestionFormGroup.controls[\"questionC\"].value);\n\n // stepper.next();\n // return;\n\n // }\n\n \n }\n\n\n\n GoBackToSecurityQuestionView(stepper: MatStepper) {\n\n this.changePasswordFormGroup.reset();\n\n for (let cursor in this.changePasswordFormGroup.controls) {\n this.changePasswordFormGroup.controls[cursor].setErrors(null);\n }\n\n this.showPasswordValidationWrap = false;\n\n stepper.previous();\n }\n\n\n\n SendPasswordChangeOTP(stepper: MatStepper) {\n let self = this;\n\n // if (this.changePasswordFormGroup.valid) {\n\n // if (UtilService.StringIsNullOrEmpty(this.changePasswordFormGroup.controls.newPassword.value)) {\n\n // this.snackBar.open(\"Please enter the new password\", null, { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n // return;\n // }\n\n // if (UtilService.StringIsNullOrEmpty(this.changePasswordFormGroup.controls.confirmPassword.value)) {\n\n // this.snackBar.open(\"Please confirm the new password\", null, { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n // return;\n // }\n\n // if (this.passwordValidationPassedCount < 5) {\n // self.snackBar.open(\"Passwords does not meet the criteria.\", null, { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n // return;\n // }\n // else if (this.changePasswordFormGroup.controls['newPassword'].value != this.changePasswordFormGroup.controls['confirmPassword'].value) {\n // self.snackBar.open(\"There is a password mismatch.\", null, { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n // return;\n // }\n\n // self.initiateOtp(stepper);\n\n // }\n\n self.initiateOtp(stepper);\n }\n\n initiateOTPSub: any;\n initiateOtp(stepper: MatStepper) {\n\n // this.requestOngoing = true;\n // this.initiateOTPSub = this._authService.initiateOtpRequest(\n // {\n // UserId: this.resetPasswordFormGroup.controls.userID.value,\n // CifId: this.otpCif,\n // ReasonCode: OtpReasonCodes.CHANGE_PASSWORD\n // }\n // ).subscribe(response => {\n\n // this.requestOngoing = false;\n\n // if (response.ResponseCode && response.ResponseCode === ResponseCodes.SUCCESS) {\n // this.otpReference = response.ResponseDescription;\n // this.notificationType = response.NotificationType;\n // this.maskedOtpAddress = response.NotificationAddress;\n\n // stepper.next();\n\n // this.snackBar.open(`Please enter the One Time Code sent to ${response.NotificationAddress}\n // `, 'OK', { verticalPosition: 'top', horizontalPosition: 'right', duration: 5000 });\n // return;\n // }\n\n // this.exceptionMessage = response.ResponseFriendlyMessage;\n // this.exceptionDialogRef = UtilService.showExceptionDialog(this.exceptionDialogRef, this.errorModalTemplateRef, this._matDialog);\n\n // },\n // (error: any) => {\n // this.requestOngoing = false;\n // this.exceptionMessage = Constants.APITechnicalErrorMessage;\n // this.exceptionDialogRef = UtilService.showExceptionDialog(this.exceptionDialogRef, this.errorModalTemplateRef, this._matDialog);\n // });\n\n stepper.next();\n }\n\n\n\n\n\n GoBackToPasswordChangeView(stepper: MatStepper) {\n\n\n this.otpFormGroup.reset();\n\n // Nullify error cos of Material\n for (let cursor in this.otpFormGroup.controls) {\n this.otpFormGroup.controls[cursor].setErrors(null);\n }\n\n stepper.previous();\n }\n\n\n\n VerifyOTP() {\n\n let self = this;\n\n if (!self.otpFormGroup.valid) {\n this.toast.error(null, 'Please enter all required fields');\n }\n else {\n if (UtilService.StringIsNullOrEmpty(this.otpFormGroup.controls.otp.value) ||\n (this.otpFormGroup.controls.otp.value && this.otpFormGroup.controls.otp.value.length != 5)) {\n this.snackBar.open('Please enter a valid 5 digits OTP code.', 'OK',\n { verticalPosition: 'top', horizontalPosition: 'right', duration: 3000 });\n return;\n }\n\n self.resetPassword();\n }\n\n return false;\n }\n\n\n\n\n resetPassword() {\n let self = this;\n\n\n this.requestOngoing = true;\n self.authService.resetPassword({\n UserId: this.resetPasswordFormGroup.controls.userID.value,\n AccountNumber: this.resetPasswordFormGroup.controls.accountNo.value,\n QuestionDetailList: this.securityQuestions,\n OTP: this.otpFormGroup.controls.otp.value,\n NewPassword: this.changePasswordFormGroup.controls.newPassword.value,\n SourceRefId: this.otpReference\n })\n .then(\n response => {\n\n self.requestOngoing = false;\n\n if (response.ResponseCode == ResponseCodes.SUCCESS) {\n VariablesService.LoginPasswordChangedSuccessfully = true;\n self.router.navigate([RouterConstants.LoginURL]);\n return;\n }\n\n this.exceptionMessage = response.ResponseFriendlyMessage;\n this.exceptionDialogRef = UtilService.showExceptionDialog(this.exceptionDialogRef, this.errorModalTemplateRef, this._matDialog);\n\n },\n error => {\n self.snackBar.open(Constants.APITechnicalErrorMessage, null, { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n self.requestOngoing = false;\n }\n );\n }\n\n\n\n closeExceptionModal() {\n if (this.exceptionDialogRef) {\n this.exceptionDialogRef.close();\n }\n }\n\n\n onPasswordControlBlur() {\n if (this.passwordValidationPassedCount === 5) {\n this.showPasswordValidationWrap = false;\n }\n }\n\n\n onPasswordControlFocused() {\n this.showPasswordValidationWrap = true;\n }\n\n\n onEnteredPasswordChanged() {\n this.showPasswordValidationWrap = true;\n const currentPassword = this.changePasswordFormGroup.controls['newPassword'].value;\n this.AutoPasswordValidation(currentPassword);\n }\n\n\n\n\n AutoPasswordValidation(currentPassword: string) {\n\n this.passwordValidationPassedCount = 0;\n\n if (currentPassword.length > 7) {\n this.minimumPasswordLengthValidated = true;\n this.passwordValidationPassedCount = 1;\n } else {\n this.minimumPasswordLengthValidated = false;\n }\n\n if (UtilService.StringContainsUpperCaseCharacters(currentPassword)) {\n this.passwordHasUpperCaseCharacters = true;\n this.passwordValidationPassedCount += 1;\n } else {\n this.passwordHasUpperCaseCharacters = false;\n }\n\n if (UtilService.StringContainsLowerCaseCharacters(currentPassword)) {\n this.passwordHasLowerCaseCharacters = true;\n this.passwordValidationPassedCount += 1;\n } else {\n this.passwordHasLowerCaseCharacters = false;\n }\n\n if (UtilService.StringContainsDigit(currentPassword)) {\n this.passwordHasOneOrMoreNumber = true;\n this.passwordValidationPassedCount += 1;\n } else {\n this.passwordHasOneOrMoreNumber = false;\n }\n\n if (this.PasswordHasValidSymbol(currentPassword)) {\n this.passwordHasValidSymbols = true;\n this.passwordValidationPassedCount += 1;\n } else {\n this.passwordHasValidSymbols = false;\n }\n }\n\n\n PasswordHasValidSymbol(password: string) {\n if (password.indexOf('@') >= 0 ||\n password.indexOf('#') >= 0 ||\n password.indexOf('$') >= 0 ||\n password.indexOf('%') >= 0 ||\n password.indexOf('^') >= 0 ||\n password.indexOf('\\\\') >= 0) {\n return true;\n }\n return false;\n }\n\n showSecurityQuestionAnswerA: boolean;\n showSecurityQuestionAnswerB: boolean;\n showSecurityQuestionAnswerC: boolean;\n\n toggleSecurityQuestionsVisibility(questionIndex: number) {\n switch (questionIndex) {\n case 1:\n this.showSecurityQuestionAnswerA = !this.showSecurityQuestionAnswerA;\n break;\n case 2:\n this.showSecurityQuestionAnswerB = !this.showSecurityQuestionAnswerB;\n break;\n case 3:\n this.showSecurityQuestionAnswerC = !this.showSecurityQuestionAnswerC;\n break;\n }\n }\n\n visibilityChange(visbility: string, type: string) {\n\n switch (type) {\n case 'cardPin':\n visbility == 'password'\n ? (this.cardPanVisibility = 'text')\n : (this.cardPanVisibility = 'password');\n break;\n\n }\n }\n\n\n showPassword: boolean;\n showConfirmPassword: boolean;\n\n togglePasswordVisibility(questionIndex: number) {\n switch (questionIndex) {\n case 1:\n this.showPassword = !this.showPassword;\n break;\n case 2:\n this.showConfirmPassword = !this.showConfirmPassword;\n break;\n }\n }\n\n\n ngOnDestroy() {\n if (this.initiateOTPSub) {\n this.initiateOTPSub.unsubscribe()\n }\n }\n\n\n\n\n}\n","module.exports = \".fa {\\n font-size: large !important;\\n float: right !important;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvYXV0aGVudGljYXRpb24vc3VydmV5L3N1cnZleS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksNEJBQTRCO0lBQzVCLHdCQUF3QjtDQUMzQiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL2F1dGhlbnRpY2F0aW9uL3N1cnZleS9zdXJ2ZXkuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5mYSB7XG4gICAgZm9udC1zaXplOiBsYXJnZSAhaW1wb3J0YW50O1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuIl19 */\"","module.exports = \"\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
How happy are you with the service you just received?
\\n
What type of transaction did you perform?
\\n
Do you mind telling us a little bit more about your experience?
\\n
\\n\\n
\\n \\n
\\n
\\n Processing request, please wait...\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n\\n \\n\\n \\n
\\n
\\n
\\n\\n
\\n Selected\\n experience: {{selectedExperience.text}}\\n\\n
\\n \\n Select transaction\\n\\n \\n \\n {{transactionType.text}}\\n \\n\\n \\n \\n\\n \\n \\n
\\n
\\n
\\n\\n\\n\\n\\n
\\n Selected\\n experience: {{selectedExperience.text}}\\n\\n
\\n \\n Select reason for your selected experience\\n\\n \\n {{experienceReason.text}}\\n \\n \\n \\n\\n \\n \\n
\\n
\\n
\\n\\n
\\n Selected\\n experience: {{selectedExperience.text}}\\n \\n\\n
\\n \\n Please tell us the other reason\\n \\n \\n {{commentValue.length}} out of 200
Max 200 characters\\n
\\n
\\n \\n \\n
\\n
\\n
\\n\\n\\n\\n\\n\\n\\n\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\"","import {\n Component,\n OnInit,\n TemplateRef,\n ViewChild,\n ChangeDetectorRef,\n} from \"@angular/core\";\nimport { MatDialogRef, MatDialog, MatSnackBar } from \"@angular/material\";\nimport { AuthService } from \"src/app/core/services/auth.service\";\nimport { Router } from \"@angular/router\";\nimport { UtilService } from \"src/app/core/services/helpers.service\";\nimport { ResponseCodes } from \"src/app/core/models/Enumerations\";\nimport { RouterConstants } from \"src/app/core/helpers/routerConstants\";\nimport { Constants } from \"src/app/core/helpers/appConstants\";\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\nimport {\n SurveyQuestion,\n SurveyQuestionOption,\n PostSurveyQuestionAnswer,\n SurveyQuestionAnswer,\n} from \"src/app/core/models/payloads/survey\";\nimport { Subscription } from \"rxjs\";\nimport { VariablesService } from \"src/app/core/services/variables.service\";\n\n@Component({\n selector: \"app-survey\",\n templateUrl: \"./survey.component.html\",\n styleUrls: [\"./survey.component.css\"],\n})\nexport class SurveyComponent implements OnInit {\n loadingSurvey: boolean;\n\n experienceQuestion: SurveyQuestion;\n experienceReasonQuestion: SurveyQuestion;\n commentQuestion: SurveyQuestion;\n transactionTypeQuestion: SurveyQuestion;\n\n experienceOptionList: Array;\n experienceReasonList: Array;\n transactionTypeList: Array;\n selectedExperience: SurveyQuestionOption;\n selectedExperienceReason: SurveyQuestionOption;\n selectedTransactionType: SurveyQuestionOption;\n\n surveyFormGroup: FormGroup;\n\n @ViewChild(\"surveyModalTemplate\") surveyModalTemplate: TemplateRef;\n public surveyModalRef: MatDialogRef;\n\n viewId: number;\n\n surveyQuestions: SurveyQuestion[];\n commentTitle: string;\n\n surveyQuestionResult: PostSurveyQuestionAnswer;\n surveyQuestionAnswer: SurveyQuestionAnswer[];\n loadSurvey$: Subscription;\n\n constructor(\n private _router: Router,\n private authService: AuthService,\n private _snackbar: MatSnackBar,\n private _matDialog: MatDialog,\n private formBuilder: FormBuilder,\n private cdRef: ChangeDetectorRef\n ) {}\n\n ngOnInit() {\n this.LoadSurvey();\n\n this.surveyFormGroup = this.formBuilder.group({\n commentCtrl: [\"\", Validators.required],\n });\n\n if (UtilService.isNotBigScreen()) {\n this.surveyModalRef = UtilService.showBasicModal(\n this.surveyModalRef,\n this.surveyModalTemplate,\n this._matDialog,\n true,\n 70\n );\n } else {\n this.surveyModalRef = UtilService.showBasicModal(\n this.surveyModalRef,\n this.surveyModalTemplate,\n this._matDialog,\n true,\n 40\n );\n }\n }\n\n LoadSurvey() {\n if (\n VariablesService.SurveyQuestions &&\n VariablesService.SurveyQuestions.length > 0\n ) {\n this.surveyQuestions = VariablesService.SurveyQuestions;\n\n let experienceQuestions = this.surveyQuestions.filter(\n (x) => x.name.toLowerCase() == \"satisfied\"\n );\n\n if (experienceQuestions && experienceQuestions.length == 1) {\n this.experienceQuestion = experienceQuestions[0];\n this.experienceOptionList = experienceQuestions[0].choices;\n this.viewId = 0;\n return;\n } else {\n this.clearLoginStorage();\n this._router.navigate([RouterConstants.LoginURL]);\n return;\n }\n }\n\n this.loadingSurvey = true;\n let self = this;\n this.loadSurvey$ = self.authService\n .getSurvey(AuthService.FullyAuthenticatedUser.CifId)\n .subscribe(\n (response) => {\n this.loadingSurvey = false;\n if (response.responseCode == ResponseCodes.SUCCESS) {\n if (response.data && response.data && response.data.length > 0) {\n this.surveyQuestions = response.data;\n\n let experienceQuestions = this.surveyQuestions.filter(\n (x) => x.name.toLowerCase() == \"satisfied\"\n );\n self.cdRef.detectChanges();\n\n console.log(experienceQuestions);\n if (experienceQuestions && experienceQuestions.length == 1) {\n this.experienceQuestion = experienceQuestions[0];\n this.experienceOptionList = experienceQuestions[0].choices;\n this.viewId = 0;\n self.cdRef.detectChanges();\n\n return;\n }\n }\n }\n\n this._snackbar.open(\n \"Survey could not be loaded at the moment.\",\n \"Ok\",\n {\n verticalPosition: \"bottom\",\n horizontalPosition: \"right\",\n duration: 60000,\n }\n );\n\n this.clearLoginStorage();\n this._router.navigate([RouterConstants.LoginURL]);\n },\n (error: any) => {\n this.loadingSurvey = false;\n if (error && error.status != Constants.UnauthorizedStatusCode) {\n this._snackbar.open(\n \"Survey could not be loaded at the moment.\",\n \"Ok\",\n {\n verticalPosition: \"bottom\",\n horizontalPosition: \"right\",\n duration: 60000,\n }\n );\n }\n // localStorage.clear();\n // sessionStorage.clear();\n // AuthService.clearSessionTokenOnLogout = true;\n\n // this.authService.logout();\n // this._router.navigate([RouterConstants.LoginURL]);\n\n this.clearLoginStorage();\n this._router.navigate([RouterConstants.LoginURL]);\n }\n );\n }\n\n onExperienceSelected(experienceOption: SurveyQuestionOption) {\n this.selectedExperience = experienceOption;\n if (experienceOption.value.toLowerCase() == \"unhappy\") {\n let transactionTypeQuestions = this.surveyQuestions.filter(\n (x) => x.name.toLocaleLowerCase() == \"transactiontype\"\n );\n\n if (transactionTypeQuestions && transactionTypeQuestions.length == 1) {\n this.viewId = 1;\n this.transactionTypeQuestion = transactionTypeQuestions[0];\n this.transactionTypeList = transactionTypeQuestions[0].choices;\n\n let otherIndex = this.transactionTypeList.findIndex(\n (x) => x.value.toLowerCase() == \"others\"\n );\n if (otherIndex != -1) {\n this.transactionTypeList.splice(otherIndex, 1);\n }\n this.cdRef.detectChanges();\n\n return;\n }\n\n this.submitFeedback();\n return;\n }\n\n this.submitFeedback();\n }\n\n GoBackToExperienceSelection() {\n this.selectedTransactionType = this.selectedExperience = undefined;\n this.viewId = 0;\n }\n\n onTransactionTypeSelected(transactionType: SurveyQuestionOption) {\n this.selectedTransactionType = transactionType;\n }\n\n gotoUnhappyReasonView() {\n if (!this.selectedTransactionType) {\n this._snackbar.open(\n \"Please select the type of transaction performed\",\n \"Ok\",\n {\n verticalPosition: \"top\",\n horizontalPosition: \"center\",\n duration: 60000,\n }\n );\n\n return;\n }\n\n let experienceReasonQuestions = this.surveyQuestions.filter(\n (x) => x.name.toLocaleLowerCase() == \"nothappyreason\"\n );\n\n if (experienceReasonQuestions && experienceReasonQuestions.length == 1) {\n this.viewId = 2;\n this.experienceReasonQuestion = experienceReasonQuestions[0];\n this.experienceReasonList = experienceReasonQuestions[0].choices;\n\n let otherIndex = this.experienceReasonList.findIndex(\n (x) => x.value.toLowerCase() == \"others\"\n );\n if (otherIndex != -1) {\n this.experienceReasonList.splice(otherIndex, 1);\n }\n\n this.experienceReasonList.push({\n text: \"Others\",\n value: \"Others\",\n });\n this.cdRef.detectChanges();\n\n return;\n }\n }\n\n GoBackToTransactionTypeSelection() {\n this.selectedExperienceReason = undefined;\n this.surveyFormGroup.controls.commentCtrl.setValue(\"\");\n this.viewId = 1;\n\n let otherIndex = this.experienceReasonList.findIndex(\n (x) => x.value.toLowerCase() == \"others\"\n );\n if (otherIndex != -1) {\n this.experienceReasonList.splice(otherIndex, 1);\n }\n }\n\n onExperienceReasonSelected(experienceReason: SurveyQuestionOption) {\n this.selectedExperienceReason = experienceReason;\n\n if (experienceReason.value.toLowerCase() == \"others\") {\n this.viewId = 3;\n this.cdRef.detectChanges();\n return;\n }\n }\n\n GoBackToExperienceReasonSelection() {\n this.selectedExperienceReason = undefined;\n this.surveyFormGroup.controls.commentCtrl.setValue(\"\");\n this.viewId = 2;\n }\n\n get commentValue() {\n return this.surveyFormGroup.controls.commentCtrl.value;\n }\n\n submitFeedback() {\n if (!this.selectedExperience) {\n this._snackbar.open(\"Please select your experience.\", \"Ok\", {\n verticalPosition: \"top\",\n horizontalPosition: \"center\",\n duration: 60000,\n });\n return;\n }\n\n if (\n this.selectedExperience.value.toLowerCase() == \"unhappy\" &&\n !this.selectedTransactionType\n ) {\n this._snackbar.open(\n \"Please select the transaction you are unhappy with.\",\n \"Ok\",\n {\n verticalPosition: \"top\",\n horizontalPosition: \"center\",\n duration: 60000,\n }\n );\n return;\n }\n\n if (\n this.selectedExperience.value.toLowerCase() == \"unhappy\" &&\n !this.selectedExperienceReason\n ) {\n this._snackbar.open(\n \"Please tell us a bit more about your experience.\",\n \"Ok\",\n {\n verticalPosition: \"top\",\n horizontalPosition: \"center\",\n duration: 60000,\n }\n );\n return;\n }\n\n if (\n this.selectedExperienceReason &&\n this.selectedExperienceReason.value.toLowerCase() == \"others\" &&\n UtilService.StringIsNullOrEmpty(\n this.surveyFormGroup.controls.commentCtrl.value\n )\n ) {\n this._snackbar.open(\n \"Please tell us the reason for your selected experience (Others).\",\n \"Ok\",\n {\n verticalPosition: \"top\",\n horizontalPosition: \"center\",\n duration: 60000,\n }\n );\n return;\n }\n\n this.surveyQuestionAnswer = [];\n\n let self = this;\n this.surveyQuestionAnswer.push({\n answer: self.selectedExperience.value,\n question: self.experienceQuestion.name,\n });\n\n if (\n this.selectedExperienceReason &&\n this.selectedExperienceReason.value.toLowerCase() != \"others\"\n ) {\n this.surveyQuestionAnswer.push({\n answer: self.selectedExperienceReason.value,\n question: self.experienceReasonQuestion.name,\n });\n } else if (\n this.selectedExperienceReason &&\n this.selectedExperienceReason.value.toLowerCase() == \"others\"\n ) {\n this.surveyQuestionAnswer.push({\n answer: self.surveyFormGroup.controls.commentCtrl.value,\n question: self.experienceReasonQuestion.name,\n });\n }\n\n if (this.selectedTransactionType) {\n this.surveyQuestionAnswer.push({\n answer: self.selectedTransactionType.value,\n question: self.transactionTypeQuestion.name,\n });\n }\n\n this.surveyQuestionResult = {\n cifId: AuthService.FullyAuthenticatedUser.CifId,\n BankingChannel: 2,\n transactionType: \"\", //\"Internet_Banking\",\n surveyFields: this.surveyQuestionAnswer,\n };\n\n // console.log(this.surveyQuestionResult);\n this.loadingSurvey = true;\n // return;\n self.authService.postSurvey(this.surveyQuestionResult).subscribe(\n (response) => {\n this.loadingSurvey = false;\n\n if (response.responseCode == ResponseCodes.SUCCESS) {\n this._snackbar.open(\n \"Thank you for providing us with your feedback.\",\n \"Ok\",\n {\n verticalPosition: \"top\",\n horizontalPosition: \"center\",\n duration: 60000,\n }\n );\n\n // localStorage.clear();\n // sessionStorage.clear();\n // AuthService.clearSessionTokenOnLogout = true;\n\n // this.authService.logout();\n } else {\n this._snackbar.open(\n \"Survey could not be submitted at the moment.\",\n \"Ok\",\n {\n verticalPosition: \"bottom\",\n horizontalPosition: \"right\",\n duration: 60000,\n }\n );\n }\n\n this.clearLoginStorage();\n this._router.navigate([RouterConstants.LoginURL]);\n },\n (error: any) => {\n if (error && error.status != Constants.UnauthorizedStatusCode) {\n this._snackbar.open(\n \"Survey could not be submitted at the moment.\",\n \"Ok\",\n {\n verticalPosition: \"bottom\",\n horizontalPosition: \"right\",\n duration: 60000,\n }\n );\n }\n\n this.loadingSurvey = false;\n\n this.clearLoginStorage();\n this._router.navigate([RouterConstants.LoginURL]);\n }\n );\n }\n\n clearLoginStorage() {\n localStorage.clear();\n sessionStorage.clear();\n AuthService.clearSessionTokenOnLogout = true;\n this.authService.logout();\n }\n closePrivacyModal(event) {\n if (event) {\n event.stopPropagation();\n }\n\n this._closePrivacyModalAndGoToDashboard();\n\n return false;\n }\n _closePrivacyModalAndGoToDashboard() {\n if (this.surveyModalRef) {\n this.surveyModalRef.close();\n }\n\n this.clearLoginStorage();\n this._router.navigate([RouterConstants.LoginURL]);\n return false;\n }\n\n ngOnDestroy() {\n if (this.loadSurvey$) {\n this.loadSurvey$.unsubscribe();\n }\n }\n}\n","module.exports = \".mat-form-field {\\n display: block !important;\\n position: relative;\\n text-align: left;\\n}\\n\\n.button-row {\\n margin-top: 10px;\\n}\\n\\n.button-row button,\\n.button-row a {\\n margin-right: 8px;\\n}\\n\\n.outline-yellow {\\n border-color: #cc8e17 !important;\\n}\\n\\n.tc-header {\\n text-align: center;\\n font-family: 'Libre Franklin';\\n color: #333;\\n margin-bottom: 10px;\\n font-weight: 200;\\n font-size: 24px;\\n margin-top: 15px;\\n}\\n\\n.tc-inner-wrap {\\n border-top: 1px solid #ccc;\\n width: 100%;\\n padding: 20px 0;\\n margin: 0;\\n}\\n\\n.tc-inner-wrap::before {\\n content: \\\" \\\";\\n display: table;\\n}\\n\\n.tc-inner-wrap .conditions {\\n margin-bottom: 25px;\\n font-family: 'Libre Franklin';\\n color: #666;\\n font-size: 13px;\\n line-height: 18px;\\n text-align: justify;\\n}\\n\\n.tc-inner-wrap .conditiom-heading {\\n margin-bottom: 10px;\\n font-family: 'Libre Franklin';\\n font-size: 15px;\\n color: #333;\\n display: block;\\n}\\n\\n.tc-inner-wrap .condition-desc {\\n font-family: 'Libre Franklin';\\n font-size: 13px;\\n color: #666;\\n}\\n\\n.close-reveal-modal1 {\\n z-index: 100;\\n line-height: 1;\\n position: relative;\\n font-weight: 700;\\n cursor: pointer;\\n color: #2570e0;\\n font-size: 20px;\\n width: 33px;\\n float: right;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvYXV0aGVudGljYXRpb24vdXNlci1yZWdpc3RyYXRpb24vdXNlci1yZWdpc3RyYXRpb24uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDBCQUEwQjtFQUMxQixtQkFBbUI7RUFDbkIsaUJBQWlCO0NBQ2xCOztBQUVEO0VBQ0UsaUJBQWlCO0NBQ2xCOztBQUVEOztFQUVFLGtCQUFrQjtDQUNuQjs7QUFFRDtFQUNFLGlDQUFpQztDQUNsQzs7QUFHRDtFQUNFLG1CQUFtQjtFQUNuQiw4QkFBOEI7RUFDOUIsWUFBWTtFQUNaLG9CQUFvQjtFQUNwQixpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtDQUNsQjs7QUFFRDtFQUNFLDJCQUEyQjtFQUMzQixZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hCLFVBQVU7Q0FDWDs7QUFFRDtFQUNFLGFBQWE7RUFDYixlQUFlO0NBQ2hCOztBQUdEO0VBQ0Usb0JBQW9CO0VBQ3BCLCtCQUErQjtFQUMvQixZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixvQkFBb0I7Q0FDckI7O0FBRUQ7RUFDRSxvQkFBb0I7RUFDcEIsOEJBQThCO0VBQzlCLGdCQUFnQjtFQUNoQixZQUFZO0VBQ1osZUFBZTtDQUNoQjs7QUFFRDtFQUNFLDhCQUE4QjtFQUM5QixnQkFBZ0I7RUFDaEIsWUFBWTtDQUNiOztBQUdEO0VBQ0UsYUFBYTtFQUNiLGVBQWU7RUFDZixtQkFBbUI7RUFDbkIsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLFlBQVk7RUFDWixhQUFhO0NBQ2QiLCJmaWxlIjoic3JjL2FwcC9wYWdlcy9hdXRoZW50aWNhdGlvbi91c2VyLXJlZ2lzdHJhdGlvbi91c2VyLXJlZ2lzdHJhdGlvbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm1hdC1mb3JtLWZpZWxkIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uYnV0dG9uLXJvdyB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5idXR0b24tcm93IGJ1dHRvbixcbi5idXR0b24tcm93IGEge1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLm91dGxpbmUteWVsbG93IHtcbiAgYm9yZGVyLWNvbG9yOiAjY2M4ZTE3ICFpbXBvcnRhbnQ7XG59XG5cblxuLnRjLWhlYWRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6ICdMaWJyZSBGcmFua2xpbic7XG4gIGNvbG9yOiAjMzMzO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LXdlaWdodDogMjAwO1xuICBmb250LXNpemU6IDI0cHg7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbi50Yy1pbm5lci13cmFwIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuLnRjLWlubmVyLXdyYXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuXG4udGMtaW5uZXItd3JhcCAuY29uZGl0aW9ucyB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIGZvbnQtZmFtaWx5OiAgJ0xpYnJlIEZyYW5rbGluJztcbiAgY29sb3I6ICM2NjY7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG5cbi50Yy1pbm5lci13cmFwIC5jb25kaXRpb20taGVhZGluZyB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiAnTGlicmUgRnJhbmtsaW4nO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGNvbG9yOiAjMzMzO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnRjLWlubmVyLXdyYXAgLmNvbmRpdGlvbi1kZXNjIHtcbiAgZm9udC1mYW1pbHk6ICdMaWJyZSBGcmFua2xpbic7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgY29sb3I6ICM2NjY7XG59XG5cblxuLmNsb3NlLXJldmVhbC1tb2RhbDEge1xuICB6LWluZGV4OiAxMDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICMyNTcwZTA7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgd2lkdGg6IDMzcHg7XG4gIGZsb2F0OiByaWdodDtcbn1cbiJdfQ== */\"","module.exports = \"
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\\"Stanbic\\n

Registration

\\n
\\n
\\n Kindly enter your account number below so that we can create a user ID for Internet Banking
\\n
\\n
\\n
\\n \\n Stanbic IBTC bank account number \\n person_outline\\n \\n
\\n
\\n I agree to the  \\n

\\n Terms and Conditions

\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
Terms & Conditions
\\n
\\n
\\n
\\n
\\n
1. Agreement and acceptanceThis agreement becomes effective between you and Stanbic IBTC Bank PLC\\n (\\\"the bank\\\", \\\"we\\\" or \\\"us\\\") at the time of registering for Self-Service Banking or at the time\\n you access Self-Service Banking, whichever occurs first. For purposes of this agreement\\n \\\"Self-Service Banking\\\" includes, GSM, email, Internet Banking, Estatements, debit card, ATM,\\n Banking and transaction notification services.
\\n
2. Incorporated termsIn addition to this agreement, the terms and conditions of your automated\\n teller machine (ATM) card (bank card terms) and account or facility terms and conditions (other\\n terms) shall apply to all transactions you carry out or instruct us to carry out through bank\\n accounts linked to the card or account number you select when using our self service banking. In\\n the event of conflict between the provisions of this agreement and the bank card terms or any\\n other term, the provisions of this agreement shall prevail. Where the bank card terms or other\\n terms require amendments or additions thereto to be reduced to writing and/or signed, your\\n acceptance of this agreement shall be deemed to satisfy such requirements.
\\n
3. Defining the device and\\n mediumThe device which you select to access our self service\\n banking may include a computer, cell phone, telephone, television or similar technologies (the\\n device) and the medium through which you access self service banking may include the Internet,\\n wireless application protocol (WAP), wireless Internet gateway (WIG), short messaging system\\n (SMS), voice over an automated voice recognition system or similar technologies (the medium). We\\n will refer to the device and the medium collectively as \\\"the communication system\\\". Where a\\n particular communication system requires contractual provisions different from other\\n communication systems, this will be clearly stated in this agreement.
\\n
4. Linked textFor ease of use, we have included automated links (hyperlinks) in this\\n agreement to information elsewhere on the communication system. These links are indicated by\\n blue underlined text and your mouse's cursor should change into a hand or other pointer when\\n held over this text. You are obliged to view the relevant parts of the hyperlinked information,\\n which information will be regarded as forming part of this agreement. If your communication\\n system cannot access the hyperlinks, you must visit our website at www.stanbicibtcbank.com to\\n access the linked information or contact our Customer Care Centre +234-1-2709676
\\n
5. AmendmentsWe may amend this agreement from time to time and you are bound by the\\n version of this agreement that exists at the time you access electronic banking. The date of the\\n version is recorded above clause 1.
\\n
6. Requirements and registration Before you can use electronic banking you must follow certain steps. \\n
  • Internet banking : You must first register at your nearest branch by filling in a\\n registration form.You will be issued with a password that you have to change once you have\\n logged on to the Internet site for the first time. You must then create your own password.\\n For more information on how to do this you can visit a branch or call our Customer Care\\n Centre +234 - 1 - 2709676
  • \\n
  • Verification : You may not create a password using somebody else's bank details. Before we\\n allow you access to Self-Service Banking we may require information from you so that we can\\n verify that you are who you say you are. We will require your prior consent (express or\\n implied), which consent will be deemed to have been granted by you at the time that you sign\\n the registration form referred to in 6 above or at the time you accept these terms and\\n conditions, to perform credit or other checks on you before we process an instruction.
  • \\n
    \\n
    7. Fees\\n For the use of self-service banking you will be charged the following fees:
      \\n
    • a. For Internet banking we may charge you a monthly subscription fee.
    • \\n
    • b. We may charge a transaction fee based on the type of transactions you perform. Details\\n of our standard subscription and transaction fees are available on our website and at\\n branches.
    • \\n
    If you fail to pay our fees or if you have insufficient funds in the accounts which you\\n have selected for this purpose, we reserve the right to refuse you access to the relevant\\n Self-Service Banking service and to debit all outstanding fees to any other account you have\\n with the bank.
    \\n
    8. We will act on instructions that appear\\n to have been sent by youUse of a communication system means\\n we do not interact face-to-face. Unless you notify us before we give effect to an instruction,\\n you authorize us to rely on and perform all instructions that appear to originate from you (even\\n if someone else is impersonating you).
    \\n
    9. Sending and processing\\n instructionsYour instructions to us will be subject to the\\n same turn-around times and processes that apply to your customer profile, the type of account\\n you have and type of transaction involved. More information on the turn-around times for\\n processing of instructions is available on our website.An instruction, including purchases of\\n prepaid products, cannot be terminated or revoked once sent to us. You will not hold us liable\\n if you execute the same instruction more than once and neither instruction will be reversible.\\n
    \\n
    10. Confirmation of receipt of your\\n instructionsAn instruction is deemed to be received by us\\n only once we have confirmed we have received it. If we fail to confirm receipt of your\\n instruction, do not re-send the same instruction before checking your statements and contacting\\n our Customer Care Centre. This is because the initial instruction may still be processed and\\n re-sending the instruction may lead to a double transaction for which we will not be held\\n liable.
    \\n
    11. Access code protection and\\n irregularities An \\\"access code\\\" refers to your password and\\n user name. You must protect and keep your access codes confidential at all times. It is not safe\\n to store it on your computer or on a network. We rely on you to report any compromise of your\\n access codes to us without delay. You may do this by contacting our Customer Care Centre or your\\n branch. We may ask you to verify your identity to prevent someone else from impersonating you.\\n Once you notify us to disable an access code we are entitled to:
      \\n
    • a. Reject all instructions received after such notification;
    • \\n
    • b. Suspend the processing of all instructions not yet executed;
    • \\n
    • c. Reverse (if possible) all executed transactions with effect from such date and time as\\n we may reasonably determine the unauthorised use to have commenced;
    • \\n
    • d. Deactivate the access code without further notice. There will never be a reason for any\\n person including a member of our staff or Customer Care Centre to know or ask for your\\n access code. Do not disclose an access code to these persons, regardless of whether you\\n called them or they called you. You must immediately notify us if you discover an error or\\n irregularity. You can report any errors to our Customer Care Centre or at any branch.
    • \\n
    \\n
    12. One Time PasswordA unique and time-sensitive password used as added security on Internet\\n banking. The password does not replace the password you use to log on to Internet banking but\\n provides a second layer of security The password will be sent to you by SMS and is valid\\n for one Internet banking session only.The one time password (OTP) is used for the following: \\n
  • Adding beneficiaries
  • \\n
  • Amending your password
  • \\n
  • Changing your cell phone number
  • \\n \\n
    \\n
    13. Ending a sessionYou must ensure that you log-off from the Internet banking\\n service.
    \\n
    14. Your authorityYou permit us to regard all activities you conduct or instructions sent\\n after you enter your access code as being authorized by you and intended to have legal force and\\n effect.
    \\n
    15. Sufficient noticeYou permit us to issue notices required in terms of this agreement,\\n legislation or regulation by making such notification available via our communication systems or\\n sending such notification by email, SMS or similar future technologies. Any notices so issued by\\n us, will as far as they contain contractual terms relating to electronic banking, also form part\\n of this agreement.
    \\n
    16. No offer, recommendation or\\n solicitationUnless clearly stated, all material on the\\n communication system merely constitutes an invitation to do business with us. It does not\\n constitute an offer or solicitation to buy or sell, or dispose in any way, of any investment, or\\n to enter into any transaction.
    \\n
    17. Nature of information on the\\n communication system Information on the communication system\\n is intended to provide you with only general information about the bank, its products, services\\n and objectives. From time to time we may provide information on:
      \\n
    • a. projected revenues, income, earnings per share, capital expenditures, dividends,\\n capital structure or other financial items;
    • \\n
    • b. our plans, objectives and projections for future operations and services
    • \\n
    \\n
    18. Information feedsWe may use the services of other organisations to provide information on\\n the communication system. We have no control over this information and make no representations\\n or warranties of any nature as to its accuracy, appropriateness or correctness. You agree that\\n such information is provided \\\"as is\\\" and we will not be directly or indirectly liable for any\\n damages that may arise from you relying on it. All quotes, news, market information such as\\n share prices or data shown on the communication system by way of live information feeds are\\n delayed by at least 30 minutes unless otherwise stated. You should always select the \\\"refresh\\\"\\n or similar page or screen update function on your Internet browser or handset to ensure that the\\n information you are viewing is the most current.
    \\n
    19. Links to third parties' communication\\n systemsThe communication system may contain links to other\\n communication systems that carry information and material produced by other parties. While we\\n try to provide links only to reputable communication systems, we cannot accept responsibility or\\n liability for the information provided on other communication systems. A link from our\\n communication system to any other communication system does not mean that we have scrutinised or\\n endorsed the owners or administrators of such communication systems or their business or\\n security practices and operations.
    \\n
    20. Our intellectual property We retain all copyright and other intellectual property rights in all\\n material, including logos and other graphics and multimedia works published on or via the\\n communication system. You are authorised to view and download one copy to a local hard drive or\\n disk, print and make copies of such printouts provided that:
      \\n
    • a. the material is used for considering or using self-service banking and for no other\\n commercial purposes;and
    • \\n
    • b. any reproduction of any portion of our proprietary material must include our entire\\n copyright notice.
    • \\n
    • c. future economic performance. These will be only estimates so actual events or results\\n may differ. All information is provided \\\"as is\\\" and should not be treated as professional or\\n investment advice of any kind. You should consult your own professional advisers before\\n relying on any information on the communication system.
    • \\n
    • d. The logos and trade marks shown on our communication system are our registered and\\n unregistered trade marks or those of third parties. Nothing contained on our communication\\n system should be construed as granting any licence or right to use any trade mark or other\\n intellectual property without our prior written permission or that of the relevant third\\n parties. Your application to use any content from our communication system must be submitted\\n in writing. On receipt we may respond and enter into further discussions with you. Consider\\n your request as declined if you don't get a written response from us within five business\\n days. Irrespective of the existence of copyright, you acknowledge that we are the proprietor\\n of all material on the communication system, whether it constitutes confidential information\\n or not, and that you shall have no right, title or interest in any such material.
    • \\n
    \\n
    21. Software you must use and maintain only\\n hardware and software of sufficient quality and performance capability. Your failure to use such software or hardware may result in a higher\\n security risk and cause the communication system not to operate properly or not at all.\\n Software, if any, made available for download on or via the communication system is governed by\\n licence conditions that establish a legal relationship with the licensor. You indemnify us\\n against any breach of these licence conditions. We give no warranty and make no representation,\\n whether expressly or implied, as to the quality or fitness for purpose or use of such software.\\n No warranty, whether express or implied is given that any files, downloads or applications\\n available via this communication system are free of viruses, Trojans, bombs, time-locks or any\\n other data or code which has the ability to corrupt or affect the operation of your computer,\\n database, network or other information system.
    \\n
    22. Transmission of information and security\\n tipsInformation transmitted via an unsecured link over a\\n communication system is susceptible to potential unlawful access, distortion or monitoring. You\\n must comply with the security tips which are published on our website from time to time. As we\\n do not have the ability to prevent unlawful activities by unscrupulous persons, you accept that\\n we cannot be held liable for any loss, harm or damage suffered by you as a result thereof. To\\n limit these risks, we may request independent verification of any information transmitted by you\\n via our communication system from time to time.
    \\n
    23. IndemnityYou indemnify us for all losses and costs we may incur on your behalf due\\n to:\\n
      \\n
    • Non-payment;
    • \\n
    • Any instruction exceeding the amount available in your bank account; or
    • \\n
    • Unauthorised instructions executed which were not due to our negligence.
    • \\n
    \\n
    \\n
    24. Unavailability of Self-Service\\n bankingWe will at all times and for whatever reason, have\\n the sole and exclusive right to suspend or terminate Self-Service Banking without any prior\\n notification or giving any reasons for such termination or suspension. You acknowledge and\\n accept that Self-Service Banking may be unavailable from time to time for any reason, including:\\n technical failure or problems with the communication system itself or our communication system\\n underlying banking systems (the bank system); technical failure or problems with a communication\\n system directly or indirectly underlying Self-Service Banking that is owned or controlled by\\n other persons (third party system); unavailability of telecommunication orelectricity services;\\n or other circumstances beyond our control . You undertake, in the event of unavailability of\\n Self-Service Banking, to limit your potential losses by using any other means of communication\\n with us for the duration of the unavailability of Self-Service Banking.
    \\n
    25. Warranties and\\n representationsWe do not warrant that the communication\\n system or Self-Service Banking will be error-free or will meet any particular criteria of\\n accuracy, completeness or reliability of information, performance or quality. We expressly\\n disclaim all implied warranties, including, without limitation, warranties of merchantability,\\n title, fitness for a particular purpose, non-infringement, compatibility, security and\\n accuracy.
    \\n
    26. Disclaimer and limitation of\\n liability For purposes of this clause \\\"we\\\" or \\\"us\\\" or \\\"our\\\"\\n includes the bank as well as its affiliates, shareholders, employees, consultants and agents.\\n Although we have taken care to ensure that the content provided on the communication system is\\n accurate and that you suffer no loss or damage as a result of you using it, the communication\\n system and Self-Service Banking are provided \\\"as is\\\". We are not liable for any damages\\n whatsoever relating to your use of the communication system or Self-Service Banking. This\\n includes the information contained on the communication system or your inability to use the\\n communication system or Self-Service Banking, including, without limitation, any direct,\\n indirect, special, incidental or consequential damages, whether arising out of contract,\\n statute, delict or otherwise and regardless of whether we were expressly advised of the\\n possibility of such loss or damage. Without derogating from the generality of the foregoing, we\\n are not liable for:
      \\n
    • a. any damages which you suffer as a result of a compromise of your access codes.
    • \\n
    • b. any interruption, malfunction, downtime or other failure of the communication system or\\n Self-Service Banking, our banking system, third party system, databases or any component\\n part thereof for whatever reason.
    • \\n
    • c. any loss or damage which arises from your orders, investment decisions, purchases or\\n disposal of goods and services, including financial instruments or currencies, from third\\n parties based upon the information provided on the communication system.
    • \\n
    • d. any loss or damage with regard to your or any other data directly or indirectly caused\\n by malfunction of our bank system, third party systems, power failures, unlawful access to\\n or theft of data, computer viruses or destructive code on the bank system or third party\\n systems; programming defects, negligence on our part.
    • \\n
    • e. any interruption, malfunction, downtime or other failure of goods or services provided\\n by third parties, including, without limitation, third party systems such as the public\\n switched telecommunication service providers, internet service providers, electricity and\\n water suppliers, local authorities and certification authorities
    • \\n
    • f. any event over which we have no direct control.
    • \\n
    \\n
    27. BreachWe may terminate your access to Self-Service Banking if you breach a\\n material term of this agreement and fail to remedy it within five days of you being notified of\\n it. We may do this without detracting from our right to take any other steps available to us at\\n law or under this agreement, including the right to obtain aninterdict.
    \\n
    28. How disputes will be\\n resolvedAll disputes arising as a result of your use of\\n Self-Service Banking, the interpretation of this agreement or any matter which in terms of this\\n agreement requires agreement by the parties (other than where an interdict is sought or urgent\\n relief may be obtained from a court of competent jurisdiction) will be decided by arbitration. A\\n demand notice for Arbitration may be served by either party and within fourteen (14) days of\\n such demand being served the matter may be referred to a sole arbitrator to be agreed upon by\\n both parties, or in the absence of such an agreement, the arbitrator shall be appointed in\\n accordance with the provisions of the Arbitration and Conciliation Act Cap, A18, Laws of the\\n Federation of Nigeria 2004. The arbitrator shall render a written decision no later than 60 days\\n after the matter was referred to arbitration or so soon thereafter as possible. Venue for\\n arbitration shall be in Lagos. Each party shall pay its own attorney fees and costs\\n notwithstanding which party prevails. The award of the arbitration panel shall be binding on the\\n parties. Either of us is entitled to have the award made an order of court of competent\\n jurisdiction. Both of us will keep the evidence in the arbitration proceedings and any order\\n made by an arbitrator confidential unless otherwise contemplated herein. The arbitrator will\\n have the power to give default judgement if either of us fails to make submissions on due date\\n or fails to appear at the arbitration.
    \\n
    29. Capacity to enter into\\n agreementsYou warrant to us that you have the required legal\\n capacity to enter into and be bound by this agreement. Anyone below the age of 18 must be\\n assisted by their legal guardian when reading this agreement. If you are below 18 years of age\\n you have to speak to your legal guardian or parents. If you are unsure whether you have the\\n legal capacity to enter into agreements, you have to contact someone able to provide you with\\n this information before you continue to use Self-Service Banking. Our Customer Care Centre will\\n be able to help you clear this up.
    \\n
    30. Certificate To prevent unnecessary disputes, you agree that unless you can prove\\n otherwise, a certificate signed by a manager of the Bank whose appointment/capacity need not be\\n proved or his representative is sufficient proof of the date of publication, withdrawal,\\n transmission and content of:
      \\n
    • a. the current version and all previous versions of this agreement,
    • \\n
    • b. notices and disclaimers posted on the communication system, and
    • \\n
    • c. notification sent under this agreement.
    • \\n
    \\n
    31. Our address for notices and service of\\n legal processFor the purpose of service of any legal process\\n we choose the following registered address: E-Business Department, Stanbic IBTC Bank Plc, Walter\\n Carrington Crescent, Victoria Island, Lagos
    \\n
    32. Law governing our\\n relationshipThis agreement will be governed and construed in\\n accordance with the Federal Republic of Nigeria without reference to any conflict of law\\n provisions, and any dispute arising therefrom shall be determined in accordance with such\\n laws.
    \\n
    33. General provisionsThe headings of the clauses in this agreement are provided for\\n convenience and ease of reference only and will not be used to interpret, modify or amplify this\\n agreement. Where any dates or times need to be calculated in terms of this agreement, the\\n international standard time (GMT) plus one hour will be used. Whenever disputes result from the\\n peculiarities of the communication system, we both authorise a court or arbitrator, as the case\\n may be, to interpret this agreement in such a manner as to facilitate normal banking without\\n placing undue emphasis on technical issues. No failure or delay by us to exercise any of our\\n rights is to be construed as a waiver of any such right, whether this is done expressly or is\\n implied. It will also not affect the validity of any part of these conditions or prejudice our\\n right to take subsequent action against you. If any of these terms, conditions or provisions are\\n held to be invalid, unlawful or unenforceable to any extent; such term, condition or provision\\n will be severed from the remaining terms, conditions and provisions, which will continue to be\\n valid to the full extent permitted by law. If you have any questions about this agreement or do\\n not understand anything in this agreement please call our Customer Care Centre +234 - 1 -\\n 2709676
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n\"","\n\nimport { Component, TemplateRef, ViewChild } from \"@angular/core\";\nimport { Router } from \"@angular/router\";\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\nimport { MatSnackBar, MatDialogRef, MatDialog } from '@angular/material';\n\n\n\n\nimport { AuthService } from \"src/app/core/services/auth.service\";\nimport { UtilService } from \"src/app/core/services/helpers.service\";\nimport { ResponseCodes, SecurityQuestionCreationRequestAuthor } from \"src/app/core/models/Enumerations\";\nimport { Constants } from \"src/app/core/helpers/appConstants\";\nimport { RouterConstants } from \"src/app/core/helpers/routerConstants\";\nimport { VariablesService } from \"../../../core/services/variables.service\";\n\n\n@Component({\n templateUrl: \"./user-registration.component.html\",\n styleUrls: ['./user-registration.component.css']\n})\nexport class UserRegistrationComponent {\n\n\n requestOngoing: boolean;\n registerFormGroup: FormGroup;\n agreeToTerms: boolean = false;\n\n\n @ViewChild('termsAndConditionModalTemplate') termsAndConditionModalTemplate: TemplateRef;\n public termsAndConditionModalRef: MatDialogRef;\n\n\n constructor(private formBuilder: FormBuilder, private router: Router, private authService: AuthService,\n private _snackbar: MatSnackBar, private _matDialog: MatDialog) {\n\n document.title = \"STANBIC IBTC BANK PLC\";\n\n this.registerFormGroup = this.formBuilder.group({\n accountNo: ['', Validators.required],\n agreeToTerms: [false]\n });\n\n\n\n this.registerFormGroup.controls.accountNo.setValue(AuthService.UnauthenticatedUserId || \"\");\n\n UtilService.onPageLoadCallback();\n }\n\n\n\n GoBackToLoginPage() {\n AuthService.UnauthenticatedUserId = undefined;\n this.router.navigate([RouterConstants.LoginURL]);\n }\n\n showTermsAndCondition() {\n\n if (UtilService.isNotBigScreen()) {\n this.termsAndConditionModalRef = UtilService.showBasicModal(this.termsAndConditionModalRef, this.termsAndConditionModalTemplate,\n this._matDialog, true, 80);\n }\n else {\n this.termsAndConditionModalRef = UtilService.showBasicModal(this.termsAndConditionModalRef, this.termsAndConditionModalTemplate,\n this._matDialog, true, 60);\n }\n\n }\n\n closeTermsModal(event) {\n event.stopPropagation();\n\n this.termsAndConditionModalRef.close();\n\n return false;\n }\n\n\n\n // onConfirmSelectionChange(evt) {\n // this.agreeToTerms = !(this.agreeToTerms as boolean);\n // }\n\n nextToSecurityView() {\n\n if (this.registerFormGroup.valid) {\n\n if (UtilService.StringIsNullOrEmpty(this.registerFormGroup.controls[\"accountNo\"].value)) {\n this._snackbar.open(\"Please enter your account number\", null, { duration: 1500 });\n return;\n }\n\n if (this.registerFormGroup.controls.agreeToTerms.value != true) {\n this._snackbar.open(\"Please agree to Terms and Condition\", null, { duration: 1500 });\n return;\n }\n\n this.ConfirmIfUserExistAndMoveToSecurityQuestionsView();\n }\n }\n\n\n\n ConfirmIfUserExistAndMoveToSecurityQuestionsView() {\n let self = this;\n self.requestOngoing = true;\n\n this.authService.ConfirmUserExistOnRIB(this.registerFormGroup.controls.accountNo.value).then(\n response => {\n self.requestOngoing = false;\n\n if (response.ResponseCode == ResponseCodes.SUCCESS) {\n VariablesService.SecurityQuestionCreationRequestAuthor = SecurityQuestionCreationRequestAuthor.RetailUserCreation;\n AuthService.userCreationCIFId = response.customerID;\n AuthService.userCreationRequestId = response.requestID;\n AuthService.UnauthenticatedUserId = this.registerFormGroup.controls.accountNo.value;\n VariablesService.SECURITY_QUESTIONS = response.QuestionDetails;\n self.router.navigate([RouterConstants.LOGIN_CREATE_SECURITY_QUESTIONS_URL]);\n\n return;\n }\n\n this._snackbar.open(response.ResponseFriendlyMessage, null, { duration: 3500 });\n },\n error => {\n // console.log(error);\n self.requestOngoing = false;\n this._snackbar.open(Constants.APITechnicalErrorMessage, null, { duration: 3500 });\n\n }\n );\n }\n\n\n}\n\n\n","module.exports = \".mat-form-field {\\n display: block !important;\\n position: relative;\\n text-align: left;\\n}\\n\\n.button-row {\\n margin-top: 10px;\\n}\\n\\n.button-row button,\\n.button-row a {\\n margin-right: 8px;\\n}\\n\\n.outline-yellow {\\n border-color: #cc8e17 !important;\\n}\\n\\n.tc-header {\\n text-align: center;\\n font-family: 'Libre Franklin';\\n color: #333;\\n margin-bottom: 10px;\\n font-weight: 200;\\n font-size: 24px;\\n margin-top: 15px;\\n}\\n\\n.tc-inner-wrap {\\n border-top: 1px solid #ccc;\\n width: 100%;\\n padding: 20px 0;\\n margin: 0;\\n}\\n\\n.tc-inner-wrap::before {\\n content: \\\" \\\";\\n display: table;\\n}\\n\\n.tc-inner-wrap .conditions {\\n margin-bottom: 25px;\\n font-family: 'Libre Franklin';\\n color: #666;\\n font-size: 13px;\\n line-height: 18px;\\n text-align: justify;\\n}\\n\\n.tc-inner-wrap .conditiom-heading {\\n margin-bottom: 10px;\\n font-family: 'Libre Franklin';\\n font-size: 15px;\\n color: #333;\\n display: block;\\n}\\n\\n.tc-inner-wrap .condition-desc {\\n font-family: 'Libre Franklin';\\n font-size: 13px;\\n color: #666;\\n}\\n\\n.close-reveal-modal1 {\\n z-index: 100;\\n line-height: 1;\\n position: relative;\\n font-weight: 700;\\n cursor: pointer;\\n color: #2570e0;\\n font-size: 20px;\\n width: 33px;\\n float: right;\\n}\\n\\n@media screen and (max-width: 360px) {\\n\\n .consent-last-radio {\\n margin-left: 1px !important;\\n float: none;\\n cursor: pointer;\\n clear: both;\\n margin-top: 7px;\\n }\\n\\n}\\n\\n@media screen and (min-width: 361px) {\\n\\n .consent-last-radio {\\n margin-left: 6px !important;\\n }\\n\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvYXV0aGVudGljYXRpb24vdmFsaWRhdGUtYXV0aC1vdHAvdmFsaWRhdGVBdXRoLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSwwQkFBMEI7RUFDMUIsbUJBQW1CO0VBQ25CLGlCQUFpQjtDQUNsQjs7QUFFRDtFQUNFLGlCQUFpQjtDQUNsQjs7QUFFRDs7RUFFRSxrQkFBa0I7Q0FDbkI7O0FBRUQ7RUFDRSxpQ0FBaUM7Q0FDbEM7O0FBSUQ7RUFDRSxtQkFBbUI7RUFDbkIsOEJBQThCO0VBQzlCLFlBQVk7RUFDWixvQkFBb0I7RUFDcEIsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixpQkFBaUI7Q0FDbEI7O0FBRUQ7RUFDRSwyQkFBMkI7RUFDM0IsWUFBWTtFQUNaLGdCQUFnQjtFQUNoQixVQUFVO0NBQ1g7O0FBRUQ7RUFDRSxhQUFhO0VBQ2IsZUFBZTtDQUNoQjs7QUFHRDtFQUNFLG9CQUFvQjtFQUNwQiw4QkFBOEI7RUFDOUIsWUFBWTtFQUNaLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsb0JBQW9CO0NBQ3JCOztBQUVEO0VBQ0Usb0JBQW9CO0VBQ3BCLCtCQUErQjtFQUMvQixnQkFBZ0I7RUFDaEIsWUFBWTtFQUNaLGVBQWU7Q0FDaEI7O0FBRUQ7RUFDRSw4QkFBOEI7RUFDOUIsZ0JBQWdCO0VBQ2hCLFlBQVk7Q0FDYjs7QUFHRDtFQUNFLGFBQWE7RUFDYixlQUFlO0VBQ2YsbUJBQW1CO0VBQ25CLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixZQUFZO0VBQ1osYUFBYTtDQUNkOztBQU1EOztFQUVFO0lBQ0UsNEJBQTRCO0lBQzVCLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsWUFBWTtJQUNaLGdCQUFnQjtHQUNqQjs7Q0FFRjs7QUFHRDs7RUFFRTtJQUNFLDRCQUE0QjtHQUM3Qjs7Q0FFRiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL2F1dGhlbnRpY2F0aW9uL3ZhbGlkYXRlLWF1dGgtb3RwL3ZhbGlkYXRlQXV0aC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm1hdC1mb3JtLWZpZWxkIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uYnV0dG9uLXJvdyB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5idXR0b24tcm93IGJ1dHRvbixcbi5idXR0b24tcm93IGEge1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLm91dGxpbmUteWVsbG93IHtcbiAgYm9yZGVyLWNvbG9yOiAjY2M4ZTE3ICFpbXBvcnRhbnQ7XG59XG5cblxuXG4udGMtaGVhZGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogJ0xpYnJlIEZyYW5rbGluJztcbiAgY29sb3I6ICMzMzM7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxuLnRjLWlubmVyLXdyYXAge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDIwcHggMDtcbiAgbWFyZ2luOiAwO1xufVxuXG4udGMtaW5uZXItd3JhcDo6YmVmb3JlIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG5cbi50Yy1pbm5lci13cmFwIC5jb25kaXRpb25zIHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgZm9udC1mYW1pbHk6ICdMaWJyZSBGcmFua2xpbic7XG4gIGNvbG9yOiAjNjY2O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xufVxuXG4udGMtaW5uZXItd3JhcCAuY29uZGl0aW9tLWhlYWRpbmcge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LWZhbWlseTogICdMaWJyZSBGcmFua2xpbic7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgY29sb3I6ICMzMzM7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udGMtaW5uZXItd3JhcCAuY29uZGl0aW9uLWRlc2Mge1xuICBmb250LWZhbWlseTogJ0xpYnJlIEZyYW5rbGluJztcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogIzY2Njtcbn1cblxuXG4uY2xvc2UtcmV2ZWFsLW1vZGFsMSB7XG4gIHotaW5kZXg6IDEwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogIzI1NzBlMDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICB3aWR0aDogMzNweDtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG5cblxuXG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM2MHB4KSB7XG5cbiAgLmNvbnNlbnQtbGFzdC1yYWRpbyB7XG4gICAgbWFyZ2luLWxlZnQ6IDFweCAhaW1wb3J0YW50O1xuICAgIGZsb2F0OiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjbGVhcjogYm90aDtcbiAgICBtYXJnaW4tdG9wOiA3cHg7XG4gIH1cblxufVxuXG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM2MXB4KSB7XG5cbiAgLmNvbnNlbnQtbGFzdC1yYWRpbyB7XG4gICAgbWFyZ2luLWxlZnQ6IDZweCAhaW1wb3J0YW50O1xuICB9XG5cbn1cbiJdfQ== */\"","module.exports = \"
    \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    Welcome {{welcomeName}}!
    \\n
    \\n A One Time PIN has been sent to the following email {{maskedOtpAddress}}
    \\n
    \\n A One Time PIN has been sent to the following number {{maskedOtpAddress}}
    \\n \\n \\n
    \\n
    \\n
    \\n \\n One Time Pin \\n \\n
    \\n
    \\n
    \\n \\n\\n \\n\\n \\n\\n
    \\n
    \\n
    \\n
    \\n
    Verify Default Password
    \\n \\n A Default Password has been sent to your registered mobile number \\n
    \\n
    \\n
    \\n \\n Please Enter Default  Password\\n \\n\\n \\n\\n \\n \\n\\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    In case you did not receive your One Time Password
    \\n Please call {{cccNumber}}\\n
    \\n
    \\n
    \\n
    \\n
    \\n\\n\\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    Data Privacy Consent
    \\n
    \\n
    \\n
    \\n
    \\n
    Data Consent You consent to us\\n collecting your Personal Information from you and where lawful and reasonable, from public sources\\n for credit, fraud and compliance purposes, as well as the purposes set out below.
    \\n
    If you give us Personal Information about or on behalf of another\\n person (including, but not limited to, account signatories, shareholders, principal executive\\n officers, trustees and beneficiaries), you confirm that you are authorised to: \\n

    (a) give us the Personal Information;

    \\n

    (b) consent on their behalf to the Processing of\\n their Personal Information, specifically any cross-border transfer of Personal Information into\\n and outside the country where the products or services are provided; and

    \\n

    (c) receive any privacy notices on\\n their behalf.

    \\n
    \\n
    You consent to us Processing your Personal Information: • to provide products and services to you in terms of\\n this agreement and any other products and services for which you may apply;

    \\n

    • to carry out statistical and other analyses to\\n identify potential markets and trends, evaluate and improve our business (this includes\\n improving existing and developing new products and services);

    \\n

    • In countries outside the country where the\\n products or services are provided. These countries may not have the same data protection laws as\\n the country where the products or services are provided. Where we can, we will ask the receiving\\n party to agree to our privacy policies;

    \\n

    • By sharing your Personal Information with our\\n third-party service providers, locally and outside the country where the products or services\\n are provided. We ask people who provide services to us to agree to our privacy policies if they\\n need access to any Personal Information to carry out their services; and

    \\n

    • Within the Group.

    \\n
    \\n
    You will find our Processing practices in the Group’s and our privacy\\n statements. These statements are available on the Group’s websites or on request.
    \\n
    If you are unsure about your tax or legal position because your Personal\\n Information is processed in countries other than where you live, you should get independent\\n advice.
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n I agree to the above Data Consent. \\n \\n \\n \\n
    Consent Please tick applicable
    \\n \\n Yes\\n \\n \\n No \\n \\n
    \\n
    \\n
    \\n
    Marketing Consent Permission to market products and services As part of our service we\\n would like to give you information about products and services offered by the Group, which we\\n believe may benefit you. The Group means Standard Bank Group Limited, its subsidiaries and their\\n subsidiaries including Stanbic IBTC Bank PLC. Because your personal information is confidential,\\n we need your consent to share it within the Group. \\n
    \\n
    \\n

    \\n Consent

    \\n

    \\n Please tick applicable

    \\n
    \\n
    \\n

    I give my consent that you may communicate other companies’\\n products, services and special offers to me. If I respond positively to the communication,\\n that company may contact me.

    \\n \\n Yes\\n \\n No\\n \\n \\n
    \\n
    \\n

    Contact me for research purposes. (The research companies we use\\n follow strict codes of conduct and treat customer information confidentially). \\n

    \\n \\n Yes\\n \\n No\\n \\n \\n
    \\n
    \\n

    Market your products, services and special offers to me. \\n

    \\n \\n Yes\\n \\n No\\n \\n \\n
    \\n
    \\n

    Share my personal information within the Group for marketing\\n purposes and that the Group may then market its products, services and special offers to\\n me.

    \\n \\n Yes\\n \\n No \\n \\n
    \\n
    \\n

    Submit

    \\n
    \\n   Saving your consent... Please wait.\\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n\\n\\n\\n\\n\\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    Reset Session
    \\n
    \\n
    \\n
    \\n cancel\\n
    \\n
    \\n
    \\n
    \\n\\n A user session already exist.\\n Please\\n click continue to terminate the session.\\n
    \\n
    \\n\\n\\n
    \\n

    \\n \\n \\n

    \\n
    \\n\\n\\n
    \\n\\n
    \\n
    \\n
    \\n A One Time PIN has been sent to the following email {{maskedResetSessionOtpAddress}}
    \\n
    \\n A One Time PIN has been sent to the following number {{maskedResetSessionOtpAddress}}
    \\n
    \\n \\n One Time Pin \\n \\n \\n
    \\n
    \\n \\n \\n\\n
    \\n
    \\n
    \\n\\n
    \\n \\n   Resetting your session... Please\\n wait.\\n
    \\n
    \\n\\n\\n\\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n\\n\\n\\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    Data Privacy Consent
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n\\n Declining data consent\\n may\\n impact our ability to serve you. For more details, please contact +234 1 422 2222 or\\n Customercarenigeria@stanbicibtc.com \\n
    \\n
    \\n
    \\n
    \\n
    \\n\\n
    \\n

    \\n\\n \\n\\n\\n \\n\\n \\n

    \\n\\n\\n\\n\\n\\n\\n
    \\n \\n   Saving your consent... Please wait.\\n
    \\n\\n\\n
    \\n\\n\\n\\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n\\n\\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    Secret question authentication
    \\n
    \\n
    \\n\\n
    \\n
    \\n \\n \\n\\n Enter answer to any of your\\n secret question\\n \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n\\n
    \\n \\n   loading... Please\\n wait.\\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n\"","import { Component, ChangeDetectorRef, TemplateRef, ViewChild } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\n\n\nimport { NotificationsService } from 'angular2-notifications';\nimport { MatSnackBar, MatDialogRef, MatDialog } from '@angular/material';\n\nimport { AuthService } from 'src/app/core/services/auth.service';\nimport { Constants } from 'src/app/core/helpers/appConstants';\nimport { OtpReasonCodes, ResponseCodes, SecurityQuestionCreationRequestAuthor } from 'src/app/core/models/Enumerations';\nimport { RouterConstants } from 'src/app/core/helpers/routerConstants';\nimport { UtilService } from 'src/app/core/services/helpers.service';\nimport { StorageService } from 'src/app/core/services/storage.service';\nimport { VariablesService } from '../../../core/services/variables.service';\nimport { AppUser } from \"src/app/core/models/auth\";\nimport { AppConfigService } from '../../../core/services/appconfig.service';\nimport { MultiWindowService } from 'ngx-multi-window';\nimport { Subscription } from '../../../../../node_modules/rxjs';\n\n\n\ndeclare var $: any;\ndeclare var runFingerPrint: any;\ndeclare var fingerPrintOptions: any;\n\n@Component({\n templateUrl: './validateAuth.component.html',\n styleUrls: ['./validateAuth.component.css']\n})\nexport class ValidateOTPComponent {\n\n requestOngoing: boolean;\n\n otpFormGroup: FormGroup;\n otPasswordFormGroup: FormGroup;\n resetSessionOtpFormGroup: FormGroup;\n\n maskedOtpAddress: string;\n notificationType: string;\n welcomeName: string;\n usePageForFirstSigninAfterRegistration: boolean;\n suspectedOtpExpiryError: boolean;\n loginSub: any;\n\n\n validateOTPSub: any;\n getUserDataPrivacyConsentSub: any;\n updateUserPrivacyConsentSub: any;\n\n\n customerConsent = {\n consentGiven: \"Y\",\n otherCompanies: \"Y\",\n researchPurpose: \"Y\",\n products: \"Y\",\n withinGroup: \"Y\"\n }\n\n\n cccNumber: string;\n deviceCookie: string;\n deviceUUID: string;\n timeZone: string;\n isLocalCookie: boolean;\n\n showDefaultPassword: boolean = false;\n\n @ViewChild('dataPrivacyModalTemplate') dataPrivacyModalTemplate: TemplateRef;\n public dataPrivacyModalRef: MatDialogRef;\n\n\n\n @ViewChild('dataConsentWarningModalTemplate') dataConsentWarningModalTemplate: TemplateRef;\n public dataConsentWarningModalRef: MatDialogRef;\n\n\n @ViewChild('resetSessionModalTemplate') resetSessionModalTemplate: TemplateRef;\n public resetSessionModalTemplateRef: MatDialogRef;\n\n constructor(public router: Router, private snackBar: MatSnackBar, private formBuilder: FormBuilder,\n private storageService: StorageService,\n private toast: NotificationsService, private authService: AuthService,\n private cdRef: ChangeDetectorRef, private _matDialog: MatDialog,\n private multiWindowService: MultiWindowService) {\n\n // try {\n // window['casa']('security_question'); \n // } catch (error) {}\n\n \n\n try {\n window['casa']('security_question'); \n } catch (error) {}\n\n if (!AuthService.PartiallyAuthenticatedUser && this.usePageForFirstSigninAfterRegistration == true) {\n this.router.navigate([RouterConstants.LoginURL]);\n return;\n }\n\n this.requestOngoing = false;\n\n this.otpFormGroup = this.formBuilder.group({\n otpCode: ['', Validators.required]\n });\n\n\n this.resetSessionOtpFormGroup = this.formBuilder.group({\n otp: ['', Validators.required]\n });\n\n\n this.otPasswordFormGroup = this.formBuilder.group({\n passCode: ['', Validators.required]\n });\n\n this.notificationType = this.maskedOtpAddress = '';\n\n if (AuthService.PartiallyAuthenticatedUser && AuthService.PartiallyAuthenticatedUser.OTPNotificationType) {\n this.notificationType = AuthService.PartiallyAuthenticatedUser.OTPNotificationType.toLowerCase();\n }\n\n if (AuthService.PartiallyAuthenticatedUser && AuthService.PartiallyAuthenticatedUser.OTPNotificationAddress) {\n this.maskedOtpAddress = AuthService.PartiallyAuthenticatedUser.OTPNotificationAddress;\n }\n\n if (AuthService.PartiallyAuthenticatedUser && AuthService.PartiallyAuthenticatedUser.Firstname) {\n this.welcomeName = AuthService.PartiallyAuthenticatedUser.Firstname;\n }\n\n // set to true after creating and sending default password to first time rib user on Create Security question page\n // Incase value is true, use value on this page and set back to false to allow normal component.\n this.usePageForFirstSigninAfterRegistration = VariablesService.UseValidateOTPPageForRIBFirstTimeLoginAfterRegistration;\n VariablesService.UseValidateOTPPageForRIBFirstTimeLoginAfterRegistration = false;\n\n\n\n UtilService.onPageLoadCallback();\n\n this.cccNumber = AppConfigService.CCCNumber;\n }\n\n ngOnInit(): void {\n\n\n let self = this;\n\n setTimeout(function () {\n fingerPrintOptions.POST_ALL_COMPONENTS = false;\n fingerPrintOptions.RUN_FINGERPRINT = false;\n fingerPrintOptions.POST_DATA = false;\n\n runFingerPrint(function (fingerprint, uid) {\n self.deviceCookie = fingerprint;\n self.deviceUUID = uid.UID;\n self.isLocalCookie = false;\n if (uid.Source && uid.Source.toLowerCase() == \"localstorage\") {\n self.isLocalCookie = true;\n }\n let resolvedTimezoneSettings = Intl.DateTimeFormat().resolvedOptions();\n if (resolvedTimezoneSettings && resolvedTimezoneSettings.timeZone) {\n self.timeZone = resolvedTimezoneSettings.timeZone;\n }\n });\n }, 100);\n }\n\n\n\n toggleDefaultPasswordVisibility() {\n this.showDefaultPassword = !this.showDefaultPassword;\n\n }\n\n\n\n validateOtp() {\n\n let self = this;\n\n if (!self.otpFormGroup.valid) {\n this.toast.error(null, 'Please enter all required fields');\n }\n else {\n if (UtilService.trim(self.otpFormGroup.controls['otpCode'].value).length != 5) {\n\n this.snackBar.open('Invalid Otp Code. Please retry again ', null, {\n verticalPosition: 'bottom',\n horizontalPosition: 'right', duration: 2000\n });\n\n return;\n }\n\n self.requestOngoing = true;\n // self.cdRef.detectChanges();\n self.authenticateUserToken();\n }\n\n return false;\n }\n\n\n authenticateUserToken() {\n let self = this;\n\n AuthService.IntellixDeviceSession = UtilService.generateSessionId();\n\n self.authService.validateLoginOTP({\n UserId: AuthService.PartiallyAuthenticatedUser.UserId,\n Otp: self.otpFormGroup.controls['otpCode'].value,\n Reference: AuthService.PartiallyAuthenticatedUser.OTPResponseDescription,\n CifId: AuthService.PartiallyAuthenticatedUser.CifId,\n ReasonCode: OtpReasonCodes.LOGIN,\n sessionId: AuthService.PartiallyAuthenticatedUser.SessionId,\n ClientTimeZone: self.timeZone,\n DeviceCookie: this.deviceCookie,\n DeviceUUID: this.deviceUUID,\n IsLocalCookie: this.isLocalCookie,\n FirstName: AuthService.PartiallyAuthenticatedUser.Firstname,\n IsSuccessfulLogin: true,\n LastName: AuthService.PartiallyAuthenticatedUser.Lastname,\n DeviceSession: AuthService.IntellixDeviceSession\n })\n .then(\n response => {\n\n self.requestOngoing = false;\n\n\n if (response.ResponseCode == ResponseCodes.ResetSessionOnLogin) {\n this._showReseSessionModal();\n return;\n }\n\n\n\n if (response.ResponseCode == ResponseCodes.SUCCESS || response.ResponseCode == ResponseCodes.FailedSessionOnValidateOTP) {\n\n\n if (AuthService.PartiallyAuthenticatedUser.LoginStatus == ResponseCodes.SUCCESS || AuthService.PartiallyAuthenticatedUser.LoginStatus == ResponseCodes.LoginSuccessWithLimitedAccess\n || AuthService.PartiallyAuthenticatedUser.LoginStatus == ResponseCodes.LoginSuccessWithLimitedAccessUnderReview) {\n\n if (!AuthService.createFullyLoggedInUser()) {\n self.router.navigate([RouterConstants.LoginURL]);\n return;\n }\n\n AuthService.FirstValidateOTPToken = response.Token;\n AuthService.ValidateUserSession = true;\n if (response.ResponseCode == ResponseCodes.FailedSessionOnValidateOTP) {\n AuthService.ValidateUserSession = false;\n }\n\n\n\n let knowAppWindows = this.multiWindowService.getKnownWindows();\n\n if (knowAppWindows && knowAppWindows.length > 0) {\n // console.log(\"Log out other tabs\");\n // console.log(knowAppWindows);\n\n\n for (let appWindow of knowAppWindows) {\n if (!appWindow.self) {\n this.multiWindowService.sendMessage(appWindow.id, 'customEvent', \"obkg_stanbic_rm_session\");\n }\n }\n }\n\n this.authService.useTokenForSubsequentAPICalls(response.Token);\n\n self.CheckIfDataPrivacyConsentExist();\n // self.router.navigate([RouterConstants.FullDashboardURL]);\n }\n else if (AuthService.PartiallyAuthenticatedUser.LoginStatus == ResponseCodes.QuestionAndPasswordRegistrationRequired) {\n\n self.authService.GetSecurityQuestions()\n .then(\n response => {\n\n self.requestOngoing = false;\n\n if (response.ResponseCode == ResponseCodes.SUCCESS) {\n\n VariablesService.SecurityQuestionCreationRequestAuthor = SecurityQuestionCreationRequestAuthor.RetailLogin;\n VariablesService.SECURITY_QUESTIONS = response.Questions;\n\n self.router.navigate([RouterConstants.LOGIN_CREATE_SECURITY_QUESTIONS_URL]);\n return;\n }\n\n self.snackBar.open(response.ResponseFriendlyMessage, null, { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n\n },\n error => {\n self.requestOngoing = false;\n self.snackBar.open(Constants.APITechnicalErrorMessage, null, { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n\n }\n );\n }\n else if (AuthService.PartiallyAuthenticatedUser.LoginStatus == ResponseCodes.PasswordChangeRequired) {\n self.router.navigate([RouterConstants.LOGIN_CHANGE_PASSWORD_URL]);\n }\n\n return;\n }\n\n\n self.snackBar.open(response.ResponseFriendlyMessage, null, { duration: 1500 });\n\n },\n error => {\n self.requestOngoing = false;\n if (error && error['status'] && error['status'] === 400) {\n self.snackBar.open(`Your One time passcode may have expired. Please try requesting another OTP or login again`, 'Ok',\n { duration: 50000 });\n self.suspectedOtpExpiryError = true;\n return;\n }\n }\n );\n }\n\n\n resendOtp() {\n\n this.requestOngoing = true;\n\n this.authService.initiateLoginOtpRequest({\n UserId: AuthService.PartiallyAuthenticatedUser.UserId,\n CifId: AuthService.PartiallyAuthenticatedUser.CifId,\n ReasonCode: OtpReasonCodes.LOGIN\n })\n .then(\n response => {\n\n this.requestOngoing = false;\n if (response.ResponseCode == ResponseCodes.SUCCESS) {\n\n this.notificationType = this.maskedOtpAddress = '';\n\n AuthService.PartiallyAuthenticatedUser.OTPNotificationType = response.NotificationType;\n AuthService.PartiallyAuthenticatedUser.OTPNotificationAddress = response.NotificationAddress;\n AuthService.PartiallyAuthenticatedUser.OTPResponseDescription = response.ResponseDescription;\n\n if (AuthService.PartiallyAuthenticatedUser && AuthService.PartiallyAuthenticatedUser.OTPNotificationType) {\n this.notificationType = AuthService.PartiallyAuthenticatedUser.OTPNotificationType.toLowerCase();\n }\n\n if (AuthService.PartiallyAuthenticatedUser && AuthService.PartiallyAuthenticatedUser.OTPNotificationAddress) {\n this.maskedOtpAddress = AuthService.PartiallyAuthenticatedUser.OTPNotificationAddress;\n }\n\n this.snackBar.open(\"OTP sent successfully.\", null, { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n }\n else {\n this.snackBar.open(response.ResponseFriendlyMessage, null, { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n }\n\n },\n error => {\n this.snackBar.open(Constants.APITechnicalErrorMessage, null, { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n this.requestOngoing = false;\n }\n );\n }\n\n\n\n _showReseSessionModal() {\n\n let self = this;\n if (UtilService.isNotBigScreen()) {\n self.resetSessionModalTemplateRef = UtilService.showBasicModal(self.resetSessionModalTemplateRef, self.resetSessionModalTemplate,\n this._matDialog, true, 100);\n }\n else {\n this.resetSessionModalTemplateRef = UtilService.showBasicModal(this.dataPrivacyModalRef, this.resetSessionModalTemplate,\n this._matDialog, true, 60);\n }\n this.resetSessionViewIndex = 0;\n return;\n }\n\n _closeResetSessionModal() {\n\n if (this.resetSessionModalTemplateRef) {\n this.resetSessionModalTemplateRef.close();\n this.resetSessionViewIndex = 0;\n\n this.resetSessionOtpFormGroup.controls.otp.setErrors(null);\n this.resetSessionOtpFormGroup.reset();\n }\n }\n\n\n resetSessionViewIndex: number;\n sendSessionResetOTPSub: Subscription;\n resetSessionSub: Subscription;\n resetSessionNotificationType: string;\n maskedResetSessionOtpAddress: string;\n resetSessionOtpReference: string;\n\n sendResetSessionOTP(isResend: boolean = false) {\n let self = this;\n\n if (this.sendSessionResetOTPSub) {\n this.sendSessionResetOTPSub.unsubscribe();\n }\n\n self.requestOngoing = true;\n\n this.sendSessionResetOTPSub = this.authService.initiateOtpRequest(\n {\n UserId: AuthService.PartiallyAuthenticatedUser.UserId,\n ReasonCode: OtpReasonCodes.GENERIC,\n ReasonDescription: \"Reset session\",\n CifId: AuthService.PartiallyAuthenticatedUser.CifId\n }\n ).subscribe(response => {\n\n this.requestOngoing = false;\n if (response.ResponseCode == ResponseCodes.SUCCESS) {\n\n this.resetSessionNotificationType = response.NotificationType;\n this.maskedResetSessionOtpAddress = response.NotificationAddress;\n this.resetSessionOtpReference = response.ResponseDescription;\n\n if (isResend == true) {\n this.snackBar.open(\"OTP sent successfully.\", null, { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n }\n else {\n this.resetSessionViewIndex = 1;\n }\n\n return;\n }\n\n this.snackBar.open('OTP could not be sent at the moment. Please try again later.', null, { verticalPosition: 'top', horizontalPosition: 'right', duration: 2500 });\n self.cdRef.detectChanges();\n },\n (error: any) => {\n self.requestOngoing = false;\n this.snackBar.open(Constants.APITechnicalErrorMessage, null, { verticalPosition: 'top', horizontalPosition: 'right', duration: 2500 });\n });\n }\n\n resetSession() {\n\n\n if (!this.resetSessionOtpFormGroup.valid || !this.resetSessionOtpFormGroup.controls.otp) {\n this.snackBar.open(`Please enter a valid 5 digits OTP`, 'Ok', { duration: 25000 });\n return;\n }\n\n if (UtilService.StringIsNullOrEmpty(this.resetSessionOtpFormGroup.controls.otp.value)\n || (this.resetSessionOtpFormGroup.controls.otp.value && this.resetSessionOtpFormGroup.controls.otp.value.length != 5)) {\n this.snackBar.open('Please enter a valid 5 digits OTP.', 'OK',\n { duration: 3000 });\n return;\n }\n\n\n let self = this;\n self.requestOngoing = true;\n\n this.resetSessionSub = self.authService.ResetSessionOnValidateOTP({\n UserId: AuthService.PartiallyAuthenticatedUser.UserId,\n Otp: self.resetSessionOtpFormGroup.controls['otp'].value,\n Reference: self.resetSessionOtpReference,\n CifId: AuthService.PartiallyAuthenticatedUser.CifId\n }).subscribe(response => {\n\n self.requestOngoing = false;\n this._closeResetSessionModal();\n\n if (response.ResponseCode == ResponseCodes.SUCCESS) {\n\n if (AuthService.PartiallyAuthenticatedUser.LoginStatus == ResponseCodes.SUCCESS || AuthService.PartiallyAuthenticatedUser.LoginStatus == ResponseCodes.LoginSuccessWithLimitedAccess\n || AuthService.PartiallyAuthenticatedUser.LoginStatus == ResponseCodes.LoginSuccessWithLimitedAccessUnderReview) {\n\n if (!AuthService.createFullyLoggedInUser()) {\n self.router.navigate([RouterConstants.LoginURL]);\n return;\n }\n\n AuthService.FirstValidateOTPToken = response.Token;\n AuthService.ValidateUserSession = true;\n\n let knowAppWindows = this.multiWindowService.getKnownWindows();\n\n if (knowAppWindows && knowAppWindows.length > 0) {\n for (let appWindow of knowAppWindows) {\n if (!appWindow.self) {\n this.multiWindowService.sendMessage(appWindow.id, 'customEvent', \"obkg_stanbic_rm_session\");\n }\n }\n }\n\n this.authService.useTokenForSubsequentAPICalls(response.Token);\n\n self.router.navigate([RouterConstants.FullDashboardURL]);\n return;\n }\n }\n\n this.snackBar.open(response.ResponseDescription,\n 'Ok', { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n\n },\n (error: any) => {\n if (error && error.status != Constants.UnauthorizedStatusCode) {\n this.snackBar.open(Constants.APITechnicalErrorMessage,\n 'Ok', { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n }\n self.requestOngoing = false;\n AuthService.ValidateUserSession = false;\n this._closeResetSessionModal();\n });\n }\n\n\n CheckIfDataPrivacyConsentExist() {\n\n let self = this;\n\n self.requestOngoing = true;\n\n self.getUserDataPrivacyConsentSub = self.authService.CheckIfDataPrivacyConsentExist(AuthService.FullyAuthenticatedUser.UserId,\n AuthService.FullyAuthenticatedUser.CifId)\n .subscribe(response => {\n\n self.requestOngoing = false;\n\n if (response.ResponseCode == ResponseCodes.SUCCESS) {\n self.requestOngoing = true;\n\n self.router.navigate([RouterConstants.FullDashboardURL]);\n }\n else {\n if (UtilService.isNotBigScreen()) {\n self.dataPrivacyModalRef = UtilService.showBasicModal(self.dataPrivacyModalRef, self.dataPrivacyModalTemplate,\n this._matDialog, true, 100);\n }\n else {\n this.dataPrivacyModalRef = UtilService.showBasicModal(this.dataPrivacyModalRef, this.dataPrivacyModalTemplate,\n this._matDialog, true, 60);\n }\n }\n },\n (error: any) => {\n\n self.toast.error(null, Constants.APITechnicalErrorMessage);\n self.requestOngoing = true;\n self.router.navigate([RouterConstants.FullDashboardURL]);\n },\n () => {\n self.requestOngoing = false;\n });\n }\n\n\n\n _submitPrivacy() {\n\n let self = this;\n\n\n if (this.customerConsent.consentGiven.toLowerCase() == 'n') {\n this.dataPrivacyModalRef.close();\n\n if (UtilService.isNotBigScreen()) {\n self.dataConsentWarningModalRef = UtilService.showBasicModal(self.dataPrivacyModalRef, self.dataConsentWarningModalTemplate,\n this._matDialog, true, 100);\n }\n else {\n this.dataConsentWarningModalRef = UtilService.showBasicModal(this.dataPrivacyModalRef, this.dataConsentWarningModalTemplate,\n this._matDialog, true, 60);\n }\n\n return;\n }\n\n self.requestOngoing = true;\n\n this.submitPrivacy();\n\n }\n\n\n\n changeDataConsent() {\n\n this.dataConsentWarningModalRef.close();\n\n if (UtilService.isNotBigScreen()) {\n this.dataPrivacyModalRef = UtilService.showBasicModal(this.dataPrivacyModalRef, this.dataPrivacyModalTemplate,\n this._matDialog, true, 100);\n }\n else {\n this.dataPrivacyModalRef = UtilService.showBasicModal(this.dataPrivacyModalRef, this.dataPrivacyModalTemplate,\n this._matDialog, true, 60);\n }\n\n }\n\n\n submitPrivacy() {\n\n let self = this;\n\n self.requestOngoing = true;\n\n\n self.updateUserPrivacyConsentSub = self.authService.CreateDataPrivacyConsent(AuthService.FullyAuthenticatedUser.UserId,\n AuthService.FullyAuthenticatedUser.CifId, this.customerConsent.consentGiven, this.customerConsent.otherCompanies,\n this.customerConsent.researchPurpose, this.customerConsent.products, this.customerConsent.withinGroup)\n .subscribe(response => {\n self._closePrivacyModalAndGoToDashboard();\n },\n (error: any) => {\n self._closePrivacyModalAndGoToDashboard();\n },\n () => {\n\n });\n\n\n return false;\n }\n\n\n\n gotoDashboardInterval: any;\n\n closePrivacyModal(event) {\n if (event) {\n event.stopPropagation();\n }\n\n this._closePrivacyModalAndGoToDashboard();\n\n return false;\n }\n\n\n _closePrivacyModalAndGoToDashboard() {\n\n\n if (this.dataPrivacyModalRef) {\n this.dataPrivacyModalRef.close();\n }\n\n if (this.dataConsentWarningModalRef) {\n this.dataConsentWarningModalRef.close();\n }\n\n this.requestOngoing = true;\n\n let self = this;\n\n this.gotoDashboardInterval = UtilService.Window.setInterval(function () {\n self.router.navigate([RouterConstants.FullDashboardURL]);\n UtilService.Window.clearInterval(self.gotoDashboardInterval);\n }, 300);\n\n return false;\n }\n\n\n\n\n\n\n\n\n\n\n\n\n validateOtPassword() {\n\n let self = this;\n\n if (!self.otPasswordFormGroup.valid) {\n this.toast.error(null, 'Please enter all required fields');\n }\n else {\n if (UtilService.StringIsNullOrEmpty(self.otPasswordFormGroup.controls['passCode'].value)) {\n\n this.snackBar.open('Please enter the One Time Pin', null, {\n verticalPosition: 'bottom',\n horizontalPosition: 'right', duration: 2000\n });\n\n return;\n }\n\n self.requestOngoing = true;\n self.authenticateOneTimePasscode();\n }\n\n return false;\n }\n\n\n authenticateOneTimePasscode() {\n\n let self = this;\n\n this.loginSub = this.authService.authenticateUser({\n userId: AuthService.UnauthenticatedUserId,\n password: self.otPasswordFormGroup.controls['passCode'].value.trim(),\n returnRMDetails: true\n }).subscribe(response => {\n self.requestOngoing = false;\n if (!AuthService.PartiallyAuthenticatedUser) {\n AuthService.PartiallyAuthenticatedUser = new AppUser();\n }\n\n\n AuthService.PartiallyAuthenticatedUser.CifId = response.CifId;\n AuthService.PartiallyAuthenticatedUser.UserId = AuthService.UnauthenticatedUserId;\n AuthService.PartiallyAuthenticatedUser.OTPResponseDescription = response.OTPResponseDescription;\n AuthService.PartiallyAuthenticatedUser.OTPNotificationAddress = response.NotificationAddress;\n AuthService.PartiallyAuthenticatedUser.OTPNotificationType = response.NotificationType;\n AuthService.PartiallyAuthenticatedUser.Firstname = response.FirstName;\n AuthService.PartiallyAuthenticatedUser.Lastname = response.LastName;\n AuthService.PartiallyAuthenticatedUser.SessionId = response.SessionId;\n AuthService.PartiallyAuthenticatedUser.LastLoginIn = response.LastLoginIn;\n AuthService.PartiallyAuthenticatedUser.YPSFlixDescription = response.YPSFlixDescription;\n AuthService.PartiallyAuthenticatedUser.MenuProfile = response.MenuProfile;\n AuthService.PartiallyAuthenticatedUser.LimitedAccess = false;\n AuthService.PartiallyAuthenticatedUser.LoginStatus = response.ResponseCode;\n AuthService.PartiallyAuthenticatedUser.AuthPassForChange = this.otPasswordFormGroup.controls['passCode'].value\n\n AuthService.PartiallyAuthenticatedUser.AccountOfficerEmail = response.accountEmail == '-999-' ? Constants.STANBIC_CONTACT_EMAIL : response.accountEmail;\n AuthService.PartiallyAuthenticatedUser.AccountOfficerName = response.accountOfficerName == '-999-' ? '' : response.accountOfficerName;\n this.authService.SetAccessPassCache(AuthService.PartiallyAuthenticatedUser.YPSFlixDescription);\n\n if (response.ResponseCode == ResponseCodes.PasswordChangeRequired) {\n VariablesService.SecurityQuestionCreationRequestAuthor = SecurityQuestionCreationRequestAuthor.RetailUserCreation;\n self.router.navigate([RouterConstants.LOGIN_CHANGE_PASSWORD_URL]); // Goto password change page\n }\n else {\n this.toast.error(null, response.ResponseFriendlyMessage);\n }\n },\n (error: any) => {\n this.toast.error(null, Constants.APITechnicalErrorMessage);\n self.requestOngoing = false;\n });\n }\n\n naviageToLogin() {\n this.router.navigate([RouterConstants.LoginURL]);\n }\n\n\n\n ngOnDestroy() {\n if (this.loginSub) {\n this.loginSub.unsubscribe();\n }\n\n if (this.getUserDataPrivacyConsentSub) {\n this.getUserDataPrivacyConsentSub.unsubscribe();\n }\n if (this.updateUserPrivacyConsentSub) {\n this.updateUserPrivacyConsentSub.unsubscribe();\n }\n\n }\n\n}\n","\n\n\nimport { ChangeDetectorRef } from \"@angular/core\";\nimport { Router } from \"@angular/router\";\n\nimport { AuthService } from '../core/services/auth.service'\nimport { VARIABLES } from '../core/helpers/appVariables'\nimport { RouterConstants } from '../core/helpers/routerConstants'\nimport { Role } from \"../core/models/Enumerations\";\n\nexport class BaseComponent {\n\n\n loaderIsActive: boolean;\n loaderMsg: string;\n\n lastLogin: string;\n formSubmitted: boolean;\n\n _authService: AuthService;\n _router: Router;\n _cdRef: ChangeDetectorRef;\n exceptionMessage: string;\n showLoginButtonOnExceptionPage: boolean;\n\n notificationType: string;\n maskedOtpAddress: string;\n\n otpReference: string;\n loggedInUserIsSMEInitiator: boolean;\n loggedInUserIsSMEApprover: boolean;\n loggedInUserHasRetailProfile: boolean;\n\n\n\n constructor(authService?: AuthService, router?: Router, cdRef?: ChangeDetectorRef) {\n this.loaderIsActive = false;\n this._authService = authService;\n this._router = router;\n this._cdRef = cdRef;\n\n this.loggedInUserHasRetailProfile = AuthService.isRetailUser();\n\n if (authService && authService.getLoggedInUser()) {\n const _loggedInUser = authService.getLoggedInUser();\n if (_loggedInUser && _loggedInUser.Role && _loggedInUser.Role.roles) {\n this.loggedInUserIsSMEInitiator = _loggedInUser && _loggedInUser.Role && _loggedInUser.Role.roles.includes(Role.Initiator);\n this.loggedInUserIsSMEApprover = _loggedInUser && _loggedInUser.Role && _loggedInUser.Role.roles.includes(Role.Approver);\n }\n\n }\n }\n\n\n closeExceptionModal() {\n // this.exceptionMessage = '';\n // this.showExceptionPage = false;\n // this.showLoginButtonOnExceptionPage = false;\n }\n\n\n\n logout() {\n this._authService.logout();\n VARIABLES.CustomerAccounts = undefined;\n // VARIABLES.UserAccountBeneficiaries = undefined;\n // VARIABLES.DefaultAccountNo = undefined;\n this._router.navigate([RouterConstants.LoginURL]);\n }\n\n}\n"],"sourceRoot":""}