{"version":3,"file":"main.bundle.js","mappings":"UAAIA,E,YCCJC,GAAGC,gBAAgBC,oBAAsB,CACrCC,OAAQ,SAAUC,EAASC,EAAeC,GACtC,IAAIC,EAAMF,IAEV,GAAIE,QAAJ,CAGA,IAAIC,EAAaD,EAAIC,YAAcD,EAAIC,aACnCC,EAAaF,EAAIE,SAAWF,EAAIE,WAAaD,EAC7CE,EAAaH,EAAIE,UAA8B,IAAlBF,EAAIE,WAAwBD,EAEzDC,EACAE,EAAEP,GAASQ,SAAS,eAEpBD,EAAEP,GAASS,YAAY,eAEvBH,EACAC,EAAEP,GAASQ,SAAS,aAEpBD,EAAEP,GAASS,YAAY,YAdjB,CAed,E,gBCrBJ,IAAIC,EAA6B,EAAQ,KAErCC,EADsC,EAAQ,UAEyB,IAAhEA,EAA0D,2BAAmBA,EAA0D,yBAAID,GACtJE,EAAOC,QAAUH,C,gBCJjB,IAAIA,EAA6B,EAAQ,KAErCC,EADsC,EAAQ,UAE2B,IAAlEA,EAA4D,6BAAmBA,EAA4D,2BAAID,GAC1JE,EAAOC,QAAUH,C,gBCJjB,IAAIA,EAA6B,EAAQ,KAErCC,EADsC,EAAQ,UAEa,IAApDA,EAA8C,eAAmBA,EAA8C,aAAID,GAC9HE,EAAOC,QAAUH,C,gBCJjB,IAAIA,EAA6B,EAAQ,KAErCC,EADsC,EAAQ,UAEc,IAArDA,EAA+C,gBAAmBA,EAA+C,cAAID,GAChIE,EAAOC,QAAUH,C,gBCJjB,IAAIA,EAA6B,EAAQ,KAErCC,EADsC,EAAQ,UAEe,IAAtDA,EAAgD,iBAAmBA,EAAgD,eAAID,GAClIE,EAAOC,QAAUH,C,gBCJjB,IAAIA,EAA6B,EAAQ,KAErCC,EADsC,EAAQ,UAEsB,IAA7DA,EAAuD,wBAAmBA,EAAuD,sBAAID,GAChJE,EAAOC,QAAUH,C,qFCJV,MAAMI,EACT,WAAAC,CAAYC,GAsBZ,KAAAC,gBAAkBrB,GAAGsB,YAAW,GArB5BC,KAAKC,MAAQJ,EAAQI,MAErBD,KAAKE,SAAWzB,GAAGsB,WAAmBF,EAAQM,iBAAiBC,OAAO,CAAEC,UAAU,IAClFL,KAAKM,IAAM7B,GAAGsB,aAAqBK,OAAO,CAAEC,UAAU,EAAME,UAAW,IACvEP,KAAKQ,oBAAsB/B,GAAGsB,WAAoBF,EAAQW,qBAE1DR,KAAKS,UAAYhC,GAAGiC,aAAa,CAC7BC,KAAM,MAAQX,KAAKE,cAAgBF,KAAKM,MACxCM,iBAAiB,IAGhBf,EAAQM,iBACTH,KAAKF,iBAAgB,EAE7B,CAUA,IAAAe,GACIpC,GAAGqC,cAAcd,KACrB,CAEA,QAAAe,GACQf,KAAKS,aACLT,KAAKC,MAAMe,QAEnB,CAEA,gBAAAC,CAAiBf,GACbF,KAAKE,SAASA,EAClB,CAEA,iBAAAgB,GACIlB,KAAKE,cAASiB,GACdnB,KAAKF,iBAAgB,EACzB,E,yEC3CG,MAAMsB,EACT,WAAAxB,CAAYC,GACRG,KAAKC,MAAQJ,EAAQI,MACrBD,KAAKqB,6BAA+BxB,EAAQwB,2BAC5CrB,KAAKsB,MAAQ7C,GAAGsB,WAAmBF,EAAQyB,OAAOlB,OAAO,CAAEC,UAAU,IACrEL,KAAKuB,SAAW9C,GAAGsB,WAAmB,MAAMK,OAAO,CAAEC,UAAU,IAC/DL,KAAKwB,oBAAsB/C,GAAGsB,WAAoBF,EAAQ2B,qBAE1DxB,KAAKS,UAAYhC,GAAGiC,aAAa,CAC7BC,KAAM,IAAMX,KAAKwB,wBAA0BxB,KAAKqB,2BAChDT,iBAAiB,GAEzB,CAUA,IAAAC,GACIpC,GAAGqC,cAAcd,KACrB,CAEA,QAAAe,GACIf,KAAKsB,MAAMrC,YAAW,GACtBe,KAAKuB,SAAStC,YAAW,GAErBe,KAAKyB,gBACLzB,KAAKC,MAAMe,QAEnB,CAEA,YAAAS,GACI,OAAOzB,KAAKsB,MAAMpC,WAAac,KAAKuB,SAASrC,SACjD,E,8CCrCG,MAAMwC,EAET,QAAAC,CAASC,GACLF,EAAoBG,oBAAoB,OAAQD,EAAS,OAC7D,CAEA,SAAAE,CAAUF,GACNF,EAAoBG,oBAAoB,QAASD,EAAS,SAC9D,CAEQ,0BAAOC,CAAoBE,EAAeH,EAA4BI,GAC1E5C,EAAE6C,OAAO,CACLF,MAAOA,EACPH,QAASM,MAAMC,QAAQP,GAAWA,EAAQQ,KAAK,QAAUR,GAC1D,CACCI,KAAMA,EACNK,MAAO,IACPC,UAAW,CACPC,KAAM,MACNC,MAAO,WAGnB,E,6BCrBG,SAASC,EAAuB5C,GACnC,IAAI6C,EAAO1C,KAEPC,EAAQJ,EAAQI,MAChB0C,EAAsB9C,EAAQ8C,oBAC9BrB,EAAQzB,EAAQ+C,UAEhBC,EAAiB,CACjBxC,UAAU,EACVyC,WAAY,CACR,CACIC,UAAW,SAAUC,GAAO,OAAe,OAARA,GAAsC,OAAtBA,EAAIC,MAAM,OAAiB,EAC5ErB,QAAS,iCACZ,CACCmB,UAAW,SAAUC,GAAO,OAAe,OAARA,GAAgBA,EAAIE,QAAU,CAAE,EACjEtB,QAAS,+CACZ,CACCmB,UAAW,SAAUC,GAAO,OAAe,OAARA,GAA8C,OAA9BA,EAAIC,MAAM,eAAyB,EACpFrB,QAAS,iEACZ,CACCmB,UAAW,SAAUC,GAAO,OAAe,OAARA,GAA8C,OAA9BA,EAAIC,MAAM,eAAyB,EACpFrB,QAAS,iEACZ,CACCmB,UAAW,SAAUC,GAAO,OAAe,OAARA,GAA8C,OAA9BA,EAAIC,MAAM,eAAyB,EACpFrB,QAAS,2DACZ,CACCmB,UAAW,SAAUC,GAAO,OAAe,OAARA,GAA+C,OAA/BA,EAAIC,MAAM,gBAA0B,EACrFrB,QAAS,oEACZ,CACCmB,UAAW,SAAUC,GAAO,OAAe,OAARA,GAAgBA,IAAQN,EAAKpB,OAAQ,EACtEM,QAAS,gDAKnBuB,EAAkB,CAClBL,WAAY,CACR,CACIC,UAAW,SAAUC,GAAO,OAAe,OAARA,GAAiBA,IAAQN,EAAKU,aAAc,EAC7ExB,QAAS,yCAIvBc,EAAKpB,MAAuB7C,GAAGsB,WAAWuB,GAAOlB,OAAO,CAAEC,UAAU,IACpEqC,EAAKW,YAAuB5E,GAAGsB,WAAW,MAAMK,OAAO,CAAEC,UAAU,IACnEqC,EAAKU,YAAuB3E,GAAGsB,WAAW,MAAMK,OAAOyC,GACvDH,EAAKY,qBAAuB7E,GAAGsB,WAAW,MAAMK,OAAO+C,GACvDT,EAAKa,wBAA0B9E,GAAG+E,kBAElCd,EAAK7B,KAAO,WACRpC,GAAGqC,cAAc4B,EACrB,EAEAA,EAAKe,oBAAsB,WACvBf,EAAKgB,4BAA4BhB,EAAKU,eAEtCT,EAAoBgB,QAAQ,OAChC,EAEAjB,EAAKkB,gBAAkB,WACnBjB,EAAoBgB,QAAQ,OAChC,EAEAjB,EAAKgB,4BAA8B,SAAUnC,GACzC,MAAMsC,EAAgB,GAEtB,IAAK,IAAIC,KAAQjB,EAAeC,WAAY,CACxC,MAAMiB,EAAO,CACT7E,QAAS4E,EAAKf,UAAUxB,GACxBK,QAASkC,EAAKlC,SAGlBiC,EAAcG,KAAKD,E,CAGvBrB,EAAKa,wBAAwBM,GAC7BnB,EAAKa,wBAAwBU,iBACjC,EAEAvB,EAAKwB,eAAiB,SAAUH,EAAWI,GACvC,IAAIC,EAAeD,EAAME,OAAOC,MAMhC,OAJA5B,EAAKgB,4BAA4BU,GAEjCzB,EAAoBgB,QAAQ,SAErB,CACX,EAEAjB,EAAK3B,SAAW,WACZ2B,EAAKpB,MAAMrC,YAAW,GACtByD,EAAKW,YAAYpE,YAAW,GAC5ByD,EAAKU,YAAYnE,YAAW,GAC5ByD,EAAKY,qBAAqBrE,YAAW,GAEjCwC,KACAxB,EAAMe,QACd,EAEA,IAAIS,EAAe,WAEf,OAAOiB,EAAKpB,MAAMpC,aACZwD,EAAK6B,uBAAyB7B,EAAKW,YAAYnE,YACjDwD,EAAKU,YAAYlE,WACjBwD,EAAKY,qBAAqBpE,SAClC,CACJ,C,uHC3GO,MAAMsF,EAAb,cACI,KAAAC,GAAiChG,GAAGsB,WAAW,MAC/C,KAAA2E,KAAmCjG,GAAGsB,WAAW,MACjD,KAAA4E,UAAyClG,GAAGsB,YAAW,GAEvD,KAAA6E,IAAkCnG,GAAGsB,WAAW,MAAMK,OAAO,CACzDC,SAAU,CACNwE,OAAQ,KAA2B,IAArB7E,KAAK2E,aAEvBG,QAAS,CACLD,OAAQ,KAAM,EACdjD,QAAS,gCACTmD,OAAQ,iBAIhB,KAAAC,OAAqCvG,GAAGsB,WAAW,MAAMK,OAAO,CAC5DC,SAAU,CACNwE,OAAQ,KAA2B,IAArB7E,KAAK2E,aAEvBpE,UAAW,CACPwE,OAAQ,GACRF,OAAQ,KAA2B,IAArB7E,KAAK2E,cAG/B,ECzBO,MAAMM,EAGT,WAAArF,CAAYgF,GACR5E,KAAK4E,IAAMA,CACf,CAEA,SAAAM,GACI,OAAO,IAAIC,SAAQ,CAACC,EAASC,KACzBjG,EAAEkG,KAAK,CAAEV,IAAK5E,KAAK4E,IAAK5C,KAAM,QACzBuD,KAAKH,GACLI,KAAKH,EAAO,GAEzB,ECbJ,IAAYI,GAAZ,SAAYA,GACR,qBACA,sBACH,CAHD,CAAYA,IAAAA,EAAmB,KCGxB,MAAMC,EAAb,cACI,KAAAC,UAAwClH,GAAGsB,WAAW,MAAMK,OAAO,CAC/DC,UAAU,EACVyE,QAAS,CACLD,OAAQ,KAAM,EACdjD,QAAS,gCACTmD,OAAQ,iBAGhB,KAAAa,UAAwCnH,GAAGsB,WAAW,MAAMK,OAAO,CAACC,UAAU,IAC9E,KAAAwF,uBAAsDpH,GAAGsB,YAAW,GACpE,KAAA+F,kBAAiDrH,GAAGsB,YAAW,GAC/D,KAAAgG,gBAA+CtH,GAAGsB,YAAW,GAC7D,KAAAiG,uCAAsEvH,GAAGsB,YAAW,GACpF,KAAAkG,uBAAsDxH,GAAGsB,YAAW,GACpE,KAAAmG,yBAAuDzH,GAAGsB,WAAW,MAAMK,OAAO,CAAEC,UAAU,EAAM8F,IAAK,EAAGC,IAAK,KAEjH,KAAAC,qBAAgE5H,GAAGsB,WAAW0F,EAAoBa,OAClG,KAAAC,oBAAgD9H,GAAGiC,aAAa,CAC5DC,KAAM,IAAMX,KAAKqG,uBAAuBG,WACxCC,MAAQnC,GAAkBtE,KAAKqG,sBAAsB/B,KAGzD,KAAAoC,QAAgDjI,GAAG+E,gBAAgB,GACvE,E,aCtBO,MAAMmD,EAST,WAAA/G,CAAYC,GARZ,KAAA+G,cAAqC,KASjC5G,KAAK6G,QAAUhH,EAAQgH,QACvB7G,KAAK8G,QAAUjH,EAAQiH,QACvB9G,KAAK+G,oBAAsB,IAAI9B,EAAoBpF,EAAQmH,WAC3DhH,KAAKiH,oBAAsB,IAAIvF,EAAA,EAE/B1B,KAAK4G,cAAgB,IAAIlB,CAC7B,CAEA,IAAA7E,GACIpC,GAAGqC,cAAcd,MACjBA,KAAKkH,MACT,CAEA,IAAAA,GACI9H,EAAEkG,KAAK,CACHV,IAAK5E,KAAK6G,QACVM,QAAUC,IACN,GAAIA,EAAKD,QAAS,CACd,MAAME,EAAWD,EAAKC,SAGtBrH,KAAK4G,cAAcjB,UAAU0B,EAAS1B,WACtC3F,KAAK4G,cAAchB,UAAUyB,EAASzB,WACtC5F,KAAK4G,cAAcf,uBAAuBwB,EAASxB,wBACnD7F,KAAK4G,cAAcd,kBAAkBuB,EAASvB,mBAC9C9F,KAAK4G,cAAcb,gBAAgBsB,EAAStB,iBAC5C/F,KAAK4G,cAAcZ,uCAAuCqB,EAASrB,wCACnEhG,KAAK4G,cAAcX,uBAAuBoB,EAASpB,wBACnDjG,KAAK4G,cAAcV,yBAAyBmB,EAASnB,0BACrDlG,KAAK4G,cAAcL,oBAAoBc,EAASd,qBAChDvG,KAAKsH,WAAaD,EAASE,iBAE3BvH,KAAK4G,cAAcF,QAAQW,EAASX,QAAQc,KAAIC,IAC5C,MAAMC,EAAK,IAAIlD,EAQf,OANAkD,EAAGjD,GAAGgD,EAAEhD,IACRiD,EAAG9C,IAAI6C,EAAE7C,KACT8C,EAAGhD,KAAK+C,EAAE/C,MACVgD,EAAG1C,OAAOyC,EAAEzC,QACZ0C,EAAG/C,UAAU8C,EAAE9C,WAER+C,CAAE,I,IAK7B,CAEA,OAAAC,GACI3H,KAAKkH,MACT,CAEA,eAAAU,GACI5H,KAAK4G,cAAcjB,UAAU3F,KAAKsH,WACtC,CAEQ,iBAAMO,GACV,MAAMC,QAAkB9H,KAAK+G,oBAAoB7B,YACjD,GAAI4C,EAAUX,QACV,OAAOW,EAAUC,GAEzB,CAEA,0BAAMC,GACF,MAAMD,QAAY/H,KAAK6H,cACvB7H,KAAK4G,cAAchB,UAAUmC,EACjC,CAEA,0BAAME,CAAqBC,GACvB,MAAMH,QAAY/H,KAAK6H,cACvBK,EAAOlD,OAAO+C,EAClB,CAEA,QAAAhH,GACSf,KAAKmI,WAKV/I,EAAEkG,KAAK,CACHV,IAAK5E,KAAK8G,QACV9E,KAAM,OACNoF,KAAM3I,GAAG2J,KAAKpI,KAAK4G,eACnBO,QAASC,IACDA,EAAKD,QACLnH,KAAKiH,oBAAoBtF,SAAS,CAAC,iBAAkB,0DAErD3B,KAAKiH,oBAAoBnF,UAAUsF,EAAKxF,Q,IAZhD5B,KAAKiH,oBAAoBnF,UAAU,yBAgB3C,CAEA,QAAAqG,GACI,MAAME,EAAS5J,GAAGqE,WAAWwF,MAAMtI,KAAM,CACrCuI,MAAM,EACNxI,YAAY,IAGhB,OADAsI,EAAOG,kBACoB,IAApBH,IAASnF,MACpB,E,2FCnHQuF,E,UAAZ,SAAYA,GACR,yCACA,iCACA,2BACA,4BACH,CALD,CAAYA,IAAAA,EAAc,KCGnB,MAAMC,EACT,WAAA9I,CAAYC,GAeZ,KAAA8I,eAAqDlK,GAAGsB,WAAW0I,EAAeG,iBAOlF,KAAAC,WAAapK,GAAGsB,WAAW,MAAMK,OAAO,CAAEC,UAAU,IACpD,KAAAyI,YAAcrK,GAAGsB,WAAW,MAC5B,KAAAgJ,UAAYtK,GAAGsB,WAAW,MAC1B,KAAAiJ,qBAAuBvK,GAAGsB,WAAW,MACrC,KAAAkJ,eAAiBxK,GAAGsB,WAAW,MAC/B,KAAAmJ,mBAAqBzK,GAAGsB,YAAW,GACnC,KAAAoJ,cAAgB1K,GAAGsB,YAAW,GAC9B,KAAAqJ,gBAAkB3K,GAAGsB,YAAW,GAEhC,KAAAsJ,QAAU5K,GAAGsB,WAAW,MACnBK,OAAO,CACJC,UAAU,EACVE,UAAW,EACX+I,UAAW,EACXxG,WAAY,CACR,CACIC,UAAW,KAA+B,IAAzB/C,KAAKmJ,gBACtBvH,QAAS,oBAKzB,KAAA2H,qBAAkD9K,GAAGiC,aAAa,CAC9DC,KAAM,IAAMX,KAAK2I,mBAAqBF,EAAeG,gBACrDhI,iBAAiB,IAGrB,KAAA4I,mBAAgD/K,GAAGiC,aAAa,CAC5DC,KAAM,IAAMX,KAAK2I,mBAAqBF,EAAegB,YACrD7I,iBAAiB,IAGrB,KAAA8I,gBAA6CjL,GAAGiC,aAAa,CACzDC,KAAM,IAAMX,KAAK2I,mBAAqBF,EAAekB,SACrD/I,iBAAiB,IAGrB,KAAAgJ,iBAA8CnL,GAAGiC,aAAa,CAC1DC,KAAM,IAAMX,KAAK2I,mBAAqBF,EAAeoB,UACrDjJ,iBAAiB,IAGrB,KAAAkJ,yBAAsDrL,GAAGiC,aAAa,CAClEC,KAAM,IAAMX,KAAK8I,cACjBlI,iBAAiB,IAGrB,KAAAmJ,uBAAoDtL,GAAGiC,aAAa,CAChEC,KAAM,IAAMX,KAAK+I,YACjBnI,iBAAiB,IAGrB,KAAAoJ,eAA4CvL,GAAGiC,aAAa,CACxDC,KAAM,KACF,OAAQX,KAAK2I,kBACT,KAAKF,EAAegB,YACpB,KAAKhB,EAAekB,SACpB,KAAKlB,EAAeoB,UAChB,OAAO,EACX,QAAS,OAAO,E,EAGxBjJ,iBAAiB,IAGrB,KAAAqJ,eAA4CxL,GAAGiC,aAAa,CACxDC,KAAM,KACF,OAAQX,KAAK2I,kBACT,KAAKF,EAAeG,gBACpB,KAAKH,EAAegB,YACpB,KAAKhB,EAAekB,SAChB,OAAO,EACX,QAAS,OAAO,E,EAGxB/I,iBAAiB,IAGrB,KAAAsJ,cAA2CzL,GAAGiC,aAAa,CACvDC,KAAM,KAAOX,KAAKmI,WAClBvH,iBAAiB,IAGrB,KAAAuJ,gBAA6C1L,GAAGiC,aAAa,CACzDC,KAAM,IACMX,KAAK2I,mBACJF,EAAeG,kBACR5I,KAAK6I,WAAW3J,UAIpC0B,iBAAiB,IAhHjBZ,KAAKoK,oCAAsCvK,EAAQuK,oCACnDpK,KAAKqK,qCAAuCxK,EAAQwK,qCAEpDrK,KAAKsK,YAAczK,EAAQ0K,aAE3BvK,KAAKiH,oBAAsB,IAAIvF,EAAA,EAE/B1B,KAAKqJ,QAAQmB,WAAU,KACnBxK,KAAKmJ,eAAc,EAAM,IAG7BnJ,KAAK6I,WAAW2B,WAAU,IAAMxK,KAAKiJ,eAAe,OACxD,CAyGA,KAAAwB,GACIzK,KAAK2I,eAAeF,EAAeG,iBACnC5I,KAAK6I,WAAW,MAChB7I,KAAK8I,YAAY,MACjB9I,KAAK+I,UAAU,MACf/I,KAAKqJ,QAAQ,MACbrJ,KAAKiJ,eAAe,MACpBjJ,KAAKkJ,oBAAmB,GAExBlJ,KAAK0K,iBACT,CAEA,QAAAC,GACI,OAAQ3K,KAAK2I,kBACT,KAAKF,EAAegB,YAChBzJ,KAAK2I,eAAeF,EAAeG,iBACnC,MACJ,KAAKH,EAAekB,SAChB3J,KAAK2I,eAAeF,EAAegB,aACnC,MACJ,KAAKhB,EAAeoB,UAChB7J,KAAK2I,eAAeF,EAAekB,UAG3C3J,KAAKoJ,iBAAgB,EACzB,CAEA,QAAAwB,GACI,OAAQ5K,KAAK2I,kBACT,KAAKF,EAAeG,gBAChB5I,KAAK2I,eAAeF,EAAegB,aACnC,MACJ,KAAKhB,EAAegB,YAChB,MAAMoB,EAAa,IAAM7K,KAAK2I,eAAeF,EAAekB,UAEvD3J,KAAKiJ,iBAGN4B,IAFA7K,KAAK6H,YAAYgD,GAIrB,MACJ,KAAKpC,EAAekB,SAChB3J,KAAK2I,eAAeF,EAAeoB,WAG3C7J,KAAKoJ,iBAAgB,EACzB,CAEA,SAAA0B,CAAUC,GACN/K,KAAKyK,QACLzK,KAAKgL,eAAiBD,EACrB/K,KAAKsK,YAAoBW,SAAS,QAAQC,MAAM,QACjDlL,KAAKoJ,iBAAgB,EACzB,CAEA,aAAA+B,GACI/L,EAAEkG,KAAK,CACHV,IAAK5E,KAAKqK,qCACVrI,KAAM,MACNoF,KAAM,CAAE3C,GAAIzE,KAAKgJ,uBAAwBoC,KAAMpL,KAAKqJ,WACpDgC,MAAOC,GAAOtL,KAAKiH,oBAAoBnF,UAAUyJ,KAAKC,MAAMF,EAAIG,cAAc7J,SAC9EuF,QAASC,IACLpH,KAAKmJ,eAAe/B,GAEhBA,IACApH,KAAKgL,eAAe,CAAE7D,SAAS,IAC/BnH,KAAK0L,e,GAIrB,CAEA,WAAA7D,CAAYkD,GACR3L,EAAEkG,KAAK,CACHV,IAAK5E,KAAKoK,oCACVpI,KAAM,MACNoF,KAAM,CAAEuE,WAAY3L,KAAK6I,YACzBwC,MAAOC,GAAOtL,KAAKiH,oBAAoBnF,UAAUyJ,KAAKC,MAAMF,EAAIG,cAAc7J,SAC9EuF,QAASC,IACLpH,KAAK8I,YAAY1B,EAAKwE,SACtB5L,KAAK+I,UAAU3B,EAAKyE,gBACpB7L,KAAKgJ,qBAAqB5B,EAAK4B,sBAC/BhJ,KAAKiJ,eAAe7B,EAAK6B,gBACzB8B,GAAU,GAGtB,CAEA,IAAAlK,GACIpC,GAAGqC,cAAcd,KAAMA,KAAKsK,YAAYwB,IAAI,GAChD,CAEA,YAAAJ,GACK1L,KAAKsK,YAAoBY,MAAM,OACpC,CAEA,eAAAR,GACmBjM,GAAGqE,WAAWwF,MAAMtI,MAC5BwI,iBAAgB,EAC3B,CAEA,QAAAL,GAKI,OAA2B,IAJZ1J,GAAGqE,WAAWwF,MAAMtI,KAAM,CACrCuI,MAAM,EACNxI,YAAY,GAETsI,GAASnF,MACpB,CAEA,sBAAA6I,GACI/L,KAAKkJ,oBAAmB,EAC5B,CAEA,eAAA8C,GACIC,UAAUC,UAAUC,UAAUnM,KAAK8I,eACnC9I,KAAKoM,aAAa,eACtB,CAEA,aAAAC,GACIJ,UAAUC,UAAUC,UAAUnM,KAAK+I,aACnC/I,KAAKoM,aAAa,aACtB,CAEQ,YAAAA,CAAaE,GACjBtM,KAAKiH,oBAAoBtF,SAAS,GAAG2K,wBACzC,E,6BCvPJ,IAAYC,E,qDAAZ,SAAYA,GAER,0DACH,CAHD,CAAYA,IAAAA,EAAuB,KCE5B,MAAMC,EAAb,cACI,KAAAC,QAAgEhO,GAAG+E,gBAAgB,GACvF,EAEO,MAAMkJ,EAAb,cAOI,KAAAC,cAAgBlO,GAAGiC,cAAa,IACrBV,KAAK4M,UAAY,MAAQ,MACjC5M,MAEH,KAAA6M,mBAAqBpO,GAAGiC,cAAa,IACzBV,KAAK8M,aACJP,EAAwBQ,yBAClB,eAGA,QAEhB/M,KACP,E,aC1BO,MAAMgN,EAAoBC,OAAOC,OAAO,CAAEC,MAAO,EAAGC,SAAU,EAAGC,YAAa,ICK9E,MAAMC,EACT,WAAA1N,CAAYC,GAWZ,KAAA0N,2BAA6B,IAAIf,EAEjC,KAAAgB,WAAa/O,GAAGsB,aAEhB,KAAA0N,aAAehP,GAAGiP,SAAS,CACvB/M,KAAM,IACKX,KAAKwN,cAAgBxN,KAAKuN,2BAA2Bd,UAAUvJ,OAAS,IAIvF,KAAAyK,iBAAmBlP,GAAGiP,SAAS,CAC3B/M,KAAM,IACKX,KAAKwN,cAAgBxN,KAAKuN,2BAA2Bd,UAAUmB,MAAKnG,GAAKA,EAAEmF,cAtBtF5M,KAAK6G,QAAUhH,EAAQgH,QACvB7G,KAAK6N,UAAYhO,EAAQgO,UACzB7N,KAAK8N,sBAAwBjO,EAAQiO,sBAErC9N,KAAKiH,oBAAsB,IAAIvF,EAAA,EAE/B1B,KAAKsK,YAAczK,EAAQ0K,aAAauB,IAAI,GAC5C9L,KAAK+N,gBAAkBlO,EAAQkO,eACnC,CA0BA,IAAAlN,GACIb,KAAK+N,gBAAgBlN,OAErBpC,GAAGqC,cAAcd,KAAMA,KAAKsK,aAC5BtK,KAAKkH,MACT,CAEA,IAAAA,GACI9H,EAAEkG,KAAK,CACHV,IAAK5E,KAAK6G,QACVM,QAAUC,IACN,GAAIA,EAAKD,QAAS,CACd,MAAM6G,EAAkB5G,EAAK4G,gBAE7BhO,KAAKuN,2BAA2Bd,QAC5BuB,EAAgBvB,QAAQjF,KAAIC,IACxB,MAAMC,EAAK,IAAIgF,EAMf,OALAhF,EAAGjD,GAAKgD,EAAEhD,GACViD,EAAGoF,WAAarF,EAAEqF,WAClBpF,EAAGuG,sBAAwBxG,EAAEwG,sBAC7BvG,EAAGhD,KAAO+C,EAAE/C,KACZgD,EAAGkF,UAAYnF,EAAEmF,UACVlF,CAAE,KAIjB1H,KAAKwN,YAAW,E,IAIhC,CAEA,OAAA7F,GACI3H,KAAKkH,MACT,CAEA,YAAAgH,GAWIlO,KAAK+N,gBAAgBjD,WAVH1D,IACVA,EAAKD,QACLnH,KAAKiH,oBAAoBtF,SAAS,CAAC,kCAEnC3B,KAAKiH,oBAAoBnF,UAAUsF,EAAKxF,SAG5C5B,KAAK2H,SAAS,GAItB,CAEA,YAAAwG,CAAaC,GACLA,EAAOxB,UACP5M,KAAKiH,oBAAoBnF,UAAU,oCD3FxC,SAAuBjC,GAC1B,IAAKA,EACD,KAAM,sBAGV,IAAKA,EAAQkL,SACT,KAAM,+BAGV,IAAKlL,EAAQ+B,QACT,KAAM,8BAGV,MAAMyM,EAAiB,CACnBC,SAAS,EACTvD,SAAUlL,EAAQkL,SAClBnJ,QAAS/B,EAAQ+B,QACjBG,WAAOZ,EACPoN,UAAMpN,EACNqN,aAASrN,GAGTtB,EAAQkC,QACRsM,EAAetM,MAAQlC,EAAQkC,OAG/BlC,EAAQ0O,OACRF,EAAeE,KAAO1O,EAAQ0O,MAGlC,MAAME,EAAoB,CAACzB,EAAkBK,aAGvCqB,EAAa7O,EAAQ6O,YAAc1B,EAAkBG,MAC3D,GAH2B,CAACuB,GAA6BD,EAAkBE,SAASD,GAGhFE,CAAmBF,GAAvB,CAEI,GAAIA,IAAe1B,EAAkBK,YAAa,CAC9C,MAAMwB,EAAgBC,IACdjP,EAAQkL,UACDlL,EAAQkL,SAASgE,KAAK/O,KAAM8O,GAK3CT,EAAeG,QAAU,CACrBQ,IAAK,CAAEC,MAAO,MAAOlE,SAAWmE,GAAQL,GAAa,GAAOM,UAAW,eACvEC,GAAI,CAAEH,MAAO,KAAMlE,SAAWmE,GAAQL,GAAa,IACnDQ,OAAQ,CAAEJ,MAAO,SAAUlE,SAAWmE,GAAQL,EAAa,O,CAInES,QAAQC,OAAOlB,E,MAIXK,IACC1B,EAAkBI,SACnBiB,EAAeG,QAAU,CAAE,QAAW,CAAES,MAAO,MAAQ,OAAU,CAAEA,MAAO,WAG1EZ,EAAeG,QAAU,CAAE,QAAW,CAAES,MAAO,OAAS,OAAU,CAAEA,MAAO,OAInFK,QAAQE,QAAQnB,EACpB,CC8BQoB,CAAc,CACV7N,QAAS,iCAAiCwM,EAAO1J,QACjD3C,MAAO,SACPgJ,SAAW2E,IACHA,GACAtQ,EAAEkG,KAAK,CACHV,IAAK5E,KAAK6N,UACV7L,KAAM,OACNoF,KAAM,CAAElH,SAAUkO,EAAO3J,IACzB0C,QAAUC,IACFA,EAAKD,QACLnH,KAAKiH,oBAAoBtF,SAAS,CAAC,gCAEnC3B,KAAKiH,oBAAoBnF,UAAUsF,EAAKxF,SAG5C5B,KAAK2H,SAAS,G,GAMtC,CAEA,YAAAgI,CAAavB,GACThP,EAAEkG,KAAK,CACHV,IAAK5E,KAAK8N,sBACV9L,KAAM,OACNoF,KAAM,CAAElH,SAAUkO,EAAO3J,IACzB0C,QAAUC,IACFA,EAAKD,QACLnH,KAAKiH,oBAAoBtF,SAAS,CAAC,uCAEnC3B,KAAKiH,oBAAoBnF,UAAUsF,EAAKxF,SAG5C5B,KAAK2H,SAAS,GAG1B,E,WCxIJ,MAAMiI,EAAY,+BAEZC,EAAYC,OAAqB,aACjCC,EAAgB,GAAGF,yCACnBG,EAAiB,GAAGH,wBAE1BC,OAAOG,iBAAiB,QAAQ,KAC5B,GAAIH,OAA8B,sBAAG,CACjC,MAAMI,EAAM,IAAIC,eAChBD,EAAIE,KAAK,MAAOL,GAChBG,EAAIG,OAAS,KACT,GAAIH,EAAII,UAAYJ,EAAII,SAAW,EAAG,CAClC,MAAMC,EAAuC,IAAfL,EAAII,SAE5BE,EAAQC,aAAaC,QAAQd,GACnC,GAAIY,IACK,IAAIG,MAAOC,UAAY,IAAID,KAAKH,GAAOI,UAAaL,EAGrD,OAFAE,aAAaI,WAAWjB,QACxBE,OAAOgB,SAASC,KAAOf,IAK/B,SAAUgB,IACNP,aAAaQ,QAAQrB,GAAW,IAAIe,MAAOO,eAC3CC,WAAWH,EAxBP,IAyBP,CAHD,E,MAKAP,aAAaI,WAAWjB,E,EAGhCM,EAAIkB,M,MAEJX,aAAaI,WAAWjB,E,uCCjCzB,MAAMyB,EAET,2BAAOC,GACH,MAAMzR,EAAUwR,EAAuBE,8BACvC1R,EAAQ2R,gBAAiB,EACzBH,EAAuBxQ,KAAKhB,EAChC,CAEA,0BAAO4R,GACHJ,EAAuBxQ,MAC3B,CAEA,WAAOA,CAAKhB,EAAUwR,EAAuBE,+BACzC9S,GAAGqE,WAAWjC,KAAKhB,GAAS,EAChC,CAEA,kCAAO0R,GACH,MAAO,CACHG,mBAAmB,EACnBC,oBAAoB,EACpBH,gBAAgB,EAChBI,sBAAsB,EACtBC,gBAAiB,KACjBC,2BAA2B,EAC3BC,sBAAsB,EACtBC,kBAAmB,YACnBC,kBAAmB,yBAE3B,E,OCzBJZ,EAAuBxQ,O,2DCWvBzB,EAAE8S,eAAe,CACbC,OAAQ,GACRC,WAAY,QACZ9P,UAAW,CACPC,KAAM,MACNC,MAAO,UAEX6P,SArBa,4pBAsBbC,QAAS,M,GCrBTC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBtR,IAAjBuR,EACH,OAAOA,EAAahT,QAGrB,IAAID,EAAS8S,EAAyBE,GAAY,CAGjD/S,QAAS,CAAC,GAOX,OAHAiT,EAAoBF,GAAU1D,KAAKtP,EAAOC,QAASD,EAAQA,EAAOC,QAAS8S,GAGpE/S,EAAOC,OACf,CAGA8S,EAAoBI,EAAID,E3BzBpBnU,EAAW,GACfgU,EAAoBK,EAAI,CAACnD,EAAQoD,EAAUC,EAAIC,KAC9C,IAAGF,EAAH,CAMA,IAAIG,EAAeC,IACnB,IAASC,EAAI,EAAGA,EAAI3U,EAAS0E,OAAQiQ,IAAK,CAGzC,IAFA,IAAKL,EAAUC,EAAIC,GAAYxU,EAAS2U,GACpCC,GAAY,EACPC,EAAI,EAAGA,EAAIP,EAAS5P,OAAQmQ,MACpB,EAAXL,GAAsBC,GAAgBD,IAAa/F,OAAOqG,KAAKd,EAAoBK,GAAGU,OAAOxL,GAASyK,EAAoBK,EAAE9K,GAAK+K,EAASO,MAC9IP,EAASU,OAAOH,IAAK,IAErBD,GAAY,EACTJ,EAAWC,IAAcA,EAAeD,IAG7C,GAAGI,EAAW,CACb5U,EAASgV,OAAOL,IAAK,GACrB,IAAIM,EAAIV,SACE5R,IAANsS,IAAiB/D,EAAS+D,EAC/B,CACD,CACA,OAAO/D,CAnBP,CAJCsD,EAAWA,GAAY,EACvB,IAAI,IAAIG,EAAI3U,EAAS0E,OAAQiQ,EAAI,GAAK3U,EAAS2U,EAAI,GAAG,GAAKH,EAAUG,IAAK3U,EAAS2U,GAAK3U,EAAS2U,EAAI,GACrG3U,EAAS2U,GAAK,CAACL,EAAUC,EAAIC,EAqBjB,E4BzBdR,EAAoBkB,EAAI,CAAChU,EAASiU,KACjC,IAAI,IAAI5L,KAAO4L,EACXnB,EAAoBoB,EAAED,EAAY5L,KAASyK,EAAoBoB,EAAElU,EAASqI,IAC5EkF,OAAO4G,eAAenU,EAASqI,EAAK,CAAE+L,YAAY,EAAMhI,IAAK6H,EAAW5L,IAE1E,ECNDyK,EAAoBuB,EAAI,WACvB,GAA0B,iBAAfC,WAAyB,OAAOA,WAC3C,IACC,OAAOhU,MAAQ,IAAIiU,SAAS,cAAb,EAChB,CAAE,MAAOC,GACR,GAAsB,iBAAXpE,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCAxB0C,EAAoBoB,EAAI,CAACO,EAAKC,IAAUnH,OAAOoH,UAAUC,eAAevF,KAAKoF,EAAKC,GCClF5B,EAAoBiB,EAAK/T,IACH,oBAAX6U,QAA0BA,OAAOC,aAC1CvH,OAAO4G,eAAenU,EAAS6U,OAAOC,YAAa,CAAElQ,MAAO,WAE7D2I,OAAO4G,eAAenU,EAAS,aAAc,CAAE4E,OAAO,GAAO,E,MCA9D,IAAImQ,EAAkB,CACrB,IAAK,GAaNjC,EAAoBK,EAAEQ,EAAKqB,GAA0C,IAA7BD,EAAgBC,GAGxD,IAAIC,EAAuB,CAACC,EAA4BxN,KACvD,IAGIqL,EAAUiC,GAHT5B,EAAU+B,EAAaC,GAAW1N,EAGhB+L,EAAI,EAC3B,GAAGL,EAASlF,MAAMnJ,GAAgC,IAAxBgQ,EAAgBhQ,KAAa,CACtD,IAAIgO,KAAYoC,EACZrC,EAAoBoB,EAAEiB,EAAapC,KACrCD,EAAoBI,EAAEH,GAAYoC,EAAYpC,IAGhD,GAAGqC,EAAS,IAAIpF,EAASoF,EAAQtC,EAClC,CAEA,IADGoC,GAA4BA,EAA2BxN,GACrD+L,EAAIL,EAAS5P,OAAQiQ,IACzBuB,EAAU5B,EAASK,GAChBX,EAAoBoB,EAAEa,EAAiBC,IAAYD,EAAgBC,IACrED,EAAgBC,GAAS,KAE1BD,EAAgBC,GAAW,EAE5B,OAAOlC,EAAoBK,EAAEnD,EAAO,EAGjCqF,EAAqBrS,KAAmB,aAAIA,KAAmB,cAAK,GACxEqS,EAAmBC,QAAQL,EAAqBM,KAAK,KAAM,IAC3DF,EAAmB/Q,KAAO2Q,EAAqBM,KAAK,KAAMF,EAAmB/Q,KAAKiR,KAAKF,G,KC7CvF,IAAIG,EAAsB1C,EAAoBK,OAAE1R,EAAW,CAAC,MAAM,IAAOqR,EAAoB,OAC7F0C,EAAsB1C,EAAoBK,EAAEqC,E","sources":["webpack:///webpack/runtime/chunk loaded","webpack:///./ko/ko.bindingHandlers.validationContainer.js","webpack:///./AdditioinaAuthMethodPageViewModel-exposed.ts","webpack:///./TwoFactorAuth/AuthenticationMethodWizardViewModel-exposed.ts","webpack:///./GeneralLogonViewModel-exposed.ts","webpack:///./ResetPasswordViewModel-exposed.ts","webpack:///./ServerSettingsViewModel-exposed.ts","webpack:///./TwoFactorAuth/TwoFactorAuthSettingsViewModel-exposed.ts","webpack:///./AdditioinaAuthMethodPageViewModel.ts","webpack:///./GeneralLogonViewModel.ts","webpack:///./NotificationService.ts","webpack:///./ResetPasswordViewModel.ts","webpack:///./ClientModel.ts","webpack:///./KeyGeneratorService.ts","webpack:///./TokenValidationMode.ts","webpack:///./ServerSettingsModel.ts","webpack:///./ServerSettingsViewModel.ts","webpack:///./TwoFactorAuth/WizardViewMode.ts","webpack:///./TwoFactorAuth/AuthenticationMethodWizardViewModel.ts","webpack:///./TwoFactorAuth/TwoFactorAuthMethodType.ts","webpack:///./TwoFactorAuth/TwoFactorAuthSettingsModel.ts","webpack:///./ConfirmDialog.ts","webpack:///./TwoFactorAuth/TwoFactorAuthSettingsViewModel.ts","webpack:///./UserInactivityWatcher.ts","webpack:///./ValidationConfigurator.ts","webpack:///./startup/bootstrap.ts","webpack:///./startup/bootstrap-notify-settings.ts","webpack:///webpack/bootstrap","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/jsonp chunk loading","webpack:///webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// This binding is designed to be used with `knockout.validation` library only\r\nko.bindingHandlers.validationContainer = {\r\n update: function (element, valueAccessor, allBindingsAccessor) {\r\n var obs = valueAccessor();\r\n\r\n if (obs === null || typeof obs === 'undefined')\r\n return;\r\n\r\n var isModified = obs.isModified && obs.isModified();\r\n var isValid = obs.isValid && obs.isValid() && isModified;\r\n var isInvalid = obs.isValid && (obs.isValid() === false) && isModified;\r\n\r\n if (isValid)\r\n $(element).addClass(\"has-success\");\r\n else\r\n $(element).removeClass(\"has-success\");\r\n\r\n if (isInvalid)\r\n $(element).addClass(\"has-error\");\r\n else\r\n $(element).removeClass(\"has-error\");\r\n }\r\n};","var ___EXPOSE_LOADER_IMPORT___ = require(\"-!../node_modules/.pnpm/ts-loader@9.5.1_typescript@5.2.2_webpack@5.89.0/node_modules/ts-loader/index.js!./AdditioinaAuthMethodPageViewModel.ts\");\nvar ___EXPOSE_LOADER_GET_GLOBAL_THIS___ = require(\"../node_modules/.pnpm/expose-loader@4.1.0_webpack@5.89.0/node_modules/expose-loader/dist/runtime/getGlobalThis.js\");\nvar ___EXPOSE_LOADER_GLOBAL_THIS___ = ___EXPOSE_LOADER_GET_GLOBAL_THIS___;\nif (typeof ___EXPOSE_LOADER_GLOBAL_THIS___[\"AdditioinaAuthMethodPage\"] === 'undefined') ___EXPOSE_LOADER_GLOBAL_THIS___[\"AdditioinaAuthMethodPage\"] = ___EXPOSE_LOADER_IMPORT___;\nmodule.exports = ___EXPOSE_LOADER_IMPORT___;\n","var ___EXPOSE_LOADER_IMPORT___ = require(\"-!../../node_modules/.pnpm/ts-loader@9.5.1_typescript@5.2.2_webpack@5.89.0/node_modules/ts-loader/index.js!./AuthenticationMethodWizardViewModel.ts\");\nvar ___EXPOSE_LOADER_GET_GLOBAL_THIS___ = require(\"../../node_modules/.pnpm/expose-loader@4.1.0_webpack@5.89.0/node_modules/expose-loader/dist/runtime/getGlobalThis.js\");\nvar ___EXPOSE_LOADER_GLOBAL_THIS___ = ___EXPOSE_LOADER_GET_GLOBAL_THIS___;\nif (typeof ___EXPOSE_LOADER_GLOBAL_THIS___[\"AuthenticationMethodWizard\"] === 'undefined') ___EXPOSE_LOADER_GLOBAL_THIS___[\"AuthenticationMethodWizard\"] = ___EXPOSE_LOADER_IMPORT___;\nmodule.exports = ___EXPOSE_LOADER_IMPORT___;\n","var ___EXPOSE_LOADER_IMPORT___ = require(\"-!../node_modules/.pnpm/ts-loader@9.5.1_typescript@5.2.2_webpack@5.89.0/node_modules/ts-loader/index.js!./GeneralLogonViewModel.ts\");\nvar ___EXPOSE_LOADER_GET_GLOBAL_THIS___ = require(\"../node_modules/.pnpm/expose-loader@4.1.0_webpack@5.89.0/node_modules/expose-loader/dist/runtime/getGlobalThis.js\");\nvar ___EXPOSE_LOADER_GLOBAL_THIS___ = ___EXPOSE_LOADER_GET_GLOBAL_THIS___;\nif (typeof ___EXPOSE_LOADER_GLOBAL_THIS___[\"GeneralLogon\"] === 'undefined') ___EXPOSE_LOADER_GLOBAL_THIS___[\"GeneralLogon\"] = ___EXPOSE_LOADER_IMPORT___;\nmodule.exports = ___EXPOSE_LOADER_IMPORT___;\n","var ___EXPOSE_LOADER_IMPORT___ = require(\"-!../node_modules/.pnpm/ts-loader@9.5.1_typescript@5.2.2_webpack@5.89.0/node_modules/ts-loader/index.js!./ResetPasswordViewModel.ts\");\nvar ___EXPOSE_LOADER_GET_GLOBAL_THIS___ = require(\"../node_modules/.pnpm/expose-loader@4.1.0_webpack@5.89.0/node_modules/expose-loader/dist/runtime/getGlobalThis.js\");\nvar ___EXPOSE_LOADER_GLOBAL_THIS___ = ___EXPOSE_LOADER_GET_GLOBAL_THIS___;\nif (typeof ___EXPOSE_LOADER_GLOBAL_THIS___[\"ResetPassword\"] === 'undefined') ___EXPOSE_LOADER_GLOBAL_THIS___[\"ResetPassword\"] = ___EXPOSE_LOADER_IMPORT___;\nmodule.exports = ___EXPOSE_LOADER_IMPORT___;\n","var ___EXPOSE_LOADER_IMPORT___ = require(\"-!../node_modules/.pnpm/ts-loader@9.5.1_typescript@5.2.2_webpack@5.89.0/node_modules/ts-loader/index.js!./ServerSettingsViewModel.ts\");\nvar ___EXPOSE_LOADER_GET_GLOBAL_THIS___ = require(\"../node_modules/.pnpm/expose-loader@4.1.0_webpack@5.89.0/node_modules/expose-loader/dist/runtime/getGlobalThis.js\");\nvar ___EXPOSE_LOADER_GLOBAL_THIS___ = ___EXPOSE_LOADER_GET_GLOBAL_THIS___;\nif (typeof ___EXPOSE_LOADER_GLOBAL_THIS___[\"ServerSettings\"] === 'undefined') ___EXPOSE_LOADER_GLOBAL_THIS___[\"ServerSettings\"] = ___EXPOSE_LOADER_IMPORT___;\nmodule.exports = ___EXPOSE_LOADER_IMPORT___;\n","var ___EXPOSE_LOADER_IMPORT___ = require(\"-!../../node_modules/.pnpm/ts-loader@9.5.1_typescript@5.2.2_webpack@5.89.0/node_modules/ts-loader/index.js!./TwoFactorAuthSettingsViewModel.ts\");\nvar ___EXPOSE_LOADER_GET_GLOBAL_THIS___ = require(\"../../node_modules/.pnpm/expose-loader@4.1.0_webpack@5.89.0/node_modules/expose-loader/dist/runtime/getGlobalThis.js\");\nvar ___EXPOSE_LOADER_GLOBAL_THIS___ = ___EXPOSE_LOADER_GET_GLOBAL_THIS___;\nif (typeof ___EXPOSE_LOADER_GLOBAL_THIS___[\"TwoFactorAuthSettings\"] === 'undefined') ___EXPOSE_LOADER_GLOBAL_THIS___[\"TwoFactorAuthSettings\"] = ___EXPOSE_LOADER_IMPORT___;\nmodule.exports = ___EXPOSE_LOADER_IMPORT___;\n","export class AdditioinaAuthMethodPageViewModel {\r\n constructor(options) {\r\n this.form$ = options.form$;\r\n\r\n this.methodId = ko.observable(options.defaultMethodId).extend({ required: true });\r\n this.pin = ko.observable().extend({ required: true, minLength: 6 });\r\n this.canShowOtherMethods = ko.observable(options.canShowOtherMethods);\r\n\r\n this.canSubmit = ko.pureComputed({\r\n read: () => !!this.methodId() && !!this.pin(),\r\n deferEvaluation: true\r\n });\r\n\r\n if (!options.defaultMethodId) {\r\n this.showOtherMethod(true);\r\n }\r\n }\r\n\r\n readonly form$: JQuery;\r\n readonly canSubmit: KnockoutComputed;\r\n\r\n methodId: KnockoutObservable;\r\n pin: KnockoutObservable;\r\n showOtherMethod = ko.observable(false);\r\n canShowOtherMethods: KnockoutObservable;\r\n\r\n init() {\r\n ko.applyBindings(this);\r\n }\r\n\r\n onSubmit() {\r\n if (this.canSubmit()) {\r\n this.form$.submit();\r\n }\r\n }\r\n\r\n onMethodIdChange(methodId) {\r\n this.methodId(methodId);\r\n }\r\n\r\n onShowOtherMethod() {\r\n this.methodId(undefined);\r\n this.showOtherMethod(true);\r\n }\r\n}\r\n","export class GeneralLogonViewModel {\r\n constructor(options) {\r\n this.form$ = options.form$;\r\n this.requireTermsOfUseAgreement = !!options.requireTermsOfUseAgreement;\r\n this.login = ko.observable(options.login).extend({ required: true });\r\n this.password = ko.observable(null).extend({ required: true });\r\n this.termsOfUseAgreement = ko.observable(options.termsOfUseAgreement);\r\n\r\n this.canSubmit = ko.pureComputed({\r\n read: () => this.termsOfUseAgreement() || !this.requireTermsOfUseAgreement,\r\n deferEvaluation: true\r\n });\r\n }\r\n\r\n readonly form$: JQuery;\r\n readonly requireTermsOfUseAgreement: boolean;\r\n readonly canSubmit: KnockoutComputed;\r\n \r\n login: KnockoutObservable;\r\n password: KnockoutObservable;\r\n termsOfUseAgreement: KnockoutObservable;\r\n\r\n init() {\r\n ko.applyBindings(this);\r\n }\r\n\r\n onSubmit() {\r\n this.login.isModified(true);\r\n this.password.isModified(true);\r\n\r\n if (this.isModelValid()) {\r\n this.form$.submit();\r\n }\r\n }\r\n\r\n isModelValid() {\r\n return this.login.isValid() && this.password.isValid();\r\n }\r\n}\r\n","export class NotificationService {\r\n\r\n showInfo(message: string | string[]) {\r\n NotificationService.showMessageInternal(\"Info\", message, \"info\");\r\n }\r\n\r\n showError(message: string | string []) {\r\n NotificationService.showMessageInternal(\"Error\", message, \"danger\");\r\n }\r\n\r\n private static showMessageInternal(title: string, message: string | string[], type: string) {\r\n $.notify({\r\n title: title,\r\n message: Array.isArray(message) ? message.join(\"
\") : message\r\n }, {\r\n type: type,\r\n delay: 5000,\r\n placement: {\r\n from: \"top\",\r\n align: \"center\"\r\n },\r\n });\r\n }\r\n}","\r\nexport function ResetPasswordViewModel(options) {\r\n var self = this;\r\n\r\n var form$ = options.form$;\r\n var newPasswordTooltip$ = options.newPasswordTooltip$;\r\n var login = options.userLogin;\r\n\r\n var commonPwdRules = {\r\n required: true,\r\n validation: [\r\n {\r\n validator: function (val) { return val !== null && val.match(/^ *$/) === null }\r\n , message: 'Password should not be empty.'\r\n }, {\r\n validator: function (val) { return val !== null && val.length >= 8 }\r\n , message: 'Password should contain at least 8 symbols.'\r\n }, {\r\n validator: function (val) { return val !== null && val.match(/.*[A-Z]{1}.*/) !== null }\r\n , message: 'Password must contain at least one uppercase character (A-Z).'\r\n }, {\r\n validator: function (val) { return val !== null && val.match(/.*[a-z]{1}.*/) !== null }\r\n , message: 'Password must contain at least one lowercase character (a-z).'\r\n }, {\r\n validator: function (val) { return val !== null && val.match(/.*[0-9]{1}.*/) !== null }\r\n , message: 'Password must contain at least one Base-10 digit (0-9).'\r\n }, {\r\n validator: function (val) { return val !== null && val.match(/.*[!$#%]{1}.*/) !== null }\r\n , message: 'Password must have a non-alphanumeric character (!, $, #, or %).'\r\n }, {\r\n validator: function (val) { return val !== null && val !== self.login() }\r\n , message: 'Password should not be equal to user name.'\r\n }\r\n ],\r\n };\r\n\r\n var reenterPwdRules = {\r\n validation: [\r\n {\r\n validator: function (val) { return val !== null && val === self.newPassword() }\r\n , message: 'This field must match new password.'\r\n }\r\n ],\r\n };\r\n self.login = ko.observable(login).extend({ required: true });\r\n self.oldPassword = ko.observable(null).extend({ required: true });\r\n self.newPassword = ko.observable(null).extend(commonPwdRules);\r\n self.reenteredNewPassword = ko.observable(null).extend(reenterPwdRules);\r\n self.passwordValidationRules = ko.observableArray();\r\n\r\n self.init = function () {\r\n ko.applyBindings(self);\r\n }\r\n\r\n self.selectedNewPassword = function () {\r\n self.fillPasswordValidationRules(self.newPassword());\r\n\r\n newPasswordTooltip$.tooltip('show');\r\n }\r\n\r\n self.blurNewPassword = function () {\r\n newPasswordTooltip$.tooltip('hide');\r\n }\r\n\r\n self.fillPasswordValidationRules = function (password) {\r\n const selectedItems = [];\r\n\r\n for (let rule of commonPwdRules.validation) {\r\n const item = {\r\n isValid: rule.validator(password),\r\n message: rule.message\r\n };\r\n\r\n selectedItems.push(item);\r\n }\r\n\r\n self.passwordValidationRules(selectedItems);\r\n self.passwordValidationRules.valueHasMutated(); \r\n }\r\n\r\n self.changePassword = function (item: any, event: any) {\r\n var currentValue = event.target.value;\r\n\r\n self.fillPasswordValidationRules(currentValue);\r\n\r\n newPasswordTooltip$.tooltip('show');\r\n\r\n return true;\r\n }\r\n\r\n self.onSubmit = function () {\r\n self.login.isModified(true);\r\n self.oldPassword.isModified(true);\r\n self.newPassword.isModified(true);\r\n self.reenteredNewPassword.isModified(true);\r\n\r\n if (isModelValid())\r\n form$.submit();\r\n }\r\n\r\n var isModelValid = function () {\r\n\r\n return self.login.isValid() &&\r\n (!self.isValidateOldPassword || self.oldPassword.isValid()) &&\r\n self.newPassword.isValid() &&\r\n self.reenteredNewPassword.isValid();\r\n }\r\n}","export class ClientModel {\r\n id: KnockoutObservable = ko.observable(null);\r\n name: KnockoutObservable = ko.observable(null);\r\n installed: KnockoutObservable = ko.observable(false);\r\n \r\n url: KnockoutObservable = ko.observable(null).extend({ \r\n required: {\r\n onlyIf: () => this.installed() === true\r\n },\r\n pattern: {\r\n onlyIf: () => PRODUCTION === true,\r\n message: 'Url must start from \"https\\:\\/\\/',\r\n params: '^https\\:\\/\\/\\/*'\r\n }\r\n });\r\n \r\n secret: KnockoutObservable = ko.observable(null).extend({\r\n required: {\r\n onlyIf: () => this.installed() === true\r\n }, \r\n minLength: {\r\n params: 50,\r\n onlyIf: () => this.installed() === true\r\n } \r\n });\r\n}","export class KeyGeneratorService {\r\n private readonly url: string;\r\n \r\n constructor(url: string) {\r\n this.url = url;\r\n }\r\n \r\n getNewKey(): Promise {\r\n return new Promise((resolve, reject) => {\r\n $.ajax({ url: this.url, type: \"GET\" })\r\n .done(resolve)\r\n .fail(reject);\r\n });\r\n }\r\n}\r\n","export enum TokenValidationMode {\r\n Local = 0,\r\n Remote = 1\r\n}","import { ClientModel } from \"./ClientModel\";\r\nimport { TokenValidationMode } from \"./TokenValidationMode\";\r\n\r\nexport class ServerSettingsModel {\r\n serverUrl: KnockoutObservable = ko.observable(null).extend({\r\n required: true,\r\n pattern: {\r\n onlyIf: () => PRODUCTION === true,\r\n message: 'Url must start from \"https\\:\\/\\/',\r\n params: '^https\\:\\/\\/\\/*'\r\n }\r\n });\r\n apiSecret: KnockoutObservable = ko.observable(null).extend({required: true});\r\n domainAutoLoginEnabled: KnockoutObservable = ko.observable(false);\r\n applyHostAsOrigin: KnockoutObservable = ko.observable(false);\r\n hideArmsLoginUI: KnockoutObservable = ko.observable(false);\r\n supportIISWindowsAuthenticationEnabled: KnockoutObservable = ko.observable(false);\r\n isTwoFactorAuthEnabled: KnockoutObservable = ko.observable(false);\r\n twoFactorAuthConfigDelay: KnockoutObservable = ko.observable(null).extend({ required: true, min: 1, max: 14 });\r\n\r\n _tokenValidationMode: KnockoutObservable = ko.observable(TokenValidationMode.Local);\r\n tokenValidationMode: KnockoutComputed = ko.pureComputed({\r\n read: () => this._tokenValidationMode().toString(),\r\n write: (value: string) => this._tokenValidationMode(+value)\r\n });\r\n\r\n clients: KnockoutObservableArray = ko.observableArray([]);\r\n}\r\n","import { ClientModel } from \"./ClientModel\";\r\nimport { KeyGeneratorService } from \"./KeyGeneratorService\";\r\nimport { ServerSettingsModel } from \"./ServerSettingsModel\";\r\nimport { NotificationService } from \"./NotificationService\";\r\n\r\nexport class ServerSettingsViewModel {\r\n settingsModel: ServerSettingsModel = null;\r\n \r\n private readonly loadUrl: string;\r\n private readonly saveUrl: string;\r\n private readonly keyGeneratorService: KeyGeneratorService;\r\n private readonly notificationService: NotificationService;\r\n private currentUrl: string;\r\n\r\n constructor(options) {\r\n this.loadUrl = options.loadUrl;\r\n this.saveUrl = options.saveUrl;\r\n this.keyGeneratorService = new KeyGeneratorService(options.newKeyUrl);\r\n this.notificationService = new NotificationService();\r\n \r\n this.settingsModel = new ServerSettingsModel();\r\n }\r\n\r\n init() {\r\n ko.applyBindings(this);\r\n this.load();\r\n };\r\n\r\n load() {\r\n $.ajax({\r\n url: this.loadUrl,\r\n success: (data: any) => {\r\n if (data.success) {\r\n const settings = data.settings;\r\n\r\n\r\n this.settingsModel.serverUrl(settings.serverUrl);\r\n this.settingsModel.apiSecret(settings.apiSecret);\r\n this.settingsModel.domainAutoLoginEnabled(settings.domainAutoLoginEnabled);\r\n this.settingsModel.applyHostAsOrigin(settings.applyHostAsOrigin);\r\n this.settingsModel.hideArmsLoginUI(settings.hideArmsLoginUI);\r\n this.settingsModel.supportIISWindowsAuthenticationEnabled(settings.supportIISWindowsAuthenticationEnabled);\r\n this.settingsModel.isTwoFactorAuthEnabled(settings.isTwoFactorAuthEnabled);\r\n this.settingsModel.twoFactorAuthConfigDelay(settings.twoFactorAuthConfigDelay);\r\n this.settingsModel.tokenValidationMode(settings.tokenValidationMode);\r\n this.currentUrl = settings.defaultServerUrl;\r\n\r\n this.settingsModel.clients(settings.clients.map(x => {\r\n const vm = new ClientModel();\r\n\r\n vm.id(x.id);\r\n vm.url(x.url);\r\n vm.name(x.name);\r\n vm.secret(x.secret);\r\n vm.installed(x.installed);\r\n\r\n return vm;\r\n }));\r\n }\r\n }\r\n })\r\n }\r\n\r\n refresh() {\r\n this.load();\r\n }\r\n\r\n applyCurrentUrl() {\r\n this.settingsModel.serverUrl(this.currentUrl);\r\n }\r\n\r\n private async generateKey() {\r\n const keyResult = await this.keyGeneratorService.getNewKey();\r\n if (keyResult.success) {\r\n return keyResult.key;\r\n }\r\n }\r\n\r\n async generateKeyForServer() {\r\n const key = await this.generateKey();\r\n this.settingsModel.apiSecret(key);\r\n }\r\n\r\n async generateKeyForClient(client: ClientModel) {\r\n const key = await this.generateKey();\r\n client.secret(key);\r\n }\r\n\r\n onSubmit() {\r\n if (!this.validate()){\r\n this.notificationService.showError(\"Settings are not valid\");\r\n return;\r\n }\r\n \r\n $.ajax({\r\n url: this.saveUrl,\r\n type: \"POST\",\r\n data: ko.toJS(this.settingsModel),\r\n success: data => {\r\n if (data.success) {\r\n this.notificationService.showInfo([\"Settings Saved\", \"Don't forget to restart IIS to apply updated settings\"]);\r\n } else {\r\n this.notificationService.showError(data.message);\r\n } \r\n }\r\n });\r\n }\r\n\r\n validate() {\r\n const errors = ko.validation.group(this, {\r\n deep: true,\r\n observable: true,\r\n });\r\n errors.showAllMessages();\r\n return errors().length === 0;\r\n }\r\n}\r\n\r\n","export enum WizardViewMode {\r\n EnterMethodName = 0,\r\n Information = 1,\r\n ScanCode = 2,\r\n EnterCode = 3\r\n}","import { NotificationService } from \"../NotificationService\";\r\nimport { WizardViewMode } from \"./WizardViewMode\";\r\n\r\nexport class AuthenticationMethodWizardViewModel {\r\n constructor(options) {\r\n this.createMfaAppAuthenticationMethodUrl = options.createMfaAppAuthenticationMethodUrl;\r\n this.confirmMfaAppAuthenticationMethodUrl = options.confirmMfaAppAuthenticationMethodUrl;\r\n\r\n this.rootElement = options.$rootElement;\r\n\r\n this.notificationService = new NotificationService();\r\n\r\n this.appCode.subscribe(() => {\r\n this.isInvalidCode(false);\r\n });\r\n\r\n this.methodName.subscribe(() => this.qrCodeImageUrl(null));\r\n }\r\n\r\n wizardViewMode: KnockoutObservable = ko.observable(WizardViewMode.EnterMethodName);\r\n rootElement: JQuery;\r\n onSaveComplete: (data: any) => void;\r\n\r\n createMfaAppAuthenticationMethodUrl: string;\r\n confirmMfaAppAuthenticationMethodUrl: string;\r\n\r\n methodName = ko.observable(null).extend({ required: true });\r\n accountName = ko.observable(null);\r\n secretKey = ko.observable(null);\r\n methodConfirmationId = ko.observable(null);\r\n qrCodeImageUrl = ko.observable(null);\r\n showContainerCodes = ko.observable(false);\r\n isInvalidCode = ko.observable(false);\r\n isInputSelected = ko.observable(true);\r\n\r\n appCode = ko.observable(null)\r\n .extend({\r\n required: true,\r\n minLength: 6,\r\n maxLength: 6,\r\n validation: [\r\n {\r\n validator: () => this.isInvalidCode() === false,\r\n message: \"Invalid Code.\"\r\n }\r\n ]\r\n });\r\n\r\n canViewAddMethodName: KnockoutComputed = ko.pureComputed({\r\n read: () => this.wizardViewMode() === WizardViewMode.EnterMethodName,\r\n deferEvaluation: true\r\n });\r\n\r\n canViewinformation: KnockoutComputed = ko.pureComputed({\r\n read: () => this.wizardViewMode() === WizardViewMode.Information,\r\n deferEvaluation: true\r\n });\r\n\r\n canViewScanCode: KnockoutComputed = ko.pureComputed({\r\n read: () => this.wizardViewMode() === WizardViewMode.ScanCode,\r\n deferEvaluation: true\r\n });\r\n\r\n canViewEnterCode: KnockoutComputed = ko.pureComputed({\r\n read: () => this.wizardViewMode() === WizardViewMode.EnterCode,\r\n deferEvaluation: true\r\n });\r\n\r\n showClipboardAccountName: KnockoutComputed = ko.pureComputed({\r\n read: () => this.accountName(),\r\n deferEvaluation: true\r\n });\r\n\r\n showClipboardSecretKey: KnockoutComputed = ko.pureComputed({\r\n read: () => this.secretKey(),\r\n deferEvaluation: true\r\n });\r\n\r\n backButtonView: KnockoutComputed = ko.pureComputed({\r\n read: () => {\r\n switch (this.wizardViewMode()) {\r\n case WizardViewMode.Information:\r\n case WizardViewMode.ScanCode:\r\n case WizardViewMode.EnterCode:\r\n return true;\r\n default: return false;\r\n }\r\n },\r\n deferEvaluation: true\r\n });\r\n\r\n nextButtonView: KnockoutComputed = ko.pureComputed({\r\n read: () => {\r\n switch (this.wizardViewMode()) {\r\n case WizardViewMode.EnterMethodName:\r\n case WizardViewMode.Information:\r\n case WizardViewMode.ScanCode:\r\n return true;\r\n default: return false;\r\n }\r\n },\r\n deferEvaluation: true\r\n });\r\n\r\n disableFinish: KnockoutComputed = ko.pureComputed({\r\n read: () => !this.validate(),\r\n deferEvaluation: true\r\n });\r\n\r\n disableGotoNext: KnockoutComputed = ko.pureComputed({\r\n read: () => {\r\n switch (this.wizardViewMode()) {\r\n case WizardViewMode.EnterMethodName:\r\n return !this.methodName.isValid();\r\n default: return false;\r\n }\r\n },\r\n deferEvaluation: true\r\n });\r\n\r\n private readonly notificationService: NotificationService;\r\n\r\n clear() {\r\n this.wizardViewMode(WizardViewMode.EnterMethodName);\r\n this.methodName(null);\r\n this.accountName(null);\r\n this.secretKey(null);\r\n this.appCode(null);\r\n this.qrCodeImageUrl(null);\r\n this.showContainerCodes(false);\r\n\r\n this.clearValidation();\r\n }\r\n\r\n gotoBack() {\r\n switch (this.wizardViewMode()) {\r\n case WizardViewMode.Information:\r\n this.wizardViewMode(WizardViewMode.EnterMethodName);\r\n break;\r\n case WizardViewMode.ScanCode:\r\n this.wizardViewMode(WizardViewMode.Information);\r\n break;\r\n case WizardViewMode.EnterCode:\r\n this.wizardViewMode(WizardViewMode.ScanCode);\r\n break;\r\n }\r\n this.isInputSelected(true);\r\n }\r\n\r\n gotoNext() {\r\n switch (this.wizardViewMode()) {\r\n case WizardViewMode.EnterMethodName:\r\n this.wizardViewMode(WizardViewMode.Information);\r\n break;\r\n case WizardViewMode.Information:\r\n const switchPage = () => this.wizardViewMode(WizardViewMode.ScanCode);\r\n\r\n if (!this.qrCodeImageUrl()) {\r\n this.generateKey(switchPage);\r\n } else {\r\n switchPage();\r\n }\r\n break;\r\n case WizardViewMode.ScanCode:\r\n this.wizardViewMode(WizardViewMode.EnterCode);\r\n break;\r\n }\r\n this.isInputSelected(true);\r\n }\r\n\r\n addMethod(callback: any) {\r\n this.clear();\r\n this.onSaveComplete = callback;\r\n (this.rootElement as any).appendTo(\"body\").modal('show');\r\n this.isInputSelected(true);\r\n }\r\n\r\n confirmMethod() {\r\n $.ajax({\r\n url: this.confirmMfaAppAuthenticationMethodUrl,\r\n type: \"GET\",\r\n data: { id: this.methodConfirmationId(), code: this.appCode() },\r\n error: err => this.notificationService.showError(JSON.parse(err.responseText).message),\r\n success: data => {\r\n this.isInvalidCode(!data)\r\n\r\n if (data) {\r\n this.onSaveComplete({ success: true });\r\n this.onCloseModal();\r\n }\r\n }\r\n });\r\n }\r\n\r\n generateKey(callback: () => void) {\r\n $.ajax({\r\n url: this.createMfaAppAuthenticationMethodUrl,\r\n type: \"GET\",\r\n data: { nameMethod: this.methodName },\r\n error: err => this.notificationService.showError(JSON.parse(err.responseText).message),\r\n success: data => {\r\n this.accountName(data.account);\r\n this.secretKey(data.manualEntryKey);\r\n this.methodConfirmationId(data.methodConfirmationId);\r\n this.qrCodeImageUrl(data.qrCodeImageUrl);\r\n callback();\r\n }\r\n });\r\n }\r\n\r\n init() {\r\n ko.applyBindings(this, this.rootElement.get(0));\r\n }\r\n\r\n onCloseModal() {\r\n (this.rootElement as any).modal('hide');\r\n }\r\n\r\n clearValidation() {\r\n const errors = ko.validation.group(this);\r\n errors.showAllMessages(false);\r\n }\r\n\r\n validate() {\r\n const errors = ko.validation.group(this, {\r\n deep: true,\r\n observable: true,\r\n });\r\n return errors().length === 0;\r\n }\r\n\r\n collapseContainerCodes() {\r\n this.showContainerCodes(true);\r\n }\r\n\r\n copyAccountName() {\r\n navigator.clipboard.writeText(this.accountName());\r\n this.notifyCopied(\"Account name\");\r\n }\r\n\r\n copySecretKey() {\r\n navigator.clipboard.writeText(this.secretKey());\r\n this.notifyCopied(\"Secret key\");\r\n }\r\n\r\n private notifyCopied(what: string) {\r\n this.notificationService.showInfo(`${what} copied successfully`);\r\n }\r\n}\r\n\r\n","export enum TwoFactorAuthMethodType\r\n{\r\n AuthenticatorApplication = 0\r\n}","import { TwoFactorAuthMethodType } from \"./TwoFactorAuthMethodType\";\r\n\r\nexport class TwoFactorAuthSettingsModel {\r\n methods: KnockoutObservableArray = ko.observableArray([]);\r\n}\r\n\r\nexport class TwoFactorAuthSettingsMethod {\r\n id: number;\r\n methodType: TwoFactorAuthMethodType;\r\n methodTypeDescription: string;\r\n name: string;\r\n isDefault: boolean;\r\n\r\n isDefaultDesc = ko.pureComputed(() => {\r\n return this.isDefault ? \"YES\" : \"NO\";\r\n }, this);\r\n\r\n methodTypeCssClass = ko.pureComputed(() => {\r\n switch (this.methodType) {\r\n case TwoFactorAuthMethodType.AuthenticatorApplication:\r\n return \"fa fa-mobile\";\r\n\r\n default:\r\n return \"test\";\r\n }\r\n }, this);\r\n}\r\n","export const ConfirmDialogType = Object.freeze({ YesNo: 0, OKCancel: 1, YesNoCancel: 2 });\r\n\r\nexport function ConfirmDialog(options) {\r\n if (!options) {\r\n throw \"options is required\";\r\n }\r\n\r\n if (!options.callback) {\r\n throw \"options.callback is required\";\r\n }\r\n\r\n if (!options.message) {\r\n throw \"options.message is required\";\r\n }\r\n\r\n const bootboxOptions = {\r\n animate: false,\r\n callback: options.callback,\r\n message: options.message,\r\n title: undefined,\r\n size: undefined,\r\n buttons: undefined\r\n };\r\n\r\n if (options.title) {\r\n bootboxOptions.title = options.title;\r\n }\r\n\r\n if (options.size) {\r\n bootboxOptions.size = options.size;\r\n }\r\n\r\n const customDialogTypes = [ConfirmDialogType.YesNoCancel];\r\n const isCustomDialogType = (dialogType: any): boolean => customDialogTypes.includes(dialogType);\r\n\r\n const dialogType = options.dialogType || ConfirmDialogType.YesNo;\r\n if (isCustomDialogType(dialogType)) {\r\n\r\n if (dialogType === ConfirmDialogType.YesNoCancel) {\r\n const execCallback = (arg?: boolean): boolean => {\r\n if (options.callback) {\r\n return options.callback.call(this, arg);\r\n }\r\n return true;\r\n };\r\n\r\n bootboxOptions.buttons = {\r\n yes: { label: \"Yes\", callback: (res) => execCallback(true), className: \"btn-primary\" },\r\n no: { label: \"No\", callback: (res) => execCallback(false) },\r\n cancel: { label: \"Cancel\", callback: (res) => execCallback(null) }\r\n };\r\n }\r\n\r\n bootbox.dialog(bootboxOptions);\r\n return;\r\n }\r\n\r\n switch (dialogType) {\r\n case ConfirmDialogType.OKCancel:\r\n bootboxOptions.buttons = { \"confirm\": { label: \"OK\" }, \"cancel\": { label: \"Cancel\" } };\r\n break;\r\n default:\r\n bootboxOptions.buttons = { \"confirm\": { label: \"Yes\" }, \"cancel\": { label: \"No\" } };\r\n break;\r\n }\r\n\r\n bootbox.confirm(bootboxOptions);\r\n};\r\n","import { TwoFactorAuthSettingsMethod, TwoFactorAuthSettingsModel } from \"./TwoFactorAuthSettingsModel\";\r\nimport { AuthenticationMethodWizardViewModel } from \"./AuthenticationMethodWizardViewModel\";\r\nimport { NotificationService } from \"../NotificationService\";\r\nimport { ConfirmDialog } from \"../ConfirmDialog\";\r\n\r\nexport class TwoFactorAuthSettingsViewModel {\r\n constructor(options) {\r\n this.loadUrl = options.loadUrl;\r\n this.deleteUrl = options.deleteUrl;\r\n this.setMethodAsDefaultUrl = options.setMethodAsDefaultUrl;\r\n\r\n this.notificationService = new NotificationService();\r\n\r\n this.rootElement = options.$rootElement.get(0);\r\n this.wizardViewModel = options.wizardViewModel;\r\n }\r\n\r\n twoFactorAuthSettingsModel = new TwoFactorAuthSettingsModel();\r\n\r\n dataLoaded = ko.observable();\r\n\r\n hasAnyMethod = ko.computed({\r\n read: () => {\r\n return this.dataLoaded() && this.twoFactorAuthSettingsModel.methods().length > 0;\r\n }\r\n });\r\n\r\n hasDefaultMethod = ko.computed({\r\n read: () => {\r\n return this.dataLoaded() && this.twoFactorAuthSettingsModel.methods().some(x => x.isDefault);\r\n }\r\n });\r\n\r\n private readonly loadUrl: string;\r\n private readonly deleteUrl: string;\r\n private readonly setMethodAsDefaultUrl: string;\r\n\r\n private readonly rootElement: JQuery;\r\n private readonly notificationService: NotificationService;\r\n private readonly wizardViewModel: AuthenticationMethodWizardViewModel;\r\n\r\n init() {\r\n this.wizardViewModel.init();\r\n\r\n ko.applyBindings(this, this.rootElement);\r\n this.load();\r\n };\r\n\r\n load() {\r\n $.ajax({\r\n url: this.loadUrl,\r\n success: (data: any) => {\r\n if (data.success) {\r\n const userMfaSettings = data.userMfaSettings;\r\n\r\n this.twoFactorAuthSettingsModel.methods(\r\n userMfaSettings.methods.map(x => {\r\n const vm = new TwoFactorAuthSettingsMethod();\r\n vm.id = x.id;\r\n vm.methodType = x.methodType;\r\n vm.methodTypeDescription = x.methodTypeDescription;\r\n vm.name = x.name;\r\n vm.isDefault = x.isDefault;\r\n return vm;\r\n })\r\n );\r\n\r\n this.dataLoaded(true);\r\n }\r\n }\r\n })\r\n }\r\n\r\n refresh() {\r\n this.load();\r\n }\r\n\r\n addNewMethod() {\r\n const callback = (data: any) => {\r\n if (data.success) {\r\n this.notificationService.showInfo([\"New method successfully added\"]);\r\n } else {\r\n this.notificationService.showError(data.message);\r\n }\r\n\r\n this.refresh();\r\n };\r\n\r\n this.wizardViewModel.addMethod(callback);\r\n }\r\n\r\n deleteMethod(method: TwoFactorAuthSettingsMethod) {\r\n if (method.isDefault) {\r\n this.notificationService.showError(\"Default method cannot be deleted\");\r\n return;\r\n }\r\n\r\n ConfirmDialog({\r\n message: `Are you sure to delete method ${method.name}?`,\r\n title: 'Delete',\r\n callback: (result) => {\r\n if (result) {\r\n $.ajax({\r\n url: this.deleteUrl,\r\n type: \"POST\",\r\n data: { methodId: method.id },\r\n success: (data: any) => {\r\n if (data.success) {\r\n this.notificationService.showInfo([\"Method successfully deleted\"]);\r\n } else {\r\n this.notificationService.showError(data.message);\r\n }\r\n\r\n this.refresh();\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n setAsDefault(method: TwoFactorAuthSettingsMethod) {\r\n $.ajax({\r\n url: this.setMethodAsDefaultUrl,\r\n type: \"POST\",\r\n data: { methodId: method.id },\r\n success: (data: any) => {\r\n if (data.success) {\r\n this.notificationService.showInfo([\"Method successfully set to default\"]);\r\n } else {\r\n this.notificationService.showError(data.message);\r\n }\r\n\r\n this.refresh();\r\n }\r\n });\r\n }\r\n}\r\n","const tokenName = \"ARMS.LastBrowserActivityDate\";\r\nconst refreshInterval = 5 * 1000;\r\nconst webAppUrl = window[\"WEB_APP_ROOT\"];\r\nconst getTimeoutUrl = `${webAppUrl}/Settings/GetBrowserInactivityTimeout`;\r\nconst quiteLogOffUrl = `${webAppUrl}/Account/QuietLogout`;\r\n\r\nwindow.addEventListener(\"load\", () => {\r\n if (window[\"IS_USER_AUTHENTICATED\"]) {\r\n const xhr = new XMLHttpRequest();\r\n xhr.open(\"get\", getTimeoutUrl);\r\n xhr.onload = () => {\r\n if (xhr.response && xhr.response > 0) {\r\n const userInactivityTimeout = xhr.response * 1000;\r\n\r\n const token = localStorage.getItem(tokenName);\r\n if (token) {\r\n if ((new Date().getTime() - new Date(token).getTime()) > userInactivityTimeout) {\r\n localStorage.removeItem(tokenName);\r\n window.location.href = quiteLogOffUrl;\r\n return;\r\n }\r\n }\r\n\r\n (function run() {\r\n localStorage.setItem(tokenName, new Date().toISOString());\r\n setTimeout(run, refreshInterval);\r\n })();\r\n } else {\r\n localStorage.removeItem(tokenName);\r\n }\r\n };\r\n xhr.send();\r\n } else {\r\n localStorage.removeItem(tokenName);\r\n }\r\n});\r\n","export class ValidationConfigurator {\r\n \r\n static disableErrorMessages() {\r\n const options = ValidationConfigurator.getDefaultValidationOptions();\r\n options.insertMessages = false;\r\n ValidationConfigurator.init(options);\r\n }\r\n\r\n static enableErrorMessages() {\r\n ValidationConfigurator.init();\r\n }\r\n\r\n static init(options = ValidationConfigurator.getDefaultValidationOptions()) {\r\n ko.validation.init(options, true);\r\n }\r\n\r\n static getDefaultValidationOptions() {\r\n return {\r\n registerExtenders: true,\r\n messagesOnModified: true,\r\n insertMessages: true,\r\n parseInputAttributes: true,\r\n messageTemplate: null,\r\n decorateElementOnModified: true,\r\n decorateInputElement: true,\r\n errorElementClass: \"has-error\",\r\n errorMessageClass: \"field-validation-error\"\r\n } as KnockoutValidationConfiguration;\r\n }\r\n}","import { ValidationConfigurator } from \"./../ValidationConfigurator\";\r\n\r\nimport \"./bootstrap-notify-settings\";\r\nValidationConfigurator.init();\r\n","const template = `\r\n
\r\n \r\n \r\n

{1}

\r\n {2}\r\n
\r\n\t\t
\r\n\t
\r\n\t \r\n
\r\n`;\r\n\r\n$.notifyDefaults({\r\n offset: 50,\r\n mouse_over: \"pause\",\r\n placement: {\r\n from: \"top\",\r\n align: \"center\"\r\n },\r\n template: template,\r\n z_index: 11000\r\n});","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t179: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunk\"] = self[\"webpackChunk\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [592], () => (__webpack_require__(243)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","ko","bindingHandlers","validationContainer","update","element","valueAccessor","allBindingsAccessor","obs","isModified","isValid","isInvalid","$","addClass","removeClass","___EXPOSE_LOADER_IMPORT___","___EXPOSE_LOADER_GLOBAL_THIS___","module","exports","AdditioinaAuthMethodPageViewModel","constructor","options","showOtherMethod","observable","this","form$","methodId","defaultMethodId","extend","required","pin","minLength","canShowOtherMethods","canSubmit","pureComputed","read","deferEvaluation","init","applyBindings","onSubmit","submit","onMethodIdChange","onShowOtherMethod","undefined","GeneralLogonViewModel","requireTermsOfUseAgreement","login","password","termsOfUseAgreement","isModelValid","NotificationService","showInfo","message","showMessageInternal","showError","title","type","notify","Array","isArray","join","delay","placement","from","align","ResetPasswordViewModel","self","newPasswordTooltip$","userLogin","commonPwdRules","validation","validator","val","match","length","reenterPwdRules","newPassword","oldPassword","reenteredNewPassword","passwordValidationRules","observableArray","selectedNewPassword","fillPasswordValidationRules","tooltip","blurNewPassword","selectedItems","rule","item","push","valueHasMutated","changePassword","event","currentValue","target","value","isValidateOldPassword","ClientModel","id","name","installed","url","onlyIf","pattern","params","secret","KeyGeneratorService","getNewKey","Promise","resolve","reject","ajax","done","fail","TokenValidationMode","ServerSettingsModel","serverUrl","apiSecret","domainAutoLoginEnabled","applyHostAsOrigin","hideArmsLoginUI","supportIISWindowsAuthenticationEnabled","isTwoFactorAuthEnabled","twoFactorAuthConfigDelay","min","max","_tokenValidationMode","Local","tokenValidationMode","toString","write","clients","ServerSettingsViewModel","settingsModel","loadUrl","saveUrl","keyGeneratorService","newKeyUrl","notificationService","load","success","data","settings","currentUrl","defaultServerUrl","map","x","vm","refresh","applyCurrentUrl","generateKey","keyResult","key","generateKeyForServer","generateKeyForClient","client","validate","toJS","errors","group","deep","showAllMessages","WizardViewMode","AuthenticationMethodWizardViewModel","wizardViewMode","EnterMethodName","methodName","accountName","secretKey","methodConfirmationId","qrCodeImageUrl","showContainerCodes","isInvalidCode","isInputSelected","appCode","maxLength","canViewAddMethodName","canViewinformation","Information","canViewScanCode","ScanCode","canViewEnterCode","EnterCode","showClipboardAccountName","showClipboardSecretKey","backButtonView","nextButtonView","disableFinish","disableGotoNext","createMfaAppAuthenticationMethodUrl","confirmMfaAppAuthenticationMethodUrl","rootElement","$rootElement","subscribe","clear","clearValidation","gotoBack","gotoNext","switchPage","addMethod","callback","onSaveComplete","appendTo","modal","confirmMethod","code","error","err","JSON","parse","responseText","onCloseModal","nameMethod","account","manualEntryKey","get","collapseContainerCodes","copyAccountName","navigator","clipboard","writeText","notifyCopied","copySecretKey","what","TwoFactorAuthMethodType","TwoFactorAuthSettingsModel","methods","TwoFactorAuthSettingsMethod","isDefaultDesc","isDefault","methodTypeCssClass","methodType","AuthenticatorApplication","ConfirmDialogType","Object","freeze","YesNo","OKCancel","YesNoCancel","TwoFactorAuthSettingsViewModel","twoFactorAuthSettingsModel","dataLoaded","hasAnyMethod","computed","hasDefaultMethod","some","deleteUrl","setMethodAsDefaultUrl","wizardViewModel","userMfaSettings","methodTypeDescription","addNewMethod","deleteMethod","method","bootboxOptions","animate","size","buttons","customDialogTypes","dialogType","includes","isCustomDialogType","execCallback","arg","call","yes","label","res","className","no","cancel","bootbox","dialog","confirm","ConfirmDialog","result","setAsDefault","tokenName","webAppUrl","window","getTimeoutUrl","quiteLogOffUrl","addEventListener","xhr","XMLHttpRequest","open","onload","response","userInactivityTimeout","token","localStorage","getItem","Date","getTime","removeItem","location","href","run","setItem","toISOString","setTimeout","send","ValidationConfigurator","disableErrorMessages","getDefaultValidationOptions","insertMessages","enableErrorMessages","registerExtenders","messagesOnModified","parseInputAttributes","messageTemplate","decorateElementOnModified","decorateInputElement","errorElementClass","errorMessageClass","notifyDefaults","offset","mouse_over","template","z_index","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","m","O","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","keys","every","splice","r","d","definition","o","defineProperty","enumerable","g","globalThis","Function","e","obj","prop","prototype","hasOwnProperty","Symbol","toStringTag","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","forEach","bind","__webpack_exports__"],"sourceRoot":""}