{"version":3,"file":"main.63b2f92693adee0d.js","mappings":"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sDA,gBAAtDA,iGAF5CA,gBACEA,2BAEFA,8BADKA,mOArQbA,kBACEA,iBACEA,kBACEA,kBACEA,6FAOAA,yBAMFA,QACFA,QACAA,mBACEA,mBACEA,8FAQAA,0BAMFA,QACFA,QACFA,QACAA,kBACEA,mBACEA,mBACEA,8FAOAA,0BAMFA,QACFA,QAEAA,mBACEA,mBACEA,8FAMAA,0BAIFA,QACFA,QAEAA,mBACEA,mBACEA,8FAMAA,0BAIFA,QACFA,QACFA,QACAA,kBACEA,mBACEA,mBACEA,8FAOAA,0BAMFA,QACFA,QAEAA,mBACEA,mBACEA,8FAOAA,0BAQFA,QACFA,QACAA,mBACEA,sBACEA,kDAASmvC,6CACgEnvC,0BAChDA,iBAAkDA,oBAEzEA,gCAAiDA,QAAOA,QAC9DA,QACFA,QACAA,kBACEA,mBACEA,mBACEA,qBACgBA,gCACdA,0CAEEA,oBACsDA,QACxDA,mBAAQA,cAACA,QAASA,QACpBA,yBAGEA,4DAAiBszC,oBACnBtzC,QACAA,0BAIFA,QACFA,QAEAA,mBACEA,mBACEA,qBAA0CA,gCAExCA,0CACEA,oBACsDA,QACxDA,mBAASA,eAACA,QAASA,QACrBA,yBAIAA,0BAKFA,QACFA,QAEAA,mBACEA,mBACEA,qBAAyCA,gCAEvCA,0CAEEA,oBACsDA,QACxDA,mBAASA,eAACA,QAASA,QACrBA,yBAGAA,0BAKFA,QACFA,QACFA,QACAA,gBACEA,oBACEA,sBAEAA,sBACwBA,kCACtBA,4CACEA,qBACsDA,QAC1DA,QACFA,QACFA,QACAA,mBACEA,oBACEA,oBACEA,sBACwBA,kCACtBA,4CAEEA,qBACsDA,QACxDA,oBAAQA,eAACA,QAASA,QACpBA,oBACEA,yBAMAA,oBACEA,uBACEA,oDAASuzC,kCAEKvzC,QAClBA,QACFA,QACAA,2BAIFA,QACFA,QACAA,oBACEA,oBACEA,sBACsBA,kCACpBA,4CAEEA,qBACsDA,QAAOA,QACjEA,oBACEA,yBAIwCA,4DAAiB4pB,4BAJzD5pB,QAKAA,oBACEA,uBACEA,oDAASwzC,kCAEKxzC,QAClBA,QACFA,Q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A,4DADFA,2BACEA,0BAUFA,6BAX+CA,sBACNA,oEAWzCA,4QA1ONA,kBACEA,kBACEA,kBACEA,kBACEA,kBACEA,kBACEA,wEAMAA,2BAMFA,QACFA,QACFA,QACAA,mBACEA,mBACEA,mBACEA,qBAA0BA,gCAAoDA,mBAC1EA,eAACA,QAASA,QACdA,4BAAcA,yGAGZA,mBACEA,oBACEA,sBAEFA,QACAA,oBACEA,sBAEFA,QACAA,oBACEA,sBAEFA,QACAA,oBACEA,sBACEA,sBACAA,sBACAA,sBACAA,sBACFA,QACFA,QACAA,oBACEA,sBACAA,sBACAA,sBACFA,QACAA,oBACEA,sBACFA,QACAA,oBACEA,sBAEFA,QACAA,oBACEA,sBACFA,QACFA,QACFA,QACAA,2BAIFA,QACFA,QACFA,QACFA,QACAA,mBACEA,mBACEA,mBACEA,mBACEA,qBAA0BA,gCAExBA,mBAAQA,cAACA,QAASA,QACpBA,mBACEA,wBAIAA,mBACEA,sBACEA,mDAASshG,iCAC6DthG,QAC1EA,QACFA,QACEA,2BAIJA,QACFA,QACAA,mBACEA,mBACEA,qBAAoFA,gCAElFA,mBAAQA,cAACA,QAASA,QACpBA,mBACEA,8BAAgBA,8EAA2B,qDAExBuhG,gCACiDvhG,QACtEA,QACAA,2BAIFA,QACFA,QACAA,mBACEA,mBACEA,qBAA0BA,gCAExBA,mBAAQA,cAACA,QAASA,QACpBA,mBACEA,8BAAgBA,8EAA2B,qDAExBopC,4BAC+CppC,QACpEA,QACAA,2BAIFA,QACFA,QAAMA,QACNA,mBACAA,mBACEA,mBACEA,qBAA0BA,gCAC1BA,QACAA,mBACEA,sBAA+DA,iDAASqpC,6CAE1CrpC,QAC9BA,mBACEA,2CAGAA,2BAIFA,QACFA,QACFA,QACFA,QAuBFA,QACAA,mBAyBEA,mBACEA,mBACEA,qBAA0BA,gCACbA,QACbA,0BAGsEA,qDAAWg3E,eAAXh3E,CAA6B,2EAA7BA,CAA6B,2CAE1FspC,wBAF6DtpC,CAA6B,8CAEpDmvC,6CAC7CnvC,mCAKFA,QAEFA,QACFA,QACFA,QACAA,oCAYAA,2BAGFA,QACFA,QAmEFA,8BA3SoCA,8BAAe,sBAAfA,CAAe,oDAAfA,CAAe,gBAAfA,CAAe,yDAAfA,CAAe,sDAMhCA,qDAYmBA,oEAIxBA,6EAFYA,sCAAgC,+BAKhBA,+BAIEA,+BAIDA,gCAIAA,oCAQDA,+BACEA,iCACGA,oCAc5BA,2DAYmBA,2FAIoCA,2CAA0B,sCAOlFA,mFAGGA,yDAMgBA,6DAECA,+DAA0DA,gGAG3DA,+DACPA,0CAA2B,8BAA3BA,CAA2B,uBAA3BA,CAA2B,wBAA3BA,CAA2B,8DAKtCA,6DAMkBA,6DAECA,8FAIRA,0CAA2B,+BAA3BA,CAA2B,uBAA3BA,CAA2B,wBAA3BA,CAA2B,6DAKtCA,2DASmBA,uEAItBA,mFAKEA,wFAD0CA,uBAErCA,wDA0DeA,oEAIxBA,wFAFSA,4BAAoB,wBAApBA,CAAoB,cAApBA,CAAoB,8BAApBA,CAAoB,gCAgBtBA,kDAYTA,sEA0FFA,oBACsBA,8BAA0DA,eAA1DA,oGAFxBA,gBACEA,2BAEFA,6BAFUA,mGA4BJA,iBACEA,qBAAwBA,mDAAUwhG,2BAAlCxhG,QAA6DA,wBAC/DA,gCACAA,iBACEA,+BACFA,gDAEEA,cACEA,iBACEA,qBAAyBA,qEAAUyhG,2DAAqE,YAAxGzhG,QAAmNA,SACrNA,QACFA,8CAFyHA,+EAA8FA,qFASzNA,iBACEA,qBAAuBA,mDAAUmuF,0BAAjCnuF,QAA2DA,wBAC7DA,gCACAA,iBACEA,+BACFA,gDAEEA,cACEA,iBACEA,qBAAwBA,qEAAUm3F,2DAA2E,YAA7Gn3F,QAAkOA,SACpOA,QACFA,8CAF6HA,+EAAyGA,2FAlD9OA,mBAA2BA,iBAAeA,gCAAoBA,QAC5DA,sBAAoCA,mDAAS0hG,QAAc,iBACzD1hG,kBAAyBA,gBAAOA,QAClCA,QACFA,QAEAA,mBACEA,mBACEA,kBACEA,oBAAwDA,kBAA6BA,QACvFA,QACAA,sBAIyBA,oDAAS2zC,+BAJlC3zC,QAOFA,QACAA,oBAEEA,oBACEA,eAAIA,oBAAOA,QACXA,2BAGAA,2BAGAA,eACEA,wBAKFA,QACFA,QAGAA,oBACEA,eAAIA,mBAAMA,QACVA,2BAGAA,2BAGAA,eACEA,wBAKFA,QACFA,QACFA,QACFA,QACAA,oBACEA,uBAA8CA,kDAAS4zC,UACxC5zC,gCAA6CA,QAC5DA,uBAA6CA,mDAAS0hG,QAAc,iBACrD1hG,gCAAwDA,QACzEA,+BA7DgGA,iCAsBlFA,gDAGAA,+CAIiBA,gDAWjBA,8CAGAA,8CAIuBA,+CAWpBA,4DAEAA,mGAkB3BA,mBAEEA,mBAGFA,iCAFIA,8DADGA,iEAJXA,mBACEA,mBACEA,yBAMFA,QACAA,iBACuCA,SAA6DA,QACtGA,6BARgCA,2FAOSA,iNAkB/BA,mBACIA,mCAC0DA,kEAAuBquF,sEAEjFruF,QACJA,+BAJqBA,qDAAoC,uEAApCA,CAAoC,oEAApCA,CAAoC,4BAApCA,CAAoC,wBAApCA,CAAoC,uBAApCA,CAAoC,gCAApCA,CAAoC,wBAApCA,CAAoC,0BAApCA,CAAoC,oBAApCA,CAAoC,oBAApCA,CAAoC,8DAQrDA,mBAEEA,mBACEA,mBAEFA,QACAA,mBACEA,mBACEA,mBACAA,iBAAgBA,SAA4EA,QAC5FA,qBAA+DA,2CAAwHA,QAAQA,QAC/LA,kBAAGA,mEAAS03D,qEAEV13D,kBAEAA,qBAAuCA,UAAyCA,QAClFA,QACFA,QACAA,mBAA4CA,UAAoCA,QAClFA,QACFA,8CAjBSA,+CAMaA,iDAC+CA,gHAI3DA,uFACqCA,sCAGCA,mDAK9CA,mBAAqIA,gCAAoBA,yFA1B/JA,mBACEA,iBAA8EA,2BAAeA,QAC7FA,mBACEA,4BAqBAA,mBAEEA,0BACFA,QACFA,QASEA,wBACEA,4BAAqEA,oDAAS23D,gCAClD33D,QAC5BA,sBAA4BA,wBAAWA,QACzCA,QAEAA,oBAEEA,uBAA+FA,kEAAS6zC,6BACtG7zC,kBACFA,QACAA,uBAAiCA,kDAAS2hG,qBAAoB,KAC5D3hG,kBACFA,QACFA,QAEJA,+BAjDyCA,0HAsB7BA,+HAmB8BA,+GA7K9CA,kBACEA,kBACEA,kBACEA,kBACEA,oBAAiDA,8BACnCA,kBAASA,cAACA,QAASA,QACjCA,wBAE+EA,2DAAiBs3F,8CAE1Bt3F,QACtEA,2BAIFA,QACAA,8CAiEFA,QACAA,mBACEA,mBACdA,mBACAA,mBACEA,mBAA6BA,iDAASu3F,YAEpCv3F,iBAIAA,iBAAMA,UAA6DA,QACrEA,QACAA,yBAYFA,QACAA,mBACEA,iBAAGA,iDAAS20E,2BAA0B,KACpC30E,kBACAA,qBAA8BA,UAAgEA,QAChGA,QAEAA,kBACEA,kBACAA,qBAAyBA,UAA8DA,QACzFA,QACFA,QACFA,QAAMA,QACQA,QACFA,QACAA,mBACEA,4BAMAA,4BAsDJA,QACAA,8BAnLyDA,gEAG/CA,oFADSA,0GAAyD,cAAzDA,CAAyD,gEAK7DA,+DA6E0BA,4HAA0E,kIAIjHA,wKAEFA,mGAgB0BA,2KAKLA,yKAOXA,6DAMkBA,uFAuKtBA,eAAgEA,mBAA6FA,mCAUzJA,gDAEIA,yBAAmBA,6CAEvBA,gDAEuBA,kBAAnBA,uDAbJA,iBAOAA,0BAIAA,0BAIJA,iCAVIA,oCAFAA,oDAFAA,kDAA6D,2CAMvDA,wCAIAA,iEAONA,iBACAA,mBAE6CA,cAHNA,sFA9HjDA,kBAEEA,kBACEA,kBACEA,mBACEA,kBAAiEA,8BACnEA,QACAA,wBACAA,mBACEA,sBASEA,gCACFA,QACAA,oBACEA,kBAAmBA,iDAASk0C,oBAAmBl0C,8BAAiBA,QAChEA,kBAAmBA,iDAASm0C,sBAAqBn0C,iCAAoBA,QACvEA,QAEJA,QAEIA,oBACEA,0BAA6EA,oDAAU4hG,qBAAvF5hG,QAEAA,sBAAiEA,gCAAiDA,QACpHA,QACFA,QAAWA,QACXA,mBAA4BA,gCACgBA,QAE9CA,QACFA,QACAA,mBACEA,oBAkEEA,0BACAA,oBACEA,iCACEA,yBAgBFA,QACAA,gBACEA,yBAIFA,QACNA,QACEA,QACFA,QACFA,8BAjIyEA,uEAa/DA,sEAWgBA,sCACiDA,+DAGzCA,uGAwEtBA,4EAEkDA,sCAAqB,0BAArBA,CAAqB,iCACrDA,0CAkBCA,mEAmBzBA,eAAoCA,mBAAgHA,mCAS9IA,2DACEA,yBAAmBA,kBADmDA,iDAExEA,2DACqBA,kBADmDA,sBAA8B,iDAGlGA,mBACEA,iBAA0DA,2BAAeA,oBAC1CA,SAAgBA,QAAOA,QAEtDA,iBAA0DA,2BAAeA,oBAC1CA,SAAeA,QAAOA,QACrDA,iBAA0DA,4BAAeA,qBAC1CA,UAAeA,QAAOA,QACrDA,kBAA0DA,2BAAcA,qBACvCA,2BAAuCA,QAAOA,QAC/EA,kBAA0DA,2BAAcA,qBAC1CA,2BAAuCA,QAAOA,QAE9EA,iDAXiCA,oCAGAA,oCAEAA,oCAEEA,qEAEHA,iIArBtCA,iBAKEA,0BAEAA,0BAEEA,+CAgBJA,iCArBEA,oCADAA,gEAFAA,8DAA+D,2CAIzDA,wCAEAA,iEAiCmBA,oBACOA,wBAAtCA,4BADqCA,8DAGVA,gBAAIA,2BAC/BA,qCADqCA,+EAL3CA,kCAAgMA,yDAAc40C,YAAgB,WAA9B50C,CAAwC,6EAEtOA,kCAGAA,kCAGFA,+BARiJA,sCAA8B,cAA9BA,CAA8B,8BAA9BA,CAA8B,YAA9BA,CAA8B,YAA9BA,CAA8B,gDA9C/KA,kBAEEA,mBACEA,kBACEA,yBACAA,mBACEA,gCAEEA,yBAiCFA,QACFA,QACFA,QACFA,QACFA,QACAA,yDA1CYA,gDAE4BA,sCAAqB,yBAArBA,CAAqB,gCAArBA,CAAqB,iCAE/BA,yCAsCsFA,0EAqC5GA,6CAA2DA,oCAC5CA,0EAGbA,qBAEEA,oBAA0CA,mBACtCA,mEAASi4D,yBAD6Bj4D,QAExCA,aAAGA,SAAiBA,QACtBA,QACFA,mCAN6CA,qCAC3CA,kCAC+CA,8CAE1CA,sDAsBTA,6CAAwDA,8BACzCA,oEAGbA,qBAEEA,oBAA0CA,mBACtCA,mEAAS+3F,wBAD6B/3F,QAExCA,aAAGA,SAAcA,QACnBA,QACFA,mCANoCA,kCAClCA,4BAC+CA,mCAE1CA,iEA7DjBA,kBAEEA,kBACEA,mBACEA,iBAA0BA,8BAA8CA,QACxEA,mBACEA,kBACEA,oBAAwDA,iBAA6BA,QACvFA,QACAA,sBAG0BA,mDAAS6hG,8BAHnC7hG,QAOFA,QACFA,QACAA,oBAEEA,yBAGEA,6BAGAA,oBACEA,6BAOFA,QACFA,QAEFA,QACFA,QACAA,mBACEA,oBACEA,kBAAgBA,gCAAgDA,QAClEA,QACAA,oBAOEA,yBAGEA,6BAGAA,oBACEA,6BAOFA,QACFA,QAEFA,QACFA,QACFA,8BAjEgCA,4DAmBAA,6CAIEA,6CAcZA,+DAYUA,oCAIEA,4DA6DlDA,4DADFA,sBAAwGA,iDAAS8hG,UAAS,0BACxH9hG,0BAA2EA,8BAAkDA,8BADEA,oEACxHA,iCAAoEA,wFAGzEA,4DADFA,sBAAuGA,iDAAS+hG,UAAS,0BACvH/hG,0BAA2EA,8BAAwDA,8BADLA,0EACvHA,iCAAoEA,8FAG7EA,8CAKJA,kBAA4CA,SAA+DA,4BAA/DA,mID/xBvC,IAAM8lE,EAAb,eAAaA,EAAb,WA6GE,YACU32D,EACAjI,EACAke,EACAG,GACA1qB,GACA2qB,GACAC,EACA1C,GACA3T,EACA8J,EACAtV,EACA42D,GACAF,GACAiR,GACAjmD,GACAolC,GACAhnD,GACAsxC,GACwBrwC,IAAS,6BAlBjCxJ,+BACAA,yBACAA,iBACAA,eACAA,2BACAA,8BACAA,oBACAA,6BACAA,qBACAA,sBACAA,gBACAA,0BACAA,6BACAA,WACAA,qBACAA,YACAA,gBACAA,uBACwBA,aAxHlCA,kBAAuB6I,QAAe,iDAC/B7I,cAAyB,IAAI85C,KAAa,CAC/C7kB,IAAKj1B,KAAK+5C,aACVC,SAAS,EACTC,OAAQ,MACRC,UAAW,6BACXC,kBAAkB,EAClBC,mBAAoB,SAACl6B,IAAD,OAAoBA,GAAKm6B,OAC7CC,2BAA2B,EAC3BC,YAAa,WAEbC,UAAW,UAAYx6C,KAAKqqB,sBAAsB1G,iBAAiBC,MACnE62B,gBAAiB,CAAC,QAAS,OAAQ,MAAO,MAAO,MAAO,OAAQ,QAAS,MAAO,OAAQ,MAAO,MAAO,MAAO,UAE/Gz6C,sBAAwB,EACxBA,0BAA4B,EAC5BA,cAAW,CACT26C,SAAS,EACTC,gBAAiB,cACjBC,YAAY,EACZC,SAAS,EACTp4B,UAAU,EACVq4B,WAAW,EACXC,YAAY,EACZC,OAAM,EACNC,oBAAoB,EACpBC,sBAAqB,EACrBC,QAAS,CAAC0T,IAAM+3C,IAAWvrD,KAAUC,KAAYC,IAAQG,KAASb,KAASuC,KAAOypD,OAE7E9mG,2BACAA,cAAU,EACVA,gBAAY,EAGZA,WAAQ,GAEfA,aAAe,GACfA,cAAa,GACbA,WAAgB,EACTA,SAAM,EAASA,mBAAwB,EAEvCA,gBAAqB,EAG5BA,qBAAwBwsB,gCACjBxsB,mBAAgB,CAAEy9F,KAAMz9F,KAAK09F,gBAAkB19F,KAAK09F,gBAAgBr5E,WAAa,EAAGs5E,OAAQ39F,KAAK09F,gBAAkB19F,KAAK09F,gBAAgBn5E,aAAe,GACvJvkB,gBAAY,EACZA,mBAAgB,CAAEy9F,KAAMz9F,KAAK09F,gBAAkB19F,KAAK09F,gBAAgBr5E,WAAa,EAAGs5E,OAAQ39F,KAAK09F,gBAAkB19F,KAAK09F,gBAAgBn5E,aAAe,GACvJvkB,gBAAY,EACXA,kBAAc,EAEfA,+BAA+D,GACtEA,qBAAuB,GACvBA,kBAAoB,GACpBA,mBAAqB,GACrBA,WAAa,GACbA,iBAAmB,GACnBA,eAAoB,EAEpBA,kCAA6D,IAAI41F,KAGjE51F,sBAAqC,IAAI4d,KAKlC5d,uBAAoB,GACpBA,wBAAqB,GACrBA,gBAAoB,GACpBA,oBAAiB,CAAC,UACzBA,kBAAkD,GAClDA,mBAAmD,GAEnDA,WAAmC,GAEnCA,UAAiB,GACjBA,eAAYiJ,KAAKC,MAAMlJ,KAAKyI,SAASG,IAAIC,gBAAsBC,aAAaC,QAAQ,YAEpF/I,iBAAY,EAIZA,iBAAc,GACdA,gBAAa,GACbA,sBAA6B,GAC7BA,qBAA4B,GAC5BA,4BAAkC,GAC3BA,0BAAuB,EAE9BA,UAAK,EACLA,yBAAsB,GACtBA,wBAAqB,GAEdA,2BAAkD,GAClDA,qBAAqB,GAC5BA,oBAAwB,EACxBA,oBAAiB,GAEjBA,iBAAqB,GACrBA,sBAA0B,GAyE1BA,mBAAgB,SAAO47C,IAAP,OAAiBC,qHAC/B77C,KAAK87C,eAAenmB,eADW,4CAGjC31B,mBAAgB,SAAC47C,IACfA,GAAOK,SAAS0B,SAASC,WAAWmpD,GAAK18E,sBAAsB1G,iBAAiBk6B,UAAUC,uBAE1FipD,GAAK/qD,aAAeJ,GAAOK,SAC3B8qD,GAAKjrD,eAAiBF,GAAOK,SAC7B,IAMQC,GAAW6qD,GAAK/qD,aAAaE,SACnCA,GAASC,OAPO,wJAQhBD,GAASC,OAPI,0KAQbD,GAASC,OAPW,+LASpB58C,SAAS68C,eAAe,2BAA2Bn4C,iBAAiB,QAAS,kBAAW43C,kIAChFQ,UAAST,GAAOK,SAASK,aAAaV,GAAOK,SAASM,OAD0ByqD,UAEhFhnG,KAAKy8C,iBAAiBJ,GAAOK,UAFmD,EAGlFC,GAAgB1zC,KAAKC,MAAMD,KAAKW,UAAUgyC,GAAOK,SAASK,eACvDM,GAAsBD,GAAc5yC,OAAO,SAACmW,GAAMq8B,IAAP,OAAiBA,KAAUX,GAAOK,SAASM,QAC5FX,GAAOK,SAASa,aAAaF,GAAoBx2B,KAAK22B,IAAInB,GAAOK,SAASM,MAAQ,EAAG,IACrFX,GAAOK,SAASe,eAAgB,EACZ,KAPiE,6CAUxFz9C,SAAS68C,eAAe,6BAA6Bn4C,iBAAiB,QAAS,WAC7E,IAAMg5C,GAAoD,IAAI44C,KACxDx5C,GAAST,GAAOK,SAASK,aAAaV,GAAOK,SAASM,OACzDF,GAAOc,IACRF,GAAiBG,aAAef,GAAOc,IAC/Bd,GAAOgB,QACbJ,GAAiBG,aAAen0C,KAAKC,MAAMmzC,GAAOgB,OAAOC,OAAO,GAAGH,KAEvEF,GAAiByD,WAAWrE,GAAOK,IAEnCqqD,GAAKvpD,mBAAmBP,MAE1B19C,SAAS68C,eAAe,yBAAyBn4C,iBAAiB,QAAS,WACzE8iG,GAAKtpD,qBAOXz9C,oBAAiB,SAAC47C,IAChBA,GAAOK,SAAS0B,SAASC,WAAWmpD,GAAK18E,sBAAsB1G,iBAAiBk6B,UAAUC,uBAE1FipD,GAAK/qD,aAAeJ,GAAOK,SAC3B8qD,GAAKjrD,eAAiBF,GAAOK,SAC7B,IAMQC,GAAW6qD,GAAK/qD,aAAaE,SACnCA,GAASC,OAPO,yJAQhBD,GAASC,OAPI,2KAQbD,GAASC,OAPW,gMASpB58C,SAAS68C,eAAe,4BAA4Bn4C,iBAAiB,QAAS,kBAAW43C,kIACjFQ,UAAST,GAAOK,SAASK,aAAaV,GAAOK,SAASM,OAD2ByqD,UAEjFhnG,KAAKy8C,iBAAiBJ,GAAOK,UAFoD,EAGnFC,GAAgB1zC,KAAKC,MAAMD,KAAKW,UAAUgyC,GAAOK,SAASK,eACvDM,GAAsBD,GAAc5yC,OAAO,SAACmW,GAAMq8B,IAAP,OAAiBA,KAAUX,GAAOK,SAASM,QAC5FX,GAAOK,SAASa,aAAaF,GAAoBx2B,KAAK22B,IAAInB,GAAOK,SAASM,MAAQ,EAAG,IACrFX,GAAOK,SAASe,eAAgB,EACZ,KAPkE,6CAUzFz9C,SAAS68C,eAAe,8BAA8Bn4C,iBAAiB,QAAS,WAC9E,IAAMg5C,GAAoD,IAAI44C,KACxDx5C,GAAST,GAAOK,SAASK,aAAaV,GAAOK,SAASM,OACzDF,GAAOc,IACRF,GAAiBG,aAAef,GAAOc,IAC/Bd,GAAOgB,QACbJ,GAAiBG,aAAen0C,KAAKC,MAAMmzC,GAAOgB,OAAOC,OAAO,GAAGH,KAEvEF,GAAiByD,WAAWrE,GAAOK,IAEnCqqD,GAAKvpD,mBAAmBP,MAE1B19C,SAAS68C,eAAe,0BAA0Bn4C,iBAAiB,QAAS,WAC1E8iG,GAAKtpD,qBA2pBXz9C,kBAAe,SAAC89F,IAEd,UAAKC,WAAL,kBAAsBgJ,GAAKhJ,YAA3B,CAAuC,CAAElhD,GAAIkqD,GAAKhJ,WAAWnlF,OAAQ1W,KAAM47F,GAAMtzB,KAAK,KAG/E,CAAE3tB,GAAIihD,GAAM57F,KAAM47F,KA3yBzB99F,KAAKgU,wBAAwBc,UAAUC,IAASC,IAAQC,KAAQC,IAAYC,IAAUC,MACtFpV,KAAK+L,kBAAkBo0D,aAAaz+D,UAAU,aAG5CqJ,WAAW,WACT,IAAIq1D,GAAe2mC,GAAK/7E,6BAA6B1e,GAAKA,MACtD8zD,KACF2mC,GAAKh8E,mBAAqBq1C,KAC3B,OAELpgE,KAAKU,gBAAkB,IAAIC,MAC3BuiG,GAAQrmD,IACR78C,KAAK6pB,MAAMrgB,GAAKqzC,GAChB9xC,WAAW,WACTg8F,GAAK5gD,IAAM38C,GAAK28C,IAChB4gD,GAAKxgD,IAAIC,OAAOugD,GAAK5gD,KACrB4gD,GAAKhG,iBACLgG,GAAKzG,YAAc,CACjB,CAAEtuC,MAAO,eAAgBuuC,OAAQ,kBAAMwG,GAAKvG,uBAAuB9xE,IAAkB,KACrF,CAAEsjC,MAAO,4BAA8BuuC,OAAQ,kBAAMwG,GAAKvG,uBAAuBtsD,IAAoB,KACrG,CAAE8d,MAAO,2BAA6BuuC,OAAQ,kBAAMwG,GAAKvG,uBAAuBtsD,IAAoB,KACpG,CAAE8d,MAAO,6BAA8BuuC,OAAQ,kBAAMwG,GAAKvG,uBAAuBtsD,IAAoB,OAEtG,MAEEl0C,KAAK6pB,MAAMrgB,GAChBxJ,KAAKiU,cAAcgzF,YAAYvlG,UAAU,aAAI,OAAIqlG,GAAKhmF,KAAOA,KAC7D/gB,KAAK+9C,YAAY/9C,KAAKiU,cAAcuW,gBACpCxqB,KAAKuqB,WAAWvqB,KAAKiU,cAAcuW,gBAAgBC,cACZ,SAAvCzqB,KAAQiU,cAAcgqC,iBACpBj+C,KAAKg+C,YAAY,EACjBh+C,KAAKk+F,YAAcl+F,KAAKiU,cAAcgqC,iBACK,WAApCj+C,KAAKiU,cAAcgqC,kBAC3Bj+C,KAAKg+C,YAAY,EACjBh+C,KAAKk+F,YAAcl+F,KAAKiU,cAAcgqC,iBApK3C,kDAwKE,WACMj+C,KAAKq+C,cACHr+C,KAAKg8C,cACTh8C,KAAK87C,eAAenmB,UACpB31B,KAAKq+C,aAAc,GAElBr+C,KAAK+gB,KAAKnI,OAAO,IAEnB5Y,KAAKknG,uBAAuBlnG,KAAK+gB,MAChC/gB,KAAKiU,cAAckzF,YACnBnnG,KAAK+gB,KAAK,MAlLhB,6BAoRE,WAEE29B,UAAU,CACRjwC,MAAO,QACPkwC,KAAM,oDACNC,SAAU,0CACVC,kBAAkB,EAClBC,mBAAoB,UAEpBC,kBAAmB,OACnBC,iBAAkBh/C,KAAK+qB,mBAAmBvhB,KAAKssF,UAAU56D,+BACzDgkB,YAAa,CACXC,cAAe,kBACfC,aAAc,2BAjStB,8BAuSQ,SAAiBqiD,mIAChBA,gFAKGzhG,KAAK4oD,iDACU5oD,KAAK0hG,wBAAwB,CAACD,4HA9SzD,oCAuTE,WAAsB,WACpB,OAAO,IAAIl9C,QAAc,SAACC,GACxB9F,UAAU,CACRjwC,MAAO06C,EAAKp+B,mBAAmBvhB,KAAKssF,UAAUqC,kCAAkC9pE,QAAQ,aAAc86B,EAAK60C,YAAY,UACvHr/C,KAAMwK,EAAKp+B,mBAAmBvhB,KAAKssF,UAAUj7D,iBAC7ConB,KAAM,UACNpD,kBAAkB,EAClBC,mBAAoB,UACpBoD,kBAAmB,UACnBnD,kBAAmBoK,EAAKp+B,mBAAmBvhB,KAAKssF,UAAUjY,uCAC1D7+B,iBAAkBmK,EAAKp+B,mBAAmBvhB,KAAKssF,UAAU56D,+BACzDgkB,YAAa,CACXC,cAAe,kBACfC,aAAc,yBAEfr3B,KAAK,SAAC1G,IACHA,GAAOtgB,OACTyjD,UAxUV,qCA8UQ,SAAwBm9C,4IAC5B3hG,KAAK4nB,qBAAqBqE,0BAGpB01E,EAAyB/oF,OAAS,6CAC7B,UAGT,YAAKmwC,0BAA4B,GAChC/oD,KAAK4hG,sBAAwBD,EAC9BA,EAAyBz1F,QAAQ,SAAC21F,IAChCrhD,GAAKuI,0BAA0B/xC,KAAK,CAClCowC,SAAUy6C,GACVx6C,cAAe7G,GAAKn2B,sBAAsB1G,iBAAiBoJ,cAC3Dk8B,SAAUzI,GAAK32B,mBAIE7pB,KAAKkpD,mCAApB7nC,iCAECA,yCAEPhc,QAAQG,MAAM,qBAAd4hG,yBACO,4BAEPpnG,KAAK4nB,qBAAqBM,2FAvWhC,uCA2WU,WAAyB,WAC/B,OAAO,IAAIq8B,QAAiB,SAACC,GAE3B2E,EAAK44C,uBAAyB54C,EAAKl1C,cAAc8L,aAAaopC,EAAKJ,0BADtD,kDACuFrnD,UAClG,SAAC8H,IACC,IAAM6X,GAASpY,KAAKC,MAAMD,KAAKW,UAAUJ,KAErC6X,GAAO+K,SAAW/d,cAEpB86C,EAAKC,cAAc/nC,IACnBmjC,GAAQ,KAGR2E,EAAKE,cAAchoC,IACnBmjC,GAAQ,KAGZ,SAACh/C,IAEC2jD,EAAKG,mBAAmB9jD,IACxBg/C,GAAQ,SA/XlB,2BAqYU,SAAcnjC,GAAW,WAC/Bq9B,UAAU,CACRuD,KAAM,UACNxzC,MAAOzO,KAAK+qB,mBAAmBvhB,KAAKssF,UAAUloC,yBAC9CjP,KAAK3+C,KAAK+qB,mBAAmBvhB,KAAKssF,UAAUwD,4CAA4CjrE,QAAQ,aAAcruB,KAAKg+F,YAAY,UAE/Hj/C,kBAAmB/+C,KAAK+qB,mBAAmBvhB,KAAKssF,UAAUjoC,qCAC1D3O,YAAa,CACXC,cAAe,qBAKnBn/C,KAAKugD,aAAevgD,KAAKugD,aAAax2C,OAAO,SAACqB,IAAD,OAAQy+C,EAAK+3C,sBAAsBn5E,SAASrd,GAAEs1C,cAC3F,IAAM6I,GAAwBvpD,KAAKyiD,aAAa4B,UAAU,SAACnkC,IAAD,OAAUA,GAAK28B,IAAMgN,EAAK+3C,yBAC9D,IAAlBr4C,IACFvpD,KAAKyiD,aAAa+G,OAAOD,GAAe,GAE1C,IAAME,GAA2BzpD,KAAK4jD,cAAcS,UAAU,SAACnkC,IAAD,OAAUA,GAAK28B,IAAMgN,EAAK+3C,yBAC/D,IAArBn4C,IACFzpD,KAAK4jD,cAAc4F,OAAOC,GAAkB,KAzZlD,2BA6ZU,SAAcpoC,GACpBrhB,KAAK+d,eAAe0O,MAAM,8DAA0D5jB,wBA9ZxF,gCAiaU,SAAmBrD,GACzBxF,KAAK+d,eAAe0O,MAAMjnB,EAAOqD,sBACjC7I,KAAKwF,MAAQxF,KAAK+qB,mBAAmBvhB,KAAKwD,OAAOC,kCAnarD,gCAuaQ,SAAmB1N,oIACnBA,oCACIS,KAAK0nD,0BAA0BnoD,oDAza3C,uCA4aQ,SAA0BooD,GAAiE,IAArBC,EAAqBx9C,wMAE/FpK,KAAK4nB,qBAAqBqE,oBACF,IAAb07B,GAAwC,MAAZA,EAAY,4CAC1C,UAET,YAAKE,uBAAyB,CAC5BC,WAAYH,EAASjH,WACrBqH,SAAUJ,EAASvK,aACnBiK,cAAernD,KAAKqqB,sBAAsB1G,iBAAiBoJ,eAEzDu6B,GAAU,IAAI/C,QAAQ,SAACC,EAASC,GAClC,IAAIlhC,GAAkB,EAEtB8jF,GAAKpF,yBAA2BoF,GAAKpzF,cAAc8L,aAAasnF,GAAKx/C,uBADxD,oDACsFnmD,UACjG,SAAC2f,IAEC,GADAgmF,GAAKz/E,qBAAqBM,cACtB7G,GAAO+K,QAAU/d,aAAgB,CACnC,IAAI45C,GAAuCh/C,KAAKC,MAAOm+F,GAAK5+F,SAASG,IAAIC,gBAAsBwY,GAAO7X,OAClG0+C,GAAYm/C,GAAKpzF,cAAck0C,oBAAoB37B,qBAAkBy7B,GAAYG,mBACrFi/C,GAAKpzF,cAAco0C,cAAcJ,GAAYK,SAAUJ,GAAWD,GAAYM,eACxD,IAAlBX,GACFy/C,GAAKtpF,eAAe8P,QAAQ,2BAA4BhlB,wBAE1D0a,GAAS,OAGT8jF,GAAKtpF,eAAe0O,MAAMpL,GAAO3C,QAAS7V,sBAC1C0a,GAAS,EAEXihC,EAAQjhC,IAEV,SAAC/d,IACC6hG,GAAKtpF,eAAe0O,MAAMjnB,GAAOqD,sBACjCw+F,GAAKtpF,eAAe0O,MAAM,8DAA0D5jB,sBACpFw+F,GAAK7hG,MAAQ6hG,GAAKt8E,mBAAmBvhB,KAAKwD,OAAOC,gCACjDo6F,GAAKz/E,qBAAqBM,cAC1Bs8B,EAAQjhC,iBAID+jC,+FArdjB,sBAwdE,WAAQ,WACNtnD,KAAKN,mBAAmB6B,OAAOC,MAAKC,QAAUzB,KAAKU,kBAAkBgB,UAAU,aAC7EynD,EAAKr+B,WAAavpB,KAEpBvB,KAAK+qB,mBAAqB/qB,KAAKgrB,6BAA6BhrB,KAAK8qB,WAAWG,IAAIC,aAG5ElrB,KAAKg+F,YAFTh+F,KAAQgvB,UAC8B,KAApChvB,KAAQgvB,UAAUivE,eACEj+F,KAAK+qB,mBAAmBvhB,KAAKssF,UAAUkC,qBAGvCh4F,KAAK+qB,mBAAmBvhB,KAAKssF,UAAUiC,mBAGQ,IAAhE/3F,KAAQqqB,sBAAsB1G,iBAAiBg7D,aAChC3+E,KAAK+qB,mBAAmBvhB,KAAKssF,UAAUkC,qBAGtCh4F,KAAK+qB,mBAAmBvhB,KAAKssF,UAAUiC,mBAE3D/3F,KAAKsrB,YAAatrB,KAAK+qB,mBAAmBvhB,KAAKssF,UAAUt2C,UAO1Dx/C,KAAKmrB,YAAYnrB,KAAKg+F,YACtBh+F,KAAKiqB,UAAUyC,gBAAgBhrB,UAAU,aACD,WAAlCd,GAAMuE,IAAIwnB,qBACZw8B,EAAKv8B,uBAGT5sB,KAAKq+F,aAAer+F,KAAKsqB,aAAamB,MAAM,CAC1CinC,MAAO,CAAC,GAAI/mC,gBACZq9C,UAAW,CAAC,IAAIznD,KAAQoK,gBACxBs9C,cAAe,EAAGt9C,gBAClBu9C,YAAa,EAAGv9C,gBAChBgnC,SAAU,CAAC,IACXyW,YAAa,GACbD,YAAa,CAAC,GAAIx9C,gBAClBk9C,gBAAiB,EAAGl9C,gBACpBm9C,OAAO,GACPC,aAAa,KAEG,GAAd/oE,KAAK6pB,OACP9e,WAAW,WACTo+C,EAAKm1C,eAAepyF,QAAQ,SAACvE,GAAG4Y,IAC9B4oC,EAAK40C,WAAL,kBAAsB50C,EAAK40C,YAA3B,CAAuC,CAAElhD,GAAIt8B,GAAGre,KAAMyF,GAAG6iE,KAAK,KAC9DrhB,EAAKo1C,kBAAL,kBAA6Bp1C,EAAKo1C,mBAAlC,CAAqD,CAAE1hD,GAAIt8B,GAAGre,KAAMyF,GAAG6iE,KAAK,QAE7E,IAELxqE,KAAKu+C,SAASuC,kBAAoB,SAAC17B,IAC7B+jC,EAAK5K,SAASC,MAAM5lC,OAAO,GAAkC,GAA3BuwC,EAAK5K,SAASwC,cAClDoI,EAAKnI,qBAAoB,GAC3B57B,GAAK67B,iBAAkB,GAEzBjhD,KAAKu+C,SAAS2C,gBAAkB,SAACC,GAAeC,IAC9CD,GAASF,iBAAkB,GAE7BjhD,KAAKu+C,SAAS8C,mBAAqB,SAACF,IAClC,SAAKv5B,qBAAqBqE,eAC1Bk9B,EAAK5K,SAAS+C,WAAW,CACvBz+B,QAAS,CACP,CAAE3gB,KAAM,8BAA+BnB,MAAO,KAC9C,CAAEmB,KAAM,WAAYnB,MAAOogD,GAAS/7B,KAAK1e,MACzC,CAAExE,KAAM,gBAAiBnB,MAAOyrB,qBAAkB28B,EAAK9+B,sBAAsB1G,iBAAiBoJ,gBAC9F,CAAE7qB,KAAM,kBAAmBnB,MAAOyrB,qBAAkB28B,EAAKt/B,WAEtDs3B,IAGTnhD,KAAKu+C,SAASgD,SAAS7/C,UAAU,SAAM2f,IAAN,OAAew6B,sIAE1Cx6B,GAF0C,oBAG5CrhB,KAAK4nB,qBAAqBqE,eACtBu1B,EAAUv4C,KAAKC,MAAMmY,IACE,KAA3BrhB,KAAQu+C,SAASkD,UACfzhD,KAAK0hD,iBAAgB,EACrB1hD,KAAK4nB,qBAAqBqE,gBACG,KAAxBjsB,KAAKu+C,SAASkD,WACrBzhD,KAAK0hD,iBAAgB,EACrB1hD,KAAKghD,qBAAoB,EAEzBhhD,KAAK4nB,qBAAqBM,eAEtBs5B,EAAQp1B,QAAU/d,aAdsB,oBAe1CrO,KAAK+d,eAAe8P,QAAQ,8BAC5B7tB,KAAK2hD,YAAc3hD,KAAK2hD,YAAY,EAE0B,cAD1D+8C,GAAuDz1F,KAAKC,MAAMlJ,KAAKyI,SAASG,IAAIC,gBAAsB24C,EAAQh4C,QAC/F82C,gBAAgB3zB,oBAlBG,iBAmBxC3sB,KAAKugD,aAAavpC,KAAK0nF,IACvB1+F,KAAK6hD,cAAc7qC,KAAK0nF,IApBgB3iD,+BAsBjC2iD,GAAmBp+C,gBAAgB3zB,oBAtBFovB,UAuBnC/7C,KAAKygD,iBAAiBi+C,GAAmBh+C,WAAYg+C,GAAmBthD,aAAcshD,GAAmB/9C,gBAAgB+9C,GAAmB99C,KAAM89C,GAAmBp+C,gBAAgBo+C,GAAmBxxE,YAAYwxE,GAAmBvxE,kBAvBpM,oBAwBnCntB,KAAK8hD,kBAAkB48C,GAAmBh+C,WAAYg+C,GAAmBthD,aAAcshD,GAAmB/9C,gBAAgB+9C,GAAmB99C,KAAM89C,GAAmBp+C,gBAAgBo+C,GAAmBxxE,YAAYwxE,GAAmBvxE,kBAxBrM,GAyBvCntB,KAAKq+C,aAAc,OAzBoB,2BA4BpCmD,EAAQp1B,QAAU/d,mBAExBrO,KAAK4nB,qBAAqBM,cACzBloB,KAAKu+C,SAASwD,YAGd/hD,KAAKu+C,SAASyD,aACdtD,UAAU,CACRjwC,MAAO,eACPkwC,KAAM6C,EAAQ9iC,QACdujC,KAAM,QACNpD,kBAAkB,EAClBC,mBAAoB,UACpBoD,kBAAmB,UACnBnD,kBAAmB,mBACnBC,iBAAkBh/C,KAAK+qB,mBAAmBvhB,KAAKssF,UAAU56D,+BACzDgkB,YAAa,CACXC,cAAe,kBACfC,aAAc,yBAGjBr3B,KACE,SAAO1G,GAAP,OAAiBw6B,qHACZx6B,EAAOtgB,QAETf,KAAKiqB,UAAUppB,OAAM,GACrBb,KAAKuI,QAAQ45C,SAAS,CAAC,yBAJT,mDAlDqB,6CAiEhDp3C,WAAW,WACTo+C,EAAKvhC,qBAAqBqE,eAOfk9B,EAAKl1C,cAAc8L,aAJlB,CACVkgC,SAAUkJ,EAAKt/B,MACfq2B,OAAM,GAJK,8CAOJx+C,UACP,SAAC2f,GAEC,GADA8nC,EAAKvhC,qBAAqBM,cACtB7G,EAAO+K,QAAU/d,aAAgB,CAenC,GAdA86C,EAAKy1C,6BAA6D31F,KAAKC,MAAOigD,EAAK1gD,SAASG,IAAIC,gBAAsBwY,EAAO7X,OACzH2/C,EAAKy1C,6BAA6Bv1B,uBACpClgB,EAAKy1C,6BAA6Bv1B,sBAAsBn9D,QAAQ,SAAMm0C,IAAN,OAAaxE,uHAC5B,aAA3CwE,GAAIC,gBAAgB3zB,oBADmD,iBAEzE3sB,KAAKugD,aAAavpC,KAAKqpC,IAFkDinD,8BAInEjnD,GAAIC,gBAAgB3zB,oBAJ+C26E,UAMnEtnG,KAAKygD,iBAAiBJ,GAAIK,WAAYL,GAAIjD,aAAciD,GAAIM,gBAAiBN,GAAIO,KAAKP,GAAIC,gBAAgBD,GAAInzB,YAAamzB,GAAIlzB,kBAN5D,EAOzEntB,KAAKq+C,aAAc,OAPsD,6CAW/E8K,EAAK7G,kBAAkB,UACnB6G,EAAKy1C,6BAA6BxxB,cAAe,CACnDjkB,EAAKokB,eAAiBpkB,EAAKy1C,6BAA6BxxB,cACxD,IAAI0xB,GAAiBtyE,mBAAgB28B,EAAKokB,eAAetE,eACrD81B,EAAevyE,mBAAgB28B,EAAKokB,eAAerE,aACpD/f,EAAKy1C,6BAA6BU,WACnCn2C,EAAKy1C,6BAA6BU,SAASpzF,QAAQ,SAAC+yF,IAClD91C,EAAKo+C,MAAMp+C,EAAKy1C,6BAA6BU,SAC7Cn2C,EAAKo2C,YAAYN,GAAKO,YAAYP,GAAKn2B,OAAOm2B,GAAKQ,SAASR,GAAKI,cAAcJ,GAAKS,UAEpFv2C,EAAKw2C,kBAAL,OAA4Bx2C,EAAKy2C,WAEjCz2C,EAAKy1C,6BAA6BI,iBACpC71C,EAAKq+C,YAAYr+C,EAAKy1C,6BAA6BI,eACnD71C,EAAKy1C,6BAA6BI,eAAe9yF,QAAQ,SAAC+yF,IAC1D91C,EAAK+1C,cAAcD,GAAKE,SAASF,GAAKl2B,aAAak2B,GAAKG,eAAeH,GAAKI,kBAG5El2C,EAAKokB,eAAenE,cACtBjgB,EAAK40C,WAAa90F,KAAKC,MAAMsjB,qBAAkB28B,EAAKokB,eAAenE,eACnEr+D,WAAW,WACTo+C,EAAKo1C,kBAAoB,GACzBp1C,EAAK40C,WAAW7xF,QAAQ,mBACD,IAAVd,GAAEo/D,KAAgC,GAATp/D,GAAEo/D,OACpCrhB,EAAKo1C,kBAAL,kBAA6Bp1C,EAAKo1C,mBAAlC,CAAqD,CAAE1hD,GAAIzxC,GAAEyxC,GAAI36C,KAAMkJ,GAAElJ,KAAMsoE,KAAK,QAGxFrhB,EAAKs+C,mBAAmBt+C,EAAKo1C,mBAC5B,IACH,IAAIsB,EAAe12C,EAAKokB,eAAepE,YACnC22B,EAAO,SAAS32C,EAAKokB,eAAezE,OACpCi3B,GAAa,MAAM52C,EAAKokB,eAAexE,aACH,GAArC5f,EAAKokB,eAAe1E,kBACrB1f,EAAKokB,eAAe1E,gBAAgB,GAGlC1f,EAAK62C,mBADiC,GAAzC72C,EAASokB,eAAe1E,iBAA2D,GAArC1f,EAAKokB,eAAe1E,gBAInE1f,EAAKk1C,aAAatrE,SAAS,CACzB2/B,MAAOvJ,EAAKokB,eAAe7a,MAC3BsW,UAAWx8C,mBAAgB28B,EAAKokB,eAAevE,WAC/CC,cAAe,CAAEw0B,KAAMqB,GAAiBA,GAAez6E,WAAa,EAAGs5E,OAAQmB,GAAiBA,GAAev6E,aAAe,GAC9H2kD,YAAa,CAAEu0B,KAAMqB,GAAiBC,EAAa16E,WAAa,EAAGs5E,OAAQoB,EAAeA,EAAax6E,aAAe,GACtHouC,SAAUxJ,EAAKokB,eAAe5a,SAC9BwW,YAAa02B,EACbz2B,YAAajgB,EAAKokB,eAAenE,YACjCP,gBAAiB1f,EAAKokB,eAAe1E,gBACrCC,OAAOg3B,EACP/2B,aAAag3B,KAGjB,GAAI52C,EAAKy1C,6BAA6BqB,kBAAkBrnF,OAAS,EAAG,CAElEuwC,EAAKy1C,6BAA6BqB,kBAAoB92C,EAAK+2C,oBAAoB/2C,EAAKy1C,6BAA6BqB,mBACjH92C,EAAKy1C,6BAA6BqB,kBAAoB92C,EAAKy1C,6BAA6BqB,kBAAkBj4F,IAAI,SAAC+9E,IAAD,MACjE,WAA3CA,GAAEoa,kBAAkBxzE,oBAAmCo5D,GAAGnC,iBAAMmC,MAElE,IAAIqa,GAAWj3C,EAAKy1C,6BAA6BqB,kBAAkBl2F,OAAO,aAAC,MAA+C,WAA3CqB,GAAE+0F,kBAAkBxzE,mBAAuB,GACtHyzE,IAAYA,GAAS,IAAwD,MAAlDj3C,EAAKk1C,aAAaz1F,IAAI,mBAAmB7H,OACtEooD,EAAKk1C,aAAaz1F,IAAI,mBAAmBmqB,SAASqtE,GAAS,GAAGv3B,iBAElE1f,EAAKwZ,gCAKT,SAACn9D,GACC2jD,EAAKprC,eAAe0O,MAAMjnB,EAAOqD,sBACjCsgD,EAAK3jD,MAAQA,EACb2jD,EAAKvhC,qBAAqBM,iBAG7B,KAKJloB,KAAKihE,0BAJc,CAChBl0C,cAAe/sB,KAAKqqB,sBAAsB1G,iBAAiBoJ,gBAI9D/sB,KAAKqgG,yBA1sBR,oCA6sBE,SAAuB1yB,GAAiB,WACtC3tE,KAAKiuE,eAAeN,GAAS5lD,KAAK,aAC5B8iD,IAASA,GAAMjyD,OAAS,GAE1BixC,EAAKtL,SAAS2tB,WAAWrB,MAE1B5iD,MAAM,aACP5iB,QAAQG,MAAM,qCAAsCA,QAptB1D,iCAwtBE,SAAoBm7F,GAClB,OAAOA,EAAe34F,IAAI,YACtB,OAAiC,IAA7B44F,EAAS/3B,gBAEF,CACHA,gBAAiB,EACjBs3B,kBAAmB,SACnBd,cAAe,GAEiB,IAA7BuB,EAAS/3B,gBAET,KAGJ+3B,IACR72F,OAAO,YAAQ,OAAiB,OAAb62F,CAAa,KAvuBvC,4BA0uBE,SAAejzB,GAAiB,WAC9B,OAAOppB,QAAQqoB,IAAIe,EAAQ3lE,IAAI,aAAM,OAAI6hD,EAAK+jB,cAAcC,SA3uBhE,2BA8uBE,SAAcA,GACZ,OAAOC,MAAMD,GACV9lD,KAAK,YAAQ,OAAIw5B,EAASl/B,SAC1B0F,KAAK,YACJ,IAAMgmD,GAAc1rD,EAAKrgB,KACnBkgB,GAAW2rD,EAAOpmE,MAAM,KAAKumE,MACnC,OAAO,IAAInC,KAAK,CAACxpD,GAAOH,GAAU,CAAElgB,KAAM+rE,SApvBlD,+BAwvBE,WACE/tE,KAAK8pD,UAAUtmD,cAAcof,UAzvBjC,8BA6vBE,SAAiB0gC,GACXA,EAAW,GAAkC,GAA3BtjD,KAAKu+C,SAASwC,YAClC/gD,KAAKghD,qBAAoB,EACL,GAAZsC,IACLtjD,KAAKghD,qBAAoB,EACxBhhD,KAAK0hD,iBAAgB,KAlwB/B,yBAswBE,SAAYmE,GAAgB,WACZ,GAAXA,EAAc7lD,KAAKsrB,YAAatrB,KAAK+qB,mBAAmBvhB,KAAKssF,UAAUt2C,UACvD,GAAd2J,GAAiBnpD,KAAK+gG,iBACzB/gG,KAAKsgG,YAAc,CACjB,CAAEtuC,MAAO,eAAgBuuC,OAAQ,kBAAM12C,EAAK22C,uBAAuB9xE,IAAkB,KACrF,CAAEsjC,MAAO,4BAA8BuuC,OAAQ,kBAAM12C,EAAK22C,uBAAuBtsD,IAAoB,KACrG,CAAE8d,MAAO,2BAA6BuuC,OAAQ,kBAAM12C,EAAK22C,uBAAuBtsD,IAAoB,KACpG,CAAE8d,MAAO,6BAA8BuuC,OAAQ,kBAAM12C,EAAK22C,uBAAuBtsD,IAAoB,OAGtF,GAAdiV,EAAiBnpD,KAAKsrB,YAAatrB,KAAK+qB,mBAAmBvhB,KAAKssF,UAAUhwC,WAC5D,GAAdqD,EAAiBnpD,KAAKsrB,YAAatrB,KAAK+qB,mBAAmBvhB,KAAKssF,UAAU9vC,WAC5D,GAAXH,IAAc7lD,KAAKsrB,YAAatrB,KAAK+qB,mBAAmBvhB,KAAKssF,UAAU7vC,WAC7EjmD,KAAKsiD,kBAAkB,WAEzBtiD,KAAKmmD,IAAIN,IArxBb,2BAwxBE,SAAcr8C,GACZnE,QAAQ6d,IAAI1Z,KAzxBhB,sBA4xBE,SAAS5I,EAAMyhD,GAGbriD,KAAKsiD,kBAAkBD,EAASzhD,KA/xBpC,+BAmyBG,SAAkB2hD,EAAUC,GAAK,YAChCxiD,KAAKyiD,aAAa,GAEfD,IACHxiD,KAAKwiD,KAAOA,GACZ,IAAIE,GAA6B,CAC/BC,SAAU3iD,KAAK6pB,MACf+4B,KAAK5iD,KAAKwiD,KACVK,SAAS,GACTN,SAASA,EAETO,eAAc,GAEhB9iD,KAAK4nB,qBAAqBqE,eAC1BjsB,KAAK65C,eAAe4mD,8BAA8B/9C,IAA4BhhD,UAAU,SAAM2f,IAAN,OAAew6B,+HACjGx6B,KACEA,GAAO+K,QAAU/d,eACf20C,EAAkB/5C,KAAKC,MAAMlJ,KAAKyI,SAASG,IAAIC,gBAAsBwY,GAAO7X,SAG9Ew5C,EAAgB92C,QAAQ,SAAMm0C,IAAN,OAAaxE,kIACY,aAA3CwE,GAAIC,gBAAgB3zB,oBADW,iBAEjC3sB,KAAKugD,aAAavpC,KAAKqpC,IAFUinD,8BAI1BjnD,GAAIC,gBAAgB3zB,oBAJM26E,UAK3BtnG,KAAKygD,iBAAiBJ,GAAIK,WAAYL,GAAIjD,aAAciD,GAAIM,gBAAgBN,GAAIO,KAAMP,GAAIC,gBAAiBD,GAAInzB,YAAamzB,GAAIlzB,kBALrG,EAOjCntB,KAAKq+C,aAAc,OAPc,GASd,QAAlBqmD,KAAgB,UAAElwE,iBAAE2uB,sBAAqB,IAC1CnjD,KAAKojD,YAA8B,QAAlB0+C,KAAgB,UAAEptE,iBAAEyuB,2BAVJ,6CAazCnjD,KAAK4nB,qBAAqBM,gBAGxBloB,KAAK4nB,qBAAqBM,cAC1BloB,KAAK+d,eAAe0O,MAAMpL,GAAOgiC,QAASx6C,6BAvBuD,6CAjzB3G,6BA60BE,WAKC7I,KAAK+pD,WAAWC,IAJF,CACbrH,SAAW3iD,KAAK6pB,MAChBogC,WAAYC,gBAEkCC,GAl1BlD,wBAq1BE,SAAWC,GAA+B,WAAfvgC,GAAezf,uDAAF,GAChCgpB,GAAe,IAAIC,MACzBD,GAAaE,cAAe,EAC5BF,GAAaG,WAAY,EACzBH,GAAarsB,MAAQ,MACrBqsB,GAAapsB,OAAO,MACpBosB,GAAai3B,SAAS,CACpBC,IAAI,OAENl3B,GAAa5pB,KAAOqgB,GACpB,IAAMI,GAAYjqB,KAAKoqB,OAAOzlB,KAAKylD,EAAWh3B,IAC9CnJ,GAAU+J,cAActyB,UACtB,YACS8H,IACDqgD,EAAKtD,IAAIC,OAAO,GAChBqD,EAAKvH,kBAAkB,eAp2BrC,oCA02BE,SAAuB8H,GAA+B,WAAfvgC,GAAezf,uDAAF,GAC5CgpB,GAAe,IAAIC,MACzBD,GAAaE,cAAe,EAC5BF,GAAaG,WAAY,EACzBH,GAAaG,WAAY,EACzBH,GAAarsB,MAAQ/G,KAAKg/E,iBAAmB,OAAS,MAEtD5rD,GAAa5pB,KAAOqgB,GACpB,IAAMI,GAAYjqB,KAAKoqB,OAAOzlB,KAAKylD,EAAWh3B,IAC9CnJ,GAAU+J,cAActyB,UACtB,YACK8H,GACHqgD,EAAKojB,eAt3Bb,4BA03BU,WACN,OAAOxgE,OAAO0yE,YAAc,MA33BhC,uBA83BE,SAAUv+E,GACR,GAAkB,MAAdA,EAAMuE,IAAa,CACrBvE,EAAMoiG,iBACN,IACMC,GAAa1jG,SAASqL,cAAc,qBAEtCq4F,IAEDA,GAA2BrgF,WAt4BpC,yBA24BE,SAAYqS,EAAW4nB,EAAU36C,GAAYggG,GAAgBC,IAC3DniG,KAAK4/F,SAAL,kBACK5/F,KAAK4/F,UADV,CAEE,CACEwC,SAASntE,EACTotE,OAAOxlD,EACPylD,SAASpgG,GACTqgG,UAAUL,GACVM,WAAWL,QAn5BnB,2BAw5BE,SAAcltE,EAAW4nB,EAAU36C,GAAYugG,IAC7CziG,KAAK0iG,QAAL,kBACK1iG,KAAK0iG,SADV,CAEE,CACCl/C,KAAKvuB,EACLsuB,IAAI1G,EACJ8lD,MAAMzgG,GACN0gG,OAAOH,QA/5Bd,gCAo6BE,WACEziG,KAAKizB,yBAr6BT,6BAg7BE,SAAgB6qE,GAKd99F,KAAK+9F,WAAWD,EAAKvhD,OAAOiuB,KAAM,IAr7BtC,gCAy7BE,SAAmB3xD,GAGb7Y,KAAK+9F,YAAcllF,GACjB7Y,KAAK+9F,WAAWxmC,QAAQ1+C,IAAO,IAEjC7Y,KAAK+9F,WAAWllF,EAAIgkC,IAAI2tB,KAAM,KA/7BtC,uCAq8BE,SAA0BzN,GACxB,IAAIwkC,EAAWvhG,KAAKq+F,aAAaz1F,IAAI,iBAAiB7H,MAClDygG,GAASxhG,KAAKq+F,aAAaz1F,IAAI,eAAe7H,MAC9CwgG,GAAYC,IACXD,EAAS9D,MAAM+D,GAAO/D,MACtB8D,EAAS5D,OAAO6D,GAAO7D,QAE1B39F,KAAKq+F,aAAaz1F,IAAI,iBAAiBmqB,SAASyuE,MA58BtD,sBAk9BE,SAASp7C,GAAa,WACpB,GAAGpmD,KAAK0hD,gBACNhD,UAAU,CACRjwC,MAAO,UACPkwC,KAAM,qMACNsD,KAAM,UACNpD,kBAAkB,EAClBE,kBAAmB,WACnBC,iBAAkB,SAClBE,YAAa,CACXC,cAAe,iBACfC,aAAc,qBAEfr3B,KAAK,SAAC1G,GACHA,EAAOglC,aACTwD,EAAKnI,iBAAgB,EACrBmI,EAAKvD,SAASF,IAGdyD,EAAKtD,IAAIC,OAAO,UAKrB,GAAGxmD,KAAKghD,oBACPtC,UAAU,CACRjwC,MAAO,UACPkwC,KAAM,sMACNsD,KAAM,UACNpD,kBAAkB,EAClBE,kBAAmB,WACnBC,iBAAkB,SAClBE,YAAa,CACXC,cAAe,iBACfC,aAAc,qBAEfr3B,KAAK,SAAC1G,GACHA,EAAOglC,aACTwD,EAAK7I,qBAAoB,EACzB6I,EAAKvD,SAASF,IAGdyD,EAAKtD,IAAIC,OAAO,UAMtB,GADAxmD,KAAK6sB,WAAY,GACb7sB,KAAKq+F,aAAavxE,QAGtB,MAAKD,WAAY,EACU,MAAvB7sB,KAAKutE,iBACPvtE,KAAKutE,eAAiB,IAAIC,MAE5BxtE,KAAKutE,eAAexgD,cAAgB/sB,KAAKqqB,sBAAsB1G,iBAAiBoJ,cAChF/sB,KAAKutE,eAAe7a,MAAQ1yD,KAAKq+F,aAAaz1F,IAAI,SAAS7H,MAC3Df,KAAKutE,eAAevE,UAAYx8C,uBAAoBxsB,KAAKq+F,aAAaz1F,IAAI,aAAa7H,OACvFf,KAAKutE,eAAetE,cAAgBz8C,wBAAqBxsB,KAAKihG,cAAcxD,KAAMz9F,KAAKihG,cAActD,QAAQ1a,cAC7GjjF,KAAKutE,eAAerE,YAAgB18C,wBAAqBxsB,KAAKkhG,cAAczD,KAAMz9F,KAAKkhG,cAAcvD,QAAQ1a,cAC7GjjF,KAAKutE,eAAe5a,SAAW3yD,KAAKq+F,aAAaz1F,IAAI,YAAY7H,MACd,GAArDf,KAAQq+F,aAAaz1F,IAAI,mBAAmB7H,OAAgE,GAAlDf,KAAKq+F,aAAaz1F,IAAI,mBAAmB7H,OACjGf,KAAKutE,eAAe1E,gBAAkB7oE,KAAKq+F,aAAaz1F,IAAI,mBAAmB7H,MAC/Ef,KAAK2lE,YAAY,IAGjB3lE,KAAKutE,eAAe1E,gBADW,GAA5B7oE,KAAQ2lE,YAAY/sD,QAA+D,GAAlD5Y,KAAKq+F,aAAaz1F,IAAI,mBAAmB7H,MACvC,EACIf,KAAKq+F,aAAaz1F,IAAI,mBAAmB7H,MAGnFf,KAAKq/D,kBAAkB8hC,aAAaz/F,UAAU,YAE5CmoD,EAAK0jB,eAAezE,OADjB19D,GAGwB,IAG7BpL,KAAKq/D,kBAAkB+hC,YAAY1/F,UAAU,YAE3CmoD,EAAK0jB,eAAexE,aADjB39D,GAGgC,IAIrC,IAAIi2F,GAAQp4F,KAAKW,UAAU5J,KAAK+9F,YAChC/9F,KAAKutE,eAAenE,YAAci4B,GAClCrhG,KAAKutE,eAAepE,YAAc38C,qBAAkBxsB,KAAKq+F,aAAaz1F,IAAI,eAAe7H,OAC3B,GAA9De,GAAI0qB,kBAAkBxsB,KAAKutE,eAAe/H,kBAA2C,GAAlBxlE,KAAK+rB,WACtE/rB,KAAKutE,eAAetgD,UAAYjtB,KAAKqqB,sBAAsB1G,iBAAiBoJ,cAC5E/sB,KAAKutE,eAAergD,YAAcV,8BAClCxsB,KAAKutE,eAAepgD,YAAcX,8BAClCxsB,KAAKutE,eAAengD,YAAcZ,8BAClCxsB,KAAKutE,eAAelgD,YAAcb,gCAGlCxsB,KAAKutE,eAAejgD,UAAYttB,KAAKqqB,sBAAsB1G,iBAAiBoJ,cAC5E/sB,KAAKutE,eAAengD,YAAcZ,8BAClCxsB,KAAKutE,eAAelgD,YAAcb,+BAEhCxsB,KAAKmmD,KAAO,GAAInmD,KAAK+rB,WACzB/rB,KAAKinB,SAAU,EACfjnB,KAAK4nB,qBAAqBqE,eAGfjsB,KAAKiU,cAAc8L,aAAa/f,KAAKutE,eAFnC,+CAGJ7rE,UACP,SAAC2f,GACCwoC,EAAK5iC,SAAU,EACf4iC,EAAKjiC,qBAAqBM,cAC1B,IAAIxJ,GAAU,GAAQ8O,EAAe,GAErC,GADAq8B,EAAKy3C,gBACDjgF,EAAO+K,QAAU/d,iBAAoB,CACvCqQ,GAAUmrC,EAAK9+B,mBAAmBvhB,KAAKssF,UAAUsD,2CAA2C/qE,QAAQ,aAAcw7B,EAAKm0C,YAAY,UACnIn0C,EAAK1D,IAAM0D,EAAK1D,IAAM,EACpB0D,EAAKtD,IAAIC,OAAOqD,EAAK1D,KACrB,IAAMS,EAAaiD,EAAKphD,SAASG,IAAIC,gBAAsBwY,EAAO7X,MAC5Dq9C,EAAe59C,KAAKC,MAAM09C,GAChCiD,EAAKhgC,MAAQg9B,EAAaC,KAAK0e,gBAC/B3b,EAAK0jB,eAAe/H,gBAAgB3e,EAAaC,KAAK0e,gBACtD3b,EAAKojB,WACLpjB,EAAK7C,cAAa,OAEb3lC,EAAO+K,QAAU/d,oBACxBqQ,GAAUmrC,EAAK9+B,mBAAmBvhB,KAAKssF,UAAUuD,6CAA6ChrE,QAAQ,aAAcw7B,EAAKm0C,YAAY,UAEjI53C,IACHyD,EAAK1D,IAAI0D,EAAK1D,IAAI,EACnB0D,EAAKtD,IAAIC,OAAOqD,EAAK1D,OAGrB34B,EAAehB,qBAAkBnL,EAAO3C,SAEtCA,GAAQ9F,OAAS,GACnBixC,EAAK9rC,eAAe8P,QAAQnP,GAAS7V,yBACpB,GAAZghD,EAAK1D,KAAaC,KACvByD,EAAK5/B,UAAUppB,OAAM,GACrBgpD,EAAKw0C,aAAavwE,SAClB+7B,EAAKw0C,aAAa9xE,WAAW,KAI7Bs9B,EAAK9rC,eAAe0O,MAAMe,EAAc3kB,uBAG5C,SAACrD,GACCqkD,EAAK9rC,eAAe0O,MAAMjnB,EAAOqD,sBACjCghD,EAAKrkD,MAAQA,EACbqkD,EAAK5iC,SAAU,EACf4iC,EAAKjiC,qBAAqBM,iBAIrBloB,KAAKmmD,KAAO,GAAKnmD,KAAKmmD,KAAO,IACpCnmD,KAAKmmD,IAAMnmD,KAAKmmD,IAAM,EACtBnmD,KAAKumD,IAAIC,OAAOxmD,KAAKmmD,KACjBC,IACFpmD,KAAKiqB,UAAUppB,OAAM,GACrBb,KAAKq+F,aAAavwE,aAhnC1B,sBAsnCE,WAAQ,WAOK9tB,KAAKiU,cAAc8L,aAJlB,CACVkgC,SAAUjgD,KAAK6pB,MACfq2B,OAAM,GAJK,8CAOJx+C,UACP,SAAC2f,IAEC,GADA8nC,EAAKvhC,qBAAqBM,cACtB7G,GAAO+K,QAAU/d,eACnB86C,EAAKy1C,6BAA6D31F,KAAKC,MAAOigD,EAAK1gD,SAASG,IAAIC,gBAAsBwY,GAAO7X,OACzH2/C,EAAKy1C,6BAA6BxxB,gBAChCjkB,EAAKy1C,6BAA6BI,gBACpC71C,EAAKy1C,6BAA6BI,eAAe9yF,QAAQ,SAAC+yF,GAC1D91C,EAAK+1C,cAAcD,EAAKE,SAASF,EAAKl2B,aAAak2B,EAAKG,eAAeH,EAAKI,iBAI5El2C,EAAKy1C,6BAA6BU,WAAS,CAC5Cn2C,EAAKy1C,6BAA6BU,SAASpzF,QAAQ,SAAC+yF,GAClD91C,EAAKo2C,YAAYN,EAAKO,YAAYP,EAAKn2B,OAAOm2B,EAAKQ,SAASR,EAAKI,cAAcJ,EAAKS,UAEpFv2C,EAAKw2C,kBAAL,OAA4Bx2C,EAAKy2C,UACjC,IAAIE,EAAO,SAAS32C,EAAKokB,eAAezE,OACrCi3B,GAAa,MAAM52C,EAAKokB,eAAexE,aAC3C5f,EAAKk1C,aAAaz1F,IAAI,UAAUmqB,SAAS+sE,GACzC32C,EAAKk1C,aAAaz1F,IAAI,gBAAgBmqB,SAASgtE,MAOvD,SAACv6F,IACC2jD,EAAKprC,eAAe0O,MAAMjnB,GAAOqD,sBACjCsgD,EAAK3jD,MAAQA,GACb2jD,EAAKvhC,qBAAqBM,kBA5pClC,mCAmqCE,SAAsBtnB,GACpB,IAAI2gG,EAAWvhG,KAAKq+F,aAAaz1F,IAAI,iBAAiB7H,MAClDygG,GAASxhG,KAAKq+F,aAAaz1F,IAAI,eAAe7H,MAC9CwgG,GAAYC,IACZD,EAAS9D,MAAM+D,GAAO/D,OAClB8D,EAAS9D,KAAK+D,GAAO/D,OACzB8D,EAAS9D,KAAO+D,GAAO/D,KACtBz9F,KAAKq+F,aAAaz1F,IAAI,iBAAiBmqB,SAASyuE,KAE9CD,EAAS5D,QAAQ6D,GAAO7D,QAC3B39F,KAAKq+F,aAAaz1F,IAAI,iBAAiBmqB,SAASyuE,KAGhDA,KACFxhG,KAAKkhG,cAAgBM,MAjrC3B,4BAorCE,SAAe5gG,GACbZ,KAAKu+C,SAASE,cArrClB,+BAwrCQ,SAAkB8E,EAAaC,EAAcC,GAAsBC,GAAsBrB,GAAiBn1B,EAAoBC,0JAE5Ho2B,QAECC,YACOxjD,KAAK2jD,kBAAkBH,iCAE1BC,SAAcC,SACjBrB,SACAoB,SACMv2B,QACAC,GAGdntB,KAAK4jD,cAAc5sC,KAbb6sC,CACJhH,SACAn2C,KAAM,UACNy2C,UACA3zC,WACAs6C,MAAO,yEACPC,cAAuBL,mBACvB1hD,WACAE,WACA8hD,kBACAC,oBAIEH,EAAQ9jD,KAAKkkD,MAAMV,GAElBM,oCACW9jD,KAAKmkD,8BAA8BX,EAAMnB,YACvDriD,KAAKkkD,MAAMV,GADXM,UACmBA,qBAIfP,SAECC,aACOxjD,KAAK2jD,kBAAkBH,iCAC5BM,SACEL,UAAcC,UACjBrB,UACAoB,UACMv2B,SACAC,GAVRi3B,IACJvH,SACAn2C,KAAM,UACNy2C,WACA3zC,YACAs6C,aACAC,eAAuBL,oBACvB1hD,YACAE,YACA8hD,mBACAC,oBAEI1H,GAAQv8C,KAAK4jD,cAAcS,UAAU,aAAI,OAAInkC,GAAK28B,KAAO0G,IAC/DvjD,KAAK4jD,cAAcrH,IAAS6H,qDA3tChC,8BAguCQ,SAAiBb,EAAaC,EAAcC,GAAsBC,GAAsBrB,GAAiBn1B,EAAoBC,4JAE3Ho2B,QACEG,SACDF,YACOxjD,KAAK2jD,kBAAkBH,iCAE1BC,SAAcC,SACjBrB,SAAeoB,SACTv2B,QACAC,GAES,WAXjB02B,GACJhH,SACAn2C,WACAy2C,UACA3zC,WACAs6C,MAAO,yEACPC,cAAuBL,mBACvB1hD,WAAeE,WACf8hD,kBACAC,oBAEejiD,MACbhC,KAAK0nG,gBAAgB1wF,KAAK6sC,GAE9B7jD,KAAKyiD,aAAazrC,KAAK6sC,GAEnBC,EAAQ9jD,KAAKkkD,MAAMV,GAElBM,oCACW9jD,KAAKmkD,8BAA8BX,EAAMnB,YACvDriD,KAAKkkD,MAAMV,GADXM,UACmBA,sBAIfP,SACEG,UACDF,aACOxjD,KAAK2jD,kBAAkBH,iCAC5BM,SACEL,UAAcC,UACjBrB,UACAoB,UACMv2B,SACAC,GAVRi3B,IACJvH,UACAn2C,YACAy2C,WACA3zC,YACAs6C,aACAC,eAAuBL,oBACvB1hD,YACAE,YACA8hD,mBACAC,oBAEI1H,GAAQv8C,KAAKyiD,aAAa4B,UAAU,aAAI,OAAInkC,GAAK28B,KAAO0G,IAC9DvjD,KAAKyiD,aAAalG,IAAS6H,qDArwC/B,2CA0wCU,SAA8BE,EAAkBtiD,oIACvC,WAATA,EAAS,2CACJ,IAAIuiD,QAAgB,SAACC,EAASC,IACnC,IAAMpH,EAAQ99C,SAAS8D,cAAc,SACrCg6C,EAAMqH,YAAc,YACpBrH,EAAMF,IAAMmH,EAEZjH,EAAMp5C,iBAAiB,iBAAkB,WACvCo5C,EAAMsH,YAAc,KAEpBtH,EAAMp5C,iBAAiB,SAAU,WAC/B,IAAM2gD,EAASrlD,SAAS8D,cAAc,UACtCuhD,EAAO79C,MAAQs2C,EAAMwH,WACrBD,EAAO59C,OAASq2C,EAAMyH,YAEtB,IAAM9/C,EAAM4/C,EAAOG,WAAW,MAC9B//C,EAAIggD,UAAU3H,EAAO,EAAG,EAAGuH,EAAO79C,MAAO69C,EAAO59C,QAIhDhC,EAAIigD,UAAY,2BAChBjgD,EAAIkgD,YACJlgD,EAAImgD,OAAOP,EAAO79C,MAAQ,EAAIq+C,IAAkBR,EAAO59C,OAAS,EAAIo+C,KACpEpgD,EAAIqgD,OAAOT,EAAO79C,MAAQ,EAAIq+C,IAAkBR,EAAO59C,OAAS,GAChEhC,EAAIqgD,OAAOT,EAAO79C,MAAQ,EAAIq+C,IAAkBR,EAAO59C,OAAS,EAAIo+C,KACpEpgD,EAAIsgD,YACJtgD,EAAIugD,OAGJf,EAAQI,EAAOY,UAAU,cAGzBZ,EAAOzjD,SACPk8C,EAAMl8C,WAGRk8C,EAAMp5C,iBAAiB,QAAS,SAACuB,GAC/Bg/C,EAAQ,2CAKZnH,EAAMp5C,iBAAiB,QAAS,SAACuB,GAC/Bg/C,EAAQ,yCAKVnH,EAAMoI,uDA1zChB,+BA+zCU,SAAkBtI,gIAChBuI,0BAICz8C,KAAKW,UAJM,CAChB0zC,OAAQ,CAAC,CAAEH,IAAKA,EAAKn7C,KAAM,cAC3B2jD,WAAY,CAAEC,SAAS,EAAM73B,UAAU,MAEnB23B,4CAp0C5B,2BAu0CQ,sJAEC1lD,KAAKutE,gBAAmBvtE,KAAKutE,eAAe/H,iCAC/C,YAAKznD,eAAe0O,MAAM,8DAA0D5jB,iDAKtF61C,UAAU,CACRjwC,MAAOzO,KAAK+qB,mBAAmBvhB,KAAKssF,UAAUoC,iCAC9Cv5C,KAAM3+C,KAAK+qB,mBAAmBvhB,KAAKssF,UAAUj7D,iBAC7ConB,KAAM,UACNpD,kBAAkB,EAClBC,mBAAoB,UACpBoD,kBAAmB,UACnBnD,kBAAmB/+C,KAAK+qB,mBAAmBvhB,KAAKssF,UAAU76D,gCAC1D+jB,iBAAkBh/C,KAAK+qB,mBAAmBvhB,KAAKssF,UAAU56D,+BACzDgkB,YAAa,CACXC,cAAe,kBACfC,aAAc,yBAGfr3B,KACE,SAAO1G,IAAP,OAAiBw6B,oHACZx6B,GAAOtgB,MADK,gCAEEf,KAAKmjG,oBAAoBnjG,KAAKutE,eAAe/H,sBAF/C,mGA91C1B,iCAq2CQ,SAAoBA,4IACxB,YAAK59C,qBAAqBqE,eAC1BjsB,KAAKmnD,iBAAmB,CACtBC,SAAUoe,EACVne,cAAernD,KAAKqqB,sBAAsB1G,iBAAiBoJ,eAEzDu6B,GAAU,IAAI/C,QAAQ,SAACC,GAASC,GAClC,IAAIlhC,EAGOi9B,GAAKvsC,cAAc8L,aAAaygC,GAAK2G,iBAFnC,yCAGJzlD,UACP,SAAC8H,IACCg3C,GAAK54B,qBAAqBM,cAE1B,IAAI7G,GAASpY,KAAKC,MAAMD,KAAKW,UAAUJ,KAEnC6X,GAAO+K,QAAU/d,cACnBqwC,UAAU,CACRuD,KAAM,UACNxzC,MAAO+xC,GAAKz1B,mBAAmBvhB,KAAKssF,UAAUsC,wBAC9Cz5C,KAAMnyB,qBAAkBnL,GAAO3C,SAC/BwgC,YAAa,CACXC,cAAe,qBAGnBqB,GAAKv2B,UAAUppB,MAAMA,OACrB0iB,GAAS,IAGTi9B,GAAKziC,eAAe0O,MAAM,8DAA0D5jB,sBACpF0a,GAAS,GAEXihC,GAAQjhC,IAEV,SAAC/d,IACCg7C,GAAKziC,eAAe0O,MAAMjnB,GAAOqD,sBACjC23C,GAAKh7C,MAAQg7C,GAAKz1B,mBAAmBvhB,KAAKwD,OAAOC,gCACjDuzC,GAAK54B,qBAAqBM,2BAInBo/B,2FA/4CjB,yBAk5CE,SAAYu7C,GACV7iG,KAAKq/D,kBAAkByjC,WAAWD,KAn5CtC,2BAu5CG,SAAchmD,GACd78C,KAAKq/D,kBAAkB0jC,UAAUlmD,KAx5CpC,+BA45CE,SAAkBj8C,GAChBZ,KAAKojG,qBAAiC,MAATxiG,GAA2B,MAATA,GAAiBA,EAAQ,EAAMZ,KAAK+qB,mBAAmBvhB,KAAKssF,UAAU6B,6BAA+B,KA75CxJ,kCAo6CE,WAAoB,WACZvkE,EAAe,IAAIC,MACzBD,EAAaE,cAAe,EAC5BF,EAAaG,WAAY,EACzBH,EAAarsB,MAAQ,MACrBqsB,EAAapsB,OAAS,MACtBosB,EAAai3B,SAAW,CAAE+J,OAAQ,OAEhC,IAAIivC,GAAS,IAAIt0C,IAAsB/uD,KAAKutE,eAAet5C,SAAUj0B,KAAKutE,eAAep5C,UAAWn0B,KAAKutE,eAAe5a,UACxHv/B,EAAa5pB,KAAO,IAAIgqB,IAAoBC,aAAsB4vE,IAEpE,IAAMp5E,GAA+CjqB,KAAKoqB,OAAOzlB,KAAKgvB,KAAqBP,GAE3FnJ,GAAU2J,kBAAkBC,aAAc,EAC1C5J,GAAU2J,kBAAkBE,qBAAsB,EAClD7J,GAAU2J,kBAAkB8gC,qBAAsB,EAClDzqC,GAAU2J,kBAAkBG,eAAgB,EAC5C9J,GAAU+J,cAActyB,UACtB,aAGM2f,IACqC,eAAnCmL,qBAAkBnL,GAAOzgB,QAA2BygB,GAAO7X,OAE7D2/C,EAAKokB,eAAet5C,SAAW5S,GAAO7X,KAAK0qB,IAC3Ci1B,EAAKokB,eAAep5C,UAAY9S,GAAO7X,KAAK4qB,KAC5C+0B,EAAKk1C,aAAaz1F,IAAI,YAAYmqB,SAASvG,qBAAkBnL,GAAO7X,KAAK2lD,oBA97CrF,gCAs8CE,WACEnvD,KAAKi1D,gBAv8CT,yBAy8CE,WACEj1D,KAAKiqB,UAAUppB,OAAM,KA18CzB,+BA68CE,SAAkBD,GACdA,IACU,GAATA,GAAuB,GAATA,EACfZ,KAAKggG,oBAAqB,GACV,GAATp/F,GAAuB,GAATA,KACrBZ,KAAKggG,oBAAqB,MAl9ChC,8BAw9CE,SAAiBp/F,GACf,IAAM0iG,EAAe1iG,EAAM0U,OAAOguE,YAC/BggB,IACoFtjG,KAAKggG,mBAAzE,UAAhBsD,GAA4C,WAAhBA,GAA6C,UAAhBA,EAC5B,GA59CpC,uCA+9CE,SAA0B1gC,GAAU,WAElC5iE,KAAKq/D,kBAAkB4B,0BAA0B2B,GAC9ClhE,UACC,SAAC2f,IAIC,GAHAwoC,EAAK5iC,SAAU,EAGX5F,GAAO+K,QAAU/d,aAAgB,CACnC,IAAIy0D,GAAwB75D,KAAKC,MAAO2gD,EAAKphD,SAASG,IAAIC,gBAAsBwY,GAAO7X,OACvFqgD,EAAKkZ,cAAcD,SAGJt2C,qBAAkBnL,GAAO3C,UAG5C,SAAClZ,IACCqkD,EAAK9rC,eAAe0O,MAAMjnB,GAAOqD,sBACjCghD,EAAKrkD,MAAQA,GACbqkD,EAAK5iC,SAAU,MAl/CzB,+BAw/CE,SAAkB+rC,GAAO,WAEXhzD,KAAKmqB,aAAaxlB,KAAKquD,EAAS,CAAEsY,UAAS,IACjDjqD,OAAO0G,KACX,SAAC1G,IACC,IAAMmiF,GAAsB,kBAAO35C,EAAK45C,mBAAZ,OAAiC55C,EAAK65C,kBAClE,GAA6B,MAA1BF,IAAmE,GAAjCA,GAAuB5qF,OAAY,CACtE,IAAIwnF,EAAWv2C,EAAK+0C,6BAA6BqB,kBAAkBl2F,OAAO,aAAC,MAA+C,WAA3CqB,GAAE+0F,kBAAkBxzE,mBAAuB,GACtHyzE,GAAYA,EAAS,IAAwD,MAAlDv2C,EAAKw0C,aAAaz1F,IAAI,mBAAmB7H,OACtE8oD,EAAKw0C,aAAaz1F,IAAI,mBAAmBmqB,SAASqtE,EAAS,GAAGv3B,mBAGpE,SAAC86B,IACC,GAAIA,KAAWC,UAAyB,CACtC,IAAMJ,GAAsB,kBAAO35C,EAAK45C,mBAAZ,OAAiC55C,EAAK65C,kBAClE,GAA6B,MAA1BF,IAAmE,GAAjCA,GAAuB5qF,OAAY,CACtE,IAAIwnF,EAAWv2C,EAAK+0C,6BAA6BqB,kBAAkBl2F,OAAO,aAAC,MAA+C,WAA3CqB,GAAE+0F,kBAAkBxzE,mBAAuB,GACtHyzE,GAAYA,EAAS,IACvBv2C,EAAKw0C,aAAaz1F,IAAI,mBAAmBmqB,SAASqtE,EAAS,GAAGv3B,0BAG5D86B,KAAWC,qBAAmC,CACpD,IAAMJ,GAAsB,kBAAO35C,EAAK45C,mBAAZ,OAAiC55C,EAAK65C,kBAClE,GAA6B,MAA1BF,IAAmE,GAAjCA,GAAuB5qF,OAAY,CACtE,IAAIwnF,EAAWv2C,EAAK+0C,6BAA6BqB,kBAAkBl2F,OAAO,aAAC,MAA+C,WAA3CqB,GAAE+0F,kBAAkBxzE,mBAAuB,GACtHyzE,GAAYA,EAAS,IACvBv2C,EAAKw0C,aAAaz1F,IAAI,mBAAmBmqB,SAASqtE,EAAS,GAAGv3B,0BAGlD,eAAV86B,GAAwB,CAC9B,IAAMH,EAAsB,kBAAO35C,EAAK45C,mBAAZ,OAAiC55C,EAAK65C,kBAClE,GAA6B,MAA1BF,GAAmE,GAAjCA,EAAuB5qF,OAAY,CACtE,IAAIwnF,EAAWv2C,EAAK+0C,6BAA6BqB,kBAAkBl2F,OAAO,aAAC,MAA+C,WAA3CqB,GAAE+0F,kBAAkBxzE,mBAAuB,GACtHyzE,GAAYA,EAAS,IACvBv2C,EAAKw0C,aAAaz1F,IAAI,mBAAmBmqB,SAASqtE,EAAS,GAAGv3B,uBA1hD5E,2BAiiDE,SAAcr/D,GAEZ,IAAMw5D,EAAqBx5D,EAAKO,OAAO,aAAI,OAA0B,OAAtB4vD,GAAK7nC,cAA2D,GAAlC6nC,GAAKzoC,yBAA6B,GAG/GlxB,KAAKuiE,YAAcS,EAAmBh7D,IAAI,aAAI,OAAI47E,+BAC7CjqB,IAAI,CACPkqC,UAAU,MAEV,IAAM5gC,GAAez5D,EAAKO,OAAO,aAAI,OAAgC,OAA5B4vD,GAAK/kB,oBAAiE,GAAlC+kB,GAAKzoC,yBAA6B,GAC/GlxB,KAAKyiE,WAAaQ,GAAaj7D,IAAI,aAAI,OAAI47E,+BACtCjqB,IAAI,CACPkqC,UAAU,MAGZ7jG,KAAK8jG,qBAAL,OAA+B9jG,KAAKuiE,aACpCviE,KAAK+jG,oBAAL,OAA8B/jG,KAAKyiE,cAjjDzC,yBAojDM,SAAYuhC,GAEV,IAAMC,EAAsBD,EAAWhsF,cAGvChY,KAAK8jG,oBAAsB9jG,KAAKuiE,YAAYx4D,OAAO,aAAO,OACxD,OAAuB,QAAvBs9F,MAAKnD,0BAAkB1vE,iBAAExc,cAAcyQ,SAASw7E,KAIlDjkG,KAAK+jG,mBAAqB/jG,KAAKyiE,WAAW14D,OAAO,aAAO,OACtD,OAA6B,QAA7Bs9F,MAAKlD,gCAAwB3vE,iBAAExc,cAAcyQ,SAASw7E,OA/jDhE,8BAmkDE,SAAiB1uF,EAAkB+uF,EAAkBtiG,IACnD,GAAS,UAANA,GACH,GAAIuT,EAEFvV,KAAKyjG,iBAAiBzsF,KAAKstF,OACtB,CAEL,IAAM/nD,GAAQv8C,KAAKyjG,iBAAiBlsC,QAAQ+sC,IAC9B,IAAV/nD,IACFv8C,KAAKyjG,iBAAiBj6C,OAAOjN,GAAO,GAGxC,GAAS,UAANv6C,GACD,GAAIuT,EAEFvV,KAAK0jG,gBAAgB1sF,KAAKstF,OACrB,CAEL,IAAM/nD,GAAQv8C,KAAK0jG,gBAAgBnsC,QAAQ+sC,IAC7B,IAAV/nD,IACFv8C,KAAK0jG,gBAAgBl6C,OAAOjN,GAAO,MAvlD7C,oCA4lDE,WAAsB,WAIlBv8C,KAAKyjG,iBAFHzjG,KAAKyjG,iBAAiB7qF,SAAW5Y,KAAKuiE,YAAY3pD,OAE5B,GAIA5Y,KAAKuiE,YAAYv6D,IAAI,aAAM,OAAIu8F,GAAOhhC,wBAG7ChkE,SAASc,iBAAiB,oBAClC6L,QAAQ,aACjBs4F,GAASjvF,QAAU4zC,EAAKs6C,iBAAiBh7E,SAAS9S,OAAO6uF,GAASzjG,YAzmDxE,8BA4mDE,SAAiBiB,EAAYsiG,GAC3B,MAAW,UAARtiG,EACIhC,KAAKyjG,iBAAiBh7E,SAAS67E,GAC7B,UAARtiG,EACMhC,KAAK0jG,gBAAgBj7E,SAAS67E,QADvC,CACuCA,GAhnDzC,mCAmnDE,WAAqB,WACnBtkG,KAAKyiE,WAAWv2D,QAAQ,aAAM,OAAIu4F,GAAOZ,SAAW16C,EAAKu6C,kBAGvD1jG,KAAK0jG,gBAFP1jG,KAAS0jG,gBAAgB9qF,SAAW5Y,KAAKyiE,WAAW7pD,OAE3B,GAIA5Y,KAAKyiE,WAAWz6D,IAAI,aAAM,OAAIu8F,GAAOhhC,wBAG3ChkE,SAASc,iBAAiB,0BAClC6L,QAAQ,aACjBs4F,GAASjvF,QAAU4zC,EAAKu6C,gBAAgBj7E,SAAS9S,OAAO6uF,GAASzjG,YAhoDvE,yCAooDE,WAA2B,WAMzBf,KAAKq/D,kBAAkB6D,4BALR,CACbC,wBAAwBnjE,KAAKqqB,sBAAsB1G,iBAAiBoJ,cACpEq2C,gBAAgBpjE,KAAK6pB,QAIpBnoB,UACC,SAAC2f,IAIC,GAHA8nC,EAAKliC,SAAU,EACfkiC,EAAKvhC,qBAAqBM,cAEtB7G,GAAO+K,QAAU/d,aAAgB,CACnC,IAAIy0D,GAAwB75D,KAAKC,MAAOigD,EAAK1gD,SAASG,IAAIC,gBAAsBwY,GAAO7X,OACvF,GAA4B,MAAzBs5D,IAAiE,GAAhCA,GAAsBlqD,OAC1D,CACE,IAAIwnF,EAAWj3C,EAAKy1C,6BAA6BqB,kBAAkBl2F,OAAO,YAAC,MAA+C,WAA3CqB,EAAE+0F,kBAAkBxzE,mBAAuB,GACtHyzE,GAAYA,EAAS,IAAQj3C,EAAKk1C,aAAaz1F,IAAI,mBAAmB7H,OAASooD,EAAKy1C,6BAA6BqB,kBAAkB,GAAGp3B,iBACxI1f,EAAKk1C,aAAaz1F,IAAI,mBAAmBmqB,SAASqtE,EAAS,GAAGv3B,iBAChE1f,EAAK62C,oBAAqB,GAE8B,GAAtD72C,EAASk1C,aAAaz1F,IAAI,mBAAmB7H,OAAkE,GAAlDooD,EAAKk1C,aAAaz1F,IAAI,mBAAmB7H,MACpGooD,EAAK62C,oBAAqB,GAE+B,GAAlD72C,EAAKk1C,aAAaz1F,IAAI,mBAAmB7H,OAAmE,GAAlDooD,EAAKk1C,aAAaz1F,IAAI,mBAAmB7H,SAC1GooD,EAAK62C,oBAAqB,GAKhC72C,EAAKw7C,mCAAmC7hC,SAGzBt2C,qBAAkBnL,GAAO3C,UAG5C,SAAClZ,IACC2jD,EAAKprC,eAAe0O,MAAMjnB,GAAOqD,sBACjCsgD,EAAK3jD,MAAQA,GACb2jD,EAAKliC,SAAU,EACfkiC,EAAKvhC,qBAAqBM,kBA5qDpC,mBAirDE,WAGE,GAFAloB,KAAKwjG,uBAAyB15B,MAAMs6B,KAAK,IAAIC,IAAJ,kBAAYrkG,KAAKyjG,mBAAjB,OAAsCzjG,KAAK0jG,oBACpF1jG,KAAKmqB,aAAa2hD,cACiB,MAA/B9rE,KAAKwjG,wBAAwE,GAAtCxjG,KAAKwjG,uBAAuB5qF,SAAkB5Y,KAAKq+F,aAAaz1F,IAAI,mBAAmB7H,OAASf,KAAK4+F,6BAA6BqB,kBAAkB,GAAGp3B,gBAAkB,CAClN,IAAIu3B,EAAWpgG,KAAK4+F,6BAA6BqB,kBAAkBl2F,OAAO,YAAC,MAA+C,WAA3CqB,EAAE+0F,kBAAkBxzE,mBAAuB,GACtHyzE,GAAYA,EAAS,IACvBpgG,KAAKq+F,aAAaz1F,IAAI,mBAAmBmqB,SAASqtE,EAAS,GAAGv3B,oBAvrDtE,kCA2rDE,WAAoB,WAGlB7oE,KAAK4kG,oBAAoB,CACvBC,wBAAyB,EACzB1hC,wBAAyBnjE,KAAKqqB,sBAAsB1G,iBAAiBoJ,cACrE+3E,uBAAwB9kG,KAAKwjG,uBAC7BpgC,gBAAiBpjE,KAAK6pB,MACtBqD,YAAcV,8BACdW,YAAaX,8BACbS,UAAYjtB,KAAKqqB,sBAAsB1G,iBAAiBoJ,cACxDK,YAAcZ,8BACda,YAAab,8BACbc,UAAWttB,KAAKqqB,sBAAsB1G,iBAAiBoJ,eAGzD/sB,KAAKq/D,kBAAkB0lC,+BAA+B/kG,KAAK4kG,qBACxDljG,UACC,SAAC2f,IACC8nC,EAAKliC,SAAU,EACfkiC,EAAKvhC,qBAAqBM,cAEtB7G,GAAO+K,QAAU/d,aACSpF,KAAKC,MAAOigD,EAAK1gD,SAASG,IAAIC,gBAAsBwY,GAAO7X,OAIxEgjB,qBAAkBnL,GAAO3C,UAG5C,SAAClZ,IACC2jD,EAAKprC,eAAe0O,MAAMjnB,GAAOqD,sBACjCsgD,EAAK3jD,MAAQA,GACb2jD,EAAKliC,SAAU,EACfkiC,EAAKvhC,qBAAqBM,kBA7tDpC,gDAkuDE,SAAmCioE,GAEjC,IAAM6U,EAAyB7U,EAAWnoF,IAAI,aAAI,OAAIwB,GAAK85D,wBAG3DtjE,KAAKyjG,iBAAmBuB,EACxBhlG,KAAK0jG,gBAAkBsB,EAEvBhlG,KAAKilG,qBA1uDT,8BA6uDA,WAAgB,WACO1lG,SAASc,iBAAiB,oBAClC6L,QAAQ,aACfs4F,GAASjvF,QAAU4zC,EAAKs6C,iBAAiBh7E,SAAS9S,OAAO6uF,GAASzjG,QAClEyjG,GAASjvF,QAAU4zC,EAAKu6C,gBAAgBj7E,SAAS9S,OAAO6uF,GAASzjG,YAjvDzE,qBAsvDA,WACCf,KAAK+uE,sBAvvDN,+BAwvDC,WAAiB,WACZP,EAAsC,CACxCC,qBAAqB,EACrBjJ,gBAAkBxlE,KAAK6pB,MACvBkD,cAAc/sB,KAAKqqB,sBAAsB1G,iBAAiBoJ,cAC1DG,YAAaV,8BACbW,YAAYX,+BAEdxsB,KAAKm/D,qBAAqB6P,8BAA8BR,GACvD9sE,UACC,SAAC2f,cACC8nC,EAAKliC,SAAU,EAEX5F,GAAO+K,QAAU/d,kBACnB86C,EAAKy1C,6BAA6BxxB,cAAc+B,aAAelmE,KAAKC,MAAOigD,EAAK1gD,SAASG,IAAIC,gBAAsBwY,GAAO7X,OAC1H2/C,EAAKy1C,6BAA6B1vB,YAA8C,QAAjCm4B,KAAKzI,oCAA4BpqE,iBAAE06C,WAElF/lB,EAAKprC,eAAe8P,QAAQ,2BAA2BhlB,yBAEpD23C,GAAUp0B,QAAU/d,oBACvB86C,EAAKy1C,6BAA6BxxB,cAAc+B,aAAelmE,KAAKC,MAAOigD,EAAK1gD,SAASG,IAAIC,gBAAsBwY,GAAO7X,OAC1H2/C,EAAKy1C,6BAA6B1vB,YAA8C,QAAjCjoB,KAAK23C,oCAA4BlqE,iBAAEw6C,WAClF/lB,EAAKprC,eAAe8P,QAAQ,6BAA6BhlB,yBAG1C2jB,qBAAkBnL,GAAO3C,UAG5C,SAAClZ,IACC2jD,EAAKprC,eAAe0O,MAAMjnB,GAAOqD,sBAEjCsgD,EAAKliC,SAAU,MAvxDrB,wBA4xDA,SAAW+8E,GAMThkG,KAAK2/F,iBALAqE,EAKmBhkG,KAAK4/F,SAAS71F,OAAO,YAAI,OAC/Ck1F,EAAKqD,SAAStqF,cAAcyQ,SAASu7E,EAAWhsF,kBALhD,OAA4BhY,KAAK4/F,SAKe5nF,GAnyDpD,0CAwyDE,SAA6B+S,GAC3B,IAAI1J,EACJ,OAAQ0J,OACD,KACH1J,EAAStM,IACT,UACG,KACHsM,EAASlM,IACT,UACG,KACHkM,EAASjM,KAGb,OAAOiM,IArzDX,aAuzDE,WACE,OAAOrhB,KAAKq+F,aAAatwE,WAxzD7B,4BA2zDE,WAAc,WACZ/tB,KAAKslG,sBAAwB,CAC3B,CACEC,WAAY,GACZC,MAAO,WACPC,SAAU,GACVC,aAAc,SAACluF,IAEb,IAAMgtF,GAAWjlG,SAAS8D,cAAc,SACxCmhG,UAASxiG,KAAO,WAChBwiG,GAASh9F,UAAY,cAGrBg9F,GAASjvF,QAA2B,QAAjBiC,GAAOzW,MAG5ByjG,GAASvgG,iBAAiB,SAAU,SAACrD,IAEnCuoD,EAAKw8C,qBAAqBnuF,GAAOhO,KADd5I,GAAM0U,OAA4BC,QACdC,GAGhCgvF,KAGX,CAAEe,WAAYvlG,KAAK+qB,mBAAmBvhB,KAAKssF,UAAUyB,uBAAwBiO,MAAO,WAAYI,aAAa,WAAYhc,KAAM,OAAQ6b,SAAU,KACjJ,CACEF,WAAYvlG,KAAK+qB,mBAAmBvhB,KAAKssF,UAAUrmF,wBAAyB+1F,MAAO,YAAaz7F,OAAQ,YAAY07F,SAAU,KAEhI,CACEF,WAAYvlG,KAAK+qB,mBAAmBvhB,KAAKssF,UAAUnmF,uBAAwB61F,MAAO,WAAYI,aAAa,WAAWhc,KAAM,MAAQ6b,SAAU,KAEhJ,CACGF,WAAYvlG,KAAK+qB,mBAAmBvhB,KAAKssF,UAAUzmF,2BAA4Bm2F,MAAO,eAAeC,SAAS,IAAKG,aAAa,gBAEnI,CACGL,WAAYvlG,KAAK+qB,mBAAmBvhB,KAAKssF,UAAU0B,mBAAoBgO,MAAO,OAAOC,SAAS,IAAKG,aAAa,WA91DzH,iCAm2DE,SAAoBhlG,EAAMi8C,GACxB78C,KAAK6pE,cAAgBjpE,IAp2DzB,0BAi3DE,SAAaojG,GACZhkG,KAAK4uE,eAAiBo1B,IAl3DzB,kCAq3DE,WAAoB,WAKlBhkG,KAAKq/D,kBAAkBkG,gCAJgB,CACrCx4C,cAAgB/sB,KAAKqqB,sBAAsB1G,iBAAiBoJ,cAC5Dy4C,gBAAgBxlE,KAAK6pB,QAEoEnoB,UAAU,SAAM2f,IAAN,OAAew6B,kIAC9Gx6B,KACEA,GAAO+K,QAAU/d,eACfo3D,EAAsDx8D,KAAKC,MAAMlJ,KAAKyI,SAASG,IAAIC,gBAAsBwY,GAAO7X,UAEnHxJ,KAAKmlG,gBAAkB1/B,EACjBC,GAAU1lE,KAAKmlG,gBACrBnlG,KAAK2lE,YAAc,GAGnBD,GAAQx5D,QAAQ,SAAC05D,GACM,QAAjBA,EAAIC,UACN5e,GAAK0e,YAAY3uD,KAAQ,MAAH4uD,OAAG,EAAHi7B,EAAKuE,kCAKlCplG,KAAK4nB,qBAAqBM,gBAGxBloB,KAAK4nB,qBAAqBM,cAC1BloB,KAAK+d,eAAe0O,MAAMpL,GAAOgiC,QAASx6C,6BArBoE,8CA13DxH,kCAq5DE,SAAqByO,EAAc9B,GAC/B,GAAIA,EACFxV,KAAK2lE,YAAY3uD,KAAY,MAAPM,OAAO,EAAP6xC,EAASi8C,mCAC1B,CACL,IAAM7oD,GAAQv8C,KAAK2lE,YAAYpO,QAAe,MAAPjgD,OAAO,EAAP6xC,EAASi8C,gCAClC,IAAV7oD,IACFv8C,KAAK2lE,YAAYnc,OAAOjN,GAAO,MA35DzC,4BAg6DE,WACE,OAAOv8C,KAAK2lE,cAj6DhB,2BAo6DE,WAAa,WACX3lE,KAAK4kG,oBAAoB,CACvBC,wBAAyB,EACzB1hC,wBAAyBnjE,KAAKqqB,sBAAsB1G,iBAAiBoJ,cACrE+3E,uBAAwB9kG,KAAK2lE,YAC7BvC,gBAAiBpjE,KAAK6pB,MACtBqD,YAAcV,8BACdW,YAAaX,8BACbS,UAAYjtB,KAAKqqB,sBAAsB1G,iBAAiBoJ,cACxDK,YAAcZ,8BACda,YAAab,8BACbc,UAAWttB,KAAKqqB,sBAAsB1G,iBAAiBoJ,eAGzD1nB,QAAQ6d,IAAIljB,KAAK4kG,qBACjB5kG,KAAKq/D,kBAAkB0lC,+BAA+B/kG,KAAK4kG,qBACxDljG,UACC,SAAC2f,IACC8nC,EAAKliC,SAAU,EACfkiC,EAAKvhC,qBAAqBM,cAGtB7G,GAAO+K,QAAU/d,cAIZgT,GAAO+K,QAAU/d,iBAHIpF,KAAKC,MAAOigD,EAAK1gD,SAASG,IAAIC,gBAAsBwY,GAAO7X,OASxEgjB,qBAAkBnL,GAAO3C,UAG5C,SAAClZ,IACC2jD,EAAKprC,eAAe0O,MAAMjnB,GAAOqD,sBACjCsgD,EAAK3jD,MAAQA,GACb2jD,EAAKliC,SAAU,EACfkiC,EAAKvhC,qBAAqBM,kBA38DpC,oCAg9DE,SAAuBm9E,GAAgC,WACrD,GAAyB,IAAtBrlG,KAAK4uE,gBAAsD,KAA/B5uE,KAAK4uE,eAAetgD,OAAnD,CAMA,IAAIkgD,GAAkC,CACpCY,wBAAwB,EACxBD,aAAa,EACbE,QAAQrvE,KAAK4uE,eACbpJ,gBAAkBxlE,KAAK6pB,MACvBkD,cAAc/sB,KAAKqqB,sBAAsB1G,iBAAiBoJ,cAC1DG,YAAaV,8BACbW,YAAYX,+BAEdxsB,KAAKm/D,qBAAqBmQ,iCAAiCd,IAC1D9sE,UACC,SAAC2f,IACCwoC,EAAK5iC,SAAU,EAEX5F,GAAO+K,QAAU/d,kBACnBw7C,EAAK+0C,6BAA6BrvB,uBAAyBtmE,KAAKC,MAAO2gD,EAAKphD,SAASG,IAAIC,gBAAsBwY,GAAO7X,OACtHqgD,EAAK+0C,6BAA6BxxB,cAAcyC,gBAAkBhmB,EAAK+0C,6BAA6BrvB,uBAAuB32D,OAC3HixC,EAAK+kB,eAAgB,GACrBy2B,EAAYtkG,MAAQ,GACpB8oD,EAAK9rC,eAAe8P,QAAQ,8BAA8BhlB,yBAG3C2jB,qBAAkBnL,GAAO3C,UAG5C,SAAClZ,IACCqkD,EAAK9rC,eAAe0O,MAAMjnB,GAAOqD,sBACjCghD,EAAKrkD,MAAQA,GACbqkD,EAAK5iC,SAAU,GA9Bf,MADAjnB,KAAK+d,eAAe0O,MAAM,uBAAuB5jB,qBA+BlC,GAn/DvB,uCAw/DE,SAA0BjI,GAAa,WACrCZ,KAAK6pE,eAAiB7pE,KAAK6pE,cAK3B7pE,KAAKm/D,qBAAqBqQ,0BAJd,CACVhK,gBAAkBxlE,KAAK6pB,MACvBkD,cAAe/sB,KAAKqqB,sBAAsB1G,iBAAiBoJ,gBAG5DrrB,UACC,SAAC2f,IACCwoC,EAAK5iC,SAAU,EAEX5F,GAAO+K,QAAU/d,cACnBw7C,EAAK+0C,6BAA6BrvB,uBAAyBtmE,KAAKC,MAAO2gD,EAAKphD,SAASG,IAAIC,gBAAsBwY,GAAO7X,OAGtHqgD,EAAK+kB,eAAgB,IAGNpiD,qBAAkBnL,GAAO3C,UAG5C,SAAClZ,IACCqkD,EAAK9rC,eAAe0O,MAAMjnB,GAAOqD,sBAEjCghD,EAAK5iC,SAAU,MAhhEvB,sCAqhEE,SAAyBzd,GAAI,WACvBglE,GAAsC,CACxCiB,4BAA4B,EAC5BL,wBAA0B5lE,EAC1BujB,cAAc/sB,KAAKqqB,sBAAsB1G,iBAAiBoJ,cAC1DG,YAAaV,8BACbW,YAAYX,+BAGdxsB,KAAKm/D,qBAAqBuQ,qCAAqClB,IAC9D9sE,UACC,SAAC2f,IACCwoC,EAAK5iC,SAAU,EAGX5F,GAAO+K,QAAU/d,kBACnBw7C,EAAK+0C,6BAA6BrvB,uBAAyBtmE,KAAKC,MAAO2gD,EAAKphD,SAASG,IAAIC,gBAAsBwY,GAAO7X,OAEtHqgD,EAAK9rC,eAAe8P,QAAQ,8BAA8BhlB,yBAEvDw+F,GAAUj7E,QAAU/d,oBACvBw7C,EAAK+0C,6BAA6BrvB,uBAAyBtmE,KAAKC,MAAO2gD,EAAKphD,SAASG,IAAIC,gBAAsBwY,GAAO7X,OAEtHqgD,EAAK9rC,eAAe8P,QAAQ,gCAAgChlB,yBAG7C2jB,qBAAkBnL,GAAO3C,UAG5C,SAAClZ,IACCqkD,EAAK9rC,eAAe0O,MAAMjnB,GAAOqD,sBACjCghD,EAAKrkD,MAAQA,GACbqkD,EAAK5iC,SAAU,QArjEvB+gC,mDAAa2iB,GAAe9lE,qOAgIhBmpB,iCAhIC28C,EAAe5lE,utYC3D5BF,kBACAA,kBAEAA,iBACEA,gBAAqEA,uEAE7DA,kBACJA,kBACFA,QACAA,qBAAgIA,gCAASG,+CACvIH,mBAAyBA,iBAAOA,QAClCA,QACFA,QACAA,kBAGEA,kBACEA,oBACEA,uBACEA,mBACEA,mBACEA,mBACEA,qBACEA,kBAA+BA,gCAASG,cAAY,KAClDH,iBAAcA,gCAAsDA,QACpEA,sCAoTFA,QAEAA,kBACEA,iBAAGA,gCAASG,cAAY,KAAeH,gCAA6CA,QACpFA,oCA0LFA,QAEAA,kBACEA,iBAAGA,gCAASG,cAAY,KAAeH,gCAA4CA,QACnFA,oCAyIFA,QAEAA,kBACEA,iBAAGA,gCAASG,cAAY,KAAeH,gCAAuDA,QAC9FA,kCAyDFA,QACAA,kBACEA,iBAAGA,gCAASG,cAAY,KAAeH,gCAA8CA,QACrFA,oCAwEFA,QACFA,QACAA,mBACFA,QACFA,QACFA,QACFA,QACFA,QACFA,QACFA,QAkCFA,QACAA,mBACEA,mBACEA,6BAGEA,6BAGFA,sBAA6EA,gCAASG,+CACpFH,2BAA2EA,gCAA4CA,QACvHA,sBAAsBA,gCAASG,0CAE2BH,gCAA4CA,QAC1GA,QACAA,yBACFA,8BAv1BuEA,mTAEvDA,2CAGsDA,6EAQxCA,2CAMGA,+BACCA,8EAuTZA,+BACqCA,6DA6LrCA,+BACqCA,4DA4IrCA,+BACqCA,uEA2DrCA,+BACqCA,8DA2EtCA,iCA4C8CA,yDAGEA,wDAG2CA,yEACnGA,iCAAoEA,4DAG3EA,yEAA0DA,4DAE1CA,8WD8xCTqpB,GAAYy5E,q+6fA7jEZh9B,EAAb,GA6jEaz8C,GAAb,eAAaA,EAAb,mFACE,SAAUntB,EAAeqtB,GACvB,OAAIrtB,IAEFA,GADAA,EAAQA,EAAMstB,QAAQ,eAAgB,MACxBC,OAAOD,QAAQ,OAAQ,MAC3BzV,OAASwV,IACjBrtB,EAAQA,EAAMwtB,UAAU,EAAGH,GAAS,OAGjCrtB,MATXinD,mDAAa95B,+CAAY/lB,UAAZ+lB,EAAb,EAAaA,uHElnEA05E,EAAb,eAAaA,EAAb,WAEE,WAAoB3zF,IAA4B,eAA5BjU,qBADZA,kBAAoB,EAD9B,gDAGE,SAAkBwJ,IAEhB,OAAOxJ,KAAKiU,cAAc8L,aAAavW,GAD1B,sCAC+BwW,GALhD,kCAQE,SAAqB6J,IAEnB,OAAO7pB,KAAKiU,cAAc8L,aAAa8J,GAD1B,yCACiC7J,GAVlD,4BAaE,WAEE,OAAOhgB,KAAK01B,cAfhB,4BAkBE,SAAeC,IAEb31B,KAAK01B,YAAcC,KApBvB,oCAwBE,SAAuB6yC,IAErB,OAAOxoE,KAAKiU,cAAc8L,aAAayoD,GAD1B,kCACiDxoD,GA1BlE,8BA6BE,SAAiB0iC,IAEf,OAAO1iD,KAAKiU,cAAc8L,aAAa2iC,GAD1B,+BACqD1iC,GA/BtE,4BAkCE,SAAexW,IAEb,OAAOxJ,KAAKiU,cAAc8L,aAAavW,GAD1B,6BAC+BwW,GApChD,qCAuCE,SAAwBxW,IAEtB,OAAOxJ,KAAKiU,cAAc8L,aAAavW,GAD1B,sCAC+BwW,GAzChD,mDA4CE,SAAsCxW,IAEpC,OAAOxJ,KAAKiU,cAAc8L,aAAavW,GAD1B,0DAC+BwW,GA9ChD,kCAiDE,SAAqBxW,IAEnB,OAAOxJ,KAAKiU,cAAc8L,aAAavW,GAD1B,sDAC+BwW,GAnDhD,2CAsDE,SAA8BxW,IAE5B,OAAOxJ,KAAKiU,cAAc8L,aAAavW,GAD1B,sDAC+BwW,GAxDhD,8CA2DE,SAAiCxW,IAE/B,OAAOxJ,KAAKiU,cAAc8L,aAAavW,GAD1B,4DAC+BwW,GA7DhD,kDAgEE,SAAqCxW,IAEnC,OAAOxJ,KAAKiU,cAAc8L,aAAavW,GAD1B,gEAC+BwW,GAlEhD,uCAqEE,SAA0BxW,IAExB,OAAOxJ,KAAKiU,cAAc8L,aAAavW,GAD1B,qDAC+BwW,GAvEhD,sCA0EE,SAAyBxW,IAEvB,OAAOxJ,KAAKiU,cAAc2e,kBAAkBppB,GAD/B,qDACoCwW,KA5ErDzT,kDAAaq7F,GAAoB/iG,uCAApB+iG,EAAoBliG,QAApBkiG,EAAoB,qBAFnB,SAEDA,EAAb,EAAaA,qKCLAv7F,GAAS,CACpBC,KAAM,KACN9C,KAAM,CACJwD,OAAQ,CACN0E,4BAA6B,gBAC7BC,0BAA2B,eAC3BC,sBAAuB,eACvBC,0BAA2B,aAC3BC,yBAA0B,eAC1BC,qCAAsC,yBACtC9D,4BAA6B,mEAC7BhB,gCAAiC,iCACjC+E,cACE,CACE,CAAE5D,UAAWC,kBAAqBC,aAAc,8BAGtDu5F,OAAQ,CACNC,wBAAyB,kBACzBC,yBAA0B,gBAC1Bt9C,4BAA6B,kBAC7BE,oBAAqB,UACrBD,mBAAoB,SACpBE,sBAAuB,YACvBC,kBAAmB,QACnBrL,UAAW,4EACXwG,WAAY,4GACZC,WAAY,kDACZC,WAAY,uDACZJ,WAAY,oGACZ+C,wCAAyC,yDACzCJ,4CAA6C,+DAC7CxuB,8BAA+B,2FAC/BY,iBAAkB,kCAClBI,gCAAiC,kBACjC6tB,uCAAuC,kBACvC5tB,+BAAgC,SAChClF,0BAA2B,QAC3B5a,6BAA8B,kBAC9B0vC,+BAAgC,aAChCk9C,iCAAkC,eAClC/8C,kCAAmC,gBACnCC,2BAA4B,SAC5B3tC,iCAAkC,eAClC8tC,+BAAgC,aAChCD,+BAAgC,aAChCK,iCAAkC,eAClCx0B,2BAA4B,SAC5Bq0B,6BAA8B,WAC9BC,yBAA0B,OAC1BC,2BAA4B,SAC5BL,2BAA4B,SAC5BO,yBAA0B,6GAC1Bu8C,0CAA2C,8GAC3CC,8BAA+B,qIAC/B78D,yBAA0B,wGAC1BC,yCAA0C,gEAC1CC,yCAA0C,gEAC1CC,+BAAgC,kDAChCC,4BAA6B,mEAC7BC,8BAA+B,+FAC/BC,qBAAsB,4EACtBC,4BAA6B,gGAC7BggB,6BAA8B,wGAC9BC,+BAAgC,wEAChCC,+BAAgC,wEAChCC,2BAA4B,oCAC5BE,0BAA2B,eAC3BC,4BAA6B,iBAC7BE,kBAAmB,gBACnBC,QAAS,KACTF,gBAAiB,sBACjBG,0BAA2B,qBAC3B67C,0BAA2B,cAC3BC,iCAAkC,qBAClCx/D,uBAAwB,cACxBC,uBAAwB,iBACxBC,uBAAwB,iBACxBG,2BAA4B,cAC5BD,4BAA6B,QAC7BwjB,gCAAiC,kBACjCzjB,sBAAuB,UACvBx5B,qBAAsB,SACtBg9B,wBAAyB,YACzBC,sBAAuB,UACvBzH,oBAAqB,QACrB0nB,uBAAwB,WACxBC,sBAAuB,iBACvBl7B,kBAAmB,eACnBthB,oBAAqB,iBACrBy8C,yBAA0B,eAC1B18C,mBAAoB,gBACpB28C,uBAAwB,aACxBE,2BAA4B,iBAC5BC,0BAA2B,gBAC3BC,oBAAqB,UACrB/kB,0BAA2B,gBAC3BnS,mBAAoB,SACpBm3B,uBAAwB,aACxBC,sBAAuB,YACvBC,yBAA0B,eAC1BC,uBAAwB,aACxBt7C,yBAA0B,eAC1Bu7C,oBAAqB,OACrBC,oBAAqB,OACrBC,wBAAyB,WACzBC,sBAAuB,SACvBC,4BAA6B,eAC7BC,oBAAqB,OACrBC,uBAAwB,UACxB06C,wCAAyC,6BACzCC,0CAA2C,+BAC3C3+C,yBAA0B,cAC1Blc,gCAAiC,mCACjCqgB,mCAAoC,+BACpCy6C,mCAAoC,+BACpCC,0CAA2C,sCAC3Cx6C,gCAAiC,4BACjCC,gCAAiC,4BACjCC,gCAAiC,4BACjCrY,oCAAqC,gCACrCvY,qCAAsC,iCACtCwY,yCAA0C,qCAC1CC,+BAAgC,2BAChC7kC,8BAA+B,0BAC/Bi9C,iCAAkC,6BAClCC,+BAAgC,2BAChCzyC,4BAA6B,+DC9HtBtP,EAAS,CACpBC,KAAM,KACN9C,KAAM,CACJwD,OAAO,CACLC,gCAAgC,0CAElCC,OAAQ,CACNE,aAAc,wBACdD,wBAAwB,yCACxBE,oBAAoB,iBACpBC,uBAAuB,eACvBC,yBAAyB,sBACzBC,kBAAkB,oBAClBC,+BAA+B,0BAC/BC,8BAA8B,qBAC9BC,mBAAmB,iCACnBC,kBAAkB,YAClBC,qCAAqC,gKACrCC,yCAAyC,+BACzCC,6BAA6B,sBAC7BC,gCAAgC,6BAChCC,4BAA4B,kDAC5BC,yBAAyB,sFACzBC,aACA,CACE,CAACC,UAAUC,sBAAwBC,aAAa,+FAChD,CAACF,UAAUC,mBAAqBC,aAAa,0CAC7C,CAACF,UAAU,EAAEE,aAAa,yBAC1B,CAACF,UAAUC,uBAAyBC,aAAa,iFAEnDC,OAAO,CAAC,EAAE,EAAE,EAAE,GACdC,MAAM,CAAC,CAACC,MAAM,QAAQ1N,MAAM,mBAAmB,CAAC2N,OAAO,SAAS3N,MAAM,WAAW,CAAC0N,MAAM,OAAO1N,MAAM,kBAEvG4N,OACA,CACEC,wBAAwB,yCACxBC,sBAAsB,SACtBC,0BAA0B,oCAC1BC,uBAAuB,cACvBC,2BAA2B,0BAC3BC,gBAAgB,4BAChBC,iBAAiB,4BACjBC,mBAAmB,0BACnBC,qBAAqB,wBACrBC,2BAA2B,iBAC3B/B,uBAAuB,eACvBgC,8BAA8B,+BAC9BC,qBAAqB,kBACrBC,0BAA0B,aAC1BC,wBAAwB,YACxBC,yBAAyB,kBACzBC,uBAAuB,iBACvBC,wBAAwB,oBACxBC,uBAAuB,aACvBC,yBAAyB,gDACzBC,qBAAqB,oBACrBC,qBAAqB,eACrBC,mBAAmB,2BACnBC,oBAAoB,qBACpBC,4BAA4B,aAC5BC,qBAAqB,mBACrBC,iBAAiB,YACjBC,mBAAmB,YACnBC,mCAAmC,oCACnCC,mCAAmC,uCACnCC,sCAAsC,0BACtCC,+BAA+B,oCAC/BC,8BAA8B,kCAC9BC,6BAA6B,uEAC7BC,oCAAoC,+BACpCC,mCAAmC,wEACnC9C,gCAAgC,6BAChC+C,+BAA+B,iHAC/BC,kCAAkC,qDAClCC,uCAAuC,gDACvCC,8BAA8B,0BAC9BC,mCAAmC,mBACnCC,iCAAiC,0BACjCC,kCAAkC,yCAClCC,gCAAgC,+BAChCC,iCAAiC,kCACjCC,gCAAgC,sCAChCC,kCAAkC,2DClF3BpF,EAAS,CACpBC,KAAM,KACN9C,KAAM,CACJwD,OAAO,CACLC,gCAAgC,6DAElCC,OAAQ,CACNC,wBAAwB,mDACxBC,aAAc,wBACdC,oBAAoB,kBACpBC,uBAAuB,WACvBC,yBAAyB,wBACzBC,kBAAkB,oBAClBC,+BAA+B,oCAC/BC,8BAA8B,sBAC9BC,mBAAmB,6BACnBC,kBAAkB,YAClBC,qCAAqC,+IACrCC,yCAAyC,gCACzCC,6BAA6B,uBAC7BC,gCAAgC,wBAChCC,4BAA4B,kDAC5BC,yBAAyB,qGACzBC,aACA,CACE,CAACC,UAAUC,sBAAwBC,aAAa,oGAChD,CAACF,UAAUC,mBAAqBC,aAAa,gCAC7C,CAACF,UAAU,EAAEE,aAAa,2BAC1B,CAACF,UAAUC,uBAAyBC,aAAa,yFAEnDC,OAAO,CAAC,EAAE,EAAE,EAAE,GACdC,MAAM,CAAC,CAACC,MAAM,QAAQ1N,MAAM,mBAAmB,CAAC2N,OAAO,SAAS3N,MAAM,YAAY,CAAC0N,MAAM,OAAO1N,MAAM,cAExG4N,OACA,CACEC,wBAAwB,mDACxBC,sBAAsB,QACtBC,0BAA0B,yBAC1BC,uBAAuB,gBACvBC,2BAA2B,uBAC3BC,gBAAgB,qBAChBC,iBAAiB,+BACjBC,mBAAmB,oBACnBC,qBAAqB,qBACrBC,2BAA2B,kBAC3B/B,uBAAuB,WACvBgC,8BAA8B,iCAC9BC,qBAAqB,cACrBC,0BAA0B,WAC1BC,wBAAwB,UACxBC,yBAAyB,kBACzBC,uBAAuB,WACvBC,wBAAwB,eACxBC,uBAAuB,WACvBC,yBAAyB,sDACzBC,qBAAqB,yBACrBC,qBAAqB,WACrBC,mBAAmB,mBACnBC,oBAAoB,oBACpBC,4BAA4B,aAC5BC,qBAAqB,YACrBC,iBAAiB,aACjBC,mBAAmB,aACnBC,mCAAmC,gCACnCC,mCAAmC,gCACnCC,sCAAsC,oBACtCC,+BAA+B,8BAC/BC,8BAA8B,yEAC9BC,6BAA6B,gFAC7BC,oCAAoC,0CACpCC,mCAAmC,sFACnC9C,gCAAgC,wBAChC+C,+BAA+B,oGAC/BC,kCAAkC,+CAClCC,uCAAuC,uCACvCC,8BAA8B,uBAC9BC,mCAAmC,qBACnCC,iCAAiC,yBACjCC,kCAAkC,4CAClCC,gCAAgC,yBAChCC,iCAAiC,6BACjCC,gCAAgC,kCAChCC,kCAAkC,oDClF3BpF,GAAS,CACpBC,KAAM,KACN9C,KAAM,CACJwD,OAAO,CACLC,gCAAgC,kDAElCC,OAAQ,CACNE,aAAc,sBACdD,wBAAwB,oCACxBE,oBAAoB,uBACpBC,uBAAuB,QACvBC,yBAAyB,gBACzBC,kBAAkB,oBAClBC,+BAA+B,sBAC/BC,8BAA8B,wBAC9BC,mBAAmB,4BACnBC,kBAAkB,aAClBC,qCAAqC,mIACrCC,yCAAyC,+BACzCC,6BAA6B,qBAC7BC,gCAAgC,oBAChCC,4BAA4B,uDAC5BC,yBAAyB,+EACzBC,aACA,CACE,CAACC,UAAUC,sBAAwBC,aAAa,iGAChD,CAACF,UAAUC,mBAAqBC,aAAa,4BAC7C,CAACF,UAAU,EAAEE,aAAa,uBAC1B,CAACF,UAAUC,uBAAyBC,aAAa,uFAEnDC,OAAO,CAAC,EAAE,EAAE,EAAE,GACdC,MAAM,CAAC,CAACC,MAAM,QAAQ1N,MAAM,iBAAiB,CAAC2N,OAAO,SAAS3N,MAAM,WAAW,CAAC0N,MAAM,OAAO1N,MAAM,mBAErG4N,OACA,CACEE,sBAAsB,QACtBC,0BAA0B,4BAC1BC,uBAAuB,UACvBC,2BAA2B,8BAC3BC,gBAAgB,4BAChBC,iBAAiB,2BACjBC,mBAAmB,oBACnBC,qBAAqB,0BACrBC,2BAA2B,uBAC3B/B,uBAAuB,QACvBgC,8BAA8B,qBAC9BC,qBAAqB,gBACrBC,0BAA0B,iBAC1BC,wBAAwB,gBACxBC,yBAAyB,eACzBC,uBAAuB,YACvBC,wBAAwB,qBACxBC,uBAAuB,iBACvBC,yBAAyB,yDACzBC,qBAAqB,iBACrBC,qBAAqB,QACrBC,mBAAmB,wBACnBC,oBAAoB,mBACpBC,4BAA4B,aAC5BC,qBAAqB,WACrBC,iBAAiB,aACjBC,mBAAmB,SACnBC,mCAAmC,kCACnCC,mCAAmC,2BACnCC,sCAAsC,yBACtCC,+BAA+B,4BAC/BC,8BAA8B,iCAC9BC,6BAA6B,6DAC7BC,oCAAoC,oCACpCC,mCAAmC,gEACnC9C,gCAAgC,oBAChC+C,+BAA+B,yHAC/BC,kCAAkC,sCAClCC,uCAAuC,yCACvCC,8BAA8B,qBAC9BC,mCAAmC,yBACnCC,iCAAiC,mBACjCC,kCAAkC,2BAClCC,gCAAgC,qBAChCC,iCAAiC,8BACjCC,gCAAgC,0BAChCC,kCAAkC,gDCjF3BpF,GAAS,CAClBC,KAAM,KACN9C,KAAM,CACJwD,OAAO,CACLC,gCAAgC,2KAElCC,OAAQ,CACNE,aAAc,qIACdD,wBAAwB,6IACxBE,oBAAoB,+EACpBC,uBAAuB,6CACvBC,yBAAyB,iEACzBC,kBAAkB,oBAClBC,+BAA+B,sIAC/BC,8BAA8B,uEAC9BC,mBAAmB,4IACnBC,kBAAkB,0DAClBC,qCAAqC,wiBACrCC,yCAAyC,uEACzCC,6BAA6B,8EAC7BC,gCAAgC,gGAChCC,4BAA4B,wOAC5BC,yBAAyB,8VACzBC,aACF,CACE,CAACC,UAAUC,sBAAwBC,aAAa,kWAChD,CAACF,UAAUC,mBAAqBC,aAAa,uNAC7C,CAACF,UAAU,EAAEE,aAAa,uDAC1B,CAACF,UAAUC,uBAAyBC,aAAa,8UAEnDC,OAAO,CAAC,SAAI,SAAI,SAAI,UACpBC,MAAM,CAAC,CAACC,MAAM,QAAQ1N,MAAM,kCAAS,CAAC2N,OAAO,SAAS3N,MAAM,oDAAY,CAAC0N,MAAM,OAAO1N,MAAM,kEAE5F4N,OACA,CACEC,wBAAwB,6IACxBC,sBAAsB,6CACtBC,0BAA0B,8HAC1BC,uBAAuB,2BACvBC,2BAA2B,mFAC3BC,gBAAgB,4EAChBC,iBAAiB,8FACjBC,mBAAmB,6EACnBC,qBAAqB,uHACrBC,2BAA2B,+EAC3B/B,uBAAuB,6CACvBgC,8BAA8B,0IAC9BC,qBAAqB,sEACrBC,0BAA0B,qDAC1BC,wBAAwB,oDACxBC,yBAAyB,gEACzBC,uBAAuB,gEACvBC,wBAAwB,0DACxBC,uBAAuB,sEACvBC,yBAAyB,8NACzBC,qBAAqB,2CACrBC,qBAAqB,6CACrBC,mBAAmB,mFACnBC,oBAAoB,iEACpBC,4BAA4B,+DAC5BC,qBAAqB,uCACrBC,iBAAiB,qBACjBC,mBAAmB,oDACnBC,mCAAmC,mKACnCC,mCAAmC,uHACnCC,sCAAsC,iEACtCC,+BAA+B,kKAC/BC,8BAA8B,gGAC9BC,6BAA6B,uUAC7BC,oCAAoC,6GACpCC,mCAAmC,qTACnC9C,gCAAgC,0FAChC+C,+BAA+B,icAC/BC,kCAAkC,+MAClCC,uCAAuC,2IACvCC,8BAA8B,qIAC9BC,mCAAmC,wEACnCC,iCAAiC,uGACjCC,kCAAkC,uGAClCC,gCAAgC,mHAChCC,iCAAiC,6GACjCC,gCAAgC,mHAChCC,kCAAkC,uMClF7BpF,GAAS,CACpBC,KAAM,KACN9C,KAAM,CACJwD,OAAQ,CACN0E,4BAA6B,8CAC7BC,0BAA2B,uDAC3BC,sBAAuB,uDACvBC,0BAA2B,+DAC3BC,yBAA0B,sJAC1BC,qCAAsC,uGACtC9D,4BAA6B,6OAC7BhB,gCAAiC,6IACjC+E,cACE,CACE,CAAE5D,UAAWC,kBAAqBC,aAAc,uIAGtDu5F,OAAQ,CACNC,wBAAyB,+FACzBC,yBAA0B,qGAC1Bt9C,4BAA6B,iEAC7BE,oBAAqB,iCACrBC,sBAAuB,yDACvBF,mBAAoB,0DACpBG,kBAAmB,+DACnBkB,2BAA4B,gGAC5BC,8BAA+B,8HAC/BC,0BAA2B,0DAC3BC,4BAA6B,gEAC7BC,gBAAiB,sGACjBC,kBAAmB,wEACnBC,QAAS,2BACT7M,UAAW,obACXwG,WAAY,miBACZC,WAAY,0RACZC,WAAY,kQACZJ,WAAY,yhBACZ+C,wCAAyC,iWACzCJ,4CAA6C,iWAC7CxuB,8BAA+B,4aAC/BY,iBAAkB,yJAClBI,gCAAiC,6DACjCC,+BAAgC,oDAChC0yB,yBAA0B,+CAC1BC,qCAAsC,qBACtC/E,uCAAwC,wGACxC9yB,0BAA2B,8CAC3B5a,6BAA8B,+FAC9B0vC,+BAAgC,kFAChCvtC,iCAAkC,sJAClCyqF,iCAAkC,sEAClC/8C,kCAAmC,+FACnCC,2BAA4B,oDAC5BG,+BAAgC,0FAChCD,+BAAgC,oDAChCn0B,2BAA4B,0DAC5Bk0B,2BAA4B,iCAC5BG,6BAA8B,6CAC9BC,yBAA0B,iCAC1BC,2BAA4B,iCAC5BC,iCAAkC,yFAClCC,yBAA0B,6iBAC1Bu8C,0CAA2C,whBAC3CC,8BAA+B,qnBAC/B78D,yBAA0B,8aAC1BC,yCAA0C,+SAC1CC,yCAA0C,+SAC1CC,+BAAgC,uKAChCC,4BAA6B,uNAC7BC,8BAA+B,4dAC/BC,qBAAsB,uRACtBC,4BAA6B,+YAC7BggB,6BAA8B,scAC9BC,+BAAgC,+WAChCC,+BAAgC,+WAChCQ,0BAA2B,6DAC3B67C,0BAA2B,sEAC3BC,iCAAkC,kFAClCx/D,uBAAwB,4BACxBC,uBAAwB,4BACxBC,uBAAwB,4BACxBG,2BAA4B,uEAC5BD,4BAA6B,oDAC7BwjB,gCAAiC,uEACjCzjB,sBAAuB,qBACvBwD,wBAAyB,8CACzBC,sBAAuB,8CACvBj9B,qBAAsB,6CACtBk9C,uBAAwB,6CACxB1nB,oBAAqB,+DACrB2nB,sBAAuB,4EACvBl7B,kBAAmB,0FACnBthB,oBAAqB,8EACrBD,mBAAoB,sGACpB08C,yBAA0B,sGAC1BC,uBAAwB,kFACxB92B,mBAAoB,oDACpBmS,0BAA2B,+FAC3BwgE,yBAA0B,sEAC1Bx7C,uBAAwB,0FACxBC,sBAAuB,oDACvBE,uBAAwB,oDACxBt7C,yBAA0B,sJAC1Bg7C,2BAA4B,gGAC5BC,0BAA2B,6EAC3BC,oBAAqB,oDACrBG,yBAA0B,yFAC1BE,oBAAqB,qBACrBC,oBAAqB,uCACrBC,wBAAyB,uCACzBC,sBAAuB,iCACvBG,uBAAwB,mDACxBF,4BAA6B,mFAC7BC,oBAAqB,uCACrB26C,wCAAyC,4JACzCC,0CAA2C,qLAC3C76D,gCAAiC,6LACjCkc,yBAA0B,kEAC1BmE,mCAAoC,2FACpCy6C,mCAAoC,yHACpCC,0CAA2C,qIAC3Cx6C,gCAAiC,0EACjCC,gCAAiC,+EACjCC,gCAAiC,+EACjCrY,oCAAqC,wGACrCvY,qCAAsC,oHACtCwY,yCAA0C,uGAC1CC,+BAAgC,wEAChC7kC,8BAA+B,gGAC/Bi9C,iCAAkC,uGAClCC,+BAAgC,uGAChCzyC,4BAA6B,usBCpInCu8B,oiOCEMrzC,gBAAyBA,SAAkCA,+BAAlCA,0GAkCCA,oBACsBA,8BAAyDA,gBAAzDA,kGACtBA,oBACsBA,8BAAkDA,gBAAlDA,8FAJxBA,gBACEA,2BAEAA,2BAEFA,+BAJUA,uDAEAA,mFAcRA,oBACsBA,8BAAyDA,gBAAzDA,kGACtBA,oBACsBA,8BAAkDA,gBAAlDA,8FAJxBA,gBACEA,2BAEAA,2BAEFA,+BAJUA,uDAEAA,mFAgBRA,oBACsBA,8BAAgEA,gBAAhEA,4GAFxBA,gBACEA,2BAEFA,+BAFUA,yFAgBRA,oBACsBA,8BAAwDA,gBAAxDA,+FACtBA,oBACsBA,8BAAoDA,gBAApDA,8FAJxBA,gBACEA,2BAEAA,2BAEFA,+BAJUA,qDAEAA,iFAeRA,oBACsBA,8BAAoDA,gBAApDA,8FAFxBA,gBACEA,2BAEFA,+BAFUA,iFAeRA,oBACsBA,8BAAoDA,gBAApDA,8FAFxBA,gBACEA,2BAEFA,+BAFUA,iFAgBRA,oBACsBA,8BAA0DA,gBAA1DA,mGACtBA,oBACsBA,8BAAkDA,gBAAlDA,8FAJxBA,gBACEA,2BAEAA,2BAEFA,+BAJUA,wDAEAA,oFAgBRA,oBACsBA,8BACTA,gBADSA,wGAEtBA,oBACsBA,8BAAkDA,gBAAlDA,8FALxBA,gBACEA,2BAGAA,2BAEFA,+BALUA,4DAGAA,uFAQ8DA,0CAoBtEA,oBACoCA,8BAA2DA,gBAA3DA,uGAFtCA,gBACEA,2BAEFA,+BADKA,+EAiBHA,oBACsCA,8BACzBA,gBADyBA,iGAFxCA,gBACEA,2BAGFA,+BAFKA,iFAiBHA,oBACqCA,8BACxBA,gBADwBA,gGAFvCA,gBACEA,2BAGFA,+BAFKA,gFAyCHA,oBAC2CA,8BAAuDA,gBAAvDA,mGAF7CA,gBACEA,2BAEFA,+BADKA,sFAyBHA,oBACyCA,8BAAqDA,gBAArDA,gGAF3CA,gBACEA,2BAEFA,+BADKA,oOAxQbA,kBACEA,iBACEA,kBACEA,kBACEA,6FAOAA,yBAMFA,QACFA,QACAA,mBACEA,mBACEA,8FAMAA,0BAMFA,QACFA,QACAA,mBACEA,mBACEA,8FAQAA,0BAIFA,QACFA,QACFA,QACAA,kBACEA,mBACEA,mBACEA,8FAMAA,0BAMFA,QACFA,QAEAA,mBACEA,mBACEA,8FAMAA,0BAIFA,QACFA,QAEAA,mBACEA,mBACEA,8FAMAA,0BAIFA,QACFA,QACFA,QACAA,kBACEA,mBACEA,mBACEA,8FAMAA,0BAMFA,QACFA,QAEAA,mBACEA,mBACEA,8FAOAA,0BAOFA,QACFA,QACAA,mBACEA,sBACkBA,mDAASszC,6CAC+CtzC,0BAC/CA,iBAAkDA,oBAEzEA,gCAAgDA,QAAOA,QAC7DA,QACFA,QACAA,kBAEEA,mBACEA,mBACEA,qBAAuCA,gCACrCA,0CACEA,oBACsDA,QACxDA,mBAAQA,cAACA,QAASA,QACpBA,yBAGEA,4DAAiB4pB,mBAAuB5pB,QAC1CA,0BAIFA,QACFA,QAEAA,mBACEA,mBACEA,qBAA0CA,gCACxCA,0CACEA,oBACsDA,QACxDA,mBAASA,eAACA,QAASA,QACrBA,yBAIAA,0BAKFA,QACFA,QACAA,mBACEA,mBACEA,qBAAyCA,gCACvCA,2CACEA,qBACsDA,QACxDA,oBAASA,gBAACA,QAASA,QACrBA,0BAIAA,2BAKFA,QACFA,QAEFA,QACAA,iBACEA,oBACEA,sBAEAA,sBAAsDA,kCACpDA,4CACEA,qBACsDA,QAAOA,QACnEA,QACFA,QACAA,mBACEA,oBACEA,oBACEA,sBACuBA,kCACrBA,4CACEA,qBACsDA,QACxDA,oBAAQA,eAACA,QAASA,QACpBA,oBACEA,yBAMAA,oBACEA,uBACEA,qDAAS6jG,kCAEK7jG,QAClBA,QACFA,QACAA,2BAIFA,QACFA,QACAA,oBACEA,oBACEA,sBAA6CA,kCAC3CA,4CACEA,qBACsDA,QAAOA,QACjEA,oBACEA,yBAKEA,4DAAiB8jG,0BALnB9jG,QAMAA,oBACEA,uBACEA,qDAAS+jG,kCAEK/jG,QAClBA,QACFA,QACAA,0BAIFA,QACFA,QACFA,QACFA,8CAzQkCA,8BAAe,sBAAfA,CAAe,kBAAfA,CAAe,6DAAfA,CAAe,oBAAfA,CAAe,wDAAfA,CAAe,eAAfA,CAAe,0DAAfA,CAAe,2DAOlCA,0DAUOA,8BAAe,sBAAfA,CAAe,yDAAfA,CAAe,eAAfA,CAAe,kBAAfA,CAAe,+EAAfA,CAAe,oBAAfA,CAAe,2DAAfA,CAAe,2DAMtBA,0DAUOA,8BAAe,sBAAfA,CAAe,kBAAfA,CAAe,mEAAfA,CAAe,oBAAfA,CAAe,gEAAfA,CAAe,2DAAfA,CAAe,kEAQtBA,iEAUOA,8BAAe,sBAAfA,CAAe,sDAAfA,CAAe,eAAfA,CAAe,kBAAfA,CAAe,8DAAfA,CAAe,mBAAfA,CAAe,2DAAfA,CAAe,yDAMtBA,wDAWOA,8BAAe,kBAAfA,CAAe,8EAAfA,CAAe,mBAAfA,CAAe,sDAAfA,CAAe,eAAfA,CAAe,4DAMtBA,wDASOA,8BAAe,kBAAfA,CAAe,8EAAfA,CAAe,mBAAfA,CAAe,sDAAfA,CAAe,eAAfA,CAAe,4DAMtBA,wDAUOA,8BAAe,sBAAfA,CAAe,0DAAfA,CAAe,eAAfA,CAAe,kBAAfA,CAAe,oEAAfA,CAAe,mBAAfA,CAAe,2DAAfA,CAAe,4DAMtBA,2DAWOA,8BAAe,sBAAfA,CAAe,+DAAfA,CAAe,eAAfA,CAAe,2DAAfA,CAAe,kBAAfA,CAAe,iEAAfA,CAAe,mBAAfA,CAAe,gEAOtBA,+DAYPA,sFAFoEA,4BAGjEA,iCAEDA,wEAOqCA,0EAC/BA,gFAIGA,iDAAmC,cAAnCA,CAAmC,kCAIvCA,wDASmCA,oEAClCA,yEAIGA,mDAAqC,cAArCA,CAAqC,oCAIzCA,0DASkCA,mEACjCA,mFAIGA,kDAAoC,cAApCA,CAAoC,mCAIxCA,yDAa6CA,qEAC9CA,kFASiBA,uEACfA,oFAOJA,oEADAA,+BAAuB,iBAAvBA,CAAuB,kBAAvBA,CAAuB,2BAAvBA,CAAuB,sCAQrBA,kFAICA,+DAQsCA,qEACrCA,oFAKiBA,kEACrBA,wBAAgB,kBAAhBA,CAAgB,2BAAhBA,CAAgB,sCAOdA,kFAICA,uFAkBfA,kBACEA,oBAC0BA,8BAA0CA,QACpEA,uBACEA,+CAEFA,QACFA,gBAL4BA,wDAGtBA,kGA8HAA,eAAgEA,kBACDA,oCAS3DA,6DACqBA,mBADmDA,sBAA8B,kDAEtGA,6DACEA,0BAAmBA,mBADmDA,mDAGpEA,mBACEA,iBAA0DA,2BAAeA,oBAC1CA,SAAgBA,QAAOA,QAEtDA,iBAA0DA,2BAAeA,oBAC1CA,SAAeA,QAAOA,QACrDA,iBAA0DA,4BAAeA,qBAC1CA,UAAeA,QAAOA,QACrDA,kBAA0DA,2BAAcA,qBACvCA,2BAAsCA,QAAOA,QAC9EA,kBAA0DA,2BAAcA,qBAC1CA,2BAAsCA,QAAOA,QAE7EA,mDAXiCA,sCAGAA,sCAEAA,sCAEEA,sEAEHA,oIArBtCA,gBAKEA,wBAEAA,wBAEEA,8CAgBJA,mCArB2BA,qCADzBA,kEAFAA,gEAA+D,6CAIzDA,yCAEAA,oEAqBRA,iBACAA,mBAGFA,eAJwCA,yFAlJ9CA,kBACEA,iBACEA,kBACEA,kBACAA,iBAAkDA,8BAAmDA,QASrGA,uBACEA,kBACEA,qBASEA,qBACFA,QACAA,mBACEA,iBAAmBA,mDAASyzC,oBAAmBzzC,8BAAiBA,QAChEA,iBAAmBA,mDAAS0zC,sBAAqB1zC,iCAAoBA,QACvEA,QAEJA,QAEIA,mBACEA,wBAA0EA,sDAAU2zC,qBAApF3zC,QAEAA,qBAAiEA,gCAAiDA,QACpHA,QACFA,QACJA,QACEA,kBAA4BA,gCAE5BA,QACFA,QACFA,QACAA,kBACEA,mBAmEEA,wBAEFA,mBACEA,+BAEEA,yBA0BFA,QACAA,gBACEA,wBAKFA,QACFA,QACAA,QACFA,QACFA,gCAvJwDA,gEA+B5BA,uCACiDA,+DAI3CA,wJAyEtBA,4EAG0CA,sCAAqB,gCAArBA,CAAqB,0BAArBA,CAAqB,iCAE/CA,0CA4BAA,qEAwBtBA,eAAoCA,mBAC6BA,qCAS3DA,6DACqBA,mBADmDA,sBAA8B,mDAEtGA,6DACEA,0BAAmBA,mBADmDA,oDAGpEA,mBACEA,iBAA0DA,2BAAeA,oBAC1CA,SAAgBA,QAAOA,QAEtDA,iBAA0DA,2BAAeA,oBAC1CA,SAAeA,QAAOA,QACrDA,iBAA0DA,4BAAeA,qBAC1CA,UAAeA,QAAOA,QACrDA,kBAA0DA,2BAAcA,qBACvCA,2BAAuCA,QAAOA,QAC/EA,kBAA0DA,2BAAcA,qBAC1CA,2BAAsCA,QAAOA,QAE7EA,mDAXiCA,sCAGAA,sCAEAA,sCAEEA,uEAEHA,oGArBtCA,gBAKEA,yBAEAA,yBAEEA,+CAgBJA,mCArB2BA,qCADzBA,kEAFAA,gEAA+D,6CAIzDA,yCAEAA,oEA0BmBA,oBACOA,yBAAtCA,4BADqCA,gEAGVA,gBAAIA,4BAC/BA,qCADqCA,kFAL3CA,kCAAgMA,0DAAc6zC,YAAgB,WAA9B7zC,CAAwC,8EAEtOA,kCAGAA,kCAGFA,gCARiJA,sCAA8B,cAA9BA,CAA8B,8BAA9BA,CAA8B,YAA9BA,CAA8B,YAA9BA,CAA8B,kDAvC/KA,kBACEA,mBACEA,kBACEA,wBAEAA,kBACEA,8BAEEA,wBA0BFA,QACFA,QACFA,QACFA,QACFA,QACAA,4DApCYA,iDAG4CA,uCAAqB,iCAArBA,CAAqB,0BAArBA,CAAqB,kCAE/CA,0CA+BsFA,4FAkC1GA,cACEA,cACEA,SACFA,QACAA,cACEA,SACFA,QACAA,cACEA,yBACFA,QACAA,cACEA,SACFA,QACAA,mBACEA,uBACEA,mEAAS8zC,8CACT9zC,kBACFA,QACAA,uBACEA,mEAAS+zC,iEACT/zC,kBACFA,QACAA,kBAAkDA,6CAEhDA,kBACJA,QAASA,QACTA,QACFA,oCAzBIA,0CAGAA,+BAGAA,kEAGAA,mCAGsBA,gFAIAA,8EAInBA,4CAAqEA,uGAa7CA,oBACOA,yBAAtCA,4BADqCA,gEAGVA,gBAAIA,4BAC/BA,qCADqCA,kFAP3CA,kCAEiDA,0DAAcg0C,YAAgB,cAA9Bh0C,CAA2C,8EAE1FA,kCAGAA,kCAGFA,gCAREA,sCAA8B,cAA9BA,CAA8B,8BAA9BA,CAA8B,YAA9BA,CAA8B,YAA9BA,CAA8B,gEAhDpCA,kBAEEA,kBACEA,mBACEA,qBACEA,oBACEA,cACEA,kBAAkCA,8BAA4CA,QAC9EA,cAAIA,gCAA4CA,QAChDA,eAAIA,gCAAoDA,QACxDA,eAAIA,gCAA4CA,QAChDA,eAAIA,gCAA+CA,QACrDA,QACFA,QACAA,kBACEA,4BA4BFA,QACFA,QACFA,QACAA,sCAWAA,oBACEA,uBAEEA,0DAASi0C,4BAAuBA,iCAChCj0C,qBAAoDA,gCAEtDA,QACAA,uBAEEA,0DAASk0C,0BAAqBA,iCAC9Bl0C,qBAAmDA,gCAErDA,QACFA,QACFA,QACFA,gCAjE8CA,yDAC9BA,0DACAA,kEACAA,0DACAA,6DAImBA,yCAgCsBA,+CAYjDA,oFAEoDA,uEAIpDA,kFACyCA,yCACUA,+FAoBiBA,+DAD5FA,sBACgEA,mDAAUm0C,UAAS,0BAASn0C,2BACnCA,8BACzDA,gCAFEA,kEAD2EA,4BACsBA,iCAC1CA,+FAImCA,+DAD5FA,sBACmEA,mDAASo0C,UAAS,0BAAOp0C,2BACnCA,8BACzDA,gCAFEA,mEADuEA,4BAC0BA,iCAC1CA,gGAIyCA,+DADlGA,sBACyEA,mDAASq0C,UAAS,0BAAOr0C,2BAEzCA,8BACzDA,gCAHEA,yEAD8DA,4BAE3DA,iCACoDA,gHAGzDA,sBAAgEA,mDAASs0C,uCAENt0C,8BACnEA,eADEA,mEAAiEA,0GAGnEA,sBAAiEA,mDAASu0C,6CAEhBv0C,8BAC1DA,eADEA,4DAAwDA,6FAG5DA,kBAA2CA,SAA+DA,+BAA/DA,kLAppB/CA,eACEA,iBACEA,gBAAqEA,SACnEA,yBACAA,kBACAA,kBACFA,QAAOA,oBACHA,kDAASw0C,4CACuDx0C,gBAAOA,QAC3EA,QACAA,kBACEA,mBAA8BA,qDAAYy0C,aACxCz0C,sBACEA,kBACEA,mBACEA,mBACEA,qBACEA,kBAAqBA,kDAAS00C,YAAY,KACxC10C,iBAA2BA,gCAAoDA,QAC/EA,qCAqRFA,QACAA,kBACEA,iBAAgBA,kDAAS20C,YAAY,KAAe30C,gCAAwCA,QAC5FA,iCAeFA,QACAA,kBACEA,iBAAgBA,kDAAS40C,YAAY,KAAe50C,gCAAyCA,QAC7FA,oCAmKFA,QACAA,kBACEA,iBAAgBA,kDAAS60C,YAAY,KAAe70C,gCAA0CA,QAC9FA,kCAwDFA,QACAA,kBACEA,iBAAgBA,kDAAS80C,YAAY,KAAe90C,gCAA4CA,QAChGA,oCAgFFA,QACFA,QACAA,mBACFA,QACFA,QACFA,QACFA,QACFA,QACFA,QACFA,QACAA,mBACEA,mBACEA,6BAKAA,6BAKAA,6BAMAA,6BAKAA,6BAIFA,QACAA,0BACFA,QACFA,2CAppByEA,yCAC5DA,mCACDA,2CAIJA,4EAGIA,wCAMUA,+BACyBA,kEAuRzBA,+BAAgB,mCACkCA,wDAiBlDA,+BAAgB,mCACkCA,yDAqKlDA,+BAAgB,mCACkCA,0DA0DlDA,+BAAgB,mCACkCA,4DAmFnDA,iCAUQA,6CAKAA,oCAKAA,mCAMAA,+DAKAA,8DAKLA,0CD9lBjB,IAAMgkG,GAAb,eAAaA,GAAb,WAqFE,YACUv+E,GACAvM,EACAkM,EACAhW,GACAxL,EACA2hB,GACAC,EACArW,EACAtU,EACAkoB,GACAy1E,GACAxjD,GACAtxC,EACwBiB,IAAS,4BAbjCxJ,qBACAA,sBACAA,iBACAA,sBACAA,gBACAA,eACAA,6BACAA,+BACAA,0BACAA,6BACAA,iBACAA,uBACAA,eACwBA,aA7F3BA,cAAU,EACVA,gBAAY,EAIZA,WAAQ,GAMRA,gBAAqB,EACrBA,mBAAwB,EAC/BA,UAAa,IAAIuhB,KACVvhB,eAAkB,IAAIuhB,KACtBvhB,iBAAoB,IAAIuhB,KACxBvhB,kBAAgD,GAChDA,mBAAiD,GACjDA,+BAA+D,GAE9DA,kBAAc,EAOfA,0BAAuB,EAE9BA,UAAK,EACLA,sBAAqC,IAAI4d,MACzC5d,kBAAoB,GACpBA,mBAAqB,GAErBA,+BAAuD,IAAI8oG,KAE3D9oG,sBAAwB,EACxBA,0BAA4B,EAC5BA,WAAgB,EAChBA,kBAAuB6I,QAAe,2CAE/B7I,cAAyB,IAAI85C,KAAa,CAC/C7kB,IAAKj1B,KAAK+5C,aACVC,SAAS,EACTC,OAAQ,MACRC,UAAW,0BACXC,kBAAkB,EAClBC,mBAAoB,SAACl6B,GAAD,OAAoBA,EAAKm6B,OAC7CC,2BAA2B,EAC3BC,YAAa,WAEbC,UAAW,UAAYx6C,KAAKqqB,sBAAsB1G,iBAAiBC,MACnE62B,gBAAiB,CAAC,QAAS,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,QAAS,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,SAG9Hz6C,cAAW,CACT26C,SAAS,EACTC,gBAAiB,cACjBC,YAAY,EACZC,SAAS,EACTp4B,UAAU,EACVq4B,WAAW,EACXC,YAAY,EACZC,OAAM,EACNC,oBAAoB,EACpBC,sBAAqB,EACrBC,QAAS,CAAC0T,KAAM+3C,IAAWvrD,KAAUC,KAAYC,KAAQG,IAASb,IAASuC,IAAOypD,OAI7E9mG,SAAM,EAEbA,WAAmC,GAEnCA,qBAAuB,EAEvBA,iBAAY,EA4CZA,mBAAgB,SAAO47C,GAAP,OAAiBC,iHAC/B77C,KAAK87C,eAAenmB,eADW,2CAGjC31B,mBAAgB,SAAO47C,GAAP,OAAiBC,gIAC/BD,EAAOK,SAAS0B,SAASC,WAAa59C,KAAKqqB,sBAAsB1G,iBAAiBk6B,UAAUC,uBAC5F99C,KAAKg8C,aAAeJ,EAAOK,SAC3Bj8C,KAAK87C,eAAiBF,EAAOK,UAOvBC,GAAWl8C,KAAKg8C,aAAaE,UAC1BC,OAXsB,wJAY/BD,GAASC,OAZsB,0KAa/BD,GAASC,OAbsB,+LAe/B58C,SAAS68C,eAAe,2BAA2Bn4C,iBAAiB,QAAS,kBAAW43C,gIAChFQ,UAAST,EAAOK,SAASK,aAAaV,EAAOK,SAASM,OAD0BsiD,UAEhF7+F,KAAKy8C,iBAAiBJ,GAAOK,UAFmD,EAGlFC,GAAgB1zC,KAAKC,MAAMD,KAAKW,UAAUgyC,EAAOK,SAASK,eACxDM,GAAsBD,GAAc5yC,OAAO,SAACmW,GAAMq8B,IAAP,OAAiBA,KAAUX,EAAOK,SAASM,QAC5FX,EAAOK,SAASa,aAAaF,GAAqBx2B,KAAK22B,IAAInB,EAAOK,SAASM,MAAQ,EAAG,IACtFX,EAAOK,SAASe,eAAgB,EACZ,KAPkE,6CASxFz9C,SAAS68C,eAAe,6BAA6Bn4C,iBAAiB,QAAS,WAC7E,IAAMg5C,GAAkD,IAAI8rD,KACtD1sD,GAAST,EAAOK,SAASK,aAAaV,EAAOK,SAASM,OAGzDF,GAAOc,IACRF,GAAiBG,aAAef,GAAOc,IAC/Bd,GAAOgB,QACbJ,GAAiBG,aAAen0C,KAAKC,MAAMmzC,GAAOgB,OAAOC,OAAO,GAAGH,KAEvEF,GAAiByD,WAAarE,GAAOK,IAErCuG,GAAKzF,mBAAmBP,MAE1B19C,SAAS68C,eAAe,yBAAyBn4C,iBAAiB,QAAS,WACzEg/C,GAAKxF,yBAvCwB,4CA8CjCz9C,oBAAiB,SAAO47C,GAAP,OAAiBC,gIAChCD,EAAOK,SAAS0B,SAASC,WAAa59C,KAAKqqB,sBAAsB1G,iBAAiBk6B,UAAUC,uBAC5F99C,KAAKg8C,aAAeJ,EAAOK,SAC3Bj8C,KAAK87C,eAAiBF,EAAOK,UAOvBC,GAAWl8C,KAAKg8C,aAAaE,UAC1BC,OAXuB,yJAYhCD,GAASC,OAZuB,2KAahCD,GAASC,OAbuB,gMAehC58C,SAAS68C,eAAe,4BAA4Bn4C,iBAAiB,QAAS,kBAAW43C,gIACjFQ,UAAST,EAAOK,SAASK,aAAaV,EAAOK,SAASM,OAD2BsiD,UAEjF7+F,KAAKy8C,iBAAiBJ,GAAOK,UAFoD,EAGnFC,GAAgB1zC,KAAKC,MAAMD,KAAKW,UAAUgyC,EAAOK,SAASK,eACxDM,GAAsBD,GAAc5yC,OAAO,SAACmW,GAAMq8B,IAAP,OAAiBA,KAAUX,EAAOK,SAASM,QAC5FX,EAAOK,SAASa,aAAaF,GAAqBx2B,KAAK22B,IAAInB,EAAOK,SAASM,MAAQ,EAAG,IACtFX,EAAOK,SAASe,eAAgB,EACZ,KAPmE,6CASzFz9C,SAAS68C,eAAe,8BAA8Bn4C,iBAAiB,QAAS,WAC9E,IAAMg5C,GAAkD,IAAI8rD,KACtD1sD,GAAST,EAAOK,SAASK,aAAaV,EAAOK,SAASM,OAGzDF,GAAOc,IACRF,GAAiBG,aAAef,GAAOc,IAC/Bd,GAAOgB,QACbJ,GAAiBG,aAAen0C,KAAKC,MAAMmzC,GAAOgB,OAAOC,OAAO,GAAGH,KAEvEF,GAAiByD,WAAarE,GAAOK,IACrCuG,GAAKzF,mBAAmBP,MAE1B19C,SAAS68C,eAAe,0BAA0Bn4C,iBAAiB,QAAS,WAC1Eg/C,GAAKxF,yBAtCyB,4CA+rClCz9C,mBAAgB,SAAC47C,GACA8B,EA1wCf19C,KAAKgU,wBAAwBc,UAAUC,GAASC,EAAQC,EAAQC,GAAYC,GAAUC,IACtFpV,KAAKU,gBAAkB,IAAIC,KAC3BX,KAAK6pB,MAAQrgB,GACbxJ,KAAKuqB,WAAWvqB,KAAKiU,cAAcuW,gBAAgBC,cACnDzqB,KAAK+9C,YAAY/9C,KAAKiU,cAAcuW,gBACpCxqB,KAAKg+C,WAAah+C,KAAKiU,cAAcgqC,gBA1GzC,kDA6GE,WAAkB,WAChBlzC,WAAW,WACLi+F,EAAK7qD,YACP6qD,EAAK7qD,WAAWxzB,QAAQnnB,cAAconB,QAChCo+E,EAAK5qD,OACT4qD,EAAK5qD,MAAM56C,cAAconB,SAC5B,OAnHP,gCAsHE,WACM5qB,KAAKq+C,cACHr+C,KAAKg8C,cACTh8C,KAAK87C,eAAenmB,UAEpB31B,KAAKq+C,aAAc,KA3HzB,6BA8NE,WAEEK,SAAU,CACRjwC,MAAO,QACPkwC,KAAM,oDACNC,SAAU,0CACVC,kBAAkB,EAClBC,mBAAoB,UAEpBC,kBAAmB,OACnBC,iBAAkBh/C,KAAK+qB,mBAAmBvhB,KAAKq+F,OAAO3sE,+BACtDgkB,YAAa,CACXC,cAAe,kBACfC,aAAc,2BA3OtB,sBAkPE,WAAQ,WACNp/C,KAAKipG,WAAa,IAAIC,KACtBlpG,KAAKN,mBAAmB6B,OAAOC,MAAKC,QAAUzB,KAAKU,kBAAkBgB,UAAU,YAC7EsnG,EAAKl+E,WAAavpB,IAEpBvB,KAAK+qB,mBAAqB/qB,KAAKgrB,6BAA6BhrB,KAAK8qB,WAAWG,IAAIC,aAChFlrB,KAAKsrB,YAAatrB,KAAK+qB,mBAAmBvhB,KAAKq+F,OAAOroD,UACtDx/C,KAAKmrB,YAAcnrB,KAAK+qB,mBAAmBvhB,KAAKq+F,OAAOC,wBACvD9nG,KAAKmpG,UAAYnpG,KAAKsqB,aAAamB,MAAM,CACvCi0B,WAAY,CAAC,GAAI/zB,eACjBy9E,WAAY,CAAC,GAAIz9E,eACjB09E,kBAAmB,CAAC,GAAI19E,eACxBqE,SAAU,CAAC,GAAIrE,eACfsE,SAAU,CAAC,IACXC,SAAU,CAAC,IACXC,YAAa,CAAC,GAAIxE,eAClByE,QAAS,EAAGzE,eACZ0E,gBAAiB,CAAC,GAAI1E,eACtB2E,UAAW,EAAG3E,eACd4E,SAAU,EAAG5E,eACb29E,gBAAiB,GACjBC,eAAgB,EAAG59E,eACnB69E,aAAc,GACd16D,MAAO,UAKiB,IAAf9uC,KAAK6pB,QACV7pB,KAAK6pB,MAAQ,IACf7pB,KAAK+rB,WAAY,EACjB/rB,KAAKmrB,YAAcnrB,KAAK+qB,mBAAmBvhB,KAAKq+F,OAAOE,0BAQzD/nG,KAAKypG,2BAA6BzpG,KAAKiU,cAAc8L,aAJzC,CACVkgC,SAAUjgD,KAAK6pB,MACfq2B,OAAM,GAJK,wCAOV1+C,MACCwG,QAAI,SAACwB,GACH,GAAIA,EAAK4iB,QAAU/d,aACjB,SAAKq7F,0BAAuDzgG,KAAKC,MAAO8/F,EAAKvgG,SAASG,IAAIC,gBAAsBW,EAAKA,OACjHw/F,EAAKU,0BAA0BC,oBACjCX,EAAKU,0BAA0BC,mBAAmBz9F,QAAQ,SAAOm0C,IAAP,OAAcxE,iHACvB,aAA3CwE,GAAIC,gBAAgB3zB,oBAD8C,gBAEpE3sB,KAAKugD,aAAavpC,KAAKqpC,IAF6CwJ,6BAI7DxJ,GAAIC,gBAAgB3zB,oBAJyCk9B,SAK9D7pD,KAAKygD,iBAAiBJ,GAAIK,WAAYL,GAAIjD,aAAciD,GAAIM,gBAAiBN,GAAIO,KAAMP,GAAIC,gBAAgBD,GAAInzB,YAAamzB,GAAIlzB,kBALlE,EAMpEntB,KAAKq+C,aAAc,OANiD,2CAUtE2qD,EAAKU,0BAA0BE,aACjCZ,EAAKC,WAAaD,EAAKU,0BAA0BE,WACjDZ,EAAKG,UAAUp2E,SAAS,CACtB/C,SAAUg5E,EAAKC,WAAWj5E,SAC1BC,SAAU+4E,EAAKC,WAAWh5E,SAC1BC,SAAU84E,EAAKC,WAAW/4E,SAC1Bq5E,eAAgB/8E,mBAAgBw8E,EAAKC,WAAWM,gBAChDC,aAAch9E,mBAAgBw8E,EAAKC,WAAWO,cAC9C9pD,WAAYspD,EAAKC,WAAWvpD,WAC5B0pD,WAAYJ,EAAKC,WAAWG,WAC5B/4E,gBAAiB24E,EAAKC,WAAW54E,gBACjCF,YAAa64E,EAAKC,WAAW94E,YAC7BI,SAAUy4E,EAAKC,WAAW14E,SAC1BD,UAAW04E,EAAKC,WAAW34E,UAC3BF,QAAS44E,EAAKC,WAAW74E,QACzBi5E,kBAAmBL,EAAKC,WAAWI,kBACnCv6D,MAAOk6D,EAAKC,WAAWn6D,MACvBw6D,gBAAiBN,EAAKC,WAAWK,kBAG/BN,EAAKC,WAAW34E,WAClB04E,EAAKG,UAAUvgG,IAAI,aAAaqoB,SAE9B+3E,EAAKC,WAAW74E,SAClB44E,EAAKG,UAAUvgG,IAAI,WAAWqoB,UAI3B+3E,EAAKU,0BAGZV,EAAKjrF,eAAe0O,MAAMD,qBAAkBhjB,EAAKkV,SAAU7V,uBAG7D,SAACrD,GACCwjG,EAAKjrF,eAAe0O,MAAMjnB,EAAOqD,sBACjCmgG,EAAKxjG,MAAQA,MAMvBxF,KAAKqxB,kBAAoBrxB,KAAK+qB,mBAAmBvhB,KAAKq+F,OAAO53F,mBAC7DjQ,KAAKsxB,mBAAqBtxB,KAAK+qB,mBAAmBvhB,KAAKq+F,OAAO33F,oBAC9DlQ,KAAKuxB,iBAAmBvxB,KAAK+qB,mBAAmBvhB,KAAKq+F,OAAOr2E,kBAC5DxxB,KAAKmpG,UAAUvgG,IAAI,aAAa6oB,UAChCzxB,KAAKmpG,UAAUvgG,IAAI,YAAY6oB,UAE/BzxB,KAAKu+C,SAASuC,kBAAoB,SAAC17B,GAC7B4jF,EAAKzqD,SAASC,MAAM5lC,OAAO,GAAkC,GAA3BowF,EAAKzqD,SAASwC,cAClDioD,EAAKhoD,qBAAoB,GAC3B57B,EAAK67B,iBAAkB,GAEzBjhD,KAAKu+C,SAAS2C,gBAAkB,SAACC,EAAeC,IAC9CD,EAASF,iBAAkB,GAE7BjhD,KAAKu+C,SAAS8C,mBAAqB,SAACF,GAClC,SAAKv5B,qBAAqBqE,eAC1B+8E,EAAKzqD,SAAS+C,WAAW,CACvBz+B,QAAS,CACP,CAAE3gB,KAAM,8BAA+BnB,MAAO,KAC9C,CAAEmB,KAAM,WAAYnB,MAAOogD,EAAS/7B,KAAK1e,MACzC,CAAExE,KAAM,gBAAiBnB,MAAOyrB,qBAAkBw8E,EAAK3+E,sBAAsB1G,iBAAiBoJ,gBAC9F,CAAE7qB,KAAM,eAAgBnB,MAAOyrB,qBAAkBw8E,EAAKn/E,WAGnDs3B,GAKTnhD,KAAKu+C,SAASgD,SAAS7/C,UAAU,SAAM2f,GAAN,OAAew6B,qIAC1Cx6B,EAD0C,qBAE5CrhB,KAAK4nB,qBAAqBqE,eACtBu1B,EAAUv4C,KAAKC,MAAMmY,GACE,KAA3BrhB,KAAQu+C,SAASkD,UACfzhD,KAAK0hD,iBAAgB,EACrB1hD,KAAK4nB,qBAAqBqE,gBACG,KAAxBjsB,KAAKu+C,SAASkD,WACrBzhD,KAAK0hD,iBAAgB,EACrB1hD,KAAKghD,qBAAoB,EAEzBhhD,KAAK4nB,qBAAqBM,eAEtBs5B,EAAQp1B,QAAU/d,aAbsB,qBAc1CrO,KAAK+d,eAAe8P,QAAQ,8BAC5B7tB,KAAK2hD,YAAc3hD,KAAK2hD,YAAY,EAIuB,cAHvDkoD,EAAiD5gG,KAAKC,MAAMlJ,KAAKyI,SAASG,IAAIC,gBAAsB24C,EAAQh4C,QAG5F82C,gBAAgB3zB,oBAnBM,kBAoBxC3sB,KAAKugD,aAAavpC,KAAK6yF,GACvB7pG,KAAK6hD,cAAc7qC,KAAK6yF,GArBgBxC,gCAuBjCwC,EAAgBvpD,gBAAgB3zB,oBAvBC06E,WAwBlCrnG,KAAKygD,iBAAiBopD,EAAgBnpD,WAAYmpD,EAAgBzsD,aAAcysD,EAAgBlpD,gBAAiBkpD,EAAgBjpD,KAAMipD,EAAgBvpD,gBAAgBupD,EAAgB38E,YAAa28E,EAAgB18E,kBAxBlL,qBAyBlCntB,KAAK8hD,kBAAkB+nD,EAAgBnpD,WAAYmpD,EAAgBzsD,aAAcysD,EAAgBlpD,gBAAiBkpD,EAAgBjpD,KAAMipD,EAAgBvpD,gBAAgBupD,EAAgB38E,YAAa28E,EAAgB18E,kBAzBnL,GA0BxCntB,KAAKq+C,aAAc,OA1BqB,4BA6BnCmD,EAAQp1B,QAAU/d,mBACzBrO,KAAK4nB,qBAAqBM,cAC1BloB,KAAKu+C,SAASwD,YACd/hD,KAAKu+C,SAASyD,aACdtD,SAAU,CACRjwC,MAAO,eACPkwC,KAAM6C,EAAQ9iC,QACdujC,KAAM,QACNpD,kBAAkB,EAClBC,mBAAoB,UACpBoD,kBAAmB,UACnBnD,kBAAmB,mBACnBC,iBAAkBh/C,KAAK+qB,mBAAmBvhB,KAAKq+F,OAAO3sE,+BACtDgkB,YAAa,CACXC,cAAe,kBACfC,aAAc,yBAGfr3B,KACE,SAAO1G,IAAP,OAAiBw6B,8GACZx6B,GAAOtgB,QAETf,KAAKiqB,UAAUppB,OAAM,GACrBb,KAAKuI,QAAQ45C,SAAS,CAAC,yBAJT,iDAhDoB,8CA8DhDniD,KAAKiqB,UAAUyC,gBAAgBhrB,UAAU,YACD,WAAlCd,EAAMuE,IAAIwnB,qBACZq8E,EAAK5mD,oBAhbb,sBAqbE,SAASxhD,EAAMyhD,GAGbriD,KAAKsiD,kBAAkBD,EAASzhD,KAxbpC,+BA4bG,SAAkB2hD,EAAUC,GAAK,YAChCxiD,KAAKyiD,aAAa,GAClBziD,KAAKugD,aAAe,GAEjBiC,IACHxiD,KAAKwiD,KAAOA,GACZ,IAAIE,EAA6B,CAC/BC,SAAU3iD,KAAK6pB,MACf+4B,KAAK5iD,KAAKwiD,KACVK,SAAS,GACTN,SAASA,EAETO,eAAc,GAEhB9iD,KAAK4nB,qBAAqBqE,eAC1BjsB,KAAK65C,eAAeiwD,2BAA2BpnD,GAA4BhhD,UAAU,SAAM2f,IAAN,OAAew6B,+HAC9Fx6B,KACEA,GAAO+K,QAAU/d,eACf20C,EAAkB/5C,KAAKC,MAAMlJ,KAAKyI,SAASG,IAAIC,gBAAsBwY,GAAO7X,SAG9Ew5C,EAAgB92C,QAAQ,SAAMm0C,IAAN,OAAaxE,0HACY,aAA3CwE,GAAIC,gBAAgB3zB,oBADW,gBAEjC3sB,KAAKugD,aAAavpC,KAAKqpC,IAFUwgD,6BAI1BxgD,GAAIC,gBAAgB3zB,oBAJMk0E,SAK3B7gG,KAAKygD,iBAAiBJ,GAAIK,WAAYL,GAAIjD,aAAciD,GAAIM,gBAAiBN,GAAIO,KAAMP,GAAIC,gBAAgBD,GAAInzB,YAAamzB,GAAIlzB,kBALrG,EAMjCntB,KAAKq+C,aAAc,OANc,GAQd,QAAlBwnD,KAAgB,UAAErxE,iBAAE2uB,sBAAqB,IAC1CnjD,KAAKojD,YAA8B,QAAlBF,IAAgB,UAAExuB,eAAEyuB,2BATJ,2CAYzCnjD,KAAK4nB,qBAAqBM,gBAGxBloB,KAAK4nB,qBAAqBM,cAC1BloB,KAAK+d,eAAe0O,MAAMpL,GAAOgiC,QAASx6C,6BAtBoD,8CA3cxG,8BAueE,SAAiBy6C,GACfj+C,QAAQ6d,IAAIogC,GACZ0lD,EAAe,GAAkC,GAA3BhpG,KAAKu+C,SAASwC,YAClC/gD,KAAKghD,qBAAoB,EACL,GAAZsC,IACLtjD,KAAKghD,qBAAoB,EACzBhhD,KAAK0hD,iBAAgB,KA7e9B,4BAgfE,SAAe9gD,GAEbZ,KAAKu+C,SAASE,cAlflB,+BAofQ,SAAkB8E,EAAaC,EAAcC,GAAsBC,EAAsBrB,GAAiBn1B,EAAoBC,mJAE5Ho2B,OACEG,OACDF,WACOxjD,KAAK2jD,kBAAkBH,8BAE1BC,QAAcC,OACjBrB,QACAoB,QACMv2B,OACAC,EAGdntB,KAAK4jD,cAAc5sC,KAbb6sC,CACJhH,QACAn2C,UACAy2C,SACA3zC,UACAs6C,MAAO,yEACPC,aAAuBL,kBACvB1hD,UACAE,UACA8hD,iBACAC,mBAIEH,GAAQ9jD,KAAKkkD,MAAMV,GAElBM,kCACW9jD,KAAKmkD,8BAA8BX,EAAMnB,YACvDriD,KAAKkkD,MAAMV,GADXM,UACmBA,qBAIfP,QACEG,QACDF,YACOxjD,KAAK2jD,kBAAkBH,8BAC5BM,SACEL,SAAcC,QACjBrB,SACAoB,SACMv2B,QACAC,EAVRi3B,IACJvH,SACAn2C,WACAy2C,UACA3zC,WACAs6C,YACAC,cAAuBL,mBACvB1hD,WACAE,WACA8hD,kBACAC,mBAEI1H,EAAQv8C,KAAK4jD,cAAcS,UAAU,YAAI,OAAInkC,EAAK28B,KAAO0G,IAC/DvjD,KAAK4jD,cAAcrH,GAAS6H,oDAvhBhC,8BA2hBQ,SAAiBb,EAAaC,EAAcC,GAAsBC,EAAsBrB,GAAiBn1B,EAAoBC,mJAE3Ho2B,OACEG,OACDF,WACOxjD,KAAK2jD,kBAAkBH,8BAE1BC,QAAcC,OACjBrB,QACAoB,QACMv2B,OACAC,EAGdntB,KAAKyiD,aAAazrC,KAbZ6sC,CACJhH,QACAn2C,UACAy2C,SACA3zC,UACAs6C,MAAO,yEACPC,aAAuBL,kBACvB1hD,UACAE,UACA8hD,iBACAC,mBAIEH,GAAQ9jD,KAAKkkD,MAAMV,GAElBM,kCACW9jD,KAAKmkD,8BAA8BX,EAAMnB,YACvDriD,KAAKkkD,MAAMV,GADXM,UACmBA,qBAIfP,QACCG,QACAF,YACOxjD,KAAK2jD,kBAAkBH,8BAC5BM,SACEL,SAAcC,QACjBrB,SACAoB,SACMv2B,QACAC,EAVRi3B,IACJvH,SACAn2C,WACAy2C,UACA3zC,WACAs6C,YACAC,cAAuBL,mBACvB1hD,WACAE,WACA8hD,kBACAC,mBAEI1H,EAAQv8C,KAAKyiD,aAAa4B,UAAU,YAAI,OAAInkC,EAAK28B,KAAO0G,IAC9DvjD,KAAKyiD,aAAalG,GAAS6H,oDA9jB/B,2CAmkBU,SAA8BE,EAAkBtiD,kIACvC,WAATA,EAAS,2CACJ,IAAIuiD,QAAgB,SAACC,EAASC,GACnC,IAAMpH,EAAQ99C,SAAS8D,cAAc,SACrCg6C,EAAMqH,YAAc,YACpBrH,EAAMF,IAAMmH,EAEZjH,EAAMp5C,iBAAiB,iBAAkB,WACvCo5C,EAAMsH,YAAc,KAEpBtH,EAAMp5C,iBAAiB,SAAU,WAC/B,IAAM2gD,GAASrlD,SAAS8D,cAAc,UACtCuhD,GAAO79C,MAAQs2C,EAAMwH,WACrBD,GAAO59C,OAASq2C,EAAMyH,YAEtB,IAAM9/C,GAAM4/C,GAAOG,WAAW,MAC9B//C,GAAIggD,UAAU3H,EAAO,EAAG,EAAGuH,GAAO79C,MAAO69C,GAAO59C,QAIhDhC,GAAIigD,UAAY,2BAChBjgD,GAAIkgD,YACJlgD,GAAImgD,OAAOP,GAAO79C,MAAQ,EAAIq+C,IAAkBR,GAAO59C,OAAS,EAAIo+C,KACpEpgD,GAAIqgD,OAAOT,GAAO79C,MAAQ,EAAIq+C,IAAkBR,GAAO59C,OAAS,GAChEhC,GAAIqgD,OAAOT,GAAO79C,MAAQ,EAAIq+C,IAAkBR,GAAO59C,OAAS,EAAIo+C,KACpEpgD,GAAIsgD,YACJtgD,GAAIugD,OAGJf,EAAQI,GAAOY,UAAU,cAGzBZ,GAAOzjD,SACPk8C,EAAMl8C,WAGRk8C,EAAMp5C,iBAAiB,QAAS,SAACuB,IAC/Bg/C,EAAQ,2CAKZnH,EAAMp5C,iBAAiB,QAAS,SAACuB,IAC/Bg/C,EAAQ,yCAKVnH,EAAMoI,uDAnnBhB,+BAwnBU,SAAkBtI,8HAChBuI,0BAICz8C,KAAKW,UAJM,CAChB0zC,OAAQ,CAAC,CAAEH,IAAKA,EAAKn7C,KAAM,cAC3B2jD,WAAY,CAAEC,SAAS,EAAM73B,UAAU,MAEnB23B,4CA7nB5B,yBAgoBE,SAAYG,GAAiB,WACb,GAAXA,IAAc7lD,KAAKsrB,YAAatrB,KAAK+qB,mBAAmBvhB,KAAKq+F,OAAOroD,WACzD,GAAdwpD,GACEhpG,KAAKsrB,YAAYtrB,KAAK+qB,mBAAmBvhB,KAAKq+F,OAAO3hD,WACrDn7C,WAAW,WACPmzC,EAAKE,OACTF,EAAKE,MAAM56C,cAAconB,SACzB,MAEe,GAAdo+E,EAAiBhpG,KAAKsrB,YAAatrB,KAAK+qB,mBAAmBvhB,KAAKq+F,OAAO7hD,WACzD,GAAdgjD,GAAiBhpG,KAAKsrB,YAAatrB,KAAK+qB,mBAAmBvhB,KAAKq+F,OAAO5hD,WAC1EjmD,KAAKsiD,kBAAkB,WAEN,GAAXuD,IAAc7lD,KAAKsrB,YAAatrB,KAAK+qB,mBAAmBvhB,KAAKq+F,OAAO/hD,WAC1E9lD,KAAKsiD,kBAAkB,cAEvBtiD,KAAKmmD,IAAMN,IAhpBf,sBAmqBE,SAASO,GAAa,WAEpB,QAAwC,IAA7BpmD,KAAKipG,WAAWh1E,eAAiE,IAA9Bj0B,KAAKipG,WAAW90E,WAAyD,MAA5Bn0B,KAAKipG,WAAWh1E,UAAiD,MAA7Bj0B,KAAKipG,WAAW90E,UAG7J,OAFAn0B,KAAK+d,eAAeoX,QAAQn1B,KAAK+qB,mBAAmBvhB,KAAKq+F,OAAOp6D,gCAAiC5kC,6BACjG7I,KAAKmvC,qBAIJnvC,KAAK0hD,gBACNhD,SAAU,CACRjwC,MAAO,UACPkwC,KAAM,qMACNsD,KAAM,UACNpD,kBAAkB,EAClBE,kBAAmB,WACnBC,iBAAkB,SAClBE,YAAa,CACXC,cAAe,iBACfC,aAAc,qBAEfr3B,KAAK,SAAC1G,GACHA,EAAOglC,aACTnI,EAAKwD,iBAAgB,EACrBxD,EAAKoI,SAASF,IAGdlI,EAAKqI,IAAIC,OAAO,KAKlBxmD,KAAKghD,oBACPtC,SAAU,CACRjwC,MAAO,UACPkwC,KAAM,sMACNsD,KAAM,UACNpD,kBAAkB,EAClBE,kBAAmB,WACnBC,iBAAkB,SAClBE,YAAa,CACXC,cAAe,iBACfC,aAAc,qBAEfr3B,KAAK,SAAC1G,GACHA,EAAOglC,aACTnI,EAAK8C,qBAAoB,EACzB9C,EAAKoI,SAASF,IAGdlI,EAAKqI,IAAIC,OAAO,MAMtBxmD,KAAK6sB,WAAY,EACb7sB,KAAKmpG,UAAUr8E,UAGnB9sB,KAAK6sB,WAAY,EACM,MAAnB7sB,KAAKipG,aACPjpG,KAAKipG,WAAa,IAAIC,MAExBlpG,KAAKipG,WAAWvpD,WAAa1/C,KAAKmpG,UAAUvgG,IAAI,cAAc7H,MAC9Df,KAAKipG,WAAWG,WAAappG,KAAKmpG,UAAUvgG,IAAI,cAAc7H,MAC9Df,KAAKipG,WAAWI,kBAAoBrpG,KAAKmpG,UAAUvgG,IAAI,qBAAqB7H,MAC5Ef,KAAKipG,WAAWj5E,SAAWhwB,KAAKmpG,UAAUvgG,IAAI,YAAY7H,MAC1Df,KAAKipG,WAAWh5E,SAAWjwB,KAAKmpG,UAAUvgG,IAAI,YAAY7H,MAC1Df,KAAKipG,WAAW/4E,SAAWlwB,KAAKmpG,UAAUvgG,IAAI,YAAY7H,MAC1Df,KAAKipG,WAAW94E,YAAcnwB,KAAKmpG,UAAUvgG,IAAI,eAAe7H,MAChEf,KAAKipG,WAAW54E,gBAAkBrwB,KAAKmpG,UAAUvgG,IAAI,mBAAmB7H,MACxEf,KAAKipG,WAAW14E,SAAWvwB,KAAKmpG,UAAUvgG,IAAI,YAAY7H,MAE1Df,KAAKipG,WAAW34E,UAAYtwB,KAAKmpG,UAAUvgG,IAAI,aAAa7H,MAC5Df,KAAKipG,WAAW74E,QAAUpwB,KAAKmpG,UAAUvgG,IAAI,WAAW7H,MACxDf,KAAKipG,WAAWn6D,MAAQ9uC,KAAKmpG,UAAUvgG,IAAI,SAAS7H,MACpDf,KAAKipG,WAAWM,eAAiB/8E,uBAAoBxsB,KAAKmpG,UAAUvgG,IAAI,kBAAkB7H,OAC1Ff,KAAKipG,WAAWO,aAAeh9E,uBAAoBxsB,KAAKmpG,UAAUvgG,IAAI,gBAAgB7H,OACtFf,KAAKipG,WAAWl8E,cAAgB/sB,KAAKqqB,sBAAsB1G,iBAAiBoJ,cAE1E/sB,KAAKipG,WAAWK,kBADlBtpG,KAASmpG,UAAUvgG,IAAI,mBAAmB7H,OACNf,KAAKmpG,UAAUvgG,IAAI,mBAAmB7H,MAGtEf,KAAKmpG,UAAUvgG,IAAI,aAAa7H,QAClCf,KAAKipG,WAAWxiD,cAAgBzmD,KAAK0pG,0BAA0B30E,YAAYhrB,OAAO,YAAC,OAAIpC,EAAE2oB,WAAa4tB,EAAKirD,UAAUvgG,IAAI,aAAa7H,QAAO,GAAG2lD,aAE3F,GAAvD5kD,GAAI0qB,kBAAkBxsB,KAAKipG,WAAWc,eAAwC,GAAlB/pG,KAAK+rB,WAC/D/rB,KAAKipG,WAAWh8E,UAAYjtB,KAAKqqB,sBAAsB1G,iBAAiBoJ,cACxE/sB,KAAKipG,WAAW/7E,YAAcV,8BAC9BxsB,KAAKipG,WAAW97E,YAAcX,8BAC9BxsB,KAAKipG,WAAW77E,YAAcZ,8BAC9BxsB,KAAKipG,WAAW57E,YAAcb,gCAG9BxsB,KAAKipG,WAAW37E,UAAYttB,KAAKqqB,sBAAsB1G,iBAAiBoJ,cACxE/sB,KAAKipG,WAAW77E,YAAcZ,8BAC9BxsB,KAAKipG,WAAW57E,YAAcb,+BAE5BxsB,KAAKmmD,KAAO,GAAKnmD,KAAK+rB,UAIxB/rB,KAAKgqG,eAAiBhqG,KAAKiU,cAAc8L,aAAa/f,KAAKipG,WAD9C,yCACgEvnG,UAC3E,SAAC2f,GAGC,IAAI3C,GAAU,GAGd,GAAI2C,EAAO+K,QAAU/d,iBAAoB,CACvCqQ,GAAUw/B,EAAKnzB,mBAAmBvhB,KAAKq+F,OAAOQ,wCAC9CnqD,EAAKiI,IAAMjI,EAAKiI,IAAM,EACtBjI,EAAKqI,IAAIC,OAAOtI,EAAKiI,KACR,GAAVjI,EAAKiI,KACNp7C,WAAW,WAEPmzC,EAAKE,OACTF,EAAKE,MAAM56C,cAAconB,SACzB,KAEF,IAAMg8B,EAAa1I,EAAKz1C,SAASG,IAAIC,gBAAsBwY,EAAO7X,MAC5Dq9C,EAAe59C,KAAKC,MAAM09C,GAChC1I,EAAKr0B,MAAQg9B,EAAaC,KAAKijD,aAC/B7rD,EAAK+qD,WAAWc,aAAeljD,EAAaC,KAAKijD,aACjD7rD,EAAK8I,cAAe,OAEb3lC,EAAO+K,QAAU/d,qBACxBqQ,GAAUw/B,EAAKnzB,mBAAmBvhB,KAAKq+F,OAAOS,0CACzCliD,IACHlI,EAAKiI,IAAMjI,EAAKiI,IAAM,EACtBjI,EAAKqI,IAAIC,OAAOtI,EAAKiI,OAGrBznC,GAAQ9F,OAAS,IACnBslC,EAAKngC,eAAe8P,QAAQnP,GAAS7V,yBACpB,GAAZq1C,EAAKiI,KAAaC,KACrBlI,EAAKj0B,UAAUppB,OAAM,GACrBq9C,EAAKirD,UAAUr7E,QACfowB,EAAKirD,UAAU58E,WAAW,CACxBg9E,eAAgB,IAAIhoF,KACpBioF,aAAc,IAAIjoF,QAGhB28B,EAAKirD,UAAUvgG,IAAI,cAAepF,cAAconB,UAG1D,SAACplB,GACC04C,EAAKngC,eAAe0O,MAAMjnB,EAAOqD,sBACjCq1C,EAAK14C,MAAQA,IAMVxF,KAAKmmD,KAAO,GAAKnmD,KAAKmmD,KAAO,IACpCnmD,KAAKmmD,IAAMnmD,KAAKmmD,IAAM,EACtBnmD,KAAKumD,IAAIC,OAAOxmD,KAAKmmD,KACjBC,IACFpmD,KAAKiqB,UAAUppB,OAAM,GACrBb,KAAKmpG,UAAUr7E,cAl0BvB,mCAu0BQ,4IACKyuB,EAAQ,cAAGA,EAAQv8C,KAAKugD,aAAa3nC,yBACtC6uC,UAAOznD,KAAKugD,aAAahE,YACdv8C,KAAKiqG,yBAAyBxiD,IAAM,cAAjDviC,OAGAA,iBACGq3B,EAAQ,IAAOv8C,KAAKugD,aAAa3nC,QACpC5Y,KAAK+d,eAAe8P,QAAQ,+BAAgChlB,oFAPZ0zC,oEAx0B1D,gCAu1BQ,SAAmBh9C,+HACnBA,kCACIS,KAAKiqG,yBAAyB1qG,mDAz1B1C,sCA61BQ,SAAyBooD,GAA8D,IAArBC,EAAqBx9C,kMAE3FpK,KAAK4nB,qBAAqBqE,oBACF,IAAb07B,GAAwC,MAAZA,EAAY,0CAC1C,UAET,YAAKE,uBAAyB,CAC5BC,WAAYH,EAASjH,WACrBqH,SAAUJ,EAASvK,aACnBiK,cAAernD,KAAKqqB,sBAAsB1G,iBAAiBoJ,eAGzDu6B,GAAU,IAAI/C,QAAQ,SAACC,EAASC,IAClC,IAAIlhC,IAAkB,EAEtBgkC,EAAK2iD,sBAAwB3iD,EAAKtzC,cAAc8L,aAAawnC,EAAKM,uBADrD,8CACmFnmD,UAC9F,SAAC2f,GAKC,GAJAkmC,EAAK3/B,qBAAqBM,cAItB7G,EAAO+K,QAAU/d,aAAgB,CACnC,IAAI45C,GAAuCh/C,KAAKC,MAAOq+C,EAAK9+C,SAASG,IAAIC,gBAAsBwY,EAAO7X,OAClG0+C,EAAYX,EAAKtzC,cAAck0C,oBAAoB37B,qBAAkBy7B,GAAYG,mBACrFb,EAAKtzC,cAAco0C,cAAcJ,GAAYK,SAAUJ,EAAWD,GAAYM,eACxD,IAAlBX,GACFL,EAAKxpC,eAAe8P,QAAQ,2BAA4BhlB,wBAE1D0a,IAAS,OAGTgkC,EAAKxpC,eAAe0O,MAAMpL,EAAO3C,QAAS7V,sBAC1C0a,IAAS,EAEXihC,EAAQjhC,KAEV,SAAC/d,GACC+hD,EAAKxpC,eAAe0O,MAAMjnB,EAAOqD,sBACjC0+C,EAAKxpC,eAAe0O,MAAM,8DAA0D5jB,sBACpF0+C,EAAK/hD,MAAQ+hD,EAAKx8B,mBAAmBvhB,KAAKwD,OAAOC,gCACjDs6C,EAAK3/B,qBAAqBM,cAC1Bs8B,EAAQjhC,iBAID+jC,4FA14BjB,iCA64BQ,8IAEJ5I,SAAU,CACRjwC,MAAOzO,KAAK+qB,mBAAmBvhB,KAAKq+F,OAAO5tE,8BAC3C0kB,KAAM3+C,KAAK+qB,mBAAmBvhB,KAAKq+F,OAAOhtE,iBAC1ConB,KAAM,UACNpD,kBAAkB,EAClBC,mBAAoB,UACpBoD,kBAAmB,UACnBnD,kBAAmB/+C,KAAK+qB,mBAAmBvhB,KAAKq+F,OAAO5sE,gCACvD+jB,iBAAkBh/C,KAAK+qB,mBAAmBvhB,KAAKq+F,OAAO3sE,+BACtDgkB,YAAa,CACXC,cAAe,kBACfC,aAAc,yBAGfr3B,KACE,SAAO1G,IAAP,OAAiBw6B,2HACZx6B,GAAOtgB,MADK,iBAERgpG,SAAe/pG,KAAK6pB,MAFZw9E,UAGErnG,KAAKmqG,eAAeJ,QAHtB,mGA95B1B,4BAu6BQ,SAAeA,yIACnB,YAAKniF,qBAAqBqE,eAC1BjsB,KAAKmnD,iBAAmB,CACtBC,SAAU2iD,EACV1iD,cAAernD,KAAKqqB,sBAAsB1G,iBAAiBoJ,eAEzDu6B,EAAU,IAAI/C,QAAQ,SAACC,EAASC,GAClC,IAAIlhC,GAEJwiC,GAAKqkD,iBAAmBrkD,GAAK9xC,cAAc8L,aAAagmC,GAAKoB,iBADhD,mCACwEzlD,UACnF,SAAC8H,IACCu8C,GAAKn+B,qBAAqBM,cAC1B,IAAI7G,EAASpY,KAAKC,MAAMD,KAAKW,UAAUJ,KACnC6X,EAAO+K,QAAU/d,cACnBqwC,SAAU,CACRuD,KAAM,UACNxzC,MAAO,WACPkwC,KAAMnyB,qBAAkBnL,EAAO3C,SAC/BwgC,YAAa,CACXC,cAAe,qBAGnB4G,GAAK97B,UAAUppB,OAAM,GACrBklD,GAAKojD,UAAUr7E,QACfvK,IAAS,IAGTwiC,GAAKhoC,eAAe0O,MAAM,8DAA0D5jB,sBACpF0a,IAAS,GAEXihC,EAAQjhC,KAEV,SAAC/d,IACCugD,GAAKhoC,eAAe0O,MAAMjnB,GAAOqD,sBACjCk9C,GAAKvgD,MAAQugD,GAAKh7B,mBAAmBvhB,KAAKwD,OAAOC,gCACjD84C,GAAKn+B,qBAAqBM,2BAInBo/B,0FA98BjB,iCAi9BQ,oJACA+iD,GAAkC,GAClCrqG,KAAKugD,eACPvgD,KAAKugD,aAAar0C,QAAQ,YACxBm+F,GAAsBrzF,KAAKywC,EAAK/G,cAE9B2pD,GAAsBzxF,OAAS,GACjC8lC,SAAU,CACRjwC,MAAOzO,KAAK+qB,mBAAmBvhB,KAAKq+F,OAAOp/C,4CAC3C9J,KAAM3+C,KAAK+qB,mBAAmBvhB,KAAKq+F,OAAOhtE,iBAC1ConB,KAAM,UACNpD,kBAAkB,EAClBC,mBAAoB,UACpBoD,kBAAmB,UACnBnD,kBAAmB/+C,KAAK+qB,mBAAmBvhB,KAAKq+F,OAAO5sE,gCACvD+jB,iBAAkBh/C,KAAK+qB,mBAAmBvhB,KAAKq+F,OAAO3sE,+BACtDgkB,YAAa,CACXC,cAAe,kBACfC,aAAc,yBAGfr3B,KACE,SAAO1G,GAAP,OAAiBw6B,qHACZx6B,EAAOtgB,MADK,kCAEKf,KAAKsqG,uBAAuBD,SAFjC,qGAv+B9B,8BAkkCQ,SAAiBE,iIAChBA,gFAKGvqG,KAAK4oD,iDACU5oD,KAAKsqG,uBAAuB,CAACC,4HAzkCxD,oCAklCE,WAAsB,WACpB,OAAO,IAAIhmD,QAAc,SAACC,GACxB9F,SAAU,CACRjwC,MAAOu6F,EAAKj+E,mBAAmBvhB,KAAKq+F,OAAOh/C,wCAC3ClK,KAAMqqD,EAAKj+E,mBAAmBvhB,KAAKq+F,OAAOhtE,iBAC1ConB,KAAM,UACNpD,kBAAkB,EAClBC,mBAAoB,UACpBoD,kBAAmB,UACnBnD,kBAAmBiqD,EAAKj+E,mBAAmBvhB,KAAKq+F,OAAO/+C,uCACvD9J,iBAAkBgqD,EAAKj+E,mBAAmBvhB,KAAKq+F,OAAO3sE,+BACtDgkB,YAAa,CACXC,cAAe,kBACfC,aAAc,yBAEfr3B,KAAK,SAAC1G,IACHA,GAAOtgB,OACTyjD,UAnmCV,oCAymCQ,SAAuB6lD,0IAC3BrqG,KAAK4nB,qBAAqBqE,0BAGpBo+E,EAAsBzxF,OAAS,6CAC1B,UAGT,YAAKmwC,0BAA4B,GAChC/oD,KAAKwqG,mBAAqBH,EAC3BA,EAAsBn+F,QAAQ,SAACq+F,GAC7BxkD,GAAKgD,0BAA0B/xC,KAAK,CAClCowC,SAAUmjD,EACVljD,cAAetB,GAAK17B,sBAAsB1G,iBAAiBoJ,cAC3Dk8B,SAAUlD,GAAKl8B,mBAIE7pB,KAAKkpD,mCAApB7nC,iCAECA,yCAEPhc,QAAQG,MAAM,qBAAdilG,yBACO,4BAEPzqG,KAAK4nB,qBAAqBM,2FAloChC,uCAsoCU,WAAyB,WAC/B,OAAO,IAAIq8B,QAAiB,SAACC,GAE3BwkD,EAAK0B,oBAAsB1B,EAAK/0F,cAAc8L,aAAaipF,EAAKjgD,0BADnD,4CACoFrnD,UAC/F,SAAC8H,GACC,IAAM6X,GAASpY,KAAKC,MAAMD,KAAKW,UAAUJ,IAErC6X,GAAO+K,SAAW/d,cAEpB26F,EAAK5/C,cAAc/nC,IACnBmjC,GAAQ,KAGRwkD,EAAK3/C,cAAchoC,IACnBmjC,GAAQ,KAGZ,SAACh/C,GAECwjG,EAAK1/C,mBAAmB9jD,GACxBg/C,GAAQ,SA1pClB,2BAgqCU,SAAcnjC,GAAW,WAC/Bq9B,SAAU,CACRuD,KAAM,UACNxzC,MAAO,WACPkwC,KAAMnyB,qBAAkBnL,EAAO3C,SAAS2P,QAAQ,UAAU,YAC1D6wB,YAAa,CACXC,cAAe,qBAKnBn/C,KAAKugD,aAAevgD,KAAKugD,aAAax2C,OAAO,SAACqB,IAAD,OAAQ8yC,EAAKssD,mBAAmB/hF,SAASrd,GAAEs1C,cACxF1gD,KAAK6hD,cAAgB7hD,KAAK6hD,cAAc93C,OAAO,SAACqB,IAAD,OAAQ8yC,EAAKssD,mBAAmB/hF,SAASrd,GAAEs1C,cAC1F,IAAM6I,GAAwBvpD,KAAKyiD,aAAa4B,UAAU,SAACnkC,IAAD,OAAUA,GAAK28B,IAAMqB,EAAKssD,sBAC9D,IAAlBjhD,IACFvpD,KAAKyiD,aAAa+G,OAAOD,GAAe,GAE1C,IAAME,EAA2BzpD,KAAK4jD,cAAcS,UAAU,SAACnkC,IAAD,OAAUA,GAAK28B,IAAMqB,EAAKssD,sBAC/D,IAArB/gD,GACFzpD,KAAK4jD,cAAc4F,OAAOC,EAAkB,KAnrClD,2BAurCU,SAAcpoC,GACpBrhB,KAAK+d,eAAe0O,MAAM,8DAA0D5jB,wBAxrCxF,gCA2rCU,SAAmBrD,GACzBxF,KAAK+d,eAAe0O,MAAMjnB,EAAOqD,sBACjC7I,KAAKwF,MAAQxF,KAAK+qB,mBAAmBvhB,KAAKwD,OAAOC,kCA7rCrD,0BAksCE,WACEjN,KAAK+d,eAAe2rC,KAAK1pD,KAAK+qB,mBAAmBvhB,KAAKq+F,OAAOl+C,yBAA0B9gD,uBAnsC3F,2BAqsCE,WACE7I,KAAKiqB,UAAUppB,OAAM,KAtsCzB,gCAysCE,WACiE,IAA3D2rB,qBAAkBxsB,KAAKmpG,UAAUvgG,IAAI,YAAY7H,QAA8E,IAA9DyrB,qBAAkBxsB,KAAKmpG,UAAUvgG,IAAI,eAAe7H,QAClD,IAAlEyrB,qBAAkBxsB,KAAKmpG,UAAUvgG,IAAI,mBAAmB7H,OAC3Df,KAAKizB,uBAILjzB,KAAK+d,eAAe0O,MAAM,gCAAiC5jB,wBAhtCjE,2BAotCE,SAAcjI,GAAK,WACJ,MAATA,GACFZ,KAAKsxB,mBAAqB,GAGftxB,KAAKiU,cAAc2e,kBAAkBhyB,EADnC,gCACgDc,UAC3D,SAAC8H,IAEC,IAAI6X,EAASpY,KAAKC,MAAMM,GAAKqpB,OAC7B,GAAIxR,EAAO+K,QAAU/d,aAAgB,CAEnC,IAAIykB,EAAgB7pB,KAAKC,MAAMg1C,EAAKz1C,SAASG,IAAIC,gBAAsBwY,EAAO7X,OAC9E00C,EAAKirD,UAAUvgG,IAAI,aAAamqB,SAAsB,MAAbD,OAAa,EAAbq2B,EAAe74B,WACxD4tB,EAAKirD,UAAUvgG,IAAI,YAAYmqB,SAAsB,MAAbD,OAAa,EAAbq2B,EAAe54B,YAO3D,SAAC/qB,IACC04C,EAAK14C,MAAQ04C,EAAKnzB,mBAAmBvhB,KAAKwD,OAAOC,oCAMrDjN,KAAKsxB,mBAAqBtxB,KAAK+qB,mBAAmBvhB,KAAKq+F,OAAOr2E,kBAC9DxxB,KAAKmpG,UAAUvgG,IAAI,YAAYmqB,SAAS,MACxC/yB,KAAKqxB,kBAAoBrxB,KAAK+qB,mBAAmBvhB,KAAKq+F,OAAO53F,mBAC7DjQ,KAAKmpG,UAAUvgG,IAAI,YAAY6oB,UAC/BzxB,KAAKmpG,UAAUvgG,IAAI,aAAamqB,SAAS,MACzC/yB,KAAKsxB,mBAAqBtxB,KAAK+qB,mBAAmBvhB,KAAKq+F,OAAO33F,oBAC9DlQ,KAAKmpG,UAAUvgG,IAAI,aAAa6oB,aArvCtC,gCAyvCE,WACE,IAAIpQ,EAAS,GACb,OAAIrhB,KAAKmpG,UAAUvgG,IAAI,YAAY7H,QACjCsgB,GAAWrhB,KAAKmpG,UAAUvgG,IAAI,YAAY7H,MAAQ,MAChDf,KAAKmpG,UAAUvgG,IAAI,eAAe7H,QACpCsgB,GAAWrhB,KAAKmpG,UAAUvgG,IAAI,eAAe7H,MAAQ,MACnDf,KAAKmpG,UAAUvgG,IAAI,mBAAmB7H,QACxCsgB,GAAWrhB,KAAKmpG,UAAUvgG,IAAI,mBAAmB7H,OAC5CsgB,IAjwCX,kCAowCE,WAAoB,WACZ+R,EAAe,IAAIC,KACzBD,EAAaE,cAAe,EAC5BF,EAAaG,WAAY,EACzBH,EAAaG,WAAY,EACzBH,EAAarsB,MAAQ,MACrBqsB,EAAapsB,OAAS,MACtBosB,EAAa5pB,KAAO,IAAIgqB,KAAoBC,kBAA2BzzB,KAAK0zB,sBAC5E,IAAMzJ,GAA+CjqB,KAAKoqB,OAAOzlB,KAAKgvB,IAAqBP,GAC3FnJ,GAAU2J,kBAAkBC,aAAc,EAC1C5J,GAAU2J,kBAAkBE,qBAAsB,EAClD7J,GAAU2J,kBAAkBG,eAAgB,EAC5C9J,GAAU+J,cAActyB,UACtB,YAGM2f,GACqC,eAAnCmL,qBAAkBnL,EAAOzgB,QAA2BygB,EAAO7X,OAC7Dw/F,EAAKC,WAAWh1E,SAAW5S,EAAO7X,KAAK0qB,IACvC80E,EAAKC,WAAW90E,UAAY9S,EAAO7X,KAAK4qB,UAvxCpD,kCA+xCE,SAAqBxzB,GAInB,IAAI8uC,EAAW1vC,KAAKmpG,UAAUvgG,IAAI,kBAAkB7H,MAChD4uC,GAAS3vC,KAAKmpG,UAAUvgG,IAAI,gBAAgB7H,MAC5C2uC,GAAYC,IACVD,EAASE,UAAYD,GAAOC,WAC9B5vC,KAAKmpG,UAAUvgG,IAAI,kBAAkBmqB,SAAS4c,IAG9CA,KACF3vC,KAAK6vC,YAAcF,MA3yCzB,6BA8yCE,SAAgB/uC,GAAK,WACnBZ,KAAK0pG,0BAA0B50E,UAAY,KAC3C90B,KAAKmpG,UAAUvgG,IAAI,WAAWmqB,SAAS,MACvC/yB,KAAKuxB,iBAAmBvxB,KAAK+qB,mBAAmBvhB,KAAKq+F,OAAOr2E,kBAC5DxxB,KAAKmpG,UAAUvgG,IAAI,WAAW6oB,UACjB,MAAT7wB,GACFZ,KAAKsxB,mBAAqB,GAG1BtxB,KAAK2yB,cAAgB3yB,KAAKiU,cAAc2e,kBAAkBhyB,EAD7C,0BAC0Dc,UACrE,SAAC8H,GAEC,IAAI6X,GAASpY,KAAKC,MAAMM,EAAKqpB,OACzBxR,GAAO+K,QAAU/d,eACnB6vC,EAAKwrD,0BAA0B50E,UAAY7rB,KAAKC,MAAMg1C,EAAKz1C,SAASG,IAAIC,gBAAsBwY,GAAO7X,OACrD,MAA5C00C,EAAKwrD,0BAA0B50E,WACjCopB,EAAKirD,UAAUvgG,IAAI,WAAWqoB,WAIpC,SAACzrB,GACC04C,EAAK14C,MAAQ04C,EAAKnzB,mBAAmBvhB,KAAKwD,OAAOC,mCAMrDjN,KAAKsxB,mBAAqBtxB,KAAK+qB,mBAAmBvhB,KAAKq+F,OAAO33F,sBAz0CpE,4BA40CE,SAAetP,GAAK,WAClBZ,KAAK0pG,0BAA0B30E,YAAc,KAC7C/0B,KAAKmpG,UAAUvgG,IAAI,aAAamqB,SAAS,MACzC/yB,KAAKsxB,mBAAqBtxB,KAAK+qB,mBAAmBvhB,KAAKq+F,OAAO33F,oBAC9DlQ,KAAKmpG,UAAUvgG,IAAI,aAAa6oB,UACnB,MAAT7wB,GACFZ,KAAKqxB,kBAAoB,GAGzBrxB,KAAKg1B,gBAAkBh1B,KAAKiU,cAAc2e,kBAAkBhyB,EAD/C,8BAC4Dc,UACvE,SAAC8H,GAEC,IAAI6X,GAASpY,KAAKC,MAAMM,EAAKqpB,OACzBxR,GAAO+K,QAAU/d,eACnB6vC,EAAKwrD,0BAA0B30E,YAAc9rB,KAAKC,MAAMg1C,EAAKz1C,SAASG,IAAIC,gBAAsBwY,GAAO7X,OACrD,MAA9C00C,EAAKwrD,0BAA0B30E,aACjCmpB,EAAKirD,UAAUvgG,IAAI,aAAaqoB,WAItC,SAACzrB,GACC04C,EAAKngC,eAAe0O,MAAMjnB,EAAOqD,sBACjCq1C,EAAK14C,MAAQ04C,EAAKnzB,mBAAmBvhB,KAAKwD,OAAOC,mCAMrDjN,KAAKqxB,kBAAoBrxB,KAAK+qB,mBAAmBvhB,KAAKq+F,OAAO53F,qBAx2CnE,gCA22CE,WACEjQ,KAAKiqB,UAAUppB,OAAM,KA52CzB,0CAk3CE,SAA6BkqB,GAC3B,IAAI1J,EACJ,OAAQ0J,OACD,KACH1J,EAAStM,GACT,UACG,KACHsM,EAASlM,GACT,UACG,KACHkM,EAASjM,GAGb,OAAOiM,IA/3CX,aAi4CE,WACE,OAAOrhB,KAAKmpG,UAAUp7E,WAl4C1B,+BAq4CE,WACE/tB,KAAK8pD,UAAUtmD,cAAcof,UAt4CjC,6BAw4CE,WAOC5iB,KAAK+pD,WAAWC,IAJF,CACbrH,SAAW3iD,KAAK6pB,MAChBogC,WAAYC,aAEkCC,GA/4ClD,wBAk5CE,SAAWC,GAA+B,WAAfvgC,GAAezf,uDAAF,GAChCgpB,EAAe,IAAIC,KACzBD,EAAaE,cAAe,EAC5BF,EAAaG,WAAY,EACzBH,EAAarsB,MAAQ,MACrBqsB,EAAapsB,OAAO,MACpBosB,EAAai3B,SAAS,CACpBC,IAAI,OAENl3B,EAAa5pB,KAAOqgB,GACpB,IAAMI,GAAYjqB,KAAKoqB,OAAOzlB,KAAKylD,EAAWh3B,GAC9CnJ,GAAU+J,cAActyB,UACtB,YACS8H,IACD00C,EAAKqI,IAAIC,OAAO,GAChBtI,EAAKoE,kBAAkB,eAj6CrC,yBAu6CE,WACMtiD,KAAKgqG,gBACPhqG,KAAKgqG,eAAe30E,cAClBr1B,KAAKkqG,uBACPlqG,KAAKkqG,sBAAsB70E,cACzBr1B,KAAK0qG,qBACP1qG,KAAK0qG,oBAAoBr1E,cACvBr1B,KAAKoqG,kBACPpqG,KAAKoqG,iBAAiB/0E,cACpBr1B,KAAK2yB,eACP3yB,KAAK2yB,cAAc0C,cACjBr1B,KAAKg1B,iBACPh1B,KAAKg1B,gBAAgBK,cACnBr1B,KAAKu+C,UAAYv+C,KAAKu+C,SAASgD,UACjCvhD,KAAKu+C,SAASgD,SAASlsB,kBAr7C7Bs1E,sDAAa9B,IAAkBhkG,iKAmGnBmpB,iCAnGC66E,GAAkB9jG,4pTCtD/BF,kDAAMA,ijqEDsDOgkG,GAAb,EAAaA,mJElDAK,KAAb7qG,oCA6DayqG,KAAbzqG,oCAOa0qG,KAAb1qG,gLChEausG,EAAb,eAAaA,GAAb,WAGA,WAAoBjqF,IAAyB,eAAzB3gB,gBAFZA,4BAAiC,KAGzC6qG,eAAoBA,WAAiB,CACrCC,SAAU,OALV,6CASA,WAEA,OAAOD,QAAa3pG,IAAIlB,KAAK+qG,uBAAwB,aAXrD,6CAcC,WACC,IAAIhqG,GACJA,IAAQ,IAAIwgB,MAAOmgD,eAAe,SAClC,IACIspC,GADaH,EAAO9pG,GAAO,wBACNwlB,OAAO,4BAChClF,OAAS,IAAIE,KAAKypF,GACX3pF,GApBT,qCAmCA,WAEA,GAAkC,OAA/BrhB,KAAK+qG,uBACR,OAAO/qG,KAAKirG,iBAAiB1kF,OAAO,uBAGlC,IAAMG,GAAe5d,aAAaC,QAAQ,iBAC1C,OAAG2d,IACH1mB,KAAK+qG,uBAA0Bp1F,OAAO3V,KAAK2gB,SAAS/X,IAAIC,gBAAsB6d,KACvE1mB,KAAKirG,iBAAiB1kF,OAAO,wBAG7BvmB,KAAKkrG,kCAAkCC,gBA/ChD,sCAoDC,WAEC,OADa,IAAI5pF,KAAKvhB,KAAKorG,0BACpBP,GAtDT,yBAyDA,WAEA,IAAMQ,GAAcjlF,KAAKC,MAAMrmB,KAAK+qG,uBAAyB,IACvDO,GAAgBllF,KAAKmlF,IAAIvrG,KAAK+qG,uBAAyB,IAC7D,mBAAa/qG,KAAK+qG,wBAA0B,EAAI,IAAM,IAAtDn4C,OAA2Dy4C,GAAYlsF,WAAWqsF,SAAS,EAAG,KAA9F,YAAsGF,GAAcnsF,WAAWqsF,SAAS,EAAG,QA7D3I,yBAgEA,SAAYC,IACZ,GAAIA,GAAa,CACjB,IAAMC,GAAS1rG,KAAK2rG,cAAcF,IAClC,GAAe,OAAXC,GAAiB,CACnB,IAAME,GAAgB5rG,KAAK2gB,SAAS7f,IAAI+H,gBAAsBI,KAAKW,UAAU8hG,KAC7E5iG,aAAaa,QAAQ,gBAAgBiiG,IACvC5rG,KAAK+qG,uBAAyBW,QAE9BrmG,QAAQG,MAAR,yCAAgDimG,UAGhDpmG,QAAQG,MAAM,oCA3Ed,2BA+EQ,SAAcimG,IAEtB,IACM//B,GAAQ+/B,GAAY//B,MADJ,6BAEtB,OAAIA,IACsB,MAAbA,GAAM,GAAa,GAAI,IAGb,GAFTva,SAASua,GAAM,GAAI,IACjBva,SAASua,GAAM,GAAI,KAG5B,SAzFP7/D,mDAAa++F,IAAe/lG,wCAAf+lG,GAAellG,QAAfklG,GAAe,qBAFhB,SAECA,GAAb,EAAaA,4cCHblhG,iiOC6DmC7E,mBACOA,0BAAtCA,4BADqCA,gEAGVA,gBAAIA,2BAC/BA,qCADqCA,kFAPzCA,gCAEgBA,wDAAcgnG,WAAgB,WAA9BhnG,CAAwC,2EAExDA,iCAGAA,iCAGAA,+BATiEA,sCAA8B,cAA9BA,CAA8B,8BAA9BA,CAA8B,YAA9BA,CAA8B,YAA9BA,CAA8B,8CAkBvFA,4CAIAA,2DD1CKmlD,GAAb,eAAaA,GAAb,WA8HE,YAAoBiV,GACVhrD,EACAoW,GACA5hB,EACAmf,GACDkkF,GACC/tF,GACAguF,EACA5hF,EACA5hB,EACAyjG,GACA/hF,EACAG,GACwB5gB,IAAS,6BAbvBxJ,eACVA,qBACAA,8BACAA,gBACAA,6BACDA,2BACCA,uBACAA,cACAA,oBACAA,eACAA,yBACAA,iBACAA,eACwBA,aAtIlCA,uBAA8B,GAC9BA,uBAAoB,GAGbA,oBAAsB,GACtBA,yBAA2B,GAC3BA,kBAAuB,EAE9BA,cAAmB,EACnBA,WAAmC,GACnCA,iBAAsB,IACtBA,iBAAc,EAKdA,WAAgB,GAEhBA,eAAoB,EAEpBA,aAAkB,EAEXA,kBAAuB6I,QAAe,qDACtC7I,cAAyB,IAAI85C,MAAa,CAC/C7kB,IAAKj1B,KAAK+5C,aACVC,SAAS,EACTC,OAAQ,MACRC,UAAW,2BACXC,kBAAkB,EAClBC,mBAAoB,SAACl6B,IAAD,OAAoBA,GAAKm6B,OAC7CC,2BAA2B,EAC3BC,YAAa,WACbC,UAAW,UAAYx6C,KAAKqqB,sBAAsB1G,iBAAiBC,MACnE62B,gBAAiB,CAAC,QAAS,OAAQ,MAAO,MAAO,MAAO,OAAQ,QAAS,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,SAKvHz6C,cAAgB,CACd26C,SAAS,EACTC,gBAAiB,cACjBC,YAAY,EACZC,SAAS,EACTp4B,UAAU,EACVq4B,WAAW,EACXC,YAAY,EACZC,OAAO,EACPC,oBAAoB,EACpBC,sBAAsB,EACtBC,QAAS,CACPC,KAEAC,KACAC,IACAC,KACAT,KACAU,KACAC,KACAZ,KACAa,OAIG37C,+BAAqD,GAErDA,kBAAuB,CAC5Bi1B,IAAG,UAAKpsB,QAAL,oCACHojG,YAAW,qDACXC,UAAS,UAAKrjG,QAAL,yCACTsjG,YAAW,UAAKtjG,QAAL,qCAeN7I,qBAA0B,CAC/BosG,SAAS,EACTC,MAAO,CAEL,SACA,UAEA,OAKA,YACA,gBAOGrsG,yBAAsB,CAC3BssG,SAAU,cACVC,SAAU,kBACVC,YAAY,EACZC,YAAY,GAGPzsG,yBAA8B,CACnColB,KAAM,CAAC,QACPm/E,OAAQ,CAAC,QACTxiG,OAAQ,CAAC,SAEX/B,aAAkB,EACXA,0BAA+B,EAC/BA,0BAAuB,EAE9BA,UAAO,EA89BPA,mBAAgB,SAAC47C,IACfhuB,GAAKouB,aAAeJ,GAAOK,SAC3BruB,GAAKkuB,eAAiBF,GAAOK,SAC7B,IAIMC,GAAWtuB,GAAKouB,aAAaE,SACnCA,GAASC,OALa,iMAMtBD,GAASC,OAHe,2NAIxBD,GAASC,OALiB,2LAM1B58C,SAAS68C,eAAe,yBAAyBn4C,iBAAiB,QAAS,WACzE2pB,GAAK6vB,oBAEPl+C,SAAS68C,eAAe,2BAA2Bn4C,iBAAiB,QAAS,kBAAW43C,gIAChFQ,UAAST,GAAOK,SAASK,aAAaV,GAAOK,SAASM,OAD0BmwD,UAEhF1sG,KAAKy8C,iBAAiBJ,GAAOK,UAFmD,EAGlFC,GAAgB1zC,KAAKC,MAAMD,KAAKW,UAAUgyC,GAAOK,SAASK,eACxDM,GAAsBD,GAAc5yC,OAAO,SAACmW,GAAM28B,IAAP,OAAcA,KAAOjB,GAAOK,SAASM,QACtFX,GAAOK,SAASa,aAAaF,GAAqBx2B,KAAK22B,IAAInB,GAAOK,SAASM,MAAQ,EAAG,IACtFX,GAAOK,SAASe,eAAgB,EACZ,KAPkE,6CAUxFz9C,SAAS68C,eAAe,6BAA6Bn4C,iBAAiB,QAAS,WAC7E,IAAIo4C,GAAST,GAAOK,SAASK,aAAaV,GAAOK,SAASM,OAEtDowD,GAAiD,IAAIp7B,KACrDl1B,GAAOc,IACTwvD,GAAkBvvD,aAAef,GAAOc,IAEjCd,GAAOgB,QACdsvD,GAAkBvvD,aAAen0C,KAAKC,MAAMmzC,GAAOgB,OAAOC,OAAO,GAAGH,KAEtEwvD,GAAkBjsD,WAAarE,GAAOK,IACtC9uB,GAAK4vB,mBAAmBmvD,OAj/B1B3sG,KAAK29C,SAASC,WAAa59C,KAAKqqB,sBAAsB1G,iBAAiBk6B,UAAUC,wBACjF8uD,SAAgB,wFAChB5sG,KAAK6sG,QAAU,CACb,CACEC,YAAa,IAAIvrF,KAAK,qCACtBwrF,aAAc,IAAIxrF,KAAK,qCACvByrF,WAAY,GACZC,UAAU,EACVC,QAAQ,EACRhrG,KAAM,eACNirG,SAAU,KACVzmG,KAAM,KACN1E,KAAM,WAERhC,KAAK6pB,MAAMrgB,GA3JjB,wCA8JE,WACExJ,KAAKotG,qBAqBLptG,KAAKqtG,SAAW,CACd,CACEP,YAAa,IAAIvrF,KAAK,qCACtBwrF,aAAc,IAAIxrF,KAAK,qCACvByrF,WAAY,GACZC,UAAU,EACVpwD,GAAI,IACJqwD,QAAQ,EACRhrG,KAAM,QACNirG,SAAU,KACVzmG,KAAM,QACN1E,KAAM,UAER,CACE8qG,YAAa,IAAIvrF,KAAK,qCACtBwrF,aAAc,IAAIxrF,KAAK,qCACvByrF,WAAY,GACZC,UAAU,EACVpwD,GAAI,IACJqwD,QAAQ,EACRhrG,KAAM,YACNirG,SAAU,KACVzmG,KAAM,OACN1E,KAAM,UAER,CACE8qG,YAAa,IAAIvrF,KAAK,qCACtBwrF,aAAc,IAAIxrF,KAAK,qCACvByrF,WAAY,GACZC,UAAU,EACVpwD,GAAI,IACJqwD,QAAQ,EACRhrG,KAAM,YACNirG,SAAU,KACVzmG,KAAM,KACN1E,KAAM,UAER,CACE8qG,YAAa,IAAIvrF,KAAK,qCACtBwrF,aAAc,IAAIxrF,KAAK,qCACvByrF,WAAY,GACZC,UAAU,EACVpwD,GAAI,IACJqwD,QAAQ,EACRhrG,KAAM,QACNirG,SAAU,KACVzmG,KAAM,GACN1E,KAAM,UAER,CACE8qG,YAAa,IAAIvrF,KAAK,qCACtBwrF,aAAc,IAAIxrF,KAAK,qCACvByrF,WAAY,GACZC,UAAU,EACVpwD,GAAI,IACJqwD,QAAQ,EACRhrG,KAAM,WACNirG,SAAU,KACVzmG,KAAM,OACN1E,KAAM,UAER,CACE8qG,YAAa,IAAIvrF,KAAK,qCACtBwrF,aAAc,IAAIxrF,KAAK,qCACvByrF,WAAY,GACZC,UAAU,EACVpwD,GAAI,IACJqwD,QAAQ,EACRhrG,KAAM,SACNirG,SAAU,KACVzmG,KAAM,GACN1E,KAAM,UAER,CACE8qG,YAAa,IAAIvrF,KAAK,qCACtBwrF,aAAc,IAAIxrF,KAAK,qCACvByrF,WAAY,gBACZC,UAAU,EACVpwD,GAAI,IACJqwD,QAAQ,EACRhrG,KAAM,mBACNirG,SAAU,IACVzmG,KAAM,MACN1E,KAAM,SAER,CACE8qG,YAAa,IAAIvrF,KAAK,qCACtBwrF,aAAc,IAAIxrF,KAAK,qCACvByrF,WAAY,gBACZC,UAAU,EACVpwD,GAAI,IACJqwD,QAAQ,EACRhrG,KAAM,mBACNirG,SAAU,IACVzmG,KAAM,MACN1E,KAAM,QAER,CACE8qG,YAAa,IAAIvrF,KAAK,qCACtBwrF,aAAc,IAAIxrF,KAAK,qCACvByrF,WAAY,gBACZC,UAAU,EACVpwD,GAAI,IACJqwD,QAAQ,EACRhrG,KAAM,mBACNirG,SAAU,IACVzmG,KAAM,OACN1E,KAAM,SAER,CACE8qG,YAAa,IAAIvrF,KAAK,qCACtBwrF,aAAc,IAAIxrF,KAAK,qCACvByrF,WAAY,gBACZC,UAAU,EACVpwD,GAAI,IACJqwD,QAAQ,EACRhrG,KAAM,eACNirG,SAAU,IACVzmG,KAAM,IACN1E,KAAM,QAER,CACE8qG,YAAa,IAAIvrF,KAAK,qCACtBwrF,aAAc,IAAIxrF,KAAK,qCACvByrF,WAAY,gBACZC,UAAU,EACVpwD,GAAI,KACJqwD,QAAQ,EACRhrG,KAAM,oBACNirG,SAAU,IACVzmG,KAAM,KACN1E,KAAM,SAER,CACE8qG,YAAa,IAAIvrF,KAAK,qCACtBwrF,aAAc,IAAIxrF,KAAK,qCACvByrF,WAAY,YACZC,UAAU,EACVpwD,GAAI,KACJqwD,QAAQ,EACRhrG,KAAM,QACNirG,SAAU,IACVzmG,KAAM,GACN1E,KAAM,QAER,CACE8qG,YAAa,IAAIvrF,KAAK,qCACtBwrF,aAAc,IAAIxrF,KAAK,qCACvByrF,WAAY,YACZC,UAAU,EACVpwD,GAAI,KACJqwD,QAAQ,EACRhrG,KAAM,eACNirG,SAAU,IACVzmG,KAAM,GACN1E,KAAM,QAER,CACE8qG,YAAa,IAAIvrF,KAAK,qCACtBwrF,aAAc,IAAIxrF,KAAK,qCACvByrF,WAAY,aACZC,UAAU,EACVpwD,GAAI,KACJqwD,QAAQ,EACRhrG,KAAM,aACNirG,SAAU,IACVzmG,KAAM,GACN1E,KAAM,QAER,CACE8qG,YAAa,IAAIvrF,KAAK,qCACtBwrF,aAAc,IAAIxrF,KAAK,qCACvByrF,WAAY,aACZC,UAAU,EACVpwD,GAAI,KACJqwD,QAAQ,EACRhrG,KAAM,eACNirG,SAAU,IACVzmG,KAAM,GACN1E,KAAM,QAER,CACE8qG,YAAa,IAAIvrF,KAAK,qCACtBwrF,aAAc,IAAIxrF,KAAK,qCACvByrF,WAAY,eACZC,UAAU,EACVpwD,GAAI,KACJqwD,QAAQ,EACRhrG,KAAM,YACNirG,SAAU,IACVzmG,KAAM,OACN1E,KAAM,UAER,CACE8qG,YAAa,IAAIvrF,KAAK,qCACtBwrF,aAAc,IAAIxrF,KAAK,qCACvByrF,WAAY,0BACZC,UAAU,EACVpwD,GAAI,KACJqwD,QAAQ,EACRhrG,KAAM,SACNirG,SAAU,KACVzmG,KAAM,MACN1E,KAAM,OACN48C,SACE,gEAEJ,CACEkuD,YAAa,IAAIvrF,KAAK,qCACtBwrF,aAAc,IAAIxrF,KAAK,qCACvByrF,WAAY,0BACZC,UAAU,EACVpwD,GAAI,KACJqwD,QAAQ,EACRhrG,KAAM,QACNirG,SAAU,KACVzmG,KAAM,MACN1E,KAAM,OACN48C,SACE,gEAEJ,CACEkuD,YAAa,IAAIvrF,KAAK,qCACtBwrF,aAAc,IAAIxrF,KAAK,qCACvByrF,WAAY,0BACZC,UAAU,EACVpwD,GAAI,KACJqwD,QAAQ,EACRhrG,KAAM,UACNirG,SAAU,KACVzmG,KAAM,MACN1E,KAAM,OACN48C,SACE,gEAEJ,CACEkuD,YAAa,IAAIvrF,KAAK,qCACtBwrF,aAAc,IAAIxrF,KAAK,qCACvByrF,WAAY,0BACZC,UAAU,EACVpwD,GAAI,KACJqwD,QAAQ,EACRhrG,KAAM,SACNirG,SAAU,KACVzmG,KAAM,MACN1E,KAAM,OACN48C,SACE,iEAGN5+C,KAAKstG,iBA9aT,0BAsbE,SAAa1sG,GACE,GAATA,IACFZ,KAAKs+C,oBAAsB19C,GACG,GAA5BZ,KAAKs+C,qBAAgCt+C,KAAKu+C,SAASC,MAAM5lC,OAAS,GACpE5Y,KAAKu+C,SAASE,cA1bpB,0BA8bE,WAAY,WACVz+C,KAAKu+C,SAASuC,kBAAoB,SAAC17B,IACjCA,GAAK67B,iBAAkB,GAEzBjhD,KAAKu+C,SAAS2C,gBAAkB,SAACC,GAAeC,GAC9CD,GAASF,iBAAkB,GAE7BjhD,KAAKu+C,SAAS8C,mBAAqB,SAACF,IAClC,SAAKv5B,qBAAqBqE,eAC1B+oC,EAAKzW,SAAS+C,WAAW,CACvBz+B,QAAS,CACP,CAAE3gB,KAAM,8BAA+BnB,MAAO,KAC9C,CAAEmB,KAAM,WAAYnB,MAAOogD,GAAS/7B,KAAK1e,MACzC,CAAExE,KAAM,gBAAiBnB,MAAOyrB,oBAAkBwoC,EAAK3qC,sBAAsB1G,iBAAiBoJ,gBAC9F,CAAE7qB,KAAM,eAAgBnB,MAAOyrB,oBAAkBwoC,EAAKsvC,cAEnDnjD,IAETnhD,KAAKu+C,SAASgD,SAAS7/C,UAAU,SAAM2f,IAAN,OAAew6B,6HAC1Cx6B,KACFrhB,KAAK4nB,qBAAqBqE,eACI,KAA1BjsB,KAAKu+C,SAASkD,WAChBzhD,KAAKmqB,aAAa2hD,aAClB/gE,WAAW,WACTwiG,GAAKhvD,SAASyD,cACb,KACHhiD,KAAK4nB,qBAAqBM,cAC1BloB,KAAK2hD,YAAc,EACnB3hD,KAAKwtG,oBACLxtG,KAAK+d,eAAe8P,QAAQ,iBAAkBhlB,0BAG9CwY,KACEmgC,GAAUv4C,KAAKC,MAAMmY,IACzBrhB,KAAK4nB,qBAAqBqE,eAC1B8jE,GAAY3jE,QAAU/d,cACEpF,KAAKC,MAAMlJ,KAAKyI,SAASG,IAAIC,gBAAsB24C,GAAQh4C,OACjFxJ,KAAK2hD,YAAc3hD,KAAK2hD,YAAc,GAe/BH,GAAQp1B,QAAU/d,mBAEzBrO,KAAKu+C,SAASwD,YAGd/hD,KAAKu+C,SAASyD,aACdhiD,KAAK4nB,qBAAqBM,cAC1Bw2B,SAAU,CACRjwC,MAAO,eACPkwC,KAAM6C,GAAQ9iC,QACdujC,KAAM,QACNpD,kBAAkB,EAClBC,mBAAoB,UACpBoD,kBAAmB,UACnBnD,kBAAmB,mBACnBC,iBAAkB,SAClBE,YAAa,CACXC,cAAe,kBACfC,aAAc,yBAGfr3B,KACE,SAAO1G,GAAP,OAAiBw6B,mHACZx6B,EAAOtgB,OAETf,KAAKuI,QAAQ45C,SAAS,CAAC,wBAHT,oDAxDoB,6CAhdpD,gCAshBE,WACMniD,KAAKq+C,cACHr+C,KAAK87C,gBACP97C,KAAK87C,eAAenmB,UAEtB31B,KAAKq+C,aAAc,KA3hBzB,gCA+hBE,WAAkB,WAChB,GAAIr+C,KAAKqqB,sBAAsB1G,iBAAkB,CAC/C,IAAM0jC,GAAgBrnD,KAAKqqB,sBAAsB1G,iBAAiBoJ,cAAc5N,WAChFnf,KAAK4nB,qBAAqBqE,eAC1BjsB,KAAK8rG,mBAAmB2B,kBAAkBpmD,IAAe3lD,UACvD,SAAC2f,GACC,GAAIA,EAAO+K,SAAW/d,aAAgB,CACpC,IAAM7E,GAAOP,KAAKC,MAAM8rD,EAAKvsD,SAASG,IAAIC,gBAAsBwY,EAAO7X,OACvEwrD,EAAK04C,UAAW,EAChB14C,EAAK24C,eAAiB,GACtB,IAAMC,GAAgB,CACpBd,YAAa,IAAIvrF,KAAK,qCACtBwrF,aAAc,IAAIxrF,KAAK,qCACvByrF,WAAY,GACZC,UAAU,EACVC,QAAQ,EACRhrG,KAAM,eACNirG,SAAU,KACVzmG,KAAM,KACN1E,KAAM,UAERgzD,EAAK63C,QAAUrjG,GAAKqkG,mBAAmB7lG,IAAI,SAACu8F,IAC1C,sCACKA,IAAM,CACTriG,KAAMqiG,GAAOuJ,eACbpnG,KAAMsuD,EAAK+4C,0BAA0BxJ,IACrC0I,UAAU,EACVjrG,KAAM,SACNkrG,QAAQ,EACRH,aAAcxI,GAAOn3E,gBAGzB4nC,EAAK63C,QAAQmB,QAAQJ,IACrB54C,EAAKptC,qBAAqBM,gBAG9B,SAAC1iB,GACCwvD,EAAKptC,qBAAqBM,mBApkBpC,uCA0kBE,SAA0B1e,GACxB,IAAIykG,GAAY,EAChB,OAAIzkG,EAAK+nE,6BACP/nE,EAAK+nE,4BAA4BrlE,QAAQ,YACvC+hG,IAAa1uG,EAAS2uG,aAAe,IAGlCD,KAjlBX,0BAolBE,SAAartG,GACX,IAAM0jG,GAAW1jG,EAAMutG,YAAYC,aACnCpuG,KAAKquG,YAAcztG,EAAMutG,YAAYL,eACrC94C,EAAUm5C,YAAYL,gBACpB9tG,KAAKskG,SAAWA,GAChBtkG,KAAKwtG,oBACLxtG,KAAKsuG,QAAS,EACdtuG,KAAKuuG,gBAAkB,CACrBnC,SAAS,EACTC,MAAO,CACL,OAEA,SACA,UAGA,YACA,cACA,UAMJrsG,KAAK+qE,kBAAkBnqE,EAAMutG,YAAYztD,WAAY,UA5mB3D,4BAmnBQ,SAAe10C,6IACa,4BAA5BA,EAAKkU,KAAKsuF,WAAW3xD,KACvB7wC,EAAKyiG,QAAS,EACVzuG,KAAKskG,UACPtkG,KAAK8pD,UAAUtmD,cAAcof,SAGD,8BAA5B5W,EAAKkU,KAAKsuF,WAAW3xD,KACvB7wC,EAAKyiG,QAAS,EACVziG,EAAKmiG,YAAYv1F,OAAS,IAC5B5M,EAAKmiG,YAAYjiG,QAAQ,YACvB2pD,EAAKrY,mBAAmBsT,KAE1B9kD,EAAKyiG,QAAS,IAGc,4BAA5BziG,EAAKkU,KAAKsuF,WAAW3xD,GAAO,oBAC9B7wC,EAAKyiG,QAAS,EACdzuG,KAAK0uG,kBAAoB,IACrB1iG,EAAKmiG,YAAY,GAAGztD,4BACtB10C,SAAKmiG,YAAYjiG,QAAQ,YACvB2pD,EAAK64C,kBAAkB13F,KAAK85C,EAAQpQ,uBAEhC1gD,KAAKy8C,iBAAiBzwC,EAAKmiG,YAAY,GAAGztD,2CAGhD10C,SAAKmiG,YAAYjiG,QAAQ,YACvB2pD,EAAK64C,kBAAkB13F,KAAK85C,EAAQs9C,0BAEhCpuG,KAAK2uG,sCAKiB,4BAA5B3iG,EAAKkU,KAAKsuF,WAAW3xD,KAEvB78C,KAAKskG,SADYt4F,EAAKmiG,YAAY,GAAGC,cAGP,0BAA5BpiG,EAAKkU,KAAKsuF,WAAW3xD,KACvB78C,KAAK0tG,UAAW,EACV7iC,GAAQ7qE,KAAK4uG,eAAeC,mBACpC7uG,KAAK8uG,kBAAoB,GAEzBjkC,GAAM3+D,QAAQ,YACRkZ,EAAKs7B,YACPmV,EAAKi5C,kBAAkB93F,KAAKoO,EAAKs7B,cAGlC1gD,KAAK8uG,kBAAkBl2F,QAAU,IAClC5Y,KAAK0tG,UAAW,GAEhB1tG,KAAS0tG,SACPhvD,SAAU,CACRjwC,MAAO,sBACPkwC,KAAM,yDACNsD,KAAM,QACNpD,kBAAkB,EAClBC,mBAAoB,UACpBoD,kBAAmB,UACnBnD,kBAAmB,MACnBC,iBAAkB,SAClBE,YAAa,CACXC,cAAe,kBACfC,aAAc,yBAGjBr3B,KACE,SAAO1G,GAAP,OAAiBw6B,8GACZx6B,EAAOtgB,QACTf,KAAKotG,qBACLptG,KAAKsuG,QAAS,EACVtuG,KAAKg8C,eACPh8C,KAAKg8C,aAAaM,aAAe,GACjCt8C,KAAK87C,eAAeQ,aAAe,IAErCt8C,KAAKuuG,gBAAkB,CACrBnC,SAAS,EACTC,MAAO,CAEL,SACA,UAGA,YACA,cACA,eAlBU,4CA2BpBrsG,KAAKotG,qBACLptG,KAAKsuG,QAAS,EACVtuG,KAAKg8C,eACPh8C,KAAKg8C,aAAaM,aAAe,GACjCt8C,KAAK87C,eAAeQ,aAAe,IAErCt8C,KAAKuuG,gBAAkB,CACrBnC,SAAS,EACTC,MAAO,CAEL,SACA,UAGA,YACA,WAOwB,6BAAhCr3C,EAAS90C,KAAKsuF,WAAW3xD,GAEvB7wC,EAAKyiG,QAAS,GAOqB,iCAAhCz5C,EAAS90C,KAAKsuF,WAAW3xD,IAGS,gBAA9B7wC,EAAKkU,KAAKsuF,WAAW7vD,OAF5B3+C,KAAK+uG,mBAGAA,kDApvBX,0BA0vBE,SAAa/iG,GAEXmL,MAAM,0BAA4BnL,EAAK9J,QA5vB3C,yBA+vBQ,SAAY8J,6IACgB,4BAA5BA,EAAKkU,KAAKsuF,WAAW3xD,KACvB7wC,EAAKyiG,QAAS,EACVzuG,KAAKskG,UACPtkG,KAAK8pD,UAAUtmD,cAAcof,SAID,8BAA5B5W,EAAKkU,KAAKsuF,WAAW3xD,KACvB7wC,EAAKyiG,QAAS,EACVziG,EAAKmiG,YAAYv1F,OAAS,IAC5B5M,EAAKmiG,YAAYjiG,QAAQ,YACvB2pD,EAAKrY,mBAAmBsT,KAE1B9kD,EAAKyiG,QAAS,IAGc,4BAA5BziG,EAAKkU,KAAKsuF,WAAW3xD,GAAO,qBAC9B7wC,EAAKyiG,QAAS,GACVziG,EAAKmiG,YAAY,GAAGztD,6CAChB1gD,KAAKy8C,iBAAiBzwC,EAAKmiG,YAAY,GAAGztD,2CAEhD10C,SAAKmiG,YAAYjiG,QAAQ,YACvB2pD,EAAK64C,kBAAkB13F,KAAK85C,EAAQs9C,2BAEhCpuG,KAAK2uG,sCAMiB,4BAA5B3iG,EAAKkU,KAAKsuF,WAAW3xD,KAEvB78C,KAAKskG,SADYt4F,EAAKmiG,YAAY,GAAGC,cAGP,6BAA5BpiG,EAAKkU,KAAKsuF,WAAW3xD,KACvBx3C,QAAQ6d,IAAIlX,GACZA,EAAKyiG,QAAS,EACdz5C,EAASm5C,YAAY,GAAGztD,WACtB1gD,KAAKwtG,oBAGAxtG,KAAKotG,yEAzyBlB,2BA+yBE,SAAcphG,GAEQ,YAAhBA,EAAKogB,OACPjV,MAAM,yCAEN9R,QAAQG,MAAM,yBAA0BwG,EAAKxG,SApzBnD,gCAwzBE,WACExF,KAAKu+C,SAASE,cAzzBlB,sBA4zBE,SAAS79C,EAAOyhD,IAIdriD,KAAKwtG,kBAAkB5sG,KAh0B3B,+BAo0BE,SAAkB4hD,GAAK,YACrBxiD,KAAK4nB,qBAAqBqE,eAC1BjsB,KAAK2tG,eAAiB,GACtB3tG,KAAKwiD,KAAOA,EAUZxiD,KAAK8rG,mBAAmBkD,uBATS,CAC/BrsD,SAAU3iD,KAAKskG,SACf1hD,KAAM5iD,KAAKwiD,KACXK,SAAU,GACVN,SAAU,SAEVO,eAAe,IAG0DphD,UAAU,SAAO2f,IAAP,OAAiBw6B,0IAChGx6B,GAAO+K,QAAU/d,eACf7E,EAAOP,KAAKC,MAAOlJ,KAAKyI,SAASG,IAAIC,gBAAsBwY,GAAO7X,OAClEw5C,GAAkBx5C,EACtBxJ,KAAK4nB,qBAAqBM,eACJ,QAAlBgwB,KAAgB,UAAE1jB,eAAE2uB,sBAAuB,IAC7CnjD,KAAKojD,YAAgC,QAAlBs4B,KAAgB,UAAEhnD,eAAEyuB,sBACzCnjD,KAAKivG,iBAAiBjsD,IAChB4qD,EAAgB,CACpBd,YAAa,IAAIvrF,KAAK,qCACtBwrF,aAAc,IAAIxrF,KAAK,qCACvByrF,WAAY,GACZC,UAAU,EACVC,QAAQ,EACRhrG,KAAMlC,KAAKquG,YAAcruG,KAAKquG,YAAc,eAC5ClB,SAAU,KACVzmG,KAAM,KACN1E,KAAM,UAERhC,KAAK6sG,QAAU7pD,GAAgBh7C,IAAI,SAACu8F,IAClC,sCACKA,IAAM,CACTriG,KAAMqiG,GAAO5jD,gBACbj6C,KAAM69F,GAAO2J,YACbhB,QAAQ,EACRD,UAAU,EACVF,aAAcxI,GAAOr3E,YACrB8/E,WAAYzI,GAAO6J,aACnBxvD,SAAU2lD,GAAOnnD,aACjBnoB,IAAKsvE,GAAOnnD,aACZp7C,KAAMktG,GAAKC,YAAY,IAAM5K,GAAOnnD,kBAIxCp9C,KAAK6sG,QAAQmB,QAAQJ,IAEvB5tG,KAAK4nB,qBAAqBM,mBApC0E,+CAj1B1G,yBA03BE,SAAYknF,GAGV,OAFYA,EACU3nG,MAAM,KAAKumE,KAC1BqhC,GA73BX,8BAg4BQ,SAAiBrsD,0IAkBjBA,GACFA,EAAgB92C,QAAQ,SAAOm0C,IAAP,OAAcxE,iHACW,aAA3CwE,GAAIC,gBAAgB3zB,oBADY,6CAI3B0zB,GAAIC,gBAAgB3zB,oBAJO7C,SAK5B9pB,KAAKygD,iBAAiBJ,GAAIK,WAAYL,GAAIjD,aAAciD,GAAIM,gBAAiBN,GAAIO,KAAMP,GAAIC,gBAAiBD,GAAInzB,YAAamzB,GAAIlzB,kBALrG,EAMlCntB,KAAKq+C,aAAc,OANe,wFAn5B5C,8BAg6BE,WACMr+C,KAAK4uG,gBACP5uG,KAAK4uG,eAAeU,mBAl6B1B,8BAy6BE,SAAiB9lG,GACf,OAAOA,EAAKxB,IAAI,SAACu8F,IACf,MAAO,CACLriG,KAAMqiG,GAAOuJ,eACb9rG,KAAM,SACNirG,UAAU,EACVvmG,KAAM,GACNqmG,aAAcxI,GAAOn3E,YACrByvB,GAAI0nD,GAAO6J,kBAj7BnB,kCAq7BE,WAAoB,GAr7BtB,mCA67BE,WAAqB,WACnB,GAAIpuG,KAAKqqB,sBAAsB1G,iBAAkB,CAC/C,IAAM0jC,GAAgBrnD,KAAKqqB,sBAAsB1G,iBAAiBoJ,cAClE/sB,KAAKuvG,aAAe,CAClBt6E,IAAG,UAAKpsB,QAAL,oCACH2mG,WAAY,SAACxjG,IACXA,GAAKujG,aAAaC,WAAa,SAACC,IAC9BA,GAAIC,iBAAiB,gBAAiB,UAAY16C,EAAK3qC,sBAAsB1G,iBAAiBC,OAC9F6rF,GAAIC,iBAAiB,eAAgB,oBACrCD,GAAIC,iBAAiB,gBAAiB16C,EAAK3qC,sBAAsB1G,iBAAiBoJ,cAAc5N,aAElGnT,GAAKujG,aAAa/lG,KAAOP,KAAKW,UAAU,CACtC+lG,qBAAsB36C,EAAKvsD,SAASG,IAAIC,gBAAsBw+C,GAAcloC,mBAz8BxF,+BAg9BE,SAAkBe,EAAM8yC,IAAO,WAC7BjoD,WAAW,WACT,IAAMwxC,GAAQsZ,EAAK83C,eAAetpD,UAAU,SAAC+rB,IAAD,OAAQA,GAAGvzB,KAAO38B,IAC1D21C,EAAK/Z,gBACP+Z,EAAK/Z,eAAe8zD,YAAYrzD,KACjC,KAr9BP,gCAw9BE,WACEv8C,KAAK4uG,eAAeiB,iBAz9BxB,8BA++BQ,SAAiBtsD,EAAaC,GAAcC,EAAsBC,GAAsBrB,GAAkBn1B,GAAqBC,uJAE7Ho2B,QACEG,SACDF,aACOxjD,KAAK2jD,kBAAkBH,kCAE1BC,QAAcC,SACjBrB,SACAoB,QACOv2B,SACAC,EAEfntB,KAAK2tG,eAAe32F,KAZd6sC,CACJhH,SACAn2C,WACAy2C,UACA3zC,WACAs6C,MAAO,yEACPC,cAAuBL,mBACvB1hD,WACAE,WACA8hD,kBACAC,oBAGEH,GAAQ9jD,KAAKkkD,MAAMV,IAElBM,oCACW9jD,KAAKmkD,8BAA8BX,GAAMnB,YACvDriD,KAAKkkD,MAAMV,IADXM,WACmBA,sBAIfP,SACEG,UACDF,cACOxjD,KAAK2jD,kBAAkBH,kCAC5BM,UACEL,SAAcC,UACjBrB,UACAoB,SACOv2B,UACAC,EAVTi3B,GACJvH,UACAn2C,YACAy2C,WACA3zC,YACAs6C,aACAC,eAAuBL,oBACvB1hD,YACAE,YACA8hD,mBACAC,oBAEI1H,GAAQv8C,KAAK2tG,eAAetpD,UAAU,aAAI,OAAInkC,GAAK28B,KAAO0G,IAChEvjD,KAAK2tG,eAAepxD,IAAS6H,oDAjhCjC,2CAqhCQ,SAA8BE,EAAkBtiD,8IACvC,WAATA,GAAS,2CACJ,IAAIuiD,QAAgB,SAACC,EAASC,GACnC,IAAMpH,EAAQ99C,SAAS8D,cAAc,SACrCg6C,EAAMqH,YAAc,YACpBrH,EAAMF,IAAMmH,EAEZjH,EAAMp5C,iBAAiB,iBAAkB,WACvCo5C,EAAMsH,YAAc,KAEpBtH,EAAMp5C,iBAAiB,SAAU,WAC/B,IAAM2gD,GAASrlD,SAAS8D,cAAc,UAEtCuhD,GAAO79C,MADa,GACLs2C,EAAMwH,WACrBD,GAAO59C,OAFa,GAEJq2C,EAAMyH,YAEtB,IAAM9/C,GAAM4/C,GAAOG,WAAW,MAC9B//C,GAAIggD,UAAU3H,EAAO,EAAG,EAAGuH,GAAO79C,MAAO69C,GAAO59C,QAIhDhC,GAAIigD,UAAY,2BAChBjgD,GAAIkgD,YACJlgD,GAAImgD,OAAOP,GAAO79C,MAAQ,EAAIq+C,KAAkBR,GAAO59C,OAAS,EAAIo+C,MACpEpgD,GAAIqgD,OAAOT,GAAO79C,MAAQ,EAAIq+C,KAAkBR,GAAO59C,OAAS,GAChEhC,GAAIqgD,OAAOT,GAAO79C,MAAQ,EAAIq+C,KAAkBR,GAAO59C,OAAS,EAAIo+C,MACpEpgD,GAAIsgD,YACJtgD,GAAIugD,OAGJf,EAAQI,GAAOY,UAAU,aAAc,KACvC+nD,GAAKtmF,SAAU,EAEfsmF,GAAK3lF,qBAAqBM,cAE1B08B,GAAOzjD,SACPk8C,EAAMl8C,WAGRk8C,EAAMp5C,iBAAiB,QAAS,SAACuB,IAC/Bg/C,EAAQ,uCACR+oD,GAAKtmF,SAAU,EACfsmF,GAAK3lF,qBAAqBM,kBAK9Bm1B,EAAMp5C,iBAAiB,QAAS,SAACuB,IAC/Bg/C,EAAQ,uCAER+oD,GAAKtmF,SAAU,EACfsmF,GAAK3lF,qBAAqBM,gBAI5Bm1B,EAAMoI,2CAGHlB,QAAQC,QAAQ,iDA/kC3B,+BAmlCQ,SAAkBrH,+HAChBuI,0BAICz8C,KAAKW,UAJM,CAChB0zC,OAAQ,CAAC,CAAEH,IAAKA,EAAKn7C,KAAM,cAC3B2jD,WAAY,CAAEC,SAAS,EAAO73B,UAAU,MAEpB23B,6CAxlC1B,gCAkoCQ,SAAmBnmD,mIACnBA,oCACIS,KAAK0nD,0BAA0BnoD,qDApoC3C,uCAuoCQ,SAA0BooD,GAA+B,IAArBC,GAAqBx9C,kMAC7DpK,KAAK4nB,qBAAqBqE,oBACF,IAAb07B,GAAwC,MAAZA,EAAY,0CAC1C,UAET,YAAKE,uBAAyB,CAC5BC,WAAYH,EAASjH,WACrBqH,SAAUJ,EAASvK,aACnBiK,cAAernD,KAAKqqB,sBAAsB1G,iBAAiBoJ,eAEzDu6B,GAAU,IAAI/C,QAAQ,SAACC,EAASC,GAClC,IAAIlhC,IAAkB,EAEtBgqF,GAAKn4E,uBAAyBm4E,GAAKt5F,cAAc8L,aAAawtF,GAAK1lD,uBADxD,wDACsFnmD,UAC/F,SAAC2f,IAEC,GADAksF,GAAK3lF,qBAAqBM,cACtB7G,GAAO+K,QAAU/d,aAAgB,CACnC,IAAI45C,GAAuCh/C,KAAKC,MAAOqkG,GAAK9kG,SAASG,IAAIC,gBAAsBwY,GAAO7X,OAClG0+C,GAAYqlD,GAAKt5F,cAAck0C,oBAAoB37B,oBAAkBy7B,GAAYG,mBACrFmlD,GAAKt5F,cAAco0C,cAAcJ,GAAYK,SAAUJ,GAAWD,GAAYM,eACxD,IAAlBX,IACF2lD,GAAKxvF,eAAe8P,QAAQ,2BAA4BhlB,wBAC1D0a,IAAS,OAGTgqF,GAAKxvF,eAAe0O,MAAMpL,GAAO3C,QAAS7V,sBAC1C0a,IAAS,EAEXihC,EAAQjhC,KAEV,SAAC/d,IACC+nG,GAAKxvF,eAAe0O,MAAMjnB,GAAOqD,sBACjC0kG,GAAKxvF,eAAe0O,MAAM,8DAA0D5jB,sBACpF0kG,GAAK/nG,MAAQ,qBACb+nG,GAAK3lF,qBAAqBM,cAC1Bs8B,EAAQjhC,iBAID+jC,2FA9qCjB,8BAirCQ,SAAiBijD,kIAChBA,gFAKGvqG,KAAK4oD,iDACU5oD,KAAKsqG,uBAAuB,CAACC,6HAxrCxD,oCAisCE,WACE,OAAO,IAAIhmD,QAAc,SAACC,GACxB9F,SAAU,CACRjwC,MAAO,kDACPkwC,KAAM,kCACNsD,KAAM,UACNpD,kBAAkB,EAClBC,mBAAoB,UACpBoD,kBAAmB,UACnBnD,kBAAmB,kBACnBC,iBAAkB,SAClBE,YAAa,CACXC,cAAe,kBACfC,aAAc,yBAEfr3B,KAAK,SAAC1G,IACHA,GAAOtgB,OACTyjD,UAltCV,oCAwtCQ,SAAuB6lD,6IAC3BrqG,KAAK4nB,qBAAqBqE,eACtBjsB,KAAK0uG,kBAAkB91F,OAAS,IAClCyxF,EAAwBrqG,KAAK0uG,+BAGzBrE,EAAsBzxF,OAAS,+CAC1B,UAGT,YAAKmwC,0BAA4B,GACjC/oD,KAAKwqG,mBAAqBH,EAC1BA,EAAsBn+F,QAAQ,SAACq+F,GAC7B10C,EAAK9M,0BAA0B/xC,KAAK,CAClCowC,SAAUmjD,EACVljD,cAAewO,EAAKxrC,sBAAsB1G,iBAAiBoJ,6BAI1C/sB,KAAKkpD,oCAApB7nC,mCAECA,4CAEPhc,QAAQG,MAAM,qBAAd0pG,2BACO,6BAEPlvG,KAAK4nB,qBAAqBM,8FAlvChC,uCAsvCU,WAAyB,WAC/B,OAAO,IAAIq8B,QAAiB,SAACC,IAE3BwQ,EAAK01C,oBAAsB11C,EAAK/gD,cAAc8L,aAAai1C,EAAKjM,0BADnD,4CACoFrnD,UAC/F,SAAC8H,IACC,IAAM6X,GAASpY,KAAKC,MAAMD,KAAKW,UAAUJ,KAErC6X,GAAO+K,SAAW/d,cAEpB2mD,EAAK5L,cAAc/nC,IACnB2zC,EAAKw4C,oBACLhpD,IAAQ,KAGRwQ,EAAK3L,cAAchoC,IACnBmjC,IAAQ,KAGZ,SAACh/C,IAECwvD,EAAK1L,mBAAmB9jD,IACxBg/C,IAAQ,SA3wClB,2BAixCU,SAAcnjC,GACpBq9B,SAAU,CACRuD,KAAM,UACNxzC,MAAO,WACPkwC,KAAMnyB,oBAAkBnL,EAAO3C,SAC/BwgC,YAAa,CACXC,cAAe,uBAvxCvB,2BAgzCU,SAAc99B,GAElBrhB,KAAK+d,eAAe0O,MADA,mDAAlBpL,EAAO3C,QACiB2C,EAAO3C,QAGP,8DAHgB7V,qBAG0CA,GArzC1F,gCAyzCU,SAAmBrD,GACzBxF,KAAK+d,eAAe0O,MAAMjnB,EAAOqD,wBA1zCrC,6BAm0CE,WAEE61C,SAAU,CACRjwC,MAAO,QACPkwC,KAAM,oDACNC,SAAU,2CACVC,kBAAkB,EAClBC,mBAAoB,UAEpBC,kBAAmB,OACnBC,iBAAkB,SAClBE,YAAa,CACXC,cAAe,kBACfC,aAAc,2BAh1CtB,uBAs1CE,SAAUpzC,GACRA,EAAKyiG,QAAS,IAv1ClB,4BA21CE,SAAeziG,GACThM,KAAK4uG,iBACP5uG,KAAK4uG,eAAekB,KAAO,MACF7C,GA91C/B,yCAo2CQ,kJACJvuD,SAAU,CACRjwC,MAAO,2FACPkwC,KAAM,kCACNsD,KAAM,UACNpD,kBAAkB,EAClBC,mBAAoB,UACpBoD,kBAAmB,UACnBnD,kBAAmB,kBACnBC,iBAAkB,SAClBE,YAAa,CACXC,cAAe,kBACfC,aAAc,yBAGfr3B,KACE,SAAO1G,IAAP,OAAiBw6B,oHACZx6B,GAAOtgB,MADK,gCAEEf,KAAK+vG,4BAFP,+FAp3C1B,kCA43CQ,qJACJ,YAAKnoF,qBAAqBqE,eAE1BjsB,KAAKgwG,YAAc,CACjB/xB,UAFaj+E,KAAK0uG,kBAGlBrnD,cAAernD,KAAKqqB,sBAAsB1G,iBAAiBoJ,eAEzDu6B,GAAU,IAAI/C,QAAQ,SAACC,EAASC,GAClC,IAAIlhC,EAEJ07D,GAAK6sB,mBAAmBmE,iBAAiBhxB,GAAK+wB,aAC3CtuG,UACC,SAAC8H,GACCy1E,GAAKr3D,qBAAqBM,cAC1B,IAAI7G,GAASpY,KAAKC,MAAMD,KAAKW,UAAUJ,IACnC6X,GAAO+K,QAAU/d,cACnBqwC,SAAU,CACRuD,KAAM,UACNxzC,MAAO,WACPkwC,KAAMnyB,oBAAkBnL,GAAO3C,SAC/BwgC,YAAa,CACXC,cAAe,qBAGnB8/B,GAAKmuB,qBAGL7pF,GAAS,IAGT07D,GAAKlhE,eAAe0O,MAAM,8DAA0D5jB,sBACpF0a,GAAS,GAEXihC,EAAQjhC,IAEV,SAAC/d,GACCy5E,GAAKlhE,eAAe0O,MAAMjnB,EAAOqD,sBACjCo2E,GAAKz5E,MAAQ,iCACby5E,GAAKr3D,qBAAqBM,4BAIrBo/B,8FAt6CjB,wBAy6CE,SAAWt7C,GACc,UAAnBA,EAAKkkG,YACPlkG,EAAKyiG,QAAS,GAGM,iBAAlBziG,EAAKkkG,YACPlwG,KAAKmwG,WAAankG,EAAKmkG,WACvBnwG,KAAKowG,0BAEU,gBAAbpkG,EAAK9J,OACPlC,KAAKmwG,WAAankG,EAAKmkG,WACvBnwG,KAAKowG,0BAEU,UAAbpkG,EAAK9J,OACPlC,KAAKqwG,QAAS,EACdrwG,KAAKmwG,WAAankG,EAAKskG,QACvBtwG,KAAKowG,0BAEgB,WAAnBpkG,EAAKkkG,YACPlkG,EAAKyiG,QAAS,GAGO,kBAAnBziG,EAAKkkG,YACPlkG,EAAKyiG,QAAS,KAh8CpB,wBAo8CE,SAAWziG,GAAI,GAp8CjB,oCA28CE,WAAsB,WAapBhM,KAASqwG,OACPrwG,KAAKuwG,sBAAwB,CAC3BnC,aAAcpuG,KAAKskG,SACnBwJ,eAAgB9tG,KAAKmwG,WACrBpjF,cAAe/sB,KAAKqqB,sBAAsB1G,iBAAiBoJ,cAC3DG,YAAaV,6BACbW,YAAaX,6BACbY,YAAaZ,6BACba,YAAab,6BACbgkF,UAAU,GAGJxwG,KAAKqwG,SACbrwG,KAAKuwG,sBAAwB,IAAIj/B,KACjCtxE,KAAKuwG,sBAAwB,CAC3BnC,aAAc,EACdN,eAAgB9tG,KAAKmwG,WACrBpjF,cAAe/sB,KAAKqqB,sBAAsB1G,iBAAiBoJ,gBAG3D/sB,KAAKqqB,sBAAsB1G,kBAAoB3jB,KAAKmwG,aACtDnwG,KAAK4nB,qBAAqBqE,eAE1BjsB,KAAK8rG,mBAAmBsE,uBAAuBpwG,KAAKuwG,uBACjD7uG,UACC,SAAC2f,GACKA,EAAO+K,QAAU/d,kBACRpF,KAAKC,MAAO8rD,EAAKvsD,SAASG,IAAIC,gBAAsBwY,EAAO7X,OACtEwrD,EAAK7qC,aAAa2hD,aAClB9W,EAAKq7C,QAAS,EACdr7C,EAAKptC,qBAAqBM,cAC1Bnd,WAAW,WAETiqD,EAAKj3C,eAAe8P,QADV,6BACuBhlB,wBACjCmsD,EAAKo4C,sBACJ,MAEI/rF,EAAO+K,QAAU/d,oBACbpF,KAAKC,MAAO8rD,EAAKvsD,SAASG,IAAIC,gBAAsBwY,EAAO7X,OACtEwrD,EAAK7qC,aAAa2hD,aAClB9W,EAAKptC,qBAAqBM,cAC1B8sC,EAAKq7C,QAAS,EACdtlG,WAAW,WAETiqD,EAAKj3C,eAAe8P,QADV,+BACuBhlB,wBACjCmsD,EAAKo4C,sBACJ,MAEI/rF,EAAO+K,QAAU/d,YACbpF,KAAKC,MAAO8rD,EAAKvsD,SAASG,IAAIC,gBAAsBwY,EAAO7X,OACtEwrD,EAAKptC,qBAAqBM,cAC1B8sC,EAAKq7C,QAAS,EACdtlG,WAAW,WACTiqD,EAAKj3C,eAAe0O,MAAMpL,EAAO3C,QAAS7V,sBAC1CmsD,EAAKo4C,sBACJ,MAEEp4C,EAAKptC,qBAAqBM,mBAjhD7C,gCAuhDE,WACEloB,KAAKiqB,UAAUppB,OAAM,KAxhDzB,6BA8hDE,SAAgBmL,GAAS,GA9hD3B,0BAiiDE,SAAaA,GAAS,GAjiDxB,uBAoiDE,WAAS,WACD6+D,GAAQ7qE,KAAK4uG,eAAeC,mBAClC7uG,KAAK8uG,kBAAoB,GAEzBjkC,GAAM3+D,QAAQ,aACRkZ,GAAKs7B,YACPsU,EAAK85C,kBAAkB93F,KAAKoO,GAAKs7B,cAGjC1gD,KAAK8uG,kBAAkBl2F,OAAS,EAElC5Y,KAAK+d,eAAe0O,MAAM,oBAAqB5jB,sBAExC7I,KAAK8uG,kBAAkBl2F,QAAU,IACxC5Y,KAAK0tG,UAAW,EAOd1tG,KAAKywG,eANoD,CACvD9tD,SAAU3iD,KAAK6pB,MAAM84B,SACrB+tD,YAAa1wG,KAAK8uG,kBAClB/hF,cAAe/sB,KAAKqqB,sBAAsB1G,iBAAiBoJ,cAC3Dk9B,WAAWjqD,KAAK6pB,MAAMogC,aAEJvH,GAzjD5B,4BA8jDE,SAAe7F,GAAE,YACf78C,KAAK4nB,qBAAqBqE,eAC1BjsB,KAAK8rG,mBAAmB6E,0BAA0B9zD,GAAIn7C,UAAU,SAAO2f,GAAP,OAAiBw6B,mHACvEx6B,EAAO+K,QAAU/d,eAEnBrO,KAAKiqB,UAAUppB,OAAM,GACrBb,KAAK4nB,qBAAqBM,eAE5BloB,KAAK4nB,qBAAqBM,mBANiD,iDAhkDrF6tC,sDAAa/L,IAA8BnlD,kKA2I/BmpB,iCA3ICg8B,GAA8BjlD,87DC1C3CF,kBA6CiBA,iBACAA,gBAA2EA,oCAC1EA,oBAAuDA,gCAASG,yBAC3CH,gBAAOA,QAC9BA,QAChBA,eACIA,+BAAsCA,8DAA4B,+DAA5BA,CAA4B,8BAClDG,mBADsBH,CAA4B,gCACdG,oBADdH,CAA4B,gCACuBG,mBADnDH,CAA4B,gCAC2DG,mBADvFH,CAA4B,mCACkGG,sBAD9HH,CAA4B,sCAEGG,iBAF/BH,CAA4B,8BAEmCG,iBAF/DH,CAA4B,qCAG3CG,iBAHeH,CAA4B,kCAGPG,iBAHrBH,CAA4B,4BAGuBG,iBAHnDH,CAA4B,kCAIVG,qBAJlBH,CAA4B,+BAI2BG,kBAJvDH,CAA4B,6BAKrBG,gBALPH,CAA4B,8BAKUG,sBAE5EH,QAEJA,QACAA,mCAYAA,sBACIA,iCAAUG,yBADdH,QAICA,kBACGA,mBACEA,sBAAoDA,gCAASG,gBAC3DH,2BACuDA,oBACzDA,QACAA,sBAAmDA,gCAASG,yBAC1DH,2BACuDA,oBACzDA,QACFA,QACFA,QACFA,gBAtC0CA,2CAA4B,mBAA5BA,CAA4B,+CAA5BA,CAA4B,4CAA5BA,CAA4B,oCAA5BA,CAA4B,8BAA5BA,CAA4B,WAA5BA,CAA4B,aAA5BA,CAA4B,uBAWpCA,iDAY2BA,sCAKmBA,qCACjEA,iCAGyEA,qCACzEA,wwDD1CFmlD,GAAb,EAAaA,uHEjCA4mD,EAAb,eAAaA,EAAb,WAEE,WAAoB38F,IAA4B,eAA5BjU,qBAFtB,6CAIE,SAAe6wG,IAEb,OAAO7wG,KAAKiU,cAAc8L,aAAa8wF,GAD1B,6BACoD7wF,GANrE,0BASE,SAAawjD,IAEX,OAAOxjE,KAAKiU,cAAc8L,aAAayjD,GAD1B,kCAC0DxjD,GAX3E,+BAcE,SAAkBwjD,IAEhB,OAAOxjE,KAAKiU,cAAc8L,aAAayjD,GAD1B,gCAC0DxjD,GAhB3E,kCAmBE,SAAqB8wF,IAEnB,OAAO9wG,KAAKiU,cAAc8L,aAAa+wF,GAD1B,mCACqD9wF,GArBtE,gCAwBE,SAAmB+wF,IAEjB,OAAO/wG,KAAKiU,cAAc8L,aAAagxF,GAD1B,iCACwD/wF,GA1BzE,mCA6BE,SAAsBgxF,IAEpB,OAAOhxG,KAAKiU,cAAc8L,aAAaixF,GAD1B,oCACyDhxF,GA/B1E,gCAkCE,SAAmBixF,IAEjB,OAAOjxG,KAAKiU,cAAc8L,aAAakxF,GAD1B,iCAC0DjxF,GApC3E,mCAsCE,SAAsBkxF,IAEpB,OAAOlxG,KAAKiU,cAAc8L,aAAamxF,GAD1B,oCAC0DlxF,GAxC3E,uCA2CE,SAA0BxW,IAExB,OAAOxJ,KAAKiU,cAAc8L,aAAavW,GAD1B,wCACgCwW,GA7CjD,2CAgDE,SAA8BmxF,IAE5B,OAAOnxG,KAAKiU,cAAc8L,aAAaoxF,GAD1B,4CACgEnxF,GAlDjF,8CAqDE,SAAiCoxF,IAE/B,OAAOpxG,KAAKiU,cAAc8L,aAAaqxF,GAD1B,+CACiDpxF,GAvDlE,oCA0DE,SAAuBxW,IAErB,OAAOxJ,KAAKiU,cAAc8L,aAAavW,GAD1B,0CACgCwW,GA5DjD,kCA+DE,SAAqB6J,IAEnB,OAAO7pB,KAAKiU,cAAc8L,aAAa8J,GAD1B,gCACiC7J,GAjElD,qCAoEE,SAAwBqxF,IAEtB,OAAOrxG,KAAKiU,cAAc8L,aAAasxF,GAD1B,mCAC0CrxF,GAtE3D,6BAyEE,SAAgBsxF,IAEd,OAAOtxG,KAAKiU,cAAc8L,aAAauxF,GAD1B,8BACoDtxF,GA3ErE,oCA8EE,SAAuBxW,IAErB,OAAOxJ,KAAKiU,cAAc8L,aAAavW,GAD1B,qCAC+BwW,GAhFhD,+BAmFE,SAAkBxW,IAEhB,OAAOxJ,KAAKiU,cAAc8L,aAAavW,GAD1B,gCAC+BwW,KArFhDzT,kDAAaqkG,GAAkB/rG,uCAAlB+rG,EAAkBlrG,QAAlBkrG,EAAkB,qBAFjB,SAEDA,EAAb,EAAaA,2ICLApkF,EAAb,eAAaA,EAAb,WAEI,YAAoB6wE,IAAkB,gBAAlBr9F,gBAFxB,oDAMW,SAAuBe,GAE1B,OAAI,MAAQA,EACD,GAIAwwG,OAAOxwG,KAb1B,6BAeW,SAAuBA,GAE1B,OAAI,MAAQA,EACD,EAIA4U,OAAO5U,KAtB1B,8BAwBW,SAAwBA,GAE3B,OAAI,MAAQA,GAKDywG,QAAQzwG,KA/B3B,2BAiCW,SAAqBA,GAExB,OAAI,MAAQA,EACDA,EAIA,IAAIwgB,KAAKxgB,KAxC5B,sBA0CW,SAAgBA,GAEnB,OAAI,MAAQA,EACD,IAAIwgB,KAIJ,IAAIA,KAAKxgB,EAAM0gB,cAAe1gB,EAAMkjB,WAAYljB,EAAMojB,aAjDzE,sBAoDW,SAAgBpjB,GAEnB,OAAI,MAAQA,EACD,IAAIwgB,KAIJ,IAAIA,KAAK,KAAM,EAAG,EAAGxgB,EAAMsjB,WAAYtjB,EAAMwjB,aAAcxjB,EAAM0wG,gBA3DpF,+BA8DW,SAAyB1wG,GAG5B,OAAI,MAAQA,EACD,IAIXA,EAAQf,KAAK0xG,SAAS3wG,IAEtBA,EAAQ,IAAIwgB,KAAKspF,IAAO9pG,GAAO4wG,UAAU,GAAG,GAAMprF,WAEnCqrF,SAERvwF,GA5Ef,+BA8EW,SAAyBtgB,GAG5B,OAAI,MAAQA,EACD,IAIXA,EAAQf,KAAK6xG,SAAS9wG,IAEtBA,EAAQ,IAAIwgB,KAAKspF,IAAO9pG,GAAO4wG,UAAU,GAAG,GAAMprF,WAEnCqrF,SAERvwF,GA5Ff,oCA8FW,WAEH,IAAItgB,EAAQ,IAAIwgB,KAEhBxgB,SAAQf,KAAK0xG,SAAS3wG,IAEtBA,EAAQ,IAAIwgB,KAAKspF,IAAO9pG,GAAO4wG,UAAU,GAAG,GAAMprF,WAEnCqrF,QAERvwF,GAxGf,oCA0GW,WAEH,IAAItgB,EAAQ,IAAIwgB,KAEhBxgB,SAAQf,KAAK6xG,SAAS9wG,IAEtBA,EAAQ,IAAIwgB,KAAKspF,IAAO9pG,GAAO4wG,UAAU,GAAG,GAAMprF,WAEnCqrF,QAERvwF,GApHf,sCAsHW,WAEH,IAAItgB,EAEJA,GAAQ,IAAIwgB,MAAOmgD,eAAe,SAElC,IAEIspC,GAFaH,IAAO9pG,EAAO,wBAENwlB,OAAO,4BAEhClF,OAAS,IAAIE,KAAKypF,GAEX3pF,GAlIf,gCAoIW,SAA0BywF,EAAeC,IAA4B,IAAXC,GAAW5nG,uDAAD,EACnE6lD,GAAQ,IAAI1uC,KAAK,KAAM,EAAG,EAAGuwF,EAAOC,GAASC,GAAU,IAC3D,OAAO,IAAIzwF,KAAKspF,IAAO56C,IAAO0hD,UAAU,GAAG,GAAMprF,YAtIzD,gCAwIW,SAA0B0pC,EAAagiD,IAC1C,IAAI3wF,GAAO,IAAIC,KAAK0uC,GAAYiiD,GAAO,IAAI3wF,KAAK0wF,IAGhD,OAFa,IAAI1wF,KAAKD,GAAKG,cAAeH,GAAK2C,WAAY3C,GAAK6C,UAAW+tF,GAAK7tF,WAAY6tF,GAAK3tF,aAAc2tF,GAAKT,cAEtGxuB,gBA5ItB,kCA8IW,SAA4BxzC,EAAUsiE,IACzC,OAAO,IAAIxwF,KAAKkuB,EAAGG,UAAsB,IAAVmiE,GAAU,KA/IjD5lG,mDAAaqgB,GAAC3nB,wCAAD2nB,EAAC9mB,QAAD8mB,EAAC,YAADA,EAAb,EAAaA,wECLN,IAAM2lF,EAAc,CACzBC,YAAY,EACZC,KAAK,EACLC,OAAQ,yJCHGC,GAAb,eAAaA,KAAbC,oCACgBD,cAAO,CACnBE,eAAgB,CACdC,QAAS,CACPC,OAAQ,+CACRC,SAAU,UACV7qG,SAAU,WACV8qG,MAAO,yBACPC,QAAS,kBAEXh0F,KAAM,CACJi0F,IAAK,GACLC,IAAK,KACLC,QAAS,MACTC,QAAS,GACTC,MAAO,mBAETC,OAAQ,CACNC,YAAa,CACXC,QAAS,0BACTC,SAAU,GACV/jD,OAAQ,GACRgkD,SAAU,2BACVC,UAAW,GACXC,MAAO,IAETC,YAAa,CACXL,QAAS,CACPM,WAAY,qCACZ/2D,GAAI,YAEN2S,OAAQ,CACNokD,WAAY,oCACZ/2D,GAAI,cAEN02D,SAAU,GACVM,OAAQ,KAGZC,aAAc,CACZC,kBAAkB,EAClBC,cAAc,EACdC,UAAU,EACVC,kBAAkB,EAClBC,gBAAgB,EAChBC,YAAY,KA7CP7B,EAAb,GCAa8B,EAAb,eAAaA,KAAb7B,oCACgB6B,cAAO,CAEnBC,SAAU,CACR,CACEz3D,GAAI,EACJ03D,IAAK,8BACL9lG,MAAO,iDACPkkG,OAAQ,8CACRC,SAAU,gBACV4B,WAAY,eACZC,KAAM,CAAC,QAAS,WAChBC,SAAU,8FACVC,QAAS,IAEX,CACE93D,GAAI,EACJ03D,IAAK,8BACL9lG,MAAO,8CACPkkG,OAAQ,8CACRC,SAAU,gBACV4B,WAAY,eACZC,KAAM,CAAC,SAAU,SACjBC,SAAU,6FACVC,QAAS,QAEX,CACE93D,GAAI,EACJ03D,IAAK,8BACL9lG,MAAO,kDACPkkG,OAAQ,8CACRC,SAAU,eACV4B,WAAY,eACZC,KAAM,CAAC,SAAU,QACjBC,SAAU,wFACVC,QAAS,KAEX,CACE93D,GAAI,EACJ03D,IAAK,8BACL9lG,MAAO,6CACPkkG,OAAQ,+CACRC,SAAU,aACV4B,WAAY,eACZC,KAAM,CAAC,SACPC,SAAU,4FACVC,QAAS,IAEX,CACE93D,GAAI,EACJ03D,IAAK,8BACL9lG,MAAO,4CACPkkG,OAAQ,+CACRC,SAAU,eACV4B,WAAY,eACZC,KAAM,CAAC,QAAS,WAChBC,SAAU,6FACVC,QAAS,KAEX,CACE93D,GAAI,EACJ03D,IAAK,8BACL9lG,MAAO,0DACPkkG,OAAQ,+CACRC,SAAU,cACV4B,WAAY,eACZC,KAAM,CAAC,UAAW,SAClBC,SACE,6GACFC,QAAS,SAKbC,YAAa,CACXC,YAAa,CACX,CACEh4D,GAAI,EACJ03D,IAAK,qCACL9lG,MAAO,8BACPqmG,SAAU,eAEZ,CACEj4D,GAAI,EACJ03D,IAAK,qCACL9lG,MAAO,kCACPqmG,SAAU,eAEZ,CACEj4D,GAAI,EACJ03D,IAAK,qCACL9lG,MAAO,+BACPqmG,SAAU,eAEZ,CACEj4D,GAAI,GACJ03D,IAAK,qCACL9lG,MAAO,qCACPqmG,SAAU,gBAGdC,WAAY,CACV,CAAEC,SAAU,UAAW/yD,KAAM,SAC7B,CAAE+yD,SAAU,OAAQ/yD,KAAM,iBAC1B,CAAE+yD,SAAU,SAAU/yD,KAAM,WAC5B,CAAE+yD,SAAU,QAAS/yD,KAAM,QAC3B,CAAE+yD,SAAU,QAAS/yD,KAAM,WAK/BgzD,WAAY,CACVC,KAAM,CACJX,IAAK,qCACL9lG,MAAO,iDACPkkG,OAAQ,8CACRC,SAAU,gBACVkC,SAAU,eACVL,KAAM,CAAC,SAAU,SACjBzhD,QAAO,8yCACPmiD,SAAU,QACVC,WAAY,KAEdD,SAAU,CACR,CACExC,OAAQ,8CACRC,SAAU,iBACVyC,YAAa,eACbC,YACE,gHAMRC,SAAU,CACR5C,OAAQ,8CACRC,SAAU,iBACVkC,SAAU,eACVU,UAAW,iDACXC,eAAgB,CAAC,UAAW,SAAU,OAAQ,QAAS,SACvDC,KAAM,iDACNtpF,OAAQ,YACRsoF,SACE,omBACFiB,cAAe,gCAjJRtB,EAAb,GCAauB,KAAbpD,oCACgBoD,SAAS,CACrB,CACE/4D,GAAI,EACJ5nB,IAAK,GACLxmB,MAAO,gBACPqxE,MAAO,IAAIv+D,KACXw+D,IAAK,IAAIx+D,MAAK,IAAIA,MAAOquB,UAAY,OACrCg2C,QAAQ,EACRlE,SAAU,WACVD,cAAe,IAEjB,CACE5kC,GAAI,EACJ5nB,IAAK,GACLxmB,MAAO,sBACPqxE,MAAO,IAAIv+D,MAAK,IAAIA,MAAOE,eAAe,IAAIF,MAAO0C,WAAa,GAAG,IACrE87D,IAAK,IAAIx+D,MAAK,IAAIA,MAAOE,eAAe,IAAIF,MAAO0C,WAAa,GAAG,IACnE2hE,QAAQ,EACRlE,SAAU,WACVD,cAAe,IAEjB,CACE5kC,GAAI,EACJ5nB,IAAK,GACLxmB,MAAO,cACPm3E,QAAQ,EACR9F,MAAO,IAAIv+D,MAAK,IAAIA,MAAOE,eAAe,IAAIF,MAAO0C,WAAa,GAAG,GACrE87D,IAAK,IAAIx+D,MAAK,IAAIA,MAAOE,eAAe,IAAIF,MAAO0C,WAAa,GAAG,GACnEy9D,SAAU,UACVD,cAAe,IAEjB,CACE5kC,GAAI,EACJ5nB,IAAK,4BACLxmB,MAAO,YACPqxE,MAAO,IAAIv+D,MAAK,IAAIA,MAAOE,eAAe,IAAIF,MAAO0C,WAAa,GAAG,IACrE87D,IAAK,IAAIx+D,MAAK,IAAIA,MAAOE,eAAe,IAAIF,MAAO0C,WAAa,GAAG,IACnE2hE,QAAQ,EACRlE,SAAU,WACVD,cAAe,IAEjB,CACE5kC,GAAI,EACJ5nB,IAAK,GACLxmB,MAAO,aACPqxE,MAAO,IAAIv+D,MAAK,IAAIA,MAAOE,eAAe,IAAIF,MAAO0C,WAAa,GAAG,IACrE87D,IAAK,IAAIx+D,MAAK,IAAIA,MAAOE,eAAe,IAAIF,MAAO0C,WAAa,GAAG,IACnE2hE,QAAQ,EACRlE,SAAU,MACVD,cAAe,CACb/0E,SAAU,UACV63E,YAAa,YACbC,SAAU,KAGd,CACE3nC,GAAI,EACJ5nB,IAAK,GACLxmB,MAAO,aACPqxE,MAAO,IAAIv+D,MAAK,IAAIA,MAAOE,eAAe,IAAIF,MAAO0C,WAAa,GAAG,IACrE87D,IAAK,IAAIx+D,MAAK,IAAIA,MAAOE,eAAe,IAAIF,MAAO0C,WAAa,GAAG,IACnE2hE,QAAQ,EACRlE,SAAU,WACVD,cAAe,IAEjB,CACE5kC,GAAI,EACJ5nB,IAAK,GACLxmB,MAAO,SACPqxE,MAAO,IAAIv+D,MAAK,IAAIA,MAAOE,eAAe,IAAIF,MAAO0C,WAAa,GAAG,IACrE87D,IAAK,IAAIx+D,MAAK,IAAIA,MAAOE,eAAe,IAAIF,MAAO0C,WAAa,GAAG,IACnE2hE,QAAQ,EACRlE,SAAU,SACVD,cAAe,CACb/0E,SAAU,SACV63E,YAAa,mBAGjB,CACE1nC,GAAI,EACJ5nB,IAAK,GACLxmB,MAAO,iBACPqxE,MAAO,IAAIv+D,MAAK,IAAIA,MAAOE,eAAe,IAAIF,MAAO0C,WAAa,GAAG,IACrE87D,IAAK,IAAIx+D,MAAK,IAAIA,MAAOE,eAAe,IAAIF,MAAO0C,WAAa,GAAG,IACnE2hE,QAAQ,EACRlE,SAAU,WACVD,cAAe,CACb/0E,SAAU,QACV63E,YAAa,kBAGjB,CACE1nC,GAAI,EACJ5nB,IAAK,GACLxmB,MAAO,kBACPqxE,MAC4B,MAA1B,IAAIv+D,MAAO0C,WACP,IAAI1C,MAAK,IAAIA,MAAOE,cAAgB,EAAG,EAAG,GAC1C,IAAIF,MAAK,IAAIA,MAAOE,eAAe,IAAIF,MAAO0C,WAAa,EAAG,GACpE87D,IAC4B,MAA1B,IAAIx+D,MAAO0C,WACP,IAAI1C,MAAK,IAAIA,MAAOE,cAAgB,EAAG,EAAG,GAC1C,IAAIF,MAAK,IAAIA,MAAOE,eAAe,IAAIF,MAAO0C,WAAa,EAAG,GACpE2hE,QAAQ,EACRlE,SAAU,WACVD,cAAe,IAEjB,CACE5kC,GAAI,GACJ5nB,IAAK,GACLxmB,MAAO,kBACPqxE,MAC4B,MAA1B,IAAIv+D,MAAO0C,WACP,IAAI1C,MAAK,IAAIA,MAAOE,cAAgB,EAAG,EAAG,GAC1C,IAAIF,MAAK,IAAIA,MAAOE,eAAe,IAAIF,MAAO0C,WAAa,EAAG,GACpE87D,IAC4B,MAA1B,IAAIx+D,MAAO0C,WACP,IAAI1C,MAAK,IAAIA,MAAOE,cAAgB,EAAG,EAAG,GAC1C,IAAIF,MAAK,IAAIA,MAAOE,eAAe,IAAIF,MAAO0C,WAAa,EAAG,GACpE2hE,QAAQ,EACRlE,SAAU,WACVD,cAAe,KAGLm0B,WAAW,CACvB,CAAE/4D,GAAI,EAAG9yC,OAAQ,WAAY0mD,MAAO,UAAWl7C,SAAS,GACxD,CAAEsnC,GAAI,EAAG9yC,OAAQ,UAAW0mD,MAAO,UAAWl7C,SAAS,GACvD,CAAEsnC,GAAI,EAAG9yC,OAAQ,WAAY0mD,MAAO,SAAUl7C,SAAS,GACvD,CAAEsnC,GAAI,EAAG9yC,OAAQ,SAAU0mD,MAAO,UAAWl7C,SAAS,GACtD,CAAEsnC,GAAI,EAAG9yC,OAAQ,MAAO0mD,MAAO,OAAQl7C,SAAS,IClI7C,IAAMsgG,GAAb,eAAaA,KAAbrD,oCACgBqD,cAAO,CACnBC,eAAgB,CACdC,OAAQ,CAAC,IACTC,cAAe,CACbC,QAAS,IACTC,WAAY,GACZC,YAAa,GACbC,aAAc,OAGlBC,YAAa,CACXN,OAAQ,CACN,CACE7zG,KAAM,WACNsH,KAAM,CAAC,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAGvCwsG,cAAe,CACbK,YAAa,OACbC,gBAAiB,QACjBC,KAAM,UACNC,gBAAiB,GACjBC,UAAW,MACXC,qBAAsB,GACtBC,MAAO,OACPC,iBAAkB,GAClBC,SAAU,MACVC,oBAAqB,KAGzBC,cAAe,CACbC,oBAAqB,CACnBjB,OAAQ,CACN,CACE7zG,KAAM,UACNsH,KAAM,CAAC,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,KAE/C,CACEtH,KAAM,UACNsH,KAAM,EAAC,KAAM,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,QAIxDytG,YAAa,CACXlB,OAAQ,CACN,CACEvsG,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,KAEjD,CACEA,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,OAInDwsG,cAAe,CACbkB,cAAe,UACfC,YAAa,WAGjBC,aAAc,CACZrB,OAAQ,CAAC,IACTC,cAAe,CACbqB,UAAW,UACXC,WAAY,WAGhBC,QAAS,CACPxB,OAAQ,CACN,CACE7zG,KAAM,aACNsH,KAAM,CAAC,KAAO,KAAO,MAAO,MAAO,MAAO,KAAO,MAAO,QAE1D,CACEtH,KAAM,aACNsH,KAAM,CAAC,KAAO,KAAO,MAAO,MAAO,MAAO,MAAO,KAAO,QAG5DwsG,cAAe,CACbwB,UAAW,SACXC,UAAW,WAGfC,mBAAoB,CAClB3B,OAAQ,CACN,CACE7zG,KAAM,QACNsH,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,KAE9B,CACEtH,KAAM,QACNsH,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,OAIjCmuG,MAAO,CACL5B,OAAQ,CACN,CACE7zG,KAAM,QACNsH,KAAM,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGlEwsG,cAAe,CACb4B,WAAY,WAGhBC,cAAe,CACb9B,OAAQ,CAAC,GAAI,GAAI,IACjBC,cAAe,CACb8B,SAAU,MACVC,QAAS,MACTC,SAAU,OAGdC,iBAAkB,CAChBlC,OAAQ,CAAC,KAAM,KAAM,KACrBC,cAAe,CACbkC,QAAS,CACPC,kBAAmB,QACnBC,iBAAkB,MAEpBC,OAAQ,CACNC,iBAAkB,QAClBF,iBAAkB,MAEpBG,OAAQ,CACNC,iBAAkB,OAClBJ,iBAAkB,SAIxBK,UAAW,CACT1C,OAAQ,CAAC,IAAK,IAAK,KACnBC,cAAe,CACb0C,IAAK,IACLC,UAAW,IACXC,UAAW,MAGfC,SAAU,CACR9C,OAAQ,CAAC,GAAI,GAAI,MA3IVF,EAAb,GCAaiD,GAAb,eAAaA,KAAbtG,oCACgBsG,cAAO,CACnBC,YAAa,CACXhD,OAAQ,CACN,CACE7zG,KAAM,OACNsH,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,MAG3BwsG,cAAe,CACbgD,OAAQ,UAGZC,YAAa,CACXlD,OAAQ,CACN,CACEvsG,KAAM,CAAC,EAAG,GAAI,EAAG,GAAI,GAAI,MAG7BwsG,cAAe,CACbkD,OAAQ,UAGZC,WAAY,CACVnD,cAAe,CACb2B,MAAO,OACPc,UAAW,SACXW,SAAU,SACV7B,QAAS,UAGb8B,MAAO,CACLrD,cAAe,CACbqD,MAAO,UAGXlE,SAAU,CACRa,cAAe,CACbb,SAAU,QAGd6D,OAAQ,CACNhD,cAAe,CACbgD,OAAQ,UAGZM,UAAW,CACTtD,cAAe,CACbsD,UAAW,SAGfC,QAAS,CACPvD,cAAe,CACbuD,QAAS,QAGbC,QAAS,CACPxD,cAAe,CACbwD,QAAS,SAGbC,SAAU,CACRzD,cAAe,CACbyD,SAAU,QAGdC,YAAa,CACX1D,cAAe,CACb0D,YAAa,UAGjBC,eAAgB,CACd3D,cAAe,CACb2D,eAAgB,SAGpBC,YAAa,CACX5D,cAAe,CACb4D,YAAa,OAGjBC,mBAAoB,CAClB9D,OAAQ,CACN,CACE7zG,KAAM,cACNsH,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,MAGnCwsG,cAAe,CACb8D,YAAa,UAGjBC,iBAAkB,CAChBhE,OAAQ,CACN,CACE7zG,KAAM,UACNsH,KAAM,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGzCwsG,cAAe,CACbuB,QAAS,UAGbyC,eAAgB,CACdjE,OAAQ,CACN,CACE7zG,KAAM,QACNsH,KAAM,CAAC,GAAI,GAAI,EAAG,GAAI,EAAG,MAG7BwsG,cAAe,CACb2B,MAAO,QAGXsC,eAAgB,CACdlE,OAAQ,CACN,CACE7zG,KAAM,SACNsH,KAAM,CAAC,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,KAGjCwsG,cAAe,CACbgD,OAAQ,UAGZkB,YAAa,CACXnE,OAAQ,CACN,CACE7zG,KAAM,eACNsH,KAAM,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,OAGpCwsG,cAAe,CACbkE,YAAa,UAGjBC,YAAa,CACXpE,OAAQ,CACN,CACE7zG,KAAM,eACNsH,KAAM,CAAC,IAAK,IAAM,IAAK,KAAM,IAAM,KAAM,QAG7CwsG,cAAe,CACbmE,YAAa,WAGjBC,WAAY,CACVrE,OAAQ,CACN,CACE7zG,KAAM,aACNsH,KAAM,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,OAGpCwsG,cAAe,CACboE,WAAY,WA3JPtB,EAAb,GCAauB,GAAb,eAAaA,KAAb7H,oCACgB6H,cAAO,CACnBC,YAAa,CACXz9D,GAAI,GACJ81D,OAAQ,8BACR5qG,SAAU,WACVwyG,KAAM,QACNC,MACE,+GACFpuF,OAAQ,SACRuxB,SAAU,CACR88D,kCAAkC,EAClCC,mBAAmB,IAIvBC,SAAU,CACR99D,GAAI,EACJ90C,SAAU,gBACVwyG,KAAM,qBACNC,MAAO,iGACP7H,OAAQ,8BACRvmF,OAAQ,WAGVwuF,MAAO,CACL/9D,GAAI,EACJg+D,OAAQ,EACRC,WAAY,EACZC,KAAM,CACJ,CACEr8F,QAAS,KACTwzF,KAAM,0CACN8I,SAAU,IAEZ,CACEt8F,QAAS,6BACTwzF,KAAM,0CACN8I,SAAU,GAEZ,CACEt8F,QAAS,8DACTwzF,KAAM,0CACN8I,SAAU,IAEZ,CACEt8F,QAAS,2DACTwzF,KAAM,0CACN8I,SAAU,GAEZ,CACEt8F,QAAS,6CACTwzF,KAAM,0CACN8I,SAAU,GAEZ,CACEt8F,QAAS,uDACTwzF,KAAM,uBACN8I,SAAU,OA1DPX,EAAb,GCAaY,GAAb,eAAaA,KAAbzI,oCACgByI,qBAAc,CAC1Bp+D,GAAI,GACJ81D,OAAQ,+CACR5qG,SAAU,WACVwyG,KAAM,QACNC,MACE,+GACFpuF,OAAQ,SACRuxB,SAAU,CACR88D,kCAAkC,EAClCC,mBAAmB,IAGTO,WAAW,CACvB,CACEp+D,GAAI,EACJ90C,SAAU,gBACVwyG,KAAM,qBACNC,MAAO,iGACP7H,OAAQ,8BACRvmF,OAAQ,WAEV,CACEywB,GAAI,EACJ90C,SAAU,oBACVwyG,KAAM,iBACNC,MACE,yKACF7H,OAAQ,8BACRvmF,OAAQ,QAEV,CACEywB,GAAI,EACJ90C,SAAU,sBACVwyG,KAAM,eACNC,MACE,sHACF7H,OAAQ,8BACRvmF,OAAQ,QAEV,CACEywB,GAAI,EACJ90C,SAAU,gBACVwyG,KAAM,iBACNC,MACE,2JACF7H,OAAQ,8BACRvmF,OAAQ,UAEV,CACEywB,GAAI,EACJ90C,SAAU,kBACVwyG,KAAM,YACNC,MAAO,iGACP7H,OAAQ,8BACRvmF,OAAQ,QAEV,CACEywB,GAAI,EACJ90C,SAAU,aACVwyG,KAAM,sBACNC,MACE,yKACF7H,OAAQ,8BACRvmF,OAAQ,UAEV,CACEywB,GAAI,EACJ90C,SAAU,gBACVwyG,KAAM,oCACNC,MACE,qHACF7H,OAAQ,8BACRvmF,OAAQ,UAEV,CACEywB,GAAI,EACJ90C,SAAU,iBACVwyG,KAAM,yBACNC,MACE,oIACF7H,OAAQ,+BACRvmF,OAAQ,QAEV,CACEywB,GAAI,EACJ90C,SAAU,qBACVwyG,KAAM,gCACNC,MACE,8JACF7H,OAAQ,8BACRvmF,OAAQ,WAEV,CACEywB,GAAI,GACJ90C,SAAU,eACVwyG,KAAM,oBACNC,MAAO,iGACP7H,OAAQ,+BACRvmF,OAAQ,SAIE6uF,QAAQ,CACpB,CACEp+D,GAAI,EACJg+D,OAAQ,EACRC,WAAY,EACZC,KAAM,CACJ,CACEr8F,QAAS,KACTwzF,KAAM,0CACN8I,SAAU,IAEZ,CACEt8F,QAAS,6BACTwzF,KAAM,0CACN8I,SAAU,GAEZ,CACEt8F,QAAS,8DACTwzF,KAAM,0CACN8I,SAAU,IAEZ,CACEt8F,QAAS,2DACTwzF,KAAM,0CACN8I,SAAU,GAEZ,CACEt8F,QAAS,6CACTwzF,KAAM,0CACN8I,SAAU,GAEZ,CACEt8F,QAAS,uDACTwzF,KAAM,uBACN8I,SAAU,MAIhB,CACEn+D,GAAI,EACJg+D,OAAQ,EACRC,WAAY,EACZC,KAAM,CACJ,CACEr8F,QAAS,uCACTwzF,KAAM,0CACN8I,SAAU,IAEZ,CACEt8F,QAAS,+FACTwzF,KAAM,0CACN8I,SAAU,GAEZ,CACEt8F,QAAS,uCACTwzF,KAAM,0CACN8I,SAAU,GAEZ,CACEt8F,QAAS,cACTwzF,KAAM,0CACN8I,SAAU,IAEZ,CACEt8F,QAAS,8DACTwzF,KAAM,0CACN8I,SAAU,IAEZ,CACEt8F,QAAS,4BACTwzF,KAAM,0CACN8I,SAAU,GAEZ,CACEt8F,QAAS,oCACTwzF,KAAM,0CACN8I,SAAU,GAEZ,CACEt8F,QAAS,yBACTwzF,KAAM,0CACN8I,SAAU,GAEZ,CACEt8F,QAAS,4BACTwzF,KAAM,0CACN8I,SAAU,IAEZ,CACEt8F,QAAS,4CACTwzF,KAAM,cACN8I,SAAU,MAnMPC,EAAb,GCAaC,GAAb,eAAaA,KAAb1I,oCACgB0I,cAAO,CACnBrB,mBAAoB,CAClB9D,OAAQ,CACN,CACE7zG,KAAM,cACNsH,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,MAGnCwsG,cAAe,CACb8D,YAAa,UAGjBG,eAAgB,CACdlE,OAAQ,CACN,CACE7zG,KAAM,SACNsH,KAAM,CAAC,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,KAGjCwsG,cAAe,CACbgD,OAAQ,UAGZ3C,YAAa,CACXN,OAAQ,CACN,CACE7zG,KAAM,WACNsH,KAAM,CAAC,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAGvCwsG,cAAe,CACbK,YAAa,OACbC,gBAAiB,QACjBC,KAAM,UACNC,gBAAiB,GACjBC,UAAW,MACXC,qBAAsB,GACtBC,MAAO,OACPC,iBAAkB,GAClBC,SAAU,MACVC,oBAAqB,KAGzBhB,eAAgB,CACdC,OAAQ,CAAC,IACTC,cAAe,CACbC,QAAS,IACTC,WAAY,GACZC,YAAa,GACbC,aAAc,OAGlBsB,mBAAoB,CAClB3B,OAAQ,CACN,CACE7zG,KAAM,QACNsH,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,KAE9B,CACEtH,KAAM,QACNsH,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,OAIjC2vG,WAAY,CACVnD,cAAe,CACb2B,MAAO,OACPc,UAAW,SACXW,SAAU,SACV7B,QAAS,UAGbwB,YAAa,CACXhD,OAAQ,CACN,CACE7zG,KAAM,OACNsH,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,MAG3BwsG,cAAe,CACbgD,OAAQ,UAGZC,YAAa,CACXlD,OAAQ,CACN,CACEvsG,KAAM,CAAC,EAAG,GAAI,EAAG,GAAI,GAAI,MAG7BwsG,cAAe,CACbkD,OAAQ,UAGZnC,cAAe,CACbC,oBAAqB,CACnBjB,OAAQ,CACN,CACE7zG,KAAM,UACNsH,KAAM,CAAC,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,KAE/C,CACEtH,KAAM,UACNsH,KAAM,EAAC,KAAM,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,QAIxDytG,YAAa,CACXlB,OAAQ,CACN,CACEvsG,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,KAEjD,CACEA,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,OAInDwsG,cAAe,CACbkB,cAAe,UACfC,YAAa,WAGjBC,aAAc,CACZrB,OAAQ,CAAC,IACTC,cAAe,CACbqB,UAAW,UACXC,WAAY,YA9HP4D,EAAb,GCAaC,EAAb,eAAaA,KAAb3I,oCACgB2I,cAAO,CACnB,CACEC,cAAe,GACfv+D,GAAI,EACJ81D,OAAQ,kBACR0I,UAAW,iBACXp4F,KAAM,yBACN4vF,MAAO,0BACPyI,KAAM,cACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,SACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,EACJ81D,OAAQ,iBACR0I,UAAW,iBACXp4F,KAAM,qBACN4vF,MAAO,yBACPyI,KAAM,YACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,EACJ81D,OAAQ,iBACR0I,UAAW,mBACXp4F,KAAM,WACN4vF,MAAO,4BACPyI,KAAM,UACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,EACJ81D,OAAQ,kBACR0I,UAAW,oBACXp4F,KAAM,kBACN4vF,MAAO,0BACPyI,KAAM,UACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,EACJ81D,OAAQ,GACR0I,UAAW,kBACXp4F,KAAM,yBACN4vF,MAAO,mBACPyI,KAAM,QACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,EACJ81D,OAAQ,GACR0I,UAAW,oBACXp4F,KAAM,YACN4vF,MAAO,uBACPyI,KAAM,SACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,SACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,EACJ81D,OAAQ,GACR0I,UAAW,eACXp4F,KAAM,2BACN4vF,MAAO,kBACPyI,KAAM,YACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,EACJ81D,OAAQ,iBACR0I,UAAW,kBACXp4F,KAAM,yBACN4vF,MAAO,mBACPyI,KAAM,WACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,EACJ81D,OAAQ,iBACR0I,UAAW,kBACXp4F,KAAM,oBACN4vF,MAAO,2BACPyI,KAAM,WACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,sBACXp4F,KAAM,mBACN4vF,MAAO,wBACPyI,KAAM,SACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,aACXp4F,KAAM,uBACN4vF,MAAO,sBACPyI,KAAM,SACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,SACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,eACXp4F,KAAM,yBACN4vF,MAAO,mBACPyI,KAAM,aACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,cACXp4F,KAAM,mBACN4vF,MAAO,qBACPyI,KAAM,UACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,iBACXp4F,KAAM,sBACN4vF,MAAO,2BACPyI,KAAM,UACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,iBACXp4F,KAAM,2BACN4vF,MAAO,yBACPyI,KAAM,yBACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,oBACXp4F,KAAM,kBACN4vF,MAAO,0BACPyI,KAAM,UACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,kBACXp4F,KAAM,qBACN4vF,MAAO,yBACPyI,KAAM,mBACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,cACXp4F,KAAM,eACN4vF,MAAO,0BACPyI,KAAM,SACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,aACXp4F,KAAM,2BACN4vF,MAAO,gBACPyI,KAAM,gBACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,SACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,kBACXp4F,KAAM,UACN4vF,MAAO,mBACPyI,KAAM,UACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,gBACXp4F,KAAM,oBACN4vF,MAAO,6BACPyI,KAAM,UACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,SACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,gBACXp4F,KAAM,gCACN4vF,MAAO,yBACPyI,KAAM,WACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,SACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,iBACXp4F,KAAM,0BACN4vF,MAAO,mBACPyI,KAAM,aACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,SACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,cACXp4F,KAAM,mBACN4vF,MAAO,6BACPyI,KAAM,UACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,kBACXp4F,KAAM,aACN4vF,MAAO,mBACPyI,KAAM,UACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,eACXp4F,KAAM,yBACN4vF,MAAO,kBACPyI,KAAM,YACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,kBACXp4F,KAAM,iBACN4vF,MAAO,2BACPyI,KAAM,iBACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,mBACXp4F,KAAM,wBACN4vF,MAAO,6BACPyI,KAAM,YACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,kBACXp4F,KAAM,iBACN4vF,MAAO,+BACPyI,KAAM,QACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,iBACXp4F,KAAM,kBACN4vF,MAAO,mBACPyI,KAAM,OACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,SACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,mBACXp4F,KAAM,gBACN4vF,MAAO,uBACPyI,KAAM,iBACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,sBACXp4F,KAAM,oBACN4vF,MAAO,0BACPyI,KAAM,SACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,kBACXp4F,KAAM,2BACN4vF,MAAO,gBACPyI,KAAM,YACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,mBACXp4F,KAAM,qBACN4vF,MAAO,mBACPyI,KAAM,wBACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,eACXp4F,KAAM,oBACN4vF,MAAO,uBACPyI,KAAM,WACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,iBACXp4F,KAAM,iCACN4vF,MAAO,yBACPyI,KAAM,WACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,wBACXp4F,KAAM,2BACN4vF,MAAO,sBACPyI,KAAM,WACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,SACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,eACXp4F,KAAM,2BACN4vF,MAAO,0BACPyI,KAAM,SACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,SACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,mBACXp4F,KAAM,qBACN4vF,MAAO,0BACPyI,KAAM,OACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,iBACXp4F,KAAM,kBACN4vF,MAAO,qBACPyI,KAAM,iBACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,cACXp4F,KAAM,mBACN4vF,MAAO,oBACPyI,KAAM,WACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,gBACXp4F,KAAM,kBACN4vF,MAAO,iBACPyI,KAAM,WACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,kBACR0I,UAAW,gBACXp4F,KAAM,qBACN4vF,MAAO,uBACPyI,KAAM,SACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,sBACXp4F,KAAM,0BACN4vF,MAAO,gCACPyI,KAAM,gBACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,mBACXp4F,KAAM,WACN4vF,MAAO,uBACPyI,KAAM,WACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,SACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,oBACXp4F,KAAM,qBACN4vF,MAAO,uBACPyI,KAAM,YACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,eACXp4F,KAAM,kBACN4vF,MAAO,2BACPyI,KAAM,WACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,iBACXp4F,KAAM,mBACN4vF,MAAO,oBACPyI,KAAM,UACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,qBACXp4F,KAAM,gBACN4vF,MAAO,gCACPyI,KAAM,gBACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,eACXp4F,KAAM,qBACN4vF,MAAO,qBACPyI,KAAM,WACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,gBACXp4F,KAAM,mBACN4vF,MAAO,sBACPyI,KAAM,YACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,kBACXp4F,KAAM,qBACN4vF,MAAO,2BACPyI,KAAM,YACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,kBACXp4F,KAAM,oBACN4vF,MAAO,gCACPyI,KAAM,WACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,SACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,iBACXp4F,KAAM,uBACN4vF,MAAO,8BACPyI,KAAM,OACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,SACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,gBACXp4F,KAAM,mBACN4vF,MAAO,mBACPyI,KAAM,mBACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,SACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,eACXp4F,KAAM,kBACN4vF,MAAO,sBACPyI,KAAM,OACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,gBACXp4F,KAAM,0BACN4vF,MAAO,sBACPyI,KAAM,SACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,iBACXp4F,KAAM,wBACN4vF,MAAO,8BACPyI,KAAM,WACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,kBACXp4F,KAAM,YACN4vF,MAAO,qBACPyI,KAAM,eACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,SACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,cACXp4F,KAAM,6BACN4vF,MAAO,uBACPyI,KAAM,OACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,iBACXp4F,KAAM,8BACN4vF,MAAO,uBACPyI,KAAM,WACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,SACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,iBACXp4F,KAAM,mBACN4vF,MAAO,6BACPyI,KAAM,WACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,SACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,kBACXp4F,KAAM,eACN4vF,MAAO,qBACPyI,KAAM,UACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,SACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,kBACXp4F,KAAM,mBACN4vF,MAAO,yBACPyI,KAAM,eACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,mBACXp4F,KAAM,eACN4vF,MAAO,qBACPyI,KAAM,aACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,iBACXp4F,KAAM,YACN4vF,MAAO,wBACPyI,KAAM,eACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,kBACXp4F,KAAM,WACN4vF,MAAO,8BACPyI,KAAM,QACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,kBACXp4F,KAAM,iCACN4vF,MAAO,2BACPyI,KAAM,QACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,kBACXp4F,KAAM,6BACN4vF,MAAO,uBACPyI,KAAM,YACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,kBACXp4F,KAAM,oBACN4vF,MAAO,2BACPyI,KAAM,aACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,SACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,iBACXp4F,KAAM,0BACN4vF,MAAO,oBACPyI,KAAM,QACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,gBACXp4F,KAAM,sBACN4vF,MAAO,0BACPyI,KAAM,kBACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,kBACXp4F,KAAM,WACN4vF,MAAO,iCACPyI,KAAM,eACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,kBACXp4F,KAAM,0BACN4vF,MAAO,2BACPyI,KAAM,6BACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,kBACXp4F,KAAM,eACN4vF,MAAO,6BACPyI,KAAM,OACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,iBACXp4F,KAAM,+BACN4vF,MAAO,4BACPyI,KAAM,OACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,kBACR0I,UAAW,gBACXp4F,KAAM,qBACN4vF,MAAO,0BACPyI,KAAM,QACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,SACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,kBACXp4F,KAAM,oBACN4vF,MAAO,0BACPyI,KAAM,wBACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,SACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,mBACXp4F,KAAM,kBACN4vF,MAAO,4BACPyI,KAAM,WACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,qBACXp4F,KAAM,kBACN4vF,MAAO,0BACPyI,KAAM,cACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,iBACXp4F,KAAM,eACN4vF,MAAO,6BACPyI,KAAM,QACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,iBACXp4F,KAAM,mBACN4vF,MAAO,qBACPyI,KAAM,cACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,iBACXp4F,KAAM,qBACN4vF,MAAO,wBACPyI,KAAM,gBACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,mBACXp4F,KAAM,qBACN4vF,MAAO,gCACPyI,KAAM,WACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,eACXp4F,KAAM,mBACN4vF,MAAO,sBACPyI,KAAM,aACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,SACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,eACXp4F,KAAM,aACN4vF,MAAO,wBACPyI,KAAM,UACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,iBACXp4F,KAAM,2BACN4vF,MAAO,uBACPyI,KAAM,QACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,iBACXp4F,KAAM,mBACN4vF,MAAO,sBACPyI,KAAM,eACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,kBACR0I,UAAW,gBACXp4F,KAAM,eACN4vF,MAAO,sBACPyI,KAAM,eACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,cACXp4F,KAAM,YACN4vF,MAAO,qBACPyI,KAAM,eACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,oBACXp4F,KAAM,yBACN4vF,MAAO,wBACPyI,KAAM,eACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,kBACXp4F,KAAM,YACN4vF,MAAO,uBACPyI,KAAM,YACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,SACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,iBACXp4F,KAAM,gBACN4vF,MAAO,0BACPyI,KAAM,SACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,gBACXp4F,KAAM,sBACN4vF,MAAO,sBACPyI,KAAM,UACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,kBACXp4F,KAAM,4BACN4vF,MAAO,yBACPyI,KAAM,OACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,iBACXp4F,KAAM,iBACN4vF,MAAO,wBACPyI,KAAM,UACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,GACR0I,UAAW,gBACXp4F,KAAM,6BACN4vF,MAAO,+BACPyI,KAAM,SACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,iBACR0I,UAAW,kBACXp4F,KAAM,YACN4vF,MAAO,wBACPyI,KAAM,aACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,GACJ81D,OAAQ,kBACR0I,UAAW,qBACXp4F,KAAM,kBACN4vF,MAAO,4BACPyI,KAAM,aACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,SACZtvF,OAAQ,GAEV,CACEgvF,cAAe,GACfv+D,GAAI,IACJ81D,OAAQ,GACR0I,UAAW,gBACXp4F,KAAM,yBACN4vF,MAAO,yBACPyI,KAAM,cACNC,WAAY,aACZC,OAAQ,YACRC,IAAK,KACLC,WAAY,UACZtvF,OAAQ,IAx3CD+uF,EAAb,GCAaQ,GAAb,eAAaA,KAAbnJ,oCACgBmJ,kBAAW,CACvB,CACE9+D,GAAI,EACJ36C,KAAM,2BACNwzG,KAAM,6BACNnxB,YACE,0MACFq3B,MAAO,WACPC,MAAO,MACPC,MAAO,uCACPC,iBAAiB,EACjB5Z,OAAQ,GAEV,CACEtlD,GAAI,EACJ36C,KAAM,wEACNwzG,KAAM,uEACNnxB,YACE,yKACFq3B,MAAO,OACPC,MAAO,IACPC,MAAO,uCACPC,iBAAiB,EACjB5Z,OAAQ,GAEV,CACEtlD,GAAI,EACJ36C,KAAM,0CACNwzG,KAAM,2CACNnxB,YACE,kLACFq3B,MAAO,UACPC,MAAO,MACPC,MAAO,uCACPC,iBAAiB,EACjB5Z,OAAQ,GAEV,CACEtlD,GAAI,EACJ36C,KAAM,+CACNwzG,KAAM,iDACNnxB,YACE,+JACFq3B,MAAO,SACPC,MAAO,MACPC,MAAO,uCACPC,iBAAiB,EACjB5Z,OAAQ,GAEV,CACEtlD,GAAI,EACJ36C,KAAM,0DACNwzG,KAAM,6DACNnxB,YAAa,wEACbq3B,MAAO,UACPC,MAAO,MACPC,MAAO,uCACPC,iBAAiB,EACjB5Z,OAAQ,GAEV,CACEtlD,GAAI,EACJ36C,KAAM,gDACNwzG,KAAM,gDACNnxB,YACE,+MACFq3B,MAAO,OACPC,MAAO,MACPC,MAAO,uCACPC,iBAAiB,EACjB5Z,OAAQ,GAEV,CACEtlD,GAAI,EACJ36C,KAAM,wCACNwzG,KAAM,0CACNnxB,YACE,8OACFq3B,MAAO,SACPC,MAAO,GACPC,MAAO,uCACPC,iBAAiB,EACjB5Z,OAAQ,GAEV,CACEtlD,GAAI,EACJ36C,KAAM,wBACNwzG,KAAM,2BACNnxB,YACE,iMACFq3B,MAAO,OACPC,MAAO,OACPC,MAAO,uCACPC,iBAAiB,EACjB5Z,OAAQ,GAEV,CACEtlD,GAAI,EACJ36C,KAAM,gDACNwzG,KAAM,kDACNnxB,YACE,gSACFq3B,MAAO,KACPC,MAAO,MACPC,MAAO,uCACPC,iBAAiB,EACjB5Z,OAAQ,GAEV,CACEtlD,GAAI,GACJ36C,KAAM,6BACNwzG,KAAM,gCACNnxB,YACE,8ZACFq3B,MAAO,SACPC,MAAO,IACPC,MAAO,uCACPC,iBAAiB,EACjB5Z,OAAQ,GAEV,CACEtlD,GAAI,GACJ36C,KAAM,wCACNwzG,KAAM,2CACNnxB,YACE,4MACFq3B,MAAO,OACPC,MAAO,MACPC,MAAO,uCACPC,iBAAiB,EACjB5Z,OAAQ,GAEV,CACEtlD,GAAI,GACJ36C,KAAM,kCACNwzG,KAAM,qCACNnxB,YACE,+LACFq3B,MAAO,SACPC,MAAO,MACPC,MAAO,uCACPC,iBAAiB,EACjB5Z,OAAQ,GAEV,CACEtlD,GAAI,GACJ36C,KAAM,aACNwzG,KAAM,gBACNnxB,YACE,2MACFq3B,MAAO,MACPC,MAAO,MACPC,MAAO,uCACPC,iBAAiB,EACjB5Z,OAAQ,GAEV,CACEtlD,GAAI,GACJ36C,KAAM,0BACNwzG,KAAM,8BACNnxB,YACE,qNACFq3B,MAAO,KACPC,MAAO,MACPC,MAAO,uCACPC,iBAAiB,EACjB5Z,OAAQ,GAEV,CACEtlD,GAAI,GACJ36C,KAAM,kCACNwzG,KAAM,yEACNnxB,YACE,wPACFq3B,MAAO,eACPC,MAAO,MACPC,MAAO,uCACPC,iBAAiB,EACjB5Z,OAAQ,GAEV,CACEtlD,GAAI,GACJ36C,KAAM,qBACNwzG,KAAM,mFACNnxB,YACE,6NACFq3B,MAAO,QACPC,MAAO,OACPC,MAAO,uCACPC,iBAAiB,EACjB5Z,OAAQ,GAEV,CACEtlD,GAAI,GACJ36C,KAAM,eACNwzG,KAAM,gGACNnxB,YACE,iNACFq3B,MAAO,OACPC,MAAO,MACPC,MAAO,uCACPC,iBAAiB,EACjB5Z,OAAQ,GAEV,CACEtlD,GAAI,GACJ36C,KAAM,kCACNwzG,KAAM,6FACNnxB,YACE,8XACFq3B,MAAO,WACPC,MAAO,MACPC,MAAO,uCACPC,iBAAiB,EACjB5Z,OAAQ,GAEV,CACEtlD,GAAI,GACJ36C,KAAM,iBACNwzG,KAAM,oBACNkG,MAAO,UACPC,MAAO,MACPC,MAAO,sCACPC,iBAAiB,EACjB5Z,OAAQ,EACR5d,YAAW,6fAMb,CACE1nC,GAAI,GACJ36C,KAAM,2BACNwzG,KAAM,8BACNkG,MAAO,QACPC,MAAO,QACPC,MAAO,sCACPC,iBAAiB,EACjB5Z,OAAQ,EACR5d,YAAW,0VAIb,CACE1nC,GAAI,GACJ36C,KAAM,4CACNwzG,KAAM,2CACNkG,MAAO,SACPC,MAAO,OACPC,MAAO,sCACPC,iBAAiB,EACjB5Z,OAAQ,EACR5d,YAAW,uVAIb,CACE1nC,GAAI,GACJ36C,KAAM,wBACNwzG,KAAM,2BACNkG,MAAO,QACPC,MAAO,OACPC,MAAO,sCACPC,iBAAiB,EACjB5Z,OAAQ,EACR5d,YAAW,oXAKb,CACE1nC,GAAI,GACJ36C,KAAM,kEACNwzG,KAAM,yDACNkG,MAAO,QACPC,MAAO,OACPC,MAAO,sCACPC,iBAAiB,EACjB5Z,OAAQ,EACR5d,YAAW,yVAKb,CACE1nC,GAAI,GACJ36C,KAAM,+BACNwzG,KAAM,mCACNkG,MAAO,UACPC,MAAO,MACPC,MAAO,sCACPC,iBAAiB,EACjB5Z,OAAQ,EACR5d,YAAW,6ZAKb,CACE1nC,GAAI,GACJ36C,KAAM,qBACNwzG,KAAM,yBACNkG,MAAO,QACPC,MAAO,OACPC,MAAO,sCACPC,iBAAiB,EACjB5Z,OAAQ,EACR5d,YAAW,ueAMb,CACE1nC,GAAI,GACJ36C,KAAM,gCACNwzG,KAAM,kCACNkG,MAAO,QACPC,MAAO,OACPC,MAAO,sCACPC,iBAAiB,EACjB5Z,OAAQ,EACR5d,YAAW,saAKb,CACE1nC,GAAI,GACJ36C,KAAM,uBACNwzG,KAAM,0BACNkG,MAAO,QACPC,MAAO,OACPC,MAAO,sCACPC,iBAAiB,EACjB5Z,OAAQ,EACR5d,YAAW,2jBAQDo3B,kBAAkB,CAC9B,CACE9+D,GAAI,EACJ36C,KAAM,0CACNwzG,KAAM,2CACNnxB,YACE,kLACFq3B,MAAO,UACPC,MAAO,MACPC,MAAO,uCACPC,iBAAiB,EACjB5Z,OAAQ,GAEV,CACEtlD,GAAI,EACJ36C,KAAM,+CACNwzG,KAAM,iDACNnxB,YACE,+JACFq3B,MAAO,SACPC,MAAO,MACPC,MAAO,uCACPC,iBAAiB,EACjB5Z,OAAQ,GAEV,CACEtlD,GAAI,EACJ36C,KAAM,0DACNwzG,KAAM,6DACNnxB,YAAa,wEACbq3B,MAAO,UACPC,MAAO,MACPC,MAAO,uCACPC,iBAAiB,EACjB5Z,OAAQ,GAEV,CACEtlD,GAAI,EACJ36C,KAAM,gDACNwzG,KAAM,gDACNnxB,YACE,+MACFq3B,MAAO,OACPC,MAAO,MACPC,MAAO,uCACPC,iBAAiB,EACjB5Z,OAAQ,GAEV,CACEtlD,GAAI,EACJ36C,KAAM,wCACNwzG,KAAM,0CACNnxB,YACE,8OACFq3B,MAAO,SACPC,MAAO,GACPC,MAAO,uCACPC,iBAAiB,EACjB5Z,OAAQ,GAEV,CACEtlD,GAAI,EACJ36C,KAAM,wBACNwzG,KAAM,2BACNnxB,YACE,iMACFq3B,MAAO,OACPC,MAAO,OACPC,MAAO,uCACPC,iBAAiB,EACjB5Z,OAAQ,IAIEwZ,eAAe,CAC3B,CAAE9+D,GAAI,EAAGmtC,UAAW,IACpB,CAAEntC,GAAI,EAAGmtC,UAAW,IACpB,CAAEntC,GAAI,EAAGmtC,UAAW,IACpB,CAAEntC,GAAI,EAAGmtC,UAAW,IACpB,CAAEntC,GAAI,EAAGmtC,UAAW,GACpB,CAAEntC,GAAI,EAAGmtC,UAAW,GACpB,CAAEntC,GAAI,EAAGmtC,UAAW,GACpB,CAAEntC,GAAI,EAAGmtC,UAAW,IACpB,CAAEntC,GAAI,EAAGmtC,UAAW,KAER2xB,WAAW,CACvB,CAAE9+D,GAAI,EAAGmtC,UAAW,GAAIQ,IAAK,GAC7B,CAAE3tC,GAAI,EAAGmtC,UAAW,GAAIQ,IAAK,GAC7B,CAAE3tC,GAAI,EAAGmtC,UAAW,GAAIQ,IAAK,GAC7B,CAAE3tC,GAAI,EAAGmtC,UAAW,GAAIQ,IAAK,GAC7B,CAAE3tC,GAAI,EAAGmtC,UAAW,GAAIQ,IAAK,IApbpBmxB,EAAb,GCAaK,KAAbxJ,oCACgBwJ,SAAS,CACrB,CACEn/D,GAAI,EACJunD,KAAM,CACJyO,MAAO,kBACP3wG,KAAM,gBACNywG,OAAQ,+BAEVsJ,GAAI,CACF,CACE/5G,KAAM,KACN2wG,MAAO,qBAGXqJ,QAAS,eACTC,GAAI,GACJC,IAAK,GACL19F,QACE,m2CACF29F,YAAa,CACX,CACEn6F,SAAU,UACV64B,UAAW,8BACX9lB,IAAK,GACLvuB,KAAM,OAER,CACEwb,SAAU,kBACV64B,UAAW,8BACX9lB,IAAK,GACLvuB,KAAM,SAGV41G,WAAW,EACXC,OAAQ,CAAC,WACTrK,KAAM,0CACNsK,QAAS,GACTjY,OAAQ,QACRkY,QAAQ,GAEV,CACE5/D,GAAI,EACJunD,KAAM,CACJyO,MAAO,mBACP3wG,KAAM,cACNywG,OAAQ,+BAEVsJ,GAAI,CACF,CACE/5G,KAAM,KACN2wG,MAAO,qBAGXqJ,QAAS,iBACTC,GAAI,CAAC,kCACLC,IAAK,CAAC,kBACN19F,QACE,4+CACF29F,YAAa,GACbC,WAAW,EACXC,OAAQ,CAAC,UAAW,WACpBrK,KAAM,0CACNsK,QAAS,GACTjY,OAAQ,QACRkY,QAAQ,GAEV,CACE5/D,GAAI,EACJunD,KAAM,CACJyO,MAAO,mBACP3wG,KAAM,kBACNywG,OAAQ,+BAEVsJ,GAAI,CACF,CACE/5G,KAAM,KACN2wG,MAAO,oBAET,CACE3wG,KAAM,YACN2wG,MAAO,wBAGXqJ,QAAS,kBACTC,GAAI,GACJC,IAAK,GACL19F,QACE,++CACF29F,YAAa,GACbC,WAAW,EACXC,OAAQ,CAAC,WACTrK,KAAM,0CACNsK,QAAS,GACTjY,OAAQ,OACRkY,QAAQ,GAEV,CACE5/D,GAAI,EACJunD,KAAM,CACJyO,MAAO,oBACP3wG,KAAM,gBACNywG,OAAQ,+BAEVsJ,GAAI,CACF,CACE/5G,KAAM,KACN2wG,MAAO,qBAGXqJ,QAAS,yBACTC,GAAI,GACJC,IAAK,GACL19F,QACE,m2CACF29F,YAAa,CACX,CACEn6F,SAAU,aACV64B,UAAW,8BACX9lB,IAAK,GACLvuB,KAAM,SAGV41G,WAAW,EACXC,OAAQ,CAAC,aACTrK,KAAM,0CACNsK,QAAS,GACTjY,OAAQ,QACRkY,QAAQ,GAEV,CACE5/D,GAAI,EACJunD,KAAM,CACJyO,MAAO,sBACP3wG,KAAM,iBACNywG,OAAQ,gCAEVsJ,GAAI,CACF,CACE/5G,KAAM,KACN2wG,MAAO,oBAGXqJ,QAAS,gDACTC,GAAI,GACJC,IAAK,GACL19F,QACE,iiBACF29F,YAAa,GACbC,WAAW,EACXC,OAAQ,CAAC,WACTrK,KAAM,0CACNsK,QAAS,GACTjY,OAAQ,OACRkY,QAAQ,GAEV,CACE5/D,GAAI,EACJunD,KAAM,CACJyO,MAAO,wBACP3wG,KAAM,iBACNywG,OAAQ,+BAEVsJ,GAAI,CACF,CACE/5G,KAAM,KACN2wG,MAAO,yBAGXqJ,QAAS,sCACTC,GAAI,GACJC,IAAK,GACL19F,QACE,wgBACF29F,YAAa,GACbC,WAAW,EACXC,OAAQ,CAAC,YACTrK,KAAM,0CACNsK,QAAS,GACTjY,OAAQ,QACRkY,QAAQ,GAEV,CACE5/D,GAAI,EACJunD,KAAM,CACJyO,MAAO,oBACP3wG,KAAM,cACNywG,OAAQ,+BAEVsJ,GAAI,CACF,CACE/5G,KAAM,KACN2wG,MAAO,2BAGXqJ,QAAS,4BACTC,GAAI,GACJC,IAAK,GACL19F,QACE,yeACF29F,YAAa,GACbC,WAAW,EACXC,OAAQ,CAAC,WACTrK,KAAM,0CACNsK,QAAS,GACTjY,OAAQ,QACRkY,QAAQ,GAEV,CACE5/D,GAAI,EACJunD,KAAM,CACJyO,MAAO,0BACP3wG,KAAM,qBACNywG,OAAQ,gCAEVsJ,GAAI,CACF,CACE/5G,KAAM,KACN2wG,MAAO,6BAGXqJ,QAAS,yCACTC,GAAI,GACJC,IAAK,GACL19F,QACE,uhBACF29F,YAAa,GACbC,WAAW,EACXC,OAAQ,CAAC,WACTrK,KAAM,0CACNsK,QAAS,GACTjY,OAAQ,QACRkY,QAAQ,GAEV,CACE5/D,GAAI,EACJunD,KAAM,CACJyO,MAAO,qCACP3wG,KAAM,kBACNywG,OAAQ,+BAEVsJ,GAAI,CACF,CACE/5G,KAAM,KACN2wG,MAAO,sBAGXqJ,QAAS,4BACTC,GAAI,GACJC,IAAK,GACL19F,QACE,uhBACF29F,YAAa,GACbC,WAAW,EACXC,OAAQ,CAAC,YACTrK,KAAM,0CACNsK,QAAS,GACTjY,OAAQ,QACRkY,QAAQ,GAEV,CACE5/D,GAAI,GACJunD,KAAM,CACJyO,MAAO,sBACP3wG,KAAM,mBACNywG,OAAQ,+BAEVsJ,GAAI,CACF,CACE/5G,KAAM,KACN2wG,MAAO,sBAGXqJ,QAAS,6BACTC,GAAI,GACJC,IAAK,GACL19F,QACE,ugBACF29F,YAAa,CACX,CACEn6F,SAAU,cACV64B,UAAW,8BACX9lB,IAAK,GACLvuB,KAAM,QAGV41G,WAAW,EACXC,OAAQ,CAAC,aACTrK,KAAM,0CACNsK,QAAS,GACTjY,OAAQ,QACRkY,QAAQ,GAEV,CACE5/D,GAAI,GACJunD,KAAM,CACJyO,MAAO,uBACP3wG,KAAM,mBACNywG,OAAQ,+BAEVsJ,GAAI,CACF,CACE/5G,KAAM,KACN2wG,MAAO,oBAGXqJ,QAAS,iCACTC,GAAI,GACJC,IAAK,GACL19F,QACE,yfACF29F,YAAa,CACX,CACEn6F,SAAU,qBACV64B,UAAW,6BACX9lB,IAAK,GACLvuB,KAAM,SAGV41G,WAAW,EACXC,OAAQ,CAAC,WACTrK,KAAM,0CACNsK,QAAS,GACTjY,OAAQ,QACRkY,QAAQ,GAEV,CACE5/D,GAAI,GACJunD,KAAM,CACJyO,MAAO,uBACP3wG,KAAM,kBACNywG,OAAQ,+BAEVsJ,GAAI,CACF,CACE/5G,KAAM,KACN2wG,MAAO,6BAGXqJ,QAAS,8BACTC,GAAI,GACJC,IAAK,GACL19F,QACE,qhBACF29F,YAAa,GACbC,WAAW,EACXC,OAAQ,CAAC,YACTrK,KAAM,0CACNsK,QAAS,GACTjY,OAAQ,OACRkY,QAAQ,GAEV,CACE5/D,GAAI,GACJunD,KAAM,CACJyO,MAAO,sBACP3wG,KAAM,kBACNywG,OAAQ,gCAEVsJ,GAAI,CACF,CACE/5G,KAAM,KACN2wG,MAAO,sBAGXqJ,QAAS,mCACTC,GAAI,GACJC,IAAK,GACL19F,QACE,mjBACF29F,YAAa,GACbC,WAAW,EACXC,OAAQ,CAAC,aACTrK,KAAM,0CACNsK,QAAS,GACTjY,OAAQ,QACRkY,QAAQ,GAEV,CACE5/D,GAAI,GACJunD,KAAM,CACJyO,MAAO,mBACP3wG,KAAM,UACNywG,OAAQ,gCAEVsJ,GAAI,CACF,CACE/5G,KAAM,KACN2wG,MAAO,kBAGXqJ,QAAS,8BACTC,GAAI,GACJC,IAAK,GACL19F,QACE,shBACF29F,YAAa,GACbC,WAAW,EACXC,OAAQ,CAAC,WACTrK,KAAM,0CACNsK,QAAS,GACTjY,OAAQ,QACRkY,QAAQ,GAEV,CACE5/D,GAAI,GACJunD,KAAM,CACJyO,MAAO,qBACP3wG,KAAM,iBACNywG,OAAQ,+BAEVsJ,GAAI,CACF,CACE/5G,KAAM,KACN2wG,MAAO,uBAGXqJ,QAAS,uDACTC,GAAI,GACJC,IAAK,GACL19F,QACE,qgBACF29F,YAAa,GACbC,WAAW,EACXC,OAAQ,CAAC,WACTrK,KAAM,0CACNsK,QAAS,GACTjY,OAAQ,QACRkY,QAAQ,GAEV,CACE5/D,GAAI,GACJunD,KAAM,CACJyO,MAAO,sBACP3wG,KAAM,eACNywG,OAAQ,+BAEVsJ,GAAI,CACF,CACE/5G,KAAM,KACN2wG,MAAO,2BAGXqJ,QAAS,2CACTC,GAAI,GACJC,IAAK,GACL19F,QACE,+fACF29F,YAAa,GACbC,WAAW,EACXC,OAAQ,CAAC,WACTrK,KAAM,0CACNsK,QAAS,GACTjY,OAAQ,OACRkY,QAAQ,GAEV,CACE5/D,GAAI,GACJunD,KAAM,CACJyO,MAAO,gCACP3wG,KAAM,kBACNywG,OAAQ,+BAEVsJ,GAAI,CACF,CACE/5G,KAAM,KACN2wG,MAAO,mBAGXqJ,QAAS,4CACTC,GAAI,GACJC,IAAK,GACL19F,QACE,igBACF29F,YAAa,GACbC,WAAW,EACXC,OAAQ,CAAC,YACTrK,KAAM,0CACNsK,QAAS,GACTjY,OAAQ,OACRkY,QAAQ,GAEV,CACE5/D,GAAI,GACJunD,KAAM,CACJyO,MAAO,qBACP3wG,KAAM,aACNywG,OAAQ,+BAEVsJ,GAAI,CACF,CACE/5G,KAAM,KACN2wG,MAAO,sBAGXqJ,QAAS,uCACTC,GAAI,GACJC,IAAK,GACL19F,QACE,oiBACF29F,YAAa,GACbC,WAAW,EACXC,OAAQ,CAAC,YACTrK,KAAM,0CACNsK,QAAS,GACTjY,OAAQ,OACRkY,QAAQ,GAEV,CACE5/D,GAAI,GACJunD,KAAM,CACJyO,MAAO,0BACP3wG,KAAM,mBACNywG,OAAQ,+BAEVsJ,GAAI,CACF,CACE/5G,KAAM,KACN2wG,MAAO,wBAGXqJ,QAAS,kCACTC,GAAI,GACJC,IAAK,GACL19F,QACE,0gBACF29F,YAAa,GACbC,WAAW,EACXC,OAAQ,CAAC,YACTrK,KAAM,0CACNsK,QAAS,GACTjY,OAAQ,OACRkY,QAAQ,GAEV,CACE5/D,GAAI,GACJunD,KAAM,CACJyO,MAAO,wBACP3wG,KAAM,cACNywG,OAAQ,+BAEVsJ,GAAI,CACF,CACE/5G,KAAM,KACN2wG,MAAO,sBAGXqJ,QAAS,oCACTC,GAAI,GACJC,IAAK,GACL19F,QACE,0gBACF29F,YAAa,CACX,CACEn6F,SAAU,WACV64B,UAAW,6BACX9lB,IAAK,GACLvuB,KAAM,QAGV41G,WAAW,EACXC,OAAQ,CAAC,WACTrK,KAAM,0CACNsK,QAAS,GACTjY,OAAQ,OACRkY,QAAQ,GAEV,CACE5/D,GAAI,GACJunD,KAAM,CACJyO,MAAO,yBACP3wG,KAAM,kBACNywG,OAAQ,gCAEVsJ,GAAI,CACF,CACE/5G,KAAM,KACN2wG,MAAO,kBAGXqJ,QAAS,0DACTC,GAAI,GACJC,IAAK,GACL19F,QACE,ugBACF29F,YAAa,GACbC,WAAW,EACXC,OAAQ,CAAC,WACTrK,KAAM,IAAI3wF,MAAK,IAAIA,MAAOquB,UAAY,OACtC4sE,QAAS,GACTjY,OAAQ,QACRkY,QAAQ,GAEV,CACE5/D,GAAI,GACJunD,KAAM,CACJyO,MAAO,oBACP3wG,KAAM,iBACNywG,OAAQ,+BAEVsJ,GAAI,CACF,CACE/5G,KAAM,KACN2wG,MAAO,qBAGXqJ,QAAS,iDACTC,GAAI,GACJC,IAAK,GACL19F,QACE,kkBACF29F,YAAa,GACbC,WAAW,EACXC,OAAQ,CAAC,WACTrK,KAAM,IAAI3wF,MAAK,IAAIA,MAAOquB,UAAY,KACtC4sE,QAAS,GACTjY,OAAQ,QACRkY,QAAQ,GAEV,CACE5/D,GAAI,GACJunD,KAAM,CACJyO,MAAO,sBACP3wG,KAAM,iBACNywG,OAAQ,+BAEVsJ,GAAI,CACF,CACE/5G,KAAM,KACN2wG,MAAO,qBAGXqJ,QAAS,qCACTC,GAAI,GACJC,IAAK,GACL19F,QACE,+jBACF29F,YAAa,CACX,CACEn6F,SAAU,UACV64B,UAAW,8BACX9lB,IAAK,GACLvuB,KAAM,SAGV41G,WAAW,EACXC,OAAQ,CAAC,WACTrK,KAAM,IAAI3wF,MAAK,IAAIA,MAAOquB,UAAY,MACtC4sE,QAAS,GACTjY,OAAQ,QACRkY,QAAQ,GAEV,CACE5/D,GAAI,GACJunD,KAAM,CACJyO,MAAO,6BACP3wG,KAAM,kBACNywG,OAAQ,+BAEVsJ,GAAI,CACF,CACE/5G,KAAM,KACN2wG,MAAO,sBAGXqJ,QAAS,qDACTC,GAAI,GACJC,IAAK,GACL19F,QACE,mfACF29F,YAAa,CACX,CACEn6F,SAAU,cACV64B,UAAW,8BACX9lB,IAAK,GACLvuB,KAAM,SAGV41G,WAAW,EACXC,OAAQ,CAAC,YACTrK,KAAM,IAAI3wF,MAAK,IAAIA,MAAOquB,UAAY,MACtC4sE,QAAS,CACP,CACE3/D,GAAI,GACJunD,KAAM,CACJyO,MAAO,mBACP3wG,KAAM,WACNywG,OAAQ,gCAEVsJ,GAAI,CACF,CACE/5G,KAAM,KACN2wG,MAAO,qBAGXqJ,QAAS,6CACTC,GAAI,GACJC,IAAK,GACL19F,QACE,mqCACF29F,YAAa,GACbC,WAAW,EACXC,OAAQ,GACRrK,KAAM,0CACNsK,QAAS,GACTjY,OAAQ,QACRkY,QAAQ,GAEV,CACE5/D,GAAI,GACJunD,KAAM,CACJyO,MAAO,mBACP3wG,KAAM,kBACNywG,OAAQ,+BAEVsJ,GAAI,CACF,CACE/5G,KAAM,KACN2wG,MAAO,qBAGXqJ,QAAS,uDACTC,GAAI,GACJC,IAAK,GACL19F,QACE,ySACF29F,YAAa,GACbC,WAAW,EACXC,OAAQ,GACRrK,KAAM,0CACNsK,QAAS,GACTjY,OAAQ,QACRkY,QAAQ,IAGZlY,OAAQ,QACRkY,QAAQ,IAIET,UAAU,CACtB,CACEn/D,GAAI,EACJob,OAAQ,QACRxpD,MAAO,QACPwzC,KAAM,QAER,CACEpF,GAAI,EACJob,OAAQ,OACRxpD,MAAO,OACPwzC,KAAM,QAER,CACEpF,GAAI,EACJob,OAAQ,QACRxpD,MAAO,QACPwzC,KAAM,UAER,CACEpF,GAAI,EACJob,OAAQ,OACRxpD,MAAO,OACPwzC,KAAM,QAER,CACEpF,GAAI,EACJob,OAAQ,QACRxpD,MAAO,QACPwzC,KAAM,UAII+5D,SAAS,CACrB,CACEn/D,GAAI,EACJob,OAAQ,WACRxpD,MAAO,WACPgiD,MAAO,kBAET,CACE5T,GAAI,EACJob,OAAQ,UACRxpD,MAAO,UACPgiD,MAAO,kBAET,CACE5T,GAAI,EACJob,OAAQ,YACRxpD,MAAO,YACPgiD,MAAO,kBAET,CACE5T,GAAI,EACJob,OAAQ,UACRxpD,MAAO,UACPgiD,MAAO,kBC5xBN,IAAMisD,EAAb,eAAaA,KAAblK,oCACgBkK,cAAO,CACnBC,QAAS,CACP16D,KAAM,cACNxzC,MAAO,UACPmuG,SAAU,2BACVC,MAAO,CACL,CACEC,SAAU,4CACVC,IACE,gYAEJ,CACED,SAAU,8DACVC,IACE,8RAEJ,CACED,SAAU,gCACVC,IACE,kQAEJ,CACED,SAAU,iEACVC,IACE,sWAEJ,CACED,SAAU,sFACVC,IACE,kVAEJ,CACED,SAAU,0DACVC,IACE,yOAEJ,CACED,SAAU,qEACVC,IACE,oPAIRC,SAAU,CACR/6D,KAAM,eACNxzC,MAAO,WACPmuG,SAAU,2BACVC,MAAO,CACL,CACEC,SAAU,8BACVC,IACE,gYAEJ,CACED,SACE,yGACFC,IACE,8RAEJ,CACED,SAAU,yCACVC,IACE,kQAEJ,CACED,SAAU,uFACVC,IACE,sWAEJ,CACED,SAAU,kFACVC,IACE,oVAIRE,mBAAoB,CAClBh7D,KAAM,aACNxzC,MAAO,wBACPmuG,SAAU,2BACVC,MAAO,CACL,CACEC,SAAU,gFACVC,IACE,gYAEJ,CACED,SAAU,yDACVC,IACE,8RAEJ,CACED,SAAU,gCACVC,IACE,kQAEJ,CACED,SAAU,6DACVC,IACE,sWAEJ,CACED,SAAU,uCACVC,IACE,kVAEJ,CACED,SAAU,wEACVC,IACE,+qBAEJ,CACED,SAAU,gFACVC,IACE,oPAIRG,SAAU,CACRj7D,KAAM,UACNxzC,MAAO,YACPmuG,SAAU,2BACVC,MAAO,CACL,CACEC,SAAU,mCACVC,IACE,gYAEJ,CACED,SAAU,4EACVC,IACE,8RAEJ,CACED,SAAU,wDACVC,IACE,kQAEJ,CACED,SAAU,6DACVC,IACE,sWAEJ,CA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AW,eACXysD,UAAW,CACT,CACErhE,GAAI,EACJigE,SAAU,8BACVpH,KAAM,8BAER,CACE74D,GAAI,EACJigE,SAAU,2BACVpH,KAAM,2BAER,CACE74D,GAAI,EACJigE,SAAU,mCACVpH,KAAM,mCAER,CACE74D,GAAI,EACJigE,SAAU,sCACVpH,KAAM,sCAER,CACE74D,GAAI,EACJigE,SAAU,2BACVpH,KAAM,6BAIZ,CACE74D,GAAI,EACJpuC,MAAO,UACPwzC,KAAM,YACNwP,UAAW,cACXysD,UAAW,CACT,CACErhE,GAAI,EACJigE,SAAU,gCACVpH,KAAM,gCAER,CACE74D,GAAI,EACJigE,SAAU,wBACVpH,KAAM,uBAER,CACE74D,GAAI,EACJigE,SAAU,sBACVpH,KAAM,sBAER,CACE74D,GAAI,EACJigE,SAAU,sCACVpH,KAAM,qCAER,CACE74D,GAAI,EACJigE,SAAU,uCACVpH,KAAM,0CAIZ,CACE74D,GAAI,EACJpuC,MAAO,oBACPwzC,KAAM,OACNwP,UAAW,eACXysD,UAAW,CACT,CACErhE,GAAI,EACJigE,SAAU,0BACVpH,KAAM,0BAER,CACE74D,GAAI,EACJigE,SAAU,kCACVpH,KAAM,kCAER,CACE74D,GAAI,EACJigE,SAAU,kCACVpH,KAAM,kCAER,CACE74D,GAAI,EACJigE,SAAU,qBACVpH,KAAM,sBAER,CACE74D,GAAI,EACJigE,SAAU,wBACVpH,KAAM,0BAIZ,CACE74D,GAAI,EACJpuC,MAAO,cACPwzC,KAAM,aACNwP,UAAW,YACXysD,UAAW,CACT,CACErhE,GAAI,EACJigE,SAAU,qCACVpH,KAAM,qCAER,CACE74D,GAAI,EACJigE,SAAU,+BACVpH,KAAM,gCAER,CACE74D,GAAI,EACJigE,SAAU,gCACVpH,KAAM,gCAER,CACE74D,GAAI,EACJigE,SAAU,8BACVpH,KAAM,8BAER,CACE74D,GAAI,EACJigE,SAAU,uBACVpH,KAAM,yBAIZ,CACE74D,GAAI,EACJpuC,MAAO,gBACPwzC,KAAM,OACNwP,UAAW,GACXysD,UAAW,CACT,C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CAmlI,eACAz+H,aACE,CACE0+H,OAAQ,CACR1lI,QAAS2lI,KACTC,WAAYC,GACZC,KAAM,CAACC,SAGXC,KACA9iB,UAAmBl3F,IACnB1sB,KACA6G,MACAiB,MACArH,KACAiiI,GACAxlD,KACAypD,MACAC,gBACA//C,gBACAggD,aAAyB,CAACC,cAAeC,aACzCngD,kBACAg8C,GACAT,OAcSgD,EAAb,YCrSIpxB,eACFizB,WAGFC,OAAyBC,gBAAgB/B,IACtCt7G,MAAM,YAAG,OAAI5iB,QAAQG,MAAMojB,KAGxB,kBAAmBR,WACrBA,UAAUC,cAAcm2G,SAAS,8BAC9Bz2G,KAAK,SAACw9G,GAAgB,GAGtBt9G,MAAM,SAACW,GACNvjB,QAAQG,MAAM,sCAAuCojB,8BCpB7D,OACA,aACA,gBACA,WACA,eACA,kBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,cACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,YACA,eACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,gBACA,mBACA,gBACA,mBACA,eACA,kBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,cACA,iBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,mBACA,gBACA,WACA,cACA,aACA,gBACA,aACA,gBACA,YACA,eACA,mBACA,sBACA,kBACA,qBACA,aACA,gBACA,aACA,gBACA,WACA,cACA,aACA,gBACA,aACA,gBACA,gBACA,mBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,iBACA,oBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,iBACA,oBACA,gBACA,mBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,kBACA,qBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,cACA,iBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,gBACA,mBACA,cACA,iBACA,aACA,gBACA,cACA,iBACA,cACA,kBACA,qBACA,iBACA,gBACA,mBACA,aACA,gBACA,aACA,gBACA,aACA,kBACA,qBACA,gBACA,aACA,gBACA,mBACA,sBACA,aACA,gBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,oBAIA,cACA,WACA,YAEA,cACA,cACA,8CACA,gCACA48G,EAEA,YAEAv9H,kBACA,uBAEAA,YACAw9H,aACAx9H","names":["CoreCommonModule","U","CommonModule","FlexLayoutModule","FormsModule","ReactiveFormsModule","warnOnNgModelWithFormControl","CoreDirectivesModule","CorePipesModule","CardSnippetModule","provide","HIGHLIGHT_OPTIONS","useValue","fullLibraryLoader","o","imports","NgbModule","HighlightModule","CoreSidebarComponent","document","_renderer","_elementRef","_coreConfigService","_changeDetectorRef","_coreMediaService","_coreSidebarService","_animationBuilder","_mediaObserver","this","isOpened","overlayVisibility","hideOnEsc","rootElement","querySelectorAll","collapsedChangedEvent","EventEmitter","openedChangedEvent","_collapsed","_unsubscribeAll","Subject","event","close","set","value","collapse","classList","add","remove","expand","emit","collapsed","config","pipe","takeUntil","subscribe","r","_coreConfig","menuClass","Ye","layout","type","setSidebarRegistry","name","_setupCollapsibleSidebar","_defaultCollapsed","removeSidebarRegistry","next","complete","collapsibleSidebar","_wasCollapsible","_wasCollapsed","onMediaUpdate","isCollapsible","isActive","menu","iscollapsibleSidebar","expanded","markForCheck","_hideOverlay","_hideSidebar","_overlay","createElement","overlayClass","appendChild","nativeElement","parentElement","_animationPlayer","build","animate","style","opacity","create","play","addEventListener","onDone","parentNode","removeChild","addClass","removeClass","expandTemporarily","collapseTemporarily","_showSidebar","_showOverlay","open","nt","i0","DOCUMENT","selectors","ctx","CoreSidebarModule","CoreSidebarService","key","_registry","console","warn","sidebar","error","Z","factory","CoreTouchspinModule","CoreMenuModule","RouterModule","TranslateModule","DEFAULT_PERFECT_SCROLLBAR_CONFIG","suppressScrollX","wheelPropagation","CoreThemeCustomizerModule","PERFECT_SCROLLBAR_CONFIG","PerfectScrollbarModule","FeatherIconDirective","_changeDetector","changes","_nativeElement","currentValue","size","class","svg","Feather","toSvg","width","height","inner","innerHTML","outerHTML","G","ElementRef","ChangeDetectorRef","RippleEffectDirective","className","split","some","c","test","Waves","InitialsPipe","fullName","map","n","join","pure","CORE_CUSTOM_CONFIG","InjectionToken","CoreConfigService","_router","_config","encrDecr","enableLocalStorage","decryptedData","get","Constant","localStorage","getItem","localConfig","JSON","parse","removeItem","_defaultConfig","_initConfig","_configSubject","asObservable","data","getValue","_","setItem","stringify","BehaviorSubject","events","filter","ResolveEnd","Ge","localDefault","param","arguments","emitEvent","He","CoreLoadingScreenService","_document","_init","loadingScreenEl","body","querySelector","NavigationEnd","take","setTimeout","le","hide","animationPlayer","zIndex","x","CoreMediaService","currentMediaQuery","media$","debounceTime","distinctUntilChanged","change","me","mqAlias","I","CoreTranslationService","_translateService","args","locales","forEach","oe","setTranslation","locale","lang","k","sitename","window","location","href","slice","APIURl","h","getAPIURL","COMMON","ERROR_MESSAGE_CONNECTIONREFUSED","SIGNIN","MOTIVATION_BADGE_SIGNIN","WELCOME_TEXT","CONTROL_LABEL_EMAIL","CONTROL_LABEL_PASSWORD","CONTROL_LABEL_REMEMBERME","PLACEHOLDER_EMAIL","LINK_TEXT_LABEL_FORGOTPASSWORD","LINK_TEXT_LABEL_CREATEACCOUNT","TEXT_NEWONPLATFORM","BUTTON_TEXT_LOGIN","TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE","TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT","ERROR_MESSAGE_REQUIRED_EMAIL","ERROR_MESSAGE_REQUIRED_PASSWORD","ERROR_MESSAGE_INVALID_EMAIL","ERROR_MESSAGE_NOATTEMPTS","LOGIN_STATUS","ErrorCode","Status","ErrorMessage","DIGITS","ROLES","title","titlle","SIGNUP","MOTIVATION_BADGE_SIGNUP","STEPPER_TITLE_ACCOUNT","STEPPER_SUB_TITLE_ACCOUNT","STEPPER_TITLE_PERSONAL","STEPPER_SUB_TITLE_PERSONAL","HEADING_ACCOUNT","HEADING_PERSONAL","HEADING_SELECTPLAN","CONTROL_LABEL_USERID","CONTROL_LABEL_EMAILADDRESS","CONTROL_LABEL_CONFIRMPASSWORD","CONTROL_LABEL_REGION","CONTROL_LABEL_HOMECOUNTRY","CONTROL_LABEL_FIRSTNAME","CONTROL_LABEL_MIDDLENAME","CONTROL_LABEL_LASTNAME","CONTROL_LABEL_BIRTHDATE","CONTROL_LABEL_MOBILENO","CONTROL_LABEL_SELECTPLAN","PLACEHOLDER_TYPEHERE","PLACEHOLDER_PASSWORD","PLACEHOLDER_REGION","PLACEHOLDER_COUNTRY","PLACEHOLDER_TELEPHONENUMBER","BUTTON_TEXT_PREVIOUS","BUTTON_TEXT_NEXT","BUTTON_TEXT_SUBMIT","TOOLTIPTEXT_CONTROL_LABEL_REGION_1","TOOLTIPTEXT_CONTROL_LABEL_REGION_2","TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY","TOAST_MESSAGE_SUCCESSFULSIGNUP","ERROR_MESSAGE_REQUIRED_USERID","ERROR_MESSAGE_EXISTED_USERID","ERROR_MESSAGE_REQUIRED_EMAILADDRESS","ERROR_MESSAGE_EXISTED_EMAILADDRESS","ERROR_MESSAGE_INVALID_PASSWORD","ERROR_MESSAGE_MISMATCHED_PASSWORD","ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD","ERROR_MESSAGE_REQUIRED_REGION","ERROR_MESSAGE_REQUIRED_HOMECOUNTRY","ERROR_MESSAGE_REQUIRED_FIRSTNAME","ERROR_MESSAGE_REQUIRED_MIDDLENAME","ERROR_MESSAGE_REQUIRED_LASTNAME","ERROR_MESSAGE_REQUIRED_BIRTHDATE","ERROR_MESSAGE_REQUIRED_MOBILENO","ERROR_MESSAGE_REQUIRED_SELECTPLAN","CONTROL_LABEL_EMAIL_ADDRESS","PLACEHOLDER_EMAIL_ADDRESS","PLACEHOLDER_TYPE_HERE","PLACEHOLDER_MOBILE_NUMBER","BUTTON_TEXT_SAVE_CHANGES","ERROR_MESSAGE_REQUIRED_EMAIL_ADDRESS","COMMON_STATUS","GRIDVIEW","BUTTON_TEXT_VIEW_ALL_ON_A_MAP","CONTROL_LABEL_SEARCH","CONTROL_LABEL_SHOW","CONTROL_LABEL_SHOW_ALL","CHARACTER_COUNT","OPTION_VALUE_TEXT_5","OPTION_VALUE_TEXT_10","OPTION_VALUE_TEXT_15","OPTION_VALUE_TEXT_20","OPTION_VALUE_TEXT_25","PLACEHOLDER_SEARCH","GRIDACTION","TOOLTIP_TEXT_BUTTON_EDIT_RECORD","TOOLTIP_TEXT_BUTTON_VIEW_ON_MAP","TOOLTIP_TEXT_BUTTON_SHARE","TOOLTIP_TEXT_BUTTON_LINK_RECORD","TOOLTIP_TEXT_BUTTON_DOC_DESCRIPTION","TOOLTIP_TEXT_BUTTON_DELETE_RECORD","TOOLTIP_TEXT_BUTTON_DOWNLOAD_RECORD","TOOLTIP_TEXT_BUTTON_SEE_RECORD","TOOLTIP_TEXT_BUTTON_VIEW_RECORD","TOOLTIP_TEXT_ADD_NEW_RECORD","TOOLTIP_TEXT_BUTTON_CLEAR_ALL_FILTERS","ctx_r7","ctx_r13","ctx_r15","option_r18","ctx_r25","ctx_r27","NewgirdviewComponent","_coreTranslationService","globalService","sortable","resizable","flex","autoHeight","comparator","customComparator","statusPanels","statusPanel","align","gridOptions","context","componentParent","translate","english","french","german","portuguese","gujarati","hindi","toggle","target","checked","isChecked","gridApi","paginationSetPageSize","Number","seepageButton","Onseepage","SetColumnWidths","GridRefresh","clicked","clicked2","clicked3","cellDoubleClicked","initialLoad","Wt","currentPage","api","paginationGetCurrentPage","customPaginationChanged","setQuickFilter","skipHeader","allColumnIds","gridColumnApi","getColumns","column","push","getId","autoSizeColumns","alert","qt","columnDefs","rowData","redrawRows","params","columnApi","gridApiReady","autoSizeAll","setFilterModel","wt","valueA","valueB","toLowerCase","localeCompare","ctx_r5","TextBoxComponent","readonly","autocomplete","aria_describedby","for_lbl","_value","val","updateCharacterCount","characterCount","length","obj","fn","OnChange","isDisabled","passwordTextType","OnFocusOut","Ht","NG_VALUE_ACCESSOR","useExisting","multi","decls","SignupInputModel","SigninInputModel","SignupOutputModel","ForgotPasswordInputModel","ResetPasswordInputModel","SignOutInputModel","ValidateMobileNumberInputModel","THANKS_BADGE_SIGNUP","TEXT_HEY","TEXT_THANKS","TEXT_NOOSOM_TEAM","TEXT_READ_OUR","LINK_TEXT_PRIVACY_POLICY","LINK_TEXT_TERMS_CONDITIONS","LINK_TEXT_BACK_TO_LOGIN","CONTROL_LABEL_CONFIRM_PASSWORD","TOAST_MESSAGE_SUCCESSFUL_OTP_VERIFIED","ERROR_MESSAGE_INVALID_OTP_DATA","ERROR_MESSAGE_INVALID_OTP","INVITATION_TEXT","SIGNIN_AGREEMENT_TEXT","SIGNUP_AGREEMENT_TEXT","TOOLTIP_TEXT_BUTTON_LOGIN","LABEL_TEXT_VERSION","LABEL_TEXT_UPDATED_ON","TOOLTIP_TEXT_BUTTON_PREVIOUS","TOOLTIP_TEXT_BUTTON_NEXT","TOOLTIP_TEXT_BUTTON_SUBMIT","TOOLTIP_TEXT_BUTTON_CALENDAR","TOOLTIPTEXT_CONTROL_LABEL_USERNAME","TOOLTIPTEXT_CONTROL_LABEL_FIRSTNAME","TOOLTIPTEXT_CONTROL_LABEL_LASTNAME","ERROR_MESSAGE_AGEMAXOUT_BIRTHDATE","ERROR_MESSAGE_EXISTED_MOBILENUMBER","ERROR_MESSAGE_CONTACT_INVALID","ERROR_MESSAGE_MAX_LENGTH_50","ERROR_MESSAGE_MAX_LENGTH_100","ERROR_MESSAGE_MAX_LENGTH_12","SUCCESSFUL_SIGNUP","TEXT_DESCRIPTION_1","TEXT_DESCRIPTION_2","TEXT_DESCRIPTION_3","TOOLTIP_TEXT_BUTTON_OKAY","BUTTON_TEXT_OKAY","VERIFY_EMAIL_ADDRESS","TEXT_DESCRIPTION","TEXT_DESCRIPTION_NEW","BUTTON_TEXT_CONTINUE_WEB","BUTTON_TEXT_CONTINUE_APP","TOOLTIP_TEXT_BUTTON_VERIFY_AND_LOGIN","BUTTON_TEXT_VERIFY_LOGIN","TOAST_MESSAGE_SUCCESSFUL_EMAIL_VERIFIED","VERIFY_SIGNIN_OTP","TEXT_DESCRIPTION_INVITATION","TOOLTIP_TEXT_BUTTON_VERIFY_OTP","BUTTON_TEXT_VERIFY_OTP","FORGOT_PASSWORD","HEADING_FORGOT_PASSWORD","TOOLTIP_TEXT_BUTTON_SEND_RESET_LINK","BUTTON_TEXT_SEND_RESET_LINK","TOAST_MESSAGE_SENT_RESET_PASSWORD_LINK","RESET_PASSWORD","HEADING_RESET_PASSWORD","TOOLTIP_TEXT_BUTTON_SAVE_CHANGES","CONTROL_LABEL_NEW_PASSWORD","TOAST_MESSAGE_RESET_PASSWORD","ERROR_MESSAGE_LINK_EXPIRED","OutputModel","DeleteInputModel","DeleteMultipleInputModel","CustomToastrService","_toastrService","options","toastrConfig","_customToastrRef","cloneDeep","toastComponent","CustomToastrComponent","closeButton","tapToDismiss","progressBar","toastClass","message","customToastrRef","success","warning","info","EncrDecrService","keys","CryptoJS","iv","toString","keySize","mode","padding","valueArray","decrypted","GeneralService","selectedItemsSubject","storedItems","removedItemsSubject","selectedItems$","removedItems$","PostDataById","path","removefromCart","item","currentItems","getSelectedItems","NoosomPlanId","updatedItems","i","GlobalService","_http","http","EncrDecr","_authenticationService","_platform","User","urls","arr","reduce","accumulator","current","u","result","date","Date","setFullYear","getFullYear","base64","binaryString","atob","binaryLen","bytes","Uint8Array","ascii","charCodeAt","fileName","byte","_type","blob","Blob","link","URL","createObjectURL","download","visibility","click","headers","SetHeaders","encrypted","RequestMessage","post","log","year","month","day","shortCountryName","Result","CountryISO","HttpHeaders","Authorization","currentUserValue","Token","StrDate","tempDate","Year","Month","getMonth","Days","getDate","Hours","getHours","Minutes","getMinutes","Seconds","getMilliseconds","TotalMinutes","getTimezoneOffset","dateTemp","setMonth","setDate","setHours","setMinutes","setSeconds","_res","CdnFolderName","file","ReplaySubject","reader","FileReader","readAsBinaryString","onload","btoa","browserName","BLINK","EDGE","FIREFOX","SAFARI","TRIDENT","WEBKIT","RandomStringType","Et","Math","floor","random","format","encryptedFormat","dateFormat","storedFormat","timeFormat","newUrls","e","LoadingScreenService","_loading","loadingStatus","loading","firebase","apiKey","authDomain","projectId","storageBucket","messagingSenderId","appId","measurementId","messaging","MessagingService","loadingScreenService","messageSubject","receiveMessage","then","token","catch","stopLoading","payload","navigator","serviceWorker","WebSocketService","connect","socketUrl","includes","socket$","webSocket","err","msg","AboutMeCreateUpdateInputModel","UserDemographicsModel","TblUserHealthProviders","TblUserMedications","MedicationLoadDataInputModel","TblUserVaccinations","TblUserAwards","TblUserAchievements","AchievementsLoadDataInputModel","TblUserFamilyMembers","FamilyMembersLoadDataInputModel","TblUserFriends","TblUserJobs","AwardService","userAwards","_data","Y","ctx_r18","AwardComponent","dialogRef","awardService","modalService","dialog","authenticationService","_formBuilder","dateformat","getDateFormat","toUpperCase","award","textBox","focus","W","coreConfig","currentAppLanguage","GetCurrentLanguageJsonObject","app","appLanguage","dialogTitle","AWARD","DIALOG_TITLE_ADD_AWARD","infoTooltip","SECTION_TEXT","frmAward","group","AwardName","Validators","Occasion","DateReceived","OccasionNotes","IsForEdit","DIALOG_TITLE_EDIT_AWARD","startLoading","GetUserAwardLoadData","Je","status","awardLoadDataOutputModel","UserAward","patchValue","E","Error","keydownEvents","toLocaleLowerCase","onCloseButtonClick","submitted","invalid","UserDetailsId","UserAwardId","CreatedBy","CreatedDate","CreatedTime","ChangedDate","ChangedTime","ChangedBy","CreateUpdateUserAward","errormessage","TOAST_MESSAGE_AWARD_ADDED_SUCCESSFULLY","ke","TOAST_MESSAGE_AWARD_UPDATED_SUCCESSFULLY","at","Success","reset","controls","MAT_DIALOG_DATA","_r4","TruncatePipe","styles","limit","replace","trim","substring","ctx_r49","ctx_r52","FriendsComponent","clipboard","friendService","FirstName","userFriend","d","templcstg","showIcon","MY_FAMILIES","DIALOG_TITLE_ADD_A_FRIEND","SECTION_TEXT_FRIEND","frmFriend","MiddleName","LastName","EmailAddress","DateofBirth","PersonalWebUrl","NoosomWebUrl","ContactNumber1","ContactNumber2","ContactNumber1CountryCode","ContactNumber2CountryCode","Address1","Address2","Address3","AddressTown","StateId","AddressPostCode","CountryId","RegionId","DIALOG_TITLE_EDIT_A_FRIEND","CountryShortCode","SelectedCountryISO1","GetCountryISOObject","SelectedCountryISO2","GetUserFriendLoadData","_e","friendLoadDataOutputModel","UserFriend","enable","ConnectionRequestStatusId","connectionStatus","CustomButtonRenderer","PlaceholderRegion","PlaceholderCountry","PlaceholderState","PLACEHOLDER_STATE","disable","btnType","setErrors","number","countryCode","UserFriendId","CreateUpdateUserFriend","S","TOAST_MESSAGE_FRIEND_ADDED_SUCCESSFULLY","b","TOAST_MESSAGE_FRIEND_UPDATED_SUCCESSFULLY","L","DateOfBirth","frm","focusoutEmail","characterCount2","textToCopy","copy","subStateList$","PostDataAnonymous","_body","countryRegion","setValue","te","openDialogMapAddress","warningMessage","emptyFields","dialogConfig","MatDialogConfig","disableClose","autoFocus","MapAddressDataModel","MapModalType","GetMapSearchString","MapAddressComponent","componentInstance","IsDraggable","IsSaveButtonVisible","IsSearchOnMap","afterClosed","Latitude","lat","Longitude","long","requestModel","ValidateEmailAddressFriendsFamily","exist","_a","undefined","_b","_c","validateEmailAddressFriendsFamily","pattern","StateList","CountryList","subCountryList$","url","url1","Warning","subDownloadAddressAtt$","unsubscribe","subDeleteAddressAtt$","T","_r6","FriendsService","gridRefresh","refresh","BUTTON_TEXT_SAVE","BUTTON_TEXT_SAVE_SEND","BUTTON_TEXT_CANCEL","ERROR_MESSAGE_INVALID_MOBILE_NUMBER","TOOLTIP_TEXT_BUTTON_CLOSE","ABOUTME","SECTION_HEADING_HI","SECTION_HEADING_ABOUT_ME","SECTION_HADING_MY_DETAILS","SECTION_HADING_MY_ADDRESSES","SECTION_HADING_MY_SCHOOLS","BUTTON_TEXT_VIEW_ON_MAP","BUTTON_TEXT_UPLOAD","BUTTON_TEXT_ADD_AN_ADDRESS","BUTTON_TEXT_ADD_SCHOOL","TAB_LINK_TEXT_ABOUT_ME","TAB_LINK_TEXT_MY_ESSENTIAL_INFO","TAB_LINK_TEXT_MY_FAMILIES","TAB_LINK_TEXT_MY_FRIENDS","TAB_LINK_TEXT_MY_ACHIEVEMENTS_AND_AWARDS","TAB_LINK_TEXT_MY_JOBS","TOOLTIP_TEXT_BUTTON_UPLOAD","TOOLTIP_TEXT_BUTTON_VIEW_ALL_ON_MAP","TOOLTIP_TEXT_BUTTON_ADD_NEW_RECORD","TOOLTIP_TEXT_COPY","TOOLTIP_TEXT_EXTERNAL_LINK","TOOLTIP_TEXT_SEND_EMAIL","TOOLTIP_TEXT_FIRST_NAME","TOOLTIP_TEXT_MIDDLE_NAME","TOOLTIP_TEXT_LAST_NAME","TOOLTIP_TEXT_NICK_NAME","TOOLTIP_TEXT_FULL_NAME","TOOLTIP_TEXT_NOOSOM_WEB_URL","TOOLTIP_TEXT_NOOSOM_EMAIL","TOOLTIP_TEXT_PERSONAL_URL","TOOLTIP_TEXT_USERNAME","TOOLTIP_TEXT_DOB","TOOLTIP_TEXT_SEX_BIRTH","TOOLTIP_TEXT_GENDER","TOOLTIP_TEXT_RELIGION","TOOLTIP_TEXT_ZODIAC","TOOLTIP_TEXT_CHINESE_ZODIAC","TOOLTIP_TEXT_MOBILE","TOOLTIP_TEXT_DIARY_JOURNAL","CONTROL_LABEL_NOOSOM_USER_NAME","CONTROL_LABEL_FULL_NAME","CONTROL_LABEL_CALL_ME_NAME","CONTROL_LABEL_FIRST_NAME","CONTROL_LABEL_MIDDLE_NAME","CONTROL_LABEL_LAST_NAME","CONTROL_LABEL_DATE_OF_BIRTH","CONTROL_LABEL_SEX_AT_BIRTH","CONTROL_LABEL_GENDER_IDENTIFY_AS","CONTROL_LABEL_RELIGION","CONTROL_LABEL_ZODIAC_SIGN","CONTROL_LABEL_LUNAR_SIGN","CONTROL_LABEL_NOOSOM_WEB_URL","CONTROL_LABEL_PERSONAL_WEB_URL","CONTROL_LABEL_MOBILE_NUMBER","CONTROL_LABEL_DIARY_OR_JOURNAL","CONTROL_LABEL_DIARY","CONTROL_LABEL_JOURNAL","CONTROL_LABEL_PERSNOAL_WEB_URL","CONTROL_LABEL_ADD_EMAIL","PLACEHOLDER_SEX_AT_BIRTH","PLACEHOLDER_GENDER_IDENTIFY_AS","PLACEHOLDER_RELIGION","PLACEHOLDER_ZODIAC_SIGN","PLACEHOLDER_LUNAR_SIGN","SWEET_ALERT_TITLE_SCHOOL_TEXT","SWEET_ALERT_TITLE_ADDRESS_TEXT","SWEET_ALERT_TITLE_INSURANCE_TEXT","SWEET_ALERT_TITLE_MY_HEALTH_PROVIDERS_TEXT","SWEET_ALERT_TITLE_MY_MEDICATIONS_TEXT","SWEET_ALERT_TITLE_MY_VACCINATION_TEXT","SWEET_ALERT_TITLE_AWARD_TEXT","SWEET_ALERT_TITLE_ACHIEVEMENT_TEXT","SWEET_ALERT_TITLE_FAMILY_TEXT","SWEET_ALERT_TITLE_FRIEND_TEXT","SWEET_ALERT_TITLE_INVITATION_TEXT","SWEET_ALERT_TITLE_JOB_TEXT","SWEET_ALERT_TEXT","SWEET_ALERT_NO_BUTTON","SWEET_ALERT_YES_BUTTON","SWEET_ALERT_SURE_TEXT","SWEET_ALERT_CONFIRM_BUTTON_TEXT","SWEET_ALERT_CANCEL_BUTTON_TEXT","DATA_TABLE_HEADER_TEXT_SEQUENCE","DATA_TABLE_HEADER_TEXT_ADDRESS_CODE","DATA_TABLE_HEADER_TEXT_NAME_FOR_THIS_ADDRESS","DATA_TABLE_HEADER_TEXT_DATE_FROM","DATA_TABLE_HEADER_TEXT_DATE_TO","DATA_TABLE_HEADER_TEXT_ACTIONS","DATA_TABLE_HEADER_TEXT_ADDRESS","DATA_TABLE_HEADER_TEXT_SCHOOL_NAME","DATA_TABLE_HEADER_TEXT_COUNTRY","DATA_TABLE_HEADER_TEXT_EDUCATION_RECEIVED","TOAST_MESSAGE_ABOUTME_UPDATED_SUCCESSFULLY","TOAST_MESSAGE_ABOUTME_COPIED","ERROR_MESSAGE_REQUIRED_NOOSOM_USER_NAME","ERROR_MESSAGE_MAX_LENGTH_200","ERROR_MESSAGE_MAX_LENGTH_320","ERROR_MESSAGE_MAX_LENGTH_250","ERROR_MESSAGE_REQUIRED_FULL_NAME","ERROR_MESSAGE_REQUIRED_CALL_ME_NAME","ERROR_MESSAGE_REQUIRED_FIRST_NAME","ERROR_MESSAGE_REQUIRED_MIDDLE_NAME","ERROR_MESSAGE_REQUIRED_LAST_NAME","ERROR_MESSAGE_REQUIRED_DATE_OF_BIRTH","ERROR_MESSAGE_REQUIRED_SEX_AT_BIRTH","ERROR_MESSAGE_REQUIRED_GENDER_IDENTIFY_AS","ERROR_MESSAGE_REQUIRED_RELIGION","ERROR_MESSAGE_REQUIRED_ZODIAC_SIGN","ERROR_MESSAGE_REQUIRED_LUNAR_SIGN","ERROR_MESSAGE_REQUIRED_NOOSOM_WEB_URL","ERROR_MESSAGE_REQUIRED_PERSONAL_WEB_URL","ERROR_MESSAGE_REQUIRED_MOBILE_NUMBER","ERROR_MESSAGE_REQUIRED_JOBDESCRIPTION","ERROR_MESSAGE_REQUIRED_STREET","ERROR_MESSAGE_REQUIRED_EMPLOYER","ERROR_MESSAGE_REQUIRED_ADDRESSPOSTCODE","ERROR_MESSAGE_REQUIRED_ADDRESSTOWN","ERROR_MESSAGE_REQUIRED_ADDRESS_STATE","ERROR_MESSAGE_REQUIRED_ADDRESS_REGION","ERROR_MESSAGE_REQUIRED_ADDRESS_COUNTRY","ERROR_MESSAGE_EXISTED_USERNAME","ERROR_MESSAGE_INVALID_DATA","ERROR_MESSAGE_EXIST_EMAIL","ERROR_MESSAGE_REQUIRED_LAST_REFILL_DATE_REQUIRED","ERROR_MESSAGE_REQUIRED_NEXT_REFILL_DATE_REQUIRED","ERROR_MESSAGE_EXISTED_MOBILE_NUMBER","ESSENTIAL_INFORMATION","BUTTON_TEXT_ADD_AN_INSURANCE","BUTTON_TEXT_ADD_A_PROFFESIONAL","CONTROL_LABEL_BLOOD_GROUP","CONTROL_LABEL_ORGAN_DONOR","CONTROL_LABEL_YES","CONTROL_LABEL_NO","CONTROL_LABEL_ALLERGIES","CONTROL_LABEL_RELATIONSHIP","CONTROL_LABEL_EMERGENCY_CONTACT_FULLNAME","CONTROL_LABEL_EMERGENCY_CONTACT_NUMBER","CONTROL_LABEL_GENERAL_MEDICAL_HISTORY","CONTROL_LABEL_FAMILY_MEDICAL_HISTORY","CONTROL_LABEL_SURGICAL_HISTORY","CONTROL_LABEL_POST_CARE_NOTES","DATA_TABLE_HEADER_TEXT_INSURANCE_TYPE","DATA_TABLE_HEADER_TEXT_INSURANCE_NAME","DATA_TABLE_HEADER_TEXT_INSURANCE_POLICY_NUMBER","DATA_TABLE_HEADER_TEXT_CARD_NUMBER","DATA_TABLE_HEADER_TEXT_INSURANCE_CONTACT_NUMBER","DATA_TABLE_HEADER_TEXT_STATUS","DATA_TABLE_HEADER_TEXT_POLICY_START_DATE","DATA_TABLE_HEADER_TEXT_POLICY_EXPIRATION_DATE","DATA_TABLE_HEADER_TEXT_SPECIALITY","DATA_TABLE_HEADER_TEXT_PROFESSIONAL_NAME","DATA_TABLE_HEADER_TEXT_FULL_ADDRESS","DATA_TABLE_HEADER_TEXT_EMAIL_ADDRESS","DATA_TABLE_HEADER_TEXT_CONTACT_NUMBER","DATA_TABLE_HEADER_TEXT_LAST_EXAM_DATE","DATA_TABLE_HEADER_TEXT_NEXT_EXAM_DATE","PLACEHOLDER_SELECT_BLOOD_GROUP","PLACEHOLDER_SELECT_RELATIONSHIP","SECTION_HEADING_MY_DEMOGRAPHICS","SECTION_HEADING_MEDICAL_HISTORY","SECTION_HEADING_MY_INSURANCE_INFORMATION","SECTION_HEADING_MY_HEALTH_PROVIDERS","TAB_HEADING_MY_DEMOGRAPHICS","TAB_HEADING_GENERAL_MANAGEMENT","TAB_HEADING_MEDICATIONS","TAB_HEADING_MY_VACCINATION_RECORD","TOOLTIPTEXT_CONTROL_LABEL_GENERAL_MEDICAL_HISTORY","FORM_DESCRIPTION","TOOLTIP_TEXT_BLOOD_GROUP","TOOLTIP_TEXT_ORGAN_DONOR","TOOLTIP_TEXT_ALLERGIES","TOOLTIP_TEXT_EMERGENCY_CONTACT_INFO","TOOLTIP_TEXT_RELATIONSHIP_TO_EMERGENCY_CONTACT","TOOLTIP_TEXT_EMERGENCY_CONTACT_MOBILE","TOAST_MESSAGE_ESSENTIAL_ADDED_SUCCESSFULLY","TOAST_MESSAGE_ESSENTIAL_UPDATED_SUCCESSFULLY","MY_MEDICATION","BUTTON_TEXT_ADD_A_MEDICATION","DATA_TABLE_HEADER_TEXT_MEDICATION_NAME","DATA_TABLE_HEADER_TEXT_CONDITION_FOR","DATA_TABLE_HEADER_TEXT_DOSAGE","DATA_TABLE_HEADER_TEXT_FREQUENCY","DATA_TABLE_HEADER_TEXT_PRESCRIBED_BY","DATA_TABLE_HEADER_TEXT_LAST_REFILL_DATE","DATA_TABLE_HEADER_TEXT_NEXT_REFILL_DATE","SECTION_HEADING_MY_MEDICATIONS","MY_VACCINATION","BUTTON_TEXT_ADD_A_VACCINATION","DATA_TABLE_HEADER_TEXT_VACCINATION_NAME","DATA_TABLE_HEADER_TEXT_VACCINATION_TYPE","DATA_TABLE_HEADER_TEXT_LAST_DOSAGE_DATE","DATA_TABLE_HEADER_TEXT_NEXT_DOSAGE_DATE","SECTION_HEADING_MY_VACCINATION_RECORD","MY_AWARDS_ACHIEVEMENT","BUTTON_TEXT_ADD_AN_AWARD","BUTTON_TEXT_ADD_AN_ACHIEVEMENT","BUTTON_TEXT_ADD_AN_EDUCATIONAL_ACHIEVEMENT","BUTTON_TEXT_ADD_AN_PROFESSIONAL_ACHIEVEMENT","BUTTON_TEXT_ADD_AN_MISCELLANEOUS_ACHIEVEMENT","CONTROL_LABEL_NAME_OF_THE_AWARD","CONTROL_LABEL_NAME_OF_THE_ACHIEVEMENT","CONTROL_LABEL_OCCASION","CONTROL_LABEL_DATE_RECEIVED","CONTROL_LABEL_OCCASION_NOTES","DIALOG_TITLE_ADD_ACHIEVEMENT","DIALOG_TITLE_EDIT_ACHIEVEMENT","DIALOG_TITLE_ADD_EDUCATIONAL_ACHIEVEMENT","DIALOG_TITLE_ADD_PROFESSIONAL_ACHIEVEMENT","DIALOG_TITLE_ADD_MISCELLANEOUS_ACHIEVEMENT","DATA_TABLE_HEADER_TEXT_NAME_OF_THE_AWARD","DATA_TABLE_HEADER_TEXT_NAME_OF_THE_ACHIEVEMENT","DATA_TABLE_HEADER_TEXT_OCCASION","DATA_TABLE_HEADER_TEXT_OCCASION_NOTES","DATA_TABLE_HEADER_TEXT_DATE_RECEIVED","ERROR_MESSAGE_REQUIRED_ACHIEVEMENT_NAME","SECTION_HEADING_MY_AWARDS","SECTION_HEADING_MY_ACHIEVEMENT","SECTION_HEADING_MY_EDUCATIONAL_ACHIEVEMENT","SECTION_HEADING_MY_PROFESSIONAL_ACHIEVEMENT","SECTION_HEADING_MY_MISCELLANEOUS_ACHIEVEMENT","TOOLTIP_TOGGLE_CALENDAR","TOOLTIP_TEXT_ACHIEVEMENT_NAME","TOOLTIP_TEXT_OCCASION_EVENT_NAME","TOOLTIP_TEXT_ACHIEVEMENT_DATE","TOOLTIP_TEXT_ACHIEVEMENT_NOTES","TOAST_MESSAGE_ACHIEVEMENT_ADDED_SUCCESSFULLY","TOAST_MESSAGE_ACHIEVEMENT_UPDATED_SUCCESSFULLY","TAB_HEADING_MY_AWARDS","TAB_HEADING_MY_ACHIEVEMENT","MY_MEDICATION_FORM","CONTROL_LABEL_MEDICATION_NAME","CONTROL_LABEL_CONDITION_FOR","CONTROL_LABEL_DOSAGE","CONTROL_LABEL_FREQUENCY","CONTROL_LABEL_PRESCRIBED_BY","CONTROL_LABEL_REFILL_DURATION","CONTROL_LABEL_LAST_REFILL_DATE","CONTROL_LABEL_NEXT_REFILL_DATE","CONTROL_LABEL_NOTES","DIALOG_TITLE_ADD_MEDICATION","DIALOG_TITLE_EDIT_MEDICATION","ERROR_MESSAGE_REQUIRED_MEDICATION_NAME","ERROR_MESSAGE_REQUIRED_CONDITION_FOR","ERROR_MESSAGE_REQUIRED_DOSAGE","ERROR_MESSAGE_REQUIRED_FREQUENCY","ERROR_MESSAGE_REQUIRED_PRESCRIBED_BY","ERROR_MESSAGE_REQUIRED_REFILL_DURATION","PLACEHOLDER_SELECT_PROFESSIONAL_NAME","PLACEHOLDER_SELECT_REFILL_DURATION","TOOLTIP_TEXT_MEDICATION_NAME","TOOLTIP_TEXT_MEDICAL_CONDITION","TOOLTIP_TEXT_AMOUNT_OF_MEDICATION","TOOLTIP_TEXT_MEDICATION_FREQUENCY","TOOLTIP_TEXT_PRESCRIBING_DOCTOR","TOOLTIP_TEXT_REFILL_SUPPLY_DURATION","TOOLTIP_TEXT_LAST_SUPPLY_DATE","TOOLTIP_TEXT_NEXT_SUPPLY_DATE","TOOLTIP_TEXT_MEDICATION_NOTES","TOAST_MESSAGE_MEDICATION_ADDED_SUCCESSFULLY","TOAST_MESSAGE_MEDICATION_UPDATED_SUCCESSFULLY","MY_VACCINATION_FORM","CONTROL_LABEL_VACCINATION_NAME","CONTROL_LABEL_OTHER","CONTROL_LABEL_VACCINATION_TYPE","CONTROL_LABEL_LAST_DOSAGE_DATE","CONTROL_LABEL_NEXT_DOSAGE_DATE","DIALOG_TITLE_ADD_VACCINATION","DIALOG_TITLE_EDIT_VACCINATION","ERROR_MESSAGE_REQUIRED_VACCINATION_NAME","ERROR_MESSAGE_REQUIRED_OTHER","ERROR_MESSAGE_REQUIRED_VACCINATION_TYPE","ERROR_MESSAGE_REQUIRED_LAST_DOSAGE_DATE","ERROR_MESSAGE_REQUIRED_NEXT_DOSAGE_DATE","PLACEHOLDER_SELECT_VACCINATION_NAME","TOOLTIP_INFO_VACCINATION_NAME","TOOLTIP_INFO_VACCINATION_TYPE","TOOLTIP_INFO_LAST_DOSAGE","TOOLTIP_INFO_NEXT_DOSAGE","TOOLTIP_INFO_VACCINATION_NOTES","TOAST_MESSAGE_VACCINATION_ADDED_SUCCESSFULLY","TOAST_MESSAGE_VACCINATION_UPDATED_SUCCESSFULLY","ERROR_MESSAGE_REQUIRED_AWARD_NAME","ERROR_MESSAGE_REQUIRED_OCCASION","ERROR_MESSAGE_REQUIRED_DATE_RECEIVED","ERROR_MESSAGE_REQUIRED_OCCASION_NOTES","TOOLTIP_TEXT_AWARD_NAME","TOOLTIP_TEXT_AWARD_DATE","TOOLTIP_TEXT_AWARD_NOTES","BUTTON_TEXT_SEARCH_ON_MAP","BUTTON_TEXT_ADD_AN_OWN_FAMILY_MEMBER","BUTTON_TEXT_ADD_A_BIRTH_FAMILY_MEMBER","BUTTON_TEXT_ADD_AN_OTHER_FAMILY_MEMBER","BUTTON_TEXT_ADD_A_FRIEND","BUTTON_TEXT_ADD_OWN_FAMILY","BUTTON_TEXT_ADD_BIRTH_FAMILY","BUTTON_TEXT_ADD_OTHER_FAMILY","CONTROL_LABEL_DOB","CONTROL_LABEL_CONTACT1","CONTROL_LABEL_CONTACT2","CONTROL_LABEL_ADDRESS1","CONTROL_LABEL_ADDRESS2","CONTROL_LABEL_ADDRESS3","CONTROL_LABEL_COUNTRY","CONTROL_LABEL_ADDRESS_STATE","CONTROL_LABEL_ADDRESS_TOWN","CONTROL_LABEL_ADDRESS_POSTALCODE","CONTROL_LABEL_PERSONAL_URL","CONTROL_LABEL_NOOSOM_URL","DATA_TABLE_HEADER_TEXT_FIRST_NAME","DATA_TABLE_HEADER_TEXT_LAST_NAME","DATA_TABLE_HEADER_TEXT_DATE_OF_BIRTH","DATA_TABLE_HEADER_TEXT_RELATIONSHIP","DATA_TABLE_HEADER_TEXT_PERSONAL_WEB_URL","DATA_TABLE_HEADER_TEXT_NOOSOM_WEB_URL","DATA_TABLE_HEADER_TEXT_LINKED","DIALOG_TITLE_ADD_OWN_FAMILY_MEMBERS","DIALOG_TITLE_ADD_BIRTH_FAMILY_MEMBERS","DIALOG_TITLE_ADD_OTHER_FAMILY_MEMBERS","DIALOG_TITLE_EDIT_FAMILY_MEMBERS","PLACEHOLDER_SELECT_REGION","PLACEHOLDER_SELECT_COUNTRY","PLACEHOLDER_SELECT_STATE","SECTION_HEADING_MY_OWN_FAMILY","SECTION_HEADING_MY_BIRTH_FAMILY","SECTION_HEADING_MY_OTHER_FAMILY","SECTION_HEADING_MY_FRIEND","TOAST_MESSAGE_FAMILY_UPDATED_SUCCESSFULLY","TOAST_MESSAGE_FAMILY_ADDED_SUCCESSFULLY","TOAST_MESSAGE_CONNECTION_MAIL_SUCCESSFULLY","TOOLTIP_BIRTH_FAMILY","TOOLTIP_OWN_FAMILY","TOOLTIP_OTHER_FAMILY","TOOLTIP_TEXT_DATE_OF_BIRTH","TOOLTIP_TEXT_RELATIONSHIP","TOOLTIP_TEXT_EMAIL","TOOLTIP_TEXT_FRIENDS_EMAIL","TOOLTIP_TEXT_PERSONAL_URL1","TOOLTIP_TEXT_NOOSOM_URL","TOOLTIP_TEXT_NOOSOM_URL1","TOOLTIP_TEXT_ALTERNATE_CONTACT","TOOLTIP_TEXT_STREET_NAME","TOOLTIP_TEXT_ADDITIONAL_LOCATION_FIELD_1","TOOLTIP_TEXT_ADDITIONAL_LOCATION_FIELD_2","TOOLTIP_TEXT_TOWN_VILLAGE_CITY","TOOLTIP_TEXT_POSTAL_ZIPCODE","TOOLTIP_TEXT_REGION_CONTINENT","TOOLTIP_TEXT_COUNTRY","TOOLTIP_TEXT_STATE_PROVINCE","TOOLTIP_TEXT_FAMILY_MEMBER_NOTES","TOOLTIP_TEXT_BIRTH_FAMILY_INFO","TOOLTIP_TEXT_OWN_FAMILY_INFO","TOOLTIP_TEXT_OTHER_FAMILY_INFO","TOOLTIP_TEXT_CONNECTION_STATUS","MY_JOBS","BUTTON_TEXT_ADD_A_NEW_JOBS","CONTROL_LABEL_JOB_DESCRIPTION","CONTROL_LABEL_EMPLOYER","CONTROL_LABEL_CURRENT_JOBS","CONTROL_LABEL_DATE_FROM","CONTROL_LABEL_DATE_TO","DATA_TABLE_HEADER_TEXT_EMPLOYER","DATA_TABLE_HEADER_TEXT_JOB_DESCRIPTION","DATA_TABLE_HEADER_TEXT_NOTES","DIALOG_TITLE_EDIT_JOBS","ERROR_MESSAGE_JOB_FROM_DATE_REQUIRED","ERROR_MESSAGE_DATE_TO_REQUIRED","SECTION_HEADING_MY_JOB","SECTION_TEXT_JOBS","TOAST_MESSAGE_ADDRESS_ADDED_SUCCESSFULLY","TOAST_MESSAGE_ADDRESS_UPDATED_SUCCESSFULLY","TOOLTIP_TEXT_EMPLOYER_NAME","TOOLTIP_TEXT_JOB_ROLE","TOOLTIP_TEXT_CURRENT_JOB","TOOLTIP_TEXT_JOB_START_DATE","TOOLTIP_TEXT_JOB_END_DATE","TOOLTIP_TEXT_JOB_NOTES","WARNING_MESSAGE_SELECT_LOCATION","BUTTON_TEXT_ADD_NEW_RECORD","TAB_LINK_TEXT_MY_NOOSOM_PROFILE","ctx_r37","_r8","ctx_r40","_r10","ctx_r42","ctx_r43","ctx_r44","ctx_r47","JobsComponent","jobsService","jt","Employer","userJob","frmJobs","JobDescription","CurrentJobYn","JobFromDate","JobToDate","Notes","GetUserJobLoadData","jobLoadDataOutputModel$","jobLoadDataOutputModel","UserJob","onSearchOnMapClick","UserJobId","CreateUpdateUserJob","subSaveJobs$","yt","xn","dt","datefrom","dateto","getTime","maxFromDate","mn","JobsService","userJobs","MyAchievementService","userAchievement","MyAchievementComponent","achievementService","achievementname","frmAchievement","AchievementName","GetUserAchievementLoadData","achievementLoadDataOutputModel","UserAchievement","AchievementTypeId","UserAchievementId","CreateUpdateUserAchievement","MyMedicationService","medicationLoadDataInputModel","tblUserMedications","ln","ctx_r26","ctx_r29","MyMedicationComponent","medicationService","medicationname","userMedication","$e","frmMedication","PrescribedBy","RefillDurationId","MedicationName","ConditionFor","Dosage","Frequency","LastRefillDate","NextRefillDate","UserMedicationId","GetUserMedicationLoadData","It","medicationLoadDataOutputModel","UserMedication","CreateUpdateUserMedication","ot","VaccinationService","userVaccination","MyVaccinationComponent","vaccinationService","Vaccine","frmVaccination","VaccineId","VaccinationName","VaccinationType","LastDosageDate","NextDosageDate","GetUserVaccinationLoadData","vaccinationLoadDataOutputModel","UserVaccination","UserVaccinationId","CreateUpdateUserVaccination","vaccinelist","_selectedvaccineid","_selectedvaccine","VaccineName","FieldHide","_r5","_r7","ctx_r48","ctx_r51","OwnFamilyComponent","familyService","userFamily","g","frmFamily","Relationship","GetUserFamilyMemberLoadData","familyMemberLoadDataOutputModel","UserFamilyMember","FamilyMemberTypeId","UserFamilyMemberId","CreateUpdateUserFamilyMember","_d","F","OwnFamilyService","familyMembersLoadDataInputModel","PROFESSIONAL","BUTTON_TEXT_ADD_A_PROFESSIONAL","CONTROL_LABEL_SPECIALITY","CONTROL_LABEL_PROFESSIONAL_NAME","CONTROL_LABEL_LAST_EXAM_DATE","CONTROL_LABEL_NEXT_EXAM_DATE","DIALOG_TITLE_ADD_PROFESSIONAL","DIALOG_TITLE_EDIT_PROFESSIONAL","ERROR_MESSAGE_REQUIRED_SPECIALITY","ERROR_MESSAGE_REQUIRED_PROFESSIONALNAME","ERROR_MESSAGE_REQUIRED_ADDRESS","ERROR_MESSAGE_REQUIRED_ADDRESS_TOWN","ERROR_MESSAGE_REQUIRED_ADDRESS_POST_CODE","ERROR_MESSAGE_REQUIRED_COUNTRY","ERROR_MESSAGE_MAX_LENGTH_150","ERROR_MESSAGE_LAST_EXAM_DATE_REQUIRED","ERROR_MESSAGE_NEXT_EXAM_DATE_REQUIRED","TOOLTIP_TEXT_PRACTITIONER_SPECIALTY","TOOLTIP_TEXT_PRACTITIONER_EMAIL","TOOLTIP_TEXT_PRACTITIONER_MOBILE","TOOLTIP_TEXT_LAST_APPOINTMENT_DATE","TOOLTIP_TEXT_NEXT_APPOINTMENT_DATE","TOOLTIP_TEXT_NOTES","TOAST_MESSAGE_PROFESSIONAL_ADDED_SUCCESSFULLY","TOAST_MESSAGE_PROFESSIONAL_UPDATED_SUCCESSFULLY","AddProfessionalService","userProfessional","vn","ctx_r46","AddProfessionalComponent","addProfessional","speciality","Ve","frmProfessional","Speciality","ProfessionalName","LastExamDate","NextExamDate","GetUserHealthProviderLoadData","D","healthProviderLoadDataOutputModel","UserHealthProvider","emailInput","UserHealthProviderId","CreateUpdateUserHealthProvider","We","_r15","_r17","y","ctx_r50","_r27","_r29","ctx_r72","ctx_r74","ctx_r75","ctx_r76","ctx_r91","ctx_r97","ctx_r99","ctx_r103","ctx_r106","ctx_r108","ctx_r110","ctx_r113","ctx_r116","ctx_r118","ctx_r120","ctx_r122","ctx_r124","ctx_r125","ctx_r126","ctx_r127","ctx_r128","ctx_r129","AddAddressComponent","generalService","FileUploader","_ImageUrlAPI","isHTML5","method","itemAlias","disableMultipart","formatDataFunction","_file","formatDataFunctionIsAsync","maxFileSize","authToken","allowedFileType","AddressLoadDataOutputModel","counter","appendSubHtmlTo","commentBox","lgVideo","thumbnail","slideVideo","pager","autoplayFirstVideo","autoplayVideoOnSlide","plugins","lgZoom","autoPlay","fullScreen","rotate","videoThumbnail","vimeoVideo","lgvideo","detail","__awaiter","galleryRefresh","f","lightGallery","instance","$toolbar","append","getElementById","idname","galleryItems","index","Fe","onDeleteDocument","alt","galleryItems1","updatedGalleryItems","id","updateSlides","max","slidesUpdated","downloadDocument","AddressDocumentListOutputModel","src","DocumentPath","video","source","UserAddressDocumentId","onDownloadDocument","supportFunction","prevIndex","settings","licenseKey","Parameter","LightGalleryLicenseKey","dateformat1","timeformat","getTimeFormat","R","addressTag","notes","needRefresh","hasBaseDropZoneOver","uploader","queue","uploadAll","Swal","text","imageUrl","showCancelButton","confirmButtonColor","confirmButtonText","cancelButtonText","ADDRESS","customClass","confirmButton","cancelButton","userAddress","TblUserAddresses","DIALOG_TITLE_ADD_ADDRESS","INFO_TEXT","frmAddress","AddressTag","AddressName","CurrentAddressYn","AddressFromDate","AddressToDate","DIALOG_TITLE_EDIT_ADDRESS","addressLoadDataOutputModel$","recordId","docYN","addressLoadDataOutputModel","AddressDocumentList","doc","DocumentSubType","DocumentList","se","AddItemToGallery","DocumentId","DocumentOldName","Size","UserAddress","onAfterAddingFile","isUploading","forgotuploadWarning","withCredentials","onBuildItemForm","fileItem","form","onBeforeUploadItem","setOptions","response","_result","progress","uploaderWarning","uploadCount","_AddressDocument","DocumentList1","AddItemToGallery1","cancelAll","clearQueue","icon","cancelButtonColor","navigate","onCancelClick","filetype","getAttachmentList","FileType","page","GalleryItems","getMyAttachmentsInputModel","RecordId","Page","Pagesize","GetMetaDataYN","GetUserAddressDocumentsById","_attachmentlist","de","B","TotalNumberOfRecords","pagesNumber","Message","queuLength","_id","_url","documentname","documentsize","generateVideoData","GalleryItems1","loadingItem","thumb","subHtml","createdDate","createdTime","cache","generateThumbnailFromVideoURL","galleryItem","findIndex","videoURL","Promise","resolve","reject","crossOrigin","currentTime","canvas","videoWidth","videoHeight","getContext","drawImage","fillStyle","beginPath","moveTo","playIconSize","lineTo","closePath","fill","toDataURL","load","videoData","attributes","preload","tabNumber","INFO_TEXT3","ae","INFO_TEXT1","INFO_TEXT2","INFO_TEXT4","tab","tabs","isConfirmed","onSubmit","nav","select","AddressCounty","CountryName","UserAddressesId","jsonString","parsedObject","Data","UserAddressId","IsForAbandon","et","DeleteMyAddress","deleteInputModel","DeleteID","UserDetailsID","promise","N","subDeleteAddress$","_doc","DownloadMyAddressDocument","Document","IsDownloadAll","downloadFileInputModel","DownloadID","FilePath","pe","_downloaded","sampleArr","base64ToArrayBuffer","FileBase64String","saveByteArray","FileName","FileMimeType","UserAddressDocumentIds","SWEET_ALERT_TITLE_ALL_ADDRESS_DOCUMENT_TEXT","DeleteMyAddressDocument","userAddressDocumentId","showConfirmationDialog","SWEET_ALERT_TITLE_ADDRESS_DOCUMENT_TEXT","SWEET_ALERT_CONFIRM_UNLINK_BUTTON_TEXT","deleteDocumentsInputModel","UserAddressDocument","RecordID","postDataAndHandleResponse","v","handleSuccess","handleFailure","handleNetworkError","indexToRemove","splice","indexToRemovenew","Info","INFO_MESSAGE_COMING_SOON","ALERT_MESSAGE_REQUIRED_FIELDS","X","fileInput","openDialog","SelectSyncFileManagerComponent","RecordType","RecordsType","matdata","component","position","top","subSaveAddress$","ve","TAB_HEADING_ADDRESS_DETAILS","TAB_HEADING_UPLOAD","TAB_HEADING_GALLERY","TAB_HEADING_DOCUMENTS","TAB_HEADING_NOTES","TOOLTIP_TEXT_BUTTON_ADD_RECORD","TOOLTIP_TEXT_BUTTON_SELECT","TOOLTIP_TEXT_BUTTON_ADD_ADDRESS","TOOLTIP_TEXT_BUTTON_SEARCH_ON_MAP","TOOLTIP_TEXT_BUTTON_CANCEL","TOOLTIP_TEXT_BUTTON_REMOVE","TOOLTIP_TEXT_BUTTON_REMOVE_ALL","TOOLTIP_TEXT_BUTTON_UPLOAD_ALL","TOOLTIP_TEXT_BUTTON_DOWNLOAD","TOOLTIP_TEXT_BUTTON_VIEW","TOOLTIP_TEXT_BUTTON_DELETE","TOOLTIP_TEXT_BUTTON_DOWNLOAD_ALL","TOOLTIP_TEXT_ADDRESS_TAG","TOOLTIP_TEXT_HOUSE_BUILDING_NAME","TOOLTIP_TEXT_CURRENT_ADDRESS","TOOLTIP_TEXT_STAY_DATE_RANGE_1","TOOLTIP_TEXT_STAY_DATE_RANGE_2","HEADING_TEXT_SELECT_IMAGES","HEADING_TEXT_SELECT_DOCUMENTS","HEADING_TEXT_UPLOAD_QUEUE","HEADING_TEXT_QUEUE_PROGRESS","TEXT_FILE_TYPES","TEXT_QUEUE_LENGTH","TEXT_MB","CONTROL_LABEL_ADDRESS_TAG","CONTROL_LABEL_ADDRESS_NAME","CONTROL_LABEL_ADDRESS_POST_CODE","CONTROL_LABEL_MULTIPLE","LABEL_CURRENT_ADDRESS","PLACEHOLDER_CHOOSE_FILES","BUTTON_TEXT_ADD_RECORD","BUTTON_TEXT_SELECT","BUTTON_TEXT_SAVE_AND_CLOSE","BUTTON_TEXT_SAVE_AND_NEXT","BUTTON_TEXT_ABANDON","BUTTON_TEXT_UPLOAD_ALL","BUTTON_TEXT_PAUSE_ALL","BUTTON_TEXT_DOWNLOAD_ALL","BUTTON_TEXT_REMOVE_ALL","COLUMN_HEADING_NAME","COLUMN_HEADING_SIZE","COLUMN_HEADING_PROGRESS","COLUMN_HEADING_STATUS","COLUMN_HEADING_DATE_CREATED","COLUMN_HEADING_TYPE","COLUMN_HEADING_ACTIONS","SWEET_ALERT_TEXT_DELETED","SWEET_ALERT_CONFIRM_BUTTON_TEXT_OKAY","ERROR_MESSAGE_REQUIRED_ADDRESS_TAG","ERROR_MESSAGE_REQUIRED_ADDRESS_NAME","ERROR_MESSAGE_REQUIRED_ADDRESS1","ERROR_MESSAGE_REQUIRED_ADDRESS2","ERROR_MESSAGE_REQUIRED_ADDRESS3","ERROR_MESSAGE_REQUIRED_DATE_FROM","ERROR_MESSAGE_REQUIRED_DATE_TO","ERROR_MESSAGE_MAP_ZERO_RESULTS","MAP","DIALOG_TITLE_SEARCH_ON_MAP","DIALOG_TITLE_VIEW_ON_MAP","DIALOG_TITLE_VIEW_ADDRESS_ON_MAP","DIALOG_TITLE_VIEW_SCHOOL_ON_MAP","_mapModalType","_zoom","mapModalType","Zoom","MapAddressOutputModel","_lat","_long","_searchstring","searchstring","ctx_r4","ctx_r6","ctx_r9","cdr","google","maps","Geocoder","zoomControl","scrollwheel","disableDefaultUI","zoom","SearchStringForMap","userAddresses","_date","Lat","Long","Ee","txtSearchOnMap","skin","elementType","stylers","color","featureType","frmMapComponent","SearchField","indexi","element","center","lng","getLuminance","rgb","parseInt","luminance","getContrastRatio","color1","color2","contrast","iconColor","baseColor","newColor","baseLuminance","getRandomContrastColor","markers","draggable","label","fontSize","fontWeight","SymbolPath","CIRCLE","fillColor","fillOpacity","scale","strokeWeight","infoWindowContent","Title","Location","concat","Re","infowindow","InfoWindow","content","marker","Marker","addListener","googleMap","setMap","polylinePaths2","polylinePaths","drawPolyline","getGeoLocation","addMarkerOnMap","coordinates","polylineOptions","Polyline","strokeColor","strokeOpacity","bounds","LatLngBounds","extend","isEmpty","bottom","left","right","addListenerOnce","fitBounds","overlayPane","IsSearchTextVisible","isFullscreen","updateSize","marginLeft","maxWidth","overlayPane1","V","closeDialog","latLng","ReloadParentData","address","geocoder","Observable","geocode","results","GeocoderStatus","OK","observer","geometry","q","ZERO_RESULTS","bt","Event","onSearchClick","getCurrentLocation","coords","latitude","longitude","getAddressFromCoordinates","geolocation","getCurrentPosition","handleLocationError","latlng","LatLng","formatted_address","code","PERMISSION_DENIED","POSITION_UNAVAILABLE","TIMEOUT","bn","AuthGuard","route","state","currentUser","roles","indexOf","Role","CurrentNoosomPlanId","NoosomPlans","NoosomCategoryEnumId","NoosomCategoryID","queryParams","returnUrl","ErrorInterceptor","request","handle","catchError","sessionStorage","clear","reload","throwError","statusText","UserSettingsModel","storage","InactivityService","initializeEvents","inactivityTimer","Bt","resetTimer","clearTimeout","activitySubject","activityTimeout","onUserActivity","a","zt","AuthenticationService","inactivityService","currentUserSubject","Yt","jsonLanguageObject","initializeInactivityLogout","user","currentAPIURL","baseURL","activityObservable","logout","l","UserId","Id","UserSettings","GetUserSettings","UserDetailId","NotificationToken","userDetailsId","_settings","getConfig","Theme","MenuLayout","RouteTransition","animation","MenuCollapsedYn","MenuHiddenYn","hidden","NavbarColor","navbar","backgroundColor","NavbarType","FooterType","footer","DisplayToastrMsg","RoleTitle","MyBlogAboutMeCreateUpdateInputModel","GetMyBlogAboutMeDataModel","TabStateServiceService","activeTabIndex","Mt","Jn","ctx_r22","ctx_r24","modal_r18","ctx_r36","ctx_r38","modal_r32","ctx_r64","ctx_r67","ctx_r87","ctx_r89","ctx_r102","ctx_r104","j_r50","_r114","ctx_r130","ctx_r136","$event","ctx_r158","ctx_r163","ctx_r175","ctx_r178","ctx_r179","ctx_r185","ctx_r190","ctx_r192","j_r146","_r203","ctx_r211","ctx_r214","ctx_r216","ctx_r219","ctx_r228","ctx_r242","ctx_r247","ctx_r259","ctx_r261","ctx_r267","ctx_r272","ctx_r274","j_r232","_r284","ctx_r292","ctx_r295","ctx_r297","ctx_r300","ctx_r306","ctx_r320","ctx_r322","BlogComponent","_pricingService","_title","_encryptDecryptService","quickpostlistService","userProfileService","_QuickPostService","tabStateService","searchParameter","spaceBetween","effect","cubeEffect","slideShadows","shadow","navigation","nextEl","prevEl","SharedType","Lo","supportFunctionGallery","onLangChange","_LangJsonObj","setTitle","dayFilterOptions","dateformat2","P","monthList","generateMonthList","userBlogs","frmAboutMe","AboutMeDescription","StayAnonymousYn","JoinedDate","CurrentUserAddress","GetUserConnectionRequests","tabState","initialValues","CurrentDate","selectedDateRange","selectedDateRangeSharedWithMe","selectedDateRangePublicPost","currentDate","currentMonthYear","toLocaleString","selectedMonth","selectedMonthSharedWithMe","selectedMonthPublicPost","fromDate","fromDateSharedWithMe","fromDatePublicPost","toDate","toDateSharedWithMe","toDatePublicPost","latestQuickPost","onSearchSharedByMe","postId","friendsList","friendsMainList","familyList","familyMainList","getUserQuickPostSharingById","inputModel","z","connectionRequestData","separateLists","filteredDatafriend","filteredData","GetUserQuickPostSharingById","SharedFromUserDetailsID","UserQuickPostID","sharedToUserIds","SharedToUserDetailsID","ReceiverUserDetailsId","updateProfilePictureInputModel","ProfileImageSizeInBytes","ProfilePicturePath","ResetCoverPicture","ResetProfile","_profilepath","_user","CoverImagePath","_ProfilePictureUrl","ProfileImagePath","SetUserSession","getGridRefresh","dataq","StartDate","EndDate","DocLoadYN","NumberOfAttachments","pageAdvancedEllipsesPublicPost","PageSize","QuickPostType","quickPostType","LoadQuickpostList","shared","pageAdvancedEllipses","pageAdvancedEllipsesSharedWithMe","setGridRefresh","currentYear","months","monthLabel","postid","Userdetailsid","GetUserQuickPostConnectionsList","UserQuickPostId","_connectionList","allRows","checkedRows","row","SharedYN","On","tabid","onSearch","loadAboutMeData","getQuickPostListInputModel","Shared","Te","comp","LoadQuickpostListSharedByMe","currentMonth","today","getMonthLabel","tomorrow","yesterday","today1","dayOfWeek","getDay","firstDayOfWeek","lastDayOfWeek","nextWeekStart","nextWeekEnd","previousWeekStart","previousWeekEnd","firstDayOfMonth","lastDayOfMonth","nextMonth","firstDayOfNextMonth","lastDayOfNextMonth","previousMonth","firstDayOfPreviousMonth","lastDayOfPreviousMonth","firstDayOfYear","lastDayOfYear","nextYear","firstDayOfNextYear","lastDayOfNextYear","previousYear","firstDayOfPreviousYear","lastDayOfPreviousYear","ne","temp","todayDate","getOnThisDayInputModel","TodayDate","AttachmentCount","GetOnThisDayQuickPosts","onThisday","QuickPostTypeId","MoodId","MoodRatingId","DiaryDate","DiaryTimeFrom","DiaryTimeTo","PostContent","TagCategory","QuickPostDocumentList","dateString","diaryDate","yearsDiff","GetUserQuickPostsCommonSharingControl","FullName","qe","At","commentToggle","Array","commentTogglesharedWithme","GetUserQuickPostList","commentTogglePublic","filteredImage","imagetag","imagefun","names1","parseTags","tagCategory","tag","afterOpened","QuickPostComponent","UploadComponent","cropuploader","files","startsWith","openUploaderModal","uploaderContent","imageCroppedEvent","croppedImage","readAsDataURL","cropuploader2","coverContent","centered","dataURL","filename","mime","match","bstr","u8arr","File","dismissAll","croppedUploader","autoUpload","removeAfterUpload","addToQueue","attachmentlistimage","GetMyAttachments","imageDocs","videoDocs","qn","imagePromises","AttachmentId","videoPromises","To","all","blogAboutMeLoadDataInpurModel","GetAboutMeData","aboutmeData","AboutMeData","loadData","quickpost","addQuickpost","UserQuickPost","addQuickpostAttachment","quickPost","userQuickPosts","QuickPostCreateUpdateInputModel","addQuickPostId","newImagestoUpload","cdnUrls","fetchDocument","cdnUrl","fetch","contentType","pop","fetchDocuments","blogAboutMeCreateInputModel","CreateUpdateAboutMeData","createUrlTree","UserName","Profile","Name","input","UserQuickPostsViewId","CreateUpdatePostView","addressId","commentSection","updateQuickPostComment","likeByMe","UserQuickPostLike","CreateUpdateUserQuickPostLike","likeCounter","LikedByMe","LikesCounter","UserQuickPostsCommentId","Content","CreateUpdateUserQuickPostComment","QuickPostsCommentsList","GetUserQuickPostCommentes","UserQuickPostsCommentLikeId","CreateUpdateUserQuickPostCommentLike","postinternal","RefeshUserQuickPostData","CommentsCounter","SharedCounter","ViewsCounter","QuickPostViewList","i21","TruncatePipe1","RemoveMarginsDirective","el","renderer","tagName","replaceWithPTag","removeStyles","setStyle","pTag","replaceChild","ApplicationType","ActionType","AttachmentType","AchievementType","FamilyType","Language","TimeFormat","DateFormat","RelationType","ValidateUserNameType","TblUserFolders","TblUserFileManagerDocuments","FILEMANAGER","HEADING_LABEL_FILE_MANAGER","LABEL_ADD_FOLDER","LABEL_DELETE_FOLDER","LABEL_SELECT_ALL","LABEL_CHARACTER_COUNT","LABEL_FOLDER_NAME_REQUIRED","LABEL_MAX_CHARACTERS_20","LABEL_CONFIRM","LABEL_CANCEL","LABEL_DELETE","LABEL_VIEW","LABEL_UPDATE","LABEL_PLACEHOLDER","LABEL_CREATE_FOLDER","LABEL_UPDATE_FOLDER","LABEL_TOOLTIP","BLOGS","CONTROL_LABEL_VIEW_PUBLIC_BLOG","LABEL_COVER_PICTURE","LABEL_CROP","LABEL_RESET","LABEL_YOUR_PROFILE_PICTURE","LABEL_DATE_RANGE","LABEL_MONTH","LABEL_FROM_DATE","LABEL_TO_DATE","LABEL_SEARCH","LABEL_ON_THIS_DAY","LABEL_YEARS_AGO","LABEL_STAY_ANONYMOUS","LABEL_YES","LABEL_NO","LABEL_ABOUT_ME","LABEL_JOINED","LABEL_EMAIL_ADDRESS","LABEL_MY_PERSONAL_URL","LABEL_LIVES","LABEL_DIARY_ENTRIES","HomeService","IconsModule","TablerIconsModule","TablerIcons","INSURANCE","CONTROL_LABEL_INSURANCE_TYPE","CONTROL_LABEL_INSURANCE_NAME","CONTROL_LABEL_POLICY_NUMBER","CONTROL_LABEL_CARD_NUMBER","CONTROL_LABEL_INSURANCE_CONTACT_NUMBER","CONTROL_LABEL_POLICY_START_DATE","CONTROL_LABEL_POLICY_EXPIRATION_DATE","DIALOG_TITLE_ADD_INSURANCE","DIALOG_TITLE_EDIT_INSURANCE","ERROR_MESSAGE_REQUIRED_INSURANCE_TYPE","ERROR_MESSAGE_REQUIRED_INSURANCE_NAME","ERROR_MESSAGE_REQUIRED_POLICY_NUMBER","ERROR_MESSAGE_REQUIRED_CARD_NUMBER","ERROR_MESSAGE_REQUIRED_CONTACT_NUMBER","ERROR_MESSAGE_REQUIRED_POLICY_START_DATE","ERROR_MESSAGE_REQUIRED_POLICY_EXPIRATION_DATE","ERROR_MESSAGE_INVALID_CONTACT_NUMBER","PLACEHOLDER_SELECT_INSURANCE_TYPE","PLACEHOLDER_SELECT_INSURANCE_NAME","SECTION_TEXT1","SECTION_TEXT2","SECTION_TEXT3","TAB_HEADING_INSURANCE_DETAILS","TAB_HEADING_UPLOADS","TOOLTIP_TEXT_INSURANCE_TYPE","TOOLTIP_TEXT_INSURANCE_NAME","TOOLTIP_TEXT_POLICY_NUMBER","TOOLTIP_TEXT_CARD_NUMBER","TOOLTIP_TEXT_INSURANCE_CONTACT_NUMBER","TOOLTIP_TEXT_POLICY_START_DATE","TOOLTIP_TEXT_POLICY_EXPIRATION_DATE","TOAST_MESSAGE_INSURANCE_ADDED_SUCCESSFULLY","TOAST_MESSAGE_INSURANCE_UPDATED_SUCCESSFULLY","TblUserInsurances","InsuranceLoadDataOutputModel","_r18","_r20","ctx_r53","ctx_r55","ctx_r58","ctx_r60","ctx_r62","AddInsuranceComponent","addInsurance","changeDetectorRef","InsuranceType","frmInsurance","InsuranceTypeId","InsuranceName","PolicyNumber","CardNumber","ContactNumber","PolicyStartDate","PolicyEndDate","_InsuranceDocument","SelectedCountryISO","GetUserInsuranceLoadData","insuranceLoadDataOutputModel","InsuranceDocumentList","UserInsurance","userInsurance","ContactNumberCountryCode","UserInsuranceId","CreateUpdateUserInsurance","DownloadMyInsuranceDocument","DownloadUserInsuranceDocuments","UserInsuranceDocumentIds","DeleteMyInsuranceDocument","userInsuranceDocumentId","DeleteUserInsuranceDocuments","be","DeleteMyInsurance","detectChanges","i13","AddInsuranceService","ctx_r10","ctx_r12","ctx_r56","ctx_r59","j_r22","_r69","ctx_r77","ctx_r80","ctx_r83","ctx_r96","JobComponent","usernameService","Nn","jn","aboutMeData","paramMap","userName","getPublicProfileDataInputModel","GetPublicProfileData","customizer","getPublicQuickPostsInputModel","GetPublicQuickPosts","PublicQuickPosts","commentToggleYear","it","aboutMeTabExists","getPublicAttachmentsInputModel","GetPublicAttachments","mt","xe","Bn","queryParameter","back","GetUserQuickPostComments","responseData","i6","UsernameService","GetPublicQuickPostsInputModel","BreadcrumbModule","ContentHeaderModule","LegalserviceService","UserLegalModel","LegalDocumentListOutputModel","t","ctx_r30","ctx_r34","ctx_r45","ctx_r61","ctx_r65","ctx_r70","LegalsdocumentComponent","legalservice","sanitizer","An","xt","LEGALS","legalModel","ADD_TITLE","TOOLTIP_TEXT_LEGAL_DOCUMENT_INFORMATION","frmLegal","LegalDocumentName","EDIT_TITLE","legalLoadDataInputModel","UserLegalId","GetUserLegalLoadData","pastmodel","UserLegal","LegalDocumentList","_PastimeDocument","MYPASTIME","TOOLTIP_TEXT_UPLOAD_LEGAL_DOCUMENTS","TOOLTIP_TEXT_UPLOADED_LEGAL_DOCUMENTS_DISPLAY","GetUserLegalDocumentsById","Ct","CreateUpdateUserLegal","UserPastimeId","DeleteMyAchievement","DeleteUserLegal","SWEET_ALERT_CONFIRM_BUTTON_TEXT_UNLINK","docPath","bypassSecurityTrustResourceUrl","deleteInputModel1","DeleteIDs","i17","ctx_r2","CalendarMainSidebarComponent","_calendarService","ee","DiaryJournal","CALENDAR_MAIN","CONTROL_LABEL_ADD_JOURNAL","CONTROL_LABEL_ADD_DIARY","NoosomTypeId","getSidebarRegistry","toggleOpen","toggleEventSidebar","createNewEvent","isMobileScreen","Oe","getEvents","innerWidth","calendarRef","every","calendarUpdate","checkAll","allChecked","res","onCalendarChange","CalendarComponent","changeDetector","headerToolbar","start","end","initialView","viewDidMount","view","dateMode","initialEvents","weekends","editable","eventResizableFromStart","selectable","selectMirror","dayMaxEvents","navLinks","eventClick","handleUpdateEventClick","bind","eventClassNames","eventClass","handleDateSelect","eventsSet","handleEventsSet","s","colorName","Journal_Entry","Diary_Entry","_def","extendedProps","calendar","eventRef","_Id","EditQuickPost","updateCurrentEvent","arg","dateStr","newEvent","EventRef","onCurrentEventChange","userQuickPostID","plan","userCategory","loadQuickPostsdata","bsConfig","containerClass","dateInputFormat","NoosomPlan","datepicker","show","selectedDate","calendarOptions","initialDate","toISOString","calendarComponent","getApi","gotoDate","button","textContent","marginTop","datepickerContainers","bsValue","onDateChange","onEventChange","Object","customButtons","customDatePicker","openDatepicker","calendarContainer","feather","svgIcon","stroke","onShown","addTodayButton","datepickerContainer","description","addGuest","FullCalendarModule","dayGridPlugin","timeGridPlugin","listPlugin","interactionPlugin","routes","CalendarService","CalendarModule","BsDatepickerModule","Ng2FlatpickrModule","NgSelectModule","MatDialogModule","_httpClient","getCalendar","ct","getUserQuickPostsInputModel","ShowAllYN","_list","_event","allDay","_post","tempEvents","p","currentEvent","calendars","calendarsChecked","filteredCalendar","delete","eventForm","selectlabel","postNewEvent","BUTTON_TEXT_ADD_AN_EVENT","CONTROL_LABEL_ADD_A_QUICKPOST","CONTROL_LABEL_ADD_AN_EVENT","CONTROL_LABEL_IMPORT_DATA","CONTROL_LABEL_FILTER","CONTROL_LABEL_VIEW_ALL","CONTROL_LABEL_QUICKPOST","CONTROL_LABEL_LIST_ALL","CHECKOUT","BUTTON_TEXT_APPLY","BUTTON_TEXT_REMOVE","BUTTON_TEXT_PROCEED_TO_BUY","ERROR_MESSAGE_PG_UNDER_MAINTAINANCE","ERROR_MESSAGE_NO_DISCOUNT_FOUND","HEADING_LABEL_CHECKOUT","HEADING_LABEL_NOOSOM_PRIVATE","HEADING_LABEL_STORY_OF_YOUR_LIFE","CONTROL_LABEL_CIN","CONTROL_LABEL_GSTIN","CONTROL_LABEL_DATE","CONTROL_LABEL_INVOICE_TO","CONTROL_LABEL_YOUR_NOOSOM_PLAN","TABLE_HEADER_STORAGE_PLAN","TABLE_HEADER_COST","TABLE_HEADER_STORAGE_IN_GB","TABLE_HEADER_DISCOUNT","TABLE_HEADER_DISCOUNT_AMOUNT","TABLE_HEADER_LINE_TOTAL","EcommerceService","fieldA","fieldB","comparison","onProductListChange","onRelatedProductsChange","onWishlistChange","onCartListChange","onSelectedProductChange","idHandel","getProducts","getWishlist","getCartList","getSelectedProduct","productList","sortProduct","wishlist","cartList","selectedProduct","relatedProducts","sortBy","sortDesc","sortByKey","sortedData","sort","sortRef","reverse","lengthRef","productId","indexRef","wishlistRef","indexId","maxValueId","apply","cart","cartId","qty","cartListRef","toastrSlideY","trigger","transition","keyframes","transform","toastrService","toastPackage","re","Toast","ProfileService","onPricingChanged","getDataTableRows","rows","MEONWEB","BUTTON_TEXT_BUTTON_ADD_NEW_PASTIME","CONTROL_LABEL_ENTRY_NAME","CONTROL_LABEL_DATE_POSTED","CONTROL_LABEL_URL_WEBSITE","CONTROL_LABEL_DESCRIPTION","CONTROL_LABEL_ACTION","CONTROL_LABEL_FIELD_ENTRY_NAME","CONTROL_LABEL_FIELD_DATE_POSTED","CONTROL_LABEL_FIELD_URL_WEBSITE","CONTROL_LABEL_FIELD_DESCRIPTION","CONTROL_LABEL_FIELD_NOTES","CONTROL_LABEL_LEGAL_DOCUMENTS","DIALOG_TITLE_ADD_WEB","ERROR_MESSAGE_ENTRY_NAME_REQUIRED","HEADING_LABEL_ME_ON_WEB","TOOLTIP_TEXT_WEB_TITLE","TOOLTIP_TEXT_WEB_PUBLICATION_DATE","TOOLTIP_TEXT_WEB_URL","TOOLTIP_TEXT_WEB_DESCRIPTION","TOOLTIP_TEXT_WEB_OTHER_INFO","TOOLTIP_TEXT_WEB_ENTRY_INFORMATION","ERROR_MESSAGE_MAX_LENGTH_120","ERROR_MESSAGE_MAX_LENGTH_1000","AWARDS","HEADING_MY_AWARDS","BUTTON_ADD_AN_AWARD","TAB_LINK_TEXT_MY_OWN_FAMILY","TAB_LINK_TEXT_MY_BIRTH_FAMILY","TAB_LINK_TEXT_MY_OTHER_FAMILY","CONTROL_LABEL_LEGAL","TAB_HEADING_LEGAL_DETAILS","TAB_HEADING_DOCUMENT","TAB_HEADING_IMAGES","BUTTON_TEXT_ADD_DOCUMENTS","ERROR_MESSAGE_LEGAL_DOC_NAME","HEADING_MY_LEGALS","SWEET_ALERT_TITLE_PASTIME_TEXT","SWEET_ALERT_TITLE_HOBBY_DOCUMENT_TEXT","SWEET_ALERT_TITLE_ALL_HOBBY_DOCUMENT_TEXT","TOOLTIP_TEXT_TEXT_STYLE","TOOLTIP_TEXT_TEXT_SIZE","TOOLTIP_TEXT_TEXT_COLOUR","TOOLTIP_TEXT_TEXT_ALIGNMENT","TOOLTIP_TEXT_BOLD","TOOLTIP_TEXT_ITALIC","TOOLTIP_TEXT_UNDERLINE","TOOLTIP_TEXT_LINK","TOOLTIP_TEXT_BULLET_LIST","TOOLTIP_TEXT_NUMBERED_LIST","TOOLTIP_TEXT_CLEAR_FORMAT","ctx_r14","ctx_r17","WebEntryComponent","meonWebService","Fn","userWebEntry","UserMeOnWebModel","frmMeonWeb","EntryName","DatePosted","Description","GetMeOnWebById","updateCharacterCount1","updateCharacterCount2","characterCount1","maxChars1","substr","maxChars2","entryname","UserMeOnWebId","CreateUpdateUserMeOnWeb","ye","_r3","MyImageGalleryService","_Obj","sharedData","LifeStoryService","TblUserLifeStory","BUTTON_TEXT_BUTTON_ADD_NEW_HOBBY","CONTROL_LABEL_PASTIME","CONTROL_LABEL_PASTIMES","CONTROL_LABEL_HOBBY","CONTROL_LABEL_HOBBIES","CONTROL_LABEL_FIELD_DATE_FROM","CONTROL_LABEL_FIELD_DATE_TO","CONTROL_LABEL_FIELD_SHORT_DESCRIPTION","CONTROL_LABEL_FIELD_LONG_DESCRIPTION","CONTROL_LABEL_SHORT_DESCRIPTION","CONTROL_LABEL_NAME_OF_PASTIME","CONTROL_LABEL_NAME_OF_HOBBY","DIALOG_TITLE_ADD_PASTIME","DIALOG_TITLE_EDIT_PASTIME","DIALOG_TITLE_ADD_HOBBY","DIALOG_TITLE_EDIT_HOBBY","ERROR_MESSAGE_ATTACHMENT_UPLOADED","ERROR_MESSAGE_PASTIME_REQUIRED","ERROR_MESSAGE_HOBBIES_REQUIRED","ERROR_MESSAGE_MAX_50","SWEET_ALERT_TITLE_HOBBY_TEXT","TAB_HEADING_PASTIME_DETAILS","TAB_HEADING_HOBBY_DETAILS","TAB_LINK_PASTIMES","TAB_LINK_HOBBIES","TOOLTIP_TEXT_PASTIME_INFORMATION","TOOLTIP_TEXT_PASTIME_NOTES","TOOLTIP_TEXT_UPLOAD_DOCUMENTS","TOOLTIP_TEXT_UPLOADED_DOCUMENTS_DISPLAY","TOOLTIP_TEXT_PASTIME_NAME","TOOLTIP_TEXT_PASTIME_DATE_FROM","TOOLTIP_TEXT_PASTIME_DATE_TO","TOOLTIP_TEXT_HOBBIES_NAME","TOOLTIP_TEXT_HOBBIES_DATE_FROM","TOOLTIP_TEXT_HOBBIES_DATE_TO","TOOLTIP_TEXT_HOBBY_INFORMATION","TOOLTIP_TEXT_HOBBY_NOTES","TOOLTIP_TEXT_PASTIME_SHORT_DESCRIPTION","TOOLTIP_TEXT_PASTIME_LONG_DESCRIPTION","_r16","ctx_r23","ctx_r35","ctx_r68","ctx_r79","ctx_r81","MyHobbiesComponent","pastimeServie","Xt","Be","HobbyDocumentListOutputModel","userHobby","UserHobbyModel","frmHobby","DateFrom","DateTo","HobbyName","ShortDescription","LongDescription","hobbyLoadDataInputModel","UserHobbyId","GetUserHobbyLoadData","hobbymodel","UserHobby","HobbyDocumentList","hobby","GetUserHobbyDocumentsById","st","Ut","he","CreateUpdateUserHobby","DeleteUserHobby","MyPastimesComponent","PastimeDocumentListOutputModel","pastimemodel","UserPastimeModel","frmPastime","PastimeName","pastimeLoadDataInputModel","GetUserPastimeLoadData","UserPastime","PastimeDocumentList","pastime","GetUserPastimeDocumentsById","CreateUpdateUserPastime","DeleteUserPastime","PasttimesService","QuickPostLoadDataOutputModel","QuickPostDocumentListOutputModel","QUICKPOST","HEADING_LABEL_ADD_A_QUICKPOST","HEADING_LABEL_EDIT_A_QUICKPOST","HEADING_TEXT","TAB_HEADING_QUICKPOST","TAB_HEADING_TRACKERS","TAB_HEADING_SHARING","TAB_HEADING_IMAGES_AND_VIDEOS","CONTROL_LABEL_TITLE","CONTROL_LABEL_DIARY_DATE","CONTROL_LABEL_DIARY_TIME_FROM","CONTROL_LABEL_DIARY_TIME_TO","CONTROL_LABEL_TO_DATE","CONTROL_LABEL_FROM_DATE","CONTROL_LABEL_MONTH","CONTROL_LABEL_DATE_RANGE","CONTROL_LABEL_LOCATION","CONTROL_LABEL_POST_TYPE","CONTROL_LABEL_EVENT","CONTROL_LABEL_TAG_CATEGORY","CONTROL_LABEL_POST_CONTENT","CONTROL_LABEL_SHARE","CONTROL_LABEL_BROWSE","CONTROL_LABEL_HEADING_SHARED_TO","CONTROL_LABEL_HEADING_ADD_NEW","CONTROL_LABEL_SHAREDYN","CONTROL_LABEL_TYPE","PLACEHOLDER_DATE","PLACEHOLDER_SEARCH_LOCATION_HERE","PLACEHOLDER_SELECT_POST_TYPE","PLACEHOLDER_SELECT_EVENT","PLACEHOLDER_ADD_TAG","PLACEHOLDER_ADD_SELECT_TAG_HERE","HEADING_TEXT_DIARY","HEADING_TEXT_JOURNAL","HEADING_TEXT_PAPERBACKVIEW","SWEET_ALERT_TITLE_QUICKPOST_TEXT","SWEET_ALERT_TITLE_QUICKPOST_IMAGE","SWEET_ALERT_DELETE_TEXT","TOOLTIP_TEXT_BUTTON_EDIT","TOOLTIP_TEXT_BUTTON_LOCATION","TOOLTIP_TEXT_ADD_A_QUICKPOST","TOOLTIP_TEXT_DIARY_DESCRIPTION","TOOLTIP_TEXT_DIARY_DATE_CREATED","TOOLTIP_TEXT_DIARY_START_TIME","TOOLTIP_TEXT_DIARY_END_TIME","TOOLTIP_TEXT_SEARCH_MAP_BUTTON","TOOLTIP_TEXT_DEFAULT_PRIVACY_SETTING","TOOLTIP_TEXT_DIARY_EVENT_LINKING","TOOLTIP_TEXT_TAG_CODE_CATEGORY","TOOLTIP_TEXT_DIARY_DESCRIPTION_EDITOR","BUTTON_TEXT_ADD_A_QUICKPOST","BUTTON_TEXT_SHARE_SAVE_CHANGES","BUTTON_TEXT_DELETE","TOAST_MESSAGE_QUICKPOST_ADDED_SUCCESSFULLY","TOAST_MESSAGE_QUICKPOST_UPDATED_SUCCESSFULLY","TOAST_MESSAGE_QUICKPOST_DELETE_SUCCESSFULLY","ERROR_MESSAGE_REQUIRED_TITLE","ERROR_MESSAGE_REQUIRED_DIARY_DATE","ERROR_MESSAGE_REQUIRED_DIARY_TIME","ERROR_MESSAGE_REQUIRED_DIARY_TIME_TO","ERROR_MESSAGE_REQUIRED_LOCATION","ERROR_MESSAGE_REQUIRED_POST_TYPE","ERROR_MESSAGE_REQUIRED_POST_CONTENT","TRACKERS","HOW_IS_YOUR_MOOD_TEXT","HOW_WOULD_YOU_RATE_TEXT","MOOD_TEXT_HAPPY","MOOD_TEXT_SAD","MOOD_TEXT_ANGRY","MOOD_TEXT_CRYING","MOOD_TEXT_MEH","MOOD_TEXT_EXCITED","MOOD_TEXT_SLEEPY","MOOD_TEXT_LONELY","UPLOAD","TODO","LABEL_ADD_TASK","LABEL_ADD_A_TASK","LABEL_TITLE","LABEL_DUE_DATE","LABEL_DUE_TIME","LABEL_PRIORITY","LABEL_EDIT_TASK","LABEL_DESCRIPTION","LABEL_BUTTON_COMPLETE","LABEL_BUTTON_MARK_COMPLETE","LABEL_BUTTON_MARK_INCOMPLETE","LABEL_BUTTON_MARK_IMPORTANT","LABEL_BUTTON_MARK_UNIMPORTANT","ERROR_MESSAGE_TITLE_REQUIRED","ERROR_MESSAGE_PRIORITY_REQUIRED","ERROR_MESSAGE_DUE_TIME_REQUIRED","ERROR_MESSAGE_DUE_DATE_REQUIRED","ERROR_MESSAGE_DESCRIPTION_REQUIRED","ctx_r33","clear_r36","modal_r40","ctx_r71","ctx_r73","ctx_r90","ctx_r93","ctx_r95","ctx_r98","modal_r83","ctx_r114","ctx_r119","ctx_r123","ctx_r137","ctx_r139","ctx_r140","ctx_r156","ctx_r165","ctx_r169","ctx_r171","ctx_r174","ctx_r177","ctx_r181","ctx_r183","datepipe","elementRef","timeservice","GetCurrentLocaleDateTime","hour","CurrentDateTime","minute","Mn","bo","term","customTags","btnNameJorD","DiaryOrJournal","timeformat1","txtTitle","html","frmQuickpost","customTagNames","customTagselected","onWhenAddingFileFailed","errorMessage","_QuickPostDocument","nn","quickpostLoadDataOutputModel","Zt","_diaryTimefrom","_diaryTimeto","MoodRatingList","mood","AddMoodRating","IconPath","MoodRatingName","OrderSequence","MoodList","AddMoodList","EmotionPath","MoodName","Rating","filteredMoodList","MoodItem","_postContent","modid","rateingsid","postTypeValidation","QuickPostTypeList","mergeQuickPostTypes","QuickPostTypeName","_private","onLoadConnectionList","newDropDown","action","openFriendFamilyDialog","GetUserQuickPostDocumentsById","ze","quickPostTypes","postType","j","isEligible","addGridColumns","connectionGrid","spinnerTPtime","spinnerTftime","getTracker","getRating","_tags","shareFromGrid","timefrom","timeto","userQuickPostDocumentID","DeleteQuickPostDocument","UserQuickPostDocumentIds","UserQuickpostDocument","userQuickPostDocumentId","Ue","subDeleteQuickPostAtt$","Le","subDownloadQuickpostAtt$","sequence","rating","moodpath","moodid","moodname","moodorder","moodrating","order","Ratings","_name","_order","_moodid","setTracker","setRating","preventDefault","activeItem","pn","DeleteThisQuickPost","PlaceholderQuickPost","_model","selectedText","showUpgradeAlert","combinedUserDetailsIds","selectAllFriends","selectAllFamily","reason","ModalDismissReasons","selected","filteredFriendsList","filteredFamilyList","searchTerm","lowerCaseSearchTerm","UserFriendFullName","UserFamilyMemberFullName","from","Set","folderId","folder","checkbox","family","tt","initializeCheckboxesFromSharedData","userShareInputModel","UsersQuickPostSharingID","SharedToUserDetailsIDs","CreateUpdateUserQuickPostShare","sharedToUserDetailsIDs","updateCheckboxes","userQuickPostConnectionsInputModel","meonWebListRows","APIInputParameterUserDetailID","textareaRef","MeonWebGridcolumnDefs","headerName","field","minWidth","cellRenderer","onCheckboxChangeGrid","tooltipField","Ke","QuickPostService","of","tracker","moodId","clear_r29","_r13","ctx_r41","ctx_r63","ctx_r66","modal_r56","ctx_r92","ctx_r111","ctx_r142","ctx_r145","ctx_r148","thumbNail","vimeoThumbnail","pt","Wn","currentUrls","uploadDocumentsFromCDN","clearUrls","$","fe","_n","Moods","MoodsRating","customTagselected1","newGalleryItems","i18","QuickpostlistService","SCHOOL","DIALOG_TITLE_ADD_SCHOOL","DIALOG_TITLE_EDIT_SCHOOL","TOOLTIP_TEXT_BUTTON_ADD_A_SCHOOL","TOOLTIP_TEXT_EDUCATIONAL_INSTITUTION_NAME","TOOLTIP_TEXT_DEGREE_COMPLETED","CONTROL_LABEL_SCHOOL_NAME","CONTROL_LABEL_EDUCATION_RECEIVED","TOAST_MESSAGE_SCHOOL_ADDED_SUCCESSFULLY","TOAST_MESSAGE_SCHOOL_UPDATED_SUCCESSFULLY","ERROR_MESSAGE_REQUIRED_SCHOOL_NAME","ERROR_MESSAGE_REQUIRED_EDUCATION_RECEIVED","BUTTON_TEXT_ADD_A_SCHOOL","_r28","ctx_r54","_r30","AddSchoolComponent","SchoolLoadDataOutputModel","SchoolDocumentListOutputModel","Q","userSchool","TblUserSchools","frmSchool","SchoolName","EducationReceived","CurrentSchoolYn","SchoolFromDate","SchoolToDate","schoolLoadDataOutputModel$","schoolLoadDataOutputModel","SchoolDocumentList","UserSchool","_SchoolDocument","GetUserSchoolDocumentsById","UserSchoolId","subSaveSchool$","DownloadMySchoolDocument","subDownloadSchoolAtt$","DeleteMySchool","subDeleteSchool$","UserSchoolDocumentIds","DeleteMySchoolDocument","userschoolDocumentId","UserSchoolDocument","J","subDeleteSchoolAtt$","Ce","TimezoneService","moment","meridiem","selectedTimeZoneOffset","_moment","getCurrentTime","GetCurrentLocaleDateTimedefault","toUTCString","getFormattedCurrentTime","offsetHours","offsetMinutes","abs","padStart","displayName","offset","extractOffset","timezonevalue","ctx_r8","filemanagerService","toastr","webSocketService","getImageUrl","uploadUrl","downloadUrl","visible","items","targetId","dropArea","enableDrag","enableDrop","ft","downloadDocument2","registerLicense","folders","dateCreated","dateModified","filterPath","hasChild","isFile","parentId","loadUserFolderData","fileData","manualUpload","De","GetUserFolderById","GetUserFolderData","backFlag","attachmentlist","defaultFolder","UserFolderListData","UserFolderName","calculateTotalSizeInBytes","unshift","totalSize","SizeInBytes","fileDetails","UserFolderId","currentPath","paneYn","toolbarSettings","properties","cancel","selectedFolderIds","OnMultipleFolderDeleteClick","fileManagerObj","getSelectedFiles","selectedUploadIds","unselectAllFiles","GetUserFilesByFolderId","loadLightGallery","ie","extractType","geturl","extension","clearSelection","ajaxSettings","beforeSend","xhr","setRequestHeader","RequestMessageString","openGallery","refreshFiles","root","DeleteMultipleFolder","deleteInput","DeleteUserFolder","popupName","folderName","CreateUpdateUserFolder","update","newName","filemanagerinputmodel","ActiveYn","documentLinked","DocumentIds","CreateUpdateDocumentLinks","UserProfileService","changePasswordInputModel","updateProfileDetailsModel","changeEmailAddressInputModel","verifyEmailAddressInputModel","changeMobileNumberInputModel","verifyMobileNumberInputModel","userBillingAddressLoadDataInputModel","tblUserBillingAddress","_UserDetailsId","deleteMyAccountInputModel","String","Boolean","getSeconds","DateOnly","utcOffset","toJSON","TimeOnly","hours","minutes","seconds","_time","time","environment","production","hmr","apiUrl","accountSettingsFakeData","A","accountSetting","general","avatar","username","email","company","bio","dob","country","website","phone","social","socialLinks","twitter","facebook","linkedIn","instagram","quora","connections","profileImg","github","notification","commentOnArticle","AnswerOnForm","followMe","newAnnouncements","productUpdates","blogDigest","BlogFakeData","blogList","img","blogPosted","tags","blogText","comment","blogSidebar","recentPosts","postedAt","categories","category","blogDetail","blog","comments","bookmarked","commentedAt","commentText","blogEdit","blogTitle","blogCategories","slug","featuredImage","CalendarFakeData","CardAnalyticsData","supportTracker","series","analyticsData","tickets","newTickets","openTickets","responseTime","avgSessions","vsLastSevenDays","goal","goalProgressbar","retention","retentionProgressbar","users","usersProgressbar","duration","durationProgressbar","revenueReport","earningExpenseChart","budgetChart","currentBudget","totalBudget","goalOverview","completed","inProgress","revenue","thisMonth","lastMonth","salesLastSixMonths","sales","totalSales","productOrders","finished","pending","rejected","sessionsByDevice","desktop","desktopPercentage","changePercentage","mobile","mobilePercentage","tablet","tabletPercentage","customers","new","returning","referrals","earnings","CardStatisticsData","ordersChart","orders","profitChart","profit","statistics","products","views","bookmarks","reviews","returns","cpuUsage","memoryUsage","downtimeRation","issuesFound","subscribers_gained","subscribers","revenueGenerated","quarterlySales","ordersRecevied","siteTraffic","activeUsers","newsletter","ChatWidgetFakeData","userProfile","role","about","isTwoStepAuthVerificationEnabled","isNotificationsOn","chatUser","chats","userId","unseenMsgs","chat","senderId","ChatFakeData","DashboardFakeData","DatatableFakeData","responsive_id","full_name","city","start_date","salary","age","experience","EcommerceFakeData","brand","price","image","hasFreeShipping","EmailFakeData","to","subject","cc","bcc","attachments","isStarred","labels","replies","isRead","FAQFakeData","payment","subtitle","qandA","question","ans","delivery","cancellationReturn","myOrders","productServices","InvoiceFakeData","issuedDate","client","companyEmail","contact","service","total","invoiceStatus","balance","dueDate","KBFakeData","knowledgeBase","desc","categoryData","questions","questionData","lastUpdated","relatedQuestions","NotificationsFakeData","messages","heading","systemMessages","system","PricingFakeData","pricing","basicPlan","monthlyPrice","yearlyPlan","perMonth","totalAnual","planBenefits","popular","standardPlan","enterprisePlan","ProfileFakeData","profileData","header","designation","coverImg","userAbout","joined","lives","suggestedPages","favorite","twitterFeeds","imgUrl","postTime","postText","postImg","likes","youLiked","share","likedUsers","likedCount","detailedComments","commentsLikes","postVid","latestPhotos","suggestions","mutualFriend","polls","votedUser","SearchFakeData","groupTitle","searchLimit","bookmarkLimit","isBookmarked","by","TodoFakeData","assignee","deleted","important","UsersFakeData","currentPlan","FakeDbService","C","CoreModule","parentModule","ngModule","providers","w","appName","appTitle","appLogoImage","background","customBackgroundColor","scrollTop","buyNow","encrDecrService","children","openInNewTab","MENU","DASHBOARD","COLLAPSIBLE","BADGE","ANALYTICS","ECOMMERCE","APPS","SECTION","EMAIL","CHAT","CALENDAR","HOME","ABOUT_ME","CALENDAR_VIEW","ALL_DIARY_ENTRIES","ALL_JOURNAL_ENTRIES","DIARY_VIEW","JOURNAL_VIEW","PAPERBACK_VIEW","ME_ON_WEB","MY_DIARY_PLANNER","MY_BLOG","SHARED","MY_PASTIMES","MY_LIFE_STORY","MY_IMAGE_GALLERY","MY_IMAGE_GALLERY_SUB","MY_LEGALS","MY_JOURNEY_ON_MAP","HEADING_MY_LISTS","HEADING_MY_ACHIEVEMENT","HEADING_MY_JOBS","HEADING_MY_FAMILIES","HEADING_MY_FRIENDS","UTILITIES","PREMIUM","INVOICE","LIST","PREVIEW","EDIT","ADD","SHOP","DETAIL","WISHLIST","USER","VIEW","PAGES","AUTH","LOGIN1","LOGIN2","REGISTER1","REGISTER2","FORGOTPASSWORD1","FORGOTPASSWORD2","RESETPASSWORD1","RESETPASSWORD2","ACCOUNTSETTINGS","PROFILE","FAQ","KB","PRICING","BLOG","DETAILS","MAIL","WELCOME","RESET","VERIFY","DEACTIVATE","PROMOTIONAL","MISC","COMINGSOON","NOTAUTH","MAINTENANCE","ERROR","UI","TYPOGRAPHY","COLORS","FEATHER","CARDS","BASIC","ADVANCE","STATISTICS","ACTIONS","COMPONENTS","ALERTS","AVATAR","BADGES","BREADCRUMBS","BUTTONS","CAROUSEL","COLLAPSE","DIVIDER","DROPDOWNS","GROUP","OBJECTS","MODALS","COMPONENT","PAGINATION","PBADGES","PILLS","POPOVERS","PROGRESS","RATINGS","SPINNER","TABS","TIMELINE","TOASTS","TOOLTIPS","EX","SWEET_ALERTS","BLOCKUI","TOASTER","SLIDER","DRAGDROP","TOUR","CLIPBOARD","MEDIAPLAYER","CONTEXTMENU","SWIPER","TREEVIEW","I18N","LAYOUTS","COLLAPSED_MENU","BOXED_LAYOUT","WITHOUT_MENU","LAYOUT_EMPTY","LAYOUT_BLANK","FT","ELEMENT","INPUT","INPUTGROUPS","INPUTMASK","TEXTAREA","CHECKBOX","RADIO","SWITCH","SELECT","NUMBERINPUT","FILEUPLOADER","QUILLEDITOR","FLATPICKER","DATETIMEPICKER","WIZARD","VALIDATION","REPEATER","TABLE","DATATABLES","CM","CHARTS","APEX","CHARTJS","MAPS","OTHERS","LEVELS","SECOND","SECOND1","THIRD","THIRD1","DISABLED","DOCUMENTATION","SUPPORT","CoreMenuService","K","onItemCollapsed","onItemCollapseToggled","_currentMenuKey","_onMenuRegistered","_onMenuUnregistered","_onMenuChanged","getMenu","fadeInLeft","query","paddingRight","paddingLeft","optional","animateChild","zoomIn","fadeIn","ContentComponent","outlet","activatedRouteData","O","CONTROL_LABEL_VERSION","CONTROL_LABEL_UPDATED_ON","CONTROL_LABEL_SUPPORT","CONTROL_LABEL_FEEDBACK","CONTROL_LABEL_MY_CART","CONTROL_LABEL_ITEMS","CONTROL_LABEL_CHECKOUT","TOOLTIP_TEXT_BUTTON_VERSION","TOOLTIP_TEXT_BUTTON_UPDATED_ON","TOOLTIP_TEXT_BUTTON_SUPPORT","TOOLTIP_TEXT_BUTTON_FEEDBACK","TOOLTIP_TEXT_LANGUAGE","TOOLTIP_TEXT_TOGGLE_SKIN","TOOLTIP_TEXT_NOTIFICATION","TOOLTIP_TEXT_CART","TOOLTIP_TEXT_MANAGER","TOOLTIP_TEXT_USER","ADD_JOURNAL_ENTRY","ADD_DIARY_ENTRY","NAVBAR","CONTROL_LABEL_MY_NOOSOM_PROFILE","CONTROL_LABEL_SETTINGS","CONTROL_LABEL_PRICING","CONTROL_LABEL_GIVE_FEEDBACK","CONTROL_LABEL_LOGOUT","SearchService","onApiDataChange","onIsBookmarkOpenChange","getSearchData","apiData","NavbarSearchComponent","router","_searchService","Ln","Eo","Co","additionalIds","dropdown","isNaN","specificKeys","selectAllEnums","setupSearchListener","removeOverlay","openSearchRef","searchText","activeIndex","pageSearchLimit","isDropdownOpen","enumValue","All","clearAllEnums","selectedEnums","keyCode","prevActiveMatch","nextActiveMatch","_pageListElement","getElementsByClassName","_inputElement","searchSubject","callSearchAPI","SearchString","NoosomPlanID","GlobalSearch","carousel","TableName","UserAddressID","UserSchoolID","UserInsuranceID","UserHealthProviderID","UserMedicationID","UserVaccinationID","UserAwardID","UserAchievementID","UserJobID","UserFriendID","UserFamilyMemberID","AddQuickPost1","UserMeOnWebID","UserPastimeID","UserHobbyID","UserLegalID","openLightGallery","openDialogTrackerComponent","panelClass","pages","contacts","je","DocumentID","Gn","lastItem","ReplacePipe","FormatTableNamePipe","i15","searchValue","replaceValue","formatted","completeWords","ellipsis","lastIndexOf","ctx_r3","NavbarBookmarkComponent","zn","openBookmarkRef","bookmarkText","nodeName","object","bookmarkedItems","bookmarkSearchLimit","removeBookmark","addBookmark","openBookmark","closeBookmark","_bookmarkElement","indexArray","tooltiptranslate","openDialogs","autoSuggestion","NavbarCartComponent","_ecommerceService","product","isInCart","removeFromCart","storagePlan","storagePlanData","NoosomPricingPlanId","storagePlanParam","storageData","noosomPlan","noosomPlanData","noosomPlanParam","planData","totalAmount","BasePricePerYear","currencySymbol","CurrencySymbol","NotificationsService","getNotificationsData","Ft","NavbarNotificationComponent","_notificationsService","messagingService","ao","notifications","getnotification","model","connectionType","Ot","UserConnectionRequestId","receiverUserDetailsId","getUserRelationByType","setCreateUpdateFamily","setCreateUpdateFriend","un","updateConnection","relation","requestData","relationType","friendFamilydata","UserFriendFirstName","UserFriendLastName","UserFamilyMemberFirstName","UserFamilyMemberLastName","UserFamilyMemberType","NavbarComponent","ro","languageOptions","en","flag","fr","gj","hn","pageYOffset","documentElement","windowScrolled","language","selectedLanguage","use","setConfig","currentSkin","prevSkin","horizontalMenu","hiddenMenu","isFixed","isFixedTop","currentLang","CustomFilterPipe","array","CurrentVersionOutputModel","CoreMenuVerticalSectionComponent","CoreMenuVerticalItemComponent","entries","M","tablerIcons","CoreMenuVerticalCollapsibleComponent","_coreMenuService","confirmUrlInChildren","urlAfterRedirects","onMenuChanged","clickedItem","confirmItemInChildren","isOpen","parent","child","rn","encapsulation","CoreMenuHorizontalItemComponent","CoreMenuHorizontalCollapsibleComponent","isShow","setSubMenuProp","nativeElementChildren","contains","innerHeight","dropdownTop","getBoundingClientRect","dropdownLeft","dropdownWidth","scrollWidth","scrollHeight","setAttribute","CoreMenuComponent1","getCurrentMenu","VerticalMenuComponent","_encrDecrService","isCollapsed","directiveRef","scrollToElement","currentVersionOutputModel","isScrolled","PerfectScrollbarDirective","HorizontalMenuComponent","MenuComponent","_menuType","menuType","ScrollTopComponent","topOffset","currentScroll","requestAnimationFrame","smoothscroll","scrollTo","FooterComponent","VerticalLayoutComponent","adjustAppContentPadding","appContentElement","RendererStyleFlags2","HorizontalLayoutComponent","ctx_r11","ThemeCustomiserComponent","FormControl","valueChanges","_resetFormValues","navbarColor","navbarColorValue","Xo","AppComponent","_coreLoadingScreenService","homeservice","_globalService","performance","getEntriesByType","register","setCurrentMenu","addLangs","setDefaultLang","menuEnglish","menuFrench","menuGerman","menuPortuguese","menuHindi","pageReloaded","tabCount","loadUserFromDetailsId","removeAttribute","loadingSubscription","newUser","mergedUser","hasOwnProperty","userDetailsInputModel","GetUserDetails","toPromise","mergeUsers","updatedUser","CustomBreakPointsProvider","BREAKPOINT","alias","overlapping","mediaQuery","suffix","NavbarModule","LightgalleryModule","ContentModule","CoreMenuModulenew","VerticalMenuModule","HorizontalMenuModule","MenuModule","FooterModule","VerticalLayoutModule","HorizontalLayoutModule","LayoutModule","disableDefaultBps","ThemeCustomiserModule","appRoutes","loadChildren","m","AboutMeModule","canActivate","BlogModule","DiaryModule","HomeModule","ImportDataModule","PlannerEventsModule","QuickpostListModule","JobsModule","MylistModule","UserProfileModule","MyImageGalleryModule","UserSettingsModule","FilemanagerModule","SyncFileManagerModule","AddressModule","SchoolModule","PaperbackViewModule","AppsModule","PagesModule","ExperimentsModule","ExtensionsModule","MypastimesModule","MyLifeStoryModule","MeOnWebModule","LegalsModule","DiaryViewModule","AngularMapModule","QuickPostModule","ToDoListModule","InsuranceModule","TestAPIModule","redirectTo","pathMatch","TranslateHttpLoader","AppModule","bootstrap","DatePipe","HTTP_INTERCEPTORS","useClass","BrowserModule","BrowserAnimationsModule","FileManagerAllModule","HttpClientModule","HttpModule","HttpClientInMemoryWebApiModule","delay","passThruUnknownUrl","scrollPositionRestoration","relativeLinkResolution","anchorScrolling","ToastrModule","loader","TranslateLoader","useFactory","HttpLoaderFactory","deps","HttpClient","ContextMenuModule","AgGridModule","QuillModule","NgxLoadingModule","animationType","ngxLoadingAnimationTypes","enableProdMode","__NgCli_bootstrap_1","bootstrapModule","registration","H","Nt"],"sourceRoot":"webpack:///","sources":["./src/@core/common.module.ts","./src/@core/components/card-snippet/card-snippet.module.ts","./src/@core/components/core-sidebar/core-sidebar.component.ts","./src/@core/components/core-sidebar/core-sidebar.component.html","./src/@core/components/core-sidebar/core-sidebar.module.ts","./src/@core/components/core-sidebar/core-sidebar.service.ts","./src/@core/components/core-touchspin/core-touchspin.module.ts","./src/@core/components/core-menu/vertical/collapsible/collapsible.component.ts","./src/@core/components/core-menu/core-menu.module.ts","./src/@core/components/theme-customizer/theme-customizer.module.ts","./src/@core/directives/core-feather-icons/core-feather-icons.ts","./src/@core/directives/core-ripple-effect/core-ripple-effect.directive.ts","./src/@core/directives/directives.ts","./src/@core/pipes/initials.pipe.ts","./src/@core/pipes/pipes.module.ts","./src/@core/services/config.service.ts","./src/@core/services/loading-screen.service.ts","./src/@core/services/media.service.ts","./src/@core/services/translation.service.ts","./src/app/Classes/constant.ts","./src/app/CustomComponents/grid-view/i18n/de.ts","./src/app/CustomComponents/grid-view/i18n/en.ts","./src/app/CustomComponents/grid-view/i18n/fr.ts","./src/app/CustomComponents/grid-view/i18n/gj.ts","./src/app/CustomComponents/grid-view/i18n/hn.ts","./src/app/CustomComponents/grid-view/i18n/pt.ts","./src/app/CustomComponents/grid-view/newgirdview/newgirdview.component.html","./src/app/CustomComponents/grid-view/newgirdview/newgirdview.component.ts","./src/app/CustomComponents/text-box/text-box.component.html","./src/app/CustomComponents/text-box/text-box.component.ts","./src/app/Logins/account-model.ts","./src/app/Logins/i18n/de.ts","./src/app/Logins/i18n/en.ts","./src/app/Logins/i18n/fr.ts","./src/app/Logins/i18n/gj.ts","./src/app/Logins/i18n/hn.ts","./src/app/Logins/i18n/pt.ts","./src/app/Models/output-model.ts","./src/app/Services/custom-toastr.service.ts","./src/app/Services/encr-decr.service.ts","./src/app/Services/general.service.ts","./src/app/Services/global.service.ts","./src/app/Services/loading-screen.service.ts","./src/app/firebase-config.ts","./src/app/Services/messaging.service.ts","./src/app/Services/web-socket.service.ts","./src/app/about-me/about-me-model.model.ts","./src/app/about-me/award/award.service.ts","./src/app/about-me/award/award.component.html","./src/app/about-me/award/award.component.ts","./src/app/about-me/friends/friends.component.html","./src/app/about-me/friends/friends.component.ts","./src/app/about-me/friends/friends.service.ts","./src/app/about-me/i18n/de.ts","./src/app/about-me/i18n/en.ts","./src/app/about-me/i18n/fr.ts","./src/app/about-me/i18n/gj.ts","./src/app/about-me/i18n/hn.ts","./src/app/about-me/i18n/pt.ts","./src/app/about-me/jobs/jobs.component.html","./src/app/about-me/jobs/jobs.component.ts","./src/app/about-me/jobs/jobs.service.ts","./src/app/about-me/my-achievement/my-achievement.service.ts","./src/app/about-me/my-achievement/my-achievement.component.html","./src/app/about-me/my-achievement/my-achievement.component.ts","./src/app/about-me/my-medication/my-medication.service.ts","./src/app/about-me/my-medication/my-medication.component.html","./src/app/about-me/my-medication/my-medication.component.ts","./src/app/about-me/my-vaccination/vaccination.service.ts","./src/app/about-me/my-vaccination/my-vaccination.component.html","./src/app/about-me/my-vaccination/my-vaccination.component.ts","./src/app/about-me/own-family/own-family.component.html","./src/app/about-me/own-family/own-family.component.ts","./src/app/about-me/own-family/own-family.service.ts","./src/app/about-me/professional/add-professional/i18n/en.ts","./src/app/about-me/professional/add-professional/i18n/fr.ts","./src/app/about-me/professional/add-professional/i18n/de.ts","./src/app/about-me/professional/add-professional/i18n/pt.ts","./src/app/about-me/professional/add-professional/i18n/gj.ts","./src/app/about-me/professional/add-professional/i18n/hn.ts","./src/app/about-me/professional/add-professional/add-professional.service.ts","./src/app/about-me/professional/add-professional/add-professional.component.html","./src/app/about-me/professional/add-professional/add-professional.component.ts","./src/app/address/add-address/add-address.component.ts","./src/app/address/add-address/add-address.component.html","./src/app/address/address-model.model.ts","./src/app/address/i18n/de.ts","./src/app/address/i18n/en.ts","./src/app/address/i18n/fr.ts","./src/app/address/i18n/gj.ts","./src/app/address/i18n/hn.ts","./src/app/address/i18n/pt.ts","./src/app/address/map-address/map-address-data-model.model.ts","./src/app/address/map-address/map-address.component.ts","./src/app/address/map-address/map-address.component.html","./src/app/auth/helpers/auth.guards.ts","./src/app/auth/helpers/error.interceptor.ts","./src/app/auth/models/user.ts","./src/app/auth/models/role.ts","./src/app/Services/inactivity-service.service.ts","./src/app/auth/service/authentication.service.ts","./src/app/auth/service/user.service.ts","./src/app/home/home-model.model.ts","./src/app/Services/tab-state-service.service.ts","./src/app/blog/blog/blog.component.ts","./src/app/blog/blog/blog.component.html","./src/app/blog/blog/remove-margins.directive.ts","./src/app/enums.ts","./src/app/filemanager/filemanagermodel.model.ts","./src/app/filemanager/i18n/de.ts","./src/app/filemanager/i18n/en.ts","./src/app/filemanager/i18n/fr.ts","./src/app/filemanager/i18n/gj.ts","./src/app/filemanager/i18n/hn.ts","./src/app/filemanager/i18n/pt.ts","./src/app/home/home/home.service.ts","./src/app/icons/icons.module.ts","./src/app/insurance/add-insurance/i18n/en.ts","./src/app/insurance/add-insurance/i18n/fr.ts","./src/app/insurance/add-insurance/i18n/de.ts","./src/app/insurance/add-insurance/i18n/pt.ts","./src/app/insurance/add-insurance/i18n/gj.ts","./src/app/insurance/add-insurance/i18n/hn.ts","./src/app/insurance/add-insurance/insurance.model.ts","./src/app/insurance/add-insurance/add-insurance.component.ts","./src/app/insurance/add-insurance/add-insurance.component.html","./src/app/insurance/add-insurance/add-insurance.service.ts","./src/app/jobs/job/remove-margins.directive.ts","./src/app/jobs/job/job.component.ts","./src/app/jobs/job/job.component.html","./src/app/jobs/username.service.ts","./src/app/layout/components/content-header/breadcrumb/breadcrumb.module.ts","./src/app/layout/components/content-header/content-header.module.ts","./src/app/legals/legals/legalservice.service.ts","./src/app/legals/legals/legalmodel.model.ts","./src/app/legals/legalsdocument/legalsdocument.component.ts","./src/app/legals/legalsdocument/legalsdocument.component.html","./src/app/main/apps/calendar/calendar-sidebar/calendar-main-sidebar/calendar-main-sidebar.component.html","./src/app/main/apps/calendar/calendar-sidebar/calendar-main-sidebar/calendar-main-sidebar.component.ts","./src/app/main/apps/calendar/calendar.component.ts","./src/app/main/apps/calendar/calendar.component.html","./src/app/main/apps/calendar/calendar.model.ts","./src/app/main/apps/calendar/calendar.module.ts","./src/app/main/apps/calendar/calendar.service.ts","./src/app/main/apps/calendar/i18n/de.ts","./src/app/main/apps/calendar/i18n/en.ts","./src/app/main/apps/calendar/i18n/fr.ts","./src/app/main/apps/calendar/i18n/gj.ts","./src/app/main/apps/calendar/i18n/hn.ts","./src/app/main/apps/calendar/i18n/pt.ts","./src/app/main/apps/ecommerce/ecommerce.service.ts","./src/app/main/extensions/toastr/custom-toastr/custom-toastr.animation.ts","./src/app/main/extensions/toastr/custom-toastr/custom-toastr.component.html","./src/app/main/extensions/toastr/custom-toastr/custom-toastr.component.ts","./src/app/main/pages/profile/profile.service.ts","./src/app/me-on-web/i18n/de.ts","./src/app/me-on-web/i18n/en.ts","./src/app/me-on-web/i18n/fr.ts","./src/app/me-on-web/i18n/gj.ts","./src/app/me-on-web/i18n/hn.ts","./src/app/me-on-web/i18n/pt.ts","./src/app/me-on-web/web-entry/web-entry.component.html","./src/app/me-on-web/web-entry/web-entry.component.ts","./src/app/my-image-gallery/my-image-gallery.service.ts","./src/app/my-life-story/life-story.service.ts","./src/app/my-life-story/life-story/lifestory.model.ts","./src/app/mypastimes/i18n/de.ts","./src/app/mypastimes/i18n/en.ts","./src/app/mypastimes/i18n/fr.ts","./src/app/mypastimes/i18n/gj.ts","./src/app/mypastimes/i18n/hn.ts","./src/app/mypastimes/i18n/pt.ts","./src/app/mypastimes/my-hobbies/my-hobbies.component.ts","./src/app/mypastimes/my-hobbies/my-hobbies.component.html","./src/app/mypastimes/my-pastimes/my-pastimes.component.ts","./src/app/mypastimes/my-pastimes/my-pastimes.component.html","./src/app/mypastimes/pastime-model.model.ts","./src/app/mypastimes/pasttimes.service.ts","./src/app/quick-post/quick-post-model.model.ts","./src/app/quick-post/quick-post/i18n/de.ts","./src/app/quick-post/quick-post/i18n/en.ts","./src/app/quick-post/quick-post/i18n/fr.ts","./src/app/quick-post/quick-post/i18n/gj.ts","./src/app/quick-post/quick-post/i18n/hn.ts","./src/app/quick-post/quick-post/i18n/pt.ts","./src/app/quick-post/quick-post/quick-post.component.ts","./src/app/quick-post/quick-post/quick-post.component.html","./src/app/quick-post/quick-post/quick-post.service.ts","./src/app/quick-post/upload/upload.component.ts","./src/app/quick-post/upload/upload.component.html","./src/app/quickpost-list/quickpostlist.service.ts","./src/app/school/i18n/en.ts","./src/app/school/i18n/fr.ts","./src/app/school/i18n/de.ts","./src/app/school/i18n/pt.ts","./src/app/school/i18n/gj.ts","./src/app/school/i18n/hn.ts","./src/app/school/add-school/add-school.component.ts","./src/app/school/add-school/add-school.component.html","./src/app/school/school-model.model.ts","./src/app/servicetest/timezone.service.ts","./src/app/sync-file-manager/select-sync-file-manager/select-sync-file-manager.component.ts","./src/app/sync-file-manager/select-sync-file-manager/select-sync-file-manager.component.html","./src/app/user-profile/user-profile.service.ts","./src/assets/extensions/extensions.ts","./src/environments/environment.prod.ts","./src/@fake-db/account-settings.data.ts","./src/@fake-db/blog.data.ts","./src/@fake-db/calendar.data.ts","./src/@fake-db/card-analytics.data.ts","./src/@fake-db/card-statistics.data.ts","./src/@fake-db/chat-widget.data.ts","./src/@fake-db/chat.data.ts","./src/@fake-db/dashboard.data.ts","./src/@fake-db/datatables.ts","./src/@fake-db/ecommerce.data.ts","./src/@fake-db/email.data.ts","./src/@fake-db/faq.data.ts","./src/@fake-db/invoice.data.ts","./src/@fake-db/knowledge-base.data.ts","./src/@fake-db/notifications.data.ts","./src/@fake-db/pricing.data.ts","./src/@fake-db/profile.data.ts","./src/@fake-db/search.data.ts","./src/@fake-db/todo.data.ts","./src/@fake-db/users.data.ts","./src/@fake-db/fake-db.service.ts","./src/@core/core.module.ts","./src/app/app-config.ts","./src/app/menu/menu.ts","./src/app/menu/i18n/en.ts","./src/app/menu/i18n/hn.ts","./src/app/menu/i18n/fr.ts","./src/app/menu/i18n/de.ts","./src/app/menu/i18n/pt.ts","./src/app/core-menu/core-menu.service.ts","./src/@core/animations/core.animation.ts","./src/app/layout/components/content/content.component.ts","./src/app/layout/components/content/content.component.html","./src/app/layout/components/menu/i18n/en.ts","./src/app/layout/components/menu/i18n/fr.ts","./src/app/layout/components/menu/i18n/de.ts","./src/app/layout/components/menu/i18n/pt.ts","./src/app/layout/components/menu/i18n/gj.ts","./src/app/layout/components/menu/i18n/hn.ts","./src/app/layout/components/navbar/navbar-search/search.service.ts","./src/app/layout/components/navbar/navbar-search/navbar-search.component.ts","./src/app/layout/components/navbar/navbar-search/navbar-search.component.html","./src/app/layout/components/navbar/navbar-bookmark/navbar-bookmark.component.html","./src/app/layout/components/navbar/navbar-bookmark/navbar-bookmark.component.ts","./src/app/layout/components/navbar/navbar-cart/navbar-cart.component.html","./src/app/layout/components/navbar/navbar-cart/navbar-cart.component.ts","./src/app/layout/components/navbar/navbar-notification/notifications.service.ts","./src/app/layout/components/navbar/navbar-notification/navbar-notification.component.ts","./src/app/layout/components/navbar/navbar-notification/navbar-notification.component.html","./src/app/layout/components/navbar/navbar.component.ts","./src/app/layout/components/navbar/navbar.component.html","./src/app/Models/version-history-model.model.ts","./src/app/core-menu/vertical/section/section.component.html","./src/app/core-menu/vertical/section/section.component.ts","./src/app/core-menu/vertical/item/item.component.html","./src/app/core-menu/vertical/item/item.component.ts","./src/app/core-menu/vertical/collapsible/collapsible.component.html","./src/app/core-menu/vertical/collapsible/collapsible.component.ts","./src/app/core-menu/horizontal/item/item.component.html","./src/app/core-menu/horizontal/item/item.component.ts","./src/app/core-menu/horizontal/collapsible/collapsible.component.html","./src/app/core-menu/horizontal/collapsible/collapsible.component.ts","./src/app/core-menu/core-menu.component.html","./src/app/core-menu/core-menu.component.ts","./src/app/layout/components/menu/vertical-menu/vertical-menu.component.html","./src/app/layout/components/menu/vertical-menu/vertical-menu.component.ts","./src/app/layout/components/menu/horizontal-menu/horizontal-menu.component.ts","./src/app/layout/components/menu/horizontal-menu/horizontal-menu.component.html","./src/app/layout/components/menu/menu.component.html","./src/app/layout/components/menu/menu.component.ts","./src/app/layout/components/footer/scroll-to-top/scroll-top.component.ts","./src/app/layout/components/footer/scroll-to-top/scroll-top.component.html","./src/app/layout/components/footer/footer.component.html","./src/app/layout/components/footer/footer.component.ts","./src/app/layout/vertical/vertical-layout.component.html","./src/app/layout/vertical/vertical-layout.component.ts","./src/app/layout/horizontal/horizontal-layout.component.html","./src/app/layout/horizontal/horizontal-layout.component.ts","./src/app/layout/components/theme-customiser/theme-customiser/theme-customiser.component.html","./src/app/layout/components/theme-customiser/theme-customiser/theme-customiser.component.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/layout/custom-breakpoints.ts","./src/app/layout/components/navbar/navbar.module.ts","./src/app/layout/components/content/content.module.ts","./src/app/core-menu/core-menu.module.ts","./src/app/layout/components/menu/vertical-menu/vertical-menu.module.ts","./src/app/layout/components/menu/horizontal-menu/horizontal-menu.module.ts","./src/app/layout/components/menu/menu.module.ts","./src/app/layout/components/footer/footer.module.ts","./src/app/layout/vertical/vertical-layout.module.ts","./src/app/layout/horizontal/horizontal-layout.module.ts","./src/app/layout/layout.module.ts","./src/app/layout/components/theme-customiser/theme-customiser.module.ts","./src/app/app.module.ts","./src/main.ts","./node_modules/moment/locale|sync|/^/.*$"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { CoreDirectivesModule } from '@core/directives/directives';\nimport { CorePipesModule } from '@core/pipes/pipes.module';\n\n@NgModule({\n imports: [\n CommonModule,\n FlexLayoutModule,\n FormsModule,\n ReactiveFormsModule.withConfig({ warnOnNgModelWithFormControl: 'never' }),\n CoreDirectivesModule,\n CorePipesModule\n ],\n exports: [CommonModule, FlexLayoutModule, FormsModule, ReactiveFormsModule, CoreDirectivesModule, CorePipesModule]\n})\nexport class CoreCommonModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\nimport { HighlightModule, HIGHLIGHT_OPTIONS } from 'ngx-highlightjs';\n\nimport { CoreCommonModule } from '@core/common.module';\nimport { CoreCardSnippetComponent } from '@core/components/card-snippet/card-snippet.component';\n\n@NgModule({\n declarations: [CoreCardSnippetComponent],\n imports: [CommonModule, NgbModule, HighlightModule, CoreCommonModule],\n providers: [\n {\n provide: HIGHLIGHT_OPTIONS,\n useValue: {\n fullLibraryLoader: () => import('highlight.js')\n }\n }\n ],\n exports: [CoreCardSnippetComponent]\n})\nexport class CardSnippetModule {}\n","import {\n Component,\n Inject,\n ChangeDetectorRef,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n ViewEncapsulation\n} from '@angular/core';\nimport { animate, AnimationBuilder, AnimationPlayer, style } from '@angular/animations';\nimport { DOCUMENT } from '@angular/common';\nimport { MediaObserver } from '@angular/flex-layout';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { CoreMediaService } from '@core/services/media.service';\nimport { CoreConfigService } from '@core/services/config.service';\n\nimport { CoreSidebarService } from '@core/components/core-sidebar/core-sidebar.service';\n\n@Component({\n selector: 'core-sidebar',\n templateUrl: './core-sidebar.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class CoreSidebarComponent implements OnInit, OnDestroy {\n // Sidebar name (Component input)\n @Input()\n name: string;\n\n // Class name for the overlay (Component input)\n @Input()\n overlayClass: string;\n\n // Sidebar Opened\n isOpened: boolean;\n\n // Collapsible sidebar (Component input)\n @Input()\n collapsibleSidebar: string;\n\n // iscollapsibleSidebar\n iscollapsibleSidebar: boolean;\n\n // Collapsible Sidebar expanded\n @HostBinding('class.expanded')\n expanded: boolean;\n\n // Collapsed changed event\n @Output()\n collapsedChangedEvent: EventEmitter;\n\n // Opened changed event\n @Output()\n openedChangedEvent: EventEmitter;\n\n // Set overlay visibility\n @Input()\n overlayVisibility: boolean;\n\n // Hide sidebar on esc key press\n @Input()\n hideOnEsc: boolean;\n\n @HostListener('document:keydown.escape', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n if (this.hideOnEsc) {\n this.close();\n }\n }\n\n // Set menu class for current menu type\n menuClass: string;\n\n rootElement: any;\n\n // Private\n private _coreConfig: any;\n private _collapsed: boolean;\n private _wasCollapsible: boolean;\n private _wasCollapsed: boolean;\n private _animationPlayer: AnimationPlayer;\n private _overlay: HTMLElement | null = null;\n private _unsubscribeAll: Subject;\n\n /**\n * Constructor\n *\n * @param {DOCUMENT} document\n * @param {Renderer2} _renderer\n * @param {ElementRef} _elementRef\n * @param {CoreConfigService} _coreConfigService\n * @param {ChangeDetectorRef} _changeDetectorRef\n * @param {CoreMediaService} _coreMediaService\n * @param {CoreSidebarService} _coreSidebarService\n * @param {AnimationBuilder} _animationBuilder\n * @param {MediaObserver} _mediaObserver\n */\n constructor(\n @Inject(DOCUMENT) private document: any,\n private _renderer: Renderer2,\n private _elementRef: ElementRef,\n private _coreConfigService: CoreConfigService,\n private _changeDetectorRef: ChangeDetectorRef,\n private _coreMediaService: CoreMediaService,\n private _coreSidebarService: CoreSidebarService,\n private _animationBuilder: AnimationBuilder,\n private _mediaObserver: MediaObserver\n ) {\n // Set Defaults\n this.isOpened = false;\n this.overlayVisibility = true;\n this.hideOnEsc = false;\n\n // Layout root element\n this.rootElement =\n this.document.querySelectorAll('.vertical-layout')[0] || this.document.querySelectorAll('.horizontal-layout')[0];\n\n this.collapsedChangedEvent = new EventEmitter();\n this.openedChangedEvent = new EventEmitter();\n\n // Set Private Defaults\n this._collapsed = false;\n this._unsubscribeAll = new Subject();\n }\n\n // Accessors\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Collapsed\n *\n * @param {boolean} value\n */\n @Input()\n set collapsed(value: boolean) {\n // Set the collapsed value\n this._collapsed = value;\n\n // If the sidebar is closed, return\n if (!this.isOpened) {\n this.rootElement.classList.add('menu-expanded'); // Add menu expanded class default\n return;\n }\n\n // If Collapsed\n if (value) {\n // Collapse the sidebar\n this.collapse();\n\n // Add menu-collapsed in body and remove menu-expanded\n this.rootElement.classList.add('menu-collapsed');\n this.rootElement.classList.remove('menu-expanded');\n }\n // If Expanded\n else {\n // Expanded the sidebar\n this.expand();\n\n // Add menu-expanded in body and remove menu-collapsed\n this.rootElement.classList.add('menu-expanded');\n this.rootElement.classList.remove('menu-collapsed');\n }\n\n // Emit the 'collapsedChangedEvent' event\n this.collapsedChangedEvent.emit(this.collapsed);\n }\n\n get collapsed(): boolean {\n return this._collapsed;\n }\n\n // Lifecycle Hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On init\n */\n ngOnInit(): void {\n // Subscribe to app-config changes\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this._coreConfig = config;\n if (config.layout.type == 'vertical') {\n this.menuClass = 'vertical-menu-modern';\n } else {\n this.menuClass = 'horizontal-menu';\n }\n });\n\n // Register the sidebar\n this._coreSidebarService.setSidebarRegistry(this.name, this);\n\n // Setup collapsibleSidebar\n this._setupCollapsibleSidebar();\n\n // Default collapsed\n this._defaultCollapsed();\n }\n\n /**\n * On destroy\n */\n ngOnDestroy(): void {\n // If the sidebar is collapsed, expand it to reset changes\n if (this.collapsed) {\n this.expand();\n }\n\n // Remove sidebar registry\n this._coreSidebarService.removeSidebarRegistry(this.name);\n\n // Unsubscribe from all subscriptions\n this._unsubscribeAll.next();\n this._unsubscribeAll.complete();\n }\n\n // Private Methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Setup the collapsible sidebar handler\n *\n * @private\n */\n private _setupCollapsibleSidebar(): void {\n // Return if the collapsible sidebar breakpoint was not set from the layout\n if (!this.collapsibleSidebar) {\n return;\n }\n\n // Set the _wasCollapsible false for the first time\n this._wasCollapsible = false;\n\n // Set the wasCollapsed from the layout\n this._wasCollapsed = this.collapsed;\n\n // On every media(screen) change\n this._coreMediaService.onMediaUpdate.pipe(takeUntil(this._unsubscribeAll)).subscribe(() => {\n // Get the collapsible status\n const isCollapsible = this._mediaObserver.isActive(this.collapsibleSidebar);\n //! On screen resize set the config collapsed state if we have else this.collapsed\n this._wasCollapsed = this._coreConfig.layout.menu.collapsed || this.collapsed;\n\n // If sidebar is not collapsible, switch to overlay menu (On page load without resize the window)\n // ? Improve this menu condition\n if (!isCollapsible && this.name === 'menu') {\n this.rootElement.classList.remove(this.menuClass);\n this.rootElement.classList.add('vertical-overlay-menu');\n }\n\n // If the both status are the same, then return\n if (this._wasCollapsible === isCollapsible) {\n return;\n }\n\n // If isCollapsible is true, use collapsible sidebar\n if (isCollapsible) {\n // Set the collapsibleSidebar status\n this.iscollapsibleSidebar = true;\n\n // Set the the opened status to true\n this.isOpened = true;\n\n this.expanded = true; // Adde expanded class init\n\n // Emit the 'openedChangedEvent' event\n this.openedChangedEvent.emit(this.isOpened);\n\n // If the sidebar was collapsed, forcefully collapse it again\n if (this._wasCollapsed) {\n // Collapse\n this.collapsed = true;\n\n this.expanded = false; // Remove expanded class\n // Change detector\n this._changeDetectorRef.markForCheck();\n }\n\n // If sidebar is collapsible, switch to collapsible menu (modern-menu)\n if (this.name === 'menu') {\n this.rootElement.classList.add(this.menuClass);\n this.rootElement.classList.remove('vertical-overlay-menu', 'menu-hide');\n }\n\n // Hide the overlay if any exists\n this._hideOverlay();\n }\n // Else use overlay sidebar\n else {\n // Set the collapsibleSidebar status\n this.iscollapsibleSidebar = false;\n\n // Expanded the sidebar in case if it was collapsed\n this.expand();\n\n // Force the the opened status to close\n this.isOpened = false;\n\n // Emit the 'openedChangedEvent' event\n this.openedChangedEvent.emit(this.isOpened);\n\n // If sidebar is not collapsible, switch to overlay menu (On window resize)\n this.rootElement.classList.remove(this.menuClass);\n this.rootElement.classList.add('vertical-overlay-menu');\n\n // Hide the sidebar\n this._hideSidebar();\n }\n\n // Set the new active status\n this._wasCollapsible = isCollapsible;\n });\n }\n\n /**\n * Setup the initial collapsed status\n *\n * @private\n */\n private _defaultCollapsed(): void {\n // Return, if sidebar is not collapsed\n if (!this.collapsed) {\n return;\n }\n\n // Return if the sidebar is closed\n if (!this.isOpened) {\n return;\n }\n\n // Collapse the sidebar\n this.collapse();\n }\n\n /**\n * Show the overlay\n *\n * @private\n */\n private _showOverlay(): void {\n // Create the overlay element\n this._overlay = this._renderer.createElement('div');\n\n // Add a class to the overlay element and make it visible\n this._overlay.classList.add(this.overlayClass);\n this._overlay.classList.add('show');\n\n // If overlayVisibility is false, set the bg transparent\n if (!this.overlayVisibility) {\n this._overlay.classList.add('bg-transparent');\n }\n\n // Append the overlay element to the parent element of the sidebar\n this._renderer.appendChild(this._elementRef.nativeElement.parentElement, this._overlay);\n\n // Overlay enter animation and attach it to the animationPlayer\n this._animationPlayer = this._animationBuilder\n .build([animate('300ms ease', style({ opacity: 1 }))])\n .create(this._overlay);\n\n // Play the overlay animation\n this._animationPlayer.play();\n\n // Add an event listener to the overlay, on click of it close the sidebar\n this._overlay.addEventListener('click', () => {\n this.close();\n });\n // Change detector\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * Hide the overlay\n *\n * @private\n */\n private _hideOverlay(): void {\n // If overlay is already hidden, return\n if (!this._overlay) {\n return;\n }\n\n // Overlay leave animation and attach it to the animationPlayer\n this._animationPlayer = this._animationBuilder\n .build([animate('300ms ease', style({ opacity: 0 }))])\n .create(this._overlay);\n\n // Play the overlay leave animation\n this._animationPlayer.play();\n\n // Once the animation is done...\n this._animationPlayer.onDone(() => {\n // If the overlay still exists...\n if (this._overlay) {\n // Remove the overlay\n this._overlay.parentNode.removeChild(this._overlay);\n this._overlay = null;\n }\n });\n // Change detector\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * Change sidebar properties to make it visible\n *\n * @private\n */\n private _showSidebar(): void {\n // If menu as sidebar, add relevant classes to body to show menu\n if (this.name == 'menu') {\n // Open overlay menu\n this.rootElement.classList.add('menu-open');\n this.rootElement.classList.remove('menu-hide');\n }\n // For default sidebar add show class to make it visible\n else {\n this._renderer.addClass(this._elementRef.nativeElement, 'show');\n // Add .modal-open from body to remove browser scroll\n if (this.overlayClass === 'modal-backdrop') {\n this.rootElement.classList.add('modal-open');\n }\n }\n\n // Change detector\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * Change sidebar properties to make it invisible\n *\n * @private\n */\n private _hideSidebar(): void {\n // If menu as sidebar, add relevant classes to body to show menu\n if (this.name == 'menu') {\n // Hide overlay menu\n this.rootElement.classList.remove('menu-open');\n this.rootElement.classList.add('menu-hide');\n }\n // For default sidebar remove show class to make it visible\n else {\n this._renderer.removeClass(this._elementRef.nativeElement, 'show');\n\n // Remove .modal-open from body\n if (this.overlayClass === 'modal-backdrop') {\n this.rootElement.classList.remove('modal-open');\n }\n }\n\n // Change detector\n this._changeDetectorRef.markForCheck();\n }\n\n // Public Methods\n // -----------------------------------------------------------------------------------------------------\n\n // For Collapsible Sidebar\n\n /**\n * Collapse the temporarily expanded sidebar\n */\n collapseTemporarily(): void {\n // Only work if the sidebar is collapsed\n if (!this.collapsed) {\n return;\n }\n\n // Collapse the sidebar back\n this.expanded = false;\n this.collapsed = true; // Set the menu collapsed while collapsed temp.\n\n // Change detector\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * Expanded the sidebar temporarily\n */\n expandTemporarily(): void {\n // Only work if the sidebar is collapsed\n if (!this.collapsed) {\n return;\n }\n\n // Expanded the sidebar temporarily\n this.expanded = true;\n this.collapsed = true; // Set the menu collapsed while collapsed temp.\n\n // Change detector\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * On Sidebar's Mouseenter Event\n */\n @HostListener('mouseenter')\n onMouseEnter(): void {\n // Expand the sidebar temporarily\n this.expandTemporarily();\n }\n\n /**\n * On Sidebar's Mouseleave Event\n */\n @HostListener('mouseleave')\n onMouseLeave(): void {\n // Collapse the sidebar temporarily\n this.collapseTemporarily();\n }\n\n /**\n * Collapse the sidebar permanently\n */\n collapse(): void {\n // If the sidebar is not collapsed\n if (this.collapsed) {\n return;\n }\n\n // Set collapse true\n this.collapsed = true;\n\n // Change detector\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * Expanded the sidebar permanently\n */\n expand(): void {\n // If the sidebar is collapsed\n if (!this.collapsed) {\n return;\n }\n\n // Set collapse false (expanded)\n this.collapsed = false;\n\n // Change detector\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * Toggle the sidebar expand/collapse permanently\n */\n toggleCollapsible(): void {\n if (this.collapsed) {\n this.expand();\n } else {\n this.collapse();\n }\n }\n\n // For Overlay Sidebar\n\n /**\n * Open the sidebar\n */\n open(): void {\n // If sidebar already open or collapsible, then return\n if (this.isOpened || this.iscollapsibleSidebar) {\n return;\n }\n\n // Show the sidebar\n this._showSidebar();\n\n // Show the overlay\n this._showOverlay();\n\n // Set the sidebar opened status\n this.isOpened = true;\n\n // Emit the 'openedChangedEvent' event\n this.openedChangedEvent.emit(this.isOpened);\n\n // Change detector\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * Close the sidebar\n */\n close(): void {\n // If sidebar is not open or collapsible, then return\n if (!this.isOpened || this.iscollapsibleSidebar) {\n return;\n }\n\n // Hide the overlay\n this._hideOverlay();\n\n // Set the opened status\n this.isOpened = false;\n\n // Emit the 'openedChangedEvent' event\n this.openedChangedEvent.emit(this.isOpened);\n\n // Hide overlay menu\n this._hideSidebar();\n\n // Change detector\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * Toggle open/close the sidebar\n */\n toggleOpen(): void {\n if (this.isOpened) {\n this.close();\n } else {\n this.open();\n }\n }\n}\n","\n","import { NgModule } from '@angular/core';\n\nimport { CoreSidebarComponent } from '@core/components/core-sidebar/core-sidebar.component';\n\n@NgModule({\n declarations: [CoreSidebarComponent],\n exports: [CoreSidebarComponent]\n})\nexport class CoreSidebarModule {}\n","import { Injectable } from '@angular/core';\nimport { CoreSidebarComponent } from '@core/components/core-sidebar/core-sidebar.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CoreSidebarService {\n // Private\n private _registry: { [key: string]: CoreSidebarComponent } = {};\n\n /**\n * Get the sidebar with the given key\n *\n * @param key\n * @returns {CoreSidebarComponent}\n */\n getSidebarRegistry(key): CoreSidebarComponent {\n // Check if the sidebar registered\n\n if (!this._registry[key]) {\n console.warn(`The sidebar with the key '${key}' doesn't exist in the registry.`);\n return;\n }\n\n // Return the sidebar\n return this._registry[key];\n }\n\n /**\n * Set the sidebar to the registry\n *\n * @param key\n * @param sidebar\n */\n\n setSidebarRegistry(key, sidebar): void {\n // Check if the key already being used\n if (this._registry[key]) {\n console.error(\n `The sidebar with the key '${key}' already exists. Either unregister it first or use a unique key.`\n );\n\n return;\n }\n\n // Set to the registry\n this._registry[key] = sidebar;\n }\n\n /**\n * Remove the sidebar from the registry\n *\n * @param key\n */\n removeSidebarRegistry(key): void {\n // Check if the sidebar registered\n if (!this._registry[key]) {\n console.warn(`The sidebar with the key '${key}' doesn't exist in the registry.`);\n }\n\n // Unregister the sidebar\n delete this._registry[key];\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { CoreTouchspinComponent } from '@core/components/core-touchspin/core-touchspin.component';\nimport { CoreCommonModule } from '@core/common.module';\n\n@NgModule({\n declarations: [CoreTouchspinComponent],\n imports: [CommonModule, FormsModule, CoreCommonModule],\n exports: [CoreTouchspinComponent]\n})\nexport class CoreTouchspinModule {}\n","import { ChangeDetectorRef, Component, HostBinding, Input, OnDestroy, OnInit } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\n\nimport { Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\n\nimport { CoreMenuItem } from '@core/types';\nimport { CoreMenuService } from '@core/components/core-menu/core-menu.service';\n\nimport { User } from 'app/auth/models';\n\n@Component({\n selector: '[core-menu-vertical-collapsible]',\n templateUrl: './collapsible.component.html'\n})\nexport class CoreMenuVerticalCollapsibleComponent implements OnInit, OnDestroy {\n currentUser: User;\n\n @Input()\n item: CoreMenuItem;\n\n @HostBinding('class.open')\n public isOpen = false;\n\n // Private\n private _unsubscribeAll: Subject;\n\n /**\n * Constructor\n *\n * @param {Router} _router\n * @param {CoreMenuService} _coreMenuService\n * @param {ChangeDetectorRef} _changeDetectorRef\n */\n constructor(\n private _router: Router,\n private _coreMenuService: CoreMenuService,\n private _changeDetectorRef: ChangeDetectorRef\n ) {\n // Set the private defaults\n this._unsubscribeAll = new Subject();\n }\n\n // Lifecycle hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On init\n */\n ngOnInit(): void {\n // Listen for router events and expand\n this._router.events\n .pipe(\n filter(event => event instanceof NavigationEnd),\n takeUntil(this._unsubscribeAll)\n )\n .subscribe((event: NavigationEnd) => {\n // Confirm if the urlAfterRedirects can be found in one of the children of this item\n if (this.confirmUrlInChildren(this.item, event.urlAfterRedirects)) {\n this.expand();\n } else {\n this.collapse();\n }\n });\n\n // Subscribe to the current menu changes\n this._coreMenuService.onMenuChanged.pipe(takeUntil(this._unsubscribeAll)).subscribe(() => {\n this.currentUser = this._coreMenuService.currentUser;\n });\n\n // Listen for collapsing of any menu item\n this._coreMenuService.onItemCollapsed.pipe(takeUntil(this._unsubscribeAll)).subscribe(clickedItem => {\n if (clickedItem && clickedItem.children) {\n // Check if the clicked item is one of the children of this item\n if (this.confirmItemInChildren(this.item, clickedItem)) {\n return;\n }\n\n // Check if the url can be found in one of the children of this item\n if (this.confirmUrlInChildren(this.item, this._router.url)) {\n return;\n }\n\n // If the clicked item is not this item, collapse...\n if (this.item !== clickedItem) {\n this.collapse();\n }\n }\n });\n\n // Check if the url can be found in one of the children of this item\n // Required for onInit case (i.e switching theme customizer menu layout)\n if (this.confirmUrlInChildren(this.item, this._router.url)) {\n this.expand();\n } else {\n this.collapse();\n }\n }\n\n /**\n * On destroy\n */\n ngOnDestroy(): void {\n // Unsubscribe from all subscriptions\n this._unsubscribeAll.next();\n this._unsubscribeAll.complete();\n }\n\n // Public methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Toggle collapse\n *\n * @param e\n */\n toggleOpen(e): void {\n e.preventDefault();\n\n this.isOpen = !this.isOpen;\n\n // Menu collapse toggled...\n this._coreMenuService.onItemCollapsed.next(this.item);\n this._coreMenuService.onItemCollapseToggled.next();\n }\n\n /**\n * Expand the collapsible menu\n */\n expand(): void {\n if (this.isOpen) {\n return;\n }\n\n this.isOpen = true;\n\n // Mark for check\n this._changeDetectorRef.markForCheck();\n\n this._coreMenuService.onItemCollapseToggled.next();\n }\n\n /**\n * Collapse the collapsible menu\n */\n collapse(): void {\n if (!this.isOpen) {\n return;\n }\n\n this.isOpen = false;\n\n // Mark for check\n this._changeDetectorRef.markForCheck();\n\n this._coreMenuService.onItemCollapseToggled.next();\n }\n\n /**\n * Confirms if the provided url can be found in one of the given parent's children\n *\n * @param parent\n * @param url\n * @returns {boolean}\n */\n confirmUrlInChildren(parent, url): boolean {\n const children = parent.children;\n\n // Return false if parent don't have any children\n if (!children) {\n return false;\n }\n\n // Loop all the children\n for (const child of children) {\n // If children has child (Sub to sub item url)\n if (child.children) {\n // Call function again with child\n if (this.confirmUrlInChildren(child, url)) {\n return true;\n }\n }\n\n // If child.url is same as provided url\n if (child.url === url || url.includes(child.url)) {\n return true;\n }\n }\n\n return false;\n }\n\n /**\n * Check if the provided parent has the provided item in one of its children\n *\n * @param parent\n * @param item\n * @returns {boolean}\n */\n confirmItemInChildren(parent, item): boolean {\n const children = parent.children;\n\n // Return false if parent don't have any children\n if (!children) {\n return false;\n }\n\n // Return true parent has the provided item in one of its children\n if (children.indexOf(item) > -1) {\n return true;\n }\n\n for (const child of children) {\n if (child.children) {\n // Call function again with child (for sub to sub item)\n if (this.confirmItemInChildren(child, item)) {\n return true;\n }\n }\n }\n\n return false;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\n\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { CoreCommonModule } from '@core/common.module';\nimport { CoreMenuComponent } from '@core/components/core-menu/core-menu.component';\n\nimport { CoreMenuVerticalSectionComponent } from '@core/components/core-menu/vertical/section/section.component';\nimport { CoreMenuVerticalItemComponent } from '@core/components/core-menu/vertical/item/item.component';\nimport { CoreMenuVerticalCollapsibleComponent } from '@core/components/core-menu/vertical/collapsible/collapsible.component';\nimport { CoreMenuHorizontalItemComponent } from '@core/components/core-menu/horizontal/item/item.component';\nimport { CoreMenuHorizontalCollapsibleComponent } from '@core/components/core-menu/horizontal/collapsible/collapsible.component';\n\nCoreMenuVerticalSectionComponent;\nCoreMenuVerticalItemComponent;\nCoreMenuVerticalCollapsibleComponent;\n\n@NgModule({\n imports: [CommonModule, RouterModule, TranslateModule.forChild(), CoreCommonModule],\n exports: [CoreMenuComponent],\n declarations: [\n CoreMenuComponent,\n CoreMenuVerticalSectionComponent,\n CoreMenuVerticalItemComponent,\n CoreMenuVerticalCollapsibleComponent,\n CoreMenuHorizontalItemComponent,\n CoreMenuHorizontalCollapsibleComponent\n ]\n})\nexport class CoreMenuModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport {\n PerfectScrollbarConfigInterface,\n PerfectScrollbarModule,\n PERFECT_SCROLLBAR_CONFIG\n} from 'ngx-perfect-scrollbar';\n\nimport { CoreDirectivesModule } from '@core/directives/directives';\nimport { CoreSidebarModule } from '@core/components/core-sidebar/core-sidebar.module';\n\nimport { CoreThemeCustomizerComponent } from '@core/components/theme-customizer/theme-customizer.component';\n\nconst DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {\n suppressScrollX: true,\n wheelPropagation: false\n};\n\n@NgModule({\n declarations: [CoreThemeCustomizerComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n FlexLayoutModule,\n PerfectScrollbarModule,\n CoreDirectivesModule,\n CoreSidebarModule\n ],\n providers: [\n {\n provide: PERFECT_SCROLLBAR_CONFIG,\n useValue: DEFAULT_PERFECT_SCROLLBAR_CONFIG\n }\n ],\n exports: [CoreThemeCustomizerComponent]\n})\nexport class CoreThemeCustomizerModule {}\n","import { Directive, ElementRef, Input, Inject, ChangeDetectorRef, OnChanges, SimpleChanges } from '@angular/core';\n\nimport * as Feather from 'feather-icons';\n\n@Directive({\n selector: '[data-feather]'\n})\nexport class FeatherIconDirective implements OnChanges {\n // Private\n private _nativeElement: any;\n\n @Input('data-feather') name!: string;\n @Input() class!: string;\n @Input() size!: string;\n @Input() inner!: boolean;\n\n /**\n * Constructor\n *\n * @param {ElementRef} _elementRef\n */\n constructor(\n @Inject(ElementRef) private _elementRef: ElementRef,\n @Inject(ChangeDetectorRef) private _changeDetector: ChangeDetectorRef\n ) {}\n\n ngOnChanges(changes: SimpleChanges) {\n // Get the native element\n this._nativeElement = this._elementRef.nativeElement;\n\n // SVG parameter\n this.name = changes.name ? changes.name.currentValue : '';\n this.size = changes.size ? changes.size.currentValue : '14'; // Set default size 14\n this.class = changes.class ? changes.class.currentValue : '';\n\n // Create SVG\n const svg = Feather.icons[this.name].toSvg({\n class: this.class,\n width: this.size,\n height: this.size\n });\n\n // Set SVG\n if (this.inner) {\n this._nativeElement.innerHTML = svg;\n } else {\n this._nativeElement.outerHTML = svg;\n }\n this._changeDetector.markForCheck();\n }\n}\n","import { Directive, ElementRef, Input, OnInit } from '@angular/core';\n\nimport * as Waves from 'node-waves';\n\n@Directive({\n selector: '[rippleEffect]'\n})\nexport class RippleEffectDirective {\n // Private\n private _nativeElement: any;\n @Input() wave: string;\n /**\n * Constructor\n *\n * @param {ElementRef} _elementRef\n */\n constructor(private _elementRef: ElementRef) {}\n\n ngOnInit(): void {\n // Get the native element\n this._nativeElement = this._elementRef.nativeElement;\n\n if (\n // Attach ripple with light style i.e solid variant of button\n !this._nativeElement.className.split(' ').some(function (c) {\n return /btn-outline-.*/.test(c);\n }) &&\n !this._nativeElement.className.split(' ').some(function (c) {\n return /btn-flat-.*/.test(c);\n })\n ) {\n Waves.attach(this._nativeElement, ['waves-float', 'waves-light']);\n } else {\n // Attach ripple with transparent style i.e flat, outline variant of button\n Waves.attach(this._nativeElement);\n }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { FeatherIconDirective } from '@core/directives/core-feather-icons/core-feather-icons';\nimport { RippleEffectDirective } from '@core/directives/core-ripple-effect/core-ripple-effect.directive';\n\n@NgModule({\n declarations: [RippleEffectDirective, FeatherIconDirective],\n exports: [RippleEffectDirective, FeatherIconDirective]\n})\nexport class CoreDirectivesModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'initials'\n})\nexport class InitialsPipe implements PipeTransform {\n transform(fullName: string): any {\n return fullName\n ?.split(' ')\n .map(n => n[0])\n .join('');\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { FilterPipe } from '@core/pipes/filter.pipe';\n\nimport { InitialsPipe } from '@core/pipes/initials.pipe';\n\nimport { SafePipe } from '@core/pipes/safe.pipe';\nimport { StripHtmlPipe } from '@core/pipes/stripHtml.pipe';\n\n@NgModule({\n declarations: [InitialsPipe, FilterPipe, StripHtmlPipe, SafePipe],\n imports: [],\n exports: [InitialsPipe, FilterPipe, StripHtmlPipe, SafePipe]\n})\nexport class CorePipesModule {}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { ResolveEnd, Router } from '@angular/router';\n\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport * as _ from 'lodash';\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\nimport { Constant } from 'app/Classes/constant';\n\n// Injection token for the core custom settings\nexport const CORE_CUSTOM_CONFIG = new InjectionToken('coreCustomConfig');\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CoreConfigService {\n // Private\n public localConfig: any;\n private readonly _defaultConfig: any;\n private _configSubject: BehaviorSubject;\n\n /**\n * Constructor\n *\n * @param _config\n * @param {Router} _router\n */\n constructor(private _router: Router, @Inject(CORE_CUSTOM_CONFIG) private _config, private encrDecr: EncrDecrService ) {\n // Get the config from local storage\n if (_config.layout.enableLocalStorage) {\n // this.localConfig = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey,localStorage.getItem('config')));\n try {\n const decryptedData = this.encrDecr.get(Constant.EncrDecrKey,localStorage.getItem('config'));\n // If decryption succeeds without errors, it's likely encrypted\n // You can further validate the decrypted data if needed\n this.localConfig = JSON.parse(decryptedData);\n } catch (error) {\n // If decryption fails or throws an error, it suggests the data might not be encrypted\n // Parse the data directly as JSON\n this.localConfig = JSON.parse(localStorage.getItem('config'));\n }\n } else {\n localStorage.removeItem('config');\n }\n\n // Set the defaultConfig to localConfig if we have else appConfig (app-config.ts)\n this._defaultConfig = this.localConfig ? this.localConfig : _config;\n\n // Initialize the config service\n this._initConfig();\n }\n\n // Accessors\n // -----------------------------------------------------------------------------------------------------\n\n // Set the config\n set config(data) {\n let config;\n\n // Set config = localConfig, If we have else defaultConfig\n if (this.localConfig) {\n config = this.localConfig;\n } else {\n config = this._configSubject.getValue();\n }\n\n // Merge provided data with config, and create new merged config\n config = _.merge({}, config, data);\n\n // Set config to local storage if enableLocalStorage parameter is true\n if (config.layout.enableLocalStorage) {\n localStorage.setItem('config', this.encrDecr.set(Constant.EncrDecrKey,JSON.stringify(config)));\n }\n\n // Inform the observers\n this._configSubject.next(config);\n }\n\n // Get the config\n get config(): any | Observable {\n return this._configSubject.asObservable();\n }\n\n /**\n * Get default config\n *\n * @returns {any}\n */\n get defaultConfig(): any {\n return this._defaultConfig;\n }\n\n // Private methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Initialize\n *\n * @private\n */\n private _initConfig(): void {\n // Set the config from the default config\n this._configSubject = new BehaviorSubject(_.cloneDeep(this._defaultConfig));\n\n // On every RoutesRecognized event\n // Check if localDefault (localStorage if we have else defaultConfig) is different form the default one\n this._router.events.pipe(filter(event => event instanceof ResolveEnd)).subscribe(() => {\n // Get the local config from local storage\n this.localConfig = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey,localStorage.getItem('config')));\n\n // Set localDefault to localConfig if we have else defaultConfig\n let localDefault = this.localConfig ? this.localConfig : this._defaultConfig;\n\n // If localDefault is different form the provided config (page config)\n if (!_.isEqual(this._configSubject.getValue().layout, localDefault.layout)) {\n // Clone the current config\n const config = _.cloneDeep(this._configSubject.getValue());\n\n // Reset the layout from the default config\n config.layout = _.cloneDeep(localDefault.layout);\n\n // Set the config\n this._configSubject.next(config);\n }\n });\n }\n\n // Public methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Set config\n *\n * @param data\n * @param {{emitEvent: boolean}} param\n */\n setConfig(data, param = { emitEvent: true }): void {\n let config;\n\n // Set config = localConfig, If we have else defaultConfig\n this.localConfig = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey,localStorage.getItem('config')));\n if (this.localConfig) {\n config = this.localConfig;\n } else {\n config = this._configSubject.getValue();\n }\n\n // Merge provided value with config, and create new merged config\n config = _.merge({}, config, data);\n\n // Set config to local storage if enableLocalStorage parameter is true\n if (config.layout.enableLocalStorage) {\n localStorage.setItem('config', this.encrDecr.set(Constant.EncrDecrKey,JSON.stringify(config)));\n }\n\n // If emitEvent option is true...\n if (param.emitEvent === true) {\n // Inform the observers\n this._configSubject.next(config);\n }\n }\n\n /**\n * Get config\n *\n * @returns {Observable}\n */\n getConfig(): Observable {\n return this._configSubject.asObservable();\n }\n\n /**\n * Reset to the default config\n */\n resetConfig(): void {\n this._configSubject.next(_.cloneDeep(this._defaultConfig));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\nimport { animate, AnimationBuilder, AnimationPlayer, style } from '@angular/animations';\nimport { NavigationEnd, Router } from '@angular/router';\n\nimport { filter, take } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CoreLoadingScreenService {\n loadingScreenEl: any;\n animationPlayer: AnimationPlayer;\n\n /**\n * Constructor\n *\n * @param _document\n * @param {Router} _router\n * @param {AnimationBuilder} _animationBuilder\n */\n constructor(\n @Inject(DOCUMENT) private _document: any,\n private _router: Router,\n private _animationBuilder: AnimationBuilder\n ) {\n // Initialize\n this._init();\n }\n\n // Private methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Initialize\n *\n * @private\n */\n private _init(): void {\n // Get the loading screen element\n this.loadingScreenEl = this._document.body.querySelector('#loading-bg');\n\n // If loading screen element\n if (this.loadingScreenEl) {\n // Hide it on the first NavigationEnd event\n this._router.events\n .pipe(\n filter(event => event instanceof NavigationEnd),\n take(1)\n )\n .subscribe(() => {\n setTimeout(() => {\n this.hide();\n });\n });\n }\n }\n\n // Public methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Show the loading screen\n */\n show(): void {\n this.animationPlayer = this._animationBuilder\n .build([\n style({\n opacity: '0',\n zIndex: '99999'\n }),\n animate('250ms ease', style({ opacity: '1' }))\n ])\n .create(this.loadingScreenEl);\n\n setTimeout(() => {\n this.animationPlayer.play();\n }, 0);\n }\n\n /**\n * Hide the loading screen\n */\n hide(): void {\n this.animationPlayer = this._animationBuilder\n .build([\n style({ opacity: '1' }),\n animate(\n '250ms ease',\n style({\n opacity: '0',\n zIndex: '-10'\n })\n )\n ])\n .create(this.loadingScreenEl);\n\n setTimeout(() => {\n this.loadingScreenEl.remove();\n this.animationPlayer.play();\n }, 0);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { MediaChange, MediaObserver } from '@angular/flex-layout';\n\nimport { BehaviorSubject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CoreMediaService {\n currentMediaQuery: string;\n onMediaUpdate: BehaviorSubject = new BehaviorSubject('');\n\n /**\n * Constructor\n *\n * @param {MediaObserver} _mediaObserver\n */\n constructor(private _mediaObserver: MediaObserver) {\n // Set the defaults\n this.currentMediaQuery = '';\n\n // Initialize\n this._init();\n }\n\n // @ Private methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Initialize\n *\n * @private\n */\n private _init(): void {\n this._mediaObserver.media$.pipe(debounceTime(500), distinctUntilChanged()).subscribe((change: MediaChange) => {\n // console.log('subscription: ', change);\n if (this.currentMediaQuery !== change.mqAlias) {\n this.currentMediaQuery = change.mqAlias;\n this.onMediaUpdate.next(change.mqAlias);\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { TranslateService } from '@ngx-translate/core';\n\nexport interface Locale {\n lang: string;\n data: Object;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CoreTranslationService {\n /**\n * Constructor\n *\n * @param {TranslateService} _translateService\n */\n constructor(private _translateService: TranslateService) {}\n\n // Public methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Translate\n *\n * @param {Locale} args\n */\n translate(...args: Locale[]): void {\n const locales = [...args];\n\n locales.forEach(locale => {\n // use setTranslation() with the third argument value as true to append translations instead of replacing them\n this._translateService.setTranslation(locale.lang, locale.data, true);\n });\n }\n}\n","export class Constant {\r\n public static API: string = Constant.getAPIURL();\r\n //public static API = 'https://localhost:44345/';\r\n //public static API = 'http://www.mdipl.com/noosomapi/'; // (Local IIS Server)\r\n // public static API = 'https://apitest.noosom.com/'; // (Test Server)\r\n //public static API ='https://api.noosom.com/'; // (Live Server)\r\n\r\n public static EncrDecrKey = 'MyComplexKeyForm';\r\n public static ErrorToastrTitle: string = 'Error!';\r\n public static SuccessToastrTitle: string = 'Success!';\r\n public static WarningToastrTitle: string = 'Warning!';\r\n public static InfoToastrTitle: string = 'Info!';\r\n public static CDNStorageAccessKey: string = 'fcc836b2-eb78-4ef0-bb9721a7d9ca-7d77-4676';\r\n public static CDNStorageRootURL: string = 'https://sg.storage.bunnycdn.com/';\r\n public static CDNStorageZoneName: string = 'noosom1sin/';\r\n public static CDNDefaultFolder: string = 'UserAssets/';\r\n public static CDNPullZoneRootURL: string = 'https://sgstorage.noosom.com/';\r\n public static DefaultProfilePictureURL: string = 'https://sgstorage.noosom.com/NoosomAssets/Images/profile/default-profile-picture.png';\r\n\r\n private static getAPIURL(): string {\r\n const currentURL = window.location.href;\r\n const sitename = currentURL.split('/').slice(0, 3).join('/');\r\n // console.log(sitename)\r\n let APIURl: string='https://api.noosom.com/';\r\n\r\n if (sitename === 'https://app.noosom.com') {\r\n APIURl = 'https://api.noosom.com/';\r\n } else if (sitename === 'https://test.noosom.com') {\r\n APIURl = 'https://apitest.noosom.com/';\r\n } else if (sitename === 'http://localhost:4200') {\r\n APIURl = 'https://localhost:44345/';\r\n }\r\n\r\n return APIURl;\r\n }\r\n}\r\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'de',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Es konnte keine Verbindung zum Server hergestellt werden.'\n },\n SIGNIN: {\n MOTIVATION_BADGE_SIGNIN:'Melden Sie sich an und starten Sie das Abenteuer',\n WELCOME_TEXT: 'Willkommen bei Noosom',\n CONTROL_LABEL_EMAIL:'E-Mail-Addresse',\n CONTROL_LABEL_PASSWORD:'Passwort',\n CONTROL_LABEL_REMEMBERME:'Erinnere dich an mich',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Haben Sie Ihr Passwort vergessen?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Ein Konto erstellen',\n TEXT_NEWONPLATFORM:'Neu auf unserer Plattform?',\n BUTTON_TEXT_LOGIN:'Anmeldung',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Sie haben sich erfolgreich als {0}-Benutzer bei Noosom angemeldet. Jetzt können Sie mit der Erkundung beginnen. Genießen! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Willkommen, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'Das E-Mail-Feld ist!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Das Passwortfeld ist!',\n ERROR_MESSAGE_INVALID_EMAIL:'E-Mail muss eine gültige E-Mail-Adresse sein',\n ERROR_MESSAGE_NOATTEMPTS:'Ungültiger Benutzername oder ungültiges Passwort.
Sie haben keine weiteren Versuche mehr.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Ihre E-Mail-Adresse wurde nicht verifiziert.
überprüfen Sie zuerst Ihre E-Mail-Adresse.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Dein Account wurde gesperrt.'},\n {ErrorCode:0,ErrorMessage:'Eingeloggt erfolgreich.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Ungültiger Benutzername oder ungültiges Passwort. Sie haben noch {0} Versuche.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administratorin'},{titlle:'Client',value:'Klientin'},{title:'User',value:'Benutzer'}]\n },\n SIGNUP:\n {\n MOTIVATION_BADGE_SIGNUP:'Melden Sie sich an und starten Sie das Abenteuer',\n STEPPER_TITLE_ACCOUNT:'Konto',\n STEPPER_SUB_TITLE_ACCOUNT:'Benutzernamen eingeben',\n STEPPER_TITLE_PERSONAL:'persönlich',\n STEPPER_SUB_TITLE_PERSONAL:'Information eingeben',\n HEADING_ACCOUNT:'Kontoinformationen',\n HEADING_PERSONAL:'Persönliche Informationen',\n HEADING_SELECTPLAN:'Plan auswählen',\n CONTROL_LABEL_USERID:'Noosom-Benutzer-ID',\n CONTROL_LABEL_EMAILADDRESS:'E-Mail-Addresse',\n CONTROL_LABEL_PASSWORD:'Passwort',\n CONTROL_LABEL_CONFIRMPASSWORD:'Bestätigen Sie Ihr Passwort',\n CONTROL_LABEL_REGION:'Ihre Region',\n CONTROL_LABEL_HOMECOUNTRY:'Ihr land',\n CONTROL_LABEL_FIRSTNAME:'Vorname',\n CONTROL_LABEL_MIDDLENAME:'Zweiter Vorname',\n CONTROL_LABEL_LASTNAME:'Nachname',\n CONTROL_LABEL_BIRTHDATE:'Geburtsdatum',\n CONTROL_LABEL_MOBILENO:'Handy-Nr',\n CONTROL_LABEL_SELECTPLAN:'Jetzt für immer kostenlos oder später kaufen.',\n PLACEHOLDER_TYPEHERE:'Geben Sie hier ein ...',\n PLACEHOLDER_PASSWORD:'Passwort',\n PLACEHOLDER_REGION:'Region wählen',\n PLACEHOLDER_COUNTRY:'Land auswählen',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Vorherige',\n BUTTON_TEXT_NEXT:'Nächste',\n BUTTON_TEXT_SUBMIT:'Einreichen',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Ihre Daten werden gespeichert',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'in der ausgewählten Region',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'land auswählen',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Konto erfolgreich erstellt.',\n ERROR_MESSAGE_REQUIRED_USERID:'Das Feld „Benutzername“ ist! Das Feld „E-Mail“ ist',\n ERROR_MESSAGE_EXISTED_USERID:'Dieser Benutzername wurde vergeben. Bitte versuchen Sie es mit einem anderen.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'Das Feld für die E-Mail-Adresse ist!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Diese E-Mail-Adresse wurde übernommen. Bitte versuchen Sie es mit einem anderen.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Das Passwortfeld ist!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Muss mindestens eine Zahl, einen Groß- und Kleinbuchstaben und mindestens 8 Zeichen enthalten.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'Passwort wiederholen muss übereinstimmen.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'Das Feld Passwort bestätigen ist!',\n ERROR_MESSAGE_REQUIRED_REGION:'Das Regionsfeld ist!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'Das Feld land ist!',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'Das Vornamensfeld ist!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'Das Feld für den zweiten Vornamen ist!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'Das Feld Nachname ist!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'Das Feld Geburtsdatum ist!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'Das Handy ist kein Pflichtfeld!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Bitte wählen Sie die kostenlose Planoption!',\n }\n }\n};\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'en',\n data: {\n COMMON:{\n CONTROL_LABEL_EMAIL_ADDRESS:'Email Address',\n PLACEHOLDER_EMAIL_ADDRESS:'Type here...',\n PLACEHOLDER_TYPE_HERE:'Type here...',\n PLACEHOLDER_MOBILE_NUMBER:'0123456789',\n BUTTON_TEXT_SAVE_CHANGES:'Save Changes',\n ERROR_MESSAGE_REQUIRED_EMAIL_ADDRESS:'The email is required!',\n ERROR_MESSAGE_INVALID_EMAIL:'Please enter your email address in format:\\nyourname@example.com',\n ERROR_MESSAGE_CONNECTIONREFUSED:'Could not connect with server.',\n COMMON_STATUS:\n [\n {ErrorCode:Status.UserNotFound,ErrorMessage:'User could not be found.'}\n ],\n },\n GRIDVIEW:{\n BUTTON_TEXT_VIEW_ALL_ON_A_MAP:'View all on a Map',\n CONTROL_LABEL_SEARCH:'Search',\n CONTROL_LABEL_SHOW:'Show',\n CONTROL_LABEL_SHOW_ALL:'Show All',\n CHARACTER_COUNT:'Character Count',\n OPTION_VALUE_TEXT_5:'5',\n OPTION_VALUE_TEXT_10:'10',\n OPTION_VALUE_TEXT_15:'15',\n OPTION_VALUE_TEXT_20:'20',\n OPTION_VALUE_TEXT_25:'25',\n PLACEHOLDER_SEARCH:'Search'\n },\n GRIDACTION:{\n TOOLTIP_TEXT_BUTTON_EDIT_RECORD:'Edit Record',\n TOOLTIP_TEXT_BUTTON_VIEW_ON_MAP:'View on Map',\n TOOLTIP_TEXT_BUTTON_SHARE:'Share',\n TOOLTIP_TEXT_BUTTON_LINK_RECORD:'Connect with this person',\n TOOLTIP_TEXT_BUTTON_DOC_DESCRIPTION:'Document Description',\n TOOLTIP_TEXT_BUTTON_DELETE_RECORD:'Delete Record',\n TOOLTIP_TEXT_BUTTON_DOWNLOAD_RECORD:'Download',\n TOOLTIP_TEXT_BUTTON_SEE_RECORD:'See Record',\n TOOLTIP_TEXT_BUTTON_VIEW_RECORD:'View Invoice',\n TOOLTIP_TEXT_ADD_NEW_RECORD:'Add New Record',\n TOOLTIP_TEXT_BUTTON_CLEAR_ALL_FILTERS:'Clear All Filters'\n },\n }\n};\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'fr',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Impossible de se connecter au serveur.'\n },\n SIGNIN: {\n WELCOME_TEXT: 'Bienvenue à Noosom',\n MOTIVATION_BADGE_SIGNIN:'Connectez-vous et commencez l\\'aventure',\n CONTROL_LABEL_EMAIL:'Adresse e-mail',\n CONTROL_LABEL_PASSWORD:'Mot de passe',\n CONTROL_LABEL_REMEMBERME:'Souviens-toi de moi',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Mot de passe oublié?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Créer un compte',\n TEXT_NEWONPLATFORM:'Nouveau sur notre plateforme ?',\n BUTTON_TEXT_LOGIN:'Connexion',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Vous avez réussi à vous connecter en tant qu\\'utilisateur {0} à Noosom. Vous pouvez maintenant commencer à explorer. Prendre plaisir! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Bienvenue, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'Le champ email est!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Le champ mot de passe est!',\n ERROR_MESSAGE_INVALID_EMAIL:'L\\'e-mail doit être une adresse e-mail valide',\n ERROR_MESSAGE_NOATTEMPTS:'Nom d\\'utilisateur ou mot de passe invalide. Il ne vous reste plus aucune tentative.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Votre adresse e-mail n\\'est pas vérifiée.
vérifiez d\\'abord votre adresse e-mail.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Vôtre compte a été bloqué.'},\n {ErrorCode:0,ErrorMessage:'Connexion réussie.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Nom d\\'utilisateur ou mot de passe invalide.
Il vous reste {0} tentatives.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administratrice'},{titlle:'Client',value:'Cliente'},{title:'User',value:'Utilisatrice'}]\n },\n SIGNUP:\n {\n MOTIVATION_BADGE_SIGNUP:'Inscrivez-vous et commencez l\\'aventure',\n STEPPER_TITLE_ACCOUNT:'Compte',\n STEPPER_SUB_TITLE_ACCOUNT:'Saisissez votre nom d\\'utilisateur',\n STEPPER_TITLE_PERSONAL:'Personnelle',\n STEPPER_SUB_TITLE_PERSONAL:'Entrez les informations',\n HEADING_ACCOUNT:'Information sur le compte',\n HEADING_PERSONAL:'Renseignements personnels',\n HEADING_SELECTPLAN:'Sélectionnez le plan',\n CONTROL_LABEL_USERID:'ID utilisateur Noosom',\n CONTROL_LABEL_EMAILADDRESS:'Adresse e-mail',\n CONTROL_LABEL_PASSWORD:'Mot de passe',\n CONTROL_LABEL_CONFIRMPASSWORD:'Confirmer votre mot de passe',\n CONTROL_LABEL_REGION:'Votre région',\n CONTROL_LABEL_HOMECOUNTRY:'Votre pays',\n CONTROL_LABEL_FIRSTNAME:'Prénom',\n CONTROL_LABEL_MIDDLENAME:'Deuxième nom',\n CONTROL_LABEL_LASTNAME:'Nom de famille',\n CONTROL_LABEL_BIRTHDATE:'Date de naissance',\n CONTROL_LABEL_MOBILENO:'Mobile Non',\n CONTROL_LABEL_SELECTPLAN:'Gratuit pour l\\'instant, ou achetez plus tard.',\n PLACEHOLDER_TYPEHERE:'Écrivez ici...',\n PLACEHOLDER_PASSWORD:'Mot de passe',\n PLACEHOLDER_REGION:'Choisissez une région',\n PLACEHOLDER_COUNTRY:'Choisissez le pays',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Précédente',\n BUTTON_TEXT_NEXT:'Prochaine',\n BUTTON_TEXT_SUBMIT:'Soumettre',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Vos données seront stockées',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'dans la région sélectionnée',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'Sélectionnez le pays',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Compte créé avec succès.',\n ERROR_MESSAGE_REQUIRED_USERID:'Le champ nom d\\'utilisateur est!',\n ERROR_MESSAGE_EXISTED_USERID:'Ce nom d\\'utilisateur a été pris. Veuillez en essayer un autre.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'Le champ adresse e-mail est!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Cette adresse e-mail a été prise. Veuillez en essayer un autre.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Le champ mot de passe est!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Doit contenir au moins un chiffre, une lettre majuscule et minuscule et un minimum de 8 caractères ou plus.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'Le mot de passe répété doit correspondre.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'Le champ de confirmation du mot de passe est!',\n ERROR_MESSAGE_REQUIRED_REGION:'Le champ région est!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'Le champ du pays',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'Le champ prénom est!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'Le champ du deuxième prénom est!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'Le champ nom de famille est!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'Le champ date de naissance est!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'Le mobile aucun champ n\\'est requis!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Veuillez sélectionner l\\'option de forfait gratuit!'\n }\n }\n};\n","import { Status } from \"app/enums\";\r\n\r\nexport const locale = {\r\n lang: 'gj',\r\n data: {\r\n COMMON:{\r\n ERROR_MESSAGE_CONNECTIONREFUSED:'સર્વર સાથે કનેક્ટ કરી શકાયું નથી'\r\n },\r\n SIGNIN: {\r\n WELCOME_TEXT: 'નૂસોમ માં આપનું સ્વાગત છે',\r\n MOTIVATION_BADGE_SIGNIN:'સાઇન ઇન કરો અને સાહસ શરૂ કરો',\r\n CONTROL_LABEL_EMAIL:'ઈ - મેઈલ સરનામું',\r\n CONTROL_LABEL_PASSWORD:'પાસવર્ડ',\r\n CONTROL_LABEL_REMEMBERME:'મને યાદ રાખો',\r\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\r\n LINK_TEXT_LABEL_FORGOTPASSWORD:'તમારો પાસવર્ડ ભૂલી ગયા છો?',\r\n LINK_TEXT_LABEL_CREATEACCOUNT:'એક ખાતુ બનાવો',\r\n TEXT_NEWONPLATFORM:'અમારા પ્લેટફોર્મ પર નવા છો?',\r\n BUTTON_TEXT_LOGIN:'પ્રવેશ કરો',\r\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'તમે Noosom માં {0} વપરાશકર્તા તરીકે સફળતાપૂર્વક લૉગ ઇન કર્યું છે. હવે તમે અન્વેષણ કરવાનું શરૂ કરી શકો છો. આનંદ માણો! 🎉',\r\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 સ્વાગત છે, {0}!',\r\n ERROR_MESSAGE_REQUIRED_EMAIL:'ઈમેલ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_PASSWORD:'પાસવર્ડ આવશ્યક છે!',\r\n ERROR_MESSAGE_INVALID_EMAIL:'ઇમેઇલ એક માન્ય ઇમેઇલ સરનામું હોવું આવશ્યક છે',\r\n ERROR_MESSAGE_NOATTEMPTS:'અમાન્ય વપરાશકર્તાનામ અથવા પાસવર્ડ. તમારી પાસે કોઈ પ્રયાસો બાકી નથી.',\r\n LOGIN_STATUS:\r\n [\r\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'તમારું ઇમેઇલ સરનામું ચકાસાયેલ નથી.
પહેલા તમારું ઇમેઇલ સરનામું બદલો.'},\r\n {ErrorCode:Status.AccountLocked,ErrorMessage:'તમારું એકાઉન્ટ લોક કરી દેવામાં આવ્યું છે.'},\r\n {ErrorCode:0,ErrorMessage:'લૉગ-ઇન સફળ.'},\r\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'અમાન્ય વપરાશકર્તાનામ અથવા પાસવર્ડ.
તમારી પાસે {0} પ્રયાસો બાકી છે.'}\r\n ],\r\n DIGITS:[\"૧\",\"૨\",\"૩\",\"૪\"],\r\n ROLES:[{title:'Admin',value:'એડમિન'},{titlle:'Client',value:'ક્લાયન્ટ'},{title:'User',value:'વપરાશકર્તા'}]\r\n },\r\n SIGNUP:\r\n {\r\n MOTIVATION_BADGE_SIGNUP:'સાઇન અપ કરો અને સાહસ શરૂ કરો',\r\n STEPPER_TITLE_ACCOUNT:'એકાઉન્ટ',\r\n STEPPER_SUB_TITLE_ACCOUNT:'વપરાશકર્તા નામ દાખલ કરો',\r\n STEPPER_TITLE_PERSONAL:'અંગત',\r\n STEPPER_SUB_TITLE_PERSONAL:'માહિતી દાખલ કરો',\r\n HEADING_ACCOUNT:'ખાતાની માહિતી',\r\n HEADING_PERSONAL:'વ્યક્તિગત માહિતી',\r\n HEADING_SELECTPLAN:'પ્લાન પસંદ કરો',\r\n CONTROL_LABEL_USERID:'નૂસોમ વપરાશકર્તા આઈડી',\r\n CONTROL_LABEL_EMAILADDRESS:'ઈ - મેઈલ સરનામું',\r\n CONTROL_LABEL_PASSWORD:'પાસવર્ડ',\r\n CONTROL_LABEL_CONFIRMPASSWORD:'તમારા પાસવર્ડની ખાતરી કરો',\r\n CONTROL_LABEL_REGION:'તમારો પ્રદેશ',\r\n CONTROL_LABEL_HOMECOUNTRY:'તમારો દેશ',\r\n CONTROL_LABEL_FIRSTNAME:'પ્રથમ નામ',\r\n CONTROL_LABEL_MIDDLENAME:'પિતાનું નામ',\r\n CONTROL_LABEL_LASTNAME:'છેલ્લું નામ',\r\n CONTROL_LABEL_BIRTHDATE:'જન્મ તારીખ',\r\n CONTROL_LABEL_MOBILENO:'મોબાઈલ નમ્બર',\r\n CONTROL_LABEL_SELECTPLAN:'હમણાં માટે હંમેશ માટે મફત, અથવા પછીથી ખરીદો.',\r\n PLACEHOLDER_TYPEHERE:'અહી લખો...',\r\n PLACEHOLDER_PASSWORD:'પાસવર્ડ',\r\n PLACEHOLDER_REGION:'પ્રદેશ પસંદ કરો',\r\n PLACEHOLDER_COUNTRY:'દેશ પસંદ કરો',\r\n PLACEHOLDER_TELEPHONENUMBER:'૦૧૨૩૪૫૬૭૮૯',\r\n BUTTON_TEXT_PREVIOUS:'અગાઉના',\r\n BUTTON_TEXT_NEXT:'આગળ',\r\n BUTTON_TEXT_SUBMIT:'સબમિટ કરો',\r\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'તમારો ડેટા પસંદ કરેલ પ્રદેશમાં',\r\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'સંગ્રહિત કરવામાં આવશે',\r\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'દેશ પસંદ કરો',\r\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'એકાઉન્ટ સફળતાપૂર્વક બનાવ્યું.',\r\n ERROR_MESSAGE_REQUIRED_USERID:'યુઝરનેમ આવશ્યક છે!',\r\n ERROR_MESSAGE_EXISTED_USERID:'તે વપરાશકર્તા નામ લેવામાં આવ્યું છે. કૃપા કરીને બીજો પ્રયાસ કરો.',\r\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'ઈમેલ એડ્રેસ ફીલ્ડ છે!',\r\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'તે ઈમેલ એડ્રેસ લેવામાં આવ્યું છે. કૃપા કરીને બીજો પ્રયાસ કરો.',\r\n ERROR_MESSAGE_REQUIRED_PASSWORD:'પાસવર્ડ ફીલ્ડ છે!',\r\n ERROR_MESSAGE_INVALID_PASSWORD:'ઓછામાં ઓછા એક નંબર, એક અપરકેસ અને લોઅરકેસ અક્ષર અને ઓછામાં ઓછા 8 અથવા વધુ અક્ષરો હોવા જોઈએ.',\r\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'પુનરાવર્તિત પાસવર્ડ મેળ ખાતો હોવો જોઈએ.',\r\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'કન્ફર્મ પાસવર્ડ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_REGION:'પ્રદેશ ક્ષેત્ર આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'દેશ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'પ્રથમ નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'મધ્યમ નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_LASTNAME:'છેલ્લું નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'જન્મ તારીખ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_MOBILENO:'મોબાઇલ નંબર આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'કૃપા કરીને ફ્રી પ્લાન વિકલ્પ પસંદ કરો!'\r\n }\r\n }\r\n };\r\n ","import { Status } from \"app/enums\";\r\n\r\nexport const locale = {\r\n lang: 'hn',\r\n data: {\r\n COMMON: {\r\n CONTROL_LABEL_EMAIL_ADDRESS: 'ईमेल पता',\r\n PLACEHOLDER_EMAIL_ADDRESS: 'यहाँ लिखो...',\r\n PLACEHOLDER_TYPE_HERE: 'यहाँ लिखो...',\r\n PLACEHOLDER_MOBILE_NUMBER: '०१२३४५६७८९',\r\n BUTTON_TEXT_SAVE_CHANGES: 'परिवर्तनों को सुरक्षित करें',\r\n ERROR_MESSAGE_REQUIRED_EMAIL_ADDRESS: 'ईमेल की आवश्यकता है!',\r\n ERROR_MESSAGE_INVALID_EMAIL: 'कृपया अपना ईमेल पता प्रारूप में दर्ज करें:\\nyourname@example.com',\r\n ERROR_MESSAGE_CONNECTIONREFUSED: 'सर्वर से कनेक्ट नहीं हो सका.',\r\n COMMON_STATUS:\r\n [\r\n { ErrorCode: Status.UserNotFound, ErrorMessage: 'उपयोगकर्ता नहीं मिल सका।' }\r\n ],\r\n },\r\n GRIDVIEW: {\r\n BUTTON_TEXT_VIEW_ALL_ON_A_MAP: 'मानचित्र पर सभी देखें',\r\n CONTROL_LABEL_SEARCH: 'खोजे',\r\n CONTROL_LABEL_SHOW: 'दिखाएँ',\r\n CONTROL_LABEL_SHOW_ALL: 'सभी दिखाएँ',\r\n CHARACTER_COUNT: 'अक्षर गणना',\r\n // OPTION_VALUE_TEXT_5: '५',\r\n // OPTION_VALUE_TEXT_10: '१०',\r\n // OPTION_VALUE_TEXT_15: '१५',\r\n // OPTION_VALUE_TEXT_20: '२०',\r\n // OPTION_VALUE_TEXT_25: '२५',\r\n OPTION_VALUE_TEXT_5:'5',\r\n OPTION_VALUE_TEXT_10:'10',\r\n OPTION_VALUE_TEXT_15:'15',\r\n OPTION_VALUE_TEXT_20:'20',\r\n OPTION_VALUE_TEXT_25:'25',\r\n PLACEHOLDER_SEARCH: 'खोजे',\r\n },\r\n GRIDACTION: {\r\n TOOLTIP_TEXT_BUTTON_EDIT_RECORD: 'रिकॉर्ड संपादित करें',\r\n TOOLTIP_TEXT_BUTTON_VIEW_ON_MAP: 'मानचित्र पर देखें',\r\n TOOLTIP_TEXT_BUTTON_SHARE: 'साझा करें',\r\n TOOLTIP_TEXT_BUTTON_DELETE_RECORD: 'रिकॉर्ड हटाएं',\r\n TOOLTIP_TEXT_BUTTON_LINK_RECORD: 'इस व्यक्ति से जुड़ें',\r\n TOOLTIP_TEXT_BUTTON_DOC_DESCRIPTION: 'दस्तावेज़ विवरण',\r\n TOOLTIP_TEXT_BUTTON_DOWNLOAD_RECORD: 'डाउनलोड',\r\n TOOLTIP_TEXT_BUTTON_SEE_RECORD: 'रिकॉर्ड देखें',\r\n TOOLTIP_TEXT_BUTTON_VIEW_RECORD: 'रिकॉर्ड देखें',\r\n TOOLTIP_TEXT_ADD_NEW_RECORD: 'नया रिकॉर्ड जोड़ें',\r\n TOOLTIP_TEXT_BUTTON_CLEAR_ALL_FILTERS:'सभी फ़िल्टर साफ़ करें'\r\n\r\n },\r\n }\r\n};\r\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'pt',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Não foi possível conectar com o servidor'\n },\n SIGNIN: {\n WELCOME_TEXT: 'Bem-vindo ao Noosom',\n MOTIVATION_BADGE_SIGNIN:'Faça login e comece a aventura',\n CONTROL_LABEL_EMAIL:'Endereço de email',\n CONTROL_LABEL_PASSWORD:'Senha',\n CONTROL_LABEL_REMEMBERME:'Lembre de mim',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Esqueceu sua senha?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Crie a sua conta aqui',\n TEXT_NEWONPLATFORM:'Novo em nossa plataforma?',\n BUTTON_TEXT_LOGIN:'Conecte-se',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Você fez login com sucesso como um usuário {0} no Noosom. Agora você pode começar a explorar. Apreciar! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Bem-vindo, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'O campo de e-mail!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'O campo de senha!',\n ERROR_MESSAGE_INVALID_EMAIL:'O e-mail deve ser um endereço de e-mail válido',\n ERROR_MESSAGE_NOATTEMPTS:'Nome de usuário ou senha inválidos. Não há tentativas restantes.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Seu endereço de e-mail não foi verificado.
primeiro varie seu endereço de e-mail.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Sua conta foi bloqueada.'},\n {ErrorCode:0,ErrorMessage:'Logado com sucesso.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Nome de usuário ou senha inválidos.
Você tem {0} tentativas restantes.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administrador'},{titlle:'Client',value:'Cliente'},{title:'User',value:'Do utilizador'}]\n },\n SIGNUP:\n {\n STEPPER_TITLE_ACCOUNT:'Conta',\n STEPPER_SUB_TITLE_ACCOUNT:'Insira nome de usuário',\n STEPPER_TITLE_PERSONAL:'Pessoal',\n STEPPER_SUB_TITLE_PERSONAL:'Insira as informações',\n HEADING_ACCOUNT:'Informação da conta',\n HEADING_PERSONAL:'Informação pessoal',\n HEADING_SELECTPLAN:'Selecione o plano',\n CONTROL_LABEL_USERID:'ID de usuário Noosom',\n CONTROL_LABEL_EMAILADDRESS:'Endereço de email',\n CONTROL_LABEL_PASSWORD:'Senha',\n CONTROL_LABEL_CONFIRMPASSWORD:'Confirme sua senha',\n CONTROL_LABEL_REGION:'Sua região',\n CONTROL_LABEL_HOMECOUNTRY:'Seu país de',\n CONTROL_LABEL_FIRSTNAME:'Primeiro nome',\n CONTROL_LABEL_MIDDLENAME:'Nome do meio',\n CONTROL_LABEL_LASTNAME:'Sobrenome',\n CONTROL_LABEL_BIRTHDATE:'Data de nascimento',\n CONTROL_LABEL_MOBILENO:'Celular não',\n CONTROL_LABEL_SELECTPLAN:'Grátis para sempre por agora, ou compre mais tarde.',\n PLACEHOLDER_TYPEHERE:'Digite aqui...',\n PLACEHOLDER_PASSWORD:'Senha',\n PLACEHOLDER_REGION:'Selecione a região',\n PLACEHOLDER_COUNTRY:'Selecione o pais',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Anterior',\n BUTTON_TEXT_NEXT:'Próxima',\n BUTTON_TEXT_SUBMIT:'Enviar',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Seus dados serão armazenados',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'na região selecionada',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'Selecione o país de',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Conta criada com sucesso.',\n ERROR_MESSAGE_REQUIRED_USERID:'O campo de nome de usuário!',\n ERROR_MESSAGE_EXISTED_USERID:'Esse nome de usuário foi usado. Por favor, tente outro.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'O campo de endereço de e-mail!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Esse endereço de e-mail foi usado. Por favor, tente outro.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'O campo de senha!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Deve conter pelo menos um número, uma letra maiúscula e uma minúscula e um mínimo de 8 ou mais caracteres.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'A senha repetida deve corresponder.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'O campo de confirmação de senha!',\n ERROR_MESSAGE_REQUIRED_REGION:'O campo região!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'O campo do país de!',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'O campo de nome!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'O campo de nome do meio!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'O campo sobrenome!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'O campo data de nascimento!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'O celular nenhum campo!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Selecione a opção de plano gratuito!'\n }\n }\n};\n","\n
\n
\n
\n
\n
\n

{{ dynamicTitle }} \n

\n

{{ dynamicTitle }} \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
\n\n
\n
\n \n
\n
\n
\n
","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { ColDef, ColGroupDef, GridApi, ColumnApi, GridReadyEvent,ITooltipParams, StatusPanelDef, RowDataChangedEvent, FirstDataRenderedEvent, SortChangedEvent, GridOptions, _ } from 'ag-grid-community';\nimport { GridActionColumnComponent } from '../grid-action-column/grid-action-column.component';\nimport { locale as english } from 'app/CustomComponents/grid-view/i18n/en';\nimport { locale as french } from 'app/CustomComponents/grid-view/i18n/fr';\nimport { locale as german } from 'app/CustomComponents/grid-view/i18n/de';\nimport { locale as portuguese } from 'app/CustomComponents/grid-view/i18n/pt';\nimport { locale as gujarati } from 'app/CustomComponents/grid-view/i18n/gj';\nimport { locale as hindi } from 'app/CustomComponents/grid-view/i18n/hn';\nimport { CoreTranslationService } from '@core/services/translation.service';\nimport { GlobalService } from 'app/Services/global.service';\nimport { ClearFilterComponent } from '../clear-filter/clear-filter.component';\n\n@Component({\n selector: 'app-newgirdview',\n templateUrl: './newgirdview.component.html',\n styleUrls: ['./newgirdview.component.scss']\n})\nexport class NewgirdviewComponent implements OnInit {\n @ViewChild('agGrid', { read: ElementRef }) agGridElement: ElementRef;\n //selectedValue: number = 15;\n private gridApi!: GridApi;\n private gridColumnApi: ColumnApi;\n @Input() columnDefs: (ColDef | ColGroupDef)[] = [];\n @Input() defaultColDef: ColDef = {\n sortable: true,\n filter: true,\n resizable: true,\n flex:1,\n autoHeight: true,\n // filterFramework: ClearFilterComponent,\n comparator: customComparator\n //wrapText: true,\n };\n @Input() GridID: string = \"myGrid\";\n @Input() gridOptions: GridOptions;\n @Input() rowData: any[] | null = [];\n @Input() dropdownOptions: any[] | null = [];\n @Input() pagination: boolean = true;\n @Input() animateRows: boolean = true;\n @Input() paginationPageSize: number = 5;\n @Input() rowSelection: 'multiple' | 'single' = 'multiple';\n @Input() domLayout: 'normal' | 'autoHeight' | 'print' = 'autoHeight';\n @Input() popupParent: HTMLElement | null = document.body;\n @Input() editActionVisible: boolean = true;\n @Input() viewMapActionVisible: boolean = true;\n @Input() deleteActionVisible: boolean = true;\n @Input() downloadActionVisible: boolean = false;\n @Input() seeRecordActionVisible: boolean = false;\n @Input() seeLinkActionVisible: boolean = false;\n @Input() seeViewActionVisible: boolean = false;\n @Input() seeDescriptionActionVisible: boolean = false;\n @Input() seepageButton: boolean = false;\n @Input() seemapButton: boolean = false;\n @Input() seeShareButton: boolean = false;\n @Input() seetoggleButton: boolean = false;\n @Input() seedropDownButton: boolean = false;\n @Input() seeNewRecordButton: boolean = true;\n @Input() tooltipInfo: string = \"\";\n @Input() position:string = \"\";\n @Input() showInfoIcon:boolean = false;\n @Input() showNewHeading:boolean = false;\n @Input() style: any = {\n width: '100%', height: '100%', flex: '1 1 auto',\n };\n @Input() statusBar: {\n statusPanels: StatusPanelDef[];\n } = {\n statusPanels: [\n { statusPanel: 'agTotalAndFilteredRowCountComponent', align: 'left' },\n { statusPanel: 'agTotalRowCountComponent', align: 'left' },\n { statusPanel: 'agFilteredRowCountComponent' },\n { statusPanel: 'agSelectedRowCountComponent' },\n { statusPanel: 'agAggregationComponent' },\n ],\n };\n\n @Output() ActionButtonClicked: EventEmitter = new EventEmitter();\n @Output() Onseepage= new EventEmitter();\n @Output() customPaginationChanged = new EventEmitter();\n @Output() clicked: EventEmitter = new EventEmitter();\n @Output() clicked2: EventEmitter = new EventEmitter();\n @Output() clicked3: EventEmitter = new EventEmitter();\n @Output() cellDoubleClicked = new EventEmitter();\n @Output() toggle=new EventEmitter();\n @Input() dynamicTitle: string;\n @Input() dynamicName: string;\n @Output() gridApiReady = new EventEmitter(); // Emit gridApi to parent\n private initialLoad = true;\n constructor(\n private _coreTranslationService: CoreTranslationService,\n private globalService: GlobalService,\n ) {\n this.gridOptions = {\n context: {\n componentParent: this,\n }\n };\n this._coreTranslationService.translate(english, french, german, portuguese, gujarati, hindi);\n }\n\n ngOnInit(): void {\n\n }\n\n \n \n\n checkboxStateChange1(event:Event){\n const isChecked = (event.target as HTMLInputElement).checked;\n // console.log('Checkbox state:', isChecked);\n this.toggle.emit(isChecked)\n // console.log()\n }\n\n // updateRowData(rowCount: number) {\n // this.gridApi.setRowData(getData(rowCount));\n // if (document.querySelector('#currentRowCount'))\n // document.querySelector('#currentRowCount')!.innerHTML = `${rowCount}`;\n // }\n\n onPageSizeChanged(event: Event) {\n var value = (event.target as HTMLInputElement).value;\n this.gridApi.paginationSetPageSize(Number(value));\n if(this.seepageButton){\n this.Onseepage.emit(value)\n }\n this.SetColumnWidths();\n this.GridRefresh();\n }\n\n onClick(): void {\n this.clicked.emit();\n }\n onClick2(): void {\n this.clicked2.emit();\n }\n onClick3(): void {\n this.clicked3.emit();\n }\n onCellDoubleClicked(event: any): void {\n this.cellDoubleClicked.emit(event);\n }\n \n onPaginationChanged(event: any) {\n if(this.seepageButton){\n if (this.initialLoad) {\n // Set a timeout to allow the grid to render\n setTimeout(() => {\n this.initialLoad = false;\n }, 0);\n return;\n }\n\n // Extract the current page number from the ag-Grid event\n const currentPage = event.api.paginationGetCurrentPage() + 1;\n\n // Emit a custom event with the current page number\n this.customPaginationChanged.emit(currentPage);}\n }\n\n onFilterTextBoxChanged(event: Event) {\n this.gridApi.setQuickFilter(\n (event.target as HTMLInputElement).value\n );\n }\n\n autoSizeAll(skipHeader: boolean = false) {\n //console.log('autoSizeAll');\n const allColumnIds: string[] = [];\n if (this.gridColumnApi.getColumns()) {\n this.gridColumnApi.getColumns()!.forEach((column) => {\n allColumnIds.push(column.getId());\n });\n }\n this.gridColumnApi.autoSizeColumns(allColumnIds, skipHeader);\n }\n\n // rowSelection: RowSelectionOptions | \"single\" | \"multiple\" = {\n // mode: \"multiRow\",\n // headerCheckbox: false,\n // };\n\n buttonClicked() {\n alert(`medals won!`)\n }\n\n GridRefresh() {\n //console.log('GridRefresh');\n //this.SetColumnWidths();\n setTimeout(() => {\n // this.autoSizeAll();\n if(this.columnDefs){\n if([...this.columnDefs])\n this.columnDefs = [...this.columnDefs];}\n if(this.rowData){\n if([...this.rowData])\n this.rowData = [...this.rowData];}\n if (this.gridOptions.api)\n this.gridOptions.api.redrawRows();\n this.SetColumnWidths();\n }, 250);\n }\n\n onGridReady(params: GridReadyEvent) {\n //console.log('onGridReady');\n this.gridApi = params.api;\n this.gridColumnApi = params.columnApi;\n this.gridApiReady.emit(this.gridApi);\n //this.gridColumnApi.autoSizeAllColumns(false);\n //this.autoSizeAll();\n setTimeout(() => {\n this.SetColumnWidths();\n }, 50);\n if (document.querySelector('#currentRowCount'))\n document.querySelector('#currentRowCount')!.innerHTML = '5';\n }\n\n SetColumnWidths() {\n //console.log('SetColumnWidths');\n // const availableWidth = this.agGridElement.nativeElement.clientWidth;\n // const displayedColumns = this.gridColumnApi.getAllDisplayedColumns();\n // const usedWidth = this.globalService.getSumByKey(displayedColumns, 'actualWidth');\n //console.log('usedWidth');\n //console.log(usedWidth);\n //console.log('availableWidth');\n //console.log(availableWidth);\n // if (usedWidth < availableWidth) {\n // this.gridApi.sizeColumnsToFit();\n // } else {\n this.autoSizeAll();\n //}\n }\n\n OnSortChanged(params: SortChangedEvent) {\n //this.autoSizeAll();\n this.SetColumnWidths();\n }\n\n OnFirstDataRendered(params: FirstDataRenderedEvent) {\n //this.autoSizeAll();\n this.SetColumnWidths();\n }\n\n onRowDataChanged(params: RowDataChangedEvent) {\n // this.autoSizeAll();\n this.SetColumnWidths();\n }\n\n clearAllFilters() {\n this.gridApi.setFilterModel(null); // Reset all filters\n }\n}\n\nconst customComparator = (valueA, valueB) => {\n return valueA.toLowerCase().localeCompare(valueB.toLowerCase());\n};","
\n
\n \n
\n
\n \n
\n \n
\n
\n

{{'GRIDVIEW.CHARACTER_COUNT'|translate}}: {{ characterCount }} / {{ maxlength }}

\n
\n","import { AfterViewInit, Attribute, Component, ElementRef, EventEmitter, Input, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { locale as english } from 'app/CustomComponents/grid-view/i18n/en';\nimport { locale as french } from 'app/CustomComponents/grid-view/i18n/fr';\nimport { locale as german } from 'app/CustomComponents/grid-view/i18n/de';\nimport { locale as portuguese } from 'app/CustomComponents/grid-view/i18n/pt';\nimport { locale as gujarati } from 'app/CustomComponents/grid-view/i18n/gj';\nimport { locale as hindi } from 'app/CustomComponents/grid-view/i18n/hn';\nimport { CoreTranslationService } from '@core/services/translation.service';\n@Component({\n selector: 'app-text-box',\n templateUrl: './text-box.component.html',\n styleUrls: ['./text-box.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: TextBoxComponent,\n multi: true\n }\n ]\n})\nexport class TextBoxComponent implements OnInit, ControlValueAccessor {\n\n @ViewChild('textBox', { read: ElementRef }) textBox: ElementRef;\n public passwordTextType: boolean;\n\n @Input() for: string = \"\";\n @Input() label: string = \"Default label\";\n //@Input() characterCount = \"\";\n @Input() maxChars = \"\";\n @Input() maxlength: number; \n @Input() type: string = \"text\";\n @Input() formControlName: string = \"\";\n @Input() placeholder: string = \"\";\n @Input() showEyeIcon: boolean = false;\n @Input() classes: string = \"\";\n @Input() textBoxLinkLabel: string = \"\";\n @Input() textBoxLinkURL: string = \"\";\n @Input() required: boolean = false;\n @Input() showRequiredSign: boolean = false;\n @Input() applyMargin: boolean = false;\n @Input() tooltipInfo: string = \"\";\n @Input() position:string = \"\";\n @Input() showInfoIcon:boolean = false;\n @Input() tabindex: string = \"\";\n @Output() OnFocusOut: EventEmitter = new EventEmitter();\n //value!: string;\n private _value: string = '';\n public readonly: string = \"\";\n public autocomplete: string = \"off\";\n public autofocus: string = \"\";\n public aria_describedby: string = \"\";\n public for_lbl: string = \"\";\n OnChange: (val: string) => void;\n characterCount: number = 0;\n\n constructor(\n // @Attribute('tabindex') tabindex: string = \"0\",\n @Attribute('readonly') readonly: string = \"\",\n @Attribute('autocomplete') autocomplete: string = \"\",\n // @Attribute('autofocus') autofocus:string=\"\",\n @Attribute('aria-describedby') aria_describedby: string = \"\",\n @Attribute('for') for_lbl: string = \"\",\n private _coreTranslationService: CoreTranslationService,\n ) {\n // this.tabindex = tabindex;\n this._coreTranslationService.translate(english, french, german, portuguese, gujarati, hindi);\n this.readonly = readonly;\n this.autocomplete = autocomplete;\n // this.autofocus=autofocus;\n this.aria_describedby = aria_describedby,\n this.for_lbl = for_lbl\n }\n @Input()\n get value(): string {\n return this._value;\n }\n\n set value(val: string) {\n this._value = val;\n this.updateCharacterCount(val);\n }\n\n\n updateCharacterCount(value: string) {\n // console.log(this.maxlength)\n this.characterCount = value ? value.length : 0;\n }\n writeValue(obj: any): void {\n this.value = obj;\n }\n registerOnChange(fn: any): void {\n this.OnChange = fn;\n }\n registerOnTouched(fn: any): void {\n\n }\n setDisabledState?(isDisabled: boolean): void {\n\n }\n\n ngOnInit(): void {\n }\n togglePasswordTextType() {\n if (this.type == \"password\") {\n this.passwordTextType = !this.passwordTextType;\n }\n }\n emitFocusOutEvent(event) {\n this.OnFocusOut.emit(event);\n }\n // updateCharacterCount(text): void {\n // console.log(text)\n // // Update the character count with the length of the input text\n // this.characterCount = text.length;}\n\n}\n\n","import { UserSettingsModel } from \"app/auth/models/user\";\nimport { CountryListOutputModel } from \"app/Models/country-model.model\";\nimport { TblErrorLogs } from \"app/Models/error-log-model.model\";\nimport { RegionListOutputModel } from \"app/Models/region-model.model\";\n\nexport class TblUsers {\n UserId: number;\n UserName: string;\n EmailAddress: string;\n FullName: string;\n Password: string;\n PasswordQuestion: string;\n Otp: string;\n OtpsaveDate: Date;\n OtpsaveTime: Date;\n OtprememberMeYn: boolean;\n OtprememberDays: boolean;\n LastLoginDate: Date;\n LastActivityDate: Date;\n LastPasswordChangedDate: Date;\n LastLockedOutDate: Date;\n ApprovedYn: boolean;\n InActiveYn: boolean\n LoggedInYn: boolean;\n LogOutYn: boolean;\n LockedOutYn: boolean;\n MustChangePasswordYn: boolean\n SendSmsyn: boolean;\n SessionTimeoutYn: boolean;\n SessionTimeOut: number;\n TimelineTabsInfo: string;\n SessionId: string;\n CreatedDate: Date;\n CreatedTime: Date;\n CreatedBy: number;\n ChangedDate: Date;\n ChangedTime: Date;\n ChangedBy: number;\n}\nexport class SignupInputModel {\n UserName: string;\n EmailAddress: string;\n Password: string;\n CountryId: number;\n // MobileCountryId: number;\n ContactNumberCountryCode: string;\n //PlanId: number;\n //RegionId: number;\n FirstName: string;\n //MiddleName: string;\n LastName: string;\n DateofBirth: string;\n // MobileNumber: string;\n NoosomWebUrl: string;\n CreatedDate: Date;\n CreatedTime: Date;\n CreatedBy: number;\n ChangedDate: Date;\n ChangedTime: Date;\n ChangedBy: number;\n}\n\nexport class SigninInputModel {\n UserName: string;\n Password: string;\n ErrorLog: TblErrorLogs;\n NotificationToken?: string;\n}\n\nexport class SignupLoadDataOutputModel {\n CountryList: Array\n}\n\nexport class SignupOutputModel {\n UserId: number;\n UserDetailsId: number;\n FirstName: string\n LastName: string;\n Email: string;\n}\n\nexport class ForgotPasswordInputModel {\n Email: string;\n}\n\nexport class ResetPasswordInputModel {\n NewPassword: string;\n UserId: number;\n Email: string;\n}\nexport class SignOutInputModel {\n UserId: number;\n UserSettings: UserSettingsModel;\n UserDetailId:number;\n NotificationToken:string;\n}\nexport class ValidateMobileNumberInputModel {\n MobileNumber: string;\n ContactNumberCountryCode : string;\n}","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'de',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Es konnte keine Verbindung zum Server hergestellt werden.'\n },\n SIGNIN: {\n MOTIVATION_BADGE_SIGNIN:'Melden Sie sich an und starten Sie das Abenteuer',\n WELCOME_TEXT: 'Willkommen bei Noosom',\n CONTROL_LABEL_EMAIL:'E-Mail-Addresse',\n CONTROL_LABEL_PASSWORD:'Passwort',\n CONTROL_LABEL_REMEMBERME:'Erinnere dich an mich',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Haben Sie Ihr Passwort vergessen?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Ein Konto erstellen',\n TEXT_NEWONPLATFORM:'Neu auf unserer Plattform?',\n BUTTON_TEXT_LOGIN:'Anmeldung',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Sie haben sich erfolgreich als {0}-Benutzer bei Noosom angemeldet. Jetzt können Sie mit der Erkundung beginnen. Genießen! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Willkommen, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'Das E-Mail-Feld ist!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Das Passwortfeld ist!',\n ERROR_MESSAGE_INVALID_EMAIL:'E-Mail muss eine gültige E-Mail-Adresse sein',\n ERROR_MESSAGE_NOATTEMPTS:'Ungültiger Benutzername oder ungültiges Passwort.
Sie haben keine weiteren Versuche mehr.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Ihre E-Mail-Adresse wurde nicht verifiziert.
überprüfen Sie zuerst Ihre E-Mail-Adresse.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Dein Account wurde gesperrt.'},\n {ErrorCode:0,ErrorMessage:'Eingeloggt erfolgreich.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Ungültiger Benutzername oder ungültiges Passwort. Sie haben noch {0} Versuche.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administratorin'},{titlle:'Client',value:'Klientin'},{title:'User',value:'Benutzer'}]\n },\n SIGNUP:\n {\n MOTIVATION_BADGE_SIGNUP:'Melden Sie sich an und starten Sie das Abenteuer',\n STEPPER_TITLE_ACCOUNT:'Konto',\n STEPPER_SUB_TITLE_ACCOUNT:'Benutzernamen eingeben',\n STEPPER_TITLE_PERSONAL:'persönlich',\n STEPPER_SUB_TITLE_PERSONAL:'Information eingeben',\n HEADING_ACCOUNT:'Kontoinformationen',\n HEADING_PERSONAL:'Persönliche Informationen',\n HEADING_SELECTPLAN:'Plan auswählen',\n CONTROL_LABEL_USERID:'Noosom-Benutzer-ID',\n CONTROL_LABEL_EMAILADDRESS:'E-Mail-Addresse',\n CONTROL_LABEL_PASSWORD:'Passwort',\n CONTROL_LABEL_CONFIRMPASSWORD:'Bestätigen Sie Ihr Passwort',\n CONTROL_LABEL_REGION:'Ihre Region',\n CONTROL_LABEL_HOMECOUNTRY:'Ihr land',\n CONTROL_LABEL_FIRSTNAME:'Vorname',\n CONTROL_LABEL_MIDDLENAME:'Zweiter Vorname',\n CONTROL_LABEL_LASTNAME:'Nachname',\n CONTROL_LABEL_BIRTHDATE:'Geburtsdatum',\n CONTROL_LABEL_MOBILENO:'Handy-Nr',\n CONTROL_LABEL_SELECTPLAN:'Jetzt für immer kostenlos oder später kaufen.',\n PLACEHOLDER_TYPEHERE:'Geben Sie hier ein ...',\n PLACEHOLDER_PASSWORD:'Passwort',\n PLACEHOLDER_REGION:'Region wählen',\n PLACEHOLDER_COUNTRY:'Land auswählen',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Vorherige',\n BUTTON_TEXT_NEXT:'Nächste',\n BUTTON_TEXT_SUBMIT:'Einreichen',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Ihre Daten werden gespeichert',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'in der ausgewählten Region',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'land auswählen',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Konto erfolgreich erstellt.',\n ERROR_MESSAGE_REQUIRED_USERID:'Das Feld „Benutzername“ ist! Das Feld „E-Mail“ ist',\n ERROR_MESSAGE_EXISTED_USERID:'Dieser Benutzername wurde vergeben. Bitte versuchen Sie es mit einem anderen.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'Das Feld für die E-Mail-Adresse ist!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Diese E-Mail-Adresse wurde übernommen. Bitte versuchen Sie es mit einem anderen.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Das Passwortfeld ist!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Muss mindestens eine Zahl, einen Groß- und Kleinbuchstaben und mindestens 8 Zeichen enthalten.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'Passwort wiederholen muss übereinstimmen.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'Das Feld Passwort bestätigen ist!',\n ERROR_MESSAGE_REQUIRED_REGION:'Das Regionsfeld ist!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'Das Feld land ist!',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'Das Vornamensfeld ist!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'Das Feld für den zweiten Vornamen ist!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'Das Feld Nachname ist!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'Das Feld Geburtsdatum ist!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'Das Handy ist kein Pflichtfeld!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Bitte wählen Sie die kostenlose Planoption!',\n }\n }\n};\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'en',\n data: {\n COMMON: {\n THANKS_BADGE_SIGNUP: 'Thanks for signing up!',\n TEXT_HEY: 'Hey',\n TEXT_THANKS: 'Thanks,',\n TEXT_NOOSOM_TEAM: 'The Noosom Team',\n TEXT_READ_OUR: 'Read our',\n LINK_TEXT_PRIVACY_POLICY: 'Privacy Policy',\n LINK_TEXT_TERMS_CONDITIONS: 'Terms & Conditions',\n LINK_TEXT_BACK_TO_LOGIN: 'Back to Login',\n PLACEHOLDER_EMAIL: 'Type here...',\n PLACEHOLDER_TYPE_HERE: 'Type here...',\n CONTROL_LABEL_EMAIL: 'Email',\n CONTROL_LABEL_EMAIL_ADDRESS: 'Email Address',\n CONTROL_LABEL_CONFIRM_PASSWORD: 'Confirm Password',\n BUTTON_TEXT_SAVE_CHANGES: 'Save changes',\n TOAST_MESSAGE_SUCCESSFUL_OTP_VERIFIED: 'OTP verified successfully.',\n ERROR_MESSAGE_REQUIRED_EMAIL: 'The email address is required!',\n ERROR_MESSAGE_REQUIRED_PASSWORD: 'The password is required!',\n ERROR_MESSAGE_INVALID_EMAIL: 'Please enter your email address in format:\\nyourname@example.com',\n ERROR_MESSAGE_INVALID_PASSWORD: 'Must contain at least one number [0-9] and special character [~`! @#$%^&*()-_+={}[]|\\;:\"<>,./?], one uppercase [A-Z] and lowercase letter [a-z], and a minimum of 6 or more characters.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD: 'Confirm password must match.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD: 'The confirm password is required!',\n ERROR_MESSAGE_CONNECTIONREFUSED: 'Could not connect with server.',\n ERROR_MESSAGE_INVALID_OTP_DATA: 'Enter valid OTP data.',\n ERROR_MESSAGE_INVALID_OTP: 'Enter valid OTP.',\n INVITATION_TEXT:'You have got an invitation to Connect on Noosom from your 0: name.',\n COMMON_STATUS:\n [\n { ErrorCode: Status.InvalidOTP, ErrorMessage: 'Invalid OTP.' },\n { ErrorCode: Status.UserNotFound, ErrorMessage: 'This email address is not registered with any Noosom account.' }\n ],\n },\n SIGNIN: {\n WELCOME_TEXT: 'Welcome to Noosom',\n MOTIVATION_BADGE_SIGNIN: 'Sign-In and start the adventure',\n SIGNIN_AGREEMENT_TEXT: 'By signing in, you agree to our',\n SIGNUP_AGREEMENT_TEXT: 'By signing up, you agree to our',\n TOOLTIP_TEXT_BUTTON_LOGIN: 'Login',\n CONTROL_LABEL_EMAIL: 'Email Address',\n CONTROL_LABEL_PASSWORD: 'Password',\n CONTROL_LABEL_REMEMBERME: 'Remember Me',\n LINK_TEXT_LABEL_FORGOTPASSWORD: 'Forgot Your Password?',\n LINK_TEXT_LABEL_CREATEACCOUNT: 'Create an Account',\n LABEL_TEXT_VERSION: 'Version',\n LABEL_TEXT_UPDATED_ON: 'Updated on',\n TEXT_NEWONPLATFORM: 'New on our platform?',\n BUTTON_TEXT_LOGIN: 'Login',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE: 'You have successfully logged in as an {0} user to Noosom. Now you can start to explore. Enjoy! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT: '👋 Welcome, {0}!',\n ERROR_MESSAGE_NOATTEMPTS: 'Invalid username or password. You have no attempts remaining.',\n LOGIN_STATUS:\n [\n { ErrorCode: Status.UserNotFound, ErrorMessage: 'Sorry. The email address that you have entered does not match any account.
Check again or sign up for an account.' },\n { ErrorCode: Status.EmailNotVarified, ErrorMessage: 'Your email address is not verified.
First verify your email address.' },\n { ErrorCode: Status.AccountLocked, ErrorMessage: 'Your account has been locked.' },\n { ErrorCode: 0, ErrorMessage: 'Logged-in successful.' },\n { ErrorCode: Status.InvalidCredential, ErrorMessage: 'Invalid username or password.
You have {0} attempts remaining.' }\n ],\n DIGITS: [1, 2, 3, 4],\n ROLES: [{ title: 'Admin', value: 'Admin' }, { titlle: 'Client', value: 'Client' }, { title: 'User', value: 'User' }]\n },\n SIGNUP:\n {\n MOTIVATION_BADGE_SIGNUP:'Sign-up! It will take less than a minute.',\n STEPPER_TITLE_ACCOUNT:'Account',\n STEPPER_SUB_TITLE_ACCOUNT:'Enter Username',\n STEPPER_TITLE_PERSONAL:'Personal',\n STEPPER_SUB_TITLE_PERSONAL:'Enter Information',\n HEADING_ACCOUNT:'Account Information',\n HEADING_PERSONAL:'Personal Information',\n HEADING_SELECTPLAN:'Select Plan',\n TOOLTIP_TEXT_BUTTON_PREVIOUS:'Previous',\n TOOLTIP_TEXT_BUTTON_NEXT:'Next',\n TOOLTIP_TEXT_BUTTON_SUBMIT:'Submit',\n TOOLTIP_TEXT_BUTTON_CALENDAR:'Toggle Calendar',\n CONTROL_LABEL_USERID:'Your Allocated Noosom Username',\n CONTROL_LABEL_EMAILADDRESS:'Email Address',\n CONTROL_LABEL_PASSWORD:'Password',\n CONTROL_LABEL_CONFIRMPASSWORD:'Confirm Your Password',\n CONTROL_LABEL_REGION:'Your Region',\n CONTROL_LABEL_HOMECOUNTRY:'Your Home Country',\n CONTROL_LABEL_FIRSTNAME:'First Name',\n CONTROL_LABEL_MIDDLENAME:'Middle Name',\n CONTROL_LABEL_LASTNAME:'Last Name',\n CONTROL_LABEL_BIRTHDATE:'Date of Birth',\n CONTROL_LABEL_MOBILENO:'Mobile Number',\n CONTROL_LABEL_SELECTPLAN:'Free forever for now, or buy later.',\n PLACEHOLDER_PASSWORD:'Type here...',\n PLACEHOLDER_REGION:'Select Region',\n PLACEHOLDER_COUNTRY:'Select Country',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Previous',\n BUTTON_TEXT_NEXT:'Next',\n BUTTON_TEXT_SUBMIT:'Submit',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Your data will be stored',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'in the selected region',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'Select Your Home Country',\n TOOLTIPTEXT_CONTROL_LABEL_USERNAME:'You have been allocated a default username that you can personalize later',\n TOOLTIPTEXT_CONTROL_LABEL_FIRSTNAME:'Enter First Name',\n TOOLTIPTEXT_CONTROL_LABEL_LASTNAME:'Enter Last Name',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Account created successfully.',\n ERROR_MESSAGE_REQUIRED_USERID:'The username is required!',\n ERROR_MESSAGE_EXISTED_USERID:'That username has been taken. Please try another.',\n ERROR_MESSAGE_AGEMAXOUT_BIRTHDATE:'That is an invalid Date of Birth for sign up. Your age must be 13 or older to sign up. Please enter a valid Date of Birth.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'The email address is required!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'That email address has been taken. Please try another.',\n ERROR_MESSAGE_EXISTED_MOBILENUMBER:'That mobile number has been taken. Please try another.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'Confirm password must match.',\n ERROR_MESSAGE_REQUIRED_REGION:'The region is required!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'The country is required!',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'The first name is required!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'The middle name is required!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'The last name is required!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'The date of birth is required!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'The mobile number is required!',\n ERROR_MESSAGE_CONTACT_INVALID:'Invalid Contact Number',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Please select the free plan option!',\n ERROR_MESSAGE_MAX_LENGTH_50:'You have typed too many characters, maximum allowed is 50',\n ERROR_MESSAGE_MAX_LENGTH_100:'You have typed too many characters, maximum allowed is 100',\n ERROR_MESSAGE_MAX_LENGTH_12:'You have typed too many characters, maximum allowed is 12',\n },\n SUCCESSFUL_SIGNUP: {\n TEXT_DESCRIPTION_1: 'You will now receive an email for you to confirm your details, you need to do this first.',\n TEXT_DESCRIPTION_2: 'After you have verified your email address you will be able to use the system.',\n TEXT_DESCRIPTION_3: 'Press “Ok Button” to continue.',\n TOOLTIP_TEXT_BUTTON_OKAY: 'Okay',\n BUTTON_TEXT_OKAY: 'Okay'\n },\n VERIFY_EMAIL_ADDRESS: {\n TEXT_DESCRIPTION: 'Please enter the 6 - digit OTP ( One Time Password ) from your email address below to verify your identity.',\n TEXT_DESCRIPTION_NEW:'You have now activated your secure Noosom account, enjoy creating the story of your life using our web system and the free app.',\n BUTTON_TEXT_CONTINUE_WEB:'Continue & Use the Web',\n BUTTON_TEXT_CONTINUE_APP:'Exit & Use the App',\n TOOLTIP_TEXT_BUTTON_VERIFY_AND_LOGIN: 'Verify & Login',\n BUTTON_TEXT_VERIFY_LOGIN: 'Verify & Login',\n TOAST_MESSAGE_SUCCESSFUL_EMAIL_VERIFIED: 'Email Address verified successfully.'\n },\n VERIFY_SIGNIN_OTP: {\n TEXT_DESCRIPTION: 'Please enter the 6 - digit OTP ( One Time Password ) from your email address below to sign in to your Noosom account.',\n TEXT_DESCRIPTION_INVITATION:'Please respond to this invitation to verify your identity and link with your 0 name. Once complete you can privately share information.',\n TOOLTIP_TEXT_BUTTON_VERIFY_OTP: 'Verify OTP',\n BUTTON_TEXT_VERIFY_OTP: 'Verify OTP'\n },\n FORGOT_PASSWORD: {\n HEADING_FORGOT_PASSWORD: 'Forgot Your Password?',\n TEXT_DESCRIPTION: 'Enter your email address and we’ll send you the instructions to reset your password.',\n TOOLTIP_TEXT_BUTTON_SEND_RESET_LINK: 'Send reset link',\n BUTTON_TEXT_SEND_RESET_LINK: 'Send Reset Link',\n TOAST_MESSAGE_SENT_RESET_PASSWORD_LINK: 'Reset password link has been sent to your registered email address.' //mobile number and \n },\n RESET_PASSWORD: {\n HEADING_RESET_PASSWORD: 'Reset Your Password.',\n TEXT_DESCRIPTION: 'To make sure account is secure, you’ll be logged out from other devices once you set your new password',\n TOOLTIP_TEXT_BUTTON_SAVE_CHANGES: 'Save changes',\n CONTROL_LABEL_NEW_PASSWORD: 'New Password',\n TOAST_MESSAGE_RESET_PASSWORD: 'Your password has been changed successfully.',\n ERROR_MESSAGE_LINK_EXPIRED: 'This link has been expired, Please try again.'\n }\n }\n};\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'fr',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Impossible de se connecter au serveur.'\n },\n SIGNIN: {\n WELCOME_TEXT: 'Bienvenue à Noosom',\n MOTIVATION_BADGE_SIGNIN:'Connectez-vous et commencez l\\'aventure',\n CONTROL_LABEL_EMAIL:'Adresse e-mail',\n CONTROL_LABEL_PASSWORD:'Mot de passe',\n CONTROL_LABEL_REMEMBERME:'Souviens-toi de moi',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Mot de passe oublié?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Créer un compte',\n TEXT_NEWONPLATFORM:'Nouveau sur notre plateforme ?',\n BUTTON_TEXT_LOGIN:'Connexion',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Vous avez réussi à vous connecter en tant qu\\'utilisateur {0} à Noosom. Vous pouvez maintenant commencer à explorer. Prendre plaisir! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Bienvenue, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'Le champ email est!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Le champ mot de passe est!',\n ERROR_MESSAGE_INVALID_EMAIL:'L\\'e-mail doit être une adresse e-mail valide',\n ERROR_MESSAGE_NOATTEMPTS:'Nom d\\'utilisateur ou mot de passe invalide. Il ne vous reste plus aucune tentative.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Votre adresse e-mail n\\'est pas vérifiée.
vérifiez d\\'abord votre adresse e-mail.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Vôtre compte a été bloqué.'},\n {ErrorCode:0,ErrorMessage:'Connexion réussie.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Nom d\\'utilisateur ou mot de passe invalide.
Il vous reste {0} tentatives.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administratrice'},{titlle:'Client',value:'Cliente'},{title:'User',value:'Utilisatrice'}]\n },\n SIGNUP:\n {\n MOTIVATION_BADGE_SIGNUP:'Inscrivez-vous et commencez l\\'aventure',\n STEPPER_TITLE_ACCOUNT:'Compte',\n STEPPER_SUB_TITLE_ACCOUNT:'Saisissez votre nom d\\'utilisateur',\n STEPPER_TITLE_PERSONAL:'Personnelle',\n STEPPER_SUB_TITLE_PERSONAL:'Entrez les informations',\n HEADING_ACCOUNT:'Information sur le compte',\n HEADING_PERSONAL:'Renseignements personnels',\n HEADING_SELECTPLAN:'Sélectionnez le plan',\n CONTROL_LABEL_USERID:'ID utilisateur Noosom',\n CONTROL_LABEL_EMAILADDRESS:'Adresse e-mail',\n CONTROL_LABEL_PASSWORD:'Mot de passe',\n CONTROL_LABEL_CONFIRMPASSWORD:'Confirmer votre mot de passe',\n CONTROL_LABEL_REGION:'Votre région',\n CONTROL_LABEL_HOMECOUNTRY:'Votre pays',\n CONTROL_LABEL_FIRSTNAME:'Prénom',\n CONTROL_LABEL_MIDDLENAME:'Deuxième nom',\n CONTROL_LABEL_LASTNAME:'Nom de famille',\n CONTROL_LABEL_BIRTHDATE:'Date de naissance',\n CONTROL_LABEL_MOBILENO:'Mobile Non',\n CONTROL_LABEL_SELECTPLAN:'Gratuit pour l\\'instant, ou achetez plus tard.',\n PLACEHOLDER_TYPEHERE:'Écrivez ici...',\n PLACEHOLDER_PASSWORD:'Mot de passe',\n PLACEHOLDER_REGION:'Choisissez une région',\n PLACEHOLDER_COUNTRY:'Choisissez le pays',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Précédente',\n BUTTON_TEXT_NEXT:'Prochaine',\n BUTTON_TEXT_SUBMIT:'Soumettre',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Vos données seront stockées',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'dans la région sélectionnée',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'Sélectionnez le pays',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Compte créé avec succès.',\n ERROR_MESSAGE_REQUIRED_USERID:'Le champ nom d\\'utilisateur est!',\n ERROR_MESSAGE_EXISTED_USERID:'Ce nom d\\'utilisateur a été pris. Veuillez en essayer un autre.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'Le champ adresse e-mail est!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Cette adresse e-mail a été prise. Veuillez en essayer un autre.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Le champ mot de passe est!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Doit contenir au moins un chiffre, une lettre majuscule et minuscule et un minimum de 8 caractères ou plus.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'Le mot de passe répété doit correspondre.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'Le champ de confirmation du mot de passe est!',\n ERROR_MESSAGE_REQUIRED_REGION:'Le champ région est!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'Le champ du pays',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'Le champ prénom est!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'Le champ du deuxième prénom est!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'Le champ nom de famille est!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'Le champ date de naissance est!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'Le mobile aucun champ n\\'est requis!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Veuillez sélectionner l\\'option de forfait gratuit!'\n }\n }\n};\n","import { Status } from \"app/enums\";\r\n\r\nexport const locale = {\r\n lang: 'gj',\r\n data: {\r\n COMMON:{\r\n ERROR_MESSAGE_CONNECTIONREFUSED:'સર્વર સાથે કનેક્ટ કરી શકાયું નથી'\r\n },\r\n SIGNIN: {\r\n WELCOME_TEXT: 'નૂસોમ માં આપનું સ્વાગત છે',\r\n MOTIVATION_BADGE_SIGNIN:'સાઇન ઇન કરો અને સાહસ શરૂ કરો',\r\n CONTROL_LABEL_EMAIL:'ઈ - મેઈલ સરનામું',\r\n CONTROL_LABEL_PASSWORD:'પાસવર્ડ',\r\n CONTROL_LABEL_REMEMBERME:'મને યાદ રાખો',\r\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\r\n LINK_TEXT_LABEL_FORGOTPASSWORD:'તમારો પાસવર્ડ ભૂલી ગયા છો?',\r\n LINK_TEXT_LABEL_CREATEACCOUNT:'એક ખાતુ બનાવો',\r\n TEXT_NEWONPLATFORM:'અમારા પ્લેટફોર્મ પર નવા છો?',\r\n BUTTON_TEXT_LOGIN:'પ્રવેશ કરો',\r\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'તમે Noosom માં {0} વપરાશકર્તા તરીકે સફળતાપૂર્વક લૉગ ઇન કર્યું છે. હવે તમે અન્વેષણ કરવાનું શરૂ કરી શકો છો. આનંદ માણો! 🎉',\r\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 સ્વાગત છે, {0}!',\r\n ERROR_MESSAGE_REQUIRED_EMAIL:'ઈમેલ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_PASSWORD:'પાસવર્ડ આવશ્યક છે!',\r\n ERROR_MESSAGE_INVALID_EMAIL:'ઇમેઇલ એક માન્ય ઇમેઇલ સરનામું હોવું આવશ્યક છે',\r\n ERROR_MESSAGE_NOATTEMPTS:'અમાન્ય વપરાશકર્તાનામ અથવા પાસવર્ડ. તમારી પાસે કોઈ પ્રયાસો બાકી નથી.',\r\n LOGIN_STATUS:\r\n [\r\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'તમારું ઇમેઇલ સરનામું ચકાસાયેલ નથી.
પહેલા તમારું ઇમેઇલ સરનામું બદલો.'},\r\n {ErrorCode:Status.AccountLocked,ErrorMessage:'તમારું એકાઉન્ટ લોક કરી દેવામાં આવ્યું છે.'},\r\n {ErrorCode:0,ErrorMessage:'લૉગ-ઇન સફળ.'},\r\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'અમાન્ય વપરાશકર્તાનામ અથવા પાસવર્ડ.
તમારી પાસે {0} પ્રયાસો બાકી છે.'}\r\n ],\r\n DIGITS:[\"૧\",\"૨\",\"૩\",\"૪\"],\r\n ROLES:[{title:'Admin',value:'એડમિન'},{titlle:'Client',value:'ક્લાયન્ટ'},{title:'User',value:'વપરાશકર્તા'}]\r\n },\r\n SIGNUP:\r\n {\r\n MOTIVATION_BADGE_SIGNUP:'સાઇન અપ કરો અને સાહસ શરૂ કરો',\r\n STEPPER_TITLE_ACCOUNT:'એકાઉન્ટ',\r\n STEPPER_SUB_TITLE_ACCOUNT:'વપરાશકર્તા નામ દાખલ કરો',\r\n STEPPER_TITLE_PERSONAL:'અંગત',\r\n STEPPER_SUB_TITLE_PERSONAL:'માહિતી દાખલ કરો',\r\n HEADING_ACCOUNT:'ખાતાની માહિતી',\r\n HEADING_PERSONAL:'વ્યક્તિગત માહિતી',\r\n HEADING_SELECTPLAN:'પ્લાન પસંદ કરો',\r\n CONTROL_LABEL_USERID:'નૂસોમ વપરાશકર્તા આઈડી',\r\n CONTROL_LABEL_EMAILADDRESS:'ઈ - મેઈલ સરનામું',\r\n CONTROL_LABEL_PASSWORD:'પાસવર્ડ',\r\n CONTROL_LABEL_CONFIRMPASSWORD:'તમારા પાસવર્ડની ખાતરી કરો',\r\n CONTROL_LABEL_REGION:'તમારો પ્રદેશ',\r\n CONTROL_LABEL_HOMECOUNTRY:'તમારો દેશ',\r\n CONTROL_LABEL_FIRSTNAME:'પ્રથમ નામ',\r\n CONTROL_LABEL_MIDDLENAME:'પિતાનું નામ',\r\n CONTROL_LABEL_LASTNAME:'છેલ્લું નામ',\r\n CONTROL_LABEL_BIRTHDATE:'જન્મ તારીખ',\r\n CONTROL_LABEL_MOBILENO:'મોબાઈલ નમ્બર',\r\n CONTROL_LABEL_SELECTPLAN:'હમણાં માટે હંમેશ માટે મફત, અથવા પછીથી ખરીદો.',\r\n PLACEHOLDER_TYPEHERE:'અહી લખો...',\r\n PLACEHOLDER_PASSWORD:'પાસવર્ડ',\r\n PLACEHOLDER_REGION:'પ્રદેશ પસંદ કરો',\r\n PLACEHOLDER_COUNTRY:'દેશ પસંદ કરો',\r\n PLACEHOLDER_TELEPHONENUMBER:'૦૧૨૩૪૫૬૭૮૯',\r\n BUTTON_TEXT_PREVIOUS:'અગાઉના',\r\n BUTTON_TEXT_NEXT:'આગળ',\r\n BUTTON_TEXT_SUBMIT:'સબમિટ કરો',\r\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'તમારો ડેટા પસંદ કરેલ પ્રદેશમાં',\r\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'સંગ્રહિત કરવામાં આવશે',\r\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'દેશ પસંદ કરો',\r\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'એકાઉન્ટ સફળતાપૂર્વક બનાવ્યું.',\r\n ERROR_MESSAGE_REQUIRED_USERID:'યુઝરનેમ આવશ્યક છે!',\r\n ERROR_MESSAGE_EXISTED_USERID:'તે વપરાશકર્તા નામ લેવામાં આવ્યું છે. કૃપા કરીને બીજો પ્રયાસ કરો.',\r\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'ઈમેલ એડ્રેસ ફીલ્ડ છે!',\r\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'તે ઈમેલ એડ્રેસ લેવામાં આવ્યું છે. કૃપા કરીને બીજો પ્રયાસ કરો.',\r\n ERROR_MESSAGE_REQUIRED_PASSWORD:'પાસવર્ડ ફીલ્ડ છે!',\r\n ERROR_MESSAGE_INVALID_PASSWORD:'ઓછામાં ઓછા એક નંબર, એક અપરકેસ અને લોઅરકેસ અક્ષર અને ઓછામાં ઓછા 8 અથવા વધુ અક્ષરો હોવા જોઈએ.',\r\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'પુનરાવર્તિત પાસવર્ડ મેળ ખાતો હોવો જોઈએ.',\r\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'કન્ફર્મ પાસવર્ડ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_REGION:'પ્રદેશ ક્ષેત્ર આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'દેશ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'પ્રથમ નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'મધ્યમ નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_LASTNAME:'છેલ્લું નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'જન્મ તારીખ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_MOBILENO:'મોબાઇલ નંબર આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'કૃપા કરીને ફ્રી પ્લાન વિકલ્પ પસંદ કરો!'\r\n }\r\n }\r\n };\r\n ","import { Status } from \"app/enums\";\r\n\r\nexport const locale = {\r\n lang: 'hn',\r\n data: {\r\n COMMON: {\r\n THANKS_BADGE_SIGNUP: 'साइन अप करने के लिए धन्यवाद!',\r\n TEXT_HEY: 'हे',\r\n TEXT_THANKS: 'धन्यवाद,',\r\n TEXT_NOOSOM_TEAM: 'नुसम टीम',\r\n TEXT_READ_OUR: 'हमारी',\r\n LINK_TEXT_PRIVACY_POLICY: 'गोपनीयता नीति',\r\n LINK_TEXT_TERMS_CONDITIONS: 'नियम एवं शर्तें',\r\n LINK_TEXT_BACK_TO_LOGIN: 'लॉगिन पर वापस जाएं',\r\n PLACEHOLDER_EMAIL: 'यहाँ लिखो...',\r\n PLACEHOLDER_TYPE_HERE: 'यहाँ लिखो...',\r\n TOOLTIP_TEXT_BUTTON_LOGIN: 'लॉग इन करें',\r\n CONTROL_LABEL_EMAIL: 'ईमेल',\r\n CONTROL_LABEL_EMAIL_ADDRESS: 'ईमेल पता',\r\n CONTROL_LABEL_CONFIRM_PASSWORD: 'पासवर्ड की पुष्टि कीजिये',\r\n BUTTON_TEXT_SAVE_CHANGES: 'परिवर्तनों को सुरक्षित करें',\r\n TOAST_MESSAGE_SUCCESSFUL_OTP_VERIFIED: 'ओटीपी सफलतापूर्वक सत्यापित।',\r\n ERROR_MESSAGE_REQUIRED_EMAIL: 'ईमेल पता की आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_PASSWORD: 'पासवर्ड की आवश्यक है!',\r\n ERROR_MESSAGE_INVALID_EMAIL: 'कृपया अपना ईमेल पता प्रारूप में दर्ज करें:\\nyourname@example.com',\r\n ERROR_MESSAGE_INVALID_PASSWORD: 'कम से कम एक नंबर, एक अपरकेस और लोअरकेस अक्षर और कम से कम 8 या अधिक वर्ण होने चाहिए।',\r\n ERROR_MESSAGE_MISMATCHED_PASSWORD: 'पुष्टि करें कि पासवर्ड मेल खाना चाहिए।',\r\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD: 'पुष्टिकरण पासवर्ड आवश्यक है!',\r\n ERROR_MESSAGE_CONNECTIONREFUSED: 'सर्वर से कनेक्ट नहीं हो सका.',\r\n ERROR_MESSAGE_INVALID_OTP_DATA: 'वैध ओटीपी डेटा दर्ज करें।',\r\n ERROR_MESSAGE_INVALID_OTP: 'मान्य ओटीपी दर्ज करें।',\r\n COMMON_STATUS:\r\n [\r\n { ErrorCode: Status.InvalidOTP, ErrorMessage: 'अमान्य ओटीपी.' },\r\n { ErrorCode: Status.UserNotFound, ErrorMessage: 'यह ईमेल पता किसी भी नुसम खाते के साथ पंजीकृत नहीं है।' }\r\n ],\r\n },\r\n SIGNIN: {\r\n WELCOME_TEXT: 'नुसम में आपका स्वागत है',\r\n MOTIVATION_BADGE_SIGNIN: 'साइन-इन करें और साहसिक कार्य शुरू करें',\r\n SIGNIN_AGREEMENT_TEXT: 'साइन इन करके, आप हमारी सहमति देते हैं',\r\n SIGNUP_AGREEMENT_TEXT: 'साइन अप करके, आप हमारी सहमति देते हैं',\r\n CONTROL_LABEL_EMAIL: 'ईमेल पता',\r\n CONTROL_LABEL_PASSWORD: 'पासवर्ड',\r\n CONTROL_LABEL_REMEMBERME: 'मुझे याद रखें',\r\n LINK_TEXT_LABEL_FORGOTPASSWORD: 'क्या आप पासवर्ड भूल गए?',\r\n LINK_TEXT_LABEL_CREATEACCOUNT: 'खाता बनाएं',\r\n LABEL_TEXT_VERSION: 'रूपांतर',\r\n LABEL_TEXT_UPDATED_ON: 'अपडेट किया गया',\r\n TEXT_NEWONPLATFORM: 'हमारे मंच पर नया?',\r\n BUTTON_TEXT_LOGIN: 'लॉग इन करें',\r\n TOOLTIP_TEXT_BUTTON_LOGIN: 'लॉग इन करें',\r\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE: 'आपने नुसम में एक {0} उपयोगकर्ता के रूप में सफलतापूर्वक लॉग इन किया है। अब आप एक्सप्लोर करना शुरू कर सकते हैं। आनंद लीजिये! 🎉',\r\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT: '👋 स्वागत हे, {0}!',\r\n ERROR_MESSAGE_NOATTEMPTS: 'अमान्य उपयोगकर्ता नाम या पासवर्ड। आपके पास कोई प्रयास शेष नहीं है।',\r\n LOGIN_STATUS:\r\n [\r\n { ErrorCode: Status.UserNotFound, ErrorMessage: 'क्षमा करें। आपके द्वारा दर्ज किया गया ईमेल पता किसी भी खाते से मेल नहीं खाता है।
फिर से जांचें या किसी खाते के लिए साइन अप करें।' },\r\n { ErrorCode: Status.EmailNotVarified, ErrorMessage: 'आपका ईमेल पता सत्यापित नहीं है।
पहले अपना ईमेल पता सत्यापित करें।' },\r\n { ErrorCode: Status.AccountLocked, ErrorMessage: 'आपका खाता लॉक कर दिया गया है।' },\r\n { ErrorCode: 0, ErrorMessage: 'लॉग-इन सफल।' },\r\n { ErrorCode: Status.InvalidCredential, ErrorMessage: 'अमान्य उपयोगकर्ता नाम या पासवर्ड।
आपके पास {0} प्रयास शेष हैं।' }\r\n ],\r\n DIGITS: [\"१\", \"२\", \"३\", \"४\"],\r\n ROLES: [{ title: 'Admin', value: 'व्यवस्थापक' }, { titlle: 'Client', value: 'ग्राहक' }, { title: 'User', value: 'उपयोगकर्ता' }]\r\n },\r\n SIGNUP:\r\n {\r\n MOTIVATION_BADGE_SIGNUP: 'साइन अप करें! इसमें एक मिनट से भी कम समय लगेगा।',\r\n STEPPER_TITLE_ACCOUNT: 'खाता',\r\n STEPPER_SUB_TITLE_ACCOUNT: 'उपयोगकर्ता नाम दर्ज करें',\r\n STEPPER_TITLE_PERSONAL: 'निजी',\r\n STEPPER_SUB_TITLE_PERSONAL: 'जानकारी दर्ज करें',\r\n HEADING_ACCOUNT: 'खाता संबंधी जानकारी',\r\n HEADING_PERSONAL: 'व्यक्तिगत जानकारी',\r\n HEADING_SELECTPLAN: 'प्लान का चयन करें',\r\n TOOLTIP_TEXT_BUTTON_PREVIOUS: 'पिछला',\r\n TOOLTIP_TEXT_BUTTON_NEXT: 'अगला',\r\n TOOLTIP_TEXT_BUTTON_SUBMIT: 'प्रस्तुत करना',\r\n TOOLTIP_TEXT_BUTTON_CALENDAR: 'Toggle Calendar',\r\n CONTROL_LABEL_USERID: 'नुसम उपयोगकर्ता नाम',\r\n CONTROL_LABEL_EMAILADDRESS: 'ईमेल पता',\r\n CONTROL_LABEL_PASSWORD: 'पासवर्ड',\r\n CONTROL_LABEL_CONFIRMPASSWORD: 'अपने पासवर्ड की पुष्टि करें',\r\n CONTROL_LABEL_REGION: 'आपका क्षेत्र',\r\n CONTROL_LABEL_HOMECOUNTRY: 'आपका देश',\r\n CONTROL_LABEL_FIRSTNAME: 'पहला नाम',\r\n CONTROL_LABEL_MIDDLENAME: 'मध्य नाम',\r\n CONTROL_LABEL_LASTNAME: 'उपनाम',\r\n CONTROL_LABEL_BIRTHDATE: 'जन्म की तारीख',\r\n CONTROL_LABEL_MOBILENO: 'मोबाइल नंबर',\r\n CONTROL_LABEL_SELECTPLAN: 'अभी के लिए हमेशा के लिए मुफ़्त, या बाद में ख़रीदें।',\r\n PLACEHOLDER_PASSWORD: 'पासवर्ड',\r\n PLACEHOLDER_REGION: 'क्षेत्र का चयन करें',\r\n PLACEHOLDER_COUNTRY: 'देश का चयन करें',\r\n PLACEHOLDER_TELEPHONENUMBER: '०१२३४५६७८९',\r\n BUTTON_TEXT_PREVIOUS: 'पिछला',\r\n BUTTON_TEXT_NEXT: 'अगला',\r\n BUTTON_TEXT_SUBMIT: 'प्रस्तुत करना',\r\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1: 'आपका डेटा संग्रहीत किया जाएगा',\r\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2: 'चयनित क्षेत्र में',\r\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY: 'अपने देश का चयन करें',\r\n TOOLTIPTEXT_CONTROL_LABEL_USERNAME: 'आपको एक डिफ़ॉल्ट उपयोगकर्ता नाम आवंटित किया गया है जिसे आप बाद में व्यक्तिगत रूप से समायोजित कर सकते हैं।',\r\n TOAST_MESSAGE_SUCCESSFULSIGNUP: 'खाता सफलतापूर्वक बनाया गया।',\r\n ERROR_MESSAGE_REQUIRED_USERID: 'उपयोगकर्ता नाम की आवश्यकता है!',\r\n ERROR_MESSAGE_EXISTED_USERID: 'वह उपयोगकर्ता नाम लिया गया है। कृपया दूसरा प्रयास करें।',\r\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS: 'ईमेल पता आवश्यक है!',\r\n ERROR_MESSAGE_EXISTED_EMAILADDRESS: 'वह ईमेल पता लिया गया है। कृपया दूसरा प्रयास करें।',\r\n ERROR_MESSAGE_EXISTED_MOBILENUMBER: 'वह मोबाइल नंबर लिया गया है। कृपया दूसरा प्रयास करें।',\r\n ERROR_MESSAGE_MISMATCHED_PASSWORD: 'रिपीट पासवर्ड मैच होना चाहिए।',\r\n ERROR_MESSAGE_AGEMAXOUT_BIRTHDATE: 'साइन अप के लिए यह एक अवैध जन्म तिथि है। साइन अप के लिए आपकी आयु 13 या इससे अधिक होनी चाहिए। कृपया एक मान्य जन्म तिथि दर्ज करें।',\r\n ERROR_MESSAGE_CONTACT_INVALID: 'अमान्य संपर्क नंबर',\r\n\r\n ERROR_MESSAGE_REQUIRED_REGION: 'क्षेत्र आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY: 'देश आवश्यकत है!',\r\n ERROR_MESSAGE_REQUIRED_FIRSTNAME: 'पहला नाम आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_MIDDLENAME: 'मध्य नाम आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_LASTNAME: 'उपनाम की आवश्यकता है!',\r\n ERROR_MESSAGE_REQUIRED_BIRTHDATE: 'जन्म तिथि आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_MOBILENO: 'मोबाइल नंबर की आवश्यकता है!',\r\n ERROR_MESSAGE_REQUIRED_SELECTPLAN: 'कृपया मुफ्त योजना विकल्प चुनें!',\r\n ERROR_MESSAGE_MAX_LENGTH_50: 'आपने बहुत अधिक वर्ण टाइप किए हैं, अधिकतम अनुमत 50 है',\r\n ERROR_MESSAGE_MAX_LENGTH_100: 'आपने बहुत अधिक वर्ण टाइप किए हैं, अधिकतम अनुमत 100 है',\r\n ERROR_MESSAGE_MAX_LENGTH_12: 'आपने बहुत अधिक वर्ण टाइप किए हैं, अधिकतम अनुमत 12 है',\r\n },\r\n SUCCESSFUL_SIGNUP: {\r\n TEXT_DESCRIPTION_1: 'अब आपको अपने विवरण की पुष्टि करने के लिए एक ईमेल प्राप्त होगा, आपको यह करने की आवश्यकता है पहले।',\r\n TEXT_DESCRIPTION_2: 'अपना ईमेल पता सत्यापित करने के बाद आप सिस्टम का उपयोग करने में सक्षम होंगे।',\r\n TEXT_DESCRIPTION_3: 'जारी रखने के लिए \"ओके बटन\" दबाएं।',\r\n TOOLTIP_TEXT_BUTTON_OKAY: 'Okay',\r\n BUTTON_TEXT_OKAY: 'ठीक'\r\n },\r\n VERIFY_EMAIL_ADDRESS: {\r\n TEXT_DESCRIPTION: 'कृपया अपनी पहचान सत्यापित करने के लिए नीचे अपने ईमेल से 6 अंकों का ओटीपी ( वन टाइम पासवर्ड ) दर्ज करें।',\r\n TEXT_DESCRIPTION_NEW:'आपने अब नूसम को सक्रिय कर दिया है। वेब सिस्टम का उपयोग करने के लिए जारी रखें पर क्लिक करें या ऐप सिस्टम का उपयोग करने के लिए बाहर निकलें।',\r\n BUTTON_TEXT_CONTINUE_WEB: \"जारी रखें और वेब का उपयोग करें\",\r\n BUTTON_TEXT_CONTINUE_APP: \"बाहर निकलें और ऐप का उपयोग करें\",\r\n TOOLTIP_TEXT_BUTTON_VERIFY_AND_LOGIN: 'सत्यापित करें और लॉगिन करें',\r\n BUTTON_TEXT_VERIFY_LOGIN: 'सत्यापित करें और लॉगिन करें',\r\n TOAST_MESSAGE_SUCCESSFUL_EMAIL_VERIFIED: 'ईमेल पता सफलतापूर्वक सत्यापित किया गया।'\r\n },\r\n VERIFY_SIGNIN_OTP: {\r\n TEXT_DESCRIPTION: 'कृपया अपने नुसम खाते में साइन इन करने के लिए नीचे दिए गए हमारे ईमेल पता से 6 अंकों का OTP ( वन टाइम पासवर्ड ) दर्ज करें।',\r\n TOOLTIP_TEXT_BUTTON_VERIFY_OTP: 'ओटीपी सत्यापित करें',\r\n BUTTON_TEXT_VERIFY_OTP: 'ओटीपी सत्यापित करें'\r\n },\r\n FORGOT_PASSWORD: {\r\n HEADING_FORGOT_PASSWORD: 'क्या आप पासवर्ड भूल गए?',\r\n TEXT_DESCRIPTION: 'अपना ईमेल पता दर्ज करें और हम आपको अपना पासवर्ड रीसेट करने के निर्देश भेजेंगे।',\r\n TOOLTIP_TEXT_BUTTON_SEND_RESET_LINK: 'रीसेट लिंक भेजें',\r\n BUTTON_TEXT_SEND_RESET_LINK: 'रीसेट लिंक भेजें',\r\n TOAST_MESSAGE_SENT_RESET_PASSWORD_LINK: 'रीसेट पासवर्ड लिंक आपके पंजीकृत ईमेल पते पर भेज दिया गया है।' //mobile number and \r\n },\r\n RESET_PASSWORD: {\r\n HEADING_RESET_PASSWORD: 'अपना पासवर्ड रीसेट करें।',\r\n TEXT_DESCRIPTION: 'यह सुनिश्चित करने के लिए कि खाता सुरक्षित है, अपना नया पासवर्ड सेट करने के बाद आप अन्य उपकरणों से लॉग आउट हो जाएंगे',\r\n TOOLTIP_TEXT_BUTTON_SAVE_CHANGES: 'परिवर्तनों को सुरक्षित करें',\r\n CONTROL_LABEL_NEW_PASSWORD: 'नया पासवर्ड',\r\n TOAST_MESSAGE_RESET_PASSWORD: 'आपका पासवर्ड सफलतापूर्वक बदल दिया गया है।',\r\n ERROR_MESSAGE_LINK_EXPIRED: 'यह लिंक समाप्त हो गया है, कृपया पुनः प्रयास करें।',\r\n }\r\n }\r\n};\r\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'pt',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Não foi possível conectar com o servidor'\n },\n SIGNIN: {\n WELCOME_TEXT: 'Bem-vindo ao Noosom',\n MOTIVATION_BADGE_SIGNIN:'Faça login e comece a aventura',\n CONTROL_LABEL_EMAIL:'Endereço de email',\n CONTROL_LABEL_PASSWORD:'Senha',\n CONTROL_LABEL_REMEMBERME:'Lembre de mim',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Esqueceu sua senha?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Crie a sua conta aqui',\n TEXT_NEWONPLATFORM:'Novo em nossa plataforma?',\n BUTTON_TEXT_LOGIN:'Conecte-se',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Você fez login com sucesso como um usuário {0} no Noosom. Agora você pode começar a explorar. Apreciar! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Bem-vindo, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'O campo de e-mail!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'O campo de senha!',\n ERROR_MESSAGE_INVALID_EMAIL:'O e-mail deve ser um endereço de e-mail válido',\n ERROR_MESSAGE_NOATTEMPTS:'Nome de usuário ou senha inválidos. Não há tentativas restantes.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Seu endereço de e-mail não foi verificado.
primeiro varie seu endereço de e-mail.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Sua conta foi bloqueada.'},\n {ErrorCode:0,ErrorMessage:'Logado com sucesso.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Nome de usuário ou senha inválidos.
Você tem {0} tentativas restantes.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administrador'},{titlle:'Client',value:'Cliente'},{title:'User',value:'Do utilizador'}]\n },\n SIGNUP:\n {\n STEPPER_TITLE_ACCOUNT:'Conta',\n STEPPER_SUB_TITLE_ACCOUNT:'Insira nome de usuário',\n STEPPER_TITLE_PERSONAL:'Pessoal',\n STEPPER_SUB_TITLE_PERSONAL:'Insira as informações',\n HEADING_ACCOUNT:'Informação da conta',\n HEADING_PERSONAL:'Informação pessoal',\n HEADING_SELECTPLAN:'Selecione o plano',\n CONTROL_LABEL_USERID:'ID de usuário Noosom',\n CONTROL_LABEL_EMAILADDRESS:'Endereço de email',\n CONTROL_LABEL_PASSWORD:'Senha',\n CONTROL_LABEL_CONFIRMPASSWORD:'Confirme sua senha',\n CONTROL_LABEL_REGION:'Sua região',\n CONTROL_LABEL_HOMECOUNTRY:'Seu país de',\n CONTROL_LABEL_FIRSTNAME:'Primeiro nome',\n CONTROL_LABEL_MIDDLENAME:'Nome do meio',\n CONTROL_LABEL_LASTNAME:'Sobrenome',\n CONTROL_LABEL_BIRTHDATE:'Data de nascimento',\n CONTROL_LABEL_MOBILENO:'Celular não',\n CONTROL_LABEL_SELECTPLAN:'Grátis para sempre por agora, ou compre mais tarde.',\n PLACEHOLDER_TYPEHERE:'Digite aqui...',\n PLACEHOLDER_PASSWORD:'Senha',\n PLACEHOLDER_REGION:'Selecione a região',\n PLACEHOLDER_COUNTRY:'Selecione o pais',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Anterior',\n BUTTON_TEXT_NEXT:'Próxima',\n BUTTON_TEXT_SUBMIT:'Enviar',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Seus dados serão armazenados',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'na região selecionada',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'Selecione o país de',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Conta criada com sucesso.',\n ERROR_MESSAGE_REQUIRED_USERID:'O campo de nome de usuário!',\n ERROR_MESSAGE_EXISTED_USERID:'Esse nome de usuário foi usado. Por favor, tente outro.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'O campo de endereço de e-mail!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Esse endereço de e-mail foi usado. Por favor, tente outro.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'O campo de senha!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Deve conter pelo menos um número, uma letra maiúscula e uma minúscula e um mínimo de 8 ou mais caracteres.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'A senha repetida deve corresponder.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'O campo de confirmação de senha!',\n ERROR_MESSAGE_REQUIRED_REGION:'O campo região!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'O campo do país de!',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'O campo de nome!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'O campo de nome do meio!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'O campo sobrenome!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'O campo data de nascimento!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'O celular nenhum campo!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Selecione a opção de plano gratuito!'\n }\n }\n};\n","import { AttachmentType } from \"app/enums\";\n\nexport class OutputModel {\n Status: number;\n Id: number;\n Message: string;\n}\n\nexport class DeleteInputModel {\n DeleteID: number;\n UserDetailsID: number;\n RecordID?:number;\n}\nexport class DownloadFileInputModel {\n DownloadID: number;\n FilePath: string;\n UserDetailsID: number;\n}\nexport class DownloadFileOutputModel {\n FileName: string;\n FileMimeType: string;\n FileBase64String: string;\n FileDownloadPath: string;\n AccessKey: string;\n}\n\nexport class DeleteMultipleInputModel\n{\n DeleteIDs:Array ;\n UserDetailsID : number;\n RecordId?:number;\n}\nexport class DeleteAttachmentInputModel\n{\n DeleteID: number;\n UserDetailsID: number;\n RecordID: number;\n}\n\nexport class UpdateDefaultThumbnailInputModel\n{\n UserDetailsId: number;\n GalleryType: AttachmentType;\n ParentId: number;\n AttachmentId: number;\n\n}\n\n","import { Injectable } from '@angular/core';\nimport { CustomToastrComponent } from 'app/main/extensions/toastr/custom-toastr/custom-toastr.component';\nimport { GlobalConfig, ToastrService } from 'ngx-toastr';\nimport { cloneDeep } from 'lodash';\nimport { Constant } from 'app/Classes/constant';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CustomToastrService {\n private options: GlobalConfig;\n\n constructor(private _toastrService: ToastrService,) {\n\n this.options = this._toastrService.toastrConfig;\n }\n\n public get customToastrRef() {\n let _customToastrRef = cloneDeep(this.options);\n _customToastrRef.toastComponent = CustomToastrComponent;\n _customToastrRef.closeButton = true;\n _customToastrRef.tapToDismiss = false;\n _customToastrRef.progressBar = true;\n _customToastrRef.toastClass = 'toast ngx-toastr';\n //_customToastrRef.disableTimeOut = true;\n return _customToastrRef;\n }\n\n public Error(message: string, title = Constant.ErrorToastrTitle): any {\n return this._toastrService.error(message, title, this.customToastrRef);\n }\n public Success(message: string, title = Constant.SuccessToastrTitle): any {\n return this._toastrService.success(message, title, this.customToastrRef);\n }\n public Warning(message: string, title = Constant.WarningToastrTitle): any {\n return this._toastrService.warning(message, title, this.customToastrRef);\n }\n public Info(message: string, title = Constant.InfoToastrTitle): any {\n return this._toastrService.info(message, title, this.customToastrRef);\n }\n}\n\n","import { Injectable } from '@angular/core';\nimport * as CryptoJS from 'crypto-js'\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class EncrDecrService {\n\n\tconstructor() { }\n\tset(keys: string, value: string) {\n\t\tif (value) {\n\t\t\tvar key = CryptoJS.enc.Utf8.parse(keys);\n\t\t\tvar iv = CryptoJS.enc.Utf8.parse(keys);\n\t\t\tvar encrypted = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(value.toString()), key,\n\t\t\t\t{\n\t\t\t\t\tkeySize: 128 / 8,\n\t\t\t\t\tiv: iv,\n\t\t\t\t\tmode: CryptoJS.mode.ECB,\n\t\t\t\t\tpadding: CryptoJS.pad.Pkcs7\n\t\t\t\t});\n\t\t\treturn encrypted.toString();\n\t\t}\n\t\telse\n\t\t\treturn value;\n\t}\n\n\n\n\t//The get method is use for decrypt the value.\n\tget(keys: string, value: string) {\n\t\tif (value) {\n\t\t\tvar key = CryptoJS.enc.Utf8.parse(keys);\n\t\t\tvar iv = CryptoJS.enc.Utf8.parse(keys);\n\t\t\tvar decrypted = CryptoJS.AES.decrypt(value, key, {\n\t\t\t\tkeySize: 128 / 8,\n\t\t\t\tiv: iv,\n\t\t\t\tmode: CryptoJS.mode.ECB,\n\t\t\t\tpadding: CryptoJS.pad.Pkcs7\n\t\t\t});\n\t\t\treturn decrypted.toString(CryptoJS.enc.Utf8);\n\t\t}\n\t\telse\n\t\t\treturn value;\n\t}\n\n\tsetString(keys: any, value: any) {\n\t\tlet valueArray = CryptoJS.enc.Utf8.parse(value)\n\n\t\tvar key = CryptoJS.enc.Utf8.parse(keys);\n\t\tvar iv = CryptoJS.enc.Utf8.parse(keys);\n\t\tvar encrypted = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(valueArray.toString()), key,\n\t\t\t{\n\t\t\t\tkeySize: 128 / 8,\n\t\t\t\tiv: iv,\n\t\t\t\tmode: CryptoJS.mode.ECB,\n\t\t\t\tpadding: CryptoJS.pad.Pkcs7\n\t\t\t});\n\n\t\treturn encrypted.toString();\n\t}\n\n\tgetstring(keys: any, value: any) {\n\n\t\tvar key = CryptoJS.enc.Utf8.parse(keys);\n\t\tvar iv = CryptoJS.enc.Utf8.parse(keys);\n\t\tvar decrypted = CryptoJS.AES.decrypt(value, key, {\n\t\t\tkeySize: 128 / 8,\n\t\t\tiv: iv,\n\t\t\tmode: CryptoJS.mode.ECB,\n\t\t\tpadding: CryptoJS.pad.Pkcs7\n\t\t});\n\n\t\treturn decrypted;\n\n\t\t// return decrypted.toString(CryptoJS.enc.Utf8);\n\t}\n\n}\n","import { Injectable } from '@angular/core';\nimport { GlobalService } from './global.service';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GeneralService {\n private selectedItemsSubject = new BehaviorSubject([]);\n selectedItems$ = this.selectedItemsSubject.asObservable();\n private removedItemsSubject = new BehaviorSubject(null); // New Subject to track removed items\n removedItems$: Observable;\n constructor(private globalService: GlobalService) { \n const storedItems = JSON.parse(localStorage.getItem('selectedItems')) || [];\n this.selectedItemsSubject = new BehaviorSubject(storedItems);\n this.removedItemsSubject = new BehaviorSubject(null);\n\n this.selectedItems$ = this.selectedItemsSubject.asObservable();\n this.removedItems$ = this.removedItemsSubject.asObservable();\n }\n\n GetUserAddressDocumentsById(data){\n const path = 'api/UserAddress/GetUserAddressDocumentsById';\n return this.globalService.PostDataById(data,path);\n }\n\n GetUserSchoolDocumentsById(data){\n const path = 'api/UserSchool/GetUserSchoolDocumentsById';\n return this.globalService.PostDataById(data,path);\n }\n\n GetUserQuickPostDocumentsById(data){\n const path = 'api/UserQuickPost/GetUserQuickPostDocumentsById';\n return this.globalService.PostDataById(data,path);\n }\n\n GetUserPastimeDocumentsById(data){\n const path = 'api/UserPastime/GetUserPastimeDocumentsById';\n return this.globalService.PostDataById(data,path);\n }\n\n GetUserHobbyDocumentsById(data){\n const path = 'api/UserHobby/GetUserHobbyDocumentsById';\n return this.globalService.PostDataById(data,path);\n }\n\n GetUserLegalDocumentsById(data){\n const path = 'api/UserLegal/GetUserLegalDocumentsById';\n return this.globalService.PostDataById(data,path);\n }\n\n // getSelectedItems(): any[] {\n // return this.selectedItemsSubject.getValue();\n // }\n\n // // Add an item to the list\n // addItem(item: any): void {\n // const currentItems = this.getSelectedItems();\n \n // // Check if the item is from the first card by identifying its NoosomPlanId or another unique property\n // if (item?.NoosomPlanId === 2) {\n // // Handling for the first card (only one item allowed)\n // const updatedItems = [...currentItems.filter(i => i.NoosomPlanId !== 2), item];\n // this.selectedItemsSubject.next(updatedItems);\n // } else if (item?.NoosomPlanId === 1) {\n // // Handling for the second card (only one item allowed)\n // const updatedItems = [...currentItems.filter(i => i.NoosomPlanId !== 1), item];\n // this.selectedItemsSubject.next(updatedItems);\n // }\n // }\n \n // removefromCart(item: any): void {\n // this.removedItemsSubject.next(item); // Update the removedItemsSubject with the removed item\n // }\n\n\n // removeItem(item: any): void {\n // const currentItems = this.getSelectedItems();\n // const updatedItems = currentItems.filter((i) => i !== item);\n // this.selectedItemsSubject.next(updatedItems);\n // }\n\n // // New method to get the removed items as an Observable\n // getRemovedItems(): Observable {\n // return this.removedItemsSubject.asObservable();\n // }\n\n // Clear all items\n clearItems(): void {\n this.selectedItemsSubject.next([]);\n this.removefromCart([]);\n }\n getSelectedItems(): any[] {\n return this.selectedItemsSubject.getValue();\n }\n\n // Add an item to the list and update localStorage\n addItem(item: any): void {\n const currentItems = this.getSelectedItems();\n \n if (item?.NoosomPlanId === 2) {\n const updatedItems = [...currentItems.filter(i => i.NoosomPlanId !== 2), item];\n this.selectedItemsSubject.next(updatedItems);\n localStorage.setItem('selectedItems', JSON.stringify(updatedItems));\n } else if (item?.NoosomPlanId === 1) {\n const updatedItems = [...currentItems.filter(i => i.NoosomPlanId !== 1), item];\n this.selectedItemsSubject.next(updatedItems);\n localStorage.setItem('selectedItems', JSON.stringify(updatedItems));\n }\n }\n\n // Remove an item from the list and update localStorage\n removeItem(item: any): void {\n const currentItems = this.getSelectedItems();\n const updatedItems = currentItems.filter((i) => i !== item);\n this.selectedItemsSubject.next(updatedItems);\n localStorage.setItem('selectedItems', JSON.stringify(updatedItems));\n }\n\n // Remove from cart and update removedItemsSubject\n removefromCart(item: any): void {\n this.removedItemsSubject.next(item); // Update the removedItemsSubject with the removed item\n this.removeItem(item); // Also remove the item from the list and localStorage\n }\n\n // New method to get the removed items as an Observable\n getRemovedItems(): Observable {\n return this.removedItemsSubject.asObservable();\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Constant } from 'app/Classes/constant';\nimport { BehaviorSubject, Observable, ReplaySubject } from 'rxjs';\nimport { EncrDecrService } from './encr-decr.service';\nimport { Role, User } from 'app/auth/models';\nimport { NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\nimport { map } from 'rxjs/operators';\nimport { CountryISO } from 'ngx-intl-tel-input';\nimport { AuthenticationService } from 'app/auth/service';\nimport { Http } from '@angular/http';\nimport { Platform } from '@angular/cdk/platform';\nimport { RandomStringType } from 'app/enums';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GlobalService {\n User: User = new User();\n //UserId = 35;\n FirstName: string = \"\";\n dateFormat: string;\n timeFormat: string;\n private urls = new BehaviorSubject([]);\n currentUrls = this.urls.asObservable();\n constructor(\n private _http: HttpClient,\n private http: Http,\n private EncrDecr: EncrDecrService,\n private _authenticationService: AuthenticationService,\n private _platform: Platform\n ) { }\n\n GetData(path: string) {\n return this._http\n .get(Constant.API + path)\n .pipe(\n map(result => {\n let decrypted = this.EncrDecr.get(Constant.EncrDecrKey, result.data);\n return decrypted;\n })\n );\n }\n\n GetMaxBirthDate(): Date {\n var date = new Date();\n //date.setDate(date.getDate() - 6);\n date.setFullYear(date.getFullYear() - 12);\n //$(\"#searchDateFrom\").val((date.getMonth()) + '/' + (date.getDate()) + '/' + (date.getFullYear()));\n //console.log('max bdate');\n //console.log(date);\n return date;\n }\n\n base64ToArrayBuffer(base64) {\n //console.log('base64ToArrayBuffer');\n var binaryString = window.atob(base64);\n //console.log(binaryString);\n var binaryLen = binaryString.length;\n //console.log(binaryLen);\n var bytes = new Uint8Array(binaryLen);\n //console.log(bytes);\n for (var i = 0; i < binaryLen; i++) {\n var ascii = binaryString.charCodeAt(i);\n bytes[i] = ascii;\n }\n //console.log(bytes);\n return bytes;\n }\n saveByteArray(fileName, byte, _type) {\n //console.log('saveByteArray');\n var blob = new Blob([byte], { type: _type });\n //console.log(blob);\n var link = document.createElement('a');\n //console.log(link);\n link.href = window.URL.createObjectURL(blob);\n link.download = fileName;\n //console.log(link);\n link.style.visibility = 'hidden';\n //console.log(link);\n document.body.appendChild(link);\n //console.log('1');\n setTimeout(() => {\n link.click();\n document.body.removeChild(link);\n //console.log('2');\n //console.log('3');\n }, 50);\n //link.click();\n }\n\n GetDataWithAuthentication(path: string): Observable {\n //var encrypted = { RequestMessage: this.EncrDecr.set(Constant.EncrDecrKey, JSON.stringify(body)) };\n return this._http.get(Constant.API + path, { headers: this.SetHeaders() });\n }\n\n PostDataById(body: any, path: string): Observable {\n var encrypted = { RequestMessage: this.EncrDecr.set(Constant.EncrDecrKey, JSON.stringify(body)) };\n return this._http.post(Constant.API + path, encrypted, { headers: this.SetHeaders() });\n }\n\n PostDataWithoutId( path: string): Observable {\n return this._http.post(Constant.API + path, { headers: this.SetHeaders() });\n }\n\n PostDataAnonymous(body: any, path: string): Observable {\n var encrypted = { RequestMessage: this.EncrDecr.set(Constant.EncrDecrKey, JSON.stringify(body)) };\n return this.http.post(Constant.API + path, encrypted);\n }\n\n PostDataWithoutEncryption(body: any, path: string): Observable {\n return this._http.post(Constant.API + path, body, { headers: this.SetHeaders() });\n }\n\n SignupTest() {\n //debugger;\n this.SetHeaders();\n this._http.get(Constant.API + 'api/Account/SignupTest1', { headers: this.SetHeaders() }).subscribe(data => {\n },\n error => {\n console.log('Log the error here: ', error);\n });\n }\n\n GetDateObject(date: NgbDateStruct): Date {\n return new Date(date.year, date.month, date.day);\n }\n\n GetCountryISOObject(shortCountryName: string): CountryISO {\n // console.log('shortCountryName');\n // console.log(shortCountryName);\n\n var Result: CountryISO.India;\n for (let key in CountryISO) {\n if (CountryISO[key] == shortCountryName) {\n // console.log('matched key:');\n // console.log(key);\n Result = CountryISO[key];\n }\n }\n // console.log(Result);\n return Result;\n }\n SetHeaders() {\n const headers = new HttpHeaders({\n 'Authorization': `Bearer ` + this._authenticationService.currentUserValue.Token\n });\n return headers;\n }\n getLocalDate(StrDate: string): Date {\n var tempDate: Date = new Date(StrDate);\n var Year: number = tempDate.getFullYear();\n var Month: number = tempDate.getMonth();\n var Days: number = tempDate.getDate();\n var Hours: number = tempDate.getHours();\n var Minutes: number = tempDate.getMinutes()\n var Seconds: number = tempDate.getMilliseconds();\n var OffSetMin: number = (new Date().getTimezoneOffset());\n var TotalMinutes: number = (+Minutes) + (+OffSetMin) * -1;\n\n var dateTemp = new Date();\n dateTemp.setFullYear(Year);\n dateTemp.setMonth(Month);\n dateTemp.setDate(Days);\n dateTemp.setHours(Hours);\n dateTemp.setMinutes(TotalMinutes);\n dateTemp.setSeconds(Seconds);\n return dateTemp\n }\n\n GetUserCDNFolderPath(): string {\n let _res = '';\n if (this._authenticationService.currentUserValue)\n _res = Constant.CDNStorageRootURL + Constant.CDNStorageZoneName + Constant.CDNDefaultFolder + this._authenticationService.currentUserValue.CdnFolderName;\n return _res;\n }\n\n convertFile(file: File): Observable {\n const result = new ReplaySubject(1);\n const reader = new FileReader();\n reader.readAsBinaryString(file);\n reader.onload = (event) => result.next(btoa(event.target.result.toString()));\n return result;\n }\n public getIPAddress() {\n return this._http.get(\"https://api.ipify.org/?format=json\");\n }\n public GetBrowserName(): string {\n var browserName = \"Other\";\n\n if (this._platform.BLINK) {\n browserName = \"Chrome\";\n }\n else if (this._platform.EDGE) {\n browserName = \"Microsoft Edge\";\n }\n else if (this._platform.FIREFOX) {\n browserName = \"Firefox\";\n }\n else if (this._platform.SAFARI) {\n browserName = \"Safari\";\n }\n else if (this._platform.TRIDENT) {\n browserName = \"Internet Explorer\";\n }\n else if (this._platform.WEBKIT) {\n browserName = \"Opera\";\n }\n return browserName;\n }\n GetRandomString(type: RandomStringType, length: number): string {\n var data = \"\";\n var result = \"\";\n if (type == RandomStringType.DIGITS) {\n data = \"0123456789\"\n }\n else if (type == RandomStringType.UPPERCASE) {\n data = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"\n }\n else {\n data = \"abcdefghijklmnopqrstuvwxyz\"\n }\n for (var x = 1; x <= length; x++) {\n result += data[Math.floor(Math.random() * (data.length - 1))];\n }\n return result;\n }\n getSumByKey = (arr, key): number => {\n return arr.reduce((accumulator, current) => accumulator + Number(current[key]), 0)\n }\nsetDateFormat(format: string): void {\n if (format) {\n // Encrypt and store the date format in local storage\n const encryptedFormat = this.EncrDecr.set(Constant.EncrDecrKey, format);\n localStorage.setItem('dateformat', encryptedFormat);\n // Decrypt and set the date format\n this.dateFormat = format;\n }\n}\n\n// Get function to retrieve the date format\ngetDateFormat(): string {\n if (this.dateFormat) {\n return this.dateFormat;\n } else {\n const storedFormat = localStorage.getItem('dateformat');\n if (storedFormat) {\n this.dateFormat = this.EncrDecr.get(Constant.EncrDecrKey, storedFormat);\n } else {\n this.dateFormat = 'dd/MM/YYYY'; // Set your default date format here\n }\n return this.dateFormat;\n }\n}\n\n\n setTimeFormat(format: string): void {\n if (format) {\n let timeFormat: string;\n if (format === '24 Hr') {\n timeFormat = 'HH:mm';\n } else if (format === '12 Hr') {\n timeFormat = 'hh:mm a';\n }\n if (timeFormat) {\n localStorage.setItem('timeformat', this.EncrDecr.set(Constant.EncrDecrKey, timeFormat));\n this.timeFormat = timeFormat;\n }\n }\n }\n \n // Get function to retrieve the date format\n getTimeFormat(): string {\n if (this.timeFormat) {\n return this.timeFormat;\n } else {\n const storedFormat = localStorage.getItem('timeformat');\n if (storedFormat) {\n this.timeFormat = this.EncrDecr.get(Constant.EncrDecrKey, storedFormat);\n } else {\n this.timeFormat = 'HH:mm';\n }\n return this.timeFormat;\n }\n }\n\n addUrls(newUrls: string[]) {\n const current = this.urls.getValue();\n this.urls.next([...current, ...newUrls]);\n }\n\n clearUrls() {\n this.urls.next([]);\n }\n\n\n setItem(key: string, value: any): void {\n localStorage.setItem(key, JSON.stringify(this.EncrDecr.set(Constant.EncrDecrKey, value)));\n }\n\n // Method to get an item from localStorage\n getItem(key: string) {\n const item = this.EncrDecr.get(Constant.EncrDecrKey, JSON.parse(localStorage.getItem(key)));\n return item ;\n }\n \n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LoadingScreenService {\n private loadingCounter = 0;\n constructor() { }\n private _loading: boolean = false;\n loadingStatus: Subject = new Subject();\n\n get loading():boolean {\n return this._loading;\n }\n\n set loading(value) {\n this._loading = value;\n this.loadingStatus.next(value);\n }\n\n startLoading() {\n this.loading = true;\n }\n\n stopLoading() {\n this.loading = false;\n }\n}\n","import firebase from 'firebase/app';\r\nimport 'firebase/messaging'; // Import Firebase messaging\r\n\r\n// Your web app's Firebase configuration\r\nconst firebaseConfig = {\r\n apiKey: \"AIzaSyAbXukM5MnLSWa2DVIpS41HYYqmKSsITbA\",\r\n authDomain: \"noosom-403be.firebaseapp.com\",\r\n projectId: \"noosom-403be\",\r\n storageBucket: \"noosom-403be.appspot.com\",\r\n messagingSenderId: \"949218635521\",\r\n appId: \"1:949218635521:web:29fe1a9b3bf87510143500\",\r\n measurementId: \"G-CBLN0G9689\"\r\n};\r\n\r\n// Initialize Firebase\r\nfirebase.initializeApp(firebaseConfig);\r\n\r\nexport const messaging = firebase.messaging(); // Export messaging for use in services\r\n","import { Injectable } from '@angular/core';\nimport firebase from 'firebase/app';\nimport 'firebase/messaging'; // Import Firebase messaging\nimport { messaging } from '../firebase-config'; // Import messaging from the config file\nimport { BehaviorSubject } from 'rxjs';\nimport { LoadingScreenService } from './loading-screen.service';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MessagingService {\n messageSubject = new BehaviorSubject(null); // Store the latest message\n currentMessage = this.messageSubject.asObservable(); // Observable to subscribe to\n constructor(\n private loadingScreenService: LoadingScreenService,\n ) {\n //this.listenForServiceWorkerMessages(); // Listen\n this.receiveMessage();\n }\n\n requestPermission() {\n return messaging.requestPermission()\n .then(() => {\n // console.log('Notification permission granted.');\n return messaging.getToken();\n })\n .then((token) => {\n // console.log('FCM Token:', token);\n // Send the token to your server for later use\n return token;\n })\n .catch((error) => {\n this.loadingScreenService.stopLoading();\n // console.error('Unable to get permission to notify.', error);\n });\n }\n\n // Listen for incoming messages\n receiveMessage() {\n // console.log(messaging)\n messaging.onMessage((payload) => {\n this.messageSubject.next(payload);\n // Handle the message payload, such as showing a notification or alert\n });\n }\n\n listenForServiceWorkerMessages() {\n navigator.serviceWorker.addEventListener('message', (event) => {\n if (event.data && event.data.type === 'notification') {\n this.messageSubject.next(event.data.payload); // Update the BehaviorSubject with the notification payload\n }\n });\n }\n \n}","import { Injectable } from '@angular/core';\nimport { webSocket, WebSocketSubject } from 'rxjs/webSocket';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class WebSocketService {\n private socket$: WebSocketSubject;\n\n constructor() {\n this.connect();\n }\n\n connect() {\n const currentURL = window.location.href;\n const sitename = currentURL.split('/').slice(0, 3).join('/');\n // console.log(sitename)\n let socketUrl: string='wss://localhost:44345/ws';\n if (sitename.includes('https://app.noosom.com')) {\n socketUrl = 'wss://api.noosom.com/ws';\n } else if (sitename.includes('https://test.noosom.com')) {\n socketUrl = 'wss://apitest.noosom.com/ws';\n } else if (sitename.includes('http://localhost:4200')) {\n socketUrl = 'wss://localhost:44345/ws'; // Use WSS for localhost in HTTPS mode\n }\n this.socket$ = webSocket(socketUrl);\n this.socket$.subscribe(\n (message) => console.log('Received message:', message),\n (err) => console.error('WebSocket error:', err),\n () => console.log('WebSocket connection closed')\n );\n }\n\n sendMessage(msg: any) {\n this.socket$.next(msg);\n }\n\n close() {\n this.socket$.complete();\n }\n}\n","import { AddressesModel } from \"app/address/address-model.model\";\nimport { FileUploadInputModel } from \"app/Models/file-model.model\";\nimport { GenderListOutputModel, GendersListOutputModel } from \"app/Models/gender-model.model\";\nimport { LunarSignListOutputModel } from \"app/Models/lunar-sign-model.model\";\nimport { NoosomTypeListOutputModel } from \"app/Models/noosom-type-model.model\";\nimport { ReligionListOutputModel } from \"app/Models/religion-model\";\nimport { ZodiacSignListOutputModel } from \"app/Models/zodiac-sign-model\";\nimport { SchoolModel } from \"app/school/school-model.model\";\nimport { InsuranceModel } from \"app/insurance/add-insurance/insurance.model\"\nimport { CountryListOutputModel } from \"app/Models/country-model.model\";\nimport { RegionListOutputModel } from \"app/Models/region-model.model\";\nimport { StateListOutputModel } from \"app/Models/state-model.model\";\nimport { ApplicationType, RelationType } from \"app/enums\";\n\nexport class AboutMeLoadDataOutputModel {\n UserId: number;\n UserName: string;\n EmailAddress: string;\n FullName: string;\n NoosomTypeId: number;\n ZodiacSignId: number;\n LunarSignId: number;\n ReligionId: number;\n FirstName: string;\n MiddleName: string;\n LastName: string;\n NickName: string;\n DateofBirth: Date;\n MobileNumber: string;\n SexAtBirth: number;\n GenderIdentifyAs: number;\n NoosomWebUrl: string;\n PersonalWebUrl: string;\n //ProfileImagePath: string;\n ContactNumberCountryCode:string;\n CountryShortCode: string;\n ISDCode: string;\n}\nexport class AboutMeCreateUpdateInputModel {\n UserId: number;\n UserName: string;\n EmailAddress: string;\n FullName: string;\n NoosomTypeId: number;\n ZodiacSignId: number;\n LunarSignId: number;\n ReligionId: number;\n FirstName: string;\n MiddleName: string;\n LastName: string;\n NickName: string;\n //ProfileImagePath: string;\n ContactNumberCountryCode :string;\n DateofBirth: string;\n MobileNumber: string;\n SexAtBirth: number;\n GenderIdentifyAs: number\n NoosomWebUrl: string;\n PersonalWebUrl: string;\n}\nexport class UpdateProfilePictureInputModel {\n UserDetailsID: number;\n ProfilePicturePath: string;\n ProfileImageSizeInBytes: number;\n}\n\nexport class AboutMeLoadDataOutputModelMain {\n aboutMeData: AboutMeLoadDataOutputModel;\n genderList: Array;\n gendersList: Array;\n religionList: Array;\n zodiacSignList: Array;\n lunarSignList: Array;\n noosomTypeList: Array;\n userAddresses: Array;\n userSchools: Array;\n userInsurance: Array;\n}\n\nexport class BloodGroupListOutputModel {\n BloodGroupId: number;\n BloodGroupName: string;\n}\n\nexport class UserDemographicsModel {\n UserDemographicId: number;\n UserDetailsId: number;\n BloodGroupId: number;\n Allergies: string;\n EmergencyContactFullName: string;\n EmergencyContactRelationship: string;\n EmergencyContactNumber: string;\n EmergencyContactCountryCode: string;\n GeneralMedicalHistory: string;\n FamilyMedicalHistory: string;\n SurgicalHistory: string;\n PostCareNotes: string;\n OrganDonorYn: boolean;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n\n BloodGroupList: Array;\n}\n\nexport class TblUserHealthProviders {\n UserHealthProviderId: number;\n UserDetailsId: number;\n RegionId: number;\n CountryId: number;\n StateId: number;\n Speciality: string;\n ProfessionalName: string;\n Address1: string;\n Address2: string;\n Address3: string;\n AddressTown: string;\n AddressPostCode: string;\n Latitude: number;\n Longitude: number;\n EmailAddress: string;\n ContactNumber1: string;\n ContactNumber1CountryCode: string;\n ContactNumber2: string;\n ContactNumber2CountryCode: string;\n LastExamDate: string;\n NextExamDate: string;\n Notes: string;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n}\nexport class HealthProviderModel {\n UserHealthProviderId: number;\n UserDetailsId: number;\n RegionId: number;\n CountryId: number;\n StateId: number;\n Speciality: string;\n ProfessionalName: string;\n FullAddress: string;\n Address1: string;\n Address2: string;\n Address3: string;\n AddressTown: string;\n AddressPostCode: string;\n Latitude: number;\n Longitude: number;\n EmailAddress: string;\n ContactNumber1: string;\n ContactNumber1CountryCode: string;\n ContactNumber2: string;\n ContactNumber2CountryCode: string;\n LastExamDate: string;\n NextExamDate: string;\n Notes: string;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n}\nexport class HealthProviderLoadDataOutputModel {\n UserHealthProvider: TblUserHealthProviders;\n RegionList: Array;\n CountryList: Array;\n StateList: Array\n}\nexport class DeleteInputModel {\n DeleteID: number;\n UserDetailsID: number;\n}\n\nexport class TblUserMedications {\n UserMedicationId: number;\n UserDetailsId: number;\n PrescribedBy: number;\n RefillDurationId: number;\n MedicationName: string;\n ConditionFor: string;\n Dosage: string;\n Frequency: string;\n LastRefillDate: string;\n NextRefillDate: string;\n Notes: string;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n}\nexport class MedicationModel {\n UserMedicationId: number;\n UserDetailsId: number;\n PrescribedBy: number;\n RefillDurationId: number;\n MedicationName: string;\n RefillDurationName: string;\n PrescribedByName: string;\n ConditionFor: string;\n Dosage: string;\n Frequency: string;\n LastRefillDate: string;\n NextRefillDate: string;\n Notes: string;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n}\nexport class RefillDurationListOutputModel {\n RefillDurationId: number;\n RefillDurationName: string;\n ActiveYn: boolean;\n}\nexport class MedicationLoadDataOutputModel {\n UserMedication: TblUserMedications;\n RefillDurationList: Array;\n PrescribedByList: Array;\n}\nexport class MedicationLoadDataInputModel {\n UserMedicationId: number;\n UserDetailsId: number;\n}\n\nexport class TblUserVaccinations {\n UserVaccinationId: number;\n UserDetailsId: number;\n VaccineId: number;\n VaccinationName: string;\n VaccinationType: string;\n LastDosageDate: string;\n NextDosageDate: string;\n Notes: string;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n}\nexport class VaccinationModel {\n UserVaccinationId: number;\n UserDetailsId: number;\n VaccineId: number;\n VaccinationName: string;\n VaccineName: string;\n VaccinationType: string;\n LastDosageDate: string;\n NextDosageDate: string;\n Notes: string;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n}\nexport class VaccinationLoadDataOutputModel {\n UserVaccination: TblUserVaccinations;\n VaccineList: Array;\n}\nexport class VaccineListOutputModel {\n VaccineId: number;\n VaccineName: string;\n OrderSequence: number;\n ActiveYn: boolean;\n}\n\nexport class TblUserAwards {\n UserAwardId: number;\n UserDetailsId: number;\n AwardName: string;\n Occasion: string;\n DateReceived: string;\n OccasionNotes: string;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n}\nexport class AwardModel {\n UserAwardId: number;\n UserDetailsId: number;\n AwardName: string;\n Occasion: string;\n DateReceived: string;\n OccasionNotes: string;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n}\nexport class AwardLoadDataOutputModel {\n UserAward: TblUserAwards;\n}\nexport class TblUserAchievements {\n UserAchievementId: number;\n UserDetailsId: number;\n AchievementName: string;\n AchievementTypeId: number;\n Occasion: string;\n DateReceived: string;\n OccasionNotes: string;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n}\nexport class AchievementModel {\n UserAchievementId: number;\n UserDetailsId: number;\n AchievementName: string;\n AchievementTypeName: string;\n Occasion: string;\n DateReceived: string;\n OccasionNotes: string;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n}\nexport class AchievementLoadDataOutputModel {\n UserAchievement: TblUserAchievements;\n}\nexport class AchievementsLoadDataInputModel {\n UserDetailsId: number;\n AchievementTypeId: number;\n}\nexport class TblUserFamilyMembers {\n UserFamilyMemberId: number;\n UserDetailsId: number;\n FamilyMemberTypeId: number;\n FirstName: string;\n MiddleName: string;\n LastName: string;\n Relationship: string;\n EmailAddress: string;\n DateofBirth?: string;\n PersonalWebUrl: string;\n NoosomWebUrl: string;\n ContactNumber1: string;\n ContactNumber1CountryCode: string;\n ContactNumber2: string;\n ContactNumber2CountryCode: string;\n Address1: string;\n Address2: string;\n Address3: string;\n AddressTown: string;\n AddressPostCode: string;\n RegionId: number;\n CountryId: number;\n StateId: number;\n Latitude: number;\n Longitude: number;\n ConnectionRequestStatusId?: number;\n ConnectionRequestStatusDescription?: string;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n}\nexport class FamilyMemberModel {\n UserFamilyMemberId: number;\n UserDetailsId: number;\n FamilyMemberTypeId: number;\n FamilyMemberTypeName: string;\n FirstName: string;\n MiddleName: string;\n LastName: string;\n Relationship: string;\n EmailAddress: string;\n DateofBirth?: string;\n PersonalWebUrl: string;\n NoosomWebUrl: string;\n ConnectionRequestStatusId: number;\n ConnectionRequestStatusDescription: string;\n ProfileImagePath: string;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n}\nexport class FamilyMemberLoadDataOutputModel {\n UserFamilyMember: TblUserFamilyMembers;\n RegionList: Array;\n CountryList: Array;\n StateList: Array\n}\nexport class FamilyMembersLoadDataInputModel {\n UserDetailsId: number;\n FamilyMemberTypeId: number;\n}\nexport class TblUserFriends {\n UserFriendId: number;\n UserDetailsId: number;\n FirstName: string;\n MiddleName: string;\n LastName: string;\n EmailAddress: string;\n DateofBirth?: string;\n PersonalWebUrl: string;\n NoosomWebUrl: string;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n AddressState: string;\n Address1: string;\n Address2: string;\n Address3: string;\n AddressTown: string;\n AddressPostCode: string;\n RegionId: number;\n CountryId: number;\n StateId: number;\n Latitude: number;\n Longitude: number;\n ContactNumber1: string;\n ContactNumber1CountryCode: string;\n ContactNumber2: string;\n ContactNumber2CountryCode: string;\n ConnectionRequestStatusId?: number;\n ConnectionRequestStatusDescription?: string;\n}\nexport class FriendModel {\n UserFriendId: number;\n UserDetailsId: number;\n FirstName: string;\n MiddleName: string;\n LastName: string;\n EmailAddress: string;\n DateofBirth?: string;\n PersonalWebUrl: string;\n NoosomWebUrl: string;\n ConnectionRequestStatusId: number;\n ConnectionRequestStatusDescription: string;\n ProfileImagePath: string;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n}\nexport class FriendLoadDataOutputModel {\n UserFriend: TblUserFriends;\n RegionList: Array;\n CountryList: Array;\n StateList: Array\n\n}\n\nexport class TblUserJobs {\n UserJobId: number;\n UserDetailsId: number;\n RegionId?: number;\n CountryId: number;\n StateId: number;\n Employer: string;\n JobDescription: string;\n Address1: string;\n Address2: string;\n Address3: string;\n AddressTown: string;\n AddressPostCode: string;\n Latitude: number;\n Longitude: number;\n JobFromDate: string;\n JobToDate: string;\n Notes: string;\n CurrentJobYn: boolean;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n}\n\nexport class JobModel {\n UserJobId: number;\n UserDetailsId: number;\n RegionId: number;\n CountryId: number;\n StateId: number;\n Employer: string;\n JobDescription: string;\n FullAddress: string;\n Address1: string;\n Address2: string;\n Address3: string;\n AddressTown: string;\n AddressCountry: string;\n AddressState: string;\n AddressPostCode: string;\n Latitude: number;\n Longitude: number;\n JobFromDate: string;\n JobToDate: string;\n Notes: string;\n CurrentJobYn: boolean;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n}\n\nexport class JobLoadDataOutputModel {\n UserJob: TblUserJobs;\n RegionList: Array;\n CountryList: Array;\n StateList: Array\n}\n\nexport class UpdateCoverPictureInputModel {\n UserDetailsID: number;\n CoverImagePath: string;\n CoverImageSizeInBytes: number;\n}\n\nexport class UpdateCoverPictureOutputModel {\n UserDetailsId: number;\n CoverImagePath: string;\n}\n\nexport class UserConnectionRequestModel\n {\n UserConnectionRequestId: number;\n UserDetailsId: number;\n UserFamilyMemberId?: number;\n UserFamilyMemberFullName: string;\n UserFriendId: number;\n UserFriendFullName: string;\n ConnectionRequestStatusId: number;\n ConnectionRequestStatusDescription: string;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n }\n export class UserConnectionRequestLoadDataOutputModel\n {\n UserConnectionRequest:UserConnectionRequestModel\n }\n export class GetUserConnectionRequestsInputModel\n {\n UserDetailsId: number;\n StartDate?: string;\n EndDate?: string;\n }\n\n export class RequestInputModel\n {\n SenderUserDetailsId: number;\n ReceiverId: number;\n ReceiverEmailAddress?: string;\n SenderEmailAddress: string;\n Type:RelationType;\n EnviornmentId:ApplicationType;\n FamilyMemberType?: number;\n }","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { GlobalService } from 'app/Services/global.service';\nimport {TblUserAwards} from '../about-me-model.model'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AwardService {\n\n constructor(\n private _http: HttpClient,private globalService: GlobalService\n ) { }\n CreateUpdateUserAward(userAwards:TblUserAwards){\n const path='api/UserAward/CreateUpdateUserAward'\n return this.globalService.PostDataById(userAwards , path);\n }\n GetUserAwardLoadData(_data:number){\n const path='api/UserAward/GetUserAwardLoadData'\n return this.globalService.PostDataById(_data , path);\n }\n}\n","
\n
{{dialogTitle}} \n - {{userAwards?.AwardName| truncate:50}} \n \n \n \n
\n
\n \n
\n
\n
\n \n \n \n {{'AWARD.ERROR_MESSAGE_REQUIRED_AWARD_NAME'|translate}}\n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_100'|translate}}\n \n
\n \n
\n \n \n \n {{'AWARD.ERROR_MESSAGE_REQUIRED_OCCASION'|translate}}\n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
\n
\n
\n \n
\n \n
\n \n
\n
\n \n {{'AWARD.ERROR_MESSAGE_REQUIRED_DATE_RECEIVED'\n | translate}}\n \n
\n
\n \n
\n \n
\n \n
\n \n {{'AWARD.ERROR_MESSAGE_REQUIRED_OCCASION_NOTES'\n | translate}}\n \n
\n
\n
\n
\n
\n
\n
\n \n\n \n \n \n
\n
\n","import { Component, OnInit, Inject, ViewChild, Pipe, PipeTransform } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { locale as english } from '../i18n/en';\nimport { locale as french } from '../i18n/fr';\nimport { locale as german } from '../i18n/de';\nimport { locale as portuguese } from '../i18n/pt';\nimport { locale as gujarati } from '../i18n/gj';\nimport { locale as hindi } from '../i18n/hn';\nimport { CoreTranslationService } from '@core/services/translation.service';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { MatDialog, MatDialogConfig } from \"@angular/material/dialog\";\nimport { CoreConfigService } from '@core/services/config.service';\nimport {Observable, Subject} from 'rxjs';\nimport { Constant } from 'app/Classes/constant';\nimport { E } from 'assets/extensions/extensions';\nimport { Status, Enums, MapModalType } from 'app/enums';\nimport { takeUntil } from 'rxjs/operators';\nimport { FormBuilder,FormGroup, Validators } from '@angular/forms';\nimport { AuthenticationService } from 'app/auth/service';\nimport { CustomToastrService } from 'app/Services/custom-toastr.service';\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\nimport { GlobalService } from 'app/Services/global.service';\nimport { LoadingScreenService } from 'app/Services/loading-screen.service';\nimport {AwardLoadDataOutputModel,TblUserAwards} from '../about-me-model.model'\nimport {AwardService} from './award.service'\nimport { TextBoxComponent } from 'app/CustomComponents/text-box/text-box.component';\n\n\n@Component({\n selector: 'app-award',\n templateUrl: './award.component.html',\n styleUrls: ['./award.component.scss']\n})\nexport class AwardComponent implements OnInit {\n @ViewChild('award') award: TextBoxComponent;\n public coreConfig: any;\n public dialogTitle: string;\n public IsForEdit: boolean = false;\n public loading = false;\n public submitted = false;\n public error = '';\n _data: number = 0;\n maxDate=new Date();\n currentAppLanguage: any;\n private _unsubscribeAll: Subject;\n public frmAward: FormGroup;\n userAwards:TblUserAwards;\n awardLoadDataOutputModel:AwardLoadDataOutputModel;\n infoTooltip: string;\n dateformat: string;\n constructor(\n private dialogRef: MatDialogRef,\n private awardService : AwardService,\n private _coreTranslationService: CoreTranslationService,\n private _coreConfigService: CoreConfigService,\n private modalService: NgbModal,\n private dialog: MatDialog,\n private authenticationService: AuthenticationService,\n private _formBuilder: FormBuilder,\n private loadingScreenService: LoadingScreenService,\n private globalService: GlobalService,\n private encrDecr: EncrDecrService,\n private _toastrService: CustomToastrService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n ) { \n this._coreTranslationService.translate(english, french, german, portuguese, gujarati, hindi);\n this._unsubscribeAll = new Subject();\n this._data = data;\n this.dateformat=this.globalService.getDateFormat().toUpperCase()\n }\n ngAfterViewInit(): void {\n this.award.textBox.nativeElement.focus();\n }\n ngOnInit(): void {\n this.userAwards= new TblUserAwards();\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n this.currentAppLanguage = this.GetCurrentLanguageJsonObject(this.coreConfig.app.appLanguage);\n this.dialogTitle = this.currentAppLanguage.data.AWARD.DIALOG_TITLE_ADD_AWARD;\n this.infoTooltip= this.currentAppLanguage.data.AWARD.SECTION_TEXT;\n this.frmAward = this._formBuilder.group({\n AwardName: ['', Validators.required],\n Occasion:['',Validators.required],\n DateReceived: [,Validators.required],\n OccasionNotes: [,Validators.required],\n });\n if (typeof this._data !== 'undefined') {\n // console.log('this._data')\n // console.log(this._data)\n if (this._data > 0) {\n this.IsForEdit = true;\n this.dialogTitle = this.currentAppLanguage.data.AWARD.DIALOG_TITLE_EDIT_AWARD;\n }\n setTimeout(() => {\n this.loadingScreenService.startLoading();\n this.awardService.GetUserAwardLoadData(this._data)\n .subscribe(\n (data) => {\n this.loadingScreenService.stopLoading();\n // console.log(data);\n if (data.status == Status.Success) {\n this.awardLoadDataOutputModel = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, data.data)));\n // console.log(this.vaccinationLoadDataOutputModel.UserVaccination)\n if (this.awardLoadDataOutputModel.UserAward) {\n this.userAwards = this.awardLoadDataOutputModel.UserAward;\n this.frmAward.patchValue({\n AwardName: this.userAwards.AwardName,\n Occasion:this.userAwards.Occasion,\n DateReceived: E.ConvertToDate(this.userAwards.DateReceived),\n OccasionNotes: this.userAwards.OccasionNotes,\n });\n\n }\n\n }\n else {\n this._toastrService.Error(E.ConvertToString(data.message), Constant.ErrorToastrTitle);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loadingScreenService.stopLoading();\n }\n );\n\n }, 500);\n //}\n }\n this.dialogRef.keydownEvents().subscribe(event => {\n if (event.key.toLocaleLowerCase() === \"escape\") {\n this.onCloseButtonClick();\n }\n });\n }\n\n onSubmit() {\n this.submitted = true;\n if (this.frmAward.invalid) {\n return;\n }\n this.submitted = false;\n if (this.userAwards == null) {\n this.userAwards = new TblUserAwards();\n }\n this.userAwards.AwardName = this.frmAward.get('AwardName').value;\n this.userAwards.Occasion = this.frmAward.get('Occasion').value;\n this.userAwards.DateReceived = E.GetDateStringOnly(this.frmAward.get('DateReceived').value);\n this.userAwards.OccasionNotes = this.frmAward.get('OccasionNotes').value;\n this.userAwards.UserDetailsId = this.authenticationService.currentUserValue.UserDetailsId;\n\n \n if (E.ConvertToNumber(this.userAwards.UserAwardId) == 0 && this.IsForEdit == false) {\n this.userAwards.CreatedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.userAwards.CreatedDate = E.GetTodayDateStringOnly();\n this.userAwards.CreatedTime = E.GetTodayTimeStringOnly();\n this.userAwards.ChangedDate = E.GetTodayDateStringOnly();\n this.userAwards.ChangedTime = E.GetTodayTimeStringOnly();\n }\n else {\n this.userAwards.ChangedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.userAwards.ChangedDate = E.GetTodayDateStringOnly();\n this.userAwards.ChangedTime = E.GetTodayTimeStringOnly();\n }\n this.loading = true;\n this.loadingScreenService.startLoading();\n // console.log(this.userAwards)\n let response: Observable;\n this.awardService.CreateUpdateUserAward(this.userAwards)\n .subscribe(\n (result) => {\n this.loading = false;\n this.loadingScreenService.stopLoading();\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.RecordAdded) {\n message = this.currentAppLanguage.data.AWARD.TOAST_MESSAGE_AWARD_ADDED_SUCCESSFULLY;\n }\n else if (result.status == Status.RecordUpdated) {\n message = this.currentAppLanguage.data.AWARD.TOAST_MESSAGE_AWARD_UPDATED_SUCCESSFULLY;\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n if (message.length > 0) {\n this._toastrService.Success(message, Constant.SuccessToastrTitle);\n this.dialogRef.close();\n this.frmAward.reset();\n this.frmAward.patchValue({\n DateReceived: new Date()\n });\n }\n else {\n this._toastrService.Error(errormessage, Constant.ErrorToastrTitle);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n\n }\n\n onCloseButtonClick() {\n this.dialogRef.close();\n }\n GetCurrentLanguageJsonObject(currentAppLanguage) {\n var result;\n switch (currentAppLanguage) {\n case 'en':\n result = english;\n break;\n case 'in':\n result = gujarati;\n break;\n case 'hn':\n result = hindi;\n break;\n }\n return result;\n }\n get f(){\n return this.frmAward.controls;\n }\n}\n\n\n@Pipe({ name: 'truncate' })\nexport class TruncatePipe implements PipeTransform {\n transform(value: string, limit: number): string {\n if (value) {\n value = value.replace(//gi, ' '); // replace
with space\n value = value.trim().replace(/\\s+/g, ' '); // remove extra whitespace\n if (value.length > limit) {\n value = value.substring(0, limit) + '...';\n }\n }\n return value;\n }\n}","\n
\n
\n
\n {{dialogTitle}} \n - {{userFriend?.FirstName| truncate:50}} \n \n \n \n
\n
\n \n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n \n \n {{'ABOUTME.ERROR_MESSAGE_REQUIRED_FIRST_NAME'|translate}}\n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
\n
\n \n \n \n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
\n
\n \n \n \n {{'ABOUTME.ERROR_MESSAGE_REQUIRED_LAST_NAME'|translate}}\n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
\n \n \n
\n
\n \n
\n \n
\n \n
\n
\n \n {{'ABOUTME.ERROR_MESSAGE_REQUIRED_DATE_OF_BIRTH'\n | translate}}\n \n
\n
\n
\n \n\n \n \n
\n \n \n
\n \n
\n
\n

{{'ABOUTME.CHARACTER_COUNT'|translate}}: {{ characterCount }} / {{ maxlength }}

\n \n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_320'|translate}}\n {{'ABOUTME.ERROR_MESSAGE_INVALID_EMAIL'|translate}}\n \n \n {{'ABOUTME.ERROR_MESSAGE_EXIST_EMAIL'|translate}}\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

{{'ABOUTME.CHARACTER_COUNT'|translate}}: {{ characterCount2 }} / {{ maxlength2 }}

\n \n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_100'|translate}} MaxLength Error\n \n
\n \n
\n \n \n \n \n {{'MY_FAMILIES.ERROR_MESSAGE_REQUIRED_MOBILE_NUMBER'\n | translate}}\n {{'MY_FAMILIES.ERROR_MESSAGE_MAX_LENGTH_12'\n | translate}}\n {{'MY_FAMILIES.ERROR_MESSAGE_INVALID_DATA'\n | translate}}\n \n
\n
\n \n \n \n \n {{'MY_FAMILIES.ERROR_MESSAGE_INVALID_DATA'|\n translate}}\n {{'PROFESSIONAL.ERROR_MESSAGE_MAX_LENGTH_12'\n | translate}}\n \n
\n
\n \n \n \n {{'MY_FAMILIES.ERROR_MESSAGE_REQUIRED_ADDRESS'|translate}}\n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
\n
\n \n \n \n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
\n
\n \n \n \n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
\n
\n \n \n \n {{'ABOUTME.ERROR_MESSAGE_REQUIRED_ADDRESSTOWN'|translate}}\n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_50'|translate}} \n \n
\n \n
\n \n \n \n {{'ABOUTME.ERROR_MESSAGE_REQUIRED_ADDRESSPOSTCODE'|translate}}\n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_50'|translate}} \n \n
\n
\n \n
\n
\n \n \n \n {{'ABOUTME.ERROR_MESSAGE_REQUIRED_ADDRESS_STATE'|translate}}\n \n
\n
\n \n \n \n \n {{'ABOUTME.ERROR_MESSAGE_REQUIRED_ADDRESS_COUNTRY'|translate}}\n \n
\n
\n \n \n \n \n {{'ABOUTME.ERROR_MESSAGE_REQUIRED_ADDRESS_REGION'|translate}}\n \n
\n
\n
\n
\n
\n
\n
\n \n\n \n \n \n
\n
","import { Component, OnInit, Inject, ViewChild } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { locale as english } from '../i18n/en';\nimport { locale as french } from '../i18n/fr';\nimport { locale as german } from '../i18n/de';\nimport { locale as portuguese } from '../i18n/pt';\nimport { locale as gujarati } from '../i18n/gj';\nimport { locale as hindi } from '../i18n/hn';\nimport { CoreTranslationService } from '@core/services/translation.service';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MatDialog, MatDialogConfig } from \"@angular/material/dialog\";\nimport { TextBoxComponent } from 'app/CustomComponents/text-box/text-box.component';\nimport { CoreConfigService } from '@core/services/config.service';\nimport { E } from 'assets/extensions/extensions';\nimport { AuthenticationService } from 'app/auth/service';\nimport { Status, Enums, MapModalType } from 'app/enums';\nimport { LoadingScreenService } from 'app/Services/loading-screen.service';\nimport { Observable, Subject, Subscription } from 'rxjs';\nimport { CustomToastrService } from 'app/Services/custom-toastr.service';\nimport { GlobalService } from 'app/Services/global.service';\nimport { Constant } from 'app/Classes/constant';\nimport { takeUntil } from 'rxjs/operators';\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\nimport {TblUserFriends,FriendLoadDataOutputModel} from '../about-me-model.model'\nimport {FriendsService} from './friends.service'\nimport { Clipboard } from '@angular/cdk/clipboard';\nimport { CountryISO } from 'ngx-intl-tel-input';\nimport { MapAddressComponent } from 'app/address/map-address/map-address.component';\nimport { MapAddressDataModel } from 'app/address/map-address/map-address-data-model.model';\nimport { NoosomPlans, NoosomCategoryID } from 'app/enums';\n@Component({\n selector: 'app-friends',\n templateUrl: './friends.component.html',\n styleUrls: ['./friends.component.scss']\n})\nexport class FriendsComponent implements OnInit {\n @ViewChild('FirstName') FirstName: TextBoxComponent;\n public coreConfig: any;\n public dialogTitle: string;\n public IsForEdit: boolean = false;\n currentAppLanguage: any;\n private _unsubscribeAll: Subject;\n public loading = false;\n public submitted = false;\n maxDate=new Date();\n _data: number = 0;\n public error = '';\n public frmFriend: FormGroup;\n SelectedCountryISO1: CountryISO;\n SelectedCountryISO2: CountryISO;\n public PlaceholderState: any;\n public PlaceholderCountry: any;\n public PlaceholderRegion: any;\n userFriend:TblUserFriends;\n friendLoadDataOutputModel:FriendLoadDataOutputModel;\n public maxlength = 320;\n public maxlength2 = 100;\n public characterCount = 0;\n public characterCount2 = 0;\n private subDownloadAddressAtt$?: Subscription;\n private subDeleteAddressAtt$?: Subscription;\n private subStateList$?: Subscription;\n private subCountryList$?: Subscription;\n infoTooltip: string;\n dateformat: string;\n connectionStatus: string='';\n connectionStatusString: string='';\n templcstg = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, localStorage.getItem('lcstrg'))) \n showIcon:boolean=false;\n constructor(\n private dialogRef: MatDialogRef,\n private _coreTranslationService: CoreTranslationService,\n private _coreConfigService: CoreConfigService,\n private modalService: NgbModal,\n private dialog: MatDialog,\n private clipboard:Clipboard,\n private authenticationService: AuthenticationService,\n private _formBuilder: FormBuilder,\n private loadingScreenService: LoadingScreenService,\n private globalService: GlobalService,\n private encrDecr: EncrDecrService,\n private _toastrService: CustomToastrService,\n public friendService:FriendsService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n ) { \n this._coreTranslationService.translate(english, french, german, portuguese, gujarati, hindi);\n this._unsubscribeAll = new Subject();\n this._data = data;\n this.dateformat=this.globalService.getDateFormat().toUpperCase()\n }\n ngAfterViewInit(): void {\n this.FirstName.textBox.nativeElement.focus();\n }\n ngOnInit(): void {\n this.userFriend= new TblUserFriends();\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n if (this.templcstg) {\n var plan = this.templcstg?.NoosomPlan;\n var userCategory = this.templcstg?.userCategory\n }\n if((plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test)){\n this.showIcon=true;\n }else{\n this.showIcon=true;\n }\n this.currentAppLanguage = this.GetCurrentLanguageJsonObject(this.coreConfig.app.appLanguage);\n this.dialogTitle = this.currentAppLanguage.data.MY_FAMILIES.DIALOG_TITLE_ADD_A_FRIEND;\n this.infoTooltip= this.currentAppLanguage.data.MY_FAMILIES.SECTION_TEXT_FRIEND;\n this.frmFriend = this._formBuilder.group({\n FirstName: ['', Validators.required],\n MiddleName:[''],\n LastName:['',Validators.required],\n EmailAddress:[''],\n DateofBirth: [],\n PersonalWebUrl:[''],\n NoosomWebUrl:[''],\n ContactNumber1: [],\n ContactNumber2: [],\n ContactNumber1CountryCode: [],\n ContactNumber2CountryCode: [],\n Address1: [''],\n Address2: [''],\n Address3: [''],\n AddressTown: [''],\n StateId: [],\n AddressPostCode: [''],\n CountryId: [],\n RegionId: [],\n });\n if (typeof this._data !== 'undefined') {\n // console.log('this._data')\n // console.log(this._data)\n if (this._data > 0) {\n this.IsForEdit = true;\n this.dialogTitle = this.currentAppLanguage.data.MY_FAMILIES.DIALOG_TITLE_EDIT_A_FRIEND;\n }\n else {\n //Add Mode\n if (this.authenticationService.currentUserValue.CountryShortCode) {\n this.SelectedCountryISO1 = this.globalService.GetCountryISOObject(this.authenticationService.currentUserValue.CountryShortCode);\n this.SelectedCountryISO2 = this.globalService.GetCountryISOObject(this.authenticationService.currentUserValue.CountryShortCode);\n }\n }\n setTimeout(() => {\n this.loadingScreenService.startLoading();\n // console.log(this.achievementsLoadDataInputModel);\n let response: Observable;\n this.friendService.GetUserFriendLoadData(this._data)\n .subscribe(\n (data) => {\n this.loadingScreenService.stopLoading();\n if (data.status == Status.Success) {\n this.friendLoadDataOutputModel = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, data.data)));\n // console.log(this.friendLoadDataOutputModel)\n if (this.friendLoadDataOutputModel.UserFriend) {\n this.userFriend = this.friendLoadDataOutputModel.UserFriend;\n this.frmFriend.patchValue({\n FirstName:this.userFriend.FirstName,\n MiddleName:this.userFriend.MiddleName,\n LastName:this.userFriend.LastName,\n EmailAddress:this.userFriend.EmailAddress,\n DateofBirth: E.ConvertToDate(this.userFriend.DateofBirth),\n PersonalWebUrl:this.userFriend.PersonalWebUrl,\n NoosomWebUrl:this.userFriend.NoosomWebUrl,\n Address1:this.userFriend.Address1,\n Address2:this.userFriend.Address2,\n Address3:this.userFriend.Address3,\n AddressTown:this.userFriend.AddressTown,\n AddressPostCode:this.userFriend.AddressPostCode,\n RegionId:this.userFriend.RegionId,\n CountryId:this.userFriend.CountryId,\n StateId:this.userFriend.StateId,\n ContactNumber1: this.userFriend.ContactNumber1,\n ContactNumber2: this.userFriend.ContactNumber2,\n });\n // if (this.userFriend.CountryId) {\n // this.frmFriend.get('CountryId').enable();\n // }\n if (this.userFriend.StateId) {\n this.frmFriend.get('StateId').enable();\n }\n if (this.userFriend.ContactNumber1CountryCode)\n this.SelectedCountryISO1 = this.globalService.GetCountryISOObject(this.userFriend.ContactNumber1CountryCode);\n else\n this.SelectedCountryISO1 = this.globalService.GetCountryISOObject(this.authenticationService.currentUserValue.CountryShortCode);\n if (this.userFriend.ContactNumber2CountryCode)\n this.SelectedCountryISO2 = this.globalService.GetCountryISOObject(this.userFriend.ContactNumber2CountryCode);\n else\n this.SelectedCountryISO2 = this.globalService.GetCountryISOObject(this.authenticationService.currentUserValue.CountryShortCode);\n\n if(this.userFriend.ConnectionRequestStatusId){\n this.connectionStatus=this.CustomButtonRenderer(this.userFriend.ConnectionRequestStatusId);\n // if(this.userFriend.ConnectionRequestStatusId ==1 ){\n // this.connectionStatusString = 'Not Linked';\n // }else if (this.userFriend.ConnectionRequestStatusId == 2){\n // this.connectionStatusString = 'Pending';\n // }else if (this.userFriend.ConnectionRequestStatusId == 3){\n // this.connectionStatusString = 'Accepted';\n // }else if(this.userFriend.ConnectionRequestStatusId == 4){\n // this.connectionStatusString = 'Rejected';\n // }\n }\n }\n\n }\n else {\n this._toastrService.Error(E.ConvertToString(data.message), Constant.ErrorToastrTitle);\n }\n },\n (error) => {\n this.error = error;\n this.loadingScreenService.stopLoading();\n }\n );\n\n }, 500);\n // }\n }\n\n this.PlaceholderRegion = this.currentAppLanguage.data.MY_FAMILIES.PLACEHOLDER_REGION;\n this.PlaceholderCountry = this.currentAppLanguage.data.MY_FAMILIES.PLACEHOLDER_COUNTRY;\n this.PlaceholderState = this.currentAppLanguage.data.MY_FAMILIES.PLACEHOLDER_STATE;\n this.frmFriend.get('CountryId').disable();\n this.frmFriend.get('RegionId').disable();\n\n this.dialogRef.keydownEvents().subscribe(event => {\n if (event.key.toLocaleLowerCase() === \"escape\") {\n this.onCloseButtonClick();\n }\n });\n }\n\n CustomButtonRenderer(params) {\n let value = params ? params : '';\n let btnType = '';\n switch (value) {\n case 3:\n btnType = 'btn-success';\n break;\n case 2:\n btnType = 'btn-warning';\n break;\n case 4:\n btnType = 'btn-danger';\n break;\n case 1:\n btnType = 'btn-grey';\n break;\n }\n return btnType;\n}\n\n onSubmit(data?) {\n this.submitted = true;\n // if (this.frmFriend.invalid || this.frmFriend.get('Address1').value) {\n // if ([this.frmFriend.get('AddressTown').value, this.frmFriend.get('AddressPostCode').value, this.frmFriend.get('RegionId').value, this.frmFriend.get('CountryId').value, this.frmFriend.get('StateId').value].some(field => field === null || field === '')) {\n // return;\n // }\n // if (typeof this.userFriend.Latitude === 'undefined' || typeof this.userFriend.Longitude === 'undefined' || this.userFriend.Latitude == null || this.userFriend.Longitude == null) {\n // this._toastrService.Warning(this.currentAppLanguage.data.MY_JOBS.WARNING_MESSAGE_SELECT_LOCATION, Constant.WarningToastrTitle);\n // this.onSearchOnMapClick();\n // return;\n // }\n this.frmFriend.controls['DateofBirth'].setErrors(null);\n \n if(this.frmFriend.invalid)\n {return;}\n // }\n this.submitted = false;\n if (this.userFriend == null) {\n this.userFriend = new TblUserFriends();\n }\n this.userFriend.FirstName = this.frmFriend.get('FirstName').value;\n this.userFriend.MiddleName = this.frmFriend.get('MiddleName').value;\n this.userFriend.LastName = this.frmFriend.get('LastName').value;\n this.userFriend.EmailAddress = this.frmFriend.get('EmailAddress').value;\n this.userFriend.DateofBirth = E.GetDateStringOnly(this.frmFriend.get('DateofBirth').value);\n this.userFriend.PersonalWebUrl = this.frmFriend.get('PersonalWebUrl').value;\n this.userFriend.NoosomWebUrl = this.frmFriend.get('NoosomWebUrl').value;\n this.userFriend.Address1 = this.frmFriend.get('Address1').value;\n this.userFriend.Address2 = this.frmFriend.get('Address2').value;\n this.userFriend.Address3 = this.frmFriend.get('Address3').value;\n this.userFriend.AddressTown = this.frmFriend.get('AddressTown').value;\n if(this.frmFriend.get('ContactNumber1').value){\n this.userFriend.ContactNumber1 = this.frmFriend.get('ContactNumber1').value.number.replace(/\\s/g, \"\");\n this.userFriend.ContactNumber1CountryCode = this.frmFriend.get('ContactNumber1').value.countryCode.toLocaleLowerCase();}\n this.userFriend.AddressPostCode = this.frmFriend.get('AddressPostCode').value;\n this.userFriend.RegionId = this.frmFriend.get('RegionId').value;\n this.userFriend.CountryId = this.frmFriend.get('CountryId').value;\n this.userFriend.StateId = this.frmFriend.get('StateId').value;\n if (this.frmFriend.get('ContactNumber2').value) {\n this.userFriend.ContactNumber2 = this.frmFriend.get('ContactNumber2').value.number.replace(/\\s/g, \"\");\n this.userFriend.ContactNumber2CountryCode = this.frmFriend.get('ContactNumber2').value.countryCode.toLocaleLowerCase();\n }\n else { this.userFriend.ContactNumber2 = this.frmFriend.get('ContactNumber2').value; }\n this.userFriend.UserDetailsId= this.authenticationService.currentUserValue.UserDetailsId;\n\n if (E.ConvertToNumber(this.userFriend.UserFriendId) == 0 && this.IsForEdit == false) {\n this.userFriend.CreatedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.userFriend.CreatedDate = E.GetTodayDateStringOnly();\n this.userFriend.CreatedTime = E.GetTodayTimeStringOnly();\n this.userFriend.ChangedDate = E.GetTodayDateStringOnly();\n this.userFriend.ChangedTime = E.GetTodayTimeStringOnly();\n }\n else {\n this.userFriend.ChangedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.userFriend.ChangedDate = E.GetTodayDateStringOnly();\n this.userFriend.ChangedTime = E.GetTodayTimeStringOnly();\n }\n this.loading = true;\n this.loadingScreenService.startLoading();\n // console.log(this.userFriend)\n let response: Observable;\n this.friendService.CreateUpdateUserFriend(this.userFriend)\n .subscribe(\n (result) => {\n this.loading = false;\n this.loadingScreenService.stopLoading();\n var message = \"\"; var errormessage = \"\";\n // console.log(result)\n if (result.status == Status.RecordAdded) {\n message = this.currentAppLanguage.data.MY_FAMILIES.TOAST_MESSAGE_FRIEND_ADDED_SUCCESSFULLY;\n }\n else if (result.status == Status.RecordUpdated) {\n message = this.currentAppLanguage.data.MY_FAMILIES.TOAST_MESSAGE_FRIEND_UPDATED_SUCCESSFULLY;\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n if (message.length > 0) {\n this._toastrService.Success(message, Constant.SuccessToastrTitle);\n this.dialogRef.close(true);\n setTimeout(() => {\n this.frmFriend.reset();\n }, 1500);\n this.frmFriend.patchValue({\n DateOfBirth: new Date()\n });\n }\n else {\n this._toastrService.Error(errormessage, Constant.ErrorToastrTitle);\n }\n },\n (error) => {\n this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n\n }\n\n updateCharacterCount(value: string,frm) {\n // console.log(this.maxlength)\n this.characterCount = value ? value.length : 0;\n if(frm){\n this.focusoutEmail(frm);\n }\n }\n \n updateCharacterCount2(value: string) {\n // console.log(this.maxlength)\n this.characterCount2 = value ? value.length : 0;\n }\n\n\n\n copyText(textToCopy: string) {\n if(textToCopy!=''){\n this.clipboard.copy(textToCopy);\n this._toastrService.Success('Copied.', Constant.SuccessToastrTitle);\n }\n }\n\n onStateChange(event) {\n if (event != null) {\n this.PlaceholderCountry = \"\";\n const path = 'api/State/GetCountryRegionId';\n this.subStateList$ = this.globalService.PostDataAnonymous(event, path).subscribe(\n (data) => {\n var result = JSON.parse(data._body);\n if (result.status == Status.Success) {\n var countryRegion = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n this.frmFriend.get('CountryId').setValue(countryRegion?.CountryId);\n this.frmFriend.get('RegionId').setValue(countryRegion?.RegionId);\n }\n },\n (error) => {\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n }\n );\n }\n else {\n this.PlaceholderCountry = this.currentAppLanguage.data.MY_FAMILIES.PLACEHOLDER_STATE;\n this.frmFriend.get('RegionId').setValue(null);\n this.PlaceholderRegion = this.currentAppLanguage.data.MY_FAMILIES.PLACEHOLDER_REGION;\n this.frmFriend.get('RegionId').disable();\n this.frmFriend.get('CountryId').setValue(null);\n this.PlaceholderCountry = this.currentAppLanguage.data.MY_FAMILIES.PLACEHOLDER_COUNTRY;\n this.frmFriend.get('CountryId').disable();\n }\n }\n onSearchOnMapClick() {\n if (E.ConvertToString(this.frmFriend.get('Address1').value) != '' && E.ConvertToString(this.frmFriend.get('AddressTown').value) != ''\n && E.ConvertToString(this.frmFriend.get('AddressPostCode').value) != '') {\n this.openDialogMapAddress();\n }\n else {\n this._toastrService.Error(E.ConvertToString( this.warningMessage()+' is required'), Constant.ErrorToastrTitle);\n }\n }\n warningMessage(){\n let emptyFields= '';\n if ((this.frmFriend.get('Address1').value == '') || (this.frmFriend.get('Address1').value == null))\n emptyFields += \" \" +\"Street Name,\";\n if ((this.frmFriend.get('AddressTown').value == ('')) || (this.frmFriend.get('AddressTown').value == (null)))\n emptyFields += \" \" +\"Town/City,\";\n if ((this.frmFriend.get('AddressPostCode').value == '') || (this.frmFriend.get('AddressPostCode').value ==null))\n emptyFields += \" \" +\"Post/Zip Code\";\n\n return emptyFields;\n }\n GetMapSearchString(): string {\n let result = '';\n if (this.frmFriend.get('Address1').value)\n result += (this.frmFriend.get('Address1').value + ', ');\n if (this.frmFriend.get('AddressTown').value)\n result += (this.frmFriend.get('AddressTown').value + ', ');\n if (this.frmFriend.get('AddressPostCode').value)\n result += (this.frmFriend.get('AddressPostCode').value);\n return result;\n }\n openDialogMapAddress() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = false;\n dialogConfig.width = \"70%\"\n dialogConfig.height = \"55%\";\n dialogConfig.data = new MapAddressDataModel(MapModalType.SearchString, this.GetMapSearchString());\n const dialogRef: MatDialogRef = this.dialog.open(MapAddressComponent, dialogConfig);\n dialogRef.componentInstance.IsDraggable = true;\n dialogRef.componentInstance.IsSaveButtonVisible = true;\n dialogRef.componentInstance.IsSearchOnMap = true;\n dialogRef.afterClosed().subscribe(\n result => {\n if (result) {\n if (E.ConvertToString(result.event) == 'SearchOnMap' && result.data) {\n this.userFriend.Latitude = result.data.lat;\n this.userFriend.Longitude = result.data.long;\n }\n }\n // this.loadData();\n }\n );\n }\n\n validateEmailAddressFriendsFamily(data){\n\n var requestModel = {\n UserDetailsId: this.authenticationService.currentUserValue.UserDetailsId,\n EmailAddress:data.controls['EmailAddress'].value\n }\n setTimeout(() => {\n this.loadingScreenService.startLoading();\n let response: Observable;\n this.friendService.ValidateEmailAddressFriendsFamily(requestModel)\n .subscribe(\n (result) => {\n this.loadingScreenService.stopLoading();\n if (result.status == Status.Error) {\n data.controls['EmailAddress'].setErrors({ 'exist': true });\n }\n else if (result.status == Status.Success) {\n data.controls['EmailAddress'].setErrors(null);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loadingScreenService.stopLoading();\n }\n );\n }, 50);\n }\n\n focusoutEmail(data){\n if ( !(data.controls['EmailAddress'].value == this.userFriend?.EmailAddress) &&\n data.controls['EmailAddress'].value !== undefined &&\n data.controls['EmailAddress'].value.length > 0 && !((this.userFriend?.ConnectionRequestStatusId == 2) || (this.userFriend?.ConnectionRequestStatusId == 3))\n ) {\n var emailInput = data.controls['EmailAddress'].value;\n var emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[A-Za-z]{2,4}$/;\n \n if (!emailRegex.test(emailInput)) {\n // Invalid email format\n data.controls['EmailAddress'].setErrors({ 'pattern': true });\n } else {\n // Valid email format\n data.controls['EmailAddress'].setErrors(null); // Set errors to null to remove 'pattern' error\n this.validateEmailAddressFriendsFamily(data);\n }\n }\n }\n \n onCountryChange(event: any) {\n this.friendLoadDataOutputModel.StateList = null;\n this.frmFriend.get('StateId').setValue(null);\n this.PlaceholderState = this.currentAppLanguage.data.MY_FAMILIES.PLACEHOLDER_STATE;\n this.frmFriend.get('StateId').disable();\n if (event != null) {\n this.PlaceholderCountry = \"\";\n //this.loadingScreenService.startLoading();\n const path = 'api/State/GetStateList';\n this.subStateList$ = this.globalService.PostDataAnonymous(event, path).subscribe(\n (data) => {\n //this.loadingScreenService.stopLoading();\n var result = JSON.parse(data._body);\n if (result.status == Status.Success) {\n this.friendLoadDataOutputModel.StateList = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n if (this.friendLoadDataOutputModel.StateList != null) {\n this.frmFriend.get('StateId').enable();\n }\n }\n },\n (error) => {\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n //this.loadingScreenService.stopLoading();\n }\n );\n }\n else {\n this.PlaceholderCountry = this.currentAppLanguage.data.MY_FAMILIES.PLACEHOLDER_COUNTRY;\n }\n }\n onRegionChange(event: any) {\n this.friendLoadDataOutputModel.CountryList = null;\n this.frmFriend.get('CountryId').setValue(null);\n this.PlaceholderCountry = this.currentAppLanguage.data.MY_FAMILIES.PLACEHOLDER_COUNTRY;\n this.frmFriend.get('CountryId').disable();\n if (event != null) {\n this.PlaceholderRegion = \"\";\n //this.loadingScreenService.startLoading();\n const path = 'api/Country/GetCountryList';\n this.subCountryList$ = this.globalService.PostDataAnonymous(event, path).subscribe(\n (data) => {\n //this.loadingScreenService.stopLoading();\n var result = JSON.parse(data._body);\n if (result.status == Status.Success) {\n this.friendLoadDataOutputModel.CountryList = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n if (this.friendLoadDataOutputModel.CountryList != null) {\n this.frmFriend.get('CountryId').enable();\n }\n }\n },\n (error) => {\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n //this.loadingScreenService.stopLoading();\n }\n );\n }\n else {\n this.PlaceholderRegion = this.currentAppLanguage.data.MY_FAMILIES.PLACEHOLDER_REGION;\n }\n }\n\n\n\n openURL(url) {\n // window.open(url, \"_blank\",\"noopener\");\n if(url){\n const protocol = /^https?:\\/\\//i;\n const url1 = protocol.test(url) ? url : `http://${url}`;\n window.open(url1, '_blank');}\n else{\n this._toastrService.Warning('Please enter the URL')\n }\n }\n\n\n sendEmail(){\n if(this.frmFriend.get('EmailAddress').value)\n window.location.href = \"mailto:\" + this.frmFriend.get('EmailAddress').value;\n else{\n this._toastrService.Warning('Please enter the Email Address')\n }\n }\n onCloseButtonClick() {\n this.dialogRef.close(false);\n }\n GetCurrentLanguageJsonObject(currentAppLanguage) {\n var result;\n switch (currentAppLanguage) {\n case 'en':\n result = english;\n break;\n case 'in':\n result = gujarati;\n break;\n case 'hn':\n result = hindi;\n break;\n }\n return result;\n }\n ngOnDestroy() {\n if (this.subDownloadAddressAtt$)\n this.subDownloadAddressAtt$.unsubscribe();\n if (this.subDeleteAddressAtt$)\n this.subDeleteAddressAtt$.unsubscribe();\n if (this.subStateList$)\n this.subStateList$.unsubscribe();\n if (this.subCountryList$)\n this.subCountryList$.unsubscribe();\n }\n\n get f() {\n return this.frmFriend.controls;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { GlobalService } from 'app/Services/global.service';\nimport {TblUserFriends} from '../about-me-model.model'\nimport { AuthenticationService } from 'app/auth/service';\n@Injectable({\n providedIn: 'root'\n})\nexport class FriendsService {\n // private data :number=this.authenticationService.currentUserValue.UserDetailsId;\n public gridRefresh:boolean=false;\n constructor(\n private _http: HttpClient,private globalService: GlobalService,\n private authenticationService:AuthenticationService,\n ) { }\n CreateUpdateUserFriend(userFriend:TblUserFriends){\n const path='api/UserFriend/CreateUpdateUserFriend';\n return this.globalService.PostDataById(userFriend , path);\n }\n GetUserFriendLoadData(_data:number){\n const path='api/UserFriend/GetUserFriendLoadData';\n return this.globalService.PostDataById(_data , path);\n }\n GetUserFriends(data){\n const path='api/UserFriend/GetUserFriends';\n return this.globalService.PostDataById(data , path);\n } \n\n SendConnectionRequest(data){\n const path='api/UserConnectionRequest/SendConnectionRequest';\n return this.globalService.PostDataById(data , path);\n }\n\n CreateUpdateUserFriendAnonymous(userFriend:TblUserFriends){\n const path='api/UserConnectionRequest/CreateUpdateUserFriend';\n return this.globalService.PostDataAnonymous(userFriend , path);\n }\n\n ValidateEmailAddressFriendsFamily(data){\n const path='api/UserConnectionRequest/ValidateEmailAddressFriendsFamily';\n return this.globalService.PostDataById(data , path);\n }\n\n getGridRefresh():boolean{\n //console.log(this.gridRefresh)\n return this.gridRefresh;\n }\n \n setGridRefresh(refresh) {\n //console.log('refresh')\n this.gridRefresh = refresh;\n //console.log(this.gridRefresh)\n }\n\n}\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'de',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Es konnte keine Verbindung zum Server hergestellt werden.'\n },\n SIGNIN: {\n MOTIVATION_BADGE_SIGNIN:'Melden Sie sich an und starten Sie das Abenteuer',\n WELCOME_TEXT: 'Willkommen bei Noosom',\n CONTROL_LABEL_EMAIL:'E-Mail-Addresse',\n CONTROL_LABEL_PASSWORD:'Passwort',\n CONTROL_LABEL_REMEMBERME:'Erinnere dich an mich',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Haben Sie Ihr Passwort vergessen?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Ein Konto erstellen',\n TEXT_NEWONPLATFORM:'Neu auf unserer Plattform?',\n BUTTON_TEXT_LOGIN:'Anmeldung',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Sie haben sich erfolgreich als {0}-Benutzer bei Noosom angemeldet. Jetzt können Sie mit der Erkundung beginnen. Genießen! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Willkommen, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'Das E-Mail-Feld ist!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Das Passwortfeld ist!',\n ERROR_MESSAGE_INVALID_EMAIL:'E-Mail muss eine gültige E-Mail-Adresse sein',\n ERROR_MESSAGE_NOATTEMPTS:'Ungültiger Benutzername oder ungültiges Passwort.
Sie haben keine weiteren Versuche mehr.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Ihre E-Mail-Adresse wurde nicht verifiziert.
überprüfen Sie zuerst Ihre E-Mail-Adresse.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Dein Account wurde gesperrt.'},\n {ErrorCode:0,ErrorMessage:'Eingeloggt erfolgreich.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Ungültiger Benutzername oder ungültiges Passwort. Sie haben noch {0} Versuche.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administratorin'},{titlle:'Client',value:'Klientin'},{title:'User',value:'Benutzer'}]\n },\n SIGNUP:\n {\n MOTIVATION_BADGE_SIGNUP:'Melden Sie sich an und starten Sie das Abenteuer',\n STEPPER_TITLE_ACCOUNT:'Konto',\n STEPPER_SUB_TITLE_ACCOUNT:'Benutzernamen eingeben',\n STEPPER_TITLE_PERSONAL:'persönlich',\n STEPPER_SUB_TITLE_PERSONAL:'Information eingeben',\n HEADING_ACCOUNT:'Kontoinformationen',\n HEADING_PERSONAL:'Persönliche Informationen',\n HEADING_SELECTPLAN:'Plan auswählen',\n CONTROL_LABEL_USERID:'Noosom-Benutzer-ID',\n CONTROL_LABEL_EMAILADDRESS:'E-Mail-Addresse',\n CONTROL_LABEL_PASSWORD:'Passwort',\n CONTROL_LABEL_CONFIRMPASSWORD:'Bestätigen Sie Ihr Passwort',\n CONTROL_LABEL_REGION:'Ihre Region',\n CONTROL_LABEL_HOMECOUNTRY:'Ihr land',\n CONTROL_LABEL_FIRSTNAME:'Vorname',\n CONTROL_LABEL_MIDDLENAME:'Zweiter Vorname',\n CONTROL_LABEL_LASTNAME:'Nachname',\n CONTROL_LABEL_BIRTHDATE:'Geburtsdatum',\n CONTROL_LABEL_MOBILENO:'Handy-Nr',\n CONTROL_LABEL_SELECTPLAN:'Jetzt für immer kostenlos oder später kaufen.',\n PLACEHOLDER_TYPEHERE:'Geben Sie hier ein ...',\n PLACEHOLDER_PASSWORD:'Passwort',\n PLACEHOLDER_REGION:'Region wählen',\n PLACEHOLDER_COUNTRY:'Land auswählen',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Vorherige',\n BUTTON_TEXT_NEXT:'Nächste',\n BUTTON_TEXT_SUBMIT:'Einreichen',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Ihre Daten werden gespeichert',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'in der ausgewählten Region',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'land auswählen',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Konto erfolgreich erstellt.',\n ERROR_MESSAGE_REQUIRED_USERID:'Das Feld „Benutzername“ ist! Das Feld „E-Mail“ ist',\n ERROR_MESSAGE_EXISTED_USERID:'Dieser Benutzername wurde vergeben. Bitte versuchen Sie es mit einem anderen.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'Das Feld für die E-Mail-Adresse ist!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Diese E-Mail-Adresse wurde übernommen. Bitte versuchen Sie es mit einem anderen.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Das Passwortfeld ist!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Muss mindestens eine Zahl, einen Groß- und Kleinbuchstaben und mindestens 8 Zeichen enthalten.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'Passwort wiederholen muss übereinstimmen.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'Das Feld Passwort bestätigen ist!',\n ERROR_MESSAGE_REQUIRED_REGION:'Das Regionsfeld ist!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'Das Feld land ist!',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'Das Vornamensfeld ist!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'Das Feld für den zweiten Vornamen ist!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'Das Feld Nachname ist!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'Das Feld Geburtsdatum ist!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'Das Handy ist kein Pflichtfeld!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Bitte wählen Sie die kostenlose Planoption!',\n }\n }\n};\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'en',\n data: {\n COMMON: {\n CONTROL_LABEL_EMAIL_ADDRESS: 'Email Address',\n PLACEHOLDER_EMAIL_ADDRESS: 'Type here...',\n PLACEHOLDER_TYPE_HERE: 'Type here...',\n PLACEHOLDER_MOBILE_NUMBER: '0123456789',\n BUTTON_TEXT_SAVE_CHANGES: 'Save Changes',\n BUTTON_TEXT_SAVE:'Save',\n BUTTON_TEXT_SAVE_SEND:'Save and Send',\n BUTTON_TEXT_CANCEL: 'Cancel',\n ERROR_MESSAGE_REQUIRED_EMAIL_ADDRESS: 'The email is required!',\n ERROR_MESSAGE_INVALID_EMAIL: 'Please enter your email address in format:\\nyourname@example.com',\n ERROR_MESSAGE_CONNECTIONREFUSED: 'Could not connect with server.',\n ERROR_MESSAGE_INVALID_MOBILE_NUMBER: 'Invalid mobile contact number',\n TOOLTIP_TEXT_BUTTON_CLOSE: 'Close',\n COMMON_STATUS:\n [\n { ErrorCode: Status.UserNotFound, ErrorMessage: 'User could not be found.' }\n ],\n },\n ABOUTME: {\n SECTION_HEADING_HI: 'Hi',\n SECTION_HEADING_ABOUT_ME: 'this is information about you, your friends and families.',\n SECTION_HADING_MY_DETAILS: 'My Details',\n SECTION_HADING_MY_ADDRESSES: 'My Addresses',\n SECTION_HADING_MY_SCHOOLS: 'My Schools',\n BUTTON_TEXT_VIEW_ON_MAP: 'View on Map',\n BUTTON_TEXT_UPLOAD: 'Upload',\n BUTTON_TEXT_VIEW_ALL_ON_A_MAP: 'View all on a Map',\n BUTTON_TEXT_ADD_AN_ADDRESS: 'Add an Address',\n BUTTON_TEXT_ADD_SCHOOL: 'Add a School',\n CHARACTER_COUNT:'Character Count',\n TAB_LINK_TEXT_ABOUT_ME: 'About Me',\n TAB_LINK_TEXT_MY_ESSENTIAL_INFO: 'My Essential Information',\n TAB_LINK_TEXT_MY_FAMILIES: 'My Families',\n TAB_LINK_TEXT_MY_FRIENDS: 'My Friends',\n TAB_LINK_TEXT_MY_ACHIEVEMENTS_AND_AWARDS: 'My Awards & Achievements',\n TAB_LINK_TEXT_MY_JOBS: 'My Jobs',\n TOOLTIP_TEXT_BUTTON_UPLOAD: 'Upload',\n TOOLTIP_TEXT_BUTTON_CALENDAR: 'Toggle Calendar',\n TOOLTIP_TEXT_BUTTON_SAVE_CHANGES: 'Save Changes',\n TOOLTIP_TEXT_BUTTON_VIEW_ALL_ON_MAP: 'View all on Map',\n TOOLTIP_TEXT_BUTTON_ADD_NEW_RECORD: 'Add a New Record',\n TOOLTIP_TEXT_BUTTON_VIEW_ON_MAP: 'View on Map',\n TOOLTIP_TEXT_COPY: 'Copy',\n TOOLTIP_TEXT_EXTERNAL_LINK: 'Open in External-Tab',\n TOOLTIP_TEXT_SEND_EMAIL: 'Send an Email',\n TOOLTIP_TEXT_FIRST_NAME: 'Enter First Name',\n TOOLTIP_TEXT_MIDDLE_NAME: 'Enter Middle Name(s) if you have any',\n TOOLTIP_TEXT_LAST_NAME: 'Enter Last Name',\n TOOLTIP_TEXT_NICK_NAME: 'This is your Nickname',\n TOOLTIP_TEXT_FULL_NAME: 'This is a combination of your First Name, Middle Name(s) & Last Name. It is for display purpose only',\n TOOLTIP_TEXT_NOOSOM_WEB_URL: 'This is your Noosom Web URL. It is personalized from your username. This is the URL to share for your blog',\n TOOLTIP_TEXT_NOOSOM_EMAIL: 'Your email address is used for two-step authentication; to change this field, please go to your Noosom Profile',\n TOOLTIP_TEXT_PERSONAL_URL: 'This is your Personal Web URL or your Company / Business URL',\n TOOLTIP_TEXT_USERNAME: 'This is your Allocated Noosom Username, please go to your Noosom Profile to change this field',\n TOOLTIP_TEXT_DOB: 'This is your Registered Date of Birth with us; Noosom can only be used for ages 12 & Up for security reasons',\n TOOLTIP_TEXT_SEX_BIRTH: 'This is your Sex at Birth - Choose from: Male / Female',\n TOOLTIP_TEXT_GENDER: 'This is the expression of your identity',\n TOOLTIP_TEXT_RELIGION: 'This is the Religion you believe in',\n TOOLTIP_TEXT_ZODIAC: 'This is your Astrological or Horoscope Sign based on each month',\n TOOLTIP_TEXT_CHINESE_ZODIAC: 'This is your Animal Sign based on the year of your birth, Find more information see here',\n TOOLTIP_TEXT_MOBILE: 'Enter Mobile Number with the area code',\n TOOLTIP_TEXT_DIARY_JOURNAL: 'Choose Diary or Journal as per your preference, and Noosom will handle the rest',\n CONTROL_LABEL_NOOSOM_USER_NAME: 'Your Allocated Noosom Username',\n CONTROL_LABEL_FULL_NAME: 'Full Name',\n CONTROL_LABEL_CALL_ME_NAME: 'Call Me Name',\n CONTROL_LABEL_FIRST_NAME: 'First Name',\n CONTROL_LABEL_MIDDLE_NAME: 'Middle Name',\n CONTROL_LABEL_LAST_NAME: 'Last Name',\n CONTROL_LABEL_DATE_OF_BIRTH: 'Date of Birth',\n CONTROL_LABEL_SEX_AT_BIRTH: 'Sex at Birth',\n CONTROL_LABEL_GENDER_IDENTIFY_AS: 'Gender Identify as',\n CONTROL_LABEL_RELIGION: 'Religion',\n CONTROL_LABEL_ZODIAC_SIGN: 'Zodiac Sign',\n CONTROL_LABEL_LUNAR_SIGN: 'Chinese Zodiac Sign',\n CONTROL_LABEL_NOOSOM_WEB_URL: 'Noosom Web URL',\n CONTROL_LABEL_PERSONAL_WEB_URL: 'Personal Web URL',\n CONTROL_LABEL_MOBILE_NUMBER: 'Mobile Number',\n CONTROL_LABEL_DIARY_OR_JOURNAL: 'Call App as',\n CONTROL_LABEL_DIARY: 'Diary',\n CONTROL_LABEL_JOURNAL: 'Journal',\n CONTROL_LABEL_EMAIL_ADDRESS: 'Email Address',\n CONTROL_LABEL_PERSNOAL_WEB_URL: 'Personal Web URL',\n CONTROL_LABEL_SHOW: 'Show',\n CONTROL_LABEL_SEARCH: 'Search',\n CONTROL_LABEL_ADD_EMAIL:'Add Email',\n PLACEHOLDER_SEX_AT_BIRTH: 'Select Sex at Birth',\n PLACEHOLDER_GENDER_IDENTIFY_AS: 'Select Gender',\n PLACEHOLDER_RELIGION: 'Select Religion',\n PLACEHOLDER_ZODIAC_SIGN: 'Select Zodiac Sign',\n PLACEHOLDER_LUNAR_SIGN: 'Select Chinese Zodiac Sign',\n SWEET_ALERT_TITLE_SCHOOL_TEXT: 'Are you sure, you want to delete this School and all the attachments associated with it?',\n SWEET_ALERT_TITLE_ADDRESS_TEXT: 'Are you sure, you want to delete this Address and all the attachments associated with it?',\n SWEET_ALERT_TITLE_INSURANCE_TEXT: 'Are you sure, you want to delete this Insurance and all the attachments associated with it?',\n SWEET_ALERT_TITLE_MY_HEALTH_PROVIDERS_TEXT: 'Are you sure, you want to delete this Health Provider Detail?',\n SWEET_ALERT_TITLE_MY_MEDICATIONS_TEXT: 'Are you sure, you want to delete this Medication?',\n SWEET_ALERT_TITLE_MY_VACCINATION_TEXT: 'Are you sure, you want to delete this Vaccination?',\n SWEET_ALERT_TITLE_AWARD_TEXT: 'Are you sure, you want to delete this Award?',\n SWEET_ALERT_TITLE_ACHIEVEMENT_TEXT: 'Are you sure, you want to delete this Achievement?',\n SWEET_ALERT_TITLE_FAMILY_TEXT: 'Are you sure, you want to delete this Family Detail?',\n SWEET_ALERT_TITLE_FRIEND_TEXT: 'Are you sure, you want to delete this Friend Detail?',\n SWEET_ALERT_TITLE_INVITATION_TEXT: 'You are about to send Personname an invitation email to connect with you on Noosom.',\n SWEET_ALERT_TITLE_JOB_TEXT: 'Are you sure, you want to delete this Job Detail?',\n SWEET_ALERT_TEXT: \"You won't be able to undo this!\",\n SWEET_ALERT_NO_BUTTON: 'NO',\n SWEET_ALERT_YES_BUTTON: 'YES',\n SWEET_ALERT_SURE_TEXT: 'Are you sure ?',\n SWEET_ALERT_CONFIRM_BUTTON_TEXT: 'Yes, delete it!',\n SWEET_ALERT_CANCEL_BUTTON_TEXT: 'Cancel',\n DATA_TABLE_HEADER_TEXT_SEQUENCE: 'SEQUENCE',\n DATA_TABLE_HEADER_TEXT_ADDRESS_CODE: 'ADDRESS TAG/CODE',\n DATA_TABLE_HEADER_TEXT_NAME_FOR_THIS_ADDRESS: 'HOUSE / BUILDING NAME',\n DATA_TABLE_HEADER_TEXT_DATE_FROM: 'DATE FROM',\n DATA_TABLE_HEADER_TEXT_DATE_TO: 'DATE TO',\n DATA_TABLE_HEADER_TEXT_ACTIONS: 'ACTIONS',\n DATA_TABLE_HEADER_TEXT_ADDRESS: 'ADDRESS',\n DATA_TABLE_HEADER_TEXT_SCHOOL_NAME: 'SCHOOL NAME',\n DATA_TABLE_HEADER_TEXT_COUNTRY: 'COUNTRY',\n DATA_TABLE_HEADER_TEXT_EDUCATION_RECEIVED: 'EDUCATION RECEIVED',\n TOAST_MESSAGE_ABOUTME_UPDATED_SUCCESSFULLY: 'About me data updated successfully.',\n TOAST_MESSAGE_ABOUTME_COPIED: 'Copied.',\n ERROR_MESSAGE_REQUIRED_NOOSOM_USER_NAME: 'The noosom user name is required!',\n ERROR_MESSAGE_MAX_LENGTH_50: 'You have typed too many characters, maximum allowed is 50',\n ERROR_MESSAGE_MAX_LENGTH_100: 'You have typed too many characters, maximum allowed is 100',\n ERROR_MESSAGE_MAX_LENGTH_200: 'You have typed too many characters, maximum allowed is 200',\n ERROR_MESSAGE_MAX_LENGTH_12: 'You have typed too many characters, maximum allowed is 12',\n ERROR_MESSAGE_MAX_LENGTH_320: 'You have typed too many characters, maximum allowed is 320',\n ERROR_MESSAGE_MAX_LENGTH_250: 'You have typed too many characters, maximum allowed is 250',\n ERROR_MESSAGE_REQUIRED_FULL_NAME: 'The full name is required!',\n ERROR_MESSAGE_REQUIRED_CALL_ME_NAME: 'The call me name is required!',\n ERROR_MESSAGE_REQUIRED_FIRST_NAME: 'The first name is required!',\n ERROR_MESSAGE_REQUIRED_MIDDLE_NAME: 'The middle name is required!',\n ERROR_MESSAGE_REQUIRED_LAST_NAME: 'The last name is required!',\n ERROR_MESSAGE_REQUIRED_DATE_OF_BIRTH: 'The birth date is required!',\n ERROR_MESSAGE_REQUIRED_SEX_AT_BIRTH: 'The sex at birth is required!',\n ERROR_MESSAGE_REQUIRED_GENDER_IDENTIFY_AS: 'The gender identify as is required!',\n ERROR_MESSAGE_REQUIRED_RELIGION: 'The religion is required!',\n ERROR_MESSAGE_REQUIRED_ZODIAC_SIGN: 'The zodiac sign is required!',\n ERROR_MESSAGE_REQUIRED_LUNAR_SIGN: 'The lunar sign is required!',\n ERROR_MESSAGE_REQUIRED_NOOSOM_WEB_URL: 'The noosom web URL is required!',\n ERROR_MESSAGE_REQUIRED_PERSONAL_WEB_URL: 'The personal web URL is required!',\n ERROR_MESSAGE_REQUIRED_MOBILE_NUMBER: 'The mobile number is required!',\n ERROR_MESSAGE_REQUIRED_EMAIL_ADDRESS: 'The email address is required!',\n ERROR_MESSAGE_REQUIRED_JOBDESCRIPTION: 'The job description is required!',\n ERROR_MESSAGE_REQUIRED_STREET: 'The street name is required!',\n ERROR_MESSAGE_REQUIRED_EMPLOYER: 'The employer is required!',\n ERROR_MESSAGE_REQUIRED_ADDRESSPOSTCODE: 'The post / zip code is required!',\n ERROR_MESSAGE_REQUIRED_ADDRESSTOWN: 'The town / city is required!',\n ERROR_MESSAGE_REQUIRED_ADDRESS_STATE: 'The state is required!',\n ERROR_MESSAGE_REQUIRED_ADDRESS_REGION: 'The region is required!',\n ERROR_MESSAGE_REQUIRED_ADDRESS_COUNTRY: 'The country is required!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS: 'That email address has been taken. Please try another.',\n ERROR_MESSAGE_EXISTED_MOBILENUMBER: 'That mobile number has been taken. Please try another.',\n ERROR_MESSAGE_EXISTED_USERNAME: 'That username has been taken. Please try another.',\n ERROR_MESSAGE_INVALID_DATA: 'Invalid Contact Number!',\n ERROR_MESSAGE_INVALID_EMAIL: 'Invalid Email Address!',\n ERROR_MESSAGE_EXIST_EMAIL: 'This email address is already connected with a friend, family member, or is your own. Please use a different one.',\n ERROR_MESSAGE_REQUIRED_LAST_REFILL_DATE_REQUIRED: 'The last refill date is required!',\n ERROR_MESSAGE_REQUIRED_NEXT_REFILL_DATE_REQUIRED: 'The next refill date is required!',\n ERROR_MESSAGE_INVALID_MOBILE_NUMBER: 'Invalid mobile contact number',\n ERROR_MESSAGE_EXISTED_MOBILE_NUMBER: 'That mobile number has been taken. Please try another.',\n },\n ESSENTIAL_INFORMATION: {\n BUTTON_TEXT_ADD_AN_INSURANCE: 'Add an Insurance',\n BUTTON_TEXT_ADD_A_PROFFESIONAL: 'Add a Professional',\n CONTROL_LABEL_BLOOD_GROUP: 'Blood Group',\n CONTROL_LABEL_ORGAN_DONOR: 'Organ Donor',\n CONTROL_LABEL_YES: 'Yes',\n CONTROL_LABEL_NO: 'No',\n CONTROL_LABEL_ALLERGIES: 'Allergies',\n CONTROL_LABEL_RELATIONSHIP: 'Relationship',\n CONTROL_LABEL_EMERGENCY_CONTACT_FULLNAME: 'Emergency Contact Full Name',\n CONTROL_LABEL_EMERGENCY_CONTACT_NUMBER: 'Emergency Contact Number',\n CONTROL_LABEL_GENERAL_MEDICAL_HISTORY: 'General Medical History',\n CONTROL_LABEL_FAMILY_MEDICAL_HISTORY: 'Family Medical History',\n CONTROL_LABEL_SURGICAL_HISTORY: 'Surgical History',\n CONTROL_LABEL_POST_CARE_NOTES: 'Post Care Notes',\n DATA_TABLE_HEADER_TEXT_INSURANCE_TYPE: 'INSURANCE TYPE',\n DATA_TABLE_HEADER_TEXT_ACTIONS: 'ACTIONS',\n DATA_TABLE_HEADER_TEXT_INSURANCE_NAME: 'INSURANCE NAME',\n DATA_TABLE_HEADER_TEXT_INSURANCE_POLICY_NUMBER: 'INSURANCE POLICY NUMBER',\n DATA_TABLE_HEADER_TEXT_CARD_NUMBER: 'CARD NUMBER',\n DATA_TABLE_HEADER_TEXT_INSURANCE_CONTACT_NUMBER: 'INSURANCE CONTACT NUMBER',\n DATA_TABLE_HEADER_TEXT_STATUS: 'STATUS',\n DATA_TABLE_HEADER_TEXT_POLICY_START_DATE: 'POLICY START DATE',\n DATA_TABLE_HEADER_TEXT_POLICY_EXPIRATION_DATE: 'POLICY EXPIRATION DATE',\n DATA_TABLE_HEADER_TEXT_SPECIALITY: 'SPECIALITY',\n DATA_TABLE_HEADER_TEXT_PROFESSIONAL_NAME: \"PROFESSIONAL'S NAME\",\n DATA_TABLE_HEADER_TEXT_FULL_ADDRESS: 'FULL ADDRESS',\n DATA_TABLE_HEADER_TEXT_EMAIL_ADDRESS: 'EMAIL ADDRESS',\n DATA_TABLE_HEADER_TEXT_CONTACT_NUMBER: 'CONTACT NUMBER 1',\n DATA_TABLE_HEADER_TEXT_LAST_EXAM_DATE: 'LAST EXAM DATE',\n DATA_TABLE_HEADER_TEXT_NEXT_EXAM_DATE: 'NEXT EXAM DATE',\n PLACEHOLDER_SELECT_BLOOD_GROUP: 'Select Blood Group',\n PLACEHOLDER_SELECT_RELATIONSHIP: 'Select Relationship',\n SECTION_HEADING_MY_DEMOGRAPHICS: 'My Demographics',\n SECTION_HEADING_MEDICAL_HISTORY: 'Medical History',\n SECTION_HEADING_MY_INSURANCE_INFORMATION: 'My Insurance Information',\n SECTION_HEADING_MY_HEALTH_PROVIDERS: 'My Health Providers',\n TAB_HEADING_MY_DEMOGRAPHICS: 'My Demographics & Medical History',\n TAB_HEADING_GENERAL_MANAGEMENT: 'General Management',\n TAB_HEADING_MEDICATIONS: 'Medications',\n TAB_HEADING_MY_VACCINATION_RECORD: 'My Vaccination Record',\n TOOLTIPTEXT_CONTROL_LABEL_GENERAL_MEDICAL_HISTORY: 'These fields are optional; enter to the best of your ability',\n FORM_DESCRIPTION: 'This form gets rid of your paper pile when you visit your healthcare practitioner. They have a bird\\'s eye view on your health',\n TOOLTIP_TEXT_BLOOD_GROUP: 'Choose your Blood Group',\n TOOLTIP_TEXT_ORGAN_DONOR: 'In the case of your death, if you have chosen yes as an Organ Donor, your family can see this information for the necessary donations and last rites',\n TOOLTIP_TEXT_ALLERGIES: 'This is for the people who get very bad reactions to medications, foods, and other seasonal allergies',\n TOOLTIP_TEXT_EMERGENCY_CONTACT_INFO: 'Information of an immediate family member in case of an emergency',\n TOOLTIP_TEXT_RELATIONSHIP_TO_EMERGENCY_CONTACT: 'Information of relationship to immediate family member in case of an emergency',\n TOOLTIP_TEXT_EMERGENCY_CONTACT_MOBILE: 'Enter Mobile Number with the area code of whom to contact in case of an emergency',\n TOAST_MESSAGE_ESSENTIAL_ADDED_SUCCESSFULLY: 'Reocrd Added Successfully',\n TOAST_MESSAGE_ESSENTIAL_UPDATED_SUCCESSFULLY: 'Record Updated Successfully',\n },\n MY_MEDICATION: {\n BUTTON_TEXT_ADD_A_MEDICATION: 'Add a Medication',\n DATA_TABLE_HEADER_TEXT_MEDICATION_NAME: 'MEDICATION NAME',\n DATA_TABLE_HEADER_TEXT_CONDITION_FOR: 'CONDITION FOR',\n DATA_TABLE_HEADER_TEXT_DOSAGE: 'DOSAGE',\n DATA_TABLE_HEADER_TEXT_FREQUENCY: 'FREQUENCY',\n DATA_TABLE_HEADER_TEXT_PRESCRIBED_BY: 'PRESCRIBED BY',\n DATA_TABLE_HEADER_TEXT_LAST_REFILL_DATE: 'LAST REFILL DATE',\n DATA_TABLE_HEADER_TEXT_NEXT_REFILL_DATE: 'NEXT REFILL DATE',\n DATA_TABLE_HEADER_TEXT_ACTIONS: 'ACTIONS',\n SECTION_HEADING_MY_MEDICATIONS: 'My Medications',\n },\n MY_VACCINATION: {\n BUTTON_TEXT_ADD_A_VACCINATION: 'Add a Vaccination',\n DATA_TABLE_HEADER_TEXT_VACCINATION_NAME: 'VACCINATION NAME',\n DATA_TABLE_HEADER_TEXT_VACCINATION_TYPE: 'VACCINATION TYPE',\n DATA_TABLE_HEADER_TEXT_LAST_DOSAGE_DATE: 'LAST DOSAGE DATE',\n DATA_TABLE_HEADER_TEXT_NEXT_DOSAGE_DATE: 'NEXT DOSAGE DATE',\n DATA_TABLE_HEADER_TEXT_ACTIONS: 'ACTIONS',\n SECTION_HEADING_MY_VACCINATION_RECORD: 'My Vaccination Record',\n },\n MY_AWARDS_ACHIEVEMENT: {\n BUTTON_TEXT_ADD_AN_AWARD: 'Add an Award',\n BUTTON_TEXT_ADD_AN_ACHIEVEMENT: 'Add an Achievement',\n BUTTON_TEXT_CANCEL: 'Cancel',\n BUTTON_TEXT_ADD_AN_EDUCATIONAL_ACHIEVEMENT: 'Add an Educational Achievement',\n BUTTON_TEXT_ADD_AN_PROFESSIONAL_ACHIEVEMENT: 'Add a Professional Achievement',\n BUTTON_TEXT_ADD_AN_MISCELLANEOUS_ACHIEVEMENT: 'Add a Miscellaneous Achievement',\n CONTROL_LABEL_NAME_OF_THE_AWARD: 'Name of the Award',\n CONTROL_LABEL_NAME_OF_THE_ACHIEVEMENT: 'Name of the Achievement',\n CONTROL_LABEL_OCCASION: 'Occasion',\n CONTROL_LABEL_DATE_RECEIVED: 'Date Received',\n CONTROL_LABEL_OCCASION_NOTES: 'Occasion Notes',\n DIALOG_TITLE_ADD_ACHIEVEMENT: 'Add an Achievement',\n DIALOG_TITLE_EDIT_ACHIEVEMENT: 'Edit an Achievement',\n DIALOG_TITLE_ADD_EDUCATIONAL_ACHIEVEMENT: 'Add an Educational Achievement',\n DIALOG_TITLE_ADD_PROFESSIONAL_ACHIEVEMENT: 'Add a Professional Achievement',\n DIALOG_TITLE_ADD_MISCELLANEOUS_ACHIEVEMENT: 'Add a Miscellaneous Achievement',\n DATA_TABLE_HEADER_TEXT_NAME_OF_THE_AWARD: 'NAME OF THE AWARD',\n DATA_TABLE_HEADER_TEXT_NAME_OF_THE_ACHIEVEMENT: 'NAME OF THE ACHIEVEMENT',\n DATA_TABLE_HEADER_TEXT_OCCASION: 'OCCASION',\n DATA_TABLE_HEADER_TEXT_OCCASION_NOTES: 'OCCASION NOTES',\n DATA_TABLE_HEADER_TEXT_DATE_RECEIVED: 'DATE RECEIVED',\n DATA_TABLE_HEADER_TEXT_ACTIONS: 'ACTIONS',\n ERROR_MESSAGE_REQUIRED_ACHIEVEMENT_NAME: 'The achievement name is required!',\n SECTION_HEADING_MY_AWARDS: 'My Awards',\n SECTION_HEADING_MY_ACHIEVEMENT: 'My Achievements',\n SECTION_HEADING_MY_EDUCATIONAL_ACHIEVEMENT: 'My Educational Achievements',\n SECTION_HEADING_MY_PROFESSIONAL_ACHIEVEMENT: 'My Professional Achievements',\n SECTION_HEADING_MY_MISCELLANEOUS_ACHIEVEMENT: 'My Miscellaneous Achievements',\n SECTION_TEXT: 'Add some information about your achievements.',\n TOOLTIP_TOGGLE_CALENDAR: 'Toggle Calendar',\n TOOLTIP_TEXT_ACHIEVEMENT_NAME: 'Enter Name of the Achievement',\n TOOLTIP_TEXT_OCCASION_EVENT_NAME: 'Enter the Occasion or Event Name where you completed the achievement',\n TOOLTIP_TEXT_ACHIEVEMENT_DATE: 'Enter the date the achievement was completed',\n TOOLTIP_TEXT_ACHIEVEMENT_NOTES: 'Enter any specific notes about this achievement',\n TOAST_MESSAGE_ACHIEVEMENT_ADDED_SUCCESSFULLY: 'Achievement Added Successfully',\n TOAST_MESSAGE_ACHIEVEMENT_UPDATED_SUCCESSFULLY: 'Achievement Updated Successfully',\n TAB_HEADING_MY_AWARDS: 'My Awards',\n TAB_HEADING_MY_ACHIEVEMENT: 'My Achievements',\n\n },\n MY_MEDICATION_FORM: {\n BUTTON_TEXT_ADD_A_MEDICATION: 'Add a Medication',\n BUTTON_TEXT_CANCEL: 'Cancel',\n CONTROL_LABEL_MEDICATION_NAME: 'Medication Name',\n CONTROL_LABEL_CONDITION_FOR: 'Condition For',\n CONTROL_LABEL_DOSAGE: 'Dosage',\n CONTROL_LABEL_FREQUENCY: 'Frequency',\n CONTROL_LABEL_PRESCRIBED_BY: 'Prescribed By',\n CONTROL_LABEL_REFILL_DURATION: 'Refill Duration',\n CONTROL_LABEL_LAST_REFILL_DATE: 'Last Refill Date',\n CONTROL_LABEL_NEXT_REFILL_DATE: 'Next Refill Date',\n CONTROL_LABEL_NOTES: 'Notes',\n DIALOG_TITLE_ADD_MEDICATION: 'Add a Medication',\n DIALOG_TITLE_EDIT_MEDICATION: 'Edit a Medication',\n ERROR_MESSAGE_REQUIRED_MEDICATION_NAME: 'The medication name is required!',\n ERROR_MESSAGE_REQUIRED_CONDITION_FOR: 'The condition for is required!',\n ERROR_MESSAGE_REQUIRED_DOSAGE: 'The dosage is required!',\n ERROR_MESSAGE_REQUIRED_FREQUENCY: 'The frequency is required!',\n ERROR_MESSAGE_REQUIRED_PRESCRIBED_BY: 'The prescribed by is required!',\n ERROR_MESSAGE_REQUIRED_REFILL_DURATION: 'The refill duration is required!',\n PLACEHOLDER_SELECT_PROFESSIONAL_NAME: \"Select Professional's Name\",\n PLACEHOLDER_SELECT_REFILL_DURATION: 'Select Refill Duration',\n SECTION_TEXT: 'Add some information about your medications.',\n TOOLTIP_TOGGLE_CALENDAR: 'Toggle Calendar',\n TOOLTIP_TEXT_MEDICATION_NAME: 'The Name of the Medication that is prescribed or taken by you',\n TOOLTIP_TEXT_MEDICAL_CONDITION: 'The Medical Condition or symptom that the medication is intended to treat or prevent',\n TOOLTIP_TEXT_AMOUNT_OF_MEDICATION: 'The Amount of Medication that is given or taken at one time',\n TOOLTIP_TEXT_MEDICATION_FREQUENCY: 'The Number of times or intervals that the medication is given or taken in a day or a week',\n TOOLTIP_TEXT_PRESCRIBING_DOCTOR: 'The Name of the doctor or health care provider who prescribed the medication to you',\n TOOLTIP_TEXT_REFILL_SUPPLY_DURATION: 'How many days / weeks / months till the next refill supply',\n TOOLTIP_TEXT_LAST_SUPPLY_DATE: 'The Date when you last received a new supply of the medication from the pharmacy or the health care provider',\n TOOLTIP_TEXT_NEXT_SUPPLY_DATE: 'The Date when you need a new supply of the medication from the pharmacy or the health care provider',\n TOOLTIP_TEXT_MEDICATION_NOTES: 'Add any specific notes that you have for this medication',\n TOAST_MESSAGE_MEDICATION_ADDED_SUCCESSFULLY: 'Medication Added Successfully',\n TOAST_MESSAGE_MEDICATION_UPDATED_SUCCESSFULLY: 'Medication Updated Successfully'\n },\n MY_VACCINATION_FORM: {\n BUTTON_TEXT_ADD_A_VACCINATION: 'Add a Vaccination',\n BUTTON_TEXT_CANCEL: 'Cancel',\n CONTROL_LABEL_VACCINATION_NAME: 'Vaccination Name',\n CONTROL_LABEL_OTHER: 'Other',\n CONTROL_LABEL_VACCINATION_TYPE: 'Vaccination Type',\n CONTROL_LABEL_LAST_DOSAGE_DATE: 'Last Dosage Date',\n CONTROL_LABEL_NEXT_DOSAGE_DATE: 'Next Dosage Date',\n CONTROL_LABEL_NOTES: 'Notes',\n DIALOG_TITLE_ADD_VACCINATION: 'Add a Vacciantion',\n DIALOG_TITLE_EDIT_VACCINATION: 'Edit Vaccination',\n ERROR_MESSAGE_REQUIRED_VACCINATION_NAME: 'The vaccination name is required!',\n ERROR_MESSAGE_REQUIRED_OTHER: 'The \"other\" is required!',\n ERROR_MESSAGE_REQUIRED_VACCINATION_TYPE: 'The vaccination type is required!',\n ERROR_MESSAGE_REQUIRED_LAST_DOSAGE_DATE: 'The last dosage is required!',\n ERROR_MESSAGE_REQUIRED_NEXT_DOSAGE_DATE: 'The next dosage is required!',\n PLACEHOLDER_SELECT_VACCINATION_NAME: \"Select Vaccination Name\",\n SECTION_TEXT: 'Add some information about your vaccinations.',\n TOOLTIP_TOGGLE_CALENDAR: 'Toggle Calendar',\n TOOLTIP_INFO_VACCINATION_NAME:'The Name of the vaccine that is given or taken by you',\n TOOLTIP_INFO_VACCINATION_TYPE:'Some vaccines also require multiples & booster shots; You can add as #1 or #2 individually',\n TOOLTIP_INFO_LAST_DOSAGE:'The Date when the patient last received a dose of the vaccine from the health care provider',\n TOOLTIP_INFO_NEXT_DOSAGE:'The Date when the patient needs to receive the next dose of the vaccine from the health care provider.',\n TOOLTIP_INFO_VACCINATION_NOTES:'Any other notes you might want to add about this vaccination record such as symptoms, reactions etc.',\n TOAST_MESSAGE_VACCINATION_ADDED_SUCCESSFULLY: 'Vaccination Added Successfully',\n TOAST_MESSAGE_VACCINATION_UPDATED_SUCCESSFULLY: 'Vaccination Updated Successfully'\n },\n AWARD: {\n BUTTON_TEXT_ADD_AN_AWARD: 'Add an Award',\n BUTTON_TEXT_CANCEL: 'Cancel',\n CONTROL_LABEL_NAME_OF_THE_AWARD: 'Name of the Award',\n CONTROL_LABEL_OCCASION: 'Occasion',\n CONTROL_LABEL_DATE_RECEIVED: 'Date Received',\n CONTROL_LABEL_OCCASION_NOTES: 'Occasion Notes',\n DIALOG_TITLE_ADD_AWARD: 'Add an Award',\n DIALOG_TITLE_EDIT_AWARD: 'Edit an Award',\n ERROR_MESSAGE_REQUIRED_AWARD_NAME: 'The award name is Required!',\n ERROR_MESSAGE_REQUIRED_OCCASION: 'The occasion is required!',\n ERROR_MESSAGE_REQUIRED_DATE_RECEIVED: 'The date received is required!',\n ERROR_MESSAGE_REQUIRED_OCCASION_NOTES: 'The occasion notes is required!',\n SECTION_TEXT: 'Add some information about your awards.',\n TOOLTIP_TOGGLE_CALENDAR: 'Toggle Calendar',\n TOOLTIP_TEXT_AWARD_NAME: 'Enter Name of the Award',\n TOOLTIP_TEXT_OCCASION_EVENT_NAME: 'Enter the Occasion or Event Name where you received the award',\n TOOLTIP_TEXT_AWARD_DATE: 'Enter the Date, the award was received',\n TOOLTIP_TEXT_AWARD_NOTES: 'Enter any specific notes about this award',\n TOAST_MESSAGE_AWARD_ADDED_SUCCESSFULLY: 'Award Added Successfully',\n TOAST_MESSAGE_AWARD_UPDATED_SUCCESSFULLY: 'Award Updated Successfully'\n },\n MY_FAMILIES: {\n BUTTON_TEXT_SEARCH_ON_MAP: 'Search On Map',\n BUTTON_TEXT_ADD_AN_OWN_FAMILY_MEMBER: 'Add an Own Family Member',\n BUTTON_TEXT_ADD_A_BIRTH_FAMILY_MEMBER: 'Add a Birth Family Member',\n BUTTON_TEXT_ADD_AN_OTHER_FAMILY_MEMBER: 'Add an Other Family Member',\n BUTTON_TEXT_ADD_A_FRIEND: 'Add a Friend',\n BUTTON_TEXT_ADD_OWN_FAMILY: 'Add a Family Member',\n BUTTON_TEXT_ADD_BIRTH_FAMILY: 'Add a Birth Family Member',\n BUTTON_TEXT_ADD_OTHER_FAMILY: 'Add an Other Family Member',\n CONTROL_LABEL_FIRST_NAME: 'First Name',\n CONTROL_LABEL_MIDDLE_NAME: 'Middle Name(s)',\n CONTROL_LABEL_LAST_NAME: 'Last Name',\n CONTROL_LABEL_DOB: 'Date of Birth',\n CONTROL_LABEL_CONTACT1: 'Contact Number1',\n CONTROL_LABEL_CONTACT2: 'Alternate Contact Number',\n CONTROL_LABEL_ADDRESS1: 'Street Name',\n CONTROL_LABEL_ADDRESS2: 'Address Line 2',\n CONTROL_LABEL_ADDRESS3: 'Address Line 3',\n CONTROL_LABEL_REGION: 'Region',\n CONTROL_LABEL_COUNTRY: 'Country',\n CONTROL_LABEL_ADDRESS_STATE: 'State',\n CONTROL_LABEL_ADDRESS_TOWN: 'Town / City',\n CONTROL_LABEL_ADDRESS_POSTALCODE: 'Post / Zip Code',\n CONTROL_LABEL_RELATIONSHIP: 'Relationship',\n CONTROL_LABEL_EMAIL_ADDRESS: 'Email Address',\n CONTROL_LABEL_PERSONAL_URL: 'Personal Web URL',\n CONTROL_LABEL_NOOSOM_URL: 'Noosom Web URL',\n DATA_TABLE_HEADER_TEXT_FIRST_NAME: 'FIRST NAME',\n DATA_TABLE_HEADER_TEXT_LAST_NAME: 'LAST NAME',\n DATA_TABLE_HEADER_TEXT_DATE_OF_BIRTH: 'DATE OF BIRTH',\n DATA_TABLE_HEADER_TEXT_RELATIONSHIP: 'RELATIONSHIP',\n DATA_TABLE_HEADER_TEXT_EMAIL_ADDRESS: 'EMAIL ADDRESS',\n DATA_TABLE_HEADER_TEXT_PERSONAL_WEB_URL: 'PERSONAL WEB URL',\n DATA_TABLE_HEADER_TEXT_NOOSOM_WEB_URL: 'NOOSOM WEB URL',\n DATA_TABLE_HEADER_TEXT_LINKED: 'LINKED?',\n DIALOG_TITLE_ADD_OWN_FAMILY_MEMBERS: 'Add an Own Family Member',\n DIALOG_TITLE_ADD_BIRTH_FAMILY_MEMBERS: 'Add a Birth Family Member',\n DIALOG_TITLE_ADD_OTHER_FAMILY_MEMBERS: 'Add an Other Family Member',\n DIALOG_TITLE_ADD_A_FRIEND: 'Add a Friend',\n DIALOG_TITLE_EDIT_A_FRIEND: 'Edit a Friend',\n DIALOG_TITLE_EDIT_FAMILY_MEMBERS: 'Edit a Family Member',\n PLACEHOLDER_SELECT_REGION: 'Select Region',\n PLACEHOLDER_SELECT_COUNTRY: 'Select Country',\n PLACEHOLDER_SELECT_STATE: 'Select State',\n SECTION_HEADING_MY_OWN_FAMILY: 'My Own Family',\n SECTION_HEADING_MY_BIRTH_FAMILY: 'My Birth Family',\n SECTION_HEADING_MY_OTHER_FAMILY: 'My Other Family',\n SECTION_HEADING_MY_FRIEND: 'My Friends',\n SECTION_TEXT: 'Add information about your family member; you can invite them to create a Noosom account by sending them an email if they do not have a Noosom Profile with us.',\n SECTION_TEXT_FRIEND: 'Add information about your friend; you can invite them to create a Noosom account by sending them an email if they do not have a Noosom Profile with us.',\n TOAST_MESSAGE_FAMILY_UPDATED_SUCCESSFULLY: 'Family Member Updated Successfully',\n TOAST_MESSAGE_FAMILY_ADDED_SUCCESSFULLY: 'Family Member Added Successfully',\n TOAST_MESSAGE_FRIEND_UPDATED_SUCCESSFULLY: 'Friend Updated Successfully',\n TOAST_MESSAGE_FRIEND_ADDED_SUCCESSFULLY: 'Friend Added Successfully',\n TOAST_MESSAGE_CONNECTION_MAIL_SUCCESSFULLY:'Connection mail send Successfully.',\n TOOLTIP_BIRTH_FAMILY: 'Mother, Father, Grand Mother, Grand Father, Brother, Sister',\n TOOLTIP_OWN_FAMILY: 'Spouse, Husband, Children',\n TOOLTIP_OTHER_FAMILY: 'Cousins, Extended Family',\n TOOLTIP_TEXT_FIRST_NAME: 'Enter First Name',\n TOOLTIP_TEXT_MIDDLE_NAME: 'Enter Middle Name(s) if you have any',\n TOOLTIP_TEXT_LAST_NAME: 'Enter Last Name',\n TOOLTIP_TEXT_DATE_OF_BIRTH: 'Enter Date of Birth',\n TOOLTIP_TEXT_RELATIONSHIP: 'How is this person related to you? Are they your mother, father, sister(s) or brother(s)?',\n TOOLTIP_TEXT_EMAIL: 'Enter the Family Member\\'s Email Address',\n TOOLTIP_TEXT_FRIENDS_EMAIL:'Enter your friend\\'s Email Address',\n TOOLTIP_TEXT_PERSONAL_URL: 'This is the Family Member\\'s Personal Web URL or their Company / Business URL',\n TOOLTIP_TEXT_PERSONAL_URL1: 'This is your friend\\'s Personal Web URL or their Company / Business URL',\n TOOLTIP_TEXT_NOOSOM_URL: 'Enter the Family Member\\'s Noosom URL to send them a connection link to view their Noosom Blog',\n TOOLTIP_TEXT_NOOSOM_URL1: 'Enter the Friend\\'s Noosom URL to send them a connection link to view their Noosom Blog',\n TOOLTIP_TEXT_MOBILE: 'Enter Mobile No. with the area code',\n TOOLTIP_TEXT_ALTERNATE_CONTACT: 'Enter an alternate contact no. with area code',\n TOOLTIP_TEXT_STREET_NAME: 'This is a required field for mapping your location accurately; please enter the street name correctly',\n TOOLTIP_TEXT_ADDITIONAL_LOCATION_FIELD_1: 'This is an additional field for more precise location mapping',\n TOOLTIP_TEXT_ADDITIONAL_LOCATION_FIELD_2: 'This is an additional field for more precise location mapping',\n TOOLTIP_TEXT_TOWN_VILLAGE_CITY: 'Enter the Town, Village, or City of the address',\n TOOLTIP_TEXT_POSTAL_ZIPCODE: 'This is the Postal Zipcode associated with the address\\'s country',\n TOOLTIP_TEXT_REGION_CONTINENT: 'Choose the Region or Continent of the address; for example, United Kingdom will be in Europe',\n TOOLTIP_TEXT_COUNTRY: 'Select the Country of the address; for example, England will be in Europe',\n TOOLTIP_TEXT_STATE_PROVINCE: 'Choose the State or Province of the address; for example, Rotuma is a state or island in Fiji',\n TOOLTIP_TEXT_FAMILY_MEMBER_NOTES: 'Enter any other notes you might have for this family member',\n TOOLTIP_TEXT_BIRTH_FAMILY_INFO:'This is the family you were born into, Mother, Father, Brother Sister etc',\n TOOLTIP_TEXT_OWN_FAMILY_INFO:'Your family by marriage, wife, husband, children, grand children',\n TOOLTIP_TEXT_OTHER_FAMILY_INFO:'In laws, aunties, uncles, nieces, nephews etc',\n TOOLTIP_TEXT_CONNECTION_STATUS:'Connection Status'\n },\n MY_JOBS: {\n BUTTON_TEXT_ADD_A_NEW_JOBS: 'Add a New Job',\n BUTTON_TEXT_SEARCH_ON_MAP: 'Search On Map',\n CONTROL_LABEL_JOB_DESCRIPTION: 'Job Description',\n CONTROL_LABEL_EMPLOYER: 'Employer',\n CONTROL_LABEL_ADDRESS1: 'Street Name',\n CONTROL_LABEL_ADDRESS2: 'Address Line 2',\n CONTROL_LABEL_ADDRESS3: 'Address Line 3',\n CONTROL_LABEL_REGION: 'Region',\n CONTROL_LABEL_COUNTRY: 'Country',\n CONTROL_LABEL_ADDRESS_STATE: 'State',\n CONTROL_LABEL_ADDRESS_TOWN: 'Town / City',\n CONTROL_LABEL_ADDRESS_POSTALCODE: 'Post / Zip Code',\n CONTROL_LABEL_CURRENT_JOBS: 'Current Job',\n CONTROL_LABEL_DATE_FROM: 'Date From',\n CONTROL_LABEL_DATE_TO: 'Date To',\n DATA_TABLE_HEADER_TEXT_EMPLOYER: 'EMPLOYER',\n DATA_TABLE_HEADER_TEXT_JOB_DESCRIPTION: 'JOB DESCRIPTION',\n DATA_TABLE_HEADER_TEXT_DATE_FROM: 'DATE FROM',\n DATA_TABLE_HEADER_TEXT_DATE_TO: 'DATE TO',\n DATA_TABLE_HEADER_TEXT_ACTIONS: 'ACTIONS',\n DATA_TABLE_HEADER_TEXT_ADDRESS: 'ADDRESS',\n DATA_TABLE_HEADER_TEXT_NOTES: 'NOTES',\n DIALOG_TITLE_EDIT_JOBS: 'Edit a Job',\n ERROR_MESSAGE_JOB_FROM_DATE_REQUIRED: 'The date from is required!',\n ERROR_MESSAGE_DATE_TO_REQUIRED: 'The date to is required!',\n PLACEHOLDER_SELECT_REGION: 'Select Region',\n PLACEHOLDER_SELECT_COUNTRY: 'Select Country',\n PLACEHOLDER_SELECT_STATE: 'Select State',\n SECTION_HEADING_MY_JOB: 'My Jobs',\n SECTION_TEXT_JOBS: 'Add information about your past or current jobs',\n TOAST_MESSAGE_ADDRESS_ADDED_SUCCESSFULLY: 'My Jobs Added Successfully',\n TOAST_MESSAGE_ADDRESS_UPDATED_SUCCESSFULLY: 'My Jobs Updated Successfully',\n TOOLTIP_TEXT_EMPLOYER_NAME: 'Enter the Name of your Employer or Company',\n TOOLTIP_TEXT_JOB_ROLE: 'Enter information about your role(s) at this job',\n TOOLTIP_TEXT_CURRENT_JOB: 'If current - check this box',\n TOOLTIP_TEXT_JOB_START_DATE: 'Enter the Date the job was started',\n TOOLTIP_TEXT_JOB_END_DATE: 'Enter the Date the job was ended',\n TOOLTIP_TEXT_STREET_NAME: 'This is a required field for mapping your location accurately; please enter the street name correctly',\n TOOLTIP_TEXT_ADDITIONAL_LOCATION_FIELD_1: 'This is an additional field for more precise location mapping',\n TOOLTIP_TEXT_ADDITIONAL_LOCATION_FIELD_2: 'This is an additional field for more precise location mapping',\n TOOLTIP_TEXT_TOWN_VILLAGE_CITY: 'Enter the Town, Village, or City of the address',\n TOOLTIP_TEXT_POSTAL_ZIPCODE: 'This is the Postal Zipcode associated with the address\\'s country',\n TOOLTIP_TEXT_REGION_CONTINENT: 'Choose the Region or Continent of the address; for example, United Kingdom will be in Europe',\n TOOLTIP_TEXT_COUNTRY: 'Select the Country of the address; for example, England will be in Europe',\n TOOLTIP_TEXT_STATE_PROVINCE: 'Choose the State or Province of the address; for example, Rotuma is a state or island in Fiji',\n TOOLTIP_TEXT_JOB_NOTES: 'Enter any other notes you might have for this job',\n WARNING_MESSAGE_SELECT_LOCATION: 'Please select location on a map.',\n }\n }\n};\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'fr',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Impossible de se connecter au serveur.'\n },\n SIGNIN: {\n WELCOME_TEXT: 'Bienvenue à Noosom',\n MOTIVATION_BADGE_SIGNIN:'Connectez-vous et commencez l\\'aventure',\n CONTROL_LABEL_EMAIL:'Adresse e-mail',\n CONTROL_LABEL_PASSWORD:'Mot de passe',\n CONTROL_LABEL_REMEMBERME:'Souviens-toi de moi',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Mot de passe oublié?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Créer un compte',\n TEXT_NEWONPLATFORM:'Nouveau sur notre plateforme ?',\n BUTTON_TEXT_LOGIN:'Connexion',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Vous avez réussi à vous connecter en tant qu\\'utilisateur {0} à Noosom. Vous pouvez maintenant commencer à explorer. Prendre plaisir! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Bienvenue, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'Le champ email est!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Le champ mot de passe est!',\n ERROR_MESSAGE_INVALID_EMAIL:'L\\'e-mail doit être une adresse e-mail valide',\n ERROR_MESSAGE_NOATTEMPTS:'Nom d\\'utilisateur ou mot de passe invalide. Il ne vous reste plus aucune tentative.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Votre adresse e-mail n\\'est pas vérifiée.
vérifiez d\\'abord votre adresse e-mail.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Vôtre compte a été bloqué.'},\n {ErrorCode:0,ErrorMessage:'Connexion réussie.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Nom d\\'utilisateur ou mot de passe invalide.
Il vous reste {0} tentatives.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administratrice'},{titlle:'Client',value:'Cliente'},{title:'User',value:'Utilisatrice'}]\n },\n SIGNUP:\n {\n MOTIVATION_BADGE_SIGNUP:'Inscrivez-vous et commencez l\\'aventure',\n STEPPER_TITLE_ACCOUNT:'Compte',\n STEPPER_SUB_TITLE_ACCOUNT:'Saisissez votre nom d\\'utilisateur',\n STEPPER_TITLE_PERSONAL:'Personnelle',\n STEPPER_SUB_TITLE_PERSONAL:'Entrez les informations',\n HEADING_ACCOUNT:'Information sur le compte',\n HEADING_PERSONAL:'Renseignements personnels',\n HEADING_SELECTPLAN:'Sélectionnez le plan',\n CONTROL_LABEL_USERID:'ID utilisateur Noosom',\n CONTROL_LABEL_EMAILADDRESS:'Adresse e-mail',\n CONTROL_LABEL_PASSWORD:'Mot de passe',\n CONTROL_LABEL_CONFIRMPASSWORD:'Confirmer votre mot de passe',\n CONTROL_LABEL_REGION:'Votre région',\n CONTROL_LABEL_HOMECOUNTRY:'Votre pays',\n CONTROL_LABEL_FIRSTNAME:'Prénom',\n CONTROL_LABEL_MIDDLENAME:'Deuxième nom',\n CONTROL_LABEL_LASTNAME:'Nom de famille',\n CONTROL_LABEL_BIRTHDATE:'Date de naissance',\n CONTROL_LABEL_MOBILENO:'Mobile Non',\n CONTROL_LABEL_SELECTPLAN:'Gratuit pour l\\'instant, ou achetez plus tard.',\n PLACEHOLDER_TYPEHERE:'Écrivez ici...',\n PLACEHOLDER_PASSWORD:'Mot de passe',\n PLACEHOLDER_REGION:'Choisissez une région',\n PLACEHOLDER_COUNTRY:'Choisissez le pays',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Précédente',\n BUTTON_TEXT_NEXT:'Prochaine',\n BUTTON_TEXT_SUBMIT:'Soumettre',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Vos données seront stockées',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'dans la région sélectionnée',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'Sélectionnez le pays',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Compte créé avec succès.',\n ERROR_MESSAGE_REQUIRED_USERID:'Le champ nom d\\'utilisateur est!',\n ERROR_MESSAGE_EXISTED_USERID:'Ce nom d\\'utilisateur a été pris. Veuillez en essayer un autre.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'Le champ adresse e-mail est!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Cette adresse e-mail a été prise. Veuillez en essayer un autre.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Le champ mot de passe est!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Doit contenir au moins un chiffre, une lettre majuscule et minuscule et un minimum de 8 caractères ou plus.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'Le mot de passe répété doit correspondre.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'Le champ de confirmation du mot de passe est!',\n ERROR_MESSAGE_REQUIRED_REGION:'Le champ région est!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'Le champ du pays',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'Le champ prénom est!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'Le champ du deuxième prénom est!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'Le champ nom de famille est!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'Le champ date de naissance est!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'Le mobile aucun champ n\\'est requis!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Veuillez sélectionner l\\'option de forfait gratuit!'\n }\n }\n};\n","import { Status } from \"app/enums\";\r\n\r\nexport const locale = {\r\n lang: 'gj',\r\n data: {\r\n COMMON:{\r\n ERROR_MESSAGE_CONNECTIONREFUSED:'સર્વર સાથે કનેક્ટ કરી શકાયું નથી'\r\n },\r\n SIGNIN: {\r\n WELCOME_TEXT: 'નૂસોમ માં આપનું સ્વાગત છે',\r\n MOTIVATION_BADGE_SIGNIN:'સાઇન ઇન કરો અને સાહસ શરૂ કરો',\r\n CONTROL_LABEL_EMAIL:'ઈ - મેઈલ સરનામું',\r\n CONTROL_LABEL_PASSWORD:'પાસવર્ડ',\r\n CONTROL_LABEL_REMEMBERME:'મને યાદ રાખો',\r\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\r\n LINK_TEXT_LABEL_FORGOTPASSWORD:'તમારો પાસવર્ડ ભૂલી ગયા છો?',\r\n LINK_TEXT_LABEL_CREATEACCOUNT:'એક ખાતુ બનાવો',\r\n TEXT_NEWONPLATFORM:'અમારા પ્લેટફોર્મ પર નવા છો?',\r\n BUTTON_TEXT_LOGIN:'પ્રવેશ કરો',\r\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'તમે Noosom માં {0} વપરાશકર્તા તરીકે સફળતાપૂર્વક લૉગ ઇન કર્યું છે. હવે તમે અન્વેષણ કરવાનું શરૂ કરી શકો છો. આનંદ માણો! 🎉',\r\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 સ્વાગત છે, {0}!',\r\n ERROR_MESSAGE_REQUIRED_EMAIL:'ઈમેલ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_PASSWORD:'પાસવર્ડ આવશ્યક છે!',\r\n ERROR_MESSAGE_INVALID_EMAIL:'ઇમેઇલ એક માન્ય ઇમેઇલ સરનામું હોવું આવશ્યક છે',\r\n ERROR_MESSAGE_NOATTEMPTS:'અમાન્ય વપરાશકર્તાનામ અથવા પાસવર્ડ. તમારી પાસે કોઈ પ્રયાસો બાકી નથી.',\r\n LOGIN_STATUS:\r\n [\r\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'તમારું ઇમેઇલ સરનામું ચકાસાયેલ નથી.
પહેલા તમારું ઇમેઇલ સરનામું બદલો.'},\r\n {ErrorCode:Status.AccountLocked,ErrorMessage:'તમારું એકાઉન્ટ લોક કરી દેવામાં આવ્યું છે.'},\r\n {ErrorCode:0,ErrorMessage:'લૉગ-ઇન સફળ.'},\r\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'અમાન્ય વપરાશકર્તાનામ અથવા પાસવર્ડ.
તમારી પાસે {0} પ્રયાસો બાકી છે.'}\r\n ],\r\n DIGITS:[\"૧\",\"૨\",\"૩\",\"૪\"],\r\n ROLES:[{title:'Admin',value:'એડમિન'},{titlle:'Client',value:'ક્લાયન્ટ'},{title:'User',value:'વપરાશકર્તા'}]\r\n },\r\n SIGNUP:\r\n {\r\n MOTIVATION_BADGE_SIGNUP:'સાઇન અપ કરો અને સાહસ શરૂ કરો',\r\n STEPPER_TITLE_ACCOUNT:'એકાઉન્ટ',\r\n STEPPER_SUB_TITLE_ACCOUNT:'વપરાશકર્તા નામ દાખલ કરો',\r\n STEPPER_TITLE_PERSONAL:'અંગત',\r\n STEPPER_SUB_TITLE_PERSONAL:'માહિતી દાખલ કરો',\r\n HEADING_ACCOUNT:'ખાતાની માહિતી',\r\n HEADING_PERSONAL:'વ્યક્તિગત માહિતી',\r\n HEADING_SELECTPLAN:'પ્લાન પસંદ કરો',\r\n CONTROL_LABEL_USERID:'નૂસોમ વપરાશકર્તા આઈડી',\r\n CONTROL_LABEL_EMAILADDRESS:'ઈ - મેઈલ સરનામું',\r\n CONTROL_LABEL_PASSWORD:'પાસવર્ડ',\r\n CONTROL_LABEL_CONFIRMPASSWORD:'તમારા પાસવર્ડની ખાતરી કરો',\r\n CONTROL_LABEL_REGION:'તમારો પ્રદેશ',\r\n CONTROL_LABEL_HOMECOUNTRY:'તમારો દેશ',\r\n CONTROL_LABEL_FIRSTNAME:'પ્રથમ નામ',\r\n CONTROL_LABEL_MIDDLENAME:'પિતાનું નામ',\r\n CONTROL_LABEL_LASTNAME:'છેલ્લું નામ',\r\n CONTROL_LABEL_BIRTHDATE:'જન્મ તારીખ',\r\n CONTROL_LABEL_MOBILENO:'મોબાઈલ નમ્બર',\r\n CONTROL_LABEL_SELECTPLAN:'હમણાં માટે હંમેશ માટે મફત, અથવા પછીથી ખરીદો.',\r\n PLACEHOLDER_TYPEHERE:'અહી લખો...',\r\n PLACEHOLDER_PASSWORD:'પાસવર્ડ',\r\n PLACEHOLDER_REGION:'પ્રદેશ પસંદ કરો',\r\n PLACEHOLDER_COUNTRY:'દેશ પસંદ કરો',\r\n PLACEHOLDER_TELEPHONENUMBER:'૦૧૨૩૪૫૬૭૮૯',\r\n BUTTON_TEXT_PREVIOUS:'અગાઉના',\r\n BUTTON_TEXT_NEXT:'આગળ',\r\n BUTTON_TEXT_SUBMIT:'સબમિટ કરો',\r\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'તમારો ડેટા પસંદ કરેલ પ્રદેશમાં',\r\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'સંગ્રહિત કરવામાં આવશે',\r\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'દેશ પસંદ કરો',\r\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'એકાઉન્ટ સફળતાપૂર્વક બનાવ્યું.',\r\n ERROR_MESSAGE_REQUIRED_USERID:'યુઝરનેમ આવશ્યક છે!',\r\n ERROR_MESSAGE_EXISTED_USERID:'તે વપરાશકર્તા નામ લેવામાં આવ્યું છે. કૃપા કરીને બીજો પ્રયાસ કરો.',\r\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'ઈમેલ એડ્રેસ ફીલ્ડ છે!',\r\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'તે ઈમેલ એડ્રેસ લેવામાં આવ્યું છે. કૃપા કરીને બીજો પ્રયાસ કરો.',\r\n ERROR_MESSAGE_REQUIRED_PASSWORD:'પાસવર્ડ ફીલ્ડ છે!',\r\n ERROR_MESSAGE_INVALID_PASSWORD:'ઓછામાં ઓછા એક નંબર, એક અપરકેસ અને લોઅરકેસ અક્ષર અને ઓછામાં ઓછા 8 અથવા વધુ અક્ષરો હોવા જોઈએ.',\r\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'પુનરાવર્તિત પાસવર્ડ મેળ ખાતો હોવો જોઈએ.',\r\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'કન્ફર્મ પાસવર્ડ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_REGION:'પ્રદેશ ક્ષેત્ર આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'દેશ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'પ્રથમ નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'મધ્યમ નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_LASTNAME:'છેલ્લું નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'જન્મ તારીખ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_MOBILENO:'મોબાઇલ નંબર આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'કૃપા કરીને ફ્રી પ્લાન વિકલ્પ પસંદ કરો!'\r\n }\r\n }\r\n };\r\n ","import { Status } from \"app/enums\";\r\n\r\nexport const locale = {\r\n lang: 'hn',\r\n data: {\r\n COMMON: {\r\n CONTROL_LABEL_EMAIL_ADDRESS: 'ईमेल पता',\r\n PLACEHOLDER_EMAIL_ADDRESS: 'यहाँ लिखो...',\r\n PLACEHOLDER_TYPE_HERE: 'यहाँ लिखो...',\r\n PLACEHOLDER_MOBILE_NUMBER: '०१२३४५६७८९',\r\n BUTTON_TEXT_SAVE_CHANGES: 'परिवर्तनों को सुरक्षित करें',\r\n BUTTON_TEXT_SAVE: 'सहेजें',\r\n BUTTON_TEXT_SAVE_SEND: 'सहेजें और भेजें',\r\n BUTTON_TEXT_CANCEL: 'रद्द करें',\r\n ERROR_MESSAGE_REQUIRED_EMAIL_ADDRESS: 'ईमेल की आवश्यकता है!',\r\n ERROR_MESSAGE_INVALID_EMAIL: 'कृपया अपना ईमेल पता प्रारूप में दर्ज करें:\\nyourname@example.com',\r\n ERROR_MESSAGE_CONNECTIONREFUSED: 'सर्वर से कनेक्ट नहीं हो सका.',\r\n ERROR_MESSAGE_INVALID_MOBILE_NUMBER: 'अमान्य मोबाइल संपर्क नंबर',\r\n TOOLTIP_TEXT_BUTTON_CLOSE: 'बंद करना',\r\n COMMON_STATUS:\r\n [\r\n { ErrorCode: Status.UserNotFound, ErrorMessage: 'उपयोगकर्ता नहीं मिल सका।' }\r\n ],\r\n },\r\n ABOUTME: {\r\n SECTION_HEADING_HI: 'हे',\r\n SECTION_HEADING_ABOUT_ME: 'यह आपके, आपके दोस्तों और परिवारों के बारे में जानकारी है।',\r\n SECTION_HADING_MY_DETAILS: 'मेरे विवरण',\r\n SECTION_HADING_MY_ADDRESSES: 'मेरे पते',\r\n SECTION_HADING_MY_SCHOOLS: 'मेरे स्कूल',\r\n SWEET_ALERT_NO_BUTTON: 'नहीं',\r\n SWEET_ALERT_YES_BUTTON: 'हाँ',\r\n SWEET_ALERT_SURE_TEXT: 'क्या आप सुनिश्चित हैं?',\r\n SWEET_ALERT_TITLE_INVITATION_TEXT: 'आप Personname को नूसोम पर आपसे जुड़ने के लिए एक निमंत्रण ईमेल भेजने वाले हैं।',\r\n BUTTON_TEXT_UPLOAD: 'अपलोड',\r\n BUTTON_TEXT_VIEW_ON_MAP: 'मानचित्र पर देखें',\r\n BUTTON_TEXT_VIEW_ALL_ON_A_MAP: 'मानचित्र पर सभी देखें',\r\n BUTTON_TEXT_ADD_NEW_RECORD: 'नया रिकॉर्ड जोड़ें',\r\n BUTTON_TEXT_ADD_AN_ADDRESS: 'एक पता जोड़ें',\r\n BUTTON_TEXT_ADD_SCHOOL: 'एक स्कूल जोड़ें',\r\n CHARACTER_COUNT: 'अक्षर गणना',\r\n TAB_LINK_TEXT_ABOUT_ME: 'मेरे बारे में',\r\n TAB_LINK_TEXT_MY_ESSENTIAL_INFO: 'मेरी आवश्यक जानकारी',\r\n TAB_LINK_TEXT_MY_FAMILIES: 'मेरे परिवार',\r\n TAB_LINK_TEXT_MY_FRIENDS: 'मेरे मित्र',\r\n TAB_LINK_TEXT_MY_ACHIEVEMENTS_AND_AWARDS: 'मेरी उपलब्धियां और पुरस्कार',\r\n TAB_LINK_TEXT_MY_JOBS: 'मेरे काम',\r\n TOOLTIP_TEXT_BUTTON_UPLOAD: 'अपलोड करें',\r\n TOOLTIP_TEXT_BUTTON_CALENDAR: 'टॉगल कैलेंडर',\r\n TOOLTIP_TEXT_BUTTON_SAVE_CHANGES: 'परिवर्तनों को सुरक्षित करें',\r\n TOOLTIP_TEXT_BUTTON_VIEW_ALL_ON_MAP: 'मानचित्र पर सभी देखें',\r\n TOOLTIP_TEXT_BUTTON_ADD_NEW_RECORD: 'नया रिकॉर्ड जोड़ें',\r\n TOOLTIP_TEXT_BUTTON_VIEW_ON_MAP: 'मानचित्र पर देखें',\r\n TOOLTIP_TEXT_COPY: 'कॉपी',\r\n TOOLTIP_TEXT_EXTERNAL_LINK: 'एक नए टैब में खोलें',\r\n TOOLTIP_TEXT_SEND_EMAIL: 'ईमेल भेजें',\r\n TOOLTIP_TEXT_FIRST_NAME: 'पहला नाम दर्ज करें',\r\n TOOLTIP_TEXT_MIDDLE_NAME: 'अगर आपके पास कोई मध्य नाम है तो दर्ज करें',\r\n TOOLTIP_TEXT_LAST_NAME: 'अंतिम नाम दर्ज करें',\r\n TOOLTIP_TEXT_NICK_NAME: 'यह आपका उपनाम है',\r\n TOOLTIP_TEXT_FULL_NAME: 'यह आपके पहले नाम, मध्य नाम(जीवन में अगर कोई है), और अंतिम नाम का संयोजन है। यह केवल प्रदर्शन के लिए है।',\r\n TOOLTIP_TEXT_NOOSOM_WEB_URL: 'यह आपका नूसोम वेब URL है। यह आपके उपयोगकर्ता नाम से व्यक्तिगत। यह आपके ब्लॉग के लिए साझा करने के लिए URL है।',\r\n TOOLTIP_TEXT_NOOSOM_EMAIL: 'आपका ईमेल पता दो-पद्धति प्रमाणीकरण के लिए उपयोग किया जाता है; इस क्षेत्र को बदलने के लिए, कृपया अपने नूसोम प्रोफ़ाइल में जाएं।',\r\n TOOLTIP_TEXT_PERSONAL_URL: 'यह आपका व्यक्तिगत वेब URL है या आपका कंपनी / व्यवसाय URL है।',\r\n TOOLTIP_TEXT_USERNAME: 'यह आपका निर्धारित नूसोम उपयोगकर्ता नाम है, कृपया इस क्षेत्र को बदलने के लिए अपने नूसोम प्रोफ़ाइल में जाएं।',\r\n TOOLTIP_TEXT_DOB: 'यह हमारे साथ पंजीकृत जन्म की तारीख है; सुरक्षा कारणों के लिए, नूसोम का उपयोग केवल 12 वर्ष और उससे अधिक आयु के लिए किया जा सकता है।',\r\n TOOLTIP_TEXT_SEX_BIRTH: 'यह आपका जन्म के समय का लिंग है - पुरुष / महिला में से चुनें',\r\n TOOLTIP_TEXT_GENDER: 'यह आपकी पहचान का अभिव्यक्ति है',\r\n TOOLTIP_TEXT_RELIGION: 'यह धर्म है जिस पर आप विश्वास करते हैं',\r\n TOOLTIP_TEXT_ZODIAC: 'यह आपका ज्योतिषीय या राशिफल चिन्ह है, प्रत्येक माह के आधार पर',\r\n TOOLTIP_TEXT_CHINESE_ZODIAC: 'यह आपका जन्म के वर्ष के आधार पर जानवर चिन्ह है, अधिक जानकारी के लिए यहाँ देखें',\r\n TOOLTIP_TEXT_MOBILE: 'क्षेत्र कोड के साथ मोबाइल नंबर दर्ज करें',\r\n TOOLTIP_TEXT_DIARY_JOURNAL: 'अपनी पसंद के अनुसार डायरी या जर्नल चुनें, और नूसोम समस्त शेष को संभालेगा',\r\n TAB_LINK_TEXT_MY_NOOSOM_PROFILE: 'माई नुसम प्रोफाइल',\r\n CONTROL_LABEL_NOOSOM_USER_NAME: 'नुसम उपयोगकर्ता नाम',\r\n CONTROL_LABEL_FULL_NAME: 'पूरा नाम',\r\n CONTROL_LABEL_CALL_ME_NAME: 'मुझे बुलाने का नाम',\r\n CONTROL_LABEL_FIRST_NAME: 'पहला नाम',\r\n CONTROL_LABEL_MIDDLE_NAME: 'मध्य नाम',\r\n CONTROL_LABEL_LAST_NAME: 'उपनाम',\r\n CONTROL_LABEL_DATE_OF_BIRTH: 'जन्म की तारीख',\r\n CONTROL_LABEL_SEX_AT_BIRTH: 'जन्म के समय लिंग',\r\n CONTROL_LABEL_GENDER_IDENTIFY_AS: 'लिंग की पहचान इस प्रकार करें',\r\n CONTROL_LABEL_RELIGION: 'धर्म',\r\n CONTROL_LABEL_ZODIAC_SIGN: 'राशि चक्र चिन्ह',\r\n CONTROL_LABEL_LUNAR_SIGN: 'चीनी राशि चक्र चिन्ह',\r\n CONTROL_LABEL_NOOSOM_WEB_URL: 'नुसम वेब यूआरएल:',\r\n CONTROL_LABEL_PERSONAL_WEB_URL: 'व्यक्तिगत वेब यूआरएल:',\r\n CONTROL_LABEL_MOBILE_NUMBER: 'मोबाइल नंबर',\r\n CONTROL_LABEL_DIARY_OR_JOURNAL: 'डायरी या जर्नल',\r\n CONTROL_LABEL_DIARY: 'डायरी',\r\n CONTROL_LABEL_EMAIL_ADDRESS: 'ईमेल पता',\r\n CONTROL_LABEL_JOURNAL: 'जर्नल',\r\n CONTROL_LABEL_SHOW: 'प्रदर्शन',\r\n CONTROL_LABEL_SEARCH: 'खोजे',\r\n CONTROL_LABEL_ADD_EMAIL: 'ईमेल जोड़ें',\r\n PLACEHOLDER_SEX_AT_BIRTH: 'जन्म के समय सेक्स का चयन करें',\r\n PLACEHOLDER_GENDER_IDENTIFY_AS: 'लिंग का चयन करें',\r\n PLACEHOLDER_RELIGION: 'धर्म का चयन करें',\r\n PLACEHOLDER_ZODIAC_SIGN: 'राशि का चयन करें',\r\n PLACEHOLDER_LUNAR_SIGN: 'चीनी राशि चक्र चिन्ह का चयन करें',\r\n SWEET_ALERT_TITLE_SCHOOL_TEXT: 'क्या आप सुनिश्चित हैं कि आप इस स्कूल और इससे जुड़े सभी अनुलग्नकों को हटाना चाहते हैं?',\r\n SWEET_ALERT_TITLE_ADDRESS_TEXT: 'क्या आप सुनिश्चित हैं कि आप इस पते और इससे जुड़े सभी अनुलग्नकों को हटाना चाहते हैं?',\r\n SWEET_ALERT_TITLE_INSURANCE_TEXT: 'क्या आप सुनिश्चित हैं कि आप इस बीमा और इससे जुड़े सभी अनुलग्नकों को हटाना चाहते हैं?',\r\n SWEET_ALERT_TEXT: \"आप इसे पूर्ववत नहीं कर पाएंगे!\",\r\n SWEET_ALERT_CONFIRM_BUTTON_TEXT: 'हाँ, मिटा दो!',\r\n SWEET_ALERT_CANCEL_BUTTON_TEXT: 'रद्द करना',\r\n DATA_TABLE_HEADER_TEXT_SEQUENCE: 'क्रम',\r\n DATA_TABLE_HEADER_TEXT_ADDRESS_CODE: 'पता कोड',\r\n DATA_TABLE_HEADER_TEXT_NAME_FOR_THIS_ADDRESS: 'इस पते के लिए नाम',\r\n DATA_TABLE_HEADER_TEXT_ADDRESS: 'पता',\r\n DATA_TABLE_HEADER_TEXT_DATE_FROM: 'तारीख से',\r\n DATA_TABLE_HEADER_TEXT_DATE_TO: 'तारीख तक',\r\n DATA_TABLE_HEADER_TEXT_ACTIONS: 'कार्रवाई',\r\n DATA_TABLE_HEADER_TEXT_SCHOOL_NAME: 'विद्यालय का नाम',\r\n DATA_TABLE_HEADER_TEXT_EDUCATION_RECEIVED: 'शिक्षा प्राप्त',\r\n DATA_TABLE_HEADER_TEXT_COUNTRY: 'देश',\r\n TOAST_MESSAGE_ABOUTME_UPDATED_SUCCESSFULLY: 'मेरे बारे में डेटा सफलतापूर्वक अपडेट किया गया।',\r\n ERROR_MESSAGE_REQUIRED_NOOSOM_USER_NAME: 'नुसम उपयोगकर्ता नाम की आवश्यकता है!',\r\n ERROR_MESSAGE_MAX_LENGTH_50: 'आपने बहुत अधिक वर्ण टाइप किए हैं, अधिकतम अनुमत 50 है',\r\n ERROR_MESSAGE_MAX_LENGTH_100: 'आपने बहुत अधिक वर्ण टाइप किए हैं, अधिकतम अनुमत 100 है',\r\n ERROR_MESSAGE_MAX_LENGTH_250: 'आपने बहुत अधिक वर्ण टाइप किए हैं, अधिकतम अनुमत 250 है',\r\n ERROR_MESSAGE_MAX_LENGTH_12: 'आपने बहुत अधिक वर्ण टाइप किए हैं, अधिकतम अनुमत 12 है',\r\n ERROR_MESSAGE_REQUIRED_FULL_NAME: 'पूरा नाम आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_CALL_ME_NAME: 'मुझे बुलाने का नाम आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_FIRST_NAME: 'पहला नाम आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_MIDDLE_NAME: 'मध्य नाम आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_LAST_NAME: 'उपनाम की आवश्य है!',\r\n ERROR_MESSAGE_REQUIRED_DATE_OF_BIRTH: 'जन्म तिथि आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_SEX_AT_BIRTH: 'जन्म के समय की सेक्स आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_GENDER_IDENTIFY_AS: 'लिंग की पहचान आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_RELIGION: 'धर्म आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_ZODIAC_SIGN: 'राशि चक्र आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_LUNAR_SIGN: 'चंद्र चिन्ह आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_ADDRESSPOSTCODE: 'पोस्ट कोड आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_ADDRESSTOWN: 'शहर का पता आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_ADDRESS_STATE: 'राज्य का पता आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_ADDRESS_REGION: 'क्षेत्र आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_ADDRESS_COUNTRY: 'देश आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_NOOSOM_WEB_URL: 'नुसम वेब यूआरएल आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_PERSONAL_WEB_URL: 'व्यक्तिगत वेब यूआरएल आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_MOBILE_NUMBER: 'मोबाइल नंबर आवश्यक है!',\r\n ERROR_MESSAGE_EXISTED_EMAILADDRESS: 'वह ईमेल पता लिया गया है। कृपया दूसरा प्रयास करें।',\r\n ERROR_MESSAGE_EXISTED_MOBILENUMBER: 'वह मोबाइल नंबर लिया गया है। कृपया दूसरा प्रयास करें।',\r\n ERROR_MESSAGE_EXISTED_USERNAME: 'वह उपयोगकर्ता नाम लिया गया है। कृपया दूसरा प्रयास करें।',\r\n ERROR_MESSAGE_INVALID_MOBILE_NUMBER: 'अमान्य मोबाइल संपर्क नंबर',\r\n ERROR_MESSAGE_EXIST_EMAIL: 'यह ईमेल पता पहले से ही आपके किसी मित्र या परिवार के सदस्य से जुड़ा हुआ है। कृपया कोई अन्य ईमेल पता उपयोग करें।',\r\n ERROR_MESSAGE_REQUIRED_EMPLOYER: 'नियोक्ता आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_JOBDESCRIPTION: 'कार्य विवरण आवश्यक है!',\r\n ERROR_MESSAGE_INVALID_DATA: 'अमान्य संपर्क नंबर!',\r\n\r\n },\r\n ESSENTIAL_INFORMATION: {\r\n BUTTON_TEXT_ADD_AN_INSURANCE: 'एक बीमा जोड़ें',\r\n BUTTON_TEXT_ADD_A_PROFFESIONAL: 'एक पेशेवर जोड़ें',\r\n CONTROL_LABEL_BLOOD_GROUP: 'रक्त समूह',\r\n CONTROL_LABEL_ORGAN_DONOR: 'अंग दान करने वाला',\r\n CONTROL_LABEL_YES: 'हां',\r\n CONTROL_LABEL_NO: 'नहीं',\r\n CONTROL_LABEL_ALLERGIES: 'एलर्जी',\r\n CONTROL_LABEL_RELATIONSHIP: 'रिश्ता',\r\n CONTROL_LABEL_EMERGENCY_CONTACT_FULLNAME: 'आपातकालीन संपर्क नाम',\r\n CONTROL_LABEL_EMERGENCY_CONTACT_NUMBER: 'आपातकालीन संपर्क नंबर',\r\n CONTROL_LABEL_GENERAL_MEDICAL_HISTORY: 'सामान्य चिकित्सा इतिहास',\r\n CONTROL_LABEL_FAMILY_MEDICAL_HISTORY: 'परिवार के मेडिकल इतिहास',\r\n CONTROL_LABEL_SURGICAL_HISTORY: 'सर्जिकल इतिहास',\r\n CONTROL_LABEL_POST_CARE_NOTES: 'पोस्ट केयर नोट्स',\r\n DATA_TABLE_HEADER_TEXT_INSURANCE_TYPE: 'बीमा प्रकार',\r\n DATA_TABLE_HEADER_TEXT_ACTIONS: 'कार्रवाई',\r\n DATA_TABLE_HEADER_TEXT_INSURANCE_NAME: 'बीमा का नाम',\r\n DATA_TABLE_HEADER_TEXT_INSURANCE_POLICY_NUMBER: 'बीमा पॉलिसी संख्या',\r\n DATA_TABLE_HEADER_TEXT_CARD_NUMBER: 'कार्ड नंबर',\r\n DATA_TABLE_HEADER_TEXT_INSURANCE_CONTACT_NUMBER: 'बीमा संपर्क नंबर',\r\n DATA_TABLE_HEADER_TEXT_STATUS: 'स्थति',\r\n DATA_TABLE_HEADER_TEXT_POLICY_START_DATE: 'पॉलिसी की प्रारंभ तिथि',\r\n DATA_TABLE_HEADER_TEXT_POLICY_EXPIRATION_DATE: 'पॉलिसी की समाप्ति तिथि',\r\n DATA_TABLE_HEADER_TEXT_SPECIALITY: 'स्पेशलिटी',\r\n DATA_TABLE_HEADER_TEXT_PROFESSIONAL_NAME: \"पेशेवर का नाम\",\r\n DATA_TABLE_HEADER_TEXT_FULL_ADDRESS: 'पूरा पता',\r\n DATA_TABLE_HEADER_TEXT_EMAIL_ADDRESS: 'ई-मेल एड्रेस',\r\n DATA_TABLE_HEADER_TEXT_CONTACT_NUMBER: 'संपर्क नंबर 1',\r\n DATA_TABLE_HEADER_TEXT_LAST_EXAM_DATE: 'अंतिम परीक्षा तिथि',\r\n DATA_TABLE_HEADER_TEXT_NEXT_EXAM_DATE: 'अगली परीक्षा तिथि',\r\n PLACEHOLDER_SELECT_BLOOD_GROUP: 'ब्लड ग्रुप का चयन करें',\r\n PLACEHOLDER_SELECT_RELATIONSHIP: 'संबंध चुनें',\r\n SECTION_HEADING_MY_DEMOGRAPHICS: 'मेरी जनसांख्यिकी',\r\n SECTION_HEADING_MEDICAL_HISTORY: 'चिकित्सा का इतिहास',\r\n SECTION_HEADING_MY_INSURANCE_INFORMATION: 'मेरी बीमा जानकारी',\r\n SECTION_HEADING_MY_HEALTH_PROVIDERS: 'मेरे स्वास्थ्य प्रदाता',\r\n TAB_HEADING_MY_DEMOGRAPHICS: 'मेरा जनसांख्यिकी और चिकित्सा इतिहास',\r\n TAB_HEADING_GENERAL_MANAGEMENT: 'सामान्य प्रबंधन',\r\n TAB_HEADING_MEDICATIONS: 'दवाएं',\r\n TAB_HEADING_MY_VACCINATION_RECORD: 'मेरा टीकाकरण रिकॉर्ड',\r\n TOOLTIPTEXT_CONTROL_LABEL_GENERAL_MEDICAL_HISTORY: 'ये क्षेत्र वैकल्पिक हैं। अपनी सर्वश्रेष्ठ क्षमता में प्रवेश करें.',\r\n FORM_DESCRIPTION: 'यह फ़ॉर्म आपके स्वास्थ्य व्यवस्थापक के पास जाने पर आपको कागज़ से छुटकारा दिलाता है। उनके पास आपके स्वास्थ्य पर एक उल्लेखनीय दृष्टि होती है।',\r\n TOOLTIP_TEXT_BLOOD_GROUP: 'अपना रक्त समूह चुनें',\r\n TOOLTIP_TEXT_ORGAN_DONOR: 'आपकी मौत के मामले में, अगर आपने अंगदानकर्ता के रूप में हाँ चुना है, तो आपके परिवार को आवश्यक दान और अंतिम अंतिम कार्यों के लिए इस सूचना को देख सकता है',\r\n TOOLTIP_TEXT_ALLERGIES: 'यह उन लोगों के लिए है जो दवाओं, खाद्य और अन्य मौसमी एलर्जी के लिए बहुत बुरी प्रतिक्रिया प्राप्त करते हैं',\r\n TOOLTIP_TEXT_EMERGENCY_CONTACT_INFO: 'आपातकालीन समय में तत्काल परिवार के सदस्य की जानकारी',\r\n TOOLTIP_TEXT_RELATIONSHIP_TO_EMERGENCY_CONTACT: 'आपातकालीन समय में तत्काल परिवार के सदस्य के संबंध की जानकारी',\r\n TOOLTIP_TEXT_EMERGENCY_CONTACT_MOBILE: 'आपातकालीन समय में संपर्क करने के लिए किसी के मोबाइल नंबर को क्षेत्र कोड के साथ दर्ज करें',\r\n TOAST_MESSAGE_ESSENTIAL_ADDED_SUCCESSFULLY: 'रिकॉर्ड सफलतापूर्वक जोड़ा गया',\r\n TOAST_MESSAGE_ESSENTIAL_UPDATED_SUCCESSFULLY: 'रिकॉर्ड सफलतापूर्वक अपडेट किया गया',\r\n },\r\n MY_MEDICATION: {\r\n BUTTON_TEXT_ADD_A_MEDICATION: 'एक दवा जोड़ें',\r\n DATA_TABLE_HEADER_TEXT_MEDICATION_NAME: 'दवा का नाम',\r\n DATA_TABLE_HEADER_TEXT_CONDITION_FOR: 'परिस्थिति',\r\n DATA_TABLE_HEADER_TEXT_DOSAGE: 'मात्रा निर्धारण',\r\n DATA_TABLE_HEADER_TEXT_FREQUENCY: 'आवृत्ति',\r\n DATA_TABLE_HEADER_TEXT_PRESCRIBED_BY: 'निर्धारित',\r\n DATA_TABLE_HEADER_TEXT_LAST_REFILL_DATE: 'अंतिम रिफिल तिथि',\r\n DATA_TABLE_HEADER_TEXT_NEXT_REFILL_DATE: 'अगली रिफिल तिथि',\r\n DATA_TABLE_HEADER_TEXT_ACTIONS: 'कार्रवाई',\r\n SECTION_HEADING_MY_MEDICATIONS: 'मेरी दवाएं',\r\n },\r\n MY_VACCINATION: {\r\n BUTTON_TEXT_ADD_A_VACCINATION: 'एक टीकाकरण जोड़ें',\r\n BUTTON_TEXT_ADD_AN_AWARD: 'एक पुरस्कार जोड़ें',\r\n BUTTON_TEXT_ADD_AN_ACHIEVEMENT: 'एक उपलब्धि जोड़ें',\r\n BUTTON_TEXT_CANCEL: 'रद्द करें',\r\n BUTTON_TEXT_ADD_AN_EDUCATIONAL_ACHIEVEMENT: 'एक शैक्षिक उपलब्धि जोड़ें',\r\n BUTTON_TEXT_ADD_AN_PROFESSIONAL_ACHIEVEMENT: 'एक व्यावसायिक उपलब्धि जोड़ें',\r\n BUTTON_TEXT_ADD_AN_MISCELLANEOUS_ACHIEVEMENT: 'एक विविध उपलब्धि जोड़ें',\r\n CONTROL_LABEL_NAME_OF_THE_AWARD: 'पुरस्कार का नाम',\r\n CONTROL_LABEL_NAME_OF_THE_ACHIEVEMENT: 'उपलब्धि का नाम',\r\n CONTROL_LABEL_OCCASION: 'अवसर',\r\n CONTROL_LABEL_DATE_RECEIVED: 'प्राप्ति दिनांक',\r\n CONTROL_LABEL_OCCASION_NOTES: 'अवसर नोट्स',\r\n DIALOG_TITLE_ADD_ACHIEVEMENT: 'एक उपलब्धि जोड़ें',\r\n DIALOG_TITLE_EDIT_ACHIEVEMENT: 'एक उपलब्धि संपादित करें',\r\n DIALOG_TITLE_ADD_EDUCATIONAL_ACHIEVEMENT: 'एक शैक्षिक उपलब्धि जोड़ें',\r\n DIALOG_TITLE_ADD_PROFESSIONAL_ACHIEVEMENT: 'एक व्यावसायिक उपलब्धि जोड़ें',\r\n DIALOG_TITLE_ADD_MISCELLANEOUS_ACHIEVEMENT: 'एक विविध उपलब्धि जोड़ें',\r\n DATA_TABLE_HEADER_TEXT_VACCINATION_NAME: 'टीकाकरण का नाम',\r\n DATA_TABLE_HEADER_TEXT_VACCINATION_TYPE: 'टीकाकरण का प्रकार',\r\n DATA_TABLE_HEADER_TEXT_LAST_DOSAGE_DATE: 'अंतिम खुराक की तारीख',\r\n DATA_TABLE_HEADER_TEXT_NEXT_DOSAGE_DATE: 'अगली खुराक की तारीख',\r\n DATA_TABLE_HEADER_TEXT_ACTIONS: 'कार्रवाई',\r\n DATA_TABLE_HEADER_TEXT_NAME_OF_THE_AWARD: 'पुरस्कार का नाम',\r\n DATA_TABLE_HEADER_TEXT_NAME_OF_THE_ACHIEVEMENT: 'उपलब्धि का नाम',\r\n DATA_TABLE_HEADER_TEXT_OCCASION: 'अवसर',\r\n DATA_TABLE_HEADER_TEXT_OCCASION_NOTES: 'अवसर नोट्स',\r\n DATA_TABLE_HEADER_TEXT_DATE_RECEIVED: 'प्राप्ति दिनांक',\r\n ERROR_MESSAGE_REQUIRED_ACHIEVEMENT_NAME: 'उपलब्धि का नाम आवश्यक है!',\r\n SECTION_HEADING_MY_AWARDS: 'मेरे पुरस्कार',\r\n SECTION_HEADING_MY_ACHIEVEMENT: 'मेरी उपलब्धियाँ',\r\n SECTION_HEADING_MY_EDUCATIONAL_ACHIEVEMENT: 'मेरी शैक्षिक उपलब्धियां',\r\n SECTION_HEADING_MY_PROFESSIONAL_ACHIEVEMENT: 'मेरी व्यावसायिक उपलब्धियां',\r\n SECTION_HEADING_MY_MISCELLANEOUS_ACHIEVEMENT: 'मेरी विविध उपलब्धियां',\r\n SECTION_TEXT: 'अपनी उपलब्धियों के बारे में कुछ जानकारी जोड़ें',\r\n SECTION_HEADING_MY_VACCINATION_RECORD: 'मेरा टीकाकरण रिकॉर्ड',\r\n TOOLTIP_TOGGLE_CALENDAR: 'कैलेंडर टॉगल करें',\r\n TOAST_MESSAGE_ACHIEVEMENT_ADDED_SUCCESSFULLY: 'उपलब्धि सफलतापूर्वक जोड़ी गई',\r\n TOAST_MESSAGE_ACHIEVEMENT_UPDATED_SUCCESSFULLY: 'उपलब्धि सफलतापूर्वक अपडेट की गई',\r\n TAB_HEADING_MY_AWARDS: 'मेरे पुरस्कार',\r\n TAB_HEADING_MY_ACHIEVEMENT: 'मेरी उपलब्धियाँ',\r\n },\r\n MY_AWARDS_ACHIEVEMENT: {\r\n BUTTON_TEXT_ADD_AN_ACHIEVEMENT: 'एक उपलब्धि जोड़ें',\r\n BUTTON_TEXT_CANCEL: 'रद्द करें',\r\n BUTTON_TEXT_ADD_AN_EDUCATIONAL_ACHIEVEMENT: 'एक शैक्षिक उपलब्धि जोड़ें',\r\n BUTTON_TEXT_ADD_AN_PROFESSIONAL_ACHIEVEMENT: 'एक व्यावसायिक उपलब्धि जोड़ें',\r\n BUTTON_TEXT_ADD_AN_MISCELLANEOUS_ACHIEVEMENT: 'एक विविध उपलब्धि जोड़ें',\r\n BUTTON_TEXT_ADD_AN_AWARD: 'एक पुरस्कार जोड़ें',\r\n CONTROL_LABEL_NAME_OF_THE_AWARD: 'पुरस्कार का नाम',\r\n CONTROL_LABEL_NAME_OF_THE_ACHIEVEMENT: 'उपलब्धि का नाम',\r\n CONTROL_LABEL_OCCASION: 'अवसर',\r\n CONTROL_LABEL_DATE_RECEIVED: 'प्राप्ति दिनांक',\r\n CONTROL_LABEL_OCCASION_NOTES: 'अवसर नोट्स',\r\n DIALOG_TITLE_ADD_ACHIEVEMENT: 'एक उपलब्धि जोड़ें',\r\n DIALOG_TITLE_EDIT_ACHIEVEMENT: 'एक उपलब्धि संपादित करें',\r\n DIALOG_TITLE_ADD_EDUCATIONAL_ACHIEVEMENT: 'एक शैक्षिक उपलब्धि जोड़ें',\r\n DIALOG_TITLE_ADD_PROFESSIONAL_ACHIEVEMENT: 'एक व्यावसायिक उपलब्धि जोड़ें',\r\n DIALOG_TITLE_ADD_MISCELLANEOUS_ACHIEVEMENT: 'एक विविध उपलब्धि जोड़ें',\r\n DATA_TABLE_HEADER_TEXT_NAME_OF_THE_AWARD: 'पुरस्कार का नाम',\r\n DATA_TABLE_HEADER_TEXT_NAME_OF_THE_ACHIEVEMENT: 'उपलब्धि का नाम',\r\n DATA_TABLE_HEADER_TEXT_OCCASION: 'अवसर',\r\n DATA_TABLE_HEADER_TEXT_OCCASION_NOTES: 'अवसर नोट्स',\r\n DATA_TABLE_HEADER_TEXT_DATE_RECEIVED: 'प्राप्ति दिनांक',\r\n DATA_TABLE_HEADER_TEXT_ACTIONS: 'कार्रवाई',\r\n ERROR_MESSAGE_REQUIRED_ACHIEVEMENT_NAME: 'उपलब्धि का नाम आवश्यक है!',\r\n SECTION_HEADING_MY_ACHIEVEMENT: 'मेरी उपलब्धियाँ',\r\n SECTION_HEADING_MY_EDUCATIONAL_ACHIEVEMENT: 'मेरी शैक्षिक उपलब्धियाँ',\r\n SECTION_HEADING_MY_PROFESSIONAL_ACHIEVEMENT: 'मेरी व्यावसायिक उपलब्धियाँ',\r\n SECTION_HEADING_MY_MISCELLANEOUS_ACHIEVEMENT: 'मेरी विविध उपलब्धियाँ',\r\n SECTION_HEADING_MY_AWARDS: 'मेरे पुरस्कार',\r\n SECTION_TEXT: 'अपनी उपलब्धियों के बारे में कुछ जानकारी जोड़ें',\r\n TAB_HEADING_MY_AWARDS: 'मेरे पुरस्कार',\r\n TAB_HEADING_MY_ACHIEVEMENT: 'मेरी उपलब्धि',\r\n TOOLTIP_TOGGLE_CALENDAR: 'कैलेंडर टॉगल करें',\r\n TOOLTIP_TEXT_ACHIEVEMENT_NAME: 'उपलब्धि का नाम दर्ज करें',\r\n TOOLTIP_TEXT_OCCASION_EVENT_NAME: 'वह अवसर या कार्यक्रम का नाम दर्ज करें जहाँ आपने उपलब्धि पूरी की',\r\n TOOLTIP_TEXT_ACHIEVEMENT_DATE: 'वह तारीख दर्ज करें जब उपलब्धि पूरी हुई थी',\r\n TOOLTIP_TEXT_ACHIEVEMENT_NOTES: 'इस उपलब्धि के बारे में कोई विशेष नोट्स दर्ज करें',\r\n TOAST_MESSAGE_ACHIEVEMENT_ADDED_SUCCESSFULLY: 'उपलब्धि सफलतापूर्वक जोड़ी गई',\r\n TOAST_MESSAGE_ACHIEVEMENT_UPDATED_SUCCESSFULLY: 'उपलब्धि सफलतापूर्वक अपडेट की गई',\r\n },\r\n MY_MEDICATION_FORM: {\r\n BUTTON_TEXT_ADD_A_MEDICATION: 'एक दवा जोड़ें',\r\n BUTTON_TEXT_CANCEL: 'रद्द करें',\r\n CONTROL_LABEL_MEDICATION_NAME: 'दवा का नाम',\r\n CONTROL_LABEL_CONDITION_FOR: 'परिस्थिति',\r\n CONTROL_LABEL_DOSAGE: 'मात्रा निर्धारण',\r\n CONTROL_LABEL_FREQUENCY: 'आवृत्ति',\r\n CONTROL_LABEL_PRESCRIBED_BY: 'निर्धारित',\r\n CONTROL_LABEL_REFILL_DURATION: 'रिफिल अवधि',\r\n CONTROL_LABEL_LAST_REFILL_DATE: 'अंतिम रिफिल तिथि',\r\n CONTROL_LABEL_NEXT_REFILL_DATE: 'अगली रिफिल तिथि',\r\n ERROR_MESSAGE_REQUIRED_MEDICATION_NAME: 'दवा का नाम आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_CONDITION_FOR: 'परिस्थिति आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_FREQUENCY: 'आवृत्ति आवश्यक है!',\r\n CONTROL_LABEL_NOTES: 'टिप्पणियाँ',\r\n DIALOG_TITLE_ADD_MEDICATION: 'एक दवा जोड़ें',\r\n PLACEHOLDER_SELECT_PROFESSIONAL_NAME: \"प्रोफ़ेशनल का नाम चुनें\",\r\n PLACEHOLDER_SELECT_REFILL_DURATION: 'रिफिल अवधि का चयन करें',\r\n SECTION_TEXT: 'अपनी दवाओं के बारे में कुछ जानकारी जोड़ें',\r\n TOOLTIP_TOGGLE_CALENDAR: 'कैलेंडर टॉगल करें',\r\n TOOLTIP_TEXT_MEDICATION_NAME: 'दवा का नाम जो आपको निर्धारित किया गया है या आप ले रहे हैं',\r\n TOOLTIP_TEXT_MEDICAL_CONDITION: 'वह चिकित्सा अवस्था या लक्षण जिसका उपचार या रोकथाम के लिए दवा का उपयोग किया जाता है',\r\n TOOLTIP_TEXT_AMOUNT_OF_MEDICATION: 'एक बार में दी जाने वाली या ली जाने वाली दवा की मात्रा',\r\n TOOLTIP_TEXT_MEDICATION_FREQUENCY: 'दिन में या हफ्ते में दवा दी जाने या ली जाने की बार या अंतराल की संख्या',\r\n TOOLTIP_TEXT_PRESCRIBING_DOCTOR: 'डॉक्टर या स्वास्थ्य सेवा प्रदाता का नाम जिसने आपको इस दवा का निर्धारण किया है',\r\n TOOLTIP_TEXT_REFILL_SUPPLY_DURATION: 'अगली रिफ़िल आपूर्ति तक कितने दिन / हफ्ते / महीने',\r\n TOOLTIP_TEXT_LAST_SUPPLY_DATE: 'तारीख जब आपने अपनी अंतिम बार फार्मेसी या स्वास्थ्य सेवा प्रदाता से दवा की नई आपूर्ति प्राप्त की थी',\r\n TOOLTIP_TEXT_NEXT_SUPPLY_DATE: 'तारीख जब आपको फार्मेसी या स्वास्थ्य सेवा प्रदाता से दवा की नई आपूर्ति की आवश्यकता होगी',\r\n TOOLTIP_TEXT_MEDICATION_NOTES: 'इस दवा के लिए आपके पास कोई विशेष नोट्स जोड़ें',\r\n DIALOG_TITLE_EDIT_MEDICATION: 'एक दवा संपादित करें',\r\n TOAST_MESSAGE_MEDICATION_ADDED_SUCCESSFULLY: 'दवा सफलतापूर्वक जोड़ी गई',\r\n TOAST_MESSAGE_MEDICATION_UPDATED_SUCCESSFULLY: 'दवा सफलतापूर्वक अपडेट की गई'\r\n\r\n },\r\n AWARD: {\r\n BUTTON_TEXT_ADD_AN_AWARD: 'एक पुरस्कार जोड़ें',\r\n BUTTON_TEXT_CANCEL: 'रद्द करें',\r\n CONTROL_LABEL_NAME_OF_THE_AWARD: 'पुरस्कार का नाम',\r\n CONTROL_LABEL_OCCASION: 'अवसर',\r\n CONTROL_LABEL_DATE_RECEIVED: 'प्राप्ति दिनांक',\r\n CONTROL_LABEL_OCCASION_NOTES: 'अवसर नोट्स',\r\n DIALOG_TITLE_ADD_AWARD: 'एक पुरस्कार जोड़ें',\r\n DIALOG_TITLE_EDIT_AWARD: 'एक पुरस्कार संपादित करें',\r\n ERROR_MESSAGE_REQUIRED_AWARD_NAME: 'पुरस्कार का नाम आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_OCCASION: 'अवसर की आवश्यकता है!',\r\n ERROR_MESSAGE_REQUIRED_DATE_RECEIVED: 'प्राप्त तिथि आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_OCCASION_NOTES: 'अवसर नोट्स आवश्यक है!',\r\n SECTION_TEXT: 'अपने पुरस्कारों के बारे में कुछ जानकारी जोड़ें',\r\n TOOLTIP_TOGGLE_CALENDAR: 'कैलेंडर टॉगल करें',\r\n TOOLTIP_TEXT_AWARD_NAME: 'पुरस्कार का नाम दर्ज करें',\r\n TOOLTIP_TEXT_OCCASION_EVENT_NAME: 'उस अवसर या इवेंट का नाम दर्ज करें जहां आपको पुरस्कार प्राप्त हुआ था',\r\n TOOLTIP_TEXT_AWARD_DATE: 'पुरस्कार प्राप्त की गई तिथि दर्ज करें',\r\n TOOLTIP_TEXT_AWARD_NOTES: 'इस पुरस्कार के बारे में कोई विशेष नोट्स दर्ज करें',\r\n TOAST_MESSAGE_AWARD_ADDED_SUCCESSFULLY: 'पुरस्कार सफलतापूर्वक जोड़ा गया',\r\n TOAST_MESSAGE_AWARD_UPDATED_SUCCESSFULLY: 'पुरस्कार सफलतापूर्वक अपडेट किया गया'\r\n },\r\n MY_VACCINATION_FORM: {\r\n BUTTON_TEXT_ADD_A_VACCINATION: 'टीकाकरण जोड़ें',\r\n BUTTON_TEXT_CANCEL: 'रद्द करें',\r\n CONTROL_LABEL_VACCINATION_NAME: 'टीकाकरण का नाम',\r\n CONTROL_LABEL_OTHER: 'अन्य',\r\n CONTROL_LABEL_VACCINATION_TYPE: 'टीकाकरण का प्रकार',\r\n CONTROL_LABEL_LAST_DOSAGE_DATE: 'अंतिम खुराक की तारीख',\r\n CONTROL_LABEL_NEXT_DOSAGE_DATE: 'अगली खुराक की तारीख',\r\n CONTROL_LABEL_NOTES: 'टिप्पणियाँ',\r\n DIALOG_TITLE_ADD_VACCINATION: 'एक टीकाकरण जोड़ें',\r\n ERROR_MESSAGE_REQUIRED_VACCINATION_NAME: 'टीकाकरण का नाम आवश्यक है!',\r\n PLACEHOLDER_SELECT_VACCINATION_NAME: \"टीकाकरण का नाम चुनें\",\r\n SECTION_TEXT: 'अपने टीकाकरण के बारे में कुछ जानकारी जोड़ें',\r\n TOOLTIP_TOGGLE_CALENDAR: 'कैलेंडर टॉगल करें',\r\n TOOLTIP_INFO_VACCINATION_NAME: 'आपके द्वारा दी गई या ली गई वैक्सीन का नाम',\r\n TOOLTIP_INFO_VACCINATION_TYPE: 'कुछ टीकों के लिए कई खुराकें और बूस्टर शॉट्स की आवश्यकता होती है; आप उन्हें व्यक्तिगत रूप से #1 या #2 के रूप में जोड़ सकते हैं',\r\n TOOLTIP_INFO_LAST_DOSAGE: 'तारीख जब मरीज ने स्वास्थ्य सेवा प्रदाता से वैक्सीन की अंतिम खुराक प्राप्त की थी',\r\n TOOLTIP_INFO_NEXT_DOSAGE: 'तारीख जब मरीज को स्वास्थ्य सेवा प्रदाता से वैक्सीन की अगली खुराक प्राप्त करनी है',\r\n TOOLTIP_INFO_VACCINATION_NOTES: 'इस टीकाकरण रिकॉर्ड के बारे में कोई अन्य नोट्स जोड़ें, जैसे लक्षण, प्रतिक्रियाएँ आदि',\r\n DIALOG_TITLE_EDIT_VACCINATION: 'टीकाकरण संपादित करें',\r\n ERROR_MESSAGE_REQUIRED_OTHER: '\"अन्य\" आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_VACCINATION_TYPE: 'टीकाकरण प्रकार आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_LAST_DOSAGE_DATE: 'अंतिम खुराक की तिथि आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_NEXT_DOSAGE_DATE: 'अगली खुराक की तिथि आवश्यक है!',\r\n TOAST_MESSAGE_VACCINATION_ADDED_SUCCESSFULLY: 'टीकाकरण सफलतापूर्वक जोड़ा गया',\r\n TOAST_MESSAGE_VACCINATION_UPDATED_SUCCESSFULLY: 'टीकाकरण सफलतापूर्वक अपडेट किया गया'\r\n\r\n },\r\n MY_FAMILIES: {\r\n BUTTON_TEXT_SEARCH_ON_MAP: 'मानचित्र पर खोजें',\r\n BUTTON_TEXT_ADD_AN_OWN_FAMILY_MEMBER: 'अपने परिवार के सदस्य को जोड़ें',\r\n BUTTON_TEXT_ADD_A_BIRTH_FAMILY_MEMBER: 'जन्म परिवार सदस्य जोड़ें',\r\n BUTTON_TEXT_ADD_AN_OTHER_FAMILY_MEMBER: 'अन्य परिवार के सदस्य को जोड़ें',\r\n BUTTON_TEXT_ADD_A_FRIEND: 'मित्र को जोड़ें',\r\n BUTTON_TEXT_ADD_OWN_FAMILY: 'एक परिवार के सदस्य को जोड़ें',\r\n BUTTON_TEXT_ADD_BIRTH_FAMILY: 'एक जन्म परिवार सदस्य जोड़ें',\r\n BUTTON_TEXT_ADD_OTHER_FAMILY: 'एक सदस्य अन्य परिवार जोड़ें',\r\n CONTROL_LABEL_FIRST_NAME: 'पहला नाम',\r\n CONTROL_LABEL_MIDDLE_NAME: 'मध्य नाम',\r\n CONTROL_LABEL_LAST_NAME: 'उपनाम',\r\n CONTROL_LABEL_DOB: 'जन्म की तारीख',\r\n CONTROL_LABEL_CONTACT1: 'संपर्क संख्या 1',\r\n CONTROL_LABEL_CONTACT2: 'वैकल्पिक संपर्क संख्या',\r\n CONTROL_LABEL_ADDRESS1: 'सड़क का नाम',\r\n CONTROL_LABEL_ADDRESS2: 'पता पंक्ति 2',\r\n CONTROL_LABEL_ADDRESS3: 'पता पंक्ति 3',\r\n CONTROL_LABEL_REGION: 'क्षेत्र',\r\n CONTROL_LABEL_COUNTRY: 'देश',\r\n CONTROL_LABEL_ADDRESS_STATE: 'राज्य',\r\n CONTROL_LABEL_ADDRESS_TOWN: 'टाउन / शहर',\r\n CONTROL_LABEL_ADDRESS_POSTALCODE: 'पोस्ट / ज़िप कोड',\r\n CONTROL_LABEL_RELATIONSHIP: 'रिश्ता',\r\n CONTROL_LABEL_EMAIL_ADDRESS: 'ई-मेल एड्रेस',\r\n CONTROL_LABEL_PERSONAL_URL: 'व्यक्तिगत वेब यूआरएल',\r\n CONTROL_LABEL_NOOSOM_URL: 'नोमसोम वेब यूआरएल',\r\n DATA_TABLE_HEADER_TEXT_FIRST_NAME: 'पहला नाम',\r\n DATA_TABLE_HEADER_TEXT_LAST_NAME: 'सरनेम',\r\n DATA_TABLE_HEADER_TEXT_DATE_OF_BIRTH: 'जन्म की तारीख',\r\n DATA_TABLE_HEADER_TEXT_RELATIONSHIP: 'रिश्ता',\r\n DATA_TABLE_HEADER_TEXT_EMAIL_ADDRESS: 'ई-मेल एड्रेस',\r\n DATA_TABLE_HEADER_TEXT_PERSONAL_WEB_URL: 'व्यक्तिगत वेब यूआरएल',\r\n DATA_TABLE_HEADER_TEXT_NOOSOM_WEB_URL: 'नोमसोम वेब यूआरएल',\r\n DATA_TABLE_HEADER_TEXT_LINKED: 'लिंक किया गया?',\r\n DIALOG_TITLE_ADD_OWN_FAMILY_MEMBERS: 'अपने परिवार के सदस्यों को जोड़ें',\r\n DIALOG_TITLE_ADD_BIRTH_FAMILY_MEMBERS: 'एक जन्म परिवार सदस्य जोड़ें',\r\n DIALOG_TITLE_ADD_OTHER_FAMILY_MEMBERS: 'एक सदस्य अन्य परिवार जोड़ें',\r\n DIALOG_TITLE_ADD_A_FRIEND: 'एक मित्र जोड़ना',\r\n DIALOG_TITLE_EDIT_A_FRIEND: 'एक मित्र संपादित करें',\r\n DIALOG_TITLE_EDIT_FAMILY_MEMBERS: 'एक परिवार के सदस्य को संपादित करें',\r\n PLACEHOLDER_SELECT_REGION: 'क्षेत्र चुनें',\r\n PLACEHOLDER_SELECT_COUNTRY: 'देश चुनें',\r\n PLACEHOLDER_SELECT_STATE: 'राज्य चुनें',\r\n SECTION_HEADING_MY_OWN_FAMILY: 'मेरा अपना परिवार',\r\n SECTION_HEADING_MY_BIRTH_FAMILY: 'मेरा जन्म परिवार',\r\n SECTION_HEADING_MY_OTHER_FAMILY: 'मेरा अन्य परिवार',\r\n SECTION_HEADING_MY_FRIEND: 'मेरे मित्र',\r\n SECTION_TEXT: 'अपने परिवार के सदस्य के बारे में जानकारी जोड़ें। यदि उनके पास हमारे साथ नुसम प्रोफ़ाइल नहीं है, तो आप उन्हें एक ईमेल भेजकर नुसम खाता बनाने के लिए आमंत्रित कर सकते हैं।',\r\n SECTION_TEXT_FRIEND: 'अपने मित्र के बारे में जानकारी जोड़ें। यदि उनके पास हमारे साथ नुसम प्रोफ़ाइल नहीं है, तो आप उन्हें एक ईमेल भेजकर नुसम खाता बनाने के लिए आमंत्रित कर सकते हैं।',\r\n TOAST_MESSAGE_FAMILY_UPDATED_SUCCESSFULLY: 'परिवार के सदस्य को सफलतापूर्वक अपडेट किया गया',\r\n TOAST_MESSAGE_FAMILY_ADDED_SUCCESSFULLY: 'परिवार के सदस्य को सफलतापूर्वक जोड़ा गया',\r\n TOAST_MESSAGE_FRIEND_UPDATED_SUCCESSFULLY: 'मित्र सफलतापूर्वक अपडेट किया गया',\r\n TOAST_MESSAGE_FRIEND_ADDED_SUCCESSFULLY: 'मित्र सफलतापूर्वक जोड़ा गया',\r\n TOAST_MESSAGE_CONNECTION_MAIL_SUCCESSFULLY: 'कनेक्शन मेल सफलतापूर्वक भेजा गया।',\r\n TOOLTIP_BIRTH_FAMILY: \"माँ, पिताजी, दादी, दादा, भाई, बहन\",\r\n TOOLTIP_OWN_FAMILY: \"पति, पत्नी, बच्चे\",\r\n TOOLTIP_OTHER_FAMILY: \"भाई, बहन, विस्तारित परिवार\",\r\n TOOLTIP_TEXT_FIRST_NAME: 'पहला नाम दर्ज करें',\r\n TOOLTIP_TEXT_MIDDLE_NAME: 'यदि आपके पास कोई भी मध्य नाम हैं तो उन्हें दर्ज करें',\r\n TOOLTIP_TEXT_LAST_NAME: 'अंतिम नाम दर्ज करें',\r\n TOOLTIP_TEXT_DATE_OF_BIRTH: 'जन्म की तारीख दर्ज करें',\r\n TOOLTIP_TEXT_RELATIONSHIP: 'यह व्यक्ति आपसे कैसे संबंधित है? क्या वे आपकी मां, पिता, बहन(ओं) या भाई(ओं) हैं?',\r\n TOOLTIP_TEXT_EMAIL: 'परिवार के सदस्य का ईमेल पता दर्ज करें',\r\n TOOLTIP_TEXT_FRIENDS_EMAIL: 'मित्र के सदस्य का ईमेल पता दर्ज करें',\r\n TOOLTIP_TEXT_PERSONAL_URL: 'यह परिवार के सदस्य का व्यक्तिगत वेब URL या उनका कंपनी / व्यापार URL है',\r\n TOOLTIP_TEXT_NOOSOM_URL: 'परिवार के सदस्य का Noosom URL दर्ज करें ताकि उन्हें उनका Noosom ब्लॉग देखने के लिए कनेक्शन लिंक भेजा जा सके',\r\n TOOLTIP_TEXT_MOBILE: 'क्षेत्र कोड के साथ मोबाइल नंबर दर्ज करें',\r\n TOOLTIP_TEXT_ALTERNATE_CONTACT: 'क्षेत्र कोड के साथ एक वैकल्पिक संपर्क नंबर दर्ज करें',\r\n TOOLTIP_TEXT_STREET_NAME: 'यह स्थान को सटीकता से मैप करने के लिए एक आवश्यक फ़ील्ड है; कृपया सड़क का नाम सही दर्ज करें',\r\n TOOLTIP_TEXT_ADDITIONAL_LOCATION_FIELD_1: 'यह और अधिक सटीक स्थान के मैपिंग के लिए एक अतिरिक्त फ़ील्ड है',\r\n TOOLTIP_TEXT_ADDITIONAL_LOCATION_FIELD_2: 'यह और अधिक सटीक स्थान के मैपिंग के लिए एक अतिरिक्त फ़ील्ड है',\r\n TOOLTIP_TEXT_TOWN_VILLAGE_CITY: 'पते के गाँव, गाँव या शहर दर्ज करें',\r\n TOOLTIP_TEXT_POSTAL_ZIPCODE: 'यह पते के देश के संबंधित पोस्टल ज़िपकोड है',\r\n TOOLTIP_TEXT_REGION_CONTINENT: 'पते का क्षेत्र या महाद्वीप चुनें; उदाहरण के लिए, संयुक्त राज्य यूनाइटेड किंगडम यूरोप में होगा',\r\n TOOLTIP_TEXT_COUNTRY: 'पते का देश चुनें; उदाहरण के लिए, इंग्लैंड यूरोप में होगा',\r\n TOOLTIP_TEXT_STATE_PROVINCE: 'पते का राज्य या प्रांत चुनें; उदाहरण के लिए, रोटुमा फिजी में एक राज्य या द्वीप है',\r\n TOOLTIP_TEXT_FAMILY_MEMBER_NOTES: 'इस परिवार के सदस्य के लिए आपके पास कोई अन्य नोट्स हो सकते हैं',\r\n TOOLTIP_TEXT_BIRTH_FAMILY_INFO: 'यह वह परिवार है जिसमें आप पैदा हुए थे, माँ, पिता, भाई, बहन, आदि',\r\n TOOLTIP_TEXT_OWN_FAMILY_INFO: 'आपका परिवार शादी द्वारा, पत्नी, पति, बच्चे, पोते-पोतियां',\r\n TOOLTIP_TEXT_OTHER_FAMILY_INFO: 'ससुराल वाले, चाची-चाचा, भतीजी-भतीजे आदि',\r\n TOOLTIP_TEXT_PERSONAL_URL1: 'यह आपके मित्र की व्यक्तिगत वेब यूआरएल या उनकी कंपनी/व्यवसाय की यूआरएल है',\r\n TOOLTIP_TEXT_NOOSOM_URL1: 'मित्र के Noosom यूआरएल को दर्ज करें ताकि उन्हें Noosom ब्लॉग देखने के लिए एक कनेक्शन लिंक भेजा जा सके',\r\n TOOLTIP_TEXT_CONNECTION_STATUS: 'कनेक्शन स्थिति'\r\n },\r\n MY_JOBS: {\r\n BUTTON_TEXT_ADD_A_NEW_JOBS: 'नई नौकरी जोड़ें',\r\n BUTTON_TEXT_SEARCH_ON_MAP: 'नक्शे पर खोजें',\r\n CONTROL_LABEL_JOB_DESCRIPTION: 'नौकरी का विवरण',\r\n CONTROL_LABEL_EMPLOYER: 'नियोक्ता',\r\n CONTROL_LABEL_ADDRESS1: 'पता 1',\r\n CONTROL_LABEL_ADDRESS2: 'पता 2',\r\n CONTROL_LABEL_ADDRESS3: 'पता 3',\r\n CONTROL_LABEL_DATE_FROM: 'तारीख से',\r\n CONTROL_LABEL_DATE_TO: 'तारीख तक',\r\n CONTROL_LABEL_REGION: 'क्षेत्र',\r\n CONTROL_LABEL_COUNTRY: 'देश',\r\n CONTROL_LABEL_ADDRESS_STATE: 'राज्य',\r\n CONTROL_LABEL_ADDRESS_TOWN: 'शहर/टाउन',\r\n CONTROL_LABEL_ADDRESS_POSTALCODE: 'पोस्टल कोड',\r\n CONTROL_LABEL_CURRENT_JOBS: 'वर्तमान नौकरियां',\r\n DATA_TABLE_HEADER_TEXT_EMPLOYER: 'नियोक्ता',\r\n DATA_TABLE_HEADER_TEXT_JOB_DESCRIPTION: 'नौकरी का विवरण',\r\n DATA_TABLE_HEADER_TEXT_DATE_FROM: 'तिथि से',\r\n DATA_TABLE_HEADER_TEXT_DATE_TO: 'तिथि तक',\r\n DATA_TABLE_HEADER_TEXT_ACTIONS: 'कार्रवाई',\r\n DATA_TABLE_HEADER_TEXT_ADDRESS: 'पता',\r\n DATA_TABLE_HEADER_TEXT_NOTES: 'टिप्पणियाँ',\r\n DIALOG_TITLE_EDIT_JOBS: 'जॉब संपादित करें',\r\n ERROR_MESSAGE_JOB_FROM_DATE_REQUIRED: 'तारीख से की आवश्यकता है!',\r\n ERROR_MESSAGE_DATE_TO_REQUIRED: 'तारीख तक की आवश्यकता है!',\r\n PLACEHOLDER_SELECT_REGION: 'क्षेत्र चुनें',\r\n PLACEHOLDER_SELECT_COUNTRY: 'देश चुनें',\r\n PLACEHOLDER_SELECT_STATE: 'राज्य चुनें',\r\n SECTION_HEADING_MY_JOB: 'मेरी नौकरियाँ',\r\n SECTION_TEXT_JOBS: 'अपनी पिछली नौकरियों या वर्तमान नौकरियों के बारे में जानकारी जोड़ें।',\r\n TOOLTIP_TEXT_EMPLOYER_NAME: 'अपने नियोक्ता या कंपनी का नाम दर्ज करें',\r\n TOOLTIP_TEXT_JOB_ROLE: 'इस नौकरी में आपकी भूमिका(ओं) के बारे में जानकारी दर्ज करें',\r\n TOOLTIP_TEXT_CURRENT_JOB: 'यदि वर्तमान है - इस बॉक्स को चेक करें',\r\n TOOLTIP_TEXT_JOB_START_DATE: 'नौकरी शुरू होने की तिथि दर्ज करें',\r\n TOOLTIP_TEXT_JOB_END_DATE: 'नौकरी समाप्त होने की तिथि दर्ज करें',\r\n TOOLTIP_TEXT_STREET_NAME: 'यह स्थान को सटीकता से मैप करने के लिए एक आवश्यक फ़ील्ड है; कृपया सड़क का नाम सही दर्ज करें',\r\n TOOLTIP_TEXT_ADDITIONAL_LOCATION_FIELD_1: 'यह और अधिक सटीक स्थान के मैपिंग के लिए एक अतिरिक्त फ़ील्ड है',\r\n TOOLTIP_TEXT_ADDITIONAL_LOCATION_FIELD_2: 'यह और अधिक सटीक स्थान के मैपिंग के लिए एक अतिरिक्त फ़ील्ड है',\r\n TOOLTIP_TEXT_TOWN_VILLAGE_CITY: 'पते के गाँव, गाँव या शहर दर्ज करें',\r\n TOOLTIP_TEXT_POSTAL_ZIPCODE: 'यह पते के देश के संबंधित पोस्टल ज़िपकोड है',\r\n TOOLTIP_TEXT_REGION_CONTINENT: 'पते का क्षेत्र या महाद्वीप चुनें; उदाहरण के लिए, संयुक्त राज्य यूनाइटेड किंगडम यूरोप में होगा',\r\n TOOLTIP_TEXT_COUNTRY: 'पते का देश चुनें; उदाहरण के लिए, इंग्लैंड यूरोप में होगा',\r\n TOOLTIP_TEXT_STATE_PROVINCE: 'पते का राज्य या प्रांत चुनें; उदाहरण के लिए, रोटुमा फिजी में एक राज्य या द्वीप है',\r\n TOOLTIP_TEXT_JOB_NOTES: 'इस नौकरी के लिए आपके पास कोई अन्य नोट्स दर्ज करें',\r\n WARNING_MESSAGE_SELECT_LOCATION: 'कृपया मानचित्र पर स्थान का चयन करें।',\r\n }\r\n }\r\n};\r\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'pt',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Não foi possível conectar com o servidor'\n },\n SIGNIN: {\n WELCOME_TEXT: 'Bem-vindo ao Noosom',\n MOTIVATION_BADGE_SIGNIN:'Faça login e comece a aventura',\n CONTROL_LABEL_EMAIL:'Endereço de email',\n CONTROL_LABEL_PASSWORD:'Senha',\n CONTROL_LABEL_REMEMBERME:'Lembre de mim',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Esqueceu sua senha?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Crie a sua conta aqui',\n TEXT_NEWONPLATFORM:'Novo em nossa plataforma?',\n BUTTON_TEXT_LOGIN:'Conecte-se',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Você fez login com sucesso como um usuário {0} no Noosom. Agora você pode começar a explorar. Apreciar! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Bem-vindo, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'O campo de e-mail!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'O campo de senha!',\n ERROR_MESSAGE_INVALID_EMAIL:'O e-mail deve ser um endereço de e-mail válido',\n ERROR_MESSAGE_NOATTEMPTS:'Nome de usuário ou senha inválidos. Não há tentativas restantes.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Seu endereço de e-mail não foi verificado.
primeiro varie seu endereço de e-mail.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Sua conta foi bloqueada.'},\n {ErrorCode:0,ErrorMessage:'Logado com sucesso.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Nome de usuário ou senha inválidos.
Você tem {0} tentativas restantes.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administrador'},{titlle:'Client',value:'Cliente'},{title:'User',value:'Do utilizador'}]\n },\n SIGNUP:\n {\n STEPPER_TITLE_ACCOUNT:'Conta',\n STEPPER_SUB_TITLE_ACCOUNT:'Insira nome de usuário',\n STEPPER_TITLE_PERSONAL:'Pessoal',\n STEPPER_SUB_TITLE_PERSONAL:'Insira as informações',\n HEADING_ACCOUNT:'Informação da conta',\n HEADING_PERSONAL:'Informação pessoal',\n HEADING_SELECTPLAN:'Selecione o plano',\n CONTROL_LABEL_USERID:'ID de usuário Noosom',\n CONTROL_LABEL_EMAILADDRESS:'Endereço de email',\n CONTROL_LABEL_PASSWORD:'Senha',\n CONTROL_LABEL_CONFIRMPASSWORD:'Confirme sua senha',\n CONTROL_LABEL_REGION:'Sua região',\n CONTROL_LABEL_HOMECOUNTRY:'Seu país de',\n CONTROL_LABEL_FIRSTNAME:'Primeiro nome',\n CONTROL_LABEL_MIDDLENAME:'Nome do meio',\n CONTROL_LABEL_LASTNAME:'Sobrenome',\n CONTROL_LABEL_BIRTHDATE:'Data de nascimento',\n CONTROL_LABEL_MOBILENO:'Celular não',\n CONTROL_LABEL_SELECTPLAN:'Grátis para sempre por agora, ou compre mais tarde.',\n PLACEHOLDER_TYPEHERE:'Digite aqui...',\n PLACEHOLDER_PASSWORD:'Senha',\n PLACEHOLDER_REGION:'Selecione a região',\n PLACEHOLDER_COUNTRY:'Selecione o pais',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Anterior',\n BUTTON_TEXT_NEXT:'Próxima',\n BUTTON_TEXT_SUBMIT:'Enviar',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Seus dados serão armazenados',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'na região selecionada',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'Selecione o país de',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Conta criada com sucesso.',\n ERROR_MESSAGE_REQUIRED_USERID:'O campo de nome de usuário!',\n ERROR_MESSAGE_EXISTED_USERID:'Esse nome de usuário foi usado. Por favor, tente outro.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'O campo de endereço de e-mail!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Esse endereço de e-mail foi usado. Por favor, tente outro.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'O campo de senha!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Deve conter pelo menos um número, uma letra maiúscula e uma minúscula e um mínimo de 8 ou mais caracteres.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'A senha repetida deve corresponder.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'O campo de confirmação de senha!',\n ERROR_MESSAGE_REQUIRED_REGION:'O campo região!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'O campo do país de!',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'O campo de nome!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'O campo de nome do meio!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'O campo sobrenome!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'O campo data de nascimento!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'O celular nenhum campo!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Selecione a opção de plano gratuito!'\n }\n }\n};\n","\n
\n
{{dialogTitle}} \n - {{userJob?.Employer| truncate:50}} \n \n \n \n
\n
\n \n
\n \n
\n
\n \n \n \n {{'ABOUTME.ERROR_MESSAGE_REQUIRED_EMPLOYER' |\n translate}}\n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_250' |\n translate}}\n \n
\n
\n \n \n \n {{'ABOUTME.ERROR_MESSAGE_REQUIRED_JOBDESCRIPTION' |\n translate}}\n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_250' |\n translate}}\n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n
\n \n
\n \n
\n
\n \n {{'MY_JOBS.ERROR_MESSAGE_JOB_FROM_DATE_REQUIRED'| translate}}\n \n
\n
\n
\n
\n \n
\n \n
\n \n
\n
\n \n {{'MY_JOBS.ERROR_MESSAGE_DATE_TO_REQUIRED'| translate}}\n \n
\n
\n
\n \n \n \n {{'ABOUTME.ERROR_MESSAGE_REQUIRED_STREET' |\n translate}}\n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_50' |\n translate}}\n \n
\n
\n \n \n \n \n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_50' |\n translate}}\n \n
\n
\n \n \n \n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_50' |\n translate}}\n \n
\n
\n \n \n \n {{'ABOUTME.ERROR_MESSAGE_REQUIRED_ADDRESSTOWN' |\n translate}}\n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_50' |\n translate}}\n \n
\n
\n \n \n \n {{'ABOUTME.ERROR_MESSAGE_REQUIRED_ADDRESSPOSTCODE' |\n translate}}\n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_50' |\n translate}}\n \n
\n
\n \n
\n
\n \n \n \n {{'ABOUTME.ERROR_MESSAGE_REQUIRED_ADDRESS_STATE'|translate}}\n \n
\n
\n \n \n \n {{'ABOUTME.ERROR_MESSAGE_REQUIRED_ADDRESS_COUNTRY'|translate}}\n \n
\n
\n \n \n \n {{'ABOUTME.ERROR_MESSAGE_REQUIRED_ADDRESS_REGION'|translate}}\n \n
\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n \n\n \n\n \n
\n
","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { locale as english } from '../i18n/en';\nimport { locale as french } from '../i18n/fr';\nimport { locale as german } from '../i18n/de';\nimport { locale as portuguese } from '../i18n/pt';\nimport { locale as gujarati } from '../i18n/gj';\nimport { locale as hindi } from '../i18n/hn';\nimport { CoreTranslationService } from '@core/services/translation.service';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { CoreConfigService } from '@core/services/config.service';\nimport { map, takeUntil } from 'rxjs/operators';\nimport { E } from 'assets/extensions/extensions';\nimport { AuthenticationService } from 'app/auth/service';\nimport { Status, Enums, MapModalType } from 'app/enums';\nimport { LoadingScreenService } from 'app/Services/loading-screen.service';\nimport { Observable, Subject, Subscription } from 'rxjs';\nimport { CustomToastrService } from 'app/Services/custom-toastr.service';\nimport { GlobalService } from 'app/Services/global.service';\nimport { Constant } from 'app/Classes/constant';\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\nimport { MapAddressComponent } from 'app/address/map-address/map-address.component';\nimport { MapAddressDataModel } from 'app/address/map-address/map-address-data-model.model';\nimport { TextBoxComponent } from 'app/CustomComponents/text-box/text-box.component';\nimport { JobLoadDataOutputModel, TblUserJobs } from '../about-me-model.model'\nimport { JobsService } from './jobs.service'\n@Component({\n selector: 'app-jobs',\n templateUrl: './jobs.component.html',\n styleUrls: ['./jobs.component.scss']\n})\nexport class JobsComponent implements OnInit {\n @ViewChild('Employer') Employer: TextBoxComponent;\n public coreConfig: any;\n public dialogTitle: string;\n public IsForEdit: boolean = false;\n currentAppLanguage: any;\n public loading = false;\n public submitted = false;\n public maxToDate: Date = new Date();\n public maxFromDate: Date = new Date();\n public PlaceholderState;\n public PlaceholderCountry;\n public PlaceholderRegion;\n private _unsubscribeAll: Subject;\n public frmJobs: FormGroup;\n _data: number = 0;\n public error = '';\n jobLoadDataOutputModel$: Observable;\n jobLoadDataOutputModel: JobLoadDataOutputModel;\n userJob: TblUserJobs;\n private subSaveJobs$: Subscription;\n infoTooltip: any;\n dateformat: string;\n constructor(\n private dialogRef: MatDialogRef,\n private jobsService: JobsService,\n private _toastrService: CustomToastrService,\n private _coreTranslationService: CoreTranslationService,\n private _coreConfigService: CoreConfigService,\n private modalService: NgbModal,\n private dialog: MatDialog,\n private authenticationService: AuthenticationService,\n private _formBuilder: FormBuilder,\n private loadingScreenService: LoadingScreenService,\n private globalService: GlobalService,\n private encrDecr: EncrDecrService,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) {\n this._coreTranslationService.translate(english, french, german, portuguese, gujarati, hindi);\n this._unsubscribeAll = new Subject();\n this._data = data;\n this.dateformat=this.globalService.getDateFormat().toUpperCase()\n }\n\n ngAfterContentInit(): void {\n setTimeout(() => {\n if (this.Employer)\n this.Employer.textBox.nativeElement.focus();\n }, 500);\n }\n\n ngOnInit(): void {\n this.userJob = new TblUserJobs();\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n this.currentAppLanguage = this.GetCurrentLanguageJsonObject(this.coreConfig.app.appLanguage);\n this.dialogTitle = this.currentAppLanguage.data.MY_JOBS.BUTTON_TEXT_ADD_A_NEW_JOBS;\n this.infoTooltip= this.currentAppLanguage.data.MY_JOBS.SECTION_TEXT_JOBS;\n this.frmJobs = this._formBuilder.group({\n Employer: ['', Validators.required],\n JobDescription: ['', Validators.required],\n CurrentJobYn: [],\n Address1: ['', Validators.required],\n Address2: [''],\n Address3: [''],\n AddressTown: ['', Validators.required],\n StateId: [, Validators.required],\n AddressPostCode: ['', Validators.required],\n CountryId: [, Validators.required],\n RegionId: [, Validators.required],\n JobFromDate: [, Validators.required],\n JobToDate: [],\n Notes: []\n });\n\n\n if (typeof this._data !== 'undefined') {\n if (this._data > 0) { //Note: API is being called to load region list in add a new address.\n this.IsForEdit = true;\n this.dialogTitle = this.currentAppLanguage.data.MY_JOBS.DIALOG_TITLE_EDIT_JOBS;\n }\n\n\n\n this.jobsService.GetUserJobLoadData(this._data)\n this.jobLoadDataOutputModel$ = this.jobsService.GetUserJobLoadData(this._data)\n .pipe(\n map((data) => {\n //this.loadingScreenService.stopLoading();\n if (data.status == Status.Success) {\n //console.log(this.jobLoadDataOutputModel$)\n this.jobLoadDataOutputModel = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, data.data)));\n\n if (this.jobLoadDataOutputModel.UserJob) {\n this.userJob = this.jobLoadDataOutputModel.UserJob;\n this.frmJobs.setValue({\n Employer:this.userJob.Employer,\n JobDescription:this.userJob.JobDescription,\n Address1: this.userJob.Address1,\n Address2: this.userJob.Address2,\n Address3: this.userJob.Address3,\n JobFromDate: E.ConvertToDate(this.userJob.JobFromDate),\n JobToDate: E.ConvertToDate(this.userJob.JobToDate),\n AddressPostCode: this.userJob.AddressPostCode,\n AddressTown: this.userJob.AddressTown,\n RegionId: this.userJob.RegionId,\n CountryId: this.userJob.CountryId,\n StateId: this.userJob.StateId,\n Notes: this.userJob.Notes,\n CurrentJobYn: this.userJob.CurrentJobYn,\n });\n\n // if (this.userJob.CountryId) {\n // this.frmJobs.get('CountryId').enable();\n // }\n if (this.userJob.StateId) {\n this.frmJobs.get('StateId').enable();\n }\n }\n // console.log(data)\n return this.jobLoadDataOutputModel;\n }\n else {\n this._toastrService.Error(E.ConvertToString(data.message), Constant.ErrorToastrTitle);\n }\n },\n (error: string) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n\n }\n ));\n }\n\n this.PlaceholderRegion = this.currentAppLanguage.data.MY_JOBS.PLACEHOLDER_SELECT_REGION;\n this.PlaceholderCountry = this.currentAppLanguage.data.MY_JOBS.PLACEHOLDER_SELECT_COUNTRY;\n this.PlaceholderState = this.currentAppLanguage.data.MY_JOBS.PLACEHOLDER_SELECT_STATE;\n this.frmJobs.get('CountryId').disable();\n this.frmJobs.get('RegionId').disable();\n\n\n this.dialogRef.keydownEvents().subscribe(event => {\n if (event.key.toLocaleLowerCase() === \"escape\") {\n this.onCloseButtonClick();\n }\n });\n }\n\n\n\n onSubmit() {\n // console.log('onSubmit called');\n //console.log(this.userJob.Latitude);\n if (typeof this.userJob.Latitude === 'undefined' || typeof this.userJob.Longitude === 'undefined' || this.userJob.Latitude == null || this.userJob.Longitude == null) {\n this._toastrService.Warning(this.currentAppLanguage.data.MY_JOBS.WARNING_MESSAGE_SELECT_LOCATION, Constant.WarningToastrTitle);\n this.onSearchOnMapClick();\n return;\n }\n\n this.submitted = true;\n if (this.frmJobs.invalid) {\n return;\n }\n this.submitted = false;\n if (this.userJob == null) {\n this.userJob = new TblUserJobs();\n }\n\n this.userJob.Employer = this.frmJobs.get('Employer').value;\n this.userJob.JobDescription = this.frmJobs.get('JobDescription').value;\n this.userJob.Address1 = this.frmJobs.get('Address1').value;\n this.userJob.Address2 = this.frmJobs.get('Address2').value;\n this.userJob.Address3 = this.frmJobs.get('Address3').value;\n this.userJob.AddressTown = this.frmJobs.get('AddressTown').value;\n this.userJob.AddressPostCode = this.frmJobs.get('AddressPostCode').value;\n this.userJob.RegionId = this.frmJobs.get('RegionId').value;\n this.userJob.JobFromDate = E.GetDateStringOnly(this.frmJobs.get('JobFromDate').value);\n this.userJob.JobToDate = E.GetDateStringOnly(this.frmJobs.get('JobToDate').value);\n this.userJob.UserDetailsId = this.authenticationService.currentUserValue.UserDetailsId;\n this.userJob.CountryId = this.frmJobs.get('CountryId').value;\n this.userJob.StateId = this.frmJobs.get('StateId').value;\n this.userJob.Notes = this.frmJobs.get('Notes').value;\n if (this.frmJobs.get('CurrentJobYn').value)\n this.userJob.CurrentJobYn = this.frmJobs.get('CurrentJobYn').value;\n else { this.userJob.CurrentJobYn = false }\n\n if (E.ConvertToNumber(this.userJob.UserJobId) == 0 && this.IsForEdit == false) {\n this.userJob.CreatedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.userJob.CreatedDate = E.GetTodayDateStringOnly();\n this.userJob.CreatedTime = E.GetTodayTimeStringOnly();\n this.userJob.ChangedDate = E.GetTodayDateStringOnly();\n this.userJob.ChangedTime = E.GetTodayTimeStringOnly();\n }\n else {\n this.userJob.ChangedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.userJob.ChangedDate = E.GetTodayDateStringOnly();\n this.userJob.ChangedTime = E.GetTodayTimeStringOnly();\n }\n this.loading = true;\n //this.loadingScreenService.startLoading();\n this.jobsService.CreateUpdateUserJob(this.userJob)\n this.subSaveJobs$ = this.jobsService.CreateUpdateUserJob(this.userJob).subscribe(\n (result) => {\n this.loading = false;\n //this.loadingScreenService.stopLoading();\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.RecordAdded) {\n message = this.currentAppLanguage.data.MY_JOBS.TOAST_MESSAGE_ADDRESS_ADDED_SUCCESSFULLY;\n }\n else if (result.status == Status.RecordUpdated) {\n message = this.currentAppLanguage.data.MY_JOBS.TOAST_MESSAGE_ADDRESS_UPDATED_SUCCESSFULLY;\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n if (message.length > 0) {\n this._toastrService.Success(message, Constant.SuccessToastrTitle);\n this.dialogRef.close(true);\n this.frmJobs.reset();\n this.frmJobs.patchValue({\n JobFromDate: new Date(),\n JobToDate: new Date()\n });\n // (this.frmJobs.get('AddressTag')).nativeElement.focus();\n }\n else {\n this._toastrService.Error(errormessage, Constant.ErrorToastrTitle);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n //this.loadingScreenService.stopLoading();\n }\n );\n }\n\n onStateChange(event) {\n if (event != null) {\n this.PlaceholderCountry = \"\";\n //this.loadingScreenService.startLoading();\n const path = 'api/State/GetCountryRegionId';\n var list = this.globalService.PostDataAnonymous(event, path).subscribe(\n (data) => {\n //this.loadingScreenService.stopLoading();\n var result = JSON.parse(data._body);\n if (result.status == Status.Success) {\n // console.log(JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data)))\n var countryRegion = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n this.frmJobs.get('CountryId').setValue(countryRegion?.CountryId);\n this.frmJobs.get('RegionId').setValue(countryRegion?.RegionId);\n // this.familyMemberLoadDataOutputModel.StateList = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n // if (this.familyMemberLoadDataOutputModel.StateList != null) {\n // this.frmFamily.get('StateId').enable();\n // }\n }\n },\n (error) => {\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n //this.loadingScreenService.stopLoading();\n }\n );\n }\n else {\n this.PlaceholderCountry = this.currentAppLanguage.data.MY_JOBS.PLACEHOLDER_STATE;\n this.frmJobs.get('RegionId').setValue(null);\n this.PlaceholderRegion = this.currentAppLanguage.data.MY_JOBS.PLACEHOLDER_REGION;\n this.frmJobs.get('RegionId').disable();\n this.frmJobs.get('CountryId').setValue(null);\n this.PlaceholderCountry = this.currentAppLanguage.data.MY_JOBS.PLACEHOLDER_COUNTRY;\n this.frmJobs.get('CountryId').disable();\n }\n }\n onCountryChange(event) {\n // this.healthProviderLoadDataOutputModel.StateList = null;\n this.frmJobs.get('StateId').setValue(null);\n this.PlaceholderState = this.currentAppLanguage.data.MY_JOBS.PLACEHOLDER_SELECT_STATE;\n this.frmJobs.get('StateId').disable();\n if (event != null) {\n this.PlaceholderCountry = \"\";\n this.loadingScreenService.startLoading();\n const path = 'api/State/GetStateList';\n let response: Observable;\n response = this.globalService.PostDataAnonymous(event, path);\n response.subscribe(\n (data) => {\n this.loadingScreenService.stopLoading();\n var result = JSON.parse(data._body);\n if (result.status == Status.Success) {\n this.jobLoadDataOutputModel.StateList = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n if (this.jobLoadDataOutputModel.StateList != null) {\n this.frmJobs.get('StateId').enable();\n }\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n this.loadingScreenService.stopLoading();\n }\n );\n }\n else {\n this.PlaceholderCountry = this.currentAppLanguage.data.MY_JOBS.PLACEHOLDER_SELECT_COUNTRY;\n }\n }\n sendEmail() {\n window.location.href = \"mailto:\" + this.frmJobs.get('EmailAddress').value;\n }\n onRegionChange(event) {\n // this.healthProviderLoadDataOutputModel.CountryList = null;\n this.frmJobs.get('CountryId').setValue(null);\n this.PlaceholderCountry = this.currentAppLanguage.data.MY_JOBS.PLACEHOLDER_SELECT_COUNTRY;\n this.frmJobs.get('CountryId').disable();\n if (event != null) {\n this.PlaceholderRegion = \"\";\n this.loadingScreenService.startLoading();\n const path = 'api/Country/GetCountryList';\n let response: Observable;\n response = this.globalService.PostDataAnonymous(event, path);\n response.subscribe(\n (data) => {\n this.loadingScreenService.stopLoading();\n var result = JSON.parse(data._body);\n if (result.status == Status.Success) {\n this.jobLoadDataOutputModel.CountryList = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n if (this.jobLoadDataOutputModel.CountryList != null) {\n this.frmJobs.get('CountryId').enable();\n }\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n this.loadingScreenService.stopLoading();\n }\n );\n }\n else {\n this.PlaceholderRegion = this.currentAppLanguage.data.MY_JOBS.PLACEHOLDER_SELECT_REGION;\n }\n }\n OnDateToChange(event) {\n let datefrom = this.frmJobs.get('JobFromDate').value;\n let dateto = this.frmJobs.get('JobToDate').value;\n if (datefrom && dateto) {\n if (datefrom.getTime() > dateto.getTime()) {\n this.frmJobs.get('JobFromDate').setValue(dateto);\n }\n }\n if (dateto)\n this.maxFromDate = dateto;\n }\n onSearchOnMapClick() {\n if (E.ConvertToString(this.frmJobs.get('Address1').value) != '' && E.ConvertToString(this.frmJobs.get('AddressTown').value) != ''\n && E.ConvertToString(this.frmJobs.get('AddressPostCode').value) != '') {\n this.openDialogMapAddress();\n }\n else {\n this._toastrService.Error(\"The required fields are empty\", Constant.ErrorToastrTitle);\n }\n }\n GetMapSearchString(): string {\n let result = '';\n if (this.frmJobs.get('Address1').value)\n result += (this.frmJobs.get('Address1').value + ', ');\n if (this.frmJobs.get('AddressTown').value)\n result += (this.frmJobs.get('AddressTown').value + ', ');\n if (this.frmJobs.get('AddressPostCode').value)\n result += (this.frmJobs.get('AddressPostCode').value);\n return result;\n }\n openDialogMapAddress() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = false;\n dialogConfig.width = \"70%\"\n dialogConfig.height = \"55%\";\n dialogConfig.data = new MapAddressDataModel(MapModalType.SearchString, this.GetMapSearchString());\n const dialogRef: MatDialogRef = this.dialog.open(MapAddressComponent, dialogConfig);\n dialogRef.componentInstance.IsDraggable = true;\n dialogRef.componentInstance.IsSaveButtonVisible = true;\n dialogRef.componentInstance.IsSearchOnMap = true;\n dialogRef.afterClosed().subscribe(\n result => {\n\n if (result) {\n if (E.ConvertToString(result.event) == 'SearchOnMap' && result.data) {\n\n this.userJob.Latitude = result.data.lat;\n this.userJob.Longitude = result.data.long;\n\n }\n }\n // this.loadData();\n }\n );\n }\n\n onCloseButtonClick() {\n this.dialogRef.close();\n }\n\n get f() {\n return this.frmJobs.controls;\n }\n\n GetCurrentLanguageJsonObject(currentAppLanguage) {\n var result;\n switch (currentAppLanguage) {\n case 'en':\n result = english;\n break;\n case 'in':\n result = gujarati;\n break;\n case 'hn':\n result = hindi;\n break;\n }\n return result;\n }\n\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { GlobalService } from 'app/Services/global.service';\nimport { AuthenticationService } from 'app/auth/service';\nimport {TblUserJobs} from '../about-me-model.model'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class JobsService {\n \n constructor(\n private _http: HttpClient,\n private globalService: GlobalService,\n private authenticationService:AuthenticationService\n ) { }\n\n GetUserJobLoadData(data:number){\n const path='api/UserJob/GetUserJobLoadData'\n return this.globalService.PostDataById(data, path)\n }\n CreateUpdateUserJob(userJobs:TblUserJobs){\n const path='api/UserJob/CreateUpdateUserJob'\n return this.globalService.PostDataById(userJobs, path)\n }\n GetUserJobs(data:number){\n const path='api/UserJob/GetUserJobs'\n return this.globalService.PostDataById(data, path)\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { GlobalService } from 'app/Services/global.service';\nimport {TblUserAchievements} from '../about-me-model.model'\n@Injectable({\n providedIn: 'root'\n})\nexport class MyAchievementService {\n\n constructor(\n private _http: HttpClient,private globalService: GlobalService\n ) { }\n CreateUpdateUserAchievement(userAchievement:TblUserAchievements){\n const path='api/UserAchievement/CreateUpdateUserAchievement'\n return this.globalService.PostDataById(userAchievement , path);\n }\n GetUserAchievementLoadData(_data:number){\n const path='api/UserAchievement/GetUserAchievementLoadData'\n return this.globalService.PostDataById(_data , path);\n }\n}\n","
\n
{{dialogTitle}} \n - {{userAchievement?.AchievementName| truncate:50}} \n \n \n \n
\n
\n \n
\n \n
\n
\n \n \n \n {{'MY_AWARDS_ACHIEVEMENT.ERROR_MESSAGE_REQUIRED_ACHIEVEMENT_NAME'|translate}}\n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_100'|translate}}\n \n
\n \n
\n \n \n \n {{'AWARD.ERROR_MESSAGE_REQUIRED_OCCASION'|translate}}\n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
\n
\n
\n \n
\n \n
\n \n
\n
\n \n {{'AWARD.ERROR_MESSAGE_REQUIRED_DATE_RECEIVED'\n | translate}}\n \n
\n \n
\n
\n \n
\n \n
\n \n {{'AWARD.ERROR_MESSAGE_REQUIRED_OCCASION_NOTES'\n | translate}}\n \n
\n
\n
\n
\n
\n
\n
\n \n\n \n \n \n
\n
\n","import { Component, OnInit,Inject, ViewChild } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { locale as english } from '../i18n/en';\nimport { locale as french } from '../i18n/fr';\nimport { locale as german } from '../i18n/de';\nimport { locale as portuguese } from '../i18n/pt';\nimport { locale as gujarati } from '../i18n/gj';\nimport { locale as hindi } from '../i18n/hn';\nimport { CoreTranslationService } from '@core/services/translation.service';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { MatDialog, MatDialogConfig } from \"@angular/material/dialog\";\nimport { CoreConfigService } from '@core/services/config.service';\nimport {Observable, Subject} from 'rxjs';\nimport { Constant } from 'app/Classes/constant';\nimport { E } from 'assets/extensions/extensions';\nimport { Status, Enums, MapModalType } from 'app/enums';\nimport { takeUntil } from 'rxjs/operators';\nimport { FormBuilder,FormGroup, Validators } from '@angular/forms';\nimport { AuthenticationService } from 'app/auth/service';\nimport { CustomToastrService } from 'app/Services/custom-toastr.service';\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\nimport { GlobalService } from 'app/Services/global.service';\nimport { LoadingScreenService } from 'app/Services/loading-screen.service';\nimport {MyAchievementService} from './my-achievement.service'\nimport {TblUserAchievements,AchievementLoadDataOutputModel,AchievementsLoadDataInputModel} from '../about-me-model.model'\nimport { TextBoxComponent } from 'app/CustomComponents/text-box/text-box.component';\n@Component({\n selector: 'app-my-achievement',\n templateUrl: './my-achievement.component.html',\n styleUrls: ['./my-achievement.component.scss']\n})\nexport class MyAchievementComponent implements OnInit {\n @ViewChild('achievementname') achievementname: TextBoxComponent;\n public coreConfig: any;\n public dialogTitle: string;\n public IsForEdit: boolean = false;\n public loading = false;\n public submitted = false;\n maxDate=new Date();\n public error = '';\n _data: number = 0;\n currentAppLanguage: any;\n private _unsubscribeAll: Subject;\n public frmAchievement: FormGroup;\n userAchievement:TblUserAchievements;\n achievementLoadDataOutputModel:AchievementLoadDataOutputModel;\n infoTooltip: string;\n dateformat: string;\n // achievementsLoadDataInputModel:AchievementsLoadDataInputModel;\n constructor(\n private dialogRef: MatDialogRef,\n private _coreTranslationService: CoreTranslationService,\n private _coreConfigService: CoreConfigService,\n private modalService: NgbModal,\n private dialog: MatDialog,\n private authenticationService: AuthenticationService,\n private _formBuilder: FormBuilder,\n private loadingScreenService: LoadingScreenService,\n private globalService: GlobalService,\n private encrDecr: EncrDecrService,\n private _toastrService: CustomToastrService,\n public achievementService:MyAchievementService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n ) {\n this._coreTranslationService.translate(english, french, german, portuguese, gujarati, hindi);\n this._unsubscribeAll = new Subject();\n this._data = data;\n this.dateformat=this.globalService.getDateFormat().toUpperCase()\n }\n ngAfterViewInit(): void {\n this.achievementname.textBox.nativeElement.focus();\n }\n ngOnInit(): void {\n this.userAchievement = new TblUserAchievements();\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n this.currentAppLanguage = this.GetCurrentLanguageJsonObject(this.coreConfig.app.appLanguage);\n if(this._data==1)\n this.dialogTitle = this.currentAppLanguage.data.MY_AWARDS_ACHIEVEMENT.DIALOG_TITLE_ADD_ACHIEVEMENT;\n if(this._data==2)\n this.dialogTitle = this.currentAppLanguage.data.MY_AWARDS_ACHIEVEMENT.DIALOG_TITLE_ADD_EDUCATIONAL_ACHIEVEMENT;\n if(this._data==3)\n this.dialogTitle = this.currentAppLanguage.data.MY_AWARDS_ACHIEVEMENT.DIALOG_TITLE_ADD_PROFESSIONAL_ACHIEVEMENT;\n if(this._data==4)\n this.dialogTitle = this.currentAppLanguage.data.MY_AWARDS_ACHIEVEMENT.DIALOG_TITLE_ADD_MISCELLANEOUS_ACHIEVEMENT;\n this.infoTooltip= this.currentAppLanguage.data.MY_AWARDS_ACHIEVEMENT.SECTION_TEXT;\n this.frmAchievement = this._formBuilder.group({\n AchievementName: ['', Validators.required],\n Occasion:['',Validators.required],\n DateReceived: [, Validators.required],\n OccasionNotes: [,Validators.required],\n });\n if (typeof this._data !== 'undefined') {\n // console.log('this._data')\n // console.log(this._data)\n if (this._data > 5) {\n this.IsForEdit = true;\n this.dialogTitle = this.currentAppLanguage.data.MY_AWARDS_ACHIEVEMENT.DIALOG_TITLE_EDIT_ACHIEVEMENT;\n }\n setTimeout(() => {\n this.loadingScreenService.startLoading();\n // console.log(this.achievementsLoadDataInputModel);\n let response: Observable;\n this.achievementService.GetUserAchievementLoadData(this._data)\n .subscribe(\n (data) => {\n this.loadingScreenService.stopLoading();\n if (data.status == Status.Success) {\n this.achievementLoadDataOutputModel = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, data.data)));\n // console.log(this.achievementLoadDataOutputModel)\n if (this.achievementLoadDataOutputModel.UserAchievement) {\n this.userAchievement = this.achievementLoadDataOutputModel.UserAchievement;\n this.frmAchievement.patchValue({\n AchievementName: this.userAchievement.AchievementName,\n Occasion:this.userAchievement.Occasion,\n DateReceived: E.ConvertToDate(this.userAchievement.DateReceived),\n OccasionNotes: this.userAchievement.OccasionNotes,\n });\n\n }\n\n }\n else {\n this._toastrService.Error(E.ConvertToString(data.message), Constant.ErrorToastrTitle);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loadingScreenService.stopLoading();\n }\n );\n\n }, 500);\n //}\n this.userAchievement.AchievementTypeId=this.userAchievement.AchievementTypeId;\n }\n this.dialogRef.keydownEvents().subscribe(event => {\n if (event.key.toLocaleLowerCase() === \"escape\") {\n this.onCloseButtonClick();\n }\n });\n }\n\n onSubmit() {\n this.submitted = true;\n if (this.frmAchievement.invalid) {\n return;\n }\n this.submitted = false;\n if (this.userAchievement == null) {\n this.userAchievement = new TblUserAchievements();\n }\n this.userAchievement.AchievementName = this.frmAchievement.get('AchievementName').value;\n this.userAchievement.Occasion = this.frmAchievement.get('Occasion').value;\n this.userAchievement.DateReceived = E.GetDateStringOnly(this.frmAchievement.get('DateReceived').value);\n this.userAchievement.OccasionNotes = this.frmAchievement.get('OccasionNotes').value;\n this.userAchievement.UserDetailsId = this.authenticationService.currentUserValue.UserDetailsId;\n if(this._data<=4)\n this.userAchievement.AchievementTypeId=this._data;\n if (E.ConvertToNumber(this.userAchievement.UserAchievementId) == 0 && this.IsForEdit == false) {\n this.userAchievement.CreatedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.userAchievement.CreatedDate = E.GetTodayDateStringOnly();\n this.userAchievement.CreatedTime = E.GetTodayTimeStringOnly();\n this.userAchievement.ChangedDate = E.GetTodayDateStringOnly();\n this.userAchievement.ChangedTime = E.GetTodayTimeStringOnly();\n }\n else {\n this.userAchievement.ChangedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.userAchievement.ChangedDate = E.GetTodayDateStringOnly();\n this.userAchievement.ChangedTime = E.GetTodayTimeStringOnly();\n }\n this.loading = true;\n this.loadingScreenService.startLoading();\n // console.log(this.userAchievement)\n let response: Observable;\n this.achievementService.CreateUpdateUserAchievement(this.userAchievement)\n .subscribe(\n (result) => {\n this.loading = false;\n this.loadingScreenService.stopLoading();\n var message = \"\"; var errormessage = \"\";\n // console.log(result)\n if (result.status == Status.RecordAdded) {\n message = this.currentAppLanguage.data.MY_AWARDS_ACHIEVEMENT.TOAST_MESSAGE_ACHIEVEMENT_ADDED_SUCCESSFULLY;\n }\n else if (result.status == Status.RecordUpdated) {\n message = this.currentAppLanguage.data.MY_AWARDS_ACHIEVEMENT.TOAST_MESSAGE_ACHIEVEMENT_UPDATED_SUCCESSFULLY;\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n if (message.length > 0) {\n this._toastrService.Success(message, Constant.SuccessToastrTitle);\n this.dialogRef.close();\n this.frmAchievement.reset();\n this.frmAchievement.patchValue({\n DateReceived: new Date()\n });\n }\n else {\n this._toastrService.Error(errormessage, Constant.ErrorToastrTitle);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n\n }\nget f(){\n return this.frmAchievement.controls;\n}\n onCloseButtonClick() {\n this.dialogRef.close();\n }\n GetCurrentLanguageJsonObject(currentAppLanguage) {\n var result;\n switch (currentAppLanguage) {\n case 'en':\n result = english;\n break;\n case 'in':\n result = gujarati;\n break;\n case 'hn':\n result = hindi;\n break;\n }\n return result;\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { GlobalService } from 'app/Services/global.service';\nimport {TblUserMedications} from '../about-me-model.model'\nimport {MedicationLoadDataInputModel} from '../about-me-model.model'\n@Injectable({\n providedIn: 'root'\n})\nexport class MyMedicationService {\n constructor(\n private _http: HttpClient,private globalService: GlobalService\n\n ) { }\n GetUserMedicationLoadData(medicationLoadDataInputModel:MedicationLoadDataInputModel){\n const path='api/UserMedication/GetUserMedicationLoadData'\n return this.globalService.PostDataById(medicationLoadDataInputModel , path);\n }\n CreateUpdateUserMedication(tblUserMedications:TblUserMedications){\n const path='api/UserMedication/CreateUpdateUserMedication'\n return this.globalService.PostDataById( tblUserMedications,path);\n }\n}\n","\n
\n
{{dialogTitle}} \n - {{userMedication?.MedicationName}} \n \n \n \n
\n
\n \n
\n \n
\n
\n \n \n \n {{'MY_MEDICATION_FORM.ERROR_MESSAGE_REQUIRED_MEDICATION_NAME'|translate}}\n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
\n
\n \n \n \n {{'MY_MEDICATION_FORM.ERROR_MESSAGE_REQUIRED_CONDITION_FOR'|translate}}\n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_100'|translate}}\n \n
\n
\n \n \n \n {{'MY_MEDICATION_FORM.ERROR_MESSAGE_REQUIRED_DOSAGE'|translate}}\n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
\n
\n \n \n \n {{'MY_MEDICATION_FORM.ERROR_MESSAGE_REQUIRED_FREQUENCY'|translate}}\n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
\n
\n \n \n \n {{'MY_MEDICATION_FORM.ERROR_MESSAGE_REQUIRED_PRESCRIBED_BY'|translate}}\n \n
\n
\n \n \n \n {{'MY_MEDICATION_FORM.ERROR_MESSAGE_REQUIRED_REFILL_DURATION'|translate}}\n \n
\n\n \n
\n
\n \n
\n \n
\n \n
\n
\n \n {{'ABOUTME.ERROR_MESSAGE_REQUIRED_LAST_REFILL_DATE_REQUIRED'\n | translate}}\n \n
\n
\n
\n
\n \n
\n \n
\n \n
\n
\n \n {{'ABOUTME.ERROR_MESSAGE_REQUIRED_NEXT_REFILL_DATE_REQUIRED'\n | translate}}\n \n
\n
\n \n
\n \n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n \n\n \n\n \n
\n
","import { Component, OnInit, Inject, ViewChild } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { locale as english } from '../i18n/en';\nimport { locale as french } from '../i18n/fr';\nimport { locale as german } from '../i18n/de';\nimport { locale as portuguese } from '../i18n/pt';\nimport { locale as gujarati } from '../i18n/gj';\nimport { locale as hindi } from '../i18n/hn';\nimport { CoreTranslationService } from '@core/services/translation.service';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MatDialog, MatDialogConfig } from \"@angular/material/dialog\";\nimport { TextBoxComponent } from 'app/CustomComponents/text-box/text-box.component';\nimport { CoreConfigService } from '@core/services/config.service';\nimport { E } from 'assets/extensions/extensions';\nimport { AuthenticationService } from 'app/auth/service';\nimport { Status, Enums, MapModalType } from 'app/enums';\nimport { LoadingScreenService } from 'app/Services/loading-screen.service';\nimport { Observable, Subject } from 'rxjs';\nimport { CustomToastrService } from 'app/Services/custom-toastr.service';\nimport { GlobalService } from 'app/Services/global.service';\nimport { Constant } from 'app/Classes/constant';\nimport { takeUntil } from 'rxjs/operators';\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\nimport { MedicationLoadDataInputModel, MedicationLoadDataOutputModel, TblUserMedications } from '../about-me-model.model';\nimport { MyMedicationService } from './my-medication.service'\n\n\n@Component({\n selector: 'app-my-medication',\n templateUrl: './my-medication.component.html',\n styleUrls: ['./my-medication.component.scss']\n})\nexport class MyMedicationComponent implements OnInit {\n @ViewChild('medicationname') medicationname: TextBoxComponent;\n public coreConfig: any;\n public dialogTitle: string;\n public IsForEdit: boolean = false;\n public maxToDate: Date = new Date();\n public maxFromDate: Date = new Date();\n currentAppLanguage: any;\n private _unsubscribeAll: Subject;\n public frmMedication: FormGroup;\n public loading = false;\n public submitted = false;\n _data: number = 0;\n public error = '';\n userMedication: TblUserMedications;\n medicationLoadDataOutputModel: MedicationLoadDataOutputModel;\n medicationLoadDataInputModel: MedicationLoadDataInputModel;\n infoTooltip: any;\n dateformat: string;\n constructor(\n private dialogRef: MatDialogRef,\n private medicationService: MyMedicationService,\n private _coreTranslationService: CoreTranslationService,\n private _coreConfigService: CoreConfigService,\n private modalService: NgbModal,\n private dialog: MatDialog,\n private authenticationService: AuthenticationService,\n private _formBuilder: FormBuilder,\n private loadingScreenService: LoadingScreenService,\n private globalService: GlobalService,\n private encrDecr: EncrDecrService,\n private _toastrService: CustomToastrService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n ) {\n this._coreTranslationService.translate(english, french, german, portuguese, gujarati, hindi);\n this._unsubscribeAll = new Subject();\n this._data = data;\n this.dateformat=this.globalService.getDateFormat().toUpperCase()\n }\n ngAfterViewInit(): void {\n this.medicationname.textBox.nativeElement.focus();\n }\n ngOnInit(): void {\n this.userMedication = new TblUserMedications();\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n this.currentAppLanguage = this.GetCurrentLanguageJsonObject(this.coreConfig.app.appLanguage);\n this.dialogTitle = this.currentAppLanguage.data.MY_MEDICATION_FORM.DIALOG_TITLE_ADD_MEDICATION;\n this.infoTooltip= this.currentAppLanguage.data.MY_MEDICATION_FORM.SECTION_TEXT;\n this.frmMedication = this._formBuilder.group({\n PrescribedBy: [],\n RefillDurationId: [],\n MedicationName: [, Validators.required],\n ConditionFor: [, Validators.required],\n Dosage: [],\n Frequency: [, Validators.required],\n LastRefillDate: [],\n NextRefillDate: [],\n Notes: [],\n });\n if (typeof this._data !== 'undefined') {\n // console.log('this._data')\n // console.log(this._data)\n if (this._data > 0) {\n this.IsForEdit = true;\n this.dialogTitle = this.currentAppLanguage.data.MY_MEDICATION_FORM.DIALOG_TITLE_EDIT_MEDICATION;\n }\n setTimeout(() => {\n this.medicationLoadDataInputModel = new MedicationLoadDataInputModel();\n this.medicationLoadDataInputModel.UserDetailsId = this.authenticationService.currentUserValue.UserDetailsId;\n this.medicationLoadDataInputModel.UserMedicationId = this._data;\n this.loadingScreenService.startLoading();\n // console.log(this.medicationLoadDataInputModel)\n let response: Observable;\n this.medicationService.GetUserMedicationLoadData(this.medicationLoadDataInputModel)\n .subscribe(\n (data) => {\n this.loadingScreenService.stopLoading();\n // console.log(data);\n if (data.status == Status.Success) {\n\n this.medicationLoadDataOutputModel = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, data.data)));\n // console.log(this.medicationLoadDataOutputModel)\n if (this.medicationLoadDataOutputModel.UserMedication) {\n this.userMedication = this.medicationLoadDataOutputModel.UserMedication;\n this.frmMedication.patchValue({\n MedicationName: this.userMedication.MedicationName,\n ConditionFor: this.userMedication.ConditionFor,\n Dosage: this.userMedication.Dosage,\n Frequency: this.userMedication.Frequency,\n PrescribedBy: this.userMedication.PrescribedBy,\n RefillDurationId: this.userMedication.RefillDurationId,\n LastRefillDate: E.ConvertToDate(this.userMedication.LastRefillDate),\n NextRefillDate: E.ConvertToDate(this.userMedication.NextRefillDate),\n Notes: this.userMedication.Notes,\n });\n\n }\n\n }\n else {\n this._toastrService.Error(E.ConvertToString(data.message), Constant.ErrorToastrTitle);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loadingScreenService.stopLoading();\n }\n );\n\n }, 500);\n //}\n }\n this.dialogRef.keydownEvents().subscribe(event => {\n if (event.key.toLocaleLowerCase() === \"escape\") {\n this.onCloseButtonClick();\n }\n });\n }\n\n onSubmit() {\n this.frmMedication.controls['LastRefillDate'].setErrors(null);\n this.frmMedication.controls['NextRefillDate'].setErrors(null);\n this.submitted = true;\n if (this.frmMedication.invalid) {\n // console.log(this.frmMedication.invalid)\n return;\n }\n this.submitted = false;\n if (this.userMedication == null) {\n this.userMedication = new TblUserMedications();\n }\n this.userMedication.MedicationName = this.frmMedication.get('MedicationName').value;\n this.userMedication.ConditionFor = this.frmMedication.get('ConditionFor').value;\n this.userMedication.Dosage = this.frmMedication.get('Dosage').value;\n this.userMedication.Frequency = this.frmMedication.get('Frequency').value;\n this.userMedication.PrescribedBy = this.frmMedication.get('PrescribedBy').value;\n this.userMedication.RefillDurationId = this.frmMedication.get('RefillDurationId').value;\n this.userMedication.LastRefillDate = E.GetDateStringOnly(this.frmMedication.get('LastRefillDate').value);\n this.userMedication.NextRefillDate = E.GetDateStringOnly(this.frmMedication.get('NextRefillDate').value);\n this.userMedication.Notes = this.frmMedication.get('Notes').value;\n this.userMedication.UserDetailsId = this.authenticationService.currentUserValue.UserDetailsId;\n\n \n if (E.ConvertToNumber(this.userMedication.UserMedicationId) == 0 && this.IsForEdit == false) {\n this.userMedication.CreatedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.userMedication.CreatedDate = E.GetTodayDateStringOnly();\n this.userMedication.CreatedTime = E.GetTodayTimeStringOnly();\n this.userMedication.ChangedDate = E.GetTodayDateStringOnly();\n this.userMedication.ChangedTime = E.GetTodayTimeStringOnly();\n }\n else {\n this.userMedication.ChangedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.userMedication.ChangedDate = E.GetTodayDateStringOnly();\n this.userMedication.ChangedTime = E.GetTodayTimeStringOnly();\n }\n this.loading = true;\n this.loadingScreenService.startLoading();\n //console.log(this.userMedication)\n let response: Observable;\n this.medicationService.CreateUpdateUserMedication(this.userMedication)\n .subscribe(\n (result) => {\n this.loading = false;\n this.loadingScreenService.stopLoading();\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.RecordAdded) {\n message = this.currentAppLanguage.data.MY_MEDICATION_FORM.TOAST_MESSAGE_MEDICATION_ADDED_SUCCESSFULLY;\n }\n else if (result.status == Status.RecordUpdated) {\n message = this.currentAppLanguage.data.MY_MEDICATION_FORM.TOAST_MESSAGE_MEDICATION_UPDATED_SUCCESSFULLY;\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n if (message.length > 0) {\n this._toastrService.Success(message, Constant.SuccessToastrTitle);\n this.dialogRef.close();\n this.frmMedication.reset();\n this.frmMedication.patchValue({\n LastRefillDate: new Date(),\n NextRefillDate: new Date()\n });\n }\n else {\n this._toastrService.Error(errormessage, Constant.ErrorToastrTitle);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n\n }\n OnNextRefillDateChange(event) {\n let datefrom = this.frmMedication.get('LastRefillDate').value;\n let dateto = this.frmMedication.get('NextRefillDate').value;\n if (datefrom && dateto) {\n if (datefrom.getTime() > dateto.getTime()) {\n this.frmMedication.get('LastRefillDate').setValue(dateto);\n }\n }\n if (dateto)\n this.maxFromDate = dateto;\n }\n onCloseButtonClick() {\n this.dialogRef.close();\n }\n GetCurrentLanguageJsonObject(currentAppLanguage) {\n var result;\n switch (currentAppLanguage) {\n case 'en':\n result = english;\n break;\n case 'in':\n result = gujarati;\n break;\n case 'hn':\n result = hindi;\n break;\n }\n return result;\n }\n get f() {\n return this.frmMedication.controls;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { GlobalService } from 'app/Services/global.service';\nimport {TblUserVaccinations} from '../about-me-model.model'\n@Injectable({\n providedIn: 'root'\n})\nexport class VaccinationService {\n\n constructor(\n private _http: HttpClient,private globalService: GlobalService\n ) { }\n GetUserVaccinationLoadData(_data:number){\n const path='api/UserVaccination/GetUserVaccinationLoadData'\n return this.globalService.PostDataById(_data, path);\n }\n CreateUpdateUserVaccination(userVaccination:TblUserVaccinations){\n const path='api/UserVaccination/CreateUpdateUserVaccination'\n return this.globalService.PostDataById(userVaccination, path);\n }\n}\n","
\n
{{dialogTitle}} \n - {{userVaccination?.VaccinationName}} \n \n \n \n
\n
\n \n
\n \n
\n
\n \n \n \n {{'MY_VACCINATION_FORM.ERROR_MESSAGE_REQUIRED_VACCINATION_NAME'|translate}}\n \n
\n
\n \n \n \n
\n
\n \n \n \n {{'MY_VACCINATION_FORM.ERROR_MESSAGE_REQUIRED_VACCINATION_TYPE'|translate}}\n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
\n
\n
\n \n
\n \n
\n \n
\n
\n \n {{'MY_VACCINATION_FORM.ERROR_MESSAGE_REQUIRED_LAST_DOSAGE_DATE'\n | translate}}\n \n
\n
\n
\n
\n \n
\n \n
\n \n
\n
\n \n {{'MY_VACCINATION_FORM.ERROR_MESSAGE_REQUIRED_NEXT_DOSAGE_DATE'\n | translate}}\n \n
\n
\n\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n \n\n \n\n \n
\n
","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { locale as english } from '../i18n/en';\nimport { locale as french } from '../i18n/fr';\nimport { locale as german } from '../i18n/de';\nimport { locale as portuguese } from '../i18n/pt';\nimport { locale as gujarati } from '../i18n/gj';\nimport { locale as hindi } from '../i18n/hn';\nimport { CoreTranslationService } from '@core/services/translation.service';\nimport { CoreConfigService } from '@core/services/config.service';\nimport { Observable, Subject } from 'rxjs';\nimport { Constant } from 'app/Classes/constant';\nimport { E } from 'assets/extensions/extensions';\nimport { Status, Enums } from 'app/enums';\nimport { takeUntil } from 'rxjs/operators';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { AuthenticationService } from 'app/auth/service';\nimport { CustomToastrService } from 'app/Services/custom-toastr.service';\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\nimport { LoadingScreenService } from 'app/Services/loading-screen.service';\nimport { TblUserVaccinations, VaccinationLoadDataOutputModel, VaccineListOutputModel } from '../about-me-model.model'\nimport { VaccinationService } from './vaccination.service'\nimport { NgSelectComponent } from '@ng-select/ng-select';\nimport { GlobalService } from 'app/Services/global.service';\n\n@Component({\n selector: 'app-my-vaccination',\n templateUrl: './my-vaccination.component.html',\n styleUrls: ['./my-vaccination.component.scss']\n})\nexport class MyVaccinationComponent implements OnInit {\n @ViewChild('Vaccine') Vaccine:NgSelectComponent;\n public coreConfig: any;\n public dialogTitle: string;\n public maxToDate: Date = new Date();\n public maxFromDate: Date = new Date();\n public IsForEdit: boolean = false;\n public loading = false;\n public submitted = false;\n public error = '';\n public frmVaccination: FormGroup;\n public FieldHide = false;\n //VaccineName: any;\n _data: number = 0;\n currentAppLanguage: any;\n private _unsubscribeAll: Subject;\n userVaccination: TblUserVaccinations;\n vaccinationLoadDataOutputModel: VaccinationLoadDataOutputModel;\n infoTooltip: any;\n dateformat: any;\n\n constructor(\n private dialogRef: MatDialogRef,\n private vaccinationService: VaccinationService,\n private _coreTranslationService: CoreTranslationService,\n private _coreConfigService: CoreConfigService,\n private authenticationService: AuthenticationService,\n private _formBuilder: FormBuilder,\n private loadingScreenService: LoadingScreenService,\n private encrDecr: EncrDecrService,\n private _toastrService: CustomToastrService,\n private globalService: GlobalService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n ) {\n this._coreTranslationService.translate(english, french, german, portuguese, gujarati, hindi);\n this._unsubscribeAll = new Subject();\n this._data = data;\n this.dateformat=this.globalService.getDateFormat().toUpperCase()\n }\n ngAfterViewInit(): void {\n this.Vaccine.focus();\n }\n ngOnInit(): void {\n this.userVaccination = new TblUserVaccinations();\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n this.currentAppLanguage = this.GetCurrentLanguageJsonObject(this.coreConfig.app.appLanguage);\n this.dialogTitle = this.currentAppLanguage.data.MY_VACCINATION_FORM.DIALOG_TITLE_ADD_VACCINATION;\n this.infoTooltip= this.currentAppLanguage.data.MY_VACCINATION_FORM.SECTION_TEXT;\n this.frmVaccination = this._formBuilder.group({\n VaccineId: [, Validators.required],\n VaccinationName: [],\n VaccinationType: [],\n LastDosageDate: [],\n NextDosageDate: [],\n Notes: [],\n });\n if (typeof this._data !== 'undefined') {\n // console.log('this._data')\n // console.log(this._data)\n if (this._data > 0) {\n this.IsForEdit = true;\n this.dialogTitle = this.currentAppLanguage.data.MY_VACCINATION_FORM.DIALOG_TITLE_EDIT_VACCINATION;\n }\n setTimeout(() => {\n this.loadingScreenService.startLoading();\n let response: Observable;\n this.vaccinationService.GetUserVaccinationLoadData(this._data)\n .subscribe(\n (data) => {\n this.loadingScreenService.stopLoading();\n // console.log(data);\n if (data.status == Status.Success) {\n this.vaccinationLoadDataOutputModel = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, data.data)));\n // console.log(this.vaccinationLoadDataOutputModel.UserVaccination)\n if (this.vaccinationLoadDataOutputModel.UserVaccination) {\n this.userVaccination = this.vaccinationLoadDataOutputModel.UserVaccination;\n this.frmVaccination.patchValue({\n VaccineId: this.userVaccination.VaccineId,\n VaccinationName: this.userVaccination.VaccinationName,\n VaccinationType: this.userVaccination.VaccinationType,\n LastDosageDate: E.ConvertToDate(this.userVaccination.LastDosageDate),\n NextDosageDate: E.ConvertToDate(this.userVaccination.NextDosageDate),\n Notes: this.userVaccination.Notes,\n });\n\n }\n\n }\n else {\n this._toastrService.Error(E.ConvertToString(data.message), Constant.ErrorToastrTitle);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loadingScreenService.stopLoading();\n }\n );\n\n }, 500);\n //}\n }\n this.dialogRef.keydownEvents().subscribe(event => {\n if (event.key.toLocaleLowerCase() === \"escape\") {\n this.onCloseButtonClick();\n }\n });\n }\n\n onSubmit() {\n this.frmVaccination.controls['LastDosageDate'].setErrors(null);\n this.frmVaccination.controls['NextDosageDate'].setErrors(null);\n this.submitted = true;\n if (this.frmVaccination.invalid) {\n // console.log(this.frmVaccination.invalid)\n return;\n }\n this.submitted = false;\n if (this.userVaccination == null) {\n this.userVaccination = new TblUserVaccinations();\n }\n // console.log(this.authenticationService.currentUserValue.UserDetailsId)\n this.userVaccination.VaccineId = this.frmVaccination.get('VaccineId').value;\n if (this.frmVaccination.get('VaccinationName').value && this.frmVaccination.get('VaccineId').value==15 ) {\n this.userVaccination.VaccinationName = this.frmVaccination.get('VaccinationName').value;\n }\n //this.userVaccination.UserVaccinationId=this.frmVaccination.get('VaccinationName').value;}\n this.userVaccination.LastDosageDate = E.GetDateStringOnly(this.frmVaccination.get('LastDosageDate').value);\n this.userVaccination.NextDosageDate = E.GetDateStringOnly(this.frmVaccination.get('NextDosageDate').value);\n this.userVaccination.VaccinationType = this.frmVaccination.get('VaccinationType').value;\n this.userVaccination.Notes = this.frmVaccination.get('Notes').value;\n this.userVaccination.UserDetailsId = this.authenticationService.currentUserValue.UserDetailsId;\n\n\n if (E.ConvertToNumber(this.userVaccination.UserVaccinationId) == 0 && this.IsForEdit == false) {\n this.userVaccination.CreatedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.userVaccination.CreatedDate = E.GetTodayDateStringOnly();\n this.userVaccination.CreatedTime = E.GetTodayTimeStringOnly();\n this.userVaccination.ChangedDate = E.GetTodayDateStringOnly();\n this.userVaccination.ChangedTime = E.GetTodayTimeStringOnly();\n }\n else {\n this.userVaccination.ChangedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.userVaccination.ChangedDate = E.GetTodayDateStringOnly();\n this.userVaccination.ChangedTime = E.GetTodayTimeStringOnly();\n }\n this.loading = true;\n this.loadingScreenService.startLoading();\n // console.log(this.userVaccination)\n let response: Observable;\n this.vaccinationService.CreateUpdateUserVaccination(this.userVaccination)\n .subscribe(\n (result) => {\n this.loading = false;\n this.loadingScreenService.stopLoading();\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.RecordAdded) {\n message = this.currentAppLanguage.data.MY_VACCINATION_FORM.TOAST_MESSAGE_VACCINATION_ADDED_SUCCESSFULLY;\n }\n else if (result.status == Status.RecordUpdated) {\n message = this.currentAppLanguage.data.MY_VACCINATION_FORM.TOAST_MESSAGE_VACCINATION_UPDATED_SUCCESSFULLY;\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n if (message.length > 0) {\n this._toastrService.Success(message, Constant.SuccessToastrTitle);\n this.dialogRef.close();\n this.frmVaccination.reset();\n this.frmVaccination.patchValue({\n LastDosageDate: new Date(),\n NextDosageDate: new Date()\n });\n }\n else {\n this._toastrService.Error(errormessage, Constant.ErrorToastrTitle);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n\n }\n\n OnNextDosageDateChange(event) {\n let datefrom = this.frmVaccination.get('LastDosageDate').value;\n let dateto = this.frmVaccination.get('NextDosageDate').value;\n if (datefrom && dateto) {\n if (datefrom.getTime() > dateto.getTime()) {\n this.frmVaccination.get('LastDosageDate').setValue(dateto);\n }\n }\n if (dateto)\n this.maxFromDate = dateto;\n }\n\n onOtherField(vaccinelist: Array) {\n let _selectedvaccineid = this.frmVaccination.get('VaccineId').value;\n if (_selectedvaccineid) {\n let _selectedvaccine = vaccinelist.filter(x => x.VaccineId == _selectedvaccineid)[0];\n if (_selectedvaccine) {\n if (_selectedvaccine.VaccineName.toLocaleLowerCase() == 'other') {\n this.FieldHide = true;\n }\n else {\n this.FieldHide = false;\n this.userVaccination.VaccinationName = E.ConvertToString(_selectedvaccine.VaccineName);\n //this.userVaccination.VaccinationName = E.ConvertToString(id[this.frmVaccination.get('VaccineId').value - 1].VaccineName);\n }\n }\n // console.log(id[this.frmVaccination.get('VaccineId').value - 1].VaccineName)\n // console.log(id)\n }\n }\n onCloseButtonClick() {\n this.dialogRef.close();\n }\n GetCurrentLanguageJsonObject(currentAppLanguage) {\n var result;\n switch (currentAppLanguage) {\n case 'en':\n result = english;\n break;\n case 'in':\n result = gujarati;\n break;\n case 'hn':\n result = hindi;\n break;\n }\n return result;\n }\n get f() {\n return this.frmVaccination.controls;\n }\n\n}\n","\n
\n
\n
\n {{dialogTitle}} \n - {{userFamily?.FirstName| truncate:50}} \n \n \n \n
\n
\n \n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n \n \n {{'ABOUTME.ERROR_MESSAGE_REQUIRED_FIRST_NAME'|translate}}\n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
\n
\n \n \n \n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
\n
\n \n \n \n {{'ABOUTME.ERROR_MESSAGE_REQUIRED_LAST_NAME'|translate}}\n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
\n\n\n
\n \n
\n \n
\n \n
\n
\n \n {{'ABOUTME.ERROR_MESSAGE_REQUIRED_DATE_OF_BIRTH'\n | translate}}\n \n
\n
\n \n \n \n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
\n\n \n\n\n\n
\n \n
\n \n \n
\n \n
\n
\n

{{'ABOUTME.CHARACTER_COUNT'|translate}}: {{ characterCount }} / {{ maxlength }}

\n \n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_320'|translate}}\n {{'ABOUTME.ERROR_MESSAGE_INVALID_EMAIL'|translate}}\n \n \n {{'ABOUTME.ERROR_MESSAGE_EXIST_EMAIL'|translate}}\n \n
\n\n
\n \n
\n \n
\n \n
\n
\n
\n\n\n
\n \n
\n \n
\n \n
\n
\n

{{'ABOUTME.CHARACTER_COUNT'|translate}}: {{ characterCount2 }} / {{ maxlength2 }}

\n \n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_100'|translate}}\n \n
\n
\n \n \n \n \n {{'MY_FAMILIES.ERROR_MESSAGE_REQUIRED_MOBILE_NUMBER'\n | translate}}\n {{'MY_FAMILIES.ERROR_MESSAGE_MAX_LENGTH_12'\n | translate}}\n {{'ABOUTME.ERROR_MESSAGE_INVALID_DATA'\n | translate}}\n \n
\n
\n \n \n \n \n {{'ABOUTME.ERROR_MESSAGE_INVALID_DATA'|\n translate}}\n {{'PROFESSIONAL.ERROR_MESSAGE_MAX_LENGTH_12'\n | translate}}\n \n
\n
\n \n \n \n \n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
\n
\n \n \n \n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
\n
\n \n \n \n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
\n
\n \n \n \n {{'ABOUTME.ERROR_MESSAGE_REQUIRED_ADDRESSTOWN'|translate}}\n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_50'|translate}} \n \n
\n \n
\n \n \n \n {{'ABOUTME.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
\n
\n \n
\n
\n \n \n \n {{'ABOUTME.ERROR_MESSAGE_REQUIRED_ADDRESS_STATE'|translate}}\n \n
\n
\n \n \n \n {{'ABOUTME.ERROR_MESSAGE_REQUIRED_ADDRESS_COUNTRY'|translate}}\n \n
\n
\n \n \n \n {{'ABOUTME.ERROR_MESSAGE_REQUIRED_ADDRESS_REGION'|translate}}\n \n
\n \n
\n
\n
\n
\n
\n
\n \n\n \n\n \n
\n
","import { Component, OnInit, Inject, ViewChild } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { locale as english } from '../i18n/en';\nimport { locale as french } from '../i18n/fr';\nimport { locale as german } from '../i18n/de';\nimport { locale as portuguese } from '../i18n/pt';\nimport { locale as gujarati } from '../i18n/gj';\nimport { locale as hindi } from '../i18n/hn';\nimport { CoreTranslationService } from '@core/services/translation.service';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MatDialog, MatDialogConfig } from \"@angular/material/dialog\";\nimport { TextBoxComponent } from 'app/CustomComponents/text-box/text-box.component';\nimport { CoreConfigService } from '@core/services/config.service';\nimport { E } from 'assets/extensions/extensions';\nimport { AuthenticationService } from 'app/auth/service';\nimport { Status, Enums, MapModalType } from 'app/enums';\nimport { LoadingScreenService } from 'app/Services/loading-screen.service';\nimport { Observable, Subject, Subscription } from 'rxjs';\nimport { CustomToastrService } from 'app/Services/custom-toastr.service';\nimport { GlobalService } from 'app/Services/global.service';\nimport { Constant } from 'app/Classes/constant';\nimport { takeUntil } from 'rxjs/operators';\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\nimport {OwnFamilyService} from './own-family.service';\nimport { FamilyMemberLoadDataOutputModel, TblUserFamilyMembers } from '../about-me-model.model';\nimport {Clipboard} from '@angular/cdk/clipboard'\nimport { CountryISO } from 'ngx-intl-tel-input';\nimport { MapAddressComponent } from 'app/address/map-address/map-address.component';\nimport { MapAddressDataModel } from 'app/address/map-address/map-address-data-model.model';\nimport { NoosomPlans, NoosomCategoryID } from 'app/enums';\nimport { FriendsService } from '../friends/friends.service';\n@Component({\n selector: 'app-own-family',\n templateUrl: './own-family.component.html',\n styleUrls: ['./own-family.component.scss']\n})\nexport class OwnFamilyComponent implements OnInit {\n @ViewChild('FirstName') FirstName: TextBoxComponent;\n public coreConfig: any;\n public dialogTitle: string;\n public IsForEdit: boolean = false;\n currentAppLanguage: any;\n private _unsubscribeAll: Subject;\n public loading = false;\n public submitted = false;\n private clipboard: Clipboard;\n _data: number = 0;\n maxlength = 320;\n maxlength2 = 100;\n characterCount = 0;\n characterCount2 = 0;\n maxDate=new Date();\n public error = '';\n public frmFamily: FormGroup;\n SelectedCountryISO1: CountryISO;\n SelectedCountryISO2: CountryISO;\n public PlaceholderState: any;\n public PlaceholderCountry: any;\n public PlaceholderRegion: any;\n userFamily:TblUserFamilyMembers;\n familyMemberLoadDataOutputModel:FamilyMemberLoadDataOutputModel;\n private subStateList$?: Subscription;\n private subCountryList$?: Subscription;\n infoTooltip: string;\n dateformat: string;\n connectionStatus: string='';\n templcstg = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, localStorage.getItem('lcstrg'))) \n showIcon:boolean=false;\n constructor(\n private dialogRef: MatDialogRef,\n private _coreTranslationService: CoreTranslationService,\n private _coreConfigService: CoreConfigService,\n private modalService: NgbModal,\n private dialog: MatDialog,\n private authenticationService: AuthenticationService,\n private _formBuilder: FormBuilder,\n private loadingScreenService: LoadingScreenService,\n private globalService: GlobalService,\n private encrDecr: EncrDecrService,\n private _toastrService: CustomToastrService,\n public familyService: OwnFamilyService,\n public friendService:FriendsService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n ) { \n this._coreTranslationService.translate(english, french, german, portuguese, gujarati, hindi);\n this._unsubscribeAll = new Subject();\n this._data = data;\n this.dateformat=this.globalService.getDateFormat().toUpperCase()\n }\n ngAfterViewInit(): void {\n this.FirstName.textBox.nativeElement.focus();\n }\n ngOnInit(): void {\n this.userFamily= new TblUserFamilyMembers();\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n if (this.templcstg) {\n var plan = this.templcstg?.NoosomPlan;\n var userCategory = this.templcstg?.userCategory\n }\n if((plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test)){\n this.showIcon=true;\n }else{\n this.showIcon=true;\n }\n\n this.currentAppLanguage = this.GetCurrentLanguageJsonObject(this.coreConfig.app.appLanguage);\n if(this._data==1)\n this.dialogTitle = this.currentAppLanguage.data.MY_FAMILIES.DIALOG_TITLE_ADD_OWN_FAMILY_MEMBERS;\n if(this._data==2)\n this.dialogTitle = this.currentAppLanguage.data.MY_FAMILIES.DIALOG_TITLE_ADD_BIRTH_FAMILY_MEMBERS;\n if(this._data==3)\n this.dialogTitle = this.currentAppLanguage.data.MY_FAMILIES.DIALOG_TITLE_ADD_OTHER_FAMILY_MEMBERS;\n this.infoTooltip= this.currentAppLanguage.data.MY_FAMILIES.SECTION_TEXT;\n this.frmFamily = this._formBuilder.group({\n FirstName: ['', Validators.required],\n MiddleName:[''],\n LastName:['',Validators.required],\n Relationship:[''],\n EmailAddress:[''],\n DateofBirth: [],\n PersonalWebUrl:[''],\n NoosomWebUrl:[''],\n ContactNumber1:[''],\n ContactNumber2:[''],\n Address1: [''],\n Address2: [''],\n Address3: [''],\n AddressTown: [''],\n StateId: [],\n AddressPostCode: [''],\n CountryId: [],\n RegionId: [],\n });\n if (typeof this._data !== 'undefined') {\n // console.log('this._data')\n // console.log(this._data)\n if (this._data > 4) {\n this.IsForEdit = true;\n this.dialogTitle = this.currentAppLanguage.data.MY_FAMILIES.DIALOG_TITLE_EDIT_FAMILY_MEMBERS;\n }\n else {\n //Add Mode\n if (this.authenticationService.currentUserValue.CountryShortCode) {\n this.SelectedCountryISO1 = this.globalService.GetCountryISOObject(this.authenticationService.currentUserValue.CountryShortCode);\n this.SelectedCountryISO2 = this.globalService.GetCountryISOObject(this.authenticationService.currentUserValue.CountryShortCode);\n }\n }\n setTimeout(() => {\n this.loadingScreenService.startLoading();\n let response: Observable;\n this.familyService.GetUserFamilyMemberLoadData(this._data)\n .subscribe(\n (data) => {\n this.loadingScreenService.stopLoading();\n if (data.status == Status.Success) {\n this.familyMemberLoadDataOutputModel = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, data.data)));\n //console.log(this.familyMemberLoadDataOutputModel)\n if (this.familyMemberLoadDataOutputModel.UserFamilyMember) {\n this.userFamily = this.familyMemberLoadDataOutputModel.UserFamilyMember;\n this.frmFamily.patchValue({\n FirstName:this.userFamily.FirstName,\n MiddleName:this.userFamily.MiddleName,\n LastName:this.userFamily.LastName,\n Relationship:this.userFamily.Relationship,\n EmailAddress:this.userFamily.EmailAddress,\n DateofBirth: E.ConvertToDate(this.userFamily.DateofBirth),\n PersonalWebUrl:this.userFamily.PersonalWebUrl,\n NoosomWebUrl:this.userFamily.NoosomWebUrl,\n Address1:this.userFamily.Address1,\n Address2:this.userFamily.Address2,\n Address3:this.userFamily.Address3,\n AddressTown:this.userFamily.AddressTown,\n AddressPostCode:this.userFamily.AddressPostCode,\n RegionId:this.userFamily.RegionId,\n CountryId:this.userFamily.CountryId,\n StateId:this.userFamily.StateId,\n ContactNumber1: this.userFamily.ContactNumber1,\n ContactNumber2: this.userFamily.ContactNumber2,\n });\n\n // if (this.userFamily.CountryId) {\n // this.frmFamily.get('CountryId').enable();\n // }\n if (this.userFamily.StateId) {\n this.frmFamily.get('StateId').enable();\n }\n if (this.userFamily.ContactNumber1CountryCode)\n this.SelectedCountryISO1 = this.globalService.GetCountryISOObject(this.userFamily.ContactNumber1CountryCode);\n else\n this.SelectedCountryISO1 = this.globalService.GetCountryISOObject(this.authenticationService.currentUserValue.CountryShortCode);\n if (this.userFamily.ContactNumber2CountryCode)\n this.SelectedCountryISO2 = this.globalService.GetCountryISOObject(this.userFamily.ContactNumber2CountryCode);\n else\n this.SelectedCountryISO2 = this.globalService.GetCountryISOObject(this.authenticationService.currentUserValue.CountryShortCode);\n if(this.userFamily.ConnectionRequestStatusId){\n this.connectionStatus=this.CustomButtonRenderer(this.userFamily.ConnectionRequestStatusId)\n }\n\n }\n\n }\n else {\n this._toastrService.Error(E.ConvertToString(data.message), Constant.ErrorToastrTitle);\n }\n },\n (error) => {\n this._toastrService.Error(E.ConvertToString(error), Constant.ErrorToastrTitle);\n this.error = error;\n this.loadingScreenService.stopLoading();\n }\n );\n\n }, 500);\n //}\n this.userFamily.FamilyMemberTypeId=this.userFamily.FamilyMemberTypeId;\n }\n this.PlaceholderRegion = this.currentAppLanguage.data.MY_FAMILIES.PLACEHOLDER_REGION;\n this.PlaceholderCountry = this.currentAppLanguage.data.MY_FAMILIES.PLACEHOLDER_COUNTRY;\n this.PlaceholderState = this.currentAppLanguage.data.MY_FAMILIES.PLACEHOLDER_STATE;\n this.frmFamily.get('CountryId').disable();\n this.frmFamily.get('RegionId').disable();\n this.dialogRef.keydownEvents().subscribe(event => {\n if (event.key.toLocaleLowerCase() === \"escape\") {\n this.onCloseButtonClick();\n }\n });\n }\n\n updateCharacterCount(value: string,frm) {\n // console.log(this.maxlength)\n this.characterCount = value ? value.length : 0;\n if(frm){\n this.focusoutEmail(frm);\n }\n }\n\n updateCharacterCount2(value: string) {\n // console.log(this.maxlength)\n this.characterCount2 = value ? value.length : 0;\n }\n\n CustomButtonRenderer(params) {\n let value = params ? params : '';\n let btnType = '';\n switch (value) {\n case 3:\n btnType = 'btn-success';\n break;\n case 2:\n btnType = 'btn-warning';\n break;\n case 4:\n btnType = 'btn-danger';\n break;\n case 1:\n btnType = 'btn-grey';\n break;\n }\n\n // Create a container div element\n \n\n return btnType;\n}\n onSubmit(data?) {\n\n this.submitted = true;\n // if (this.frmFamily.invalid || this.frmFamily.get('Address1').value) {\n // if ([this.frmFamily.get('AddressTown').value, this.frmFamily.get('AddressPostCode').value, this.frmFamily.get('RegionId').value, this.frmFamily.get('CountryId').value, this.frmFamily.get('StateId').value].some(field => field === null || field === '')) {\n // return;\n // }\n // if (typeof this.userFamily.Latitude === 'undefined' || typeof this.userFamily.Longitude === 'undefined' || this.userFamily.Latitude == null || this.userFamily.Longitude == null) {\n // this._toastrService.Warning(this.currentAppLanguage.data.MY_JOBS.WARNING_MESSAGE_SELECT_LOCATION, Constant.WarningToastrTitle);\n // this.onSearchOnMapClick();\n // return;\n // }\n //console.log([this.frmFamily.get('AddressTown').value, this.frmFamily.get('AddressPostCode').value, this.frmFamily.get('RegionId').value, this.frmFamily.get('CountryId').value, this.frmFamily.get('StateId').value])\n this.frmFamily.controls['DateofBirth'].setErrors(null);\n if(this.frmFamily.invalid)\n {return;}\n // }\n this.submitted = false;\n if (this.userFamily == null) {\n this.userFamily = new TblUserFamilyMembers();\n }\n // console.log(E.GetDateStringOnly(this.frmFamily.get('DateofBirth').value))\n this.userFamily.FirstName = this.frmFamily.get('FirstName').value;\n this.userFamily.MiddleName = this.frmFamily.get('MiddleName').value;\n this.userFamily.LastName = this.frmFamily.get('LastName').value;\n this.userFamily.Relationship = this.frmFamily.get('Relationship').value;\n this.userFamily.EmailAddress = this.frmFamily.get('EmailAddress').value;\n this.userFamily.DateofBirth = E.GetDateStringOnly(this.frmFamily.get('DateofBirth').value);\n this.userFamily.PersonalWebUrl = this.frmFamily.get('PersonalWebUrl').value;\n this.userFamily.NoosomWebUrl = this.frmFamily.get('NoosomWebUrl').value;\n this.userFamily.Address1 = this.frmFamily.get('Address1').value;\n this.userFamily.Address2 = this.frmFamily.get('Address2').value;\n this.userFamily.Address3 = this.frmFamily.get('Address3').value;\n this.userFamily.AddressTown = this.frmFamily.get('AddressTown').value;\n if(this.frmFamily.get('ContactNumber1').value){\n this.userFamily.ContactNumber1 = this.frmFamily.get('ContactNumber1').value.number.replace(/\\s/g, \"\");\n this.userFamily.ContactNumber1CountryCode = this.frmFamily.get('ContactNumber1').value.countryCode.toLocaleLowerCase();}\n this.userFamily.AddressPostCode = this.frmFamily.get('AddressPostCode').value;\n this.userFamily.RegionId = this.frmFamily.get('RegionId').value;\n this.userFamily.CountryId = this.frmFamily.get('CountryId').value;\n this.userFamily.StateId = this.frmFamily.get('StateId').value;\n if (this.frmFamily.get('ContactNumber2').value) {\n this.userFamily.ContactNumber2 = this.frmFamily.get('ContactNumber2').value.number.replace(/\\s/g, \"\");\n this.userFamily.ContactNumber2CountryCode = this.frmFamily.get('ContactNumber2').value.countryCode.toLocaleLowerCase();\n }\n else { this.userFamily.ContactNumber2 = this.frmFamily.get('ContactNumber2').value; }\n this.userFamily.UserDetailsId= this.authenticationService.currentUserValue.UserDetailsId;\n if(this._data<=3){\n // console.log('this._data')\n // console.log(this._data)\n this.userFamily.FamilyMemberTypeId = this._data;}\n if (E.ConvertToNumber(this.userFamily.UserFamilyMemberId) == 0 && this.IsForEdit == false) {\n this.userFamily.CreatedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.userFamily.CreatedDate = E.GetTodayDateStringOnly();\n this.userFamily.CreatedTime = E.GetTodayTimeStringOnly();\n this.userFamily.ChangedDate = E.GetTodayDateStringOnly();\n this.userFamily.ChangedTime = E.GetTodayTimeStringOnly();\n }\n else {\n this.userFamily.ChangedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.userFamily.ChangedDate = E.GetTodayDateStringOnly();\n this.userFamily.ChangedTime = E.GetTodayTimeStringOnly();\n }\n this.loading = true;\n this.loadingScreenService.startLoading();\n let response: Observable;\n this.familyService.CreateUpdateUserFamilyMember(this.userFamily)\n .subscribe(\n (result) => {\n this.loading = false;\n this.loadingScreenService.stopLoading();\n var message = \"\"; var errormessage = \"\";\n // console.log(result)\n if (result.status == Status.RecordAdded) {\n message = this.currentAppLanguage.data.MY_FAMILIES.TOAST_MESSAGE_FAMILY_ADDED_SUCCESSFULLY;\n }\n else if (result.status == Status.RecordUpdated) {\n message = this.currentAppLanguage.data.MY_FAMILIES.TOAST_MESSAGE_FAMILY_UPDATED_SUCCESSFULLY;\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n if (message.length > 0) {\n this._toastrService.Success(message, Constant.SuccessToastrTitle);\n this.dialogRef.close(true);\n this.frmFamily.reset();\n this.frmFamily.patchValue({\n // DateOfBirth: new Date()\n });\n }\n else {\n this._toastrService.Error(errormessage, Constant.ErrorToastrTitle);\n }\n },\n (error) => {\n this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n\n }\n\n copyText(textToCopy: string) {\n if(textToCopy!=''){\n this.clipboard.copy(textToCopy);\n this._toastrService.Success('Copied.', Constant.SuccessToastrTitle);\n }\n }\n\n validateEmailAddressFriendsFamily(data){\n\n var requestModel = {\n UserDetailsId: this.authenticationService.currentUserValue.UserDetailsId,\n EmailAddress:data.controls['EmailAddress'].value\n }\n setTimeout(() => {\n this.loadingScreenService.startLoading();\n let response: Observable;\n this.friendService.ValidateEmailAddressFriendsFamily(requestModel)\n .subscribe(\n (result) => {\n this.loadingScreenService.stopLoading();\n if (result.status == Status.Error) {\n data.controls['EmailAddress'].setErrors({ 'exist': true });\n }\n else if (result.status == Status.Success) {\n data.controls['EmailAddress'].setErrors(null);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loadingScreenService.stopLoading();\n }\n );\n }, 50);\n }\n\n focusoutEmail(data){\n if ( !(data.controls['EmailAddress'].value == this.userFamily?.EmailAddress) &&\n data.controls['EmailAddress'].value !== undefined &&\n data.controls['EmailAddress'].value?.length > 0 && !((this.userFamily?.ConnectionRequestStatusId == 2) || (this.userFamily?.ConnectionRequestStatusId == 3))\n ) {\n var emailInput = data.controls['EmailAddress'].value;\n var emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[A-Za-z]{2,4}$/;\n \n if (!emailRegex.test(emailInput)) {\n // Invalid email format\n data.controls['EmailAddress'].setErrors({ 'pattern': true });\n } else {\n // Valid email format\n data.controls['EmailAddress'].setErrors(null); // Set errors to null to remove 'pattern' error\n this.validateEmailAddressFriendsFamily(data)\n }\n }\n }\n\n \n\n onSearchOnMapClick() {\n if (E.ConvertToString(this.frmFamily.get('Address1').value) != '' && E.ConvertToString(this.frmFamily.get('AddressTown').value) != ''\n && E.ConvertToString(this.frmFamily.get('AddressPostCode').value) != '') {\n this.openDialogMapAddress();\n }\n else {\n this._toastrService.Error(E.ConvertToString( this.warningMessage()+' is required'), Constant.ErrorToastrTitle);\n }\n }\n warningMessage(){\n let emptyFields= '';\n if ((this.frmFamily.get('Address1').value == '') || (this.frmFamily.get('Address1').value == null))\n emptyFields += \" \" +\"Street Name,\";\n if ((this.frmFamily.get('AddressTown').value == ('')) || (this.frmFamily.get('AddressTown').value == (null)))\n emptyFields += \" \" +\"Town/City,\";\n if ((this.frmFamily.get('AddressPostCode').value == '') || (this.frmFamily.get('AddressPostCode').value ==null))\n emptyFields += \" \" +\"Post/Zip Code\";\n\n return emptyFields;\n }\n\n GetMapSearchString(): string {\n let result = '';\n if (this.frmFamily.get('Address1').value)\n result += (this.frmFamily.get('Address1').value + ', ');\n if (this.frmFamily.get('AddressTown').value)\n result += (this.frmFamily.get('AddressTown').value + ', ');\n if (this.frmFamily.get('AddressPostCode').value)\n result += (this.frmFamily.get('AddressPostCode').value);\n return result;\n }\n openDialogMapAddress() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = false;\n dialogConfig.width = \"70%\"\n dialogConfig.height = \"55%\";\n dialogConfig.data = new MapAddressDataModel(MapModalType.SearchString, this.GetMapSearchString());\n const dialogRef: MatDialogRef = this.dialog.open(MapAddressComponent, dialogConfig);\n dialogRef.componentInstance.IsDraggable = true;\n dialogRef.componentInstance.IsSaveButtonVisible = true;\n dialogRef.componentInstance.IsSearchOnMap = true;\n dialogRef.afterClosed().subscribe(\n result => {\n // console.log('Map closed');\n // console.log(result);\n if (result) {\n if (E.ConvertToString(result.event) == 'SearchOnMap' && result.data) {\n //console.log('this.userFriend');\n // console.log(this.userFriend.Latitude);\n this.userFamily.Latitude = result.data.lat;\n this.userFamily.Longitude = result.data.long;\n }\n }\n // this.loadData();\n }\n );\n }\n\n onStateChange(event) {\n // console.log(event)\n // this.PlaceholderState = (event == null || (event != null && event < 1)) ? this.currentAppLanguage.data.MY_FAMILIES.PLACEHOLDER_STATE : \"\";\n if (event != null) {\n this.PlaceholderCountry = \"\";\n //this.loadingScreenService.startLoading();\n const path = 'api/State/GetCountryRegionId';\n this.subStateList$ = this.globalService.PostDataAnonymous(event, path).subscribe(\n (data) => {\n //this.loadingScreenService.stopLoading();\n var result = JSON.parse(data._body);\n if (result.status == Status.Success) {\n // console.log(JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data)))\n var countryRegion = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n this.frmFamily.get('CountryId').setValue(countryRegion?.CountryId);\n this.frmFamily.get('RegionId').setValue(countryRegion?.RegionId);\n // this.familyMemberLoadDataOutputModel.StateList = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n // if (this.familyMemberLoadDataOutputModel.StateList != null) {\n // this.frmFamily.get('StateId').enable();\n // }\n }\n },\n (error) => {\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n //this.loadingScreenService.stopLoading();\n }\n );\n }\n else {\n this.PlaceholderCountry = this.currentAppLanguage.data.MY_FAMILIES.PLACEHOLDER_STATE;\n this.frmFamily.get('RegionId').setValue(null);\n this.PlaceholderRegion = this.currentAppLanguage.data.MY_FAMILIES.PLACEHOLDER_REGION;\n this.frmFamily.get('RegionId').disable();\n this.frmFamily.get('CountryId').setValue(null);\n this.PlaceholderCountry = this.currentAppLanguage.data.MY_FAMILIES.PLACEHOLDER_COUNTRY;\n this.frmFamily.get('CountryId').disable();\n }\n }\n \n onCountryChange(event: any) {\n this.familyMemberLoadDataOutputModel.StateList = null;\n this.frmFamily.get('StateId').setValue(null);\n this.PlaceholderState = this.currentAppLanguage.data.MY_FAMILIES.PLACEHOLDER_STATE;\n this.frmFamily.get('StateId').disable();\n if (event != null) {\n this.PlaceholderCountry = \"\";\n //this.loadingScreenService.startLoading();\n const path = 'api/State/GetStateList';\n this.subStateList$ = this.globalService.PostDataAnonymous(event, path).subscribe(\n (data) => {\n //this.loadingScreenService.stopLoading();\n var result = JSON.parse(data._body);\n if (result.status == Status.Success) {\n this.familyMemberLoadDataOutputModel.StateList = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n if (this.familyMemberLoadDataOutputModel.StateList != null) {\n this.frmFamily.get('StateId').enable();\n }\n }\n },\n (error) => {\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n //this.loadingScreenService.stopLoading();\n }\n );\n }\n else {\n this.PlaceholderCountry = this.currentAppLanguage.data.MY_FAMILIES.PLACEHOLDER_COUNTRY;\n }\n }\n onRegionChange(event: any) {\n this.familyMemberLoadDataOutputModel.CountryList = null;\n this.frmFamily.get('CountryId').setValue(null);\n this.PlaceholderCountry = this.currentAppLanguage.data.MY_FAMILIES.PLACEHOLDER_COUNTRY;\n this.frmFamily.get('CountryId').disable();\n if (event != null) {\n this.PlaceholderRegion = \"\";\n //this.loadingScreenService.startLoading();\n const path = 'api/Country/GetCountryList';\n this.subCountryList$ = this.globalService.PostDataAnonymous(event, path).subscribe(\n (data) => {\n //this.loadingScreenService.stopLoading();\n var result = JSON.parse(data._body);\n if (result.status == Status.Success) {\n this.familyMemberLoadDataOutputModel.CountryList = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n if (this.familyMemberLoadDataOutputModel.CountryList != null) {\n this.frmFamily.get('CountryId').enable();\n }\n }\n },\n (error) => {\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n //this.loadingScreenService.stopLoading();\n }\n );\n }\n else {\n this.PlaceholderRegion = this.currentAppLanguage.data.MY_FAMILIES.PLACEHOLDER_REGION;\n }\n }\n\n\n openURL(url) {\n // console.log(url)\n if(url){\n const protocol = /^https?:\\/\\//i;\n const url1 = protocol.test(url) ? url : `http://${url}`;\n window.open(url1, '_blank');}\n else{\n this._toastrService.Warning('Please enter the URL')\n }\n }\n\n\n sendEmail(){\n if(this.frmFamily.get('EmailAddress').value)\n window.location.href = \"mailto:\" + this.frmFamily.get('EmailAddress').value;\n else{\n this._toastrService.Warning('Please enter the Email Address')\n }\n }\n\n onCloseButtonClick() {\n this.dialogRef.close(false);\n }\n GetCurrentLanguageJsonObject(currentAppLanguage) {\n var result;\n switch (currentAppLanguage) {\n case 'en':\n result = english;\n break;\n case 'in':\n result = gujarati;\n break;\n case 'hn':\n result = hindi;\n break;\n }\n return result;\n }\n ngOnDestroy() {\n if (this.subStateList$)\n this.subStateList$.unsubscribe();\n if (this.subCountryList$)\n this.subCountryList$.unsubscribe();\n }\n get f() {\n return this.frmFamily.controls;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { GlobalService } from 'app/Services/global.service';\nimport {TblUserFamilyMembers,FamilyMembersLoadDataInputModel} from '../about-me-model.model'\n@Injectable({\n providedIn: 'root'\n})\nexport class OwnFamilyService {\n public gridRefresh:boolean=false;\n constructor(\n private _http: HttpClient,private globalService: GlobalService\n ) { }\n CreateUpdateUserFamilyMember(userFamily:TblUserFamilyMembers){\n const path='api/UserFamilyMember/CreateUpdateUserFamilyMember';\n return this.globalService.PostDataById(userFamily , path);\n }\n GetUserFamilyMemberLoadData(_data:number){\n const path= 'api/UserFamilyMember/GetUserFamilyMemberLoadData';\n return this.globalService.PostDataById(_data , path);\n}\nGetUserFamilyMembers(familyMembersLoadDataInputModel:FamilyMembersLoadDataInputModel){\n const path= 'api/UserFamilyMember/GetUserFamilyMembers'\n return this.globalService.PostDataById(familyMembersLoadDataInputModel , path);\n}\nCreateUpdateUserFamilyMemberunauthorize(userFamily:TblUserFamilyMembers){\n const path='api/UserConnectionRequest/CreateUpdateUserFamilyMember';\n return this.globalService.PostDataAnonymous(userFamily , path);\n}\n\ngetGridRefresh():boolean{\n //console.log(this.gridRefresh)\n return this.gridRefresh;\n }\n\n setGridRefresh(refresh) {\n //console.log('refresh')\n this.gridRefresh = refresh;\n //console.log(this.gridRefresh)\n }\n}\n","import { PostConstruct } from \"ag-grid-community\";\nimport { Status } from \"app/enums\";\nexport const locale = {\n lang: 'en',\n data: {\n COMMON: {\n CONTROL_LABEL_EMAIL_ADDRESS: 'Email Address',\n PLACEHOLDER_EMAIL_ADDRESS: 'Type here...',\n PLACEHOLDER_TYPE_HERE: 'Type here...',\n PLACEHOLDER_MOBILE_NUMBER: '0123456789',\n BUTTON_TEXT_SAVE_CHANGES: 'Save Changes',\n ERROR_MESSAGE_REQUIRED_EMAIL_ADDRESS: 'The email is required!',\n ERROR_MESSAGE_INVALID_EMAIL: 'Please enter your email address in format:\\nyourname@example.com',\n ERROR_MESSAGE_CONNECTIONREFUSED: 'Could not connect with server.',\n COMMON_STATUS:\n [\n { ErrorCode: Status.UserNotFound, ErrorMessage: 'User could not be found.' }\n ],\n },\n PROFESSIONAL: {\n BUTTON_TEXT_SEARCH_ON_MAP: 'Search On Map',\n BUTTON_TEXT_ADD_A_PROFESSIONAL: 'Add a Professional',\n BUTTON_TEXT_CANCEL: 'Cancel',\n CONTROL_LABEL_SPECIALITY: 'Speciality',\n CONTROL_LABEL_PROFESSIONAL_NAME: \"Professional / Practice Name\",\n CONTROL_LABEL_ADDRESS1: 'Street Name',\n CONTROL_LABEL_ADDRESS2: 'Address Line 2',\n CONTROL_LABEL_ADDRESS3: 'Address Line 3',\n CONTROL_LABEL_REGION: 'Region',\n CONTROL_LABEL_COUNTRY: 'Country',\n CONTROL_LABEL_ADDRESS_STATE: 'State',\n CONTROL_LABEL_ADDRESS_TOWN: 'Town / City',\n CONTROL_LABEL_ADDRESS_POSTALCODE: 'Post / Zip Code',\n CONTROL_LABEL_EMAIL_ADDRESS: 'Email Address',\n CONTROL_LABEL_CONTACT1: 'Contact Number 1',\n CONTROL_LABEL_CONTACT2: 'Contact Number 2',\n CONTROL_LABEL_LAST_EXAM_DATE: 'Last Exam Date',\n CONTROL_LABEL_NEXT_EXAM_DATE: 'Next Exam Date',\n CONTROL_LABEL_NOTES: 'Notes',\n DIALOG_TITLE_ADD_PROFESSIONAL: 'Add a Professional',\n DIALOG_TITLE_EDIT_PROFESSIONAL: 'Edit a Professional',\n ERROR_MESSAGE_REQUIRED_SPECIALITY: 'The speciality is required!',\n ERROR_MESSAGE_REQUIRED_PROFESSIONALNAME: 'The professional name is required!',\n ERROR_MESSAGE_REQUIRED_ADDRESS: 'The address 1 is required!',\n ERROR_MESSAGE_REQUIRED_ADDRESSTOWN: 'The address town/city is required!',\n ERROR_MESSAGE_REQUIRED_ADDRESSPOSTCODE: 'The address post code is required!',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS: 'The email address is required!',\n ERROR_MESSAGE_REQUIRED_ADDRESS_TOWN: 'The address town is required!',\n ERROR_MESSAGE_REQUIRED_ADDRESS_STATE: 'The address state is required!',\n ERROR_MESSAGE_REQUIRED_ADDRESS_POST_CODE: 'The address post code is required!',\n ERROR_MESSAGE_REQUIRED_COUNTRY: 'The country is required!',\n ERROR_MESSAGE_REQUIRED_REGION: 'The region is required!',\n ERROR_MESSAGE_MAX_LENGTH_12: 'You have typed too many characters, maximum allowed is 12',\n ERROR_MESSAGE_MAX_LENGTH_50: 'You have typed too many characters, maximum allowed is 50',\n ERROR_MESSAGE_MAX_LENGTH_150: 'You have typed too many characters, maximum allowed is 150',\n ERROR_MESSAGE_MAX_LENGTH_320: 'You have typed too many characters, maximum allowed is 320',\n ERROR_MESSAGE_INVALID_EMAIL: 'Invalid Email Format!',\n ERROR_MESSAGE_INVALID_DATA: 'Invalid Contact Number!',\n ERROR_MESSAGE_REQUIRED_MOBILE_NUMBER: 'The contact number 1 is required!',\n ERROR_MESSAGE_LAST_EXAM_DATE_REQUIRED: 'The last exam date is required',\n ERROR_MESSAGE_NEXT_EXAM_DATE_REQUIRED: 'The next exam date is required',\n PLACEHOLDER_SELECT_REGION: 'Select Region',\n PLACEHOLDER_SELECT_COUNTRY: 'Select Country',\n PLACEHOLDER_SELECT_STATE: 'Select State',\n SECTION_TEXT: 'Add some information about any of the members of your healthcare team.',\n TOOLTIP_TOGGLE_CALENDAR: 'Toggle Calendar',\n TOOLTIP_TEXT_PRACTITIONER_SPECIALTY: 'Enter the specialty of your practitioner(s)',\n TOOLTIP_TEXT_STREET_NAME: 'This is a required field for mapping your location accurately; please enter the street name correctly',\n TOOLTIP_TEXT_ADDITIONAL_LOCATION_FIELD_1: 'This is an additional field for more precise location mapping',\n TOOLTIP_TEXT_ADDITIONAL_LOCATION_FIELD_2: 'This is an additional field for more precise location mapping',\n TOOLTIP_TEXT_TOWN_VILLAGE_CITY: 'Enter the Town, Village, or City of the address',\n TOOLTIP_TEXT_POSTAL_ZIPCODE: 'This is the Postal Zipcode associated with the address\\'s country',\n TOOLTIP_TEXT_REGION_CONTINENT: 'Choose the Region or Continent of the address; for example, United Kingdom will be in Europe',\n TOOLTIP_TEXT_COUNTRY: 'Select the Country of the address; for example, England will be in Europe',\n TOOLTIP_TEXT_STATE_PROVINCE: 'Choose the State or Province of the address; for example, Rotuma is a state or island in Fiji',\n TOOLTIP_TEXT_PRACTITIONER_EMAIL: 'Enter the practitioner(s) Email Address',\n TOOLTIP_TEXT_PRACTITIONER_MOBILE: 'Enter Mobile Number with the area code',\n TOOLTIP_TEXT_LAST_APPOINTMENT_DATE: 'This is your Last Exam Date',\n TOOLTIP_TEXT_NEXT_APPOINTMENT_DATE: 'This is your Next Exam Date',\n TOOLTIP_TEXT_NOTES: 'Add any specific notes that you have for this practitioner',\n TOOLTIP_TEXT_BUTTON_CLOSE: 'Close',\n TOAST_MESSAGE_PROFESSIONAL_ADDED_SUCCESSFULLY: 'Professional Added Successfully',\n TOAST_MESSAGE_PROFESSIONAL_UPDATED_SUCCESSFULLY: 'Professional Updated Successfully',\n WARNING_MESSAGE_SELECT_LOCATION: 'Please select location on a map.'\n }\n }\n};\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'fr',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Impossible de se connecter au serveur.'\n },\n SIGNIN: {\n WELCOME_TEXT: 'Bienvenue à Noosom',\n MOTIVATION_BADGE_SIGNIN:'Connectez-vous et commencez l\\'aventure',\n CONTROL_LABEL_EMAIL:'Adresse e-mail',\n CONTROL_LABEL_PASSWORD:'Mot de passe',\n CONTROL_LABEL_REMEMBERME:'Souviens-toi de moi',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Mot de passe oublié?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Créer un compte',\n TEXT_NEWONPLATFORM:'Nouveau sur notre plateforme ?',\n BUTTON_TEXT_LOGIN:'Connexion',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Vous avez réussi à vous connecter en tant qu\\'utilisateur {0} à Noosom. Vous pouvez maintenant commencer à explorer. Prendre plaisir! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Bienvenue, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'Le champ email est!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Le champ mot de passe est!',\n ERROR_MESSAGE_INVALID_EMAIL:'L\\'e-mail doit être une adresse e-mail valide',\n ERROR_MESSAGE_NOATTEMPTS:'Nom d\\'utilisateur ou mot de passe invalide. Il ne vous reste plus aucune tentative.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Votre adresse e-mail n\\'est pas vérifiée.
vérifiez d\\'abord votre adresse e-mail.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Vôtre compte a été bloqué.'},\n {ErrorCode:0,ErrorMessage:'Connexion réussie.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Nom d\\'utilisateur ou mot de passe invalide.
Il vous reste {0} tentatives.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administratrice'},{titlle:'Client',value:'Cliente'},{title:'User',value:'Utilisatrice'}]\n },\n SIGNUP:\n {\n MOTIVATION_BADGE_SIGNUP:'Inscrivez-vous et commencez l\\'aventure',\n STEPPER_TITLE_ACCOUNT:'Compte',\n STEPPER_SUB_TITLE_ACCOUNT:'Saisissez votre nom d\\'utilisateur',\n STEPPER_TITLE_PERSONAL:'Personnelle',\n STEPPER_SUB_TITLE_PERSONAL:'Entrez les informations',\n HEADING_ACCOUNT:'Information sur le compte',\n HEADING_PERSONAL:'Renseignements personnels',\n HEADING_SELECTPLAN:'Sélectionnez le plan',\n CONTROL_LABEL_USERID:'ID utilisateur Noosom',\n CONTROL_LABEL_EMAILADDRESS:'Adresse e-mail',\n CONTROL_LABEL_PASSWORD:'Mot de passe',\n CONTROL_LABEL_CONFIRMPASSWORD:'Confirmer votre mot de passe',\n CONTROL_LABEL_REGION:'Votre région',\n CONTROL_LABEL_HOMECOUNTRY:'Votre pays',\n CONTROL_LABEL_FIRSTNAME:'Prénom',\n CONTROL_LABEL_MIDDLENAME:'Deuxième nom',\n CONTROL_LABEL_LASTNAME:'Nom de famille',\n CONTROL_LABEL_BIRTHDATE:'Date de naissance',\n CONTROL_LABEL_MOBILENO:'Mobile Non',\n CONTROL_LABEL_SELECTPLAN:'Gratuit pour l\\'instant, ou achetez plus tard.',\n PLACEHOLDER_TYPEHERE:'Écrivez ici...',\n PLACEHOLDER_PASSWORD:'Mot de passe',\n PLACEHOLDER_REGION:'Choisissez une région',\n PLACEHOLDER_COUNTRY:'Choisissez le pays',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Précédente',\n BUTTON_TEXT_NEXT:'Prochaine',\n BUTTON_TEXT_SUBMIT:'Soumettre',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Vos données seront stockées',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'dans la région sélectionnée',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'Sélectionnez le pays',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Compte créé avec succès.',\n ERROR_MESSAGE_REQUIRED_USERID:'Le champ nom d\\'utilisateur est!',\n ERROR_MESSAGE_EXISTED_USERID:'Ce nom d\\'utilisateur a été pris. Veuillez en essayer un autre.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'Le champ adresse e-mail est!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Cette adresse e-mail a été prise. Veuillez en essayer un autre.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Le champ mot de passe est!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Doit contenir au moins un chiffre, une lettre majuscule et minuscule et un minimum de 8 caractères ou plus.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'Le mot de passe répété doit correspondre.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'Le champ de confirmation du mot de passe est!',\n ERROR_MESSAGE_REQUIRED_REGION:'Le champ région est!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'Le champ du pays',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'Le champ prénom est!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'Le champ du deuxième prénom est!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'Le champ nom de famille est!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'Le champ date de naissance est!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'Le mobile aucun champ n\\'est requis!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Veuillez sélectionner l\\'option de forfait gratuit!'\n }\n }\n};\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'de',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Es konnte keine Verbindung zum Server hergestellt werden.'\n },\n SIGNIN: {\n MOTIVATION_BADGE_SIGNIN:'Melden Sie sich an und starten Sie das Abenteuer',\n WELCOME_TEXT: 'Willkommen bei Noosom',\n CONTROL_LABEL_EMAIL:'E-Mail-Addresse',\n CONTROL_LABEL_PASSWORD:'Passwort',\n CONTROL_LABEL_REMEMBERME:'Erinnere dich an mich',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Haben Sie Ihr Passwort vergessen?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Ein Konto erstellen',\n TEXT_NEWONPLATFORM:'Neu auf unserer Plattform?',\n BUTTON_TEXT_LOGIN:'Anmeldung',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Sie haben sich erfolgreich als {0}-Benutzer bei Noosom angemeldet. Jetzt können Sie mit der Erkundung beginnen. Genießen! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Willkommen, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'Das E-Mail-Feld ist!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Das Passwortfeld ist!',\n ERROR_MESSAGE_INVALID_EMAIL:'E-Mail muss eine gültige E-Mail-Adresse sein',\n ERROR_MESSAGE_NOATTEMPTS:'Ungültiger Benutzername oder ungültiges Passwort.
Sie haben keine weiteren Versuche mehr.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Ihre E-Mail-Adresse wurde nicht verifiziert.
überprüfen Sie zuerst Ihre E-Mail-Adresse.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Dein Account wurde gesperrt.'},\n {ErrorCode:0,ErrorMessage:'Eingeloggt erfolgreich.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Ungültiger Benutzername oder ungültiges Passwort. Sie haben noch {0} Versuche.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administratorin'},{titlle:'Client',value:'Klientin'},{title:'User',value:'Benutzer'}]\n },\n SIGNUP:\n {\n MOTIVATION_BADGE_SIGNUP:'Melden Sie sich an und starten Sie das Abenteuer',\n STEPPER_TITLE_ACCOUNT:'Konto',\n STEPPER_SUB_TITLE_ACCOUNT:'Benutzernamen eingeben',\n STEPPER_TITLE_PERSONAL:'persönlich',\n STEPPER_SUB_TITLE_PERSONAL:'Information eingeben',\n HEADING_ACCOUNT:'Kontoinformationen',\n HEADING_PERSONAL:'Persönliche Informationen',\n HEADING_SELECTPLAN:'Plan auswählen',\n CONTROL_LABEL_USERID:'Noosom-Benutzer-ID',\n CONTROL_LABEL_EMAILADDRESS:'E-Mail-Addresse',\n CONTROL_LABEL_PASSWORD:'Passwort',\n CONTROL_LABEL_CONFIRMPASSWORD:'Bestätigen Sie Ihr Passwort',\n CONTROL_LABEL_REGION:'Ihre Region',\n CONTROL_LABEL_HOMECOUNTRY:'Ihr land',\n CONTROL_LABEL_FIRSTNAME:'Vorname',\n CONTROL_LABEL_MIDDLENAME:'Zweiter Vorname',\n CONTROL_LABEL_LASTNAME:'Nachname',\n CONTROL_LABEL_BIRTHDATE:'Geburtsdatum',\n CONTROL_LABEL_MOBILENO:'Handy-Nr',\n CONTROL_LABEL_SELECTPLAN:'Jetzt für immer kostenlos oder später kaufen.',\n PLACEHOLDER_TYPEHERE:'Geben Sie hier ein ...',\n PLACEHOLDER_PASSWORD:'Passwort',\n PLACEHOLDER_REGION:'Region wählen',\n PLACEHOLDER_COUNTRY:'Land auswählen',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Vorherige',\n BUTTON_TEXT_NEXT:'Nächste',\n BUTTON_TEXT_SUBMIT:'Einreichen',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Ihre Daten werden gespeichert',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'in der ausgewählten Region',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'land auswählen',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Konto erfolgreich erstellt.',\n ERROR_MESSAGE_REQUIRED_USERID:'Das Feld „Benutzername“ ist! Das Feld „E-Mail“ ist',\n ERROR_MESSAGE_EXISTED_USERID:'Dieser Benutzername wurde vergeben. Bitte versuchen Sie es mit einem anderen.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'Das Feld für die E-Mail-Adresse ist!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Diese E-Mail-Adresse wurde übernommen. Bitte versuchen Sie es mit einem anderen.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Das Passwortfeld ist!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Muss mindestens eine Zahl, einen Groß- und Kleinbuchstaben und mindestens 8 Zeichen enthalten.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'Passwort wiederholen muss übereinstimmen.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'Das Feld Passwort bestätigen ist!',\n ERROR_MESSAGE_REQUIRED_REGION:'Das Regionsfeld ist!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'Das Feld land ist!',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'Das Vornamensfeld ist!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'Das Feld für den zweiten Vornamen ist!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'Das Feld Nachname ist!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'Das Feld Geburtsdatum ist!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'Das Handy ist kein Pflichtfeld!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Bitte wählen Sie die kostenlose Planoption!',\n }\n }\n};\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'pt',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Não foi possível conectar com o servidor'\n },\n SIGNIN: {\n WELCOME_TEXT: 'Bem-vindo ao Noosom',\n MOTIVATION_BADGE_SIGNIN:'Faça login e comece a aventura',\n CONTROL_LABEL_EMAIL:'Endereço de email',\n CONTROL_LABEL_PASSWORD:'Senha',\n CONTROL_LABEL_REMEMBERME:'Lembre de mim',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Esqueceu sua senha?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Crie a sua conta aqui',\n TEXT_NEWONPLATFORM:'Novo em nossa plataforma?',\n BUTTON_TEXT_LOGIN:'Conecte-se',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Você fez login com sucesso como um usuário {0} no Noosom. Agora você pode começar a explorar. Apreciar! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Bem-vindo, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'O campo de e-mail!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'O campo de senha!',\n ERROR_MESSAGE_INVALID_EMAIL:'O e-mail deve ser um endereço de e-mail válido',\n ERROR_MESSAGE_NOATTEMPTS:'Nome de usuário ou senha inválidos. Não há tentativas restantes.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Seu endereço de e-mail não foi verificado.
primeiro varie seu endereço de e-mail.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Sua conta foi bloqueada.'},\n {ErrorCode:0,ErrorMessage:'Logado com sucesso.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Nome de usuário ou senha inválidos.
Você tem {0} tentativas restantes.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administrador'},{titlle:'Client',value:'Cliente'},{title:'User',value:'Do utilizador'}]\n },\n SIGNUP:\n {\n STEPPER_TITLE_ACCOUNT:'Conta',\n STEPPER_SUB_TITLE_ACCOUNT:'Insira nome de usuário',\n STEPPER_TITLE_PERSONAL:'Pessoal',\n STEPPER_SUB_TITLE_PERSONAL:'Insira as informações',\n HEADING_ACCOUNT:'Informação da conta',\n HEADING_PERSONAL:'Informação pessoal',\n HEADING_SELECTPLAN:'Selecione o plano',\n CONTROL_LABEL_USERID:'ID de usuário Noosom',\n CONTROL_LABEL_EMAILADDRESS:'Endereço de email',\n CONTROL_LABEL_PASSWORD:'Senha',\n CONTROL_LABEL_CONFIRMPASSWORD:'Confirme sua senha',\n CONTROL_LABEL_REGION:'Sua região',\n CONTROL_LABEL_HOMECOUNTRY:'Seu país de',\n CONTROL_LABEL_FIRSTNAME:'Primeiro nome',\n CONTROL_LABEL_MIDDLENAME:'Nome do meio',\n CONTROL_LABEL_LASTNAME:'Sobrenome',\n CONTROL_LABEL_BIRTHDATE:'Data de nascimento',\n CONTROL_LABEL_MOBILENO:'Celular não',\n CONTROL_LABEL_SELECTPLAN:'Grátis para sempre por agora, ou compre mais tarde.',\n PLACEHOLDER_TYPEHERE:'Digite aqui...',\n PLACEHOLDER_PASSWORD:'Senha',\n PLACEHOLDER_REGION:'Selecione a região',\n PLACEHOLDER_COUNTRY:'Selecione o pais',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Anterior',\n BUTTON_TEXT_NEXT:'Próxima',\n BUTTON_TEXT_SUBMIT:'Enviar',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Seus dados serão armazenados',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'na região selecionada',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'Selecione o país de',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Conta criada com sucesso.',\n ERROR_MESSAGE_REQUIRED_USERID:'O campo de nome de usuário!',\n ERROR_MESSAGE_EXISTED_USERID:'Esse nome de usuário foi usado. Por favor, tente outro.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'O campo de endereço de e-mail!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Esse endereço de e-mail foi usado. Por favor, tente outro.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'O campo de senha!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Deve conter pelo menos um número, uma letra maiúscula e uma minúscula e um mínimo de 8 ou mais caracteres.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'A senha repetida deve corresponder.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'O campo de confirmação de senha!',\n ERROR_MESSAGE_REQUIRED_REGION:'O campo região!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'O campo do país de!',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'O campo de nome!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'O campo de nome do meio!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'O campo sobrenome!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'O campo data de nascimento!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'O celular nenhum campo!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Selecione a opção de plano gratuito!'\n }\n }\n};\n","import { Status } from \"app/enums\";\r\n\r\nexport const locale = {\r\n lang: 'gj',\r\n data: {\r\n COMMON:{\r\n ERROR_MESSAGE_CONNECTIONREFUSED:'સર્વર સાથે કનેક્ટ કરી શકાયું નથી'\r\n },\r\n SIGNIN: {\r\n WELCOME_TEXT: 'નૂસોમ માં આપનું સ્વાગત છે',\r\n MOTIVATION_BADGE_SIGNIN:'સાઇન ઇન કરો અને સાહસ શરૂ કરો',\r\n CONTROL_LABEL_EMAIL:'ઈ - મેઈલ સરનામું',\r\n CONTROL_LABEL_PASSWORD:'પાસવર્ડ',\r\n CONTROL_LABEL_REMEMBERME:'મને યાદ રાખો',\r\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\r\n LINK_TEXT_LABEL_FORGOTPASSWORD:'તમારો પાસવર્ડ ભૂલી ગયા છો?',\r\n LINK_TEXT_LABEL_CREATEACCOUNT:'એક ખાતુ બનાવો',\r\n TEXT_NEWONPLATFORM:'અમારા પ્લેટફોર્મ પર નવા છો?',\r\n BUTTON_TEXT_LOGIN:'પ્રવેશ કરો',\r\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'તમે Noosom માં {0} વપરાશકર્તા તરીકે સફળતાપૂર્વક લૉગ ઇન કર્યું છે. હવે તમે અન્વેષણ કરવાનું શરૂ કરી શકો છો. આનંદ માણો! 🎉',\r\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 સ્વાગત છે, {0}!',\r\n ERROR_MESSAGE_REQUIRED_EMAIL:'ઈમેલ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_PASSWORD:'પાસવર્ડ આવશ્યક છે!',\r\n ERROR_MESSAGE_INVALID_EMAIL:'ઇમેઇલ એક માન્ય ઇમેઇલ સરનામું હોવું આવશ્યક છે',\r\n ERROR_MESSAGE_NOATTEMPTS:'અમાન્ય વપરાશકર્તાનામ અથવા પાસવર્ડ. તમારી પાસે કોઈ પ્રયાસો બાકી નથી.',\r\n LOGIN_STATUS:\r\n [\r\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'તમારું ઇમેઇલ સરનામું ચકાસાયેલ નથી.
પહેલા તમારું ઇમેઇલ સરનામું બદલો.'},\r\n {ErrorCode:Status.AccountLocked,ErrorMessage:'તમારું એકાઉન્ટ લોક કરી દેવામાં આવ્યું છે.'},\r\n {ErrorCode:0,ErrorMessage:'લૉગ-ઇન સફળ.'},\r\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'અમાન્ય વપરાશકર્તાનામ અથવા પાસવર્ડ.
તમારી પાસે {0} પ્રયાસો બાકી છે.'}\r\n ],\r\n DIGITS:[\"૧\",\"૨\",\"૩\",\"૪\"],\r\n ROLES:[{title:'Admin',value:'એડમિન'},{titlle:'Client',value:'ક્લાયન્ટ'},{title:'User',value:'વપરાશકર્તા'}]\r\n },\r\n SIGNUP:\r\n {\r\n MOTIVATION_BADGE_SIGNUP:'સાઇન અપ કરો અને સાહસ શરૂ કરો',\r\n STEPPER_TITLE_ACCOUNT:'એકાઉન્ટ',\r\n STEPPER_SUB_TITLE_ACCOUNT:'વપરાશકર્તા નામ દાખલ કરો',\r\n STEPPER_TITLE_PERSONAL:'અંગત',\r\n STEPPER_SUB_TITLE_PERSONAL:'માહિતી દાખલ કરો',\r\n HEADING_ACCOUNT:'ખાતાની માહિતી',\r\n HEADING_PERSONAL:'વ્યક્તિગત માહિતી',\r\n HEADING_SELECTPLAN:'પ્લાન પસંદ કરો',\r\n CONTROL_LABEL_USERID:'નૂસોમ વપરાશકર્તા આઈડી',\r\n CONTROL_LABEL_EMAILADDRESS:'ઈ - મેઈલ સરનામું',\r\n CONTROL_LABEL_PASSWORD:'પાસવર્ડ',\r\n CONTROL_LABEL_CONFIRMPASSWORD:'તમારા પાસવર્ડની ખાતરી કરો',\r\n CONTROL_LABEL_REGION:'તમારો પ્રદેશ',\r\n CONTROL_LABEL_HOMECOUNTRY:'તમારો દેશ',\r\n CONTROL_LABEL_FIRSTNAME:'પ્રથમ નામ',\r\n CONTROL_LABEL_MIDDLENAME:'પિતાનું નામ',\r\n CONTROL_LABEL_LASTNAME:'છેલ્લું નામ',\r\n CONTROL_LABEL_BIRTHDATE:'જન્મ તારીખ',\r\n CONTROL_LABEL_MOBILENO:'મોબાઈલ નમ્બર',\r\n CONTROL_LABEL_SELECTPLAN:'હમણાં માટે હંમેશ માટે મફત, અથવા પછીથી ખરીદો.',\r\n PLACEHOLDER_TYPEHERE:'અહી લખો...',\r\n PLACEHOLDER_PASSWORD:'પાસવર્ડ',\r\n PLACEHOLDER_REGION:'પ્રદેશ પસંદ કરો',\r\n PLACEHOLDER_COUNTRY:'દેશ પસંદ કરો',\r\n PLACEHOLDER_TELEPHONENUMBER:'૦૧૨૩૪૫૬૭૮૯',\r\n BUTTON_TEXT_PREVIOUS:'અગાઉના',\r\n BUTTON_TEXT_NEXT:'આગળ',\r\n BUTTON_TEXT_SUBMIT:'સબમિટ કરો',\r\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'તમારો ડેટા પસંદ કરેલ પ્રદેશમાં',\r\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'સંગ્રહિત કરવામાં આવશે',\r\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'દેશ પસંદ કરો',\r\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'એકાઉન્ટ સફળતાપૂર્વક બનાવ્યું.',\r\n ERROR_MESSAGE_REQUIRED_USERID:'યુઝરનેમ આવશ્યક છે!',\r\n ERROR_MESSAGE_EXISTED_USERID:'તે વપરાશકર્તા નામ લેવામાં આવ્યું છે. કૃપા કરીને બીજો પ્રયાસ કરો.',\r\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'ઈમેલ એડ્રેસ ફીલ્ડ છે!',\r\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'તે ઈમેલ એડ્રેસ લેવામાં આવ્યું છે. કૃપા કરીને બીજો પ્રયાસ કરો.',\r\n ERROR_MESSAGE_REQUIRED_PASSWORD:'પાસવર્ડ ફીલ્ડ છે!',\r\n ERROR_MESSAGE_INVALID_PASSWORD:'ઓછામાં ઓછા એક નંબર, એક અપરકેસ અને લોઅરકેસ અક્ષર અને ઓછામાં ઓછા 8 અથવા વધુ અક્ષરો હોવા જોઈએ.',\r\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'પુનરાવર્તિત પાસવર્ડ મેળ ખાતો હોવો જોઈએ.',\r\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'કન્ફર્મ પાસવર્ડ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_REGION:'પ્રદેશ ક્ષેત્ર આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'દેશ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'પ્રથમ નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'મધ્યમ નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_LASTNAME:'છેલ્લું નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'જન્મ તારીખ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_MOBILENO:'મોબાઇલ નંબર આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'કૃપા કરીને ફ્રી પ્લાન વિકલ્પ પસંદ કરો!'\r\n }\r\n }\r\n };\r\n ","import { Status } from \"app/enums\";\r\n\r\nexport const locale = {\r\n lang: 'hn',\r\n data: {\r\n COMMON: {\r\n CONTROL_LABEL_EMAIL_ADDRESS: 'ईमेल पता',\r\n PLACEHOLDER_EMAIL_ADDRESS: 'यहाँ लिखो...',\r\n PLACEHOLDER_TYPE_HERE: 'यहाँ लिखो...',\r\n PLACEHOLDER_MOBILE_NUMBER: '०१२३४५६७८९',\r\n BUTTON_TEXT_SAVE_CHANGES: 'परिवर्तनों को सुरक्षित करें',\r\n ERROR_MESSAGE_REQUIRED_EMAIL_ADDRESS: 'ईमेल की आवश्यकता है!',\r\n ERROR_MESSAGE_INVALID_EMAIL: 'कृपया अपना ईमेल पता प्रारूप में दर्ज करें:\\nyourname@example.com',\r\n ERROR_MESSAGE_CONNECTIONREFUSED: 'सर्वर से कनेक्ट नहीं हो सका.',\r\n COMMON_STATUS:\r\n [\r\n { ErrorCode: Status.UserNotFound, ErrorMessage: 'उपयोगकर्ता नहीं मिल सका।' }\r\n ],\r\n },\r\n PROFESSIONAL: {\r\n BUTTON_TEXT_SEARCH_ON_MAP: 'मानचित्र पर खोजें',\r\n BUTTON_TEXT_ADD_A_PROFESSIONAL: 'एक पेशेवर जोड़ें',\r\n BUTTON_TEXT_CANCEL: 'रद्द करें',\r\n CONTROL_LABEL_SPECIALITY: 'स्पेशलिटी',\r\n CONTROL_LABEL_PROFESSIONAL_NAME: 'पेशावर का नाम',\r\n CONTROL_LABEL_ADDRESS1: 'पता 1',\r\n CONTROL_LABEL_ADDRESS2: 'पता 2',\r\n CONTROL_LABEL_ADDRESS3: 'पता 3',\r\n CONTROL_LABEL_REGION: 'क्षेत्र',\r\n CONTROL_LABEL_COUNTRY: 'देश',\r\n CONTROL_LABEL_ADDRESS_STATE: 'पता राज्य',\r\n CONTROL_LABEL_ADDRESS_TOWN: 'पता नगर/शहर',\r\n CONTROL_LABEL_ADDRESS_POSTALCODE: 'पता डाक कोड',\r\n CONTROL_LABEL_EMAIL_ADDRESS: 'ई-मेल एड्रेस',\r\n CONTROL_LABEL_CONTACT1: 'संपर्क नंबर 1',\r\n CONTROL_LABEL_CONTACT2: 'संपर्क नंबर 2',\r\n CONTROL_LABEL_LAST_EXAM_DATE: 'अंतिम परीक्षा तिथि',\r\n CONTROL_LABEL_NEXT_EXAM_DATE: 'अगली परीक्षा तिथि',\r\n CONTROL_LABEL_NOTES: 'टिप्पणियाँ',\r\n DIALOG_TITLE_ADD_PROFESSIONAL: 'एक पेशेवर जोड़ें',\r\n // ERROR_MESSAGE_REQUIRED_SPECIALITY: 'विशेषज्ञता की आवश्यकता है!',\r\n // ERROR_MESSAGE_REQUIRED_PROFESSIONALNAME: 'पेशेवर नाम की आवश्यकता है!',\r\n // PLACEHOLDER_SELECT_REGION: 'क्षेत्र का चयन करें',\r\n // PLACEHOLDER_SELECT_COUNTRY: 'देश चुनें',\r\n // PLACEHOLDER_SELECT_STATE: 'राज्य चुनें',\r\n // SECTION_TEXT: 'अपनी स्वास्थ्य सेवा टीम के किसी भी सदस्य के बारे में कुछ जानकारी जोड़ें',\r\n // TOOLTIP_TOGGLE_CALENDAR: 'कैलेंडर टॉगल करें',\r\n // TOOLTIP_TEXT_PRACTITIONER_SPECIALTY: 'अपने विशेषज्ञ(ओं) की विशेषज्ञता दर्ज करें',\r\n // TOOLTIP_TEXT_STREET_NAME: 'यह स्थान को सटीकता से मैप करने के लिए एक आवश्यक फ़ील्ड है; कृपया सड़क का नाम सही दर्ज करें',\r\n // TOOLTIP_TEXT_ADDITIONAL_LOCATION_FIELD_1: 'यह और अधिक सटीक स्थान के मैपिंग के लिए एक अतिरिक्त फ़ील्ड है',\r\n // TOOLTIP_TEXT_ADDITIONAL_LOCATION_FIELD_2: 'यह और अधिक सटीक स्थान के मैपिंग के लिए एक अतिरिक्त फ़ील्ड है',\r\n // TOOLTIP_TEXT_TOWN_VILLAGE_CITY: 'पते के गाँव, गाँव या शहर दर्ज करें',\r\n // TOOLTIP_TEXT_POSTAL_ZIPCODE: 'यह पते के देश के संबंधित पोस्टल ज़िपकोड है',\r\n // TOOLTIP_TEXT_REGION_CONTINENT: 'पते का क्षेत्र या महाद्वीप चुनें; उदाहरण के लिए, संयुक्त राज्य यूनाइटेड किंगडम यूरोप में होगा',\r\n // TOOLTIP_TEXT_COUNTRY: 'पते का देश चुनें; उदाहरण के लिए, इंग्लैंड यूरोप में होगा',\r\n // TOOLTIP_TEXT_STATE_PROVINCE: 'पते का राज्य या प्रांत चुनें; उदाहरण के लिए, रोटुमा फिजी में एक राज्य या द्वीप है',\r\n // TOOLTIP_TEXT_PRACTITIONER_EMAIL: 'वैध (ओं) का ईमेल पता दर्ज करें',\r\n // TOOLTIP_TEXT_PRACTITIONER_MOBILE: 'क्षेत्र कोड के साथ मोबाइल नंबर दर्ज करें',\r\n // TOOLTIP_TEXT_LAST_APPOINTMENT_DATE: 'यह आपकी आखिरी नियुक्ति तिथि है',\r\n // TOOLTIP_TEXT_NEXT_APPOINTMENT_DATE: 'यह आपकी अगली नियुक्ति तिथि है',\r\n // TOOLTIP_TEXT_NOTES: 'इस वैधानिक के लिए आपके पास कोई विशेष नोट्स जोड़ें',\r\n // TOOLTIP_TEXT_BUTTON_CLOSE: 'बंद करना',\r\n \r\n DIALOG_TITLE_EDIT_PROFESSIONAL: 'एक पेशेवर को संपादित करें',\r\n ERROR_MESSAGE_REQUIRED_SPECIALITY: 'विशेषता आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_PROFESSIONALNAME: 'पेशेवर नाम आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_ADDRESS: 'पता 1 आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_ADDRESSTOWN: 'पता का शहर/नगर आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_ADDRESSPOSTCODE: 'पता का पोस्ट कोड आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS: 'ईमेल पता आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_ADDRESS_TOWN: 'पता का नगर आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_ADDRESS_STATE: 'पता का राज्य आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_ADDRESS_POST_CODE: 'पता का पोस्ट कोड आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_COUNTRY: 'देश आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_REGION: 'क्षेत्र आवश्यक है!',\r\n ERROR_MESSAGE_MAX_LENGTH_12: 'आपने बहुत अधिक वर्ण टाइप किए हैं, अधिकतम 12 वर्णों की अनुमति है',\r\n ERROR_MESSAGE_MAX_LENGTH_50: 'आपने बहुत अधिक वर्ण टाइप किए हैं, अधिकतम 50 वर्णों की अनुमति है',\r\n ERROR_MESSAGE_MAX_LENGTH_150: 'आपने बहुत अधिक वर्ण टाइप किए हैं, अधिकतम 150 वर्णों की अनुमति है',\r\n ERROR_MESSAGE_MAX_LENGTH_320: 'आपने बहुत अधिक वर्ण टाइप किए हैं, अधिकतम 320 वर्णों की अनुमति है',\r\n ERROR_MESSAGE_INVALID_EMAIL: 'अमान्य ईमेल प्रारूप!',\r\n ERROR_MESSAGE_INVALID_DATA: 'अमान्य संपर्क संख्या!',\r\n ERROR_MESSAGE_REQUIRED_MOBILE_NUMBER: 'संपर्क संख्या 1 आवश्यक है!',\r\n ERROR_MESSAGE_LAST_EXAM_DATE_REQUIRED: 'अंतिम परीक्षा तिथि आवश्यक है',\r\n ERROR_MESSAGE_NEXT_EXAM_DATE_REQUIRED: 'अगली परीक्षा तिथि आवश्यक है',\r\n PLACEHOLDER_SELECT_REGION: 'क्षेत्र का चयन करें',\r\n PLACEHOLDER_SELECT_COUNTRY: 'देश का चयन करें',\r\n PLACEHOLDER_SELECT_STATE: 'राज्य का चयन करें',\r\n SECTION_TEXT: 'अपने स्वास्थ्य देखभाल टीम के किसी भी सदस्य के बारे में कुछ जानकारी जोड़ें।',\r\n TOOLTIP_TOGGLE_CALENDAR: 'कैलेंडर टॉगल करें',\r\n TOOLTIP_TEXT_PRACTITIONER_SPECIALTY: 'अपने चिकित्सक की विशेषता दर्ज करें',\r\n TOOLTIP_TEXT_STREET_NAME: 'स्थान को सटीक रूप से दर्शाने के लिए यह एक आवश्यक फ़ील्ड है; कृपया सही गली का नाम दर्ज करें',\r\n TOOLTIP_TEXT_ADDITIONAL_LOCATION_FIELD_1: 'स्थान को अधिक सटीकता से दर्शाने के लिए एक अतिरिक्त फ़ील्ड',\r\n TOOLTIP_TEXT_ADDITIONAL_LOCATION_FIELD_2: 'स्थान को अधिक सटीकता से दर्शाने के लिए एक अतिरिक्त फ़ील्ड',\r\n TOOLTIP_TEXT_TOWN_VILLAGE_CITY: 'पते का नगर, गाँव, या शहर दर्ज करें',\r\n TOOLTIP_TEXT_POSTAL_ZIPCODE: 'यह पते के देश से संबंधित पोस्टल ज़िपकोड है',\r\n TOOLTIP_TEXT_REGION_CONTINENT: 'पते का क्षेत्र या महाद्वीप चुनें; उदाहरण के लिए, यूनाइटेड किंगडम यूरोप में है',\r\n TOOLTIP_TEXT_COUNTRY: 'पते का देश चुनें; उदाहरण के लिए, इंग्लैंड यूरोप में है',\r\n TOOLTIP_TEXT_STATE_PROVINCE: 'पते का राज्य या प्रांत चुनें; उदाहरण के लिए, रोटूमा फिजी का एक राज्य या द्वीप है',\r\n TOOLTIP_TEXT_PRACTITIONER_EMAIL: 'चिकित्सक का ईमेल पता दर्ज करें',\r\n TOOLTIP_TEXT_PRACTITIONER_MOBILE: 'क्षेत्र कोड के साथ मोबाइल नंबर दर्ज करें',\r\n TOOLTIP_TEXT_LAST_APPOINTMENT_DATE: 'यह आपकी अंतिम परीक्षा की तिथि है',\r\n TOOLTIP_TEXT_NEXT_APPOINTMENT_DATE: 'यह आपकी अगली परीक्षा की तिथि है',\r\n TOOLTIP_TEXT_NOTES: 'इस चिकित्सक के लिए आपके पास जो भी विशेष नोट्स हैं, उन्हें जोड़ें',\r\n TOOLTIP_TEXT_BUTTON_CLOSE: 'बंद करें',\r\n TOAST_MESSAGE_PROFESSIONAL_ADDED_SUCCESSFULLY: 'पेशेवर को सफलतापूर्वक जोड़ा गया',\r\n TOAST_MESSAGE_PROFESSIONAL_UPDATED_SUCCESSFULLY: 'पेशेवर को सफलतापूर्वक अपडेट किया गया',\r\n WARNING_MESSAGE_SELECT_LOCATION: 'कृपया मानचित्र पर स्थान का चयन करें।'\r\n }\r\n }\r\n};\r\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { GlobalService } from 'app/Services/global.service';\nimport { DeleteInputModel, DownloadFileInputModel } from 'app/Models/output-model';\nimport {TblUserHealthProviders} from 'app/about-me/about-me-model.model'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AddProfessionalService {\n\n constructor(\n private _http: HttpClient,private globalService: GlobalService\n ) { }\n GetUserHealthProviderLoadData(_data:number){\n const path='api/UserHealthProvider/GetUserHealthProviderLoadData'\n return this.globalService.PostDataById(_data, path);\n }\n CreateUpdateUserHealthProvider(userProfessional:TblUserHealthProviders){\n const path='api/UserHealthProvider/CreateUpdateUserHealthProvider'\n return this.globalService.PostDataById(userProfessional, path);\n }\n \n}\n","
\n
{{dialogTitle}}  \n - {{userProfessional?.Speciality}} \n \n \n \n
\n
\n \n
\n \n
\n
\n \n \n \n {{'PROFESSIONAL.ERROR_MESSAGE_REQUIRED_SPECIALITY'|translate}}\n {{'PROFESSIONAL.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
\n
\n \n \n \n {{'PROFESSIONAL.ERROR_MESSAGE_REQUIRED_PROFESSIONALNAME'|translate}}\n {{'PROFESSIONAL.ERROR_MESSAGE_MAX_LENGTH_150'|translate}}\n \n
\n
\n \n \n \n {{'PROFESSIONAL.ERROR_MESSAGE_REQUIRED_ADDRESS'|translate}}\n {{'PROFESSIONAL.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
\n
\n \n \n \n {{'PROFESSIONAL.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
\n
\n \n \n \n {{'PROFESSIONAL.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
\n
\n \n \n \n {{'PROFESSIONAL.ERROR_MESSAGE_REQUIRED_ADDRESSTOWN'|translate}}\n {{'PROFESSIONAL.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
\n \n
\n \n \n \n {{'PROFESSIONAL.ERROR_MESSAGE_REQUIRED_ADDRESSPOSTCODE'|translate}}\n {{'PROFESSIONAL.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
\n
\n \n
\n \n
\n \n \n \n {{'PROFESSIONAL.ERROR_MESSAGE_REQUIRED_ADDRESS_STATE'|translate}}\n \n
\n
\n \n \n \n {{'PROFESSIONAL.ERROR_MESSAGE_REQUIRED_COUNTRY'|translate}}\n \n
\n
\n \n \n \n {{'PROFESSIONAL.ERROR_MESSAGE_REQUIRED_REGION'|translate}}\n \n
\n\n\n
\n \n
\n \n
\n \n
\n
\n

{{'GRIDVIEW.CHARACTER_COUNT'|translate}}: {{ characterCount }} / {{ maxlength }}

\n \n {{'PROFESSIONAL.ERROR_MESSAGE_REQUIRED_EMAILADDRESS'|translate}}\n {{'PROFESSIONAL.ERROR_MESSAGE_MAX_LENGTH_320'|translate}}\n {{'PROFESSIONAL.ERROR_MESSAGE_INVALID_EMAIL'|translate}}\n \n
\n\n \n\n\n
\n \n \n \n \n {{'PROFESSIONAL.ERROR_MESSAGE_REQUIRED_MOBILE_NUMBER'\n | translate}}\n {{'PROFESSIONAL.ERROR_MESSAGE_MAX_LENGTH_12'\n | translate}}\n {{'PROFESSIONAL.ERROR_MESSAGE_INVALID_DATA'\n | translate}}\n \n
\n
\n \n \n \n \n {{'PROFESSIONAL.ERROR_MESSAGE_INVALID_DATA'|\n translate}}\n {{'PROFESSIONAL.ERROR_MESSAGE_MAX_LENGTH_12'\n | translate}}\n \n
\n\n
\n
\n \n
\n \n
\n \n
\n
\n \n {{'PROFESSIONAL.ERROR_MESSAGE_LAST_EXAM_DATE_REQUIRED'| translate}}\n \n
\n
\n
\n
\n \n
\n \n
\n \n
\n
\n \n {{'PROFESSIONAL.ERROR_MESSAGE_NEXT_EXAM_DATE_REQUIRED'| translate}}\n \n
\n
\n\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n \n\n \n\n \n
\n
","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { locale as english } from 'app/about-me/professional/add-professional/i18n/en';\nimport { locale as french } from 'app/about-me/professional/add-professional/i18n/fr';\nimport { locale as german } from 'app/about-me/professional/add-professional/i18n/de';\nimport { locale as portuguese } from 'app/about-me/professional/add-professional/i18n/pt';\nimport { locale as gujarati } from 'app/about-me/professional/add-professional/i18n/gj';\nimport { locale as hindi } from 'app/about-me/professional/add-professional/i18n/hn';\nimport { CoreTranslationService } from '@core/services/translation.service';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { TblUserHealthProviders, HealthProviderModel, HealthProviderLoadDataOutputModel } from 'app/about-me/about-me-model.model';\nimport { CoreConfigService } from '@core/services/config.service';\nimport { takeUntil } from 'rxjs/operators';\nimport { E } from 'assets/extensions/extensions';\nimport { AuthenticationService } from 'app/auth/service';\nimport { Status, Enums, MapModalType } from 'app/enums';\nimport { LoadingScreenService } from 'app/Services/loading-screen.service';\nimport { Observable, Subject } from 'rxjs';\nimport { CustomToastrService } from 'app/Services/custom-toastr.service';\nimport { GlobalService } from 'app/Services/global.service';\nimport { Constant } from 'app/Classes/constant';\nimport { AddProfessionalService } from 'app/about-me/professional/add-professional/add-professional.service'\nimport { CountryISO } from 'ngx-intl-tel-input';\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\nimport { MapAddressComponent } from 'app/address/map-address/map-address.component';\nimport { MapAddressDataModel } from 'app/address/map-address/map-address-data-model.model';\nimport { TextBoxComponent } from 'app/CustomComponents/text-box/text-box.component';\n@Component({\n selector: 'app-add-professional',\n templateUrl: './add-professional.component.html',\n styleUrls: ['./add-professional.component.scss']\n})\nexport class AddProfessionalComponent implements OnInit {\n @ViewChild('speciality') speciality: TextBoxComponent;\n public coreConfig: any;\n public dialogTitle: string;\n public IsForEdit: boolean = false;\n public maxToDate: Date = new Date();\n public maxFromDate: Date = new Date();\n public PlaceholderState;\n public PlaceholderCountry;\n public PlaceholderRegion;\n currentAppLanguage: any;\n private _unsubscribeAll: Subject;\n public frmProfessional: FormGroup;\n public loading = false;\n public submitted = false;\n _data: number = 0;\n public maxlength = 320;\n public characterCount = 0;\n public error = '';\n SelectedCountryISO1: CountryISO;\n SelectedCountryISO2: CountryISO;\n userProfessional: TblUserHealthProviders;\n healthProviderLoadDataOutputModel: HealthProviderLoadDataOutputModel;\n infoTooltip: string;\n dateformat: string;\n constructor(\n private dialogRef: MatDialogRef,\n private addProfessional: AddProfessionalService,\n private _toastrService: CustomToastrService,\n private _coreTranslationService: CoreTranslationService,\n private _coreConfigService: CoreConfigService,\n private modalService: NgbModal,\n private dialog: MatDialog,\n private authenticationService: AuthenticationService,\n private _formBuilder: FormBuilder,\n private loadingScreenService: LoadingScreenService,\n private globalService: GlobalService,\n private encrDecr: EncrDecrService,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) {\n this._coreTranslationService.translate(english, french, german, portuguese, gujarati, hindi);\n this._unsubscribeAll = new Subject();\n this._data = data;\n this.dateformat=this.globalService.getDateFormat().toUpperCase()\n }\n\n ngAfterViewInit(): void {\n this.speciality.textBox.nativeElement.focus();\n }\n ngOnInit(): void {\n this.userProfessional = new TblUserHealthProviders();\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n this.currentAppLanguage = this.GetCurrentLanguageJsonObject(this.coreConfig.app.appLanguage);\n this.dialogTitle = this.currentAppLanguage.data.PROFESSIONAL.DIALOG_TITLE_ADD_PROFESSIONAL;\n this.infoTooltip= this.currentAppLanguage.data.PROFESSIONAL.SECTION_TEXT;\n this.frmProfessional = this._formBuilder.group({\n Speciality: ['', Validators.required],\n ProfessionalName: ['', Validators.required],\n Address1: [''],\n Address2: [''],\n Address3: [''],\n AddressTown: [],\n StateId: [],\n AddressPostCode: [],\n EmailAddress: [''],\n CountryId: [],\n ContactNumber1: [],\n ContactNumber2: [],\n ContactNumber1CountryCode: [],\n ContactNumber2CountryCode: [],\n RegionId: [],\n LastExamDate: [],\n NextExamDate: [],\n Notes: []\n });\n if (typeof this._data !== 'undefined') {\n // console.log('this._data')\n // console.log(this._data)\n if (this._data > 0) {\n this.IsForEdit = true;\n this.dialogTitle = this.currentAppLanguage.data.PROFESSIONAL.DIALOG_TITLE_EDIT_PROFESSIONAL;\n }\n else {\n //Add Mode\n if (this.authenticationService.currentUserValue.CountryShortCode) {\n this.SelectedCountryISO1 = this.globalService.GetCountryISOObject(this.authenticationService.currentUserValue.CountryShortCode);\n this.SelectedCountryISO2 = this.globalService.GetCountryISOObject(this.authenticationService.currentUserValue.CountryShortCode);\n }\n }\n setTimeout(() => {\n this.loadingScreenService.startLoading();\n // console.log(this._data)\n let response: Observable;\n this.addProfessional.GetUserHealthProviderLoadData(this._data)\n .subscribe(\n (data) => {\n this.loadingScreenService.stopLoading();\n //console.log(data);\n if (data.status == Status.Success) {\n this.healthProviderLoadDataOutputModel = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, data.data)));\n\n // console.log(this.healthProviderLoadDataOutputModel)\n if (this.healthProviderLoadDataOutputModel.UserHealthProvider) {\n this.userProfessional = this.healthProviderLoadDataOutputModel.UserHealthProvider;\n this.frmProfessional.patchValue({\n Speciality: this.userProfessional.Speciality,\n ProfessionalName: this.userProfessional.ProfessionalName,\n Address1: this.userProfessional.Address1,\n Address2: this.userProfessional.Address2,\n Address3: this.userProfessional.Address3,\n RegionId: this.userProfessional.RegionId,\n CountryId: this.userProfessional.CountryId,\n StateId: this.userProfessional.StateId,\n AddressTown: this.userProfessional.AddressTown,\n AddressPostCode: this.userProfessional.AddressPostCode,\n EmailAddress: this.userProfessional.EmailAddress,\n ContactNumber1: this.userProfessional.ContactNumber1,\n ContactNumber2: this.userProfessional.ContactNumber2,\n LastExamDate: E.ConvertToDate(this.userProfessional.LastExamDate),\n NextExamDate: E.ConvertToDate(this.userProfessional.NextExamDate),\n Notes: this.userProfessional.Notes,\n // SelectedCountryISO :this.userInsurance.ContactNumberCountryCode.toLocaleUpperCase(),\n });\n if (this.userProfessional.ContactNumber1CountryCode)\n this.SelectedCountryISO1 = this.globalService.GetCountryISOObject(this.userProfessional.ContactNumber1CountryCode);\n else{\n this.SelectedCountryISO1 = this.globalService.GetCountryISOObject(this.authenticationService.currentUserValue.CountryShortCode);\n }\n if (this.userProfessional.ContactNumber2CountryCode)\n this.SelectedCountryISO2 = this.globalService.GetCountryISOObject(this.userProfessional.ContactNumber2CountryCode);\n else{\n this.SelectedCountryISO2 = this.globalService.GetCountryISOObject(this.authenticationService.currentUserValue.CountryShortCode);\n }\n }\n\n }\n else {\n this._toastrService.Error(E.ConvertToString(data.message), Constant.ErrorToastrTitle);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loadingScreenService.stopLoading();\n }\n );\n }, 500);\n //}\n }\n this.PlaceholderRegion = this.currentAppLanguage.data.PROFESSIONAL.PLACEHOLDER_REGION;\n this.PlaceholderCountry = this.currentAppLanguage.data.PROFESSIONAL.PLACEHOLDER_COUNTRY;\n this.PlaceholderState = this.currentAppLanguage.data.PROFESSIONAL.PLACEHOLDER_STATE;\n this.frmProfessional.get('CountryId').disable();\n // console.log('country')\n this.frmProfessional.get('RegionId').disable();\n\n this.dialogRef.keydownEvents().subscribe(event => {\n if (event.key.toLocaleLowerCase() === \"escape\") {\n this.onCloseButtonClick();\n }\n });\n }\n\n updateCharacterCount(value: string) {\n // console.log(this.maxlength)\n this.characterCount = value ? value.length : 0;\n }\n\n OnFocusOutEmailAddress(){\n if (\n this.frmProfessional.get('EmailAddress').value !== undefined &&\n this.frmProfessional.get('EmailAddress').value > 0\n ) {\n var emailInput = this.frmProfessional.get('EmailAddress').value;\n var emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[A-Za-z]{2,4}$/;\n // console.log(!emailRegex.test(emailInput),'--------------------- output')\n if (!emailRegex.test(emailInput)) {\n // Invalid email format\n this.frmProfessional.get('EmailAddress').setErrors({ 'pattern': true });\n } else {\n // Valid email format\n this.frmProfessional.get('EmailAddress').setErrors(null); // Set errors to null to remove 'pattern' error\n }\n }\n }\n\n onSubmit() {\n // if ( (this.frmProfessional.get('Address1').value !== ('' ) || this.frmProfessional.get('AddressTown').value !== ('' || null) || this.frmProfessional.get('AddressPostCode').value !== ('' || null)) && (typeof this.userProfessional.Latitude === 'undefined' || typeof this.userProfessional.Longitude === 'undefined' || this.userProfessional.Latitude == null || this.userProfessional.Longitude == null) )\n // {\n // this.onSearchOnMapClick();\n // return;\n // }\n this.frmProfessional.controls['LastExamDate'].setErrors(null);\n this.frmProfessional.controls['NextExamDate'].setErrors(null);\n this.submitted = true;\n if (this.frmProfessional.invalid) {\n return;\n }\n this.submitted = false;\n if (this.userProfessional == null) {\n this.userProfessional = new TblUserHealthProviders();\n }\n this.userProfessional.Speciality = this.frmProfessional.get('Speciality').value;\n this.userProfessional.ProfessionalName = this.frmProfessional.get('ProfessionalName').value;\n this.userProfessional.Address1 = this.frmProfessional.get('Address1').value;\n this.userProfessional.Address2 = this.frmProfessional.get('Address2').value;\n this.userProfessional.Address3 = this.frmProfessional.get('Address3').value;\n this.userProfessional.AddressTown = this.frmProfessional.get('AddressTown').value;\n this.userProfessional.StateId = this.frmProfessional.get('StateId').value;\n this.userProfessional.AddressPostCode = this.frmProfessional.get('AddressPostCode').value;\n this.userProfessional.EmailAddress = this.frmProfessional.get('EmailAddress').value;\n this.userProfessional.CountryId = this.frmProfessional.get('CountryId').value;\n if(this.frmProfessional.get('ContactNumber1').value)\n this.userProfessional.ContactNumber1 = this.frmProfessional.get('ContactNumber1').value.number.replace(/\\s/g, \"\");\n if(this.frmProfessional.get('ContactNumber1').value)\n this.userProfessional.ContactNumber1CountryCode = this.frmProfessional.get('ContactNumber1').value.countryCode.toLocaleLowerCase();\n if (this.frmProfessional.get('ContactNumber2').value) {\n this.userProfessional.ContactNumber2 = this.frmProfessional.get('ContactNumber2').value.number.replace(/\\s/g, \"\");\n this.userProfessional.ContactNumber2CountryCode = this.frmProfessional.get('ContactNumber2').value.countryCode.toLocaleLowerCase();\n }\n else { this.userProfessional.ContactNumber2 = this.frmProfessional.get('ContactNumber2').value; }\n this.userProfessional.RegionId = this.frmProfessional.get('RegionId').value;\n this.userProfessional.LastExamDate = E.GetDateStringOnly(this.frmProfessional.get('LastExamDate').value);\n this.userProfessional.NextExamDate = E.GetDateStringOnly(this.frmProfessional.get('NextExamDate').value);\n this.userProfessional.Notes = this.frmProfessional.get('Notes').value;\n this.userProfessional.UserDetailsId = this.authenticationService.currentUserValue.UserDetailsId;\n\n //this.userAddress.CurrentAddressYn = this.frmAddress.get('CurrentAddressYn').value;\n //console.log('this.userAddress');\n //console.log(this.userAddress);\n if (this.frmProfessional.get('CountryId').value) {\n // this.userAddress.AddressCounty = this.addressLoadDataOutputModel.CountryList.filter(c => c.CountryId == this.frmAddress.get('CountryId').value)[0].CountryName;\n }\n if (E.ConvertToNumber(this.userProfessional.UserHealthProviderId) == 0 && this.IsForEdit == false) {\n this.userProfessional.CreatedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.userProfessional.CreatedDate = E.GetTodayDateStringOnly();\n this.userProfessional.CreatedTime = E.GetTodayTimeStringOnly();\n this.userProfessional.ChangedDate = E.GetTodayDateStringOnly();\n this.userProfessional.ChangedTime = E.GetTodayTimeStringOnly();\n }\n else {\n this.userProfessional.ChangedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.userProfessional.ChangedDate = E.GetTodayDateStringOnly();\n this.userProfessional.ChangedTime = E.GetTodayTimeStringOnly();\n }\n this.loading = true;\n this.loadingScreenService.startLoading();\n // const path = 'api/UserHealthProvider/CreateUpdateUserHealthProvider';\n // let response: Observable;\n // console.log(this.userProfessional)\n this.addProfessional.CreateUpdateUserHealthProvider(this.userProfessional)\n // response = this.globalService.PostDataById(this.userProfessional, path);\n .subscribe(\n (result) => {\n this.loading = false;\n this.loadingScreenService.stopLoading();\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.RecordAdded) {\n message = this.currentAppLanguage.data.PROFESSIONAL.TOAST_MESSAGE_PROFESSIONAL_ADDED_SUCCESSFULLY;\n }\n else if (result.status == Status.RecordUpdated) {\n message = this.currentAppLanguage.data.PROFESSIONAL.TOAST_MESSAGE_PROFESSIONAL_UPDATED_SUCCESSFULLY;\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n if (message.length > 0) {\n this._toastrService.Success(message, Constant.SuccessToastrTitle);\n this.dialogRef.close();\n this.frmProfessional.reset();\n this.frmProfessional.patchValue({\n LastExamDate: new Date(),\n NextExamDate: new Date()\n });\n }\n else {\n this._toastrService.Error(errormessage, Constant.ErrorToastrTitle);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n\n }\n onStateChange(event) {\n if (event != null) {\n this.PlaceholderCountry = \"\";\n //this.loadingScreenService.startLoading();\n const path = 'api/State/GetCountryRegionId';\n var list = this.globalService.PostDataAnonymous(event, path).subscribe(\n (data) => {\n //this.loadingScreenService.stopLoading();\n var result = JSON.parse(data._body);\n if (result.status == Status.Success) {\n // console.log(JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data)))\n var countryRegion = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n this.frmProfessional.get('CountryId').setValue(countryRegion?.CountryId);\n this.frmProfessional.get('RegionId').setValue(countryRegion?.RegionId);\n // this.familyMemberLoadDataOutputModel.StateList = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n // if (this.familyMemberLoadDataOutputModel.StateList != null) {\n // this.frmFamily.get('StateId').enable();\n // }\n }\n },\n (error) => {\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n //this.loadingScreenService.stopLoading();\n }\n );\n }\n else {\n this.PlaceholderCountry = this.currentAppLanguage.data.PROFESSIONAL.PLACEHOLDER_STATE;\n this.frmProfessional.get('RegionId').setValue(null);\n this.PlaceholderRegion = this.currentAppLanguage.data.PROFESSIONAL.PLACEHOLDER_REGION;\n this.frmProfessional.get('RegionId').disable();\n this.frmProfessional.get('CountryId').setValue(null);\n this.PlaceholderCountry = this.currentAppLanguage.data.PROFESSIONAL.PLACEHOLDER_COUNTRY;\n this.frmProfessional.get('CountryId').disable();\n }\n }\n onCountryChange(event) {\n this.healthProviderLoadDataOutputModel.StateList = null;\n this.frmProfessional.get('StateId').setValue(null);\n this.PlaceholderState = this.currentAppLanguage.data.PROFESSIONAL.PLACEHOLDER_STATE;\n this.frmProfessional.get('StateId').disable();\n if (event != null) {\n this.PlaceholderCountry = \"\";\n this.loadingScreenService.startLoading();\n const path = 'api/State/GetStateList';\n let response: Observable;\n response = this.globalService.PostDataAnonymous(event, path);\n response.subscribe(\n (data) => {\n this.loadingScreenService.stopLoading();\n var result = JSON.parse(data._body);\n if (result.status == Status.Success) {\n this.healthProviderLoadDataOutputModel.StateList = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n if (this.healthProviderLoadDataOutputModel.StateList != null) {\n this.frmProfessional.get('StateId').enable();\n }\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n this.loadingScreenService.stopLoading();\n }\n );\n }\n else {\n this.PlaceholderCountry = this.currentAppLanguage.data.PROFESSIONAL.PLACEHOLDER_COUNTRY;\n }\n }\n sendEmail(){\n window.location.href = \"mailto:\" + this.frmProfessional.get('EmailAddress').value;\n}\n onRegionChange(event) {\n this.healthProviderLoadDataOutputModel.CountryList = null;\n this.frmProfessional.get('CountryId').setValue(null);\n this.PlaceholderCountry = this.currentAppLanguage.data.PROFESSIONAL.PLACEHOLDER_COUNTRY;\n this.frmProfessional.get('CountryId').disable();\n if (event != null) {\n this.PlaceholderRegion = \"\";\n this.loadingScreenService.startLoading();\n const path = 'api/Country/GetCountryList';\n let response: Observable;\n response = this.globalService.PostDataAnonymous(event, path);\n response.subscribe(\n (data) => {\n this.loadingScreenService.stopLoading();\n var result = JSON.parse(data._body);\n if (result.status == Status.Success) {\n this.healthProviderLoadDataOutputModel.CountryList = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n if (this.healthProviderLoadDataOutputModel.CountryList != null) {\n this.frmProfessional.get('CountryId').enable();\n }\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n this.loadingScreenService.stopLoading();\n }\n );\n }\n else {\n this.PlaceholderRegion = this.currentAppLanguage.data.PROFESSIONAL.PLACEHOLDER_REGION;\n }\n }\n OnNextExamDateChange(event) {\n let datefrom = this.frmProfessional.get('LastExamDate').value;\n let dateto = this.frmProfessional.get('NextExamDate').value;\n if (datefrom && dateto) {\n if (datefrom.getTime() > dateto.getTime()) {\n this.frmProfessional.get('LastExamDate').setValue(dateto);\n }\n }\n if (dateto)\n this.maxFromDate = dateto;\n }\n onSearchOnMapClick() {\n if (E.ConvertToString(this.frmProfessional.get('Address1').value) != '' && E.ConvertToString(this.frmProfessional.get('AddressTown').value) != ''\n && E.ConvertToString(this.frmProfessional.get('AddressPostCode').value) != '') {\n this.openDialogMapAddress();\n }\n else {\n this._toastrService.Error(E.ConvertToString( this.warningMessage()+' is required'), Constant.ErrorToastrTitle);\n }\n }\n warningMessage(){\n let emptyFields= '';\n if (this.frmProfessional.get('Address1').value == ('') || (null))\n emptyFields += \" \" +\"Street Name,\";\n if (this.frmProfessional.get('AddressTown').value == ('' || null))\n emptyFields += \" \" +\"Town/City,\";\n if (this.frmProfessional.get('AddressPostCode').value == ('' || null))\n emptyFields += \" \" +\"Post/Zip Code\";\n\n return emptyFields;\n }\n\n GetMapSearchString(): string {\n let result = '';\n if (this.frmProfessional.get('Address1').value)\n result += (this.frmProfessional.get('Address1').value + ', ');\n if (this.frmProfessional.get('AddressTown').value)\n result += (this.frmProfessional.get('AddressTown').value + ', ');\n if (this.frmProfessional.get('AddressPostCode').value)\n result += (this.frmProfessional.get('AddressPostCode').value);\n return result;\n }\n openDialogMapAddress() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = false;\n dialogConfig.width = \"70%\"\n dialogConfig.height = \"55%\";\n dialogConfig.data = new MapAddressDataModel(MapModalType.SearchString, this.GetMapSearchString());\n const dialogRef: MatDialogRef = this.dialog.open(MapAddressComponent, dialogConfig);\n dialogRef.componentInstance.IsDraggable = true;\n dialogRef.componentInstance.IsSaveButtonVisible = true;\n dialogRef.componentInstance.IsSearchOnMap = true;\n dialogRef.afterClosed().subscribe(\n result => {\n //console.log('Map closed');\n //console.log(result);\n if (result) {\n if (E.ConvertToString(result.event) == 'SearchOnMap' && result.data) {\n //console.log(this.userProfessional);\n //console.log(result.data);\n this.userProfessional.Latitude = result.data.lat;\n this.userProfessional.Longitude = result.data.long;\n //console.log(this.userProfessional.Latitude)\n }\n }\n // this.loadData();\n }\n );\n }\n onCloseButtonClick() {\n this.dialogRef.close();\n }\n GetCurrentLanguageJsonObject(currentAppLanguage) {\n var result;\n switch (currentAppLanguage) {\n case 'en':\n result = english;\n break;\n case 'in':\n result = gujarati;\n break;\n case 'hn':\n result = hindi;\n break;\n }\n return result;\n }\n get f() {\n return this.frmProfessional.controls;\n }\n}\n","import { AfterContentInit, AfterViewInit, Component, ElementRef, Inject, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { AuthenticationService } from 'app/auth/service';\nimport { Constant } from 'app/Classes/constant';\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\nimport { GlobalService } from 'app/Services/global.service';\nimport { Observable, Subject, Subscription, async } from 'rxjs';\nimport { locale as english } from '../i18n/en';\nimport { locale as french } from '../i18n/fr';\nimport { locale as german } from '../i18n/de';\nimport { locale as portuguese } from '../i18n/pt';\nimport { locale as gujarati } from '../i18n/gj';\nimport { locale as hindi } from '../i18n/hn';\nimport { CoreTranslationService } from '@core/services/translation.service';\nimport { CoreConfigService } from '@core/services/config.service';\nimport { map, takeUntil } from 'rxjs/operators';\nimport { AddressDocumentListOutputModel, AddressLoadDataOutputModel, TblUserAddresses } from '../address-model.model';\nimport { Status, Enums, MapModalType, RecordsType } from 'app/enums';\nimport { TextBoxComponent } from 'app/CustomComponents/text-box/text-box.component';\nimport { LoadingScreenService } from 'app/Services/loading-screen.service';\nimport { CustomToastrService } from 'app/Services/custom-toastr.service';\nimport { E } from 'assets/extensions/extensions';\nimport { FileItem, FileUploader } from 'ng2-file-upload';\nimport { BeforeSlideDetail } from 'lightgallery/lg-events';\nimport lgZoom from 'lightgallery/plugins/zoom';\nimport thumbnail from 'lightgallery/plugins/thumbnail';\nimport pager from 'lightgallery/plugins/pager';\nimport autoPlay from 'lightgallery/plugins/autoplay';\nimport lgvideo from 'lightgallery/plugins/video';\nimport lgVideo from 'lightgallery/plugins/video';\nimport vimeoVideo from 'lightgallery/plugins/video';\nimport videoThumbnail from 'lightgallery/plugins/video';\nimport { MapAddressComponent } from '../map-address/map-address.component';\nimport fullScreen from 'lightgallery/plugins/fullscreen';\nimport rotate from 'lightgallery/plugins/rotate';\nimport { MatDialog, MatDialogConfig } from \"@angular/material/dialog\";\nimport { MapAddressDataModel } from '../map-address/map-address-data-model.model';\nimport { LightGallery } from 'lightgallery/lightgallery';\nimport Swal from 'sweetalert2';\nimport { DeleteAttachmentInputModel, DeleteInputModel, DownloadFileInputModel, DownloadFileOutputModel } from 'app/Models/output-model';\nimport { SelectSyncFileManagerComponent } from 'app/sync-file-manager/select-sync-file-manager/select-sync-file-manager.component';\n// import { title } from 'process';\nimport { NgbModal, NgbNav, NgbPopover } from '@ng-bootstrap/ng-bootstrap';\nimport { Router, RouterLink } from '@angular/router';\nimport { GeneralService } from 'app/Services/general.service';\n@Component({\n selector: 'app-add-address',\n templateUrl: './add-address.component.html',\n styleUrls: ['./add-address.component.scss']\n})\nexport class AddAddressComponent implements OnInit, AfterContentInit {\n @ViewChild('addressTag') addressTag: TextBoxComponent;\n @ViewChild('notes') notes: ElementRef;\n @ViewChild('AddressGallery') lightGallery!: LightGallery;\n @ViewChild('popover', { static: false }) popover: NgbPopover;\n @ViewChild('fileInput') fileInput;\n @ViewChild('pagination', { static: false }) pagination: ElementRef;\n @ViewChild('nav') nav: NgbNav;\n public loading = false;\n public submitted = false;\n currentAppLanguage: any;\n public coreConfig: any;\n private _unsubscribeAll: Subject;\n public error = '';\n public dialogTitle: string;\n public PlaceholderState: any;\n public PlaceholderCountry: any;\n public PlaceholderRegion: any;\n public frmAddress: FormGroup;\n public IsForEdit: boolean = false;\n public IsForAbandon: boolean = false;\n public maxToDate: Date = new Date();\n public maxFromDate: Date = new Date();\n public pageAdvancedEllipses = 1;\n public pagesNumber;\n public DocumentList: AddressDocumentListOutputModel[] = [];\n public DocumentList1: AddressDocumentListOutputModel[] = [];\n public deleteDocumentsInputModel: Array = [];\n public downloadFileInputModel: DownloadFileInputModel;\n public _ImageUrlAPI: string = Constant.API + 'api/UserAddress/UploadUserAddressDocuments';\n public hasBaseDropZoneOver: boolean = false;\n public uploader: FileUploader = new FileUploader({\n url: this._ImageUrlAPI,\n isHTML5: true,\n method: \"PUT\",\n itemAlias: \"MultiFileUploaderAddress\",\n disableMultipart: false, // 'DisableMultipart' must be 'true' for formatDataFunction to be called.\n formatDataFunction: (item: FileItem) => item._file,\n formatDataFunctionIsAsync: false,\n maxFileSize: 1 * 1024 * 1024 * 1024,\n //Notes: do not add headers here.\n authToken: `Bearer ` + this.authenticationService.currentUserValue.Token,\n allowedFileType: [\"image\", \"tiff\", \"bmp\", \"png\", \"jpg\", \"jpeg\", \"pdf\", \"video\",\"mp4\", \"mpeg\", \"mov\", \"avi\", \"ogv\", \"webm\",\"flv\"] // \"doc\", \"docx\", \"xls\", \"xlsx\", \"ppt\",\n });\n uploaderWarning:boolean=false;\n forgotuploadWarning:boolean=false;\n GalleryItems: any = [];\n GalleryItems1: any = [];\n _data: number = 0;\n date: Date = new Date();\n addressLoadDataOutputModel$: Observable;\n addressLoadDataOutputModel: AddressLoadDataOutputModel = new AddressLoadDataOutputModel();\n userAddress: TblUserAddresses;\n settings: any = {\n counter: false,\n appendSubHtmlTo: '.lg-toolbar',\n commentBox: true,\n lgVideo: true,\n download: false,\n thumbnail: true,\n slideVideo: true,\n pager:false,\n autoplayFirstVideo: false,\n autoplayVideoOnSlide:false,\n plugins: [\n lgZoom,\n // pager,\n autoPlay,\n fullScreen,\n rotate,\n thumbnail,\n videoThumbnail,\n vimeoVideo,\n lgVideo,\n lgvideo,\n //share\n ] // comment, share (options are commented for future use)\n };\n\n private needRefresh = false;\n private subSaveAddress$?: Subscription;\n private subDownloadAddressAtt$?: Subscription;\n private subDeleteAddressAtt$?: Subscription;\n private subDeleteAddress$?: Subscription;\n deleteInputModel: DeleteInputModel = new DeleteInputModel();\n private subStateList$?: Subscription;\n private subCountryList$?: Subscription;\n public tab = 1;\n galleryRefresh:LightGallery;\n UserAddressDocument: any;\n cache: { [key: string]: string } = {};\n infoTooltip:string;\n uploadCount=0;\n dateformat: string;\n timeformat: string;\n dateformat1: string;\n page=0;\n\n constructor(\n private _formBuilder: FormBuilder,\n private _toastrService: CustomToastrService,\n private dialogRef: MatDialogRef,\n private globalService: GlobalService,\n private encrDecr: EncrDecrService,\n private dialog: MatDialog,\n private authenticationService: AuthenticationService,\n private _coreTranslationService: CoreTranslationService,\n private _coreConfigService: CoreConfigService,\n private loadingScreenService: LoadingScreenService,\n private modalService: NgbModal,\n private _router: Router,\n private generalService : GeneralService,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) {\n this._coreTranslationService.translate(english, french, german, portuguese, gujarati, hindi);\n this._unsubscribeAll = new Subject();\n this._data = data;\n this.settings.licenseKey=this.authenticationService.currentUserValue.Parameter.LightGalleryLicenseKey\n this.dateformat=this.globalService.getDateFormat().toUpperCase();\n this.dateformat1=this.globalService.getDateFormat();\n this.timeformat = this.globalService.getTimeFormat();\n }\n\n ngAfterContentInit(): void {\n setTimeout(() => {\n if (this.addressTag)\n this.addressTag.textBox.nativeElement.focus();\n if (this.notes)\n this.notes.nativeElement.focus();\n }, 500);\n }\n ngAfterViewChecked(): void {\n if (this.needRefresh) {\n // if (this.lightGallery)\n this.galleryRefresh.refresh();\n this.needRefresh = false;\n }\n }\n\n onBeforeClose = async (detail) => {\n this.galleryRefresh.refresh();\n }\n\n fileOverBase(event: boolean): void {\n this.hasBaseDropZoneOver = event;\n if(this.hasBaseDropZoneOver == false && this.uploader.queue.length>0){\n this.uploader.uploadAll();\n }\n }\n\n onInitGallery = (detail) => {\n this.lightGallery = detail.instance;\n this.galleryRefresh = detail.instance;\n const customDeleteButton = ``;\n const customDownloadButton = ``;\n const customHelpButton = ``;\n const $toolbar = this.lightGallery.$toolbar;\n $toolbar.append(customDeleteButton);\n $toolbar.append(customDownloadButton);\n $toolbar.append(customHelpButton);\n //$toolbar.append(refreshButton);\n document.getElementById(\"lg-custom-button-delete\").addEventListener(\"click\", async () => {\n const idname = detail.instance.galleryItems[detail.instance.index];\n await this.onDeleteDocument(idname.alt)\n let galleryItems1 = JSON.parse(JSON.stringify(detail.instance.galleryItems));\n const updatedGalleryItems = galleryItems1.filter((item, id) => id !== detail.instance.index);\n detail.instance.updateSlides(updatedGalleryItems, Math.max(detail.instance.index - 1, 0));\n detail.instance.slidesUpdated = true\n let slidesUpdated = false;\n //detail.instance.refresh();\n })\n\n document.getElementById(\"lg-custom-button-download\").addEventListener(\"click\", () => {\n const downloadDocument: AddressDocumentListOutputModel = new AddressDocumentListOutputModel;\n const idname = detail.instance.galleryItems[detail.instance.index];\n if(idname.src){\n downloadDocument.DocumentPath = idname.src;}\n else if(idname.video){\n downloadDocument.DocumentPath = JSON.parse(idname.video).source[0].src;\n }\n downloadDocument.UserAddressDocumentId = idname.alt;\n this.onDownloadDocument(downloadDocument)\n });\n document.getElementById(\"lg-custom-button-help\").addEventListener(\"click\", () => {\n this.supportFunction();\n });\n // document.getElementById(\"lg-custom-button-refresh\").addEventListener(\"click\", () => {\n // detail.instance.refresh();\n // });\n };\n\n onInitGallery1 = (detail) => {\n this.lightGallery = detail.instance;\n this.galleryRefresh = detail.instance;\n const customDeleteButton = ``;\n const customDownloadButton = ``;\n const customHelpButton = ``;\n // const refreshButton = ``\n const $toolbar = this.lightGallery.$toolbar;\n $toolbar.append(customDeleteButton);\n $toolbar.append(customDownloadButton);\n $toolbar.append(customHelpButton);\n //$toolbar.append(refreshButton);\n document.getElementById(\"lg-custom-button-delete1\").addEventListener(\"click\", async () => {\n const idname = detail.instance.galleryItems[detail.instance.index];\n await this.onDeleteDocument(idname.alt)\n let galleryItems1 = JSON.parse(JSON.stringify(detail.instance.galleryItems));\n const updatedGalleryItems = galleryItems1.filter((item, id) => id !== detail.instance.index);\n detail.instance.updateSlides(updatedGalleryItems, Math.max(detail.instance.index - 1, 0));\n detail.instance.slidesUpdated = true\n let slidesUpdated = false;\n //detail.instance.refresh();\n })\n\n document.getElementById(\"lg-custom-button-download1\").addEventListener(\"click\", () => {\n const downloadDocument: AddressDocumentListOutputModel = new AddressDocumentListOutputModel;\n const idname = detail.instance.galleryItems[detail.instance.index];\n if(idname.src){\n downloadDocument.DocumentPath = idname.src;}\n else if(idname.video){\n downloadDocument.DocumentPath = JSON.parse(idname.video).source[0].src;\n }\n downloadDocument.UserAddressDocumentId = idname.alt;\n this.onDownloadDocument(downloadDocument)\n });\n document.getElementById(\"lg-custom-button-help1\").addEventListener(\"click\", () => {\n this.supportFunction();\n });\n // document.getElementById(\"lg-custom-button-refresh\").addEventListener(\"click\", () => {\n // detail.instance.refresh();\n // });\n };\n\n\n supportFunction() {\n\n Swal.fire({\n title: \"Help!\",\n text: \"Information about the icons in the Light Gallery.\",\n imageUrl: 'assets/images/pages/raw-icon-labels.png',\n showCancelButton: false,\n confirmButtonColor: '#7367F0',\n //cancelButtonColor: '#E42728',\n confirmButtonText: \"Okay\",\n cancelButtonText: this.currentAppLanguage.data.ADDRESS.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n\n })\n\n }\n\n\n // loadData(){\n // const path = 'api/UserAddress/GetUserAddressLoadData';\n // let response: Observable;\n // response = this.globalService.PostDataById(this._data, path);\n // response.subscribe(\n // (result) => {\n // this.loadingScreenService.stopLoading();\n // if (result.status == Status.Success) {\n // this.addressLoadDataOutputModel = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)));\n // if (this.addressLoadDataOutputModel.AddressDocumentList) {\n // this.addressLoadDataOutputModel.AddressDocumentList.forEach((doc) => {\n // if (doc.FileType.toLocaleLowerCase() == \"images\") {\n // this.AddItemToGallery(doc.UserAddressDocumentId, doc.DocumentPath, doc.DocumentOldName, doc.FileType);\n // //this.needRefresh = true;\n // }\n // });\n // }\n // // return this.quickpostLoadDataOutputModel;\n // }\n // else {\n // }\n // },\n // (error) => {\n // this._toastrService.Error(error, Constant.ErrorToastrTitle);\n // this.error = error;\n // this.loadingScreenService.stopLoading();\n // }\n // );\n // }\n\n ngOnInit(): void {\n this.userAddress = new TblUserAddresses();\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n this.currentAppLanguage = this.GetCurrentLanguageJsonObject(this.coreConfig.app.appLanguage);\n this.dialogTitle = this.currentAppLanguage.data.ADDRESS.DIALOG_TITLE_ADD_ADDRESS;\n this.infoTooltip= this.currentAppLanguage.data.ADDRESS.INFO_TEXT;\n this.frmAddress = this._formBuilder.group({\n AddressTag: ['', Validators.required],\n AddressName: ['', Validators.required],\n Address1: ['', Validators.required],\n Address2: [''],\n Address3: [''],\n AddressTown: ['', Validators.required],\n CurrentAddressYn: [],\n StateId: [, Validators.required],\n AddressPostCode: ['', Validators.required],\n CountryId: [, Validators.required],\n RegionId: [, Validators.required],\n AddressFromDate: [, Validators.required],\n AddressToDate: [],\n Notes: []\n });\n if (typeof this._data !== 'undefined') {\n if (this._data > 0) { //Note: API is being called to load region list in add a new address.\n this.IsForEdit = true;\n this.dialogTitle = this.currentAppLanguage.data.ADDRESS.DIALOG_TITLE_EDIT_ADDRESS;\n }\n //setTimeout(() => {\n //this.loadingScreenService.startLoading();\n const path = 'api/UserAddress/GetUserAddressLoadData';\n var input = {\n recordId: this._data,\n docYN:false\n }\n this.addressLoadDataOutputModel$ = this.globalService.PostDataById(input, path)\n .pipe(\n map((data) => {\n if (data.status == Status.Success) {\n this.addressLoadDataOutputModel = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, data.data)));\n if (this.addressLoadDataOutputModel.AddressDocumentList) {\n this.addressLoadDataOutputModel.AddressDocumentList.forEach(async(doc) => {\n if (doc.DocumentSubType.toLocaleLowerCase() == \"documents\") {\n this.DocumentList.push(doc);\n }\n else if (doc.DocumentSubType.toLocaleLowerCase() == \"images\" || \"videos\") {\n await this.AddItemToGallery(doc.DocumentId, doc.DocumentPath, doc.DocumentOldName,doc.Size ,doc.DocumentSubType, doc.CreatedDate, doc.CreatedTime);\n this.needRefresh = true;\n }\n });\n }\n\n if (this.addressLoadDataOutputModel.UserAddress) {\n this.userAddress = this.addressLoadDataOutputModel.UserAddress;\n this.frmAddress.setValue({\n Address1: this.userAddress.Address1,\n Address2: this.userAddress.Address2,\n Address3: this.userAddress.Address3,\n AddressFromDate: E.ConvertToDate(this.userAddress.AddressFromDate),\n AddressToDate: E.ConvertToDate(this.userAddress.AddressToDate),\n AddressTag: this.userAddress.AddressTag,\n AddressName: this.userAddress.AddressName,\n AddressPostCode: this.userAddress.AddressPostCode,\n AddressTown: this.userAddress.AddressTown,\n RegionId: this.userAddress.RegionId,\n CountryId: this.userAddress.CountryId,\n StateId: this.userAddress.StateId,\n Notes: this.userAddress.Notes,\n CurrentAddressYn: this.userAddress.CurrentAddressYn,\n });\n // this.toggleSelection(this.userAddress.CurrentAddressYn)\n // if (this.userAddress.CountryId) {\n // this.frmAddress.get('CountryId').enable();\n // }\n if (this.userAddress.StateId) {\n this.frmAddress.get('StateId').enable();\n }\n }\n return this.addressLoadDataOutputModel;\n }\n else {\n this._toastrService.Error(E.ConvertToString(data.message), Constant.ErrorToastrTitle);\n }\n },\n (error: string) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n //this.loadingScreenService.stopLoading();\n }\n ));\n //}, 500);\n //}\n }\n this.PlaceholderRegion = this.currentAppLanguage.data.ADDRESS.PLACEHOLDER_REGION;\n this.PlaceholderCountry = this.currentAppLanguage.data.ADDRESS.PLACEHOLDER_COUNTRY;\n this.PlaceholderState = this.currentAppLanguage.data.ADDRESS.PLACEHOLDER_STATE;\n this.frmAddress.get('CountryId').disable();\n this.frmAddress.get('RegionId').disable();\n this.uploader.onAfterAddingFile = (file: any) => {\n if((this.uploader.queue.length>0) && (this.uploader.isUploading==false)){\n this.forgotuploadWarning=true;}\n file.withCredentials = false;\n };\n this.uploader.onBuildItemForm = (fileItem: any, form: any) => {\n fileItem.withCredentials = false;\n };\n this.uploader.onBeforeUploadItem = (fileItem) => {\n this.loadingScreenService.startLoading();\n this.uploader.setOptions({\n headers: [\n { name: 'Access-Control-Allow-Origin', value: \"*\" },\n { name: 'FileSize', value: fileItem.file.size },\n { name: 'UserDetailsID', value: E.ConvertToString(this.authenticationService.currentUserValue.UserDetailsId) },\n { name: 'UserAddressID', value: E.ConvertToString(this._data) }]\n });\n //this.uploader.setOptions({ url: fileItem.url + fileItem.file.name });\n return fileItem;\n };\n // this.uploader.onCompleteItem = (item: any, response: any, status: any, headers: any) => {\n // alert('File uploaded');\n // };\n this.uploader.response.subscribe(result => {\n if (result) {\n this.loadingScreenService.startLoading();\n let _result = JSON.parse(result);\n if(this.uploader.progress!=100){\n this.uploaderWarning=true;\n this.loadingScreenService.startLoading();\n }else if(this.uploader.progress==100){\n this.uploaderWarning=false;\n this.forgotuploadWarning=false;\n // this.uploadCount = 0;\n this.loadingScreenService.stopLoading();\n }\n if (_result.status == Status.Success) {\n this._toastrService.Success(\"File Uploaded Successfully\")\n this.uploadCount = this.uploadCount+1;\n let _AddressDocument = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, _result.data));\n // console.log(_AddressDocument,'------------------------------------ load -----------------------------------------')\n if (_AddressDocument.DocumentSubType.toLocaleLowerCase() == \"documents\") {\n this.DocumentList.push(_AddressDocument);\n this.DocumentList1.push(_AddressDocument);\n }\n else if (_AddressDocument.DocumentSubType.toLocaleLowerCase() == \"images\" || \"videos\") {\n this.AddItemToGallery(_AddressDocument.DocumentId, _AddressDocument.DocumentPath, _AddressDocument.DocumentOldName, _AddressDocument.Size,_AddressDocument.DocumentSubType, _AddressDocument.CreatedDate, _AddressDocument.CreatedTime);\n this.AddItemToGallery1(_AddressDocument.DocumentId, _AddressDocument.DocumentPath, _AddressDocument.DocumentOldName, _AddressDocument.Size,_AddressDocument.DocumentSubType, _AddressDocument.CreatedDate, _AddressDocument.CreatedTime);\n this.needRefresh = true;\n }\n }\n else if(_result.status == Status.StorageFull){\n this.loadingScreenService.stopLoading();\n // this.uploader.destroy();\n this.uploader.cancelAll();\n // this.uploader.removeFromQueue();\n // this.uploader.cancelItem()\n this.uploader.clearQueue()\n Swal.fire({\n title: \"Storage Full\",\n text: _result.message,\n icon: 'error',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: \"Buy More Storage\",\n cancelButtonText: this.currentAppLanguage.data.ADDRESS.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n })\n .then(\n (async (result) => {\n if (result.value) {\n //this.uploader.clearQueue();\n this.dialogRef.close(true);\n this._router.navigate(['/pages/pricing'])\n }\n })\n );\n \n }\n }\n // this.loadingScreenService.stopLoading();\n });\n\n this.dialogRef.keydownEvents().subscribe(event => {\n if (event.key.toLocaleLowerCase() === \"escape\") {\n this.onCancelClick();\n }\n });\n }\n\n loadPage(event,filetype){\n // this.savePosition();\n this.pageAdvancedEllipses\n this.getAttachmentList(filetype,event)\n // setTimeout(() => this.restorePosition(), 0);\n }\n\n getAttachmentList(FileType?,page?) {\n this.GalleryItems=[]\n this.DocumentList = [];\n //this.needRefresh = true;\n //if(page)\n this.page = page\n var getMyAttachmentsInputModel = {\n RecordId: this._data,\n Page:this.page,\n Pagesize:20,\n FileType:FileType,\n // QuickPostType:QuickPostType.Public,\n GetMetaDataYN:false\n }\n this.loadingScreenService.startLoading();\n this.generalService.GetUserAddressDocumentsById(getMyAttachmentsInputModel).subscribe(async result => {\n if (result) {\n if (result.status == Status.Success) {\n let _attachmentlist = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n if (_attachmentlist) {\n _attachmentlist.forEach(async(doc) => {\n if (doc.DocumentSubType.toLocaleLowerCase() == \"documents\") {\n this.DocumentList.push(doc);\n }\n else if (doc.DocumentSubType.toLocaleLowerCase() == \"images\" || \"videos\") {\n await this.AddItemToGallery(doc.DocumentId, doc.DocumentPath, doc.DocumentOldName,doc.Size ,doc.DocumentSubType, doc.CreatedDate, doc.CreatedTime);\n this.needRefresh = true;\n }\n if(_attachmentlist[0]?.TotalNumberOfRecords>0)\n this.pagesNumber=_attachmentlist[0]?.TotalNumberOfRecords;\n });\n } \n this.loadingScreenService.stopLoading();\n }\n else {\n this.loadingScreenService.stopLoading();\n this._toastrService.Error(result.Message, Constant.ErrorToastrTitle);\n }\n }\n });\n }\n\n checkQueueLength(queuLength){\n if((queuLength>0) && (this.uploader.isUploading==false)){\n this.forgotuploadWarning=true;}\n else if(queuLength==0)\n {this.forgotuploadWarning=false;\n this.uploaderWarning=false;\n }\n }\n\n async AddItemToGallery1(_id: number, _url: string, documentname: string, documentsize: string, filetype: string, CreatedDate:string, CreatedTime:string): Promise {\n // this.loadingScreenService.startLoading();\n const loadingItem = {\n id: _id,\n size: documentsize,\n src: _url,\n data: await this.generateVideoData(_url),\n thumb: 'https://noosom1sg.b-cdn.net/NoosomAssets/Images/noosomads/Logo-3-1.gif', // Placeholder or loading indicator for the thumbnail\n subHtml: documentname, documentsize,\n type: filetype,\n name: documentname,\n createdDate:CreatedDate,\n createdTime:CreatedTime\n };\n \n this.GalleryItems1.push(loadingItem);\n let thumb = this.cache[_url]; // Check if thumbnail is already in cache\n \n if (!thumb) {\n thumb = await this.generateThumbnailFromVideoURL(_url, filetype);\n this.cache[_url] = thumb; // Save the thumbnail to cache\n }\n \n const galleryItem = {\n id: _id,\n size: documentsize,\n src: _url,\n data: await this.generateVideoData(_url),\n thumb: thumb,\n subHtml: documentname, documentsize,\n type: filetype,\n name: documentname,\n createdDate:CreatedDate,\n createdTime:CreatedTime\n };\n const index = this.GalleryItems1.findIndex(item => item.id === _id);\n this.GalleryItems1[index] = galleryItem;\n }\n\n async AddItemToGallery(_id: number, _url: string, documentname: string, documentsize: string, filetype: string, CreatedDate:string, CreatedTime:string): Promise {\n const loadingItem = {\n id: _id,\n size: documentsize,\n src: _url,\n data: await this.generateVideoData(_url),\n thumb: 'https://noosom1sg.b-cdn.net/NoosomAssets/Images/noosomads/Logo-3-1.gif', // Placeholder or loading indicator for the thumbnail\n subHtml: documentname, documentsize,\n type: filetype,\n name: documentname,\n createdDate:CreatedDate,\n createdTime:CreatedTime\n };\n \n this.GalleryItems.push(loadingItem);\n let thumb = this.cache[_url]; // Check if thumbnail is already in cache\n \n if (!thumb) {\n thumb = await this.generateThumbnailFromVideoURL(_url, filetype);\n this.cache[_url] = thumb; // Save the thumbnail to cache\n }\n \n const galleryItem = {\n id: _id,\n size: documentsize,\n src: _url,\n data: await this.generateVideoData(_url),\n thumb: thumb,\n subHtml: documentname, documentsize,\n type: filetype,\n name: documentname,\n createdDate:CreatedDate,\n createdTime:CreatedTime\n };\n const index = this.GalleryItems.findIndex(item => item.id === _id);\n this.GalleryItems[index] = galleryItem;\n }\n\n\n onFileSelected(event){\n this.uploader.uploadAll();\n }\n \n \n async generateThumbnailFromVideoURL(videoURL: string, type: string): Promise {\n if (type === \"Videos\") {\n return new Promise((resolve, reject) => {\n const video = document.createElement('video');\n video.crossOrigin = 'anonymous'; // Enable cross-origin for video\n video.src = videoURL;\n \n video.addEventListener('loadedmetadata', () => {\n video.currentTime = 10.5; // Adjust as needed\n \n video.addEventListener('seeked', () => {\n const canvas = document.createElement('canvas');\n canvas.width = video.videoWidth;\n canvas.height = video.videoHeight;\n \n const ctx = canvas.getContext('2d');\n ctx.drawImage(video, 0, 0, canvas.width, canvas.height);\n \n // Draw a play icon in the center of the canvas\n const playIconSize = 250; // Adjust the size as needed\n ctx.fillStyle = 'rgba(255, 255, 255, 0.7)';\n ctx.beginPath();\n ctx.moveTo(canvas.width / 2 - playIconSize / 2, canvas.height / 2 - playIconSize / 2);\n ctx.lineTo(canvas.width / 2 + playIconSize / 2, canvas.height / 2);\n ctx.lineTo(canvas.width / 2 - playIconSize / 2, canvas.height / 2 + playIconSize / 2);\n ctx.closePath();\n ctx.fill();\n \n // Resolve with the data URL of the canvas\n resolve(canvas.toDataURL('image/png'));\n \n // Clean up\n canvas.remove();\n video.remove();\n });\n \n video.addEventListener('error', (error) => {\n resolve(\"assets/images/pages/Cannot_play.png\")\n // reject(`Error loading video: ${error.message}`);\n });\n });\n \n video.addEventListener('error', (error) => {\n resolve(\"assets/images/pages/Cannot_play.png\")\n // reject(`Error loading video metadata: ${error.message}`);\n });\n \n // Load the video\n video.load();\n });\n }\n }\n \n async generateVideoData(src): Promise {\n const videoData = {\n source: [{ src: src, type: 'video/mp4' }],\n attributes: { preload: true, controls: true }\n };\n return JSON.stringify(videoData);\n }\n\n onTabActive(tabNumber:number){\n if(tabNumber==1){this.infoTooltip= this.currentAppLanguage.data.ADDRESS.INFO_TEXT;}\n else if(tabNumber==2){\n this.infoTooltip= this.currentAppLanguage.data.ADDRESS.INFO_TEXT3;\n setTimeout(() => {\n if (this.notes)\n this.notes.nativeElement.focus();\n },500)\n }\n else if(tabNumber==3){this.infoTooltip= this.currentAppLanguage.data.ADDRESS.INFO_TEXT1;}\n else if(tabNumber==4){this.infoTooltip= this.currentAppLanguage.data.ADDRESS.INFO_TEXT2;\n this.getAttachmentList('Images');\n }\n else if(tabNumber==5){this.infoTooltip= this.currentAppLanguage.data.ADDRESS.INFO_TEXT4;\n this.getAttachmentList('Documents');\n }\n this.tab=tabNumber;\n }\n\n // toggleSelection(event){\n // if(event==true){\n // setTimeout(() => {\n // this.frmAddress.get('AddressToDate').setValue(null)\n // this.frmAddress.get('AddressToDate').setErrors(null)\n // this.todateRequired=false;\n // }, 100);\n \n // }\n // else {\n // this.frmAddress.get('AddressToDate').setErrors({ 'required': true })\n // this.todateRequired=true;\n // }\n // }\n\n onSubmit(tabs: boolean) {\n if (typeof this.userAddress.Latitude === 'undefined' || typeof this.userAddress.Longitude === 'undefined' || this.userAddress.Latitude == null || this.userAddress.Longitude == null) {\n this._toastrService.Warning(this.currentAppLanguage.data.ADDRESS.WARNING_MESSAGE_SELECT_LOCATION, Constant.WarningToastrTitle);\n this.onSearchOnMapClick();\n return;\n }\n if(this.uploaderWarning){\n Swal.fire({\n title: 'Warning',\n text: 'Your documents or files are still uploading. Please note that any remaining files will not be uploaded or will be terminated if you proceed to submit the form. Are you sure you want to continue?',\n icon: 'warning',\n showCancelButton: true,\n confirmButtonText: 'Continue',\n cancelButtonText: 'Cancel',\n customClass: {\n confirmButton: 'btn btn-danger',\n cancelButton: 'btn btn-success'\n }\n }).then((result) => {\n if (result.isConfirmed) {\n this.uploaderWarning=false;\n this.onSubmit(tabs)\n }\n else{\n this.nav.select(3);\n }\n });\n return;\n }\n if(this.forgotuploadWarning){\n Swal.fire({\n title: 'Warning',\n text: 'You have some documents or files to upload. Please note that all your files will not be uploaded or will be terminated if you proceed to submit the form. Are you sure you want to submit the form?',\n icon: 'warning',\n showCancelButton: true,\n confirmButtonText: 'Continue',\n cancelButtonText: 'Cancel',\n customClass: {\n confirmButton: 'btn btn-danger',\n cancelButton: 'btn btn-success'\n }\n }).then((result) => {\n if (result.isConfirmed) {\n this.forgotuploadWarning=false;\n this.onSubmit(tabs)\n }\n else{\n this.nav.select(3);\n }\n });\n return;\n }\n\n this.submitted = true;\n if (this.frmAddress.invalid) {\n return;\n }\n this.submitted = false;\n if (this.userAddress == null) {\n this.userAddress = new TblUserAddresses();\n }\n this.userAddress.AddressTag = this.frmAddress.get('AddressTag').value;\n this.userAddress.AddressName = this.frmAddress.get('AddressName').value;\n this.userAddress.Address1 = this.frmAddress.get('Address1').value;\n this.userAddress.Address2 = this.frmAddress.get('Address2').value;\n this.userAddress.Address3 = this.frmAddress.get('Address3').value;\n this.userAddress.AddressTown = this.frmAddress.get('AddressTown').value;\n this.userAddress.AddressPostCode = this.frmAddress.get('AddressPostCode').value;\n this.userAddress.RegionId = this.frmAddress.get('RegionId').value;\n this.userAddress.AddressFromDate = E.GetDateStringOnly(this.frmAddress.get('AddressFromDate').value);\n this.userAddress.AddressToDate = E.GetDateStringOnly(this.frmAddress.get('AddressToDate').value);\n this.userAddress.UserDetailsId = this.authenticationService.currentUserValue.UserDetailsId;\n this.userAddress.CountryId = this.frmAddress.get('CountryId').value;\n this.userAddress.StateId = this.frmAddress.get('StateId').value;\n this.userAddress.Notes = this.frmAddress.get('Notes').value;\n if (this.frmAddress.get('CurrentAddressYn').value)\n this.userAddress.CurrentAddressYn = this.frmAddress.get('CurrentAddressYn').value;\n else { this.userAddress.CurrentAddressYn = false }\n if (this.frmAddress.get('CountryId').value) {\n this.userAddress.AddressCounty = this.addressLoadDataOutputModel.CountryList.filter(c => c.CountryId == this.frmAddress.get('CountryId').value)[0].CountryName; }\n if (E.ConvertToNumber(this.userAddress.UserAddressesId) == 0 && this.IsForEdit == false) {\n this.userAddress.CreatedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.userAddress.CreatedDate = E.GetTodayDateStringOnly();\n this.userAddress.CreatedTime = E.GetTodayTimeStringOnly();\n this.userAddress.ChangedDate = E.GetTodayDateStringOnly();\n this.userAddress.ChangedTime = E.GetTodayTimeStringOnly();}\n else {\n this.userAddress.ChangedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.userAddress.ChangedDate = E.GetTodayDateStringOnly();\n this.userAddress.ChangedTime = E.GetTodayTimeStringOnly();}\n if (this.tab <= 2 || this.IsForEdit) {\n this.loading = true;\n const path = 'api/UserAddress/CreateUpdateUserAddress';\n let response: Observable;\n response = this.globalService.PostDataById(this.userAddress, path)\n response.subscribe(\n (result) => {\n this.loading = false;\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.RecordAdded) {\n message = this.currentAppLanguage.data.ADDRESS.TOAST_MESSAGE_ADDRESS_ADDED_SUCCESSFULLY;\n this.tab = this.tab + 1;\n this.nav.select(this.tab)\n if(this.tab==2){\n setTimeout(() => {\n if (this.notes)\n this.notes.nativeElement.focus();\n },500)\n }\n const jsonString = this.encrDecr.get(Constant.EncrDecrKey, result.data);\n const parsedObject = JSON.parse(jsonString);\n this._data = parsedObject.Data.UserAddressId;\n this.userAddress.UserAddressesId=parsedObject.Data.UserAddressId;\n this.userAddress.UserAddressId=parsedObject.Data.UserAddressId;\n this.IsForAbandon=true;\n }\n else if (result.status == Status.RecordUpdated) {\n message = this.currentAppLanguage.data.ADDRESS.TOAST_MESSAGE_ADDRESS_UPDATED_SUCCESSFULLY;\n if(!tabs)\n {this.tab=this.tab+1\n this.nav.select(this.tab) \n }\n if(this.tab == 4){\n this.getAttachmentList('Images');\n }\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n if (message.length > 0) {\n this._toastrService.Success(message, Constant.SuccessToastrTitle);\n if ((this.tab == 1) || tabs) {\n this.dialogRef.close(true);\n this.frmAddress.reset();\n this.frmAddress.patchValue({\n AddressFromDate: new Date(),\n AddressToDate: new Date()\n });}\n (this.frmAddress.get('AddressTag')).nativeElement.focus();\n }\n else {\n this._toastrService.Error(errormessage, Constant.ErrorToastrTitle);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n }\n else if (this.tab >= 2 && this.tab <= 5) {\n this.tab = this.tab + 1;\n this.nav.select(this.tab)\n if(this.tab == 5){\n this.getAttachmentList('Documents');\n }\n if (tabs) {\n this.dialogRef.close(true);\n this.frmAddress.reset();\n }\n }\n }\n\n async OnAddressDeleteClick() {\n Swal.fire({\n title: this.currentAppLanguage.data.ADDRESS.SWEET_ALERT_TITLE_ADDRESS_TEXT,\n text: this.currentAppLanguage.data.ADDRESS.SWEET_ALERT_TEXT,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: this.currentAppLanguage.data.ADDRESS.SWEET_ALERT_CONFIRM_BUTTON_TEXT,\n cancelButtonText: this.currentAppLanguage.data.ADDRESS.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n })\n .then(\n (async (result) => {\n if (result.value) {\n const UserAddressId = this._data\n const a = await this.DeleteMyAddress(UserAddressId);\n }\n })\n );\n }\n\n async DeleteMyAddress(UserAddressId: number) {\n this.loadingScreenService.startLoading();\n this.deleteInputModel = {\n DeleteID: UserAddressId,\n UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId\n }\n let promise = new Promise((resolve, reject) => {\n var Result: boolean;\n const path = 'api/UserAddress/DeleteUserAddress';\n this.subDeleteAddress$ = this.globalService.PostDataById(this.deleteInputModel, path).subscribe(\n (data) => {\n this.loadingScreenService.stopLoading();\n var result = JSON.parse(JSON.stringify(data));\n if (result.status == Status.Success) {\n Swal.fire({\n icon: 'success',\n title: 'Deleted!',\n text: E.ConvertToString(result.message),\n customClass: {\n confirmButton: 'btn btn-success'\n }\n });\n this.dialogRef.close(true);\n this.frmAddress.reset();\n Result = true;\n }\n else {\n this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n Result = false;\n }\n resolve(Result);\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n this.loadingScreenService.stopLoading();\n }\n );\n });\n return await promise;\n }\n\n async onDownloadAllDocument() {\n for (let index = 0; index < this.DocumentList.length; index++) {\n const _doc = this.DocumentList[index];\n var _res = await this.DownloadMyAddressDocument(_doc, true);\n if (_res) {\n if ((index + 1) === this.DocumentList.length) {\n this._toastrService.Success('Downloaded All Successfully.', Constant.SuccessToastrTitle);\n }\n } else {\n break;\n }\n }\n }\n async onDownloadDocument(document: AddressDocumentListOutputModel) {\n if (document) {\n await this.DownloadMyAddressDocument(document);\n }\n }\n async DownloadMyAddressDocument(Document: AddressDocumentListOutputModel, IsDownloadAll = false) {\n this.loadingScreenService.startLoading();\n if (typeof Document === 'undefined' || Document == null) {\n return false;\n }\n this.downloadFileInputModel = {\n DownloadID: Document.UserAddressDocumentId,\n FilePath: Document.DocumentPath,\n UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId\n };\n let promise = new Promise((resolve, reject) => {\n var Result: boolean = false;\n const path = 'api/UserAddress/DownloadUserAddressDocuments';\n this.subDownloadAddressAtt$ = this.globalService.PostDataById(this.downloadFileInputModel, path).subscribe(\n (result) => {\n this.loadingScreenService.stopLoading();\n if (result.status == Status.Success) {\n let _downloaded = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)));\n var sampleArr = this.globalService.base64ToArrayBuffer(E.ConvertToString(_downloaded.FileBase64String));\n this.globalService.saveByteArray(_downloaded.FileName, sampleArr, _downloaded.FileMimeType);\n if (IsDownloadAll === false)\n this._toastrService.Success('Downloaded Successfully.', Constant.SuccessToastrTitle);\n Result = true;\n }\n else {\n this._toastrService.Error(result.message, Constant.ErrorToastrTitle);\n Result = false;\n }\n resolve(Result);\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n this.loadingScreenService.stopLoading();\n resolve(Result);\n }\n );\n });\n return await promise;\n }\n\n async onDeleteAllDocument() {\n let UserAddressDocumentIds: number[] = [];\n if (this.DocumentList) {\n this.DocumentList.forEach(_doc => {\n UserAddressDocumentIds.push(_doc.UserAddressDocumentId);\n });\n if (UserAddressDocumentIds.length > 0) {\n Swal.fire({\n title: this.currentAppLanguage.data.ADDRESS.SWEET_ALERT_TITLE_ALL_ADDRESS_DOCUMENT_TEXT,\n text: this.currentAppLanguage.data.ADDRESS.SWEET_ALERT_TEXT,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: this.currentAppLanguage.data.ADDRESS.SWEET_ALERT_CONFIRM_BUTTON_TEXT,\n cancelButtonText: this.currentAppLanguage.data.ADDRESS.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n })\n .then(\n (async (result) => {\n if (result.value) {\n const _res = await this.DeleteMyAddressDocument(UserAddressDocumentIds);\n }\n })\n );\n }\n }\n }\n // async onDeleteDocument(userAddressDocumentId: number) {\n // let UserAddressDocumentIds: number[] = [];\n // if (userAddressDocumentId) {\n // UserAddressDocumentIds.push(userAddressDocumentId);\n // Swal.fire({\n // title: this.currentAppLanguage.data.ADDRESS.SWEET_ALERT_TITLE_ADDRESS_DOCUMENT_TEXT,\n // text: this.currentAppLanguage.data.ADDRESS.SWEET_ALERT_TEXT,\n // icon: 'warning',\n // showCancelButton: true,\n // confirmButtonColor: '#7367F0',\n // cancelButtonColor: '#E42728',\n // confirmButtonText: this.currentAppLanguage.data.ADDRESS.SWEET_ALERT_CONFIRM_BUTTON_TEXT,\n // cancelButtonText: this.currentAppLanguage.data.ADDRESS.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n // customClass: {\n // confirmButton: 'btn btn-primary',\n // cancelButton: 'btn btn-danger ml-1'\n // }\n // })\n // .then(\n // (async (result) => {\n // if (result.value) {\n // const a = await this.DeleteMyAddressDocument(UserAddressDocumentIds);\n // }\n // })\n // );\n // }\n // }\n // async DeleteMyAddressDocument(UserAddressDocumentIds: Array) {\n // this.loadingScreenService.startLoading();\n // if (UserAddressDocumentIds.length < 1) {\n // return false;\n // }\n // this.deleteDocumentsInputModel = [];\n // UserAddressDocumentIds.forEach(userAddressDocumentId => {\n // this.deleteDocumentsInputModel.push({\n // DeleteID: userAddressDocumentId,\n // UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId\n // });\n // });\n // let promise = new Promise((resolve, reject) => {\n // var Result: boolean;\n // const path = 'api/UserAddress/DeleteUserAddressDocuments';\n // this.subDeleteAddressAtt$ = this.globalService.PostDataById(this.deleteDocumentsInputModel, path).subscribe(\n // (data) => {\n // this.loadingScreenService.stopLoading();\n // var result = JSON.parse(JSON.stringify(data));\n // if (result.status == Status.Success) {\n // Swal.fire({\n // icon: 'success',\n // title: 'Deleted!',\n // text: E.ConvertToString(result.message),\n // customClass: {\n // confirmButton: 'btn btn-success'\n // }\n // });\n // this.DocumentList = this.DocumentList.filter(x => !UserAddressDocumentIds.includes(x.UserAddressDocumentId));\n // const indexToRemove: number = this.GalleryItems.findIndex(item => item.id == UserAddressDocumentIds);\n // if (indexToRemove !== -1) {\n // this.GalleryItems.splice(indexToRemove, 1);\n // }\n // Result = true;\n // }\n // else {\n // this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n // Result = false;\n // }\n // resolve(Result);\n // },\n // (error) => {\n // this._toastrService.Error(error, Constant.ErrorToastrTitle);\n // this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n // this.loadingScreenService.stopLoading();\n // }\n // );\n // });\n // return await promise;\n // }\n\n async onDeleteDocument(userAddressDocumentId: number) {\n if (!userAddressDocumentId) {\n return;\n }\n \n try {\n await this.showConfirmationDialog();\n const result = await this.DeleteMyAddressDocument([userAddressDocumentId]);\n \n if (result) {\n // Next line of code after both function1 and function2 have completed\n }\n } catch (error) {\n }\n }\n \n showConfirmationDialog(): Promise {\n return new Promise((resolve) => {\n Swal.fire({\n title: this.currentAppLanguage.data.ADDRESS.SWEET_ALERT_TITLE_ADDRESS_DOCUMENT_TEXT,\n text: this.currentAppLanguage.data.ADDRESS.SWEET_ALERT_TEXT,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: this.currentAppLanguage.data.ADDRESS.SWEET_ALERT_CONFIRM_UNLINK_BUTTON_TEXT,\n cancelButtonText: this.currentAppLanguage.data.ADDRESS.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1',\n },\n }).then((result) => {\n if (result.value) {\n resolve();\n }\n });\n });\n }\n \n async DeleteMyAddressDocument(UserAddressDocumentIds: Array): Promise {\n this.loadingScreenService.startLoading();\n \n try {\n if (UserAddressDocumentIds.length < 1) {\n return false;\n }\n \n this.deleteDocumentsInputModel = [];\n this.UserAddressDocument = UserAddressDocumentIds\n UserAddressDocumentIds.forEach((userAddressDocumentId) => {\n this.deleteDocumentsInputModel.push({\n DeleteID: userAddressDocumentId,\n UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId,\n RecordID: this._data\n });\n });\n \n const result = await this.postDataAndHandleResponse();\n \n return result;\n } catch (error) {\n console.error('An error occurred:', error);\n return false;\n } finally {\n this.loadingScreenService.stopLoading();\n }\n }\n \n private postDataAndHandleResponse(): Promise {\n //console.log(this.deleteDocumentsInputModel)\n return new Promise((resolve) => {\n const path = 'api/UserAddress/DeleteUserAddressDocuments';\n this.subDeleteAddressAtt$ = this.globalService.PostDataById(this.deleteDocumentsInputModel, path).subscribe(\n (data) => {\n const result = JSON.parse(JSON.stringify(data));\n \n if (result.status === Status.Success) {\n // Handle success\n this.handleSuccess(result);\n resolve(true);\n } else {\n // Handle failure\n this.handleFailure(result);\n resolve(false);\n }\n },\n (error) => {\n // Handle network error\n this.handleNetworkError(error);\n resolve(false);\n }\n );\n });\n }\n \n private handleSuccess(result: any): void {\n Swal.fire({\n icon: 'success',\n title: 'Unlinked!',\n text: E.ConvertToString(result.message).replace('deleted','unlinked'),\n customClass: {\n confirmButton: 'btn btn-success',\n },\n });\n \n // Modify this part as needed\n this.DocumentList = this.DocumentList.filter((x) => !this.UserAddressDocument.includes(x.UserAddressDocumentId));\n this.DocumentList1 = this.DocumentList1.filter((x) => !this.UserAddressDocument.includes(x.UserAddressDocumentId));\n const indexToRemove: number = this.GalleryItems.findIndex((item) => item.id == this.UserAddressDocument);\n if (indexToRemove !== -1) {\n this.GalleryItems.splice(indexToRemove, 1);\n }\n const indexToRemovenew: number = this.GalleryItems1.findIndex((item) => item.id == this.UserAddressDocument);\n if (indexToRemovenew !== -1) {\n this.GalleryItems1.splice(indexToRemovenew, 1);\n }\n }\n \n private handleFailure(result: any): void {\n this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n }\n \n private handleNetworkError(error: any): void {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n }\n \n\n onComingSoon() {\n this._toastrService.Info(this.currentAppLanguage.data.ADDRESS.INFO_MESSAGE_COMING_SOON, Constant.InfoToastrTitle);\n }\n onCancelClick() {\n this.dialogRef.close(false);\n }\n onSearchOnMapClick() {\n if (E.ConvertToString(this.frmAddress.get('Address1').value) != '' && E.ConvertToString(this.frmAddress.get('AddressTown').value) != ''\n && E.ConvertToString(this.frmAddress.get('AddressPostCode').value) != '') {\n this.openDialogMapAddress();\n }\n else {\n this._toastrService.Error(this.currentAppLanguage.data.ADDRESS.ALERT_MESSAGE_REQUIRED_FIELDS, Constant.ErrorToastrTitle);\n }\n }\n onStateChange(event) {\n if (event != null) {\n this.PlaceholderCountry = \"\";\n //this.loadingScreenService.startLoading();\n const path = 'api/State/GetCountryRegionId';\n var list = this.globalService.PostDataAnonymous(event, path).subscribe(\n (data) => {\n //this.loadingScreenService.stopLoading();\n var result = JSON.parse(data._body);\n if (result.status == Status.Success) {\n var countryRegion = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n this.frmAddress.get('CountryId').setValue(countryRegion?.CountryId);\n this.frmAddress.get('RegionId').setValue(countryRegion?.RegionId);\n // this.familyMemberLoadDataOutputModel.StateList = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n // if (this.familyMemberLoadDataOutputModel.StateList != null) {\n // this.frmFamily.get('StateId').enable();\n // }\n }\n },\n (error) => {\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n //this.loadingScreenService.stopLoading();\n }\n );\n }\n else {\n this.PlaceholderCountry = this.currentAppLanguage.data.ADDRESS.PLACEHOLDER_STATE;\n this.frmAddress.get('RegionId').setValue(null);\n this.PlaceholderRegion = this.currentAppLanguage.data.ADDRESS.PLACEHOLDER_REGION;\n this.frmAddress.get('RegionId').disable();\n this.frmAddress.get('CountryId').setValue(null);\n this.PlaceholderCountry = this.currentAppLanguage.data.ADDRESS.PLACEHOLDER_COUNTRY;\n this.frmAddress.get('CountryId').disable();\n }\n }\n GetMapSearchString(): string {\n let result = '';\n if (this.frmAddress.get('Address1').value)\n result += (this.frmAddress.get('Address1').value + ', ');\n if (this.frmAddress.get('AddressTown').value)\n result += (this.frmAddress.get('AddressTown').value + ', ');\n if (this.frmAddress.get('AddressPostCode').value)\n result += (this.frmAddress.get('AddressPostCode').value);\n return result;\n }\n openDialogMapAddress() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = false;\n dialogConfig.width = \"70%\"\n dialogConfig.height = \"55%\";\n dialogConfig.data = new MapAddressDataModel(MapModalType.SearchString, this.GetMapSearchString());\n const dialogRef: MatDialogRef = this.dialog.open(MapAddressComponent, dialogConfig);\n dialogRef.componentInstance.IsDraggable = true;\n dialogRef.componentInstance.IsSaveButtonVisible = true;\n dialogRef.componentInstance.IsSearchOnMap = true;\n dialogRef.afterClosed().subscribe(\n result => {\n if (result) {\n if (E.ConvertToString(result.event) == 'SearchOnMap' && result.data) {\n this.userAddress.Latitude = result.data.lat;\n this.userAddress.Longitude = result.data.long;\n }\n }\n // this.loadData();\n }\n );\n }\n OnAddressToDateChange(event) {\n let datefrom = this.frmAddress.get('AddressFromDate').value;\n let dateto = this.frmAddress.get('AddressToDate').value;\n if (datefrom && dateto) {\n if (datefrom.getTime() > dateto.getTime()) {\n this.frmAddress.get('AddressFromDate').setValue(dateto);\n }\n }\n if (dateto)\n this.maxFromDate = dateto;\n }\n onCountryChange(event: any) {\n this.addressLoadDataOutputModel.StateList = null;\n this.frmAddress.get('StateId').setValue(null);\n this.PlaceholderState = this.currentAppLanguage.data.ADDRESS.PLACEHOLDER_STATE;\n this.frmAddress.get('StateId').disable();\n if (event != null) {\n this.PlaceholderCountry = \"\";\n //this.loadingScreenService.startLoading();\n const path = 'api/State/GetStateList';\n this.subStateList$ = this.globalService.PostDataAnonymous(event, path).subscribe(\n (data) => {\n //this.loadingScreenService.stopLoading();\n var result = JSON.parse(data._body);\n if (result.status == Status.Success) {\n this.addressLoadDataOutputModel.StateList = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n if (this.addressLoadDataOutputModel.StateList != null) {\n this.frmAddress.get('StateId').enable();\n }\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n //this.loadingScreenService.stopLoading();\n }\n );\n }\n else {\n this.PlaceholderCountry = this.currentAppLanguage.data.ADDRESS.PLACEHOLDER_COUNTRY;\n }\n }\n onRegionChange(event: any) {\n this.addressLoadDataOutputModel.CountryList = null;\n this.frmAddress.get('CountryId').setValue(null);\n this.PlaceholderCountry = this.currentAppLanguage.data.ADDRESS.PLACEHOLDER_COUNTRY;\n this.frmAddress.get('CountryId').disable();\n if (event != null) {\n this.PlaceholderRegion = \"\";\n //this.loadingScreenService.startLoading();\n const path = 'api/Country/GetCountryList';\n this.subCountryList$ = this.globalService.PostDataAnonymous(event, path).subscribe(\n (data) => {\n //this.loadingScreenService.stopLoading();\n var result = JSON.parse(data._body);\n if (result.status == Status.Success) {\n this.addressLoadDataOutputModel.CountryList = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n if (this.addressLoadDataOutputModel.CountryList != null) {\n this.frmAddress.get('CountryId').enable();\n }\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n //this.loadingScreenService.stopLoading();\n }\n );\n }\n else {\n this.PlaceholderRegion = this.currentAppLanguage.data.ADDRESS.PLACEHOLDER_REGION;\n }\n }\n onCloseButtonClick() {\n this.dialogRef.close(false);\n }\n onBeforeSlide = (detail: BeforeSlideDetail): void => {\n const { index, prevIndex } = detail;\n };\n GetCurrentLanguageJsonObject(currentAppLanguage) {\n var result;\n switch (currentAppLanguage) {\n case 'en':\n result = english;\n break;\n case 'in':\n result = gujarati;\n break;\n case 'hn':\n result = hindi;\n break;\n }\n return result;\n }\n get f() {\n return this.frmAddress.controls;\n }\n\n triggerFileUpload() {\n this.fileInput.nativeElement.click();\n }\n\n\n openFilemanager(){\n // using for old filemanager uploads\n // this.openDialog(UploadManagerComponent)\n var matdata = {\n RecordId : this._data,\n RecordType: RecordsType.Address\n }\n this.openDialog(SelectSyncFileManagerComponent,matdata)\n }\n\n openDialog(component: any, _data: any = []) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = false;\n dialogConfig.width = \"66%\"\n dialogConfig.height=\"60%\"\n dialogConfig.position={\n top:\"10%\"\n }\n dialogConfig.data = _data;\n const dialogRef = this.dialog.open(component, dialogConfig);\n dialogRef.afterClosed().subscribe(\n data => {\n if(data){\n this.nav.select(4);\n this.getAttachmentList('Images');\n }\n }\n );\n }\n\n ngOnDestroy() {\n if (this.subSaveAddress$)\n this.subSaveAddress$.unsubscribe();\n if (this.subDownloadAddressAtt$)\n this.subDownloadAddressAtt$.unsubscribe();\n if (this.subDeleteAddressAtt$)\n this.subDeleteAddressAtt$.unsubscribe();\n if (this.subStateList$)\n this.subStateList$.unsubscribe();\n if (this.subCountryList$)\n this.subCountryList$.unsubscribe();\n if (this.subDeleteAddress$)\n this.subDeleteAddress$.unsubscribe();\n if (this.uploader && this.uploader.response)\n this.uploader.response.unsubscribe();\n }\n}\n","
\n
\n
{{dialogTitle}} \n - {{userAddress?.AddressName}} \n \n \n \n \n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n \n
","import { CountryListOutputModel } from \"app/Models/country-model.model\";\nimport { RegionListOutputModel } from \"app/Models/region-model.model\";\nimport { StateListOutputModel } from \"app/Models/state-model.model\";\n\nexport class AddressesModel {\n //Sequence: number;\n UserAddressId: number;\n UserDetailsId: number;\n RelativeDetailsId: number;\n RegionId: number;\n CountryId: number;\n StateId: number;\n AddressTag: string;\n AddressName: string;\n FullAddress: string;\n AddressHouseName: string;\n Address1: string;\n Address2: string;\n Address3: string;\n AddressTown: string;\n AddressCountry: string;\n AddressPostCode: string;\n AddressState:string;\n CurrentAddressYn: boolean;\n //Country: number;\n AddressUprn: string;\n Latitude: number;\n Longitude: number;\n AddressFromDate: Date;\n AddressToDate: Date;\n Notes: string;\n CreatedDate: Date;\n CreatedTime: Date;\n CreatedBy: number;\n ChangedDate: Date;\n ChangedTime: Date;\n ChangedBy: number;\n //AddressState:string;\n}\nexport class TblUserAddresses {\n UserAddressesId: number;\n UserAddressId: number;\n UserDetailsId: number;\n RelativeDetailsId: number;\n RegionId: number;\n CountryId: number;\n StateId: number;\n AddressTag: string;\n AddressName: string;\n AddressHouseName: string;\n Address1: string;\n Address2: string;\n Address3: string;\n AddressTown: string;\n AddressCounty: string;\n AddressPostCode: string;\n Country: number;\n CurrentAddressYn: boolean;\n AddressUprn: string;\n Latitude: number;\n Longitude: number;\n AddressFromDate: string;\n AddressToDate: string;\n Notes: string;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n}\nexport class AddressLoadDataOutputModel {\n UserAddress: TblUserAddresses;\n CountryList: Array;\n RegionList: Array;\n StateList: Array;\n AddressDocumentList: Array;\n}\n\nexport class AddressDocumentListOutputModel {\n UserAddressDocumentId: number;\n UserDetailsId: number;\n UserAddressId: number;\n DocumentId: number;\n DocumentType: string;\n Size: string;\n FileType: string;\n DocumentSubType:string;\n DocumentName: string;\n DocumentOldName: string;\n DocumentPath: string;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n}\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'de',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Es konnte keine Verbindung zum Server hergestellt werden.'\n },\n SIGNIN: {\n MOTIVATION_BADGE_SIGNIN:'Melden Sie sich an und starten Sie das Abenteuer',\n WELCOME_TEXT: 'Willkommen bei Noosom',\n CONTROL_LABEL_EMAIL:'E-Mail-Addresse',\n CONTROL_LABEL_PASSWORD:'Passwort',\n CONTROL_LABEL_REMEMBERME:'Erinnere dich an mich',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Haben Sie Ihr Passwort vergessen?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Ein Konto erstellen',\n TEXT_NEWONPLATFORM:'Neu auf unserer Plattform?',\n BUTTON_TEXT_LOGIN:'Anmeldung',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Sie haben sich erfolgreich als {0}-Benutzer bei Noosom angemeldet. Jetzt können Sie mit der Erkundung beginnen. Genießen! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Willkommen, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'Das E-Mail-Feld ist!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Das Passwortfeld ist!',\n ERROR_MESSAGE_INVALID_EMAIL:'E-Mail muss eine gültige E-Mail-Adresse sein',\n ERROR_MESSAGE_NOATTEMPTS:'Ungültiger Benutzername oder ungültiges Passwort.
Sie haben keine weiteren Versuche mehr.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Ihre E-Mail-Adresse wurde nicht verifiziert.
überprüfen Sie zuerst Ihre E-Mail-Adresse.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Dein Account wurde gesperrt.'},\n {ErrorCode:0,ErrorMessage:'Eingeloggt erfolgreich.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Ungültiger Benutzername oder ungültiges Passwort. Sie haben noch {0} Versuche.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administratorin'},{titlle:'Client',value:'Klientin'},{title:'User',value:'Benutzer'}]\n },\n SIGNUP:\n {\n MOTIVATION_BADGE_SIGNUP:'Melden Sie sich an und starten Sie das Abenteuer',\n STEPPER_TITLE_ACCOUNT:'Konto',\n STEPPER_SUB_TITLE_ACCOUNT:'Benutzernamen eingeben',\n STEPPER_TITLE_PERSONAL:'persönlich',\n STEPPER_SUB_TITLE_PERSONAL:'Information eingeben',\n HEADING_ACCOUNT:'Kontoinformationen',\n HEADING_PERSONAL:'Persönliche Informationen',\n HEADING_SELECTPLAN:'Plan auswählen',\n CONTROL_LABEL_USERID:'Noosom-Benutzer-ID',\n CONTROL_LABEL_EMAILADDRESS:'E-Mail-Addresse',\n CONTROL_LABEL_PASSWORD:'Passwort',\n CONTROL_LABEL_CONFIRMPASSWORD:'Bestätigen Sie Ihr Passwort',\n CONTROL_LABEL_REGION:'Ihre Region',\n CONTROL_LABEL_HOMECOUNTRY:'Ihr land',\n CONTROL_LABEL_FIRSTNAME:'Vorname',\n CONTROL_LABEL_MIDDLENAME:'Zweiter Vorname',\n CONTROL_LABEL_LASTNAME:'Nachname',\n CONTROL_LABEL_BIRTHDATE:'Geburtsdatum',\n CONTROL_LABEL_MOBILENO:'Handy-Nr',\n CONTROL_LABEL_SELECTPLAN:'Jetzt für immer kostenlos oder später kaufen.',\n PLACEHOLDER_TYPEHERE:'Geben Sie hier ein ...',\n PLACEHOLDER_PASSWORD:'Passwort',\n PLACEHOLDER_REGION:'Region wählen',\n PLACEHOLDER_COUNTRY:'Land auswählen',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Vorherige',\n BUTTON_TEXT_NEXT:'Nächste',\n BUTTON_TEXT_SUBMIT:'Einreichen',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Ihre Daten werden gespeichert',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'in der ausgewählten Region',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'land auswählen',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Konto erfolgreich erstellt.',\n ERROR_MESSAGE_REQUIRED_USERID:'Das Feld „Benutzername“ ist! Das Feld „E-Mail“ ist',\n ERROR_MESSAGE_EXISTED_USERID:'Dieser Benutzername wurde vergeben. Bitte versuchen Sie es mit einem anderen.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'Das Feld für die E-Mail-Adresse ist!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Diese E-Mail-Adresse wurde übernommen. Bitte versuchen Sie es mit einem anderen.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Das Passwortfeld ist!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Muss mindestens eine Zahl, einen Groß- und Kleinbuchstaben und mindestens 8 Zeichen enthalten.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'Passwort wiederholen muss übereinstimmen.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'Das Feld Passwort bestätigen ist!',\n ERROR_MESSAGE_REQUIRED_REGION:'Das Regionsfeld ist!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'Das Feld land ist!',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'Das Vornamensfeld ist!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'Das Feld für den zweiten Vornamen ist!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'Das Feld Nachname ist!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'Das Feld Geburtsdatum ist!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'Das Handy ist kein Pflichtfeld!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Bitte wählen Sie die kostenlose Planoption!',\n }\n }\n};\n","import { Status } from \"app/enums\";\nexport const locale = {\n lang: 'en',\n data: {\n COMMON: {\n CONTROL_LABEL_EMAIL_ADDRESS: 'Email Address',\n PLACEHOLDER_EMAIL_ADDRESS: 'Type here...',\n PLACEHOLDER_TYPE_HERE: 'Type here...',\n PLACEHOLDER_MOBILE_NUMBER: '0123456789',\n BUTTON_TEXT_SAVE_CHANGES: 'Save Changes',\n ERROR_MESSAGE_REQUIRED_EMAIL_ADDRESS: 'The email is required!',\n ERROR_MESSAGE_INVALID_EMAIL: 'Please enter your email address in format:\\nyourname@example.com',\n ERROR_MESSAGE_CONNECTIONREFUSED: 'Could not connect with server.',\n COMMON_STATUS:\n [\n { ErrorCode: Status.UserNotFound, ErrorMessage: 'User could not be found.' }\n ],\n },\n ADDRESS: {\n ALERT_MESSAGE_REQUIRED_FIELDS:'The required fields are empty',\n DIALOG_TITLE_ADD_ADDRESS:'Add an Address',\n DIALOG_TITLE_EDIT_ADDRESS:'Edit an Address',\n TAB_HEADING_ADDRESS_DETAILS: 'Address Details',\n TAB_HEADING_UPLOAD: 'Upload',\n TAB_HEADING_GALLERY: 'Gallery',\n TAB_HEADING_DOCUMENTS: 'Documents',\n TAB_HEADING_NOTES: 'Notes',\n INFO_TEXT: 'Add all the addresses that you have lived at or currently live at',\n INFO_TEXT1: 'Select some Images, Documents, and Videos; you can upload them one at a time or select Upload All at once',\n INFO_TEXT2: 'All your uploaded images will be displayed here',\n INFO_TEXT3: 'Add any specific notes that you have for this Address',\n INFO_TEXT4:'All your documents will be displayed here in a list; you can download or delete them individually',\n TOOLTIP_TEXT_BUTTON_CLOSE: 'Close',\n TOOLTIP_TEXT_BUTTON_CALENDAR: 'Toggle Calendar',\n TOOLTIP_TEXT_BUTTON_ADD_RECORD: 'Add Record',\n TOOLTIP_TEXT_BUTTON_SELECT: 'Select',\n TOOLTIP_TEXT_BUTTON_ADD_ADDRESS: 'Add an Address',\n TOOLTIP_TEXT_BUTTON_SAVE_CHANGES: 'Save Changes',\n TOOLTIP_TEXT_BUTTON_SEARCH_ON_MAP: 'Search on Map',\n TOOLTIP_TEXT_BUTTON_CANCEL: 'Cancel',\n TOOLTIP_TEXT_BUTTON_UPLOAD: 'Upload',\n TOOLTIP_TEXT_BUTTON_REMOVE: 'Remove',\n TOOLTIP_TEXT_BUTTON_REMOVE_ALL:'Remove All',\n TOOLTIP_TEXT_BUTTON_UPLOAD_ALL:'Upload All',\n TOOLTIP_TEXT_BUTTON_DOWNLOAD: 'Download',\n TOOLTIP_TEXT_BUTTON_VIEW: 'View',\n TOOLTIP_TEXT_BUTTON_DELETE: 'Delete',\n TOOLTIP_TEXT_BUTTON_DOWNLOAD_ALL: 'Download All',\n TOOLTIP_TEXT_ADDRESS_TAG: 'The Address Tag / Code is your own unique choice of words that you can use to search the Noosom Web System',\n TOOLTIP_TEXT_HOUSE_BUILDING_NAME: \"This is where you enter a Property, House, Building or Society Name, like 'Gloria's Villa' or 'Mannat Residency'\",\n TOOLTIP_TEXT_STREET_NAME: 'This is a required field for mapping your location accurately; please enter the street name correctly',\n TOOLTIP_TEXT_ADDITIONAL_LOCATION_FIELD_1: 'This is an additional field for more precise location mapping',\n TOOLTIP_TEXT_ADDITIONAL_LOCATION_FIELD_2: 'This is an additional field for more precise location mapping',\n TOOLTIP_TEXT_TOWN_VILLAGE_CITY: 'Enter the Town, Village, or City of the address',\n TOOLTIP_TEXT_POSTAL_ZIPCODE: 'This is the Postal Zipcode associated with the address\\'s country',\n TOOLTIP_TEXT_REGION_CONTINENT: 'Choose the Region or Continent of the address; for example, United Kingdom will be in Europe',\n TOOLTIP_TEXT_COUNTRY: 'Select the Country of the address; for example, England will be in Europe',\n TOOLTIP_TEXT_STATE_PROVINCE: 'Choose the State or Province of the address; for example, Rotuma is a state or island in Fiji',\n TOOLTIP_TEXT_CURRENT_ADDRESS: 'This is the Current address checkbox; you can select it or leave it blank according to your preference',\n TOOLTIP_TEXT_STAY_DATE_RANGE_1: 'Use this field for entering a date range of your stay at this address',\n TOOLTIP_TEXT_STAY_DATE_RANGE_2: 'Use this field for entering a date range of your stay at this address',\n HEADING_TEXT_SELECT_IMAGES: 'Select Images, Documents & Videos',\n HEADING_TEXT_SELECT_DOCUMENTS: 'Select Documents',\n HEADING_TEXT_UPLOAD_QUEUE: 'Upload Queue',\n HEADING_TEXT_QUEUE_PROGRESS: 'Queue Progress',\n TEXT_FILE_TYPES: 'Allowed file types:',\n TEXT_QUEUE_LENGTH: 'Queue Length:',\n TEXT_MB: 'MB',\n CONTROL_LABEL_ADDRESS_TAG: 'Address Tag / Code',\n CONTROL_LABEL_ADDRESS_NAME: 'House / Building Name',\n CONTROL_LABEL_ADDRESS1: 'Street Name',\n CONTROL_LABEL_ADDRESS2: 'Address Line 2',\n CONTROL_LABEL_ADDRESS3: 'Address Line 3',\n CONTROL_LABEL_ADDRESS_TOWN: 'Town / City',\n CONTROL_LABEL_ADDRESS_STATE: 'State',\n CONTROL_LABEL_ADDRESS_POST_CODE: 'Post / Zip Code',\n CONTROL_LABEL_COUNTRY: 'Country',\n CONTROL_LABEL_REGION: 'Region',\n CONTROL_LABEL_DATE_FROM: 'Date From',\n CONTROL_LABEL_DATE_TO: 'Date To',\n CONTROL_LABEL_MULTIPLE: 'Multiple',\n CONTROL_LABEL_NOTES: 'Notes',\n LABEL_CURRENT_ADDRESS: 'Current Address',\n PLACEHOLDER_STATE: 'Select State',\n PLACEHOLDER_COUNTRY: 'Select Country',\n PLACEHOLDER_REGION: 'Select Region',\n PLACEHOLDER_CHOOSE_FILES: 'Choose Files',\n BUTTON_TEXT_ADD_RECORD: 'Add Record',\n BUTTON_TEXT_SELECT: 'Select',\n BUTTON_TEXT_SAVE_AND_CLOSE: 'Save and Close',\n BUTTON_TEXT_SAVE_AND_NEXT:'Save and Next',\n BUTTON_TEXT_SAVE_CHANGES: 'Save Changes',\n BUTTON_TEXT_ABANDON:'Abandon',\n BUTTON_TEXT_SEARCH_ON_MAP: 'Search on Map',\n BUTTON_TEXT_CANCEL: 'Cancel',\n BUTTON_TEXT_UPLOAD_ALL: 'Upload All',\n BUTTON_TEXT_PAUSE_ALL: 'Pause All',\n BUTTON_TEXT_DOWNLOAD_ALL: 'Download All',\n BUTTON_TEXT_REMOVE_ALL: 'Remove All',\n COLUMN_HEADING_NAME: 'NAME',\n COLUMN_HEADING_SIZE: 'SIZE',\n COLUMN_HEADING_PROGRESS: 'PROGRESS',\n COLUMN_HEADING_STATUS: 'STATUS',\n COLUMN_HEADING_DATE_CREATED: 'DATE CREATED',\n COLUMN_HEADING_TYPE: 'TYPE',\n COLUMN_HEADING_ACTIONS: 'ACTIONS',\n SWEET_ALERT_TITLE_ADDRESS_DOCUMENT_TEXT:'Are you sure, you want to unlink this Address Document?',\n SWEET_ALERT_TITLE_ALL_ADDRESS_DOCUMENT_TEXT:'Are you sure, you want to delete all these Address Documents?',\n SWEET_ALERT_TITLE_ADDRESS_TEXT:'Are you sure, you want to delete this Address and all the attachments associated with it?',\n SWEET_ALERT_TEXT:\"You won't be able to undo this!\",\n SWEET_ALERT_CONFIRM_BUTTON_TEXT:'Yes, delete it!',\n SWEET_ALERT_CONFIRM_UNLINK_BUTTON_TEXT:'Yes, unlink it!',\n SWEET_ALERT_CANCEL_BUTTON_TEXT:'Cancel',\n SWEET_ALERT_TEXT_DELETED:'Deleted!',\n SWEET_ALERT_CONFIRM_BUTTON_TEXT_OKAY:'OK',\n TOAST_MESSAGE_ADDRESS_ADDED_SUCCESSFULLY: 'Address added successfully.',\n TOAST_MESSAGE_ADDRESS_UPDATED_SUCCESSFULLY: 'Address updated successfully.',\n INFO_MESSAGE_COMING_SOON:'Coming Soon',\n WARNING_MESSAGE_SELECT_LOCATION: 'Please select location on a map.',\n ERROR_MESSAGE_REQUIRED_ADDRESS_TAG: 'The address tag is required!',\n ERROR_MESSAGE_REQUIRED_ADDRESS_NAME: 'The address name is required!',\n ERROR_MESSAGE_REQUIRED_ADDRESS1: 'The street name is required!',\n ERROR_MESSAGE_REQUIRED_ADDRESS2: 'The address2 is required!',\n ERROR_MESSAGE_REQUIRED_ADDRESS3: 'The address3 is required!',\n ERROR_MESSAGE_REQUIRED_ADDRESS_TOWN: 'The address town is required!',\n ERROR_MESSAGE_REQUIRED_ADDRESS_STATE: 'The address state is required!',\n ERROR_MESSAGE_REQUIRED_ADDRESS_POST_CODE: 'The address post code is required!',\n ERROR_MESSAGE_REQUIRED_COUNTRY: 'The country is required!',\n ERROR_MESSAGE_REQUIRED_REGION: 'The region is required!',\n ERROR_MESSAGE_REQUIRED_DATE_FROM: 'The date from is required!',\n ERROR_MESSAGE_REQUIRED_DATE_TO: 'The date to is required!',\n ERROR_MESSAGE_MAP_ZERO_RESULTS: 'The location not found!',\n ERROR_MESSAGE_MAX_LENGTH_50:'You have typed too many characters, maximum allowed is 50',\n },\n MAP:{\n DIALOG_TITLE_SEARCH_ON_MAP:'Search On a Map',\n DIALOG_TITLE_VIEW_ON_MAP:'View My Addresses on a Map',\n DIALOG_TITLE_VIEW_ADDRESS_ON_MAP:'View Location on a Map',\n DIALOG_TITLE_VIEW_SCHOOL_ON_MAP:'View My Schools Addresses on a Map',\n PLACEHOLDER_SEARCH: 'Search...',\n }\n }\n};\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'fr',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Impossible de se connecter au serveur.'\n },\n SIGNIN: {\n WELCOME_TEXT: 'Bienvenue à Noosom',\n MOTIVATION_BADGE_SIGNIN:'Connectez-vous et commencez l\\'aventure',\n CONTROL_LABEL_EMAIL:'Adresse e-mail',\n CONTROL_LABEL_PASSWORD:'Mot de passe',\n CONTROL_LABEL_REMEMBERME:'Souviens-toi de moi',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Mot de passe oublié?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Créer un compte',\n TEXT_NEWONPLATFORM:'Nouveau sur notre plateforme ?',\n BUTTON_TEXT_LOGIN:'Connexion',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Vous avez réussi à vous connecter en tant qu\\'utilisateur {0} à Noosom. Vous pouvez maintenant commencer à explorer. Prendre plaisir! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Bienvenue, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'Le champ email est!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Le champ mot de passe est!',\n ERROR_MESSAGE_INVALID_EMAIL:'L\\'e-mail doit être une adresse e-mail valide',\n ERROR_MESSAGE_NOATTEMPTS:'Nom d\\'utilisateur ou mot de passe invalide. Il ne vous reste plus aucune tentative.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Votre adresse e-mail n\\'est pas vérifiée.
vérifiez d\\'abord votre adresse e-mail.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Vôtre compte a été bloqué.'},\n {ErrorCode:0,ErrorMessage:'Connexion réussie.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Nom d\\'utilisateur ou mot de passe invalide.
Il vous reste {0} tentatives.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administratrice'},{titlle:'Client',value:'Cliente'},{title:'User',value:'Utilisatrice'}]\n },\n SIGNUP:\n {\n MOTIVATION_BADGE_SIGNUP:'Inscrivez-vous et commencez l\\'aventure',\n STEPPER_TITLE_ACCOUNT:'Compte',\n STEPPER_SUB_TITLE_ACCOUNT:'Saisissez votre nom d\\'utilisateur',\n STEPPER_TITLE_PERSONAL:'Personnelle',\n STEPPER_SUB_TITLE_PERSONAL:'Entrez les informations',\n HEADING_ACCOUNT:'Information sur le compte',\n HEADING_PERSONAL:'Renseignements personnels',\n HEADING_SELECTPLAN:'Sélectionnez le plan',\n CONTROL_LABEL_USERID:'ID utilisateur Noosom',\n CONTROL_LABEL_EMAILADDRESS:'Adresse e-mail',\n CONTROL_LABEL_PASSWORD:'Mot de passe',\n CONTROL_LABEL_CONFIRMPASSWORD:'Confirmer votre mot de passe',\n CONTROL_LABEL_REGION:'Votre région',\n CONTROL_LABEL_HOMECOUNTRY:'Votre pays',\n CONTROL_LABEL_FIRSTNAME:'Prénom',\n CONTROL_LABEL_MIDDLENAME:'Deuxième nom',\n CONTROL_LABEL_LASTNAME:'Nom de famille',\n CONTROL_LABEL_BIRTHDATE:'Date de naissance',\n CONTROL_LABEL_MOBILENO:'Mobile Non',\n CONTROL_LABEL_SELECTPLAN:'Gratuit pour l\\'instant, ou achetez plus tard.',\n PLACEHOLDER_TYPEHERE:'Écrivez ici...',\n PLACEHOLDER_PASSWORD:'Mot de passe',\n PLACEHOLDER_REGION:'Choisissez une région',\n PLACEHOLDER_COUNTRY:'Choisissez le pays',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Précédente',\n BUTTON_TEXT_NEXT:'Prochaine',\n BUTTON_TEXT_SUBMIT:'Soumettre',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Vos données seront stockées',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'dans la région sélectionnée',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'Sélectionnez le pays',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Compte créé avec succès.',\n ERROR_MESSAGE_REQUIRED_USERID:'Le champ nom d\\'utilisateur est!',\n ERROR_MESSAGE_EXISTED_USERID:'Ce nom d\\'utilisateur a été pris. Veuillez en essayer un autre.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'Le champ adresse e-mail est!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Cette adresse e-mail a été prise. Veuillez en essayer un autre.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Le champ mot de passe est!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Doit contenir au moins un chiffre, une lettre majuscule et minuscule et un minimum de 8 caractères ou plus.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'Le mot de passe répété doit correspondre.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'Le champ de confirmation du mot de passe est!',\n ERROR_MESSAGE_REQUIRED_REGION:'Le champ région est!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'Le champ du pays',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'Le champ prénom est!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'Le champ du deuxième prénom est!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'Le champ nom de famille est!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'Le champ date de naissance est!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'Le mobile aucun champ n\\'est requis!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Veuillez sélectionner l\\'option de forfait gratuit!'\n }\n }\n};\n","import { Status } from \"app/enums\";\r\n\r\nexport const locale = {\r\n lang: 'gj',\r\n data: {\r\n COMMON:{\r\n ERROR_MESSAGE_CONNECTIONREFUSED:'સર્વર સાથે કનેક્ટ કરી શકાયું નથી'\r\n },\r\n SIGNIN: {\r\n WELCOME_TEXT: 'નૂસોમ માં આપનું સ્વાગત છે',\r\n MOTIVATION_BADGE_SIGNIN:'સાઇન ઇન કરો અને સાહસ શરૂ કરો',\r\n CONTROL_LABEL_EMAIL:'ઈ - મેઈલ સરનામું',\r\n CONTROL_LABEL_PASSWORD:'પાસવર્ડ',\r\n CONTROL_LABEL_REMEMBERME:'મને યાદ રાખો',\r\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\r\n LINK_TEXT_LABEL_FORGOTPASSWORD:'તમારો પાસવર્ડ ભૂલી ગયા છો?',\r\n LINK_TEXT_LABEL_CREATEACCOUNT:'એક ખાતુ બનાવો',\r\n TEXT_NEWONPLATFORM:'અમારા પ્લેટફોર્મ પર નવા છો?',\r\n BUTTON_TEXT_LOGIN:'પ્રવેશ કરો',\r\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'તમે Noosom માં {0} વપરાશકર્તા તરીકે સફળતાપૂર્વક લૉગ ઇન કર્યું છે. હવે તમે અન્વેષણ કરવાનું શરૂ કરી શકો છો. આનંદ માણો! 🎉',\r\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 સ્વાગત છે, {0}!',\r\n ERROR_MESSAGE_REQUIRED_EMAIL:'ઈમેલ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_PASSWORD:'પાસવર્ડ આવશ્યક છે!',\r\n ERROR_MESSAGE_INVALID_EMAIL:'ઇમેઇલ એક માન્ય ઇમેઇલ સરનામું હોવું આવશ્યક છે',\r\n ERROR_MESSAGE_NOATTEMPTS:'અમાન્ય વપરાશકર્તાનામ અથવા પાસવર્ડ. તમારી પાસે કોઈ પ્રયાસો બાકી નથી.',\r\n LOGIN_STATUS:\r\n [\r\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'તમારું ઇમેઇલ સરનામું ચકાસાયેલ નથી.
પહેલા તમારું ઇમેઇલ સરનામું બદલો.'},\r\n {ErrorCode:Status.AccountLocked,ErrorMessage:'તમારું એકાઉન્ટ લોક કરી દેવામાં આવ્યું છે.'},\r\n {ErrorCode:0,ErrorMessage:'લૉગ-ઇન સફળ.'},\r\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'અમાન્ય વપરાશકર્તાનામ અથવા પાસવર્ડ.
તમારી પાસે {0} પ્રયાસો બાકી છે.'}\r\n ],\r\n DIGITS:[\"૧\",\"૨\",\"૩\",\"૪\"],\r\n ROLES:[{title:'Admin',value:'એડમિન'},{titlle:'Client',value:'ક્લાયન્ટ'},{title:'User',value:'વપરાશકર્તા'}]\r\n },\r\n SIGNUP:\r\n {\r\n MOTIVATION_BADGE_SIGNUP:'સાઇન અપ કરો અને સાહસ શરૂ કરો',\r\n STEPPER_TITLE_ACCOUNT:'એકાઉન્ટ',\r\n STEPPER_SUB_TITLE_ACCOUNT:'વપરાશકર્તા નામ દાખલ કરો',\r\n STEPPER_TITLE_PERSONAL:'અંગત',\r\n STEPPER_SUB_TITLE_PERSONAL:'માહિતી દાખલ કરો',\r\n HEADING_ACCOUNT:'ખાતાની માહિતી',\r\n HEADING_PERSONAL:'વ્યક્તિગત માહિતી',\r\n HEADING_SELECTPLAN:'પ્લાન પસંદ કરો',\r\n CONTROL_LABEL_USERID:'નૂસોમ વપરાશકર્તા આઈડી',\r\n CONTROL_LABEL_EMAILADDRESS:'ઈ - મેઈલ સરનામું',\r\n CONTROL_LABEL_PASSWORD:'પાસવર્ડ',\r\n CONTROL_LABEL_CONFIRMPASSWORD:'તમારા પાસવર્ડની ખાતરી કરો',\r\n CONTROL_LABEL_REGION:'તમારો પ્રદેશ',\r\n CONTROL_LABEL_HOMECOUNTRY:'તમારો દેશ',\r\n CONTROL_LABEL_FIRSTNAME:'પ્રથમ નામ',\r\n CONTROL_LABEL_MIDDLENAME:'પિતાનું નામ',\r\n CONTROL_LABEL_LASTNAME:'છેલ્લું નામ',\r\n CONTROL_LABEL_BIRTHDATE:'જન્મ તારીખ',\r\n CONTROL_LABEL_MOBILENO:'મોબાઈલ નમ્બર',\r\n CONTROL_LABEL_SELECTPLAN:'હમણાં માટે હંમેશ માટે મફત, અથવા પછીથી ખરીદો.',\r\n PLACEHOLDER_TYPEHERE:'અહી લખો...',\r\n PLACEHOLDER_PASSWORD:'પાસવર્ડ',\r\n PLACEHOLDER_REGION:'પ્રદેશ પસંદ કરો',\r\n PLACEHOLDER_COUNTRY:'દેશ પસંદ કરો',\r\n PLACEHOLDER_TELEPHONENUMBER:'૦૧૨૩૪૫૬૭૮૯',\r\n BUTTON_TEXT_PREVIOUS:'અગાઉના',\r\n BUTTON_TEXT_NEXT:'આગળ',\r\n BUTTON_TEXT_SUBMIT:'સબમિટ કરો',\r\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'તમારો ડેટા પસંદ કરેલ પ્રદેશમાં',\r\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'સંગ્રહિત કરવામાં આવશે',\r\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'દેશ પસંદ કરો',\r\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'એકાઉન્ટ સફળતાપૂર્વક બનાવ્યું.',\r\n ERROR_MESSAGE_REQUIRED_USERID:'યુઝરનેમ આવશ્યક છે!',\r\n ERROR_MESSAGE_EXISTED_USERID:'તે વપરાશકર્તા નામ લેવામાં આવ્યું છે. કૃપા કરીને બીજો પ્રયાસ કરો.',\r\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'ઈમેલ એડ્રેસ ફીલ્ડ છે!',\r\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'તે ઈમેલ એડ્રેસ લેવામાં આવ્યું છે. કૃપા કરીને બીજો પ્રયાસ કરો.',\r\n ERROR_MESSAGE_REQUIRED_PASSWORD:'પાસવર્ડ ફીલ્ડ છે!',\r\n ERROR_MESSAGE_INVALID_PASSWORD:'ઓછામાં ઓછા એક નંબર, એક અપરકેસ અને લોઅરકેસ અક્ષર અને ઓછામાં ઓછા 8 અથવા વધુ અક્ષરો હોવા જોઈએ.',\r\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'પુનરાવર્તિત પાસવર્ડ મેળ ખાતો હોવો જોઈએ.',\r\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'કન્ફર્મ પાસવર્ડ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_REGION:'પ્રદેશ ક્ષેત્ર આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'દેશ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'પ્રથમ નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'મધ્યમ નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_LASTNAME:'છેલ્લું નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'જન્મ તારીખ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_MOBILENO:'મોબાઇલ નંબર આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'કૃપા કરીને ફ્રી પ્લાન વિકલ્પ પસંદ કરો!'\r\n }\r\n }\r\n };\r\n ","import { Status } from \"app/enums\";\r\n\r\nexport const locale = {\r\n lang: 'hn',\r\n data: {\r\n COMMON: {\r\n CONTROL_LABEL_EMAIL_ADDRESS: 'ईमेल पता',\r\n PLACEHOLDER_EMAIL_ADDRESS: 'यहाँ लिखो...',\r\n PLACEHOLDER_TYPE_HERE: 'यहाँ लिखो...',\r\n PLACEHOLDER_MOBILE_NUMBER: '०१२३४५६७८९',\r\n BUTTON_TEXT_SAVE_CHANGES: 'परिवर्तनों को सुरक्षित करें',\r\n ERROR_MESSAGE_REQUIRED_EMAIL_ADDRESS: 'ईमेल की आवश्यकता है!',\r\n ERROR_MESSAGE_INVALID_EMAIL: 'कृपया अपना ईमेल पता प्रारूप में दर्ज करें:\\nyourname@example.com',\r\n ERROR_MESSAGE_CONNECTIONREFUSED: 'सर्वर से कनेक्ट नहीं हो सका.',\r\n COMMON_STATUS:\r\n [\r\n { ErrorCode: Status.UserNotFound, ErrorMessage: 'उपयोगकर्ता नहीं मिल सका।' }\r\n ],\r\n },\r\n ADDRESS: {\r\n ALERT_MESSAGE_REQUIRED_FIELDS: 'आवश्यक फ़ील्ड्स खाली हैं।',\r\n DIALOG_TITLE_ADD_ADDRESS: 'पता जोड़ें',\r\n DIALOG_TITLE_EDIT_ADDRESS: 'पता संपादित करें',\r\n TAB_HEADING_ADDRESS_DETAILS: 'पते का विवरण',\r\n TAB_HEADING_UPLOAD: 'अपलोड करें',\r\n TAB_HEADING_GALLERY: 'गेलरी',\r\n TAB_HEADING_DOCUMENTS: 'दस्तावेज़',\r\n TAB_HEADING_NOTES: 'टिप्पणियाँ',\r\n INFO_TEXT: 'उन सभी पतों को जोड़ें जिन पर आप रह चुके हैं या वर्तमान में यहाँ रहते हैं',\r\n INFO_TEXT1: 'कुछ तस्वीरें, दस्तावेज और वीडियो का चयन करें। आप उन्हें एक बार में अपलोड कर सकते हैं या एक साथ Upload All चुन सकते हैं।',\r\n INFO_TEXT2: 'आपकी सभी अपलोड की गई तस्वीरें यहां प्रदर्शित की जाएगी।',\r\n INFO_TEXT3: 'इस पते के लिए आपके पास कोई विशिष्ट नोट्स जोड़ें।',\r\n INFO_TEXT4: 'आपके सभी दस्तावेज एक सूची में यहां प्रदर्शित किए जाएंगे। आप उन्हें विभिन्नता से डाउनलोड या हटा सकते हैं।',\r\n TOOLTIP_TEXT_BUTTON_CLOSE: 'बंद करना',\r\n TOOLTIP_TEXT_BUTTON_CALENDAR: 'कैलेंडर टॉगल करें',\r\n TOOLTIP_TEXT_BUTTON_ADD_RECORD: 'रिकॉर्ड जोड़ें',\r\n TOOLTIP_TEXT_BUTTON_SELECT: 'चयन',\r\n TOOLTIP_TEXT_BUTTON_ADD_ADDRESS: 'एक पता जोड़ें',\r\n TOOLTIP_TEXT_BUTTON_SAVE_CHANGES: 'परिवर्तनों को सुरक्षित करें',\r\n TOOLTIP_TEXT_BUTTON_SEARCH_ON_MAP: 'मानचित्र पर खोजें',\r\n TOOLTIP_TEXT_BUTTON_CANCEL: 'रद्द करना',\r\n TOOLTIP_TEXT_BUTTON_UPLOAD: 'अपलोड करें',\r\n TOOLTIP_TEXT_BUTTON_REMOVE: 'हटाना',\r\n TOOLTIP_TEXT_BUTTON_DOWNLOAD: 'डाउनलोड',\r\n TOOLTIP_TEXT_BUTTON_VIEW: 'देखें',\r\n TOOLTIP_TEXT_BUTTON_DELETE: 'हटाएँ',\r\n TOOLTIP_TEXT_BUTTON_DOWNLOAD_ALL: 'सभी डाउनलोड करें',\r\n TOOLTIP_TEXT_BUTTON_UPLOAD_ALL: 'सभी अपलोड करें',\r\n TOOLTIP_TEXT_BUTTON_REMOVE_ALL: 'सभी हटाएं',\r\n TOOLTIP_TEXT_ADDRESS_TAG: \"पता टैग / कोड आपके अपने विशिष्ट शब्दों का चयन है जिसका आप Noosom वेब सिस्टम में खोज के लिए प्रयोग कर सकते हैं\",\r\n TOOLTIP_TEXT_HOUSE_BUILDING_NAME: \"यहाँ आप संपत्ति, घर, इमारत या सोसायटी का नाम दर्ज करें, जैसे 'ग्लोरिया का विला' या 'मन्नत रिज़िडेंसी'\",\r\n TOOLTIP_TEXT_STREET_NAME: \"यह आपके स्थान को सटीकता से मैप करने के लिए आवश्यक फ़ील्ड है; कृपया सड़क का नाम सही दर्ज करें\",\r\n TOOLTIP_TEXT_ADDITIONAL_LOCATION_FIELD_1: \"यह और अधिक सटीक स्थान के मैपिंग के लिए एक अतिरिक्त फ़ील्ड है\",\r\n TOOLTIP_TEXT_ADDITIONAL_LOCATION_FIELD_2: \"यह और अधिक सटीक स्थान के मैपिंग के लिए एक अतिरिक्त फ़ील्ड है\",\r\n TOOLTIP_TEXT_TOWN_VILLAGE_CITY: \"पते के गाँव, गाँव या शहर दर्ज करें\",\r\n TOOLTIP_TEXT_POSTAL_ZIPCODE: \"यह पते के देश के संबंधित पोस्टल ज़िपकोड है\",\r\n TOOLTIP_TEXT_REGION_CONTINENT: \"पते का क्षेत्र या महाद्वीप चुनें; उदाहरण के लिए, संयुक्त राज्य यूनाइटेड किंगडम यूरोप में होगा\",\r\n TOOLTIP_TEXT_COUNTRY: \"पते का देश चुनें; उदाहरण के लिए, इंग्लैंड यूरोप में होगा\",\r\n TOOLTIP_TEXT_STATE_PROVINCE: \"पते का राज्य या प्रांत चुनें; उदाहरण के लिए, रोटुमा फिजी में एक राज्य या द्वीप है\",\r\n TOOLTIP_TEXT_CURRENT_ADDRESS: \"यह वर्तमान पता चेकबॉक्स है; आप इसे चुन सकते हैं या अपनी पसंद के अनुसार खाली छोड़ सकते हैं\",\r\n TOOLTIP_TEXT_STAY_DATE_RANGE_1: \"इस फ़ील्ड का उपयोग आपके पते पर रहने की तारीख की श्रेणी दर्ज करने के लिए है\",\r\n TOOLTIP_TEXT_STAY_DATE_RANGE_2: \"इस फ़ील्ड का उपयोग आपके पते पर रहने की तारीख की श्रेणी दर्ज करने के लिए है\",\r\n HEADING_TEXT_SELECT_IMAGES: 'छवियों का चयन करें',\r\n HEADING_TEXT_SELECT_DOCUMENTS: 'दस्तावेज़ों का चयन करें',\r\n HEADING_TEXT_UPLOAD_QUEUE: 'अपलोड कतार',\r\n HEADING_TEXT_QUEUE_PROGRESS: 'कतार प्रगति',\r\n TEXT_FILE_TYPES: 'अनुमत फ़ाइल प्रकार:',\r\n TEXT_QUEUE_LENGTH: 'कतार की लंबाई:',\r\n TEXT_MB: 'एमबी',\r\n CONTROL_LABEL_ADDRESS_TAG: 'पता टैग / कोड',\r\n CONTROL_LABEL_ADDRESS_NAME: 'नाम पता',\r\n CONTROL_LABEL_ADDRESS1: 'सड़क का नाम',\r\n CONTROL_LABEL_ADDRESS2: 'पता २',\r\n CONTROL_LABEL_ADDRESS3: 'पता ३',\r\n CONTROL_LABEL_ADDRESS_TOWN: 'पता टाउन/सिटी ',\r\n CONTROL_LABEL_ADDRESS_STATE: 'पता राज्य',\r\n CONTROL_LABEL_ADDRESS_POST_CODE: 'पता पोस्ट कोड',\r\n CONTROL_LABEL_COUNTRY: 'देश',\r\n CONTROL_LABEL_DATE_FROM: 'तारीख से',\r\n CONTROL_LABEL_DATE_TO: 'तारीख तक',\r\n CONTROL_LABEL_REGION: 'क्षेत्र',\r\n CONTROL_LABEL_MULTIPLE: 'विभिन्न',\r\n CONTROL_LABEL_NOTES: 'टिप्पणियाँ',\r\n LABEL_CURRENT_ADDRESS: 'वर्तमान पता',\r\n PLACEHOLDER_STATE: 'राज्य का चयन करें',\r\n PLACEHOLDER_COUNTRY: 'देश का चयन करें',\r\n PLACEHOLDER_REGION: 'क्षेत्र का चयन करें',\r\n PLACEHOLDER_CHOOSE_FILES: 'फ़ाइलों का चयन करें',\r\n BUTTON_TEXT_ADD_RECORD: 'रिकॉर्ड जोड़ें',\r\n BUTTON_TEXT_CANCEL: 'रद्द करना',\r\n BUTTON_TEXT_SAVE_CHANGES: 'परिवर्तनों को सुरक्षित करें',\r\n BUTTON_TEXT_UPLOAD_ALL: 'सभी को अपलोड करें',\r\n BUTTON_TEXT_PAUSE_ALL: 'सभी रोकें',\r\n BUTTON_TEXT_REMOVE_ALL: 'सभी हटाएं',\r\n BUTTON_TEXT_SEARCH_ON_MAP: 'मानचित्र पर खोजें',\r\n BUTTON_TEXT_SAVE_AND_CLOSE: 'सहेजें और बंद करें',\r\n BUTTON_TEXT_SAVE_AND_NEXT: 'सहेजें और अगला',\r\n BUTTON_TEXT_ABANDON: 'छोड़ देना',\r\n BUTTON_TEXT_DOWNLOAD_ALL: 'सभी डाउनलोड करें',\r\n BUTTON_TEXT_SELECT: 'चयन',\r\n COLUMN_HEADING_NAME: 'नाम',\r\n COLUMN_HEADING_SIZE: 'परिमाण',\r\n COLUMN_HEADING_PROGRESS: 'प्रगति',\r\n COLUMN_HEADING_STATUS: 'स्थति',\r\n COLUMN_HEADING_ACTIONS: 'कार्रवाई',\r\n COLUMN_HEADING_DATE_CREATED: 'निर्माण की तिथि',\r\n COLUMN_HEADING_TYPE: 'प्रकार',\r\n SWEET_ALERT_TITLE_ADDRESS_DOCUMENT_TEXT: 'क्या आप सुनिश्चित हैं, आप इस पता दस्तावेज़ को अनलिंक करना चाहते हैं?',\r\n SWEET_ALERT_TITLE_ALL_ADDRESS_DOCUMENT_TEXT: 'क्या आप सुनिश्चित हैं, आप इन सभी पता दस्तावेज़ों को हटाना चाहते हैं?',\r\n SWEET_ALERT_TITLE_ADDRESS_TEXT: 'क्या आप सुनिश्चित हैं कि आप इस पते और इससे जुड़े सभी अनुलग्नकों को हटाना चाहते हैं?',\r\n SWEET_ALERT_TEXT: \"आप इसे पूर्ववत नहीं कर पाएंगे!\",\r\n SWEET_ALERT_CONFIRM_BUTTON_TEXT: 'हाँ, मिटा दो!',\r\n SWEET_ALERT_CONFIRM_UNLINK_BUTTON_TEXT: 'हाँ, इसे अनलिंक करें!',\r\n SWEET_ALERT_CANCEL_BUTTON_TEXT: 'रद्द करना',\r\n SWEET_ALERT_TEXT_DELETED: 'हटा दिया!',\r\n SWEET_ALERT_CONFIRM_BUTTON_TEXT_OKAY: 'ओके',\r\n TOAST_MESSAGE_ADDRESS_ADDED_SUCCESSFULLY: 'पता सफलतापूर्वक जोड़ा गया।',\r\n TOAST_MESSAGE_ADDRESS_UPDATED_SUCCESSFULLY: 'पता सफलतापूर्वक अपडेट किया गया।',\r\n INFO_MESSAGE_COMING_SOON: 'जल्द आ रहा है',\r\n WARNING_MESSAGE_SELECT_LOCATION: 'कृपया मानचित्र पर स्थान का चयन करें।',\r\n ERROR_MESSAGE_REQUIRED_ADDRESS_TAG: 'पता टैग आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_ADDRESS_NAME: 'पता नाम आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_ADDRESS1: 'सड़क आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_ADDRESS2: 'पता २ आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_ADDRESS3: 'पता ३ आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_ADDRESS_TOWN: 'शहर का पता आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_ADDRESS_STATE: 'राज्य का पता आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_ADDRESS_POST_CODE: 'पोस्ट कोड आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_COUNTRY: 'देश आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_REGION: 'क्षेत्र आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_DATE_FROM: 'से दिनांक आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_DATE_TO: 'तक दिनांक आवश्यक है!',\r\n ERROR_MESSAGE_MAP_ZERO_RESULTS: 'स्थान नहीं मिला!',\r\n ERROR_MESSAGE_MAX_LENGTH_50: 'आपने बहुत अधिक वर्ण टाइप किए हैं, अधिकतम अनुमत 50 है',\r\n },\r\n MAP: {\r\n DIALOG_TITLE_SEARCH_ON_MAP: 'मानचित्र पर खोजें',\r\n DIALOG_TITLE_VIEW_ON_MAP: 'मेरे पते को एक मानचित्र पर देखें।',\r\n DIALOG_TITLE_VIEW_ADDRESS_ON_MAP: 'मानचित्र पर स्थान देखें',\r\n DIALOG_TITLE_VIEW_SCHOOL_ON_MAP: 'मेरे स्कूल के पते को मानचित्र पर देखें',\r\n PLACEHOLDER_SEARCH: 'खोजें...',\r\n }\r\n }\r\n};\r\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'pt',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Não foi possível conectar com o servidor'\n },\n SIGNIN: {\n WELCOME_TEXT: 'Bem-vindo ao Noosom',\n MOTIVATION_BADGE_SIGNIN:'Faça login e comece a aventura',\n CONTROL_LABEL_EMAIL:'Endereço de email',\n CONTROL_LABEL_PASSWORD:'Senha',\n CONTROL_LABEL_REMEMBERME:'Lembre de mim',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Esqueceu sua senha?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Crie a sua conta aqui',\n TEXT_NEWONPLATFORM:'Novo em nossa plataforma?',\n BUTTON_TEXT_LOGIN:'Conecte-se',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Você fez login com sucesso como um usuário {0} no Noosom. Agora você pode começar a explorar. Apreciar! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Bem-vindo, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'O campo de e-mail!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'O campo de senha!',\n ERROR_MESSAGE_INVALID_EMAIL:'O e-mail deve ser um endereço de e-mail válido',\n ERROR_MESSAGE_NOATTEMPTS:'Nome de usuário ou senha inválidos. Não há tentativas restantes.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Seu endereço de e-mail não foi verificado.
primeiro varie seu endereço de e-mail.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Sua conta foi bloqueada.'},\n {ErrorCode:0,ErrorMessage:'Logado com sucesso.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Nome de usuário ou senha inválidos.
Você tem {0} tentativas restantes.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administrador'},{titlle:'Client',value:'Cliente'},{title:'User',value:'Do utilizador'}]\n },\n SIGNUP:\n {\n STEPPER_TITLE_ACCOUNT:'Conta',\n STEPPER_SUB_TITLE_ACCOUNT:'Insira nome de usuário',\n STEPPER_TITLE_PERSONAL:'Pessoal',\n STEPPER_SUB_TITLE_PERSONAL:'Insira as informações',\n HEADING_ACCOUNT:'Informação da conta',\n HEADING_PERSONAL:'Informação pessoal',\n HEADING_SELECTPLAN:'Selecione o plano',\n CONTROL_LABEL_USERID:'ID de usuário Noosom',\n CONTROL_LABEL_EMAILADDRESS:'Endereço de email',\n CONTROL_LABEL_PASSWORD:'Senha',\n CONTROL_LABEL_CONFIRMPASSWORD:'Confirme sua senha',\n CONTROL_LABEL_REGION:'Sua região',\n CONTROL_LABEL_HOMECOUNTRY:'Seu país de',\n CONTROL_LABEL_FIRSTNAME:'Primeiro nome',\n CONTROL_LABEL_MIDDLENAME:'Nome do meio',\n CONTROL_LABEL_LASTNAME:'Sobrenome',\n CONTROL_LABEL_BIRTHDATE:'Data de nascimento',\n CONTROL_LABEL_MOBILENO:'Celular não',\n CONTROL_LABEL_SELECTPLAN:'Grátis para sempre por agora, ou compre mais tarde.',\n PLACEHOLDER_TYPEHERE:'Digite aqui...',\n PLACEHOLDER_PASSWORD:'Senha',\n PLACEHOLDER_REGION:'Selecione a região',\n PLACEHOLDER_COUNTRY:'Selecione o pais',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Anterior',\n BUTTON_TEXT_NEXT:'Próxima',\n BUTTON_TEXT_SUBMIT:'Enviar',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Seus dados serão armazenados',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'na região selecionada',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'Selecione o país de',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Conta criada com sucesso.',\n ERROR_MESSAGE_REQUIRED_USERID:'O campo de nome de usuário!',\n ERROR_MESSAGE_EXISTED_USERID:'Esse nome de usuário foi usado. Por favor, tente outro.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'O campo de endereço de e-mail!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Esse endereço de e-mail foi usado. Por favor, tente outro.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'O campo de senha!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Deve conter pelo menos um número, uma letra maiúscula e uma minúscula e um mínimo de 8 ou mais caracteres.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'A senha repetida deve corresponder.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'O campo de confirmação de senha!',\n ERROR_MESSAGE_REQUIRED_REGION:'O campo região!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'O campo do país de!',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'O campo de nome!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'O campo de nome do meio!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'O campo sobrenome!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'O campo data de nascimento!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'O celular nenhum campo!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Selecione a opção de plano gratuito!'\n }\n }\n};\n","import { MapModalType } from \"app/enums\";\n\nexport class MapAddressDataModel {\n constructor(_mapModalType: MapModalType, _data: any, _zoom: number = 18) {\n this.mapModalType = _mapModalType;\n this.Data = _data;\n this.Zoom = _zoom;\n }\n mapModalType: MapModalType;\n Data: any;\n Zoom: number;\n}\n\nexport class MapAddressOutputModel {\n constructor(_lat: number, _long: number, _searchstring: string) {\n this.lat = _lat;\n this.long = _long;\n this.searchstring = _searchstring;\n }\n lat: number;\n long: number;\n searchstring: string;\n}","import { ChangeDetectorRef, Component, ElementRef, Inject, OnInit, ViewChild } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Observable, Subject } from 'rxjs';\nimport { locale as english } from '../i18n/en';\nimport { locale as french } from '../i18n/fr';\nimport { locale as german } from '../i18n/de';\nimport { locale as portuguese } from '../i18n/pt';\nimport { locale as gujarati } from '../i18n/gj';\nimport { locale as hindi } from '../i18n/hn';\nimport { CoreTranslationService } from '@core/services/translation.service';\nimport { CoreConfigService } from '@core/services/config.service';\nimport { takeUntil } from 'rxjs/operators';\nimport { AddressesModel, TblUserAddresses } from '../address-model.model';\nimport { E } from 'assets/extensions/extensions';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MapModalType } from 'app/enums';\nimport { MapAddressDataModel, MapAddressOutputModel } from './map-address-data-model.model';\nimport { Constant } from 'app/Classes/constant';\nimport { CustomToastrService } from 'app/Services/custom-toastr.service';\nimport { GoogleMap } from '@angular/google-maps';\nimport { GlobalService } from 'app/Services/global.service';\n@Component({\n selector: 'app-map-address',\n templateUrl: './map-address.component.html',\n styleUrls: ['./map-address.component.scss']\n})\nexport class MapAddressComponent implements OnInit {\n @ViewChild('SearchOnMapTextBox', { read: ElementRef }) txtSearchOnMap: ElementRef;\n @ViewChild('map') map: GoogleMap;\n private marker!: google.maps.Marker;\n private geocoder = new google.maps.Geocoder();\n public loading = false;\n currentAppLanguage: any;\n public coreConfig: any;\n private _unsubscribeAll: Subject;\n public error = '';\n public IsDraggable: boolean = false;\n public IsSaveButtonVisible: boolean = false;\n public IsSearchTextVisible: boolean = false;\n public IsSearchOnMap: boolean = false;\n public SearchStringForMap: string = '';\n public mapModalType: MapModalType = MapModalType.SearchString;\n public Lat: number;\n public Long: number;\n public dialogTitle: string;\n public frmMapComponent: FormGroup;\n infoWindowContent\n center: google.maps.LatLngLiteral;\n options: google.maps.MapOptions = {\n zoomControl: true,\n scrollwheel: true,\n disableDefaultUI: true,\n zoom: 18,\n // disableDoubleClickZoom: true,\n // maxZoom: 15,\n // minZoom: 8,\n };\n \n polylinePaths: google.maps.LatLngLiteral[] = [\n // { lat: 37.7749, lng: -122.4194 },\n // { lat: 37.7849, lng: -122.4094 },\n // // more points here\n ];\n polylinePaths2: google.maps.LatLngLiteral[] = [\n // { lat: 37.7749, lng: -122.4194 },\n // { lat: 37.7849, lng: -122.4094 },\n // // more points here\n ];\n polylineOptions: google.maps.Polyline | null = null;\n // markers: Array = [];\n markers:google.maps.MarkerOptions\n userAddresses: Array = []; //Using Same for School\n isFullscreen = false;\n dateformat: any;\n constructor(\n private dialogRef: MatDialogRef,\n private _coreTranslationService: CoreTranslationService,\n private _toastrService: CustomToastrService,\n private _coreConfigService: CoreConfigService,\n private _formBuilder: FormBuilder,\n private cdr: ChangeDetectorRef,\n private globalService: GlobalService,\n @Inject(MAT_DIALOG_DATA) public data: MapAddressDataModel\n ) {\n this._coreTranslationService.translate(english, french, german, portuguese, gujarati, hindi);\n this._unsubscribeAll = new Subject();\n if (this.data) {\n // console.log('mapModalType');\n // console.log(this.data.mapModalType);\n // console.log(this.data.Zoom);\n this.options.zoom = this.data.Zoom;\n this.mapModalType = this.data.mapModalType;\n if (typeof this.data.Data === 'string' && this.mapModalType == MapModalType.SearchString) //Search On Map\n this.SearchStringForMap = E.ConvertToString(this.data.Data);\n else if (this.mapModalType == MapModalType.AddressModel || this.mapModalType == MapModalType.SchoolModel || this.mapModalType == MapModalType.QuickPostModel) {\n this.userAddresses = this.data.Data;\n if (this.userAddresses && this.userAddresses.length > 1)\n this.dialogTitle = \"View all Addresses on a Map\";\n }\n else if (this.mapModalType == MapModalType.LatLong) {\n let _date = this.data.Data as MapAddressOutputModel;\n this.Lat = _date.lat;\n this.Long = _date.long;\n this.SearchStringForMap = _date.searchstring;\n }\n }\n this.dateformat=this.globalService.getDateFormat()\n }\n\n ngAfterContentInit(): void {\n setTimeout(() => {\n if (this.txtSearchOnMap)\n this.txtSearchOnMap.nativeElement.focus();\n\n }, 500);\n }\n\n ngOnInit(): void {\n // this.markers = [];\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n if (this.coreConfig.layout.skin == 'dark') {\n this.options = {\n zoomControl: true,\n scrollwheel: true,\n disableDefaultUI: true,\n zoom: 18,\n styles: [\n { elementType: \"geometry\", stylers: [{ color: \"#242f3e\" }] },\n { elementType: \"labels.text.stroke\", stylers: [{ color: \"#242f3e\" }] },\n { elementType: \"labels.text.fill\", stylers: [{ color: \"#746855\" }] },\n {\n featureType: \"administrative.locality\",\n elementType: \"labels.text.fill\",\n stylers: [{ color: \"#d59563\" }],\n },\n {\n featureType: \"poi\",\n elementType: \"labels.text.fill\",\n stylers: [{ color: \"#d59563\" }],\n },\n {\n featureType: \"poi.park\",\n elementType: \"geometry\",\n stylers: [{ color: \"#263c3f\" }],\n },\n {\n featureType: \"poi.park\",\n elementType: \"labels.text.fill\",\n stylers: [{ color: \"#6b9a76\" }],\n },\n {\n featureType: \"road\",\n elementType: \"geometry\",\n stylers: [{ color: \"#38414e\" }],\n },\n {\n featureType: \"road\",\n elementType: \"geometry.stroke\",\n stylers: [{ color: \"#212a37\" }],\n },\n {\n featureType: \"road\",\n elementType: \"labels.text.fill\",\n stylers: [{ color: \"#9ca5b3\" }],\n },\n {\n featureType: \"road.highway\",\n elementType: \"geometry\",\n stylers: [{ color: \"#746855\" }],\n },\n {\n featureType: \"road.highway\",\n elementType: \"geometry.stroke\",\n stylers: [{ color: \"#1f2835\" }],\n },\n {\n featureType: \"road.highway\",\n elementType: \"labels.text.fill\",\n stylers: [{ color: \"#f3d19c\" }],\n },\n {\n featureType: \"transit\",\n elementType: \"geometry\",\n stylers: [{ color: \"#2f3948\" }],\n },\n {\n featureType: \"transit.station\",\n elementType: \"labels.text.fill\",\n stylers: [{ color: \"#d59563\" }],\n },\n {\n featureType: \"water\",\n elementType: \"geometry\",\n stylers: [{ color: \"#17263c\" }],\n },\n {\n featureType: \"water\",\n elementType: \"labels.text.fill\",\n stylers: [{ color: \"#515c6d\" }],\n },\n {\n featureType: \"water\",\n elementType: \"labels.text.stroke\",\n stylers: [{ color: \"#17263c\" }],\n },\n ]\n }\n } else if (this.coreConfig.layout.skin == 'default') {\n this.options = {zoomControl: true,\n scrollwheel: true,\n disableDefaultUI: true,\n zoom: 18, styles: [] }\n }\n });\n this.frmMapComponent = this._formBuilder.group({\n SearchField: [this.SearchStringForMap, Validators.required],\n });\n this.currentAppLanguage = this.GetCurrentLanguageJsonObject(this.coreConfig.app.appLanguage);\n if (this.data.mapModalType == MapModalType.QuickPostModel) {\n this.dialogTitle = this.currentAppLanguage.data.MAP.DIALOG_TITLE_VIEW_ADDRESS_ON_MAP;\n }\n if (this.data.mapModalType == MapModalType.AddressModel) {\n this.dialogTitle = this.currentAppLanguage.data.MAP.DIALOG_TITLE_VIEW_ON_MAP;\n }\n if (this.data.mapModalType == MapModalType.SchoolModel) {\n this.dialogTitle = this.currentAppLanguage.data.MAP.DIALOG_TITLE_VIEW_SCHOOL_ON_MAP;\n }\n if (this.IsSearchOnMap) {\n this.dialogTitle = this.currentAppLanguage.data.MAP.DIALOG_TITLE_SEARCH_ON_MAP;\n }\n if (this.userAddresses && this.userAddresses.length > 0) {\n let indexi=0\n setTimeout(() => {\n this.userAddresses.forEach(element => {\n if (element.Latitude != null && element.Longitude != null) {\n indexi++;\n this.center = {\n lat: element.Latitude,\n lng: element.Longitude,\n };\n const getRandomContrastColor = (baseColor: string): string => {\n const contrastThreshold = 4.5; // Minimum contrast ratio recommended by WCAG\n const baseLuminance = getLuminance(baseColor);\n let newColor: string;\n do {\n newColor = getRandomColor();\n } while (getContrastRatio(newColor, '#FFFFFF') < contrastThreshold * baseLuminance);\n return newColor;\n };\n \n const getRandomColor = (): string => {\n return '#' + Math.floor(Math.random() * 16777215).toString(16); // Random hex color\n };\n \n const getLuminance = (color: string): number => {\n const rgb = parseInt(color.slice(1), 16); // Convert hex to RGB\n const r = (rgb >> 16) & 0xff;\n const g = (rgb >> 8) & 0xff;\n const b = (rgb >> 0) & 0xff;\n const luminance = (0.2126 * r + 0.7152 * g + 0.0722 * b) / 255; // Calculate luminance according to sRGB\n return luminance;\n };\n \n const getContrastRatio = (color1: string, color2: string): number => {\n const luminance1 = getLuminance(color1);\n const luminance2 = getLuminance(color2);\n const contrast = (luminance1 + 0.05) / (luminance2 + 0.05); // Add small offset to avoid division by zero\n return Math.max(contrast, 1 / contrast);\n };\n \n // Usage:\n const iconColor = getRandomContrastColor('#FFFFFF'); // Generate contrast color\n this.markers =(\n {\n position: { lat: element.Latitude, lng: element.Longitude },\n draggable: this.IsDraggable,\n label: {\n text: (indexi ).toString(),\n color: '#FFFFFF',\n fontSize: '14px',\n fontWeight: 'bold',\n },\n icon:{\n path: google.maps.SymbolPath.CIRCLE,\n fillColor: iconColor,\n fillOpacity: 1,\n scale: 15,\n strokeWeight: 0,},\n\n });\n \n //(element.AddressName + ': ' + element.Address1 + ', ' + element.AddressTown + ', ' + element.AddressPostCode)\n if (this.data.mapModalType == MapModalType.QuickPostModel) {\n this.infoWindowContent = `\n
\n

Title: ${this.data.Data[0].Title}

\n

Location: \n ${this.data.Data[0].Location ? this.data.Data[0].Location : ''}\n \n

\n
\n `;\n }\n else{\n this.infoWindowContent = `\n
\n

Address Tag: ${element.AddressTag}

\n

Address: \n ${element.Address1 ? element.Address1 : ''}${element.Address1 && element?.Address2 ? ', ' : ''}\n ${element?.Address2 ? element.Address2 : ''}${(element?.Address2 || element?.Address1) && element?.Address3 ? ', ' : ''}\n ${element?.Address3 ? element.Address3 : ''}${(element?.Address3 || element?.Address2 || element?.Address1) && element?.AddressTown ? ', ' : ''}\n ${element?.AddressTown ? element.AddressTown : ''}${(element?.AddressTown || element?.Address3 || element?.Address2 || element?.Address1) && element?.AddressPostCode ? ', ' : ''}\n ${element?.AddressPostCode ? element.AddressPostCode : ''}\n \n

\n
\n `;} //${indexi}/${element.AddressPostCode}\n const infowindow = new google.maps.InfoWindow({\n content: this.infoWindowContent,\n zIndex: 9999\n });\n const marker = new google.maps.Marker(this.markers);\n //infowindow.open(this.map.googleMap, marker);\n // Add event listener for mouseover to show the info window\n marker.addListener('mouseover', () => {\n infowindow.open(this.map.googleMap, marker);\n });\n\n // Add event listener for mouseout to close the info window\n marker.addListener('mouseout', () => {\n infowindow.close();\n });\n \n marker.setMap(this.map.googleMap);\n // this.markers.push(marker)\n const position: google.maps.LatLngLiteral = { lat: element.Latitude, lng: element.Longitude };\n\n this.polylinePaths2.push(position)\n }\n });\n this.polylinePaths = [...this.polylinePaths2]; // Ensure a new reference for change detection\n this.drawPolyline(this.polylinePaths);\n }, 10);\n }\n\n if (E.ConvertToString(this.SearchStringForMap) != '') {\n if (this.mapModalType == MapModalType.SearchString) {\n this.getGeoLocation(this.SearchStringForMap).subscribe(data => {\n this.Lat = (data).lat();\n this.Long = (data).lng();\n this.addMarkerOnMap(this.Lat, this.Long, this.SearchStringForMap);\n });\n }\n else if (this.mapModalType == MapModalType.LatLong) {\n this.addMarkerOnMap(this.Lat, this.Long, this.SearchStringForMap);\n }\n }\n this.dialogRef.keydownEvents().subscribe(event => {\n if (event.key.toLocaleLowerCase() === \"escape\") {\n this.onCancelClick();\n }\n });\n }\n onSearchClick() {\n\n if (E.ConvertToString(this.frmMapComponent.get('SearchField').value) != '') {\n this.getGeoLocation(this.frmMapComponent.get('SearchField').value).subscribe(data => {\n\n this.Lat = (data).lat();\n this.Long = (data).lng();\n this.addMarkerOnMap(this.Lat, this.Long, this.SearchStringForMap);\n });\n }\n }\n\n async drawPolyline(coordinates: google.maps.LatLngLiteral[]): Promise {\n const lineSymbol = {\n path: google.maps.SymbolPath.FORWARD_CLOSED_ARROW,\n scale: 4,\n strokeColor: '#F68275',\n strokeWeight: 2,\n };\n this.polylineOptions = new google.maps.Polyline({\n path: coordinates,\n strokeColor: '#52057f',\n strokeOpacity: 0.8,\n strokeWeight: 5,\n map: this.map.googleMap\n });\n\n // const bounds = new google.maps.LatLngBounds();\n // coordinates.forEach((location) => {\n // bounds.extend(location);\n // });\n // this.map.fitBounds(bounds);\n\n const bounds = new google.maps.LatLngBounds();\n\n // Extend bounds for all coordinates\n coordinates.forEach((location) => {\n bounds.extend(location);\n });\n \n if (!bounds.isEmpty()) {\n const padding = { top: 50, bottom: 50, left: 50, right: 50 };\n google.maps.event.addListenerOnce(this.map.googleMap, 'idle', () => {\n this.map.fitBounds(bounds, padding);\n });\n }\n }\n\n \n toggleFullscreen() {\n const overlayPane = document.querySelector('.cdk-overlay-pane') as HTMLElement;\n if (overlayPane && !this.IsSearchTextVisible) {\n this.isFullscreen = !this.isFullscreen;\n this.dialogRef.updateSize(this.isFullscreen ? '100vw' : '70%',this.isFullscreen ? '100vh' : '55%');\n if (this.isFullscreen) {\n overlayPane.style.marginLeft = '0%';\n overlayPane.style.maxWidth = '100vw';\n } else {\n overlayPane.style.marginLeft = '18%';\n overlayPane.style.maxWidth = '80vw';\n }\n }\n if ( this.IsSearchTextVisible) {\n const overlayPane1 = document.getElementById('cdk-overlay-1') as HTMLElement;\n this.isFullscreen = !this.isFullscreen;\n this.dialogRef.updateSize(this.isFullscreen ? '100vw' : '70%',this.isFullscreen ? '100vh' : '55%');\n if (this.isFullscreen) {\n setTimeout(() => {\n overlayPane1.style.maxWidth = '100vw';\n }, 500);\n } else {\n overlayPane1.style.maxWidth = '80vw';\n }\n }\n }\n\n addMarkerOnMap(Latitude: number, Longitude: number, Title: string) {\n this.center = {\n lat: Latitude,\n lng: Longitude,\n };\n // this.markers = [];\n this.markers=(\n {\n position: { lat: Latitude, lng: Longitude },\n draggable: this.IsDraggable,\n // label: {\n // color: 'red',\n // text: element.AddressName,\n // },\n title: Title,\n //options: { animation: google.maps.Animation.BOUNCE },\n });\n const marker = new google.maps.Marker(this.markers);\n setTimeout(() => {\n marker.setMap(this.map.googleMap);\n }, 500);\n }\n\n onCloseButtonClick() {\n this.closeDialog();\n }\n onCancelClick() {\n this.userAddresses = [];\n this.closeDialog();\n }\n onDragEndMarker(event: google.maps.MouseEvent, index) {\n // console.log('Marker Changed');\n if (this.userAddresses && this.userAddresses.length > 0) {\n this.userAddresses[index].Latitude = event.latLng.lat();\n this.userAddresses[index].Longitude = event.latLng.lng();\n }\n else if (this.Lat && this.Long) {\n this.Lat = event.latLng.lat();\n this.Long = event.latLng.lng();\n // console.log(this.Lat);\n // console.log(this.Long);\n }\n }\n closeDialog(ReloadParentData: boolean = false) {\n this.dialogRef.close(ReloadParentData ? this.userAddresses : []);\n }\n\n getGeoLocation(address: string): Observable {\n let geocoder = new google.maps.Geocoder();\n return Observable.create(observer => {\n geocoder.geocode({\n 'address': address\n }, (results, status) => {\n //console.log('results');\n //console.log(results);\n if (status == google.maps.GeocoderStatus.OK) {\n observer.next(results[0].geometry.location);\n observer.complete();\n }\n else if (status == google.maps.GeocoderStatus.ZERO_RESULTS) {\n setTimeout(() => {\n this._toastrService.Warning(this.currentAppLanguage.data.ADDRESS.ERROR_MESSAGE_MAP_ZERO_RESULTS, Constant.WarningToastrTitle);\n }, 10);\n } else {\n // console.log('Error: ', results, ' & Status: ', status);\n observer.error();\n }\n });\n });\n }\n\n onSubmit() {\n let Event = ''; let _data; let _searchstring = '';\n if (((this.Lat == null) || (this.Lat == undefined) && (this.Long == null) || (this.Long == undefined))) {\n this.onSearchClick();\n }\n\n setTimeout(() => {\n if (this.IsSearchTextVisible, this.txtSearchOnMap)\n if (this.IsSearchTextVisible && this.txtSearchOnMap) {\n if (E.ConvertToString(this.txtSearchOnMap.nativeElement.value) !== '') {\n _searchstring = E.ConvertToString(this.txtSearchOnMap.nativeElement.value);\n }\n else {\n return;\n }\n }\n if (this.IsSearchOnMap) {\n Event = 'SearchOnMap';\n _data = new MapAddressOutputModel(this.Lat, this.Long, _searchstring);\n }\n this.dialogRef.close({ event: Event, data: _data });\n }, 1000);\n }\n\n GetCurrentLanguageJsonObject(currentAppLanguage) {\n var result;\n switch (currentAppLanguage) {\n case 'en':\n result = english;\n break;\n case 'in':\n result = gujarati;\n break;\n case 'hn':\n result = hindi;\n break;\n }\n return result;\n }\n\n fetchCurrentLocation(): void {\n //console.log(\"enter\")\n this.getCurrentLocation()\n .then((coords) => {\n const { latitude, longitude } = coords;\n\n // Update center and marker position\n this.center = { lat: latitude, lng: longitude };\n this.Lat = latitude;\n this.Long = longitude;\n this.options={zoom :15}\n this.markers =(\n {\n position: { lat: latitude, lng: longitude },\n draggable: this.IsDraggable})\n const marker = new google.maps.Marker(this.markers);\n marker.setMap(this.map.googleMap);\n // this.markerPosition = { lat: latitude, lng: longitude };\n \n // Reverse geocode to get the location name\n return this.getAddressFromCoordinates(latitude, longitude);\n })\n .then((address) => {\n this.txtSearchOnMap.nativeElement.value = address; // Set address in the input field\n })\n .catch((error) => {\n // console.error('Error:', error);\n alert(error);\n });\n }\n\n getCurrentLocation(): Promise<{ latitude: number; longitude: number }> {\n return new Promise((resolve, reject) => {\n if ('geolocation' in navigator) {\n navigator.geolocation.getCurrentPosition(\n (position: GeolocationPosition) => {\n resolve({\n latitude: position.coords.latitude,\n longitude: position.coords.longitude,\n });\n },\n (error: GeolocationPositionError) => {\n reject(this.handleLocationError(error));\n }\n );\n } else {\n reject('Geolocation is not supported by this browser.');\n }\n });\n }\n\n // Reverse geocode coordinates to get the location name\n getAddressFromCoordinates(latitude: number, longitude: number): Promise {\n return new Promise((resolve, reject) => {\n const latlng = new google.maps.LatLng(latitude, longitude);\n this.geocoder.geocode({ location: latlng }, (results: any, status: string) => {\n if (status === 'OK' && results[0]) {\n resolve(results[0].formatted_address);\n } else {\n reject('Unable to retrieve location name.');\n }\n });\n });\n }\n\n // Handle location errors\n private handleLocationError(error: GeolocationPositionError): string {\n switch (error.code) {\n case error.PERMISSION_DENIED:\n return 'User denied the request for Geolocation.';\n case error.POSITION_UNAVAILABLE:\n return 'Location information is unavailable.';\n case error.TIMEOUT:\n return 'The request to get user location timed out.';\n default:\n return 'An unknown error occurred.';\n }\n }\n}\n","
\n
\n
{{dialogTitle}} \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 { Injectable } from '@angular/core';\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\nimport {NoosomPlans,NoosomCategoryID} from 'app/enums';\nimport { AuthenticationService } from 'app/auth/service';\nimport { stat } from 'fs';\n\n@Injectable({ providedIn: 'root' })\nexport class AuthGuard implements CanActivate {\n /**\n *\n * @param {Router} _router\n * @param {AuthenticationService} _authenticationService\n */\n constructor(private _router: Router, private _authenticationService: AuthenticationService) { }\n\n // canActivate\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n const currentUser = this._authenticationService.currentUserValue;\n if (currentUser) {\n // check if route is restricted by role\n // console.log(route,currentUser)\n if (route.data.roles && route.data.roles.indexOf(currentUser.Role) === -1) {\n // role not authorised so redirect to not-authorized page\n this._router.navigate(['/pages/miscellaneous/not-authorized']);\n return false;\n }\n else if((state.url==\"/mylist/awards\")||\n (state.url==\"/mylist/diaryEntries\")||\n (state.url==\"/mylist/friends\")||\n (state.url==\"/mylist/families\")||\n (state.url==\"/mylist/jobs\")||\n (state.url==\"/mylist/achievement\")||\n (state.url==\"/diary-view\")||\n (state.url==\"/mypastimes\")||\n (state.url==\"/mylifestory\")||\n (state.url==\"/me-on-web\")||\n (state.url==\"/apps/todo/all\")||\n (state.url==\"/paperback\")||\n (state.url==\"/legals\")||\n (state.url==\"/map-view\")||\n (state.url==\"/blog\")){\n if(this._authenticationService.currentUserValue.CurrentNoosomPlanId==NoosomPlans.Premium_1 || this._authenticationService.currentUserValue.NoosomCategoryEnumId==NoosomCategoryID.Test){\n return true;\n } \n else{ \n this._router.navigate(['/pages/miscellaneous/not-authorized']);}\n //this._authenticationService.logout();\n return false;\n }\n // else if((state.url == '/shared')){\n // if(this._authenticationService.currentUserValue.CurrentNoosomPlanId==NoosomPlans.Noosom_Free_Forever && this._authenticationService.currentUserValue.NoosomCategoryEnumId==NoosomCategoryID.User){\n // return true;\n // } \n // else{ \n // this._router.navigate(['/pages/miscellaneous/not-authorized']);}\n // //this._authenticationService.logout();\n // return false;\n // }\n // else if((state.url==\"/jobs\")){\n // this._router.navigate(['/pages/miscellaneous/not-authorized']);\n // return false;\n // }\n\n // authorised so return true\n return true;\n }\n else if(state.url==\"/diary\"){\n return true;\n }\n else if(state.url==\"/apps/invoice/payment\"){\n return true;\n }\n\n // not logged in so redirect to login page with the return url\n this._router.navigate(['/pages/authentication/login-v2'], { queryParams: { returnUrl: state.url } });\n //this._router.navigate(['/pages/authentication/login-v2']);\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nimport { AuthenticationService } from 'app/auth/service';\n\n@Injectable()\nexport class ErrorInterceptor implements HttpInterceptor {\n /**\n * @param {Router} _router\n * @param {AuthenticationService} _authenticationService\n */\n constructor(private _router: Router, private _authenticationService: AuthenticationService) {}\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n return next.handle(request).pipe(\n catchError(err => {\n if ([401, 403].indexOf(err.status) !== -1) {\n // auto logout if 401 Unauthorized or 403 Forbidden response returned from api\n \n //? Can also logout and reload if needed\n // if(this._authenticationService.currentUserValue.Token)\n // this._authenticationService.logout();\n setTimeout(() => {\n this._router.navigate(['/pages/authentication/login-v2']);\n setTimeout(() => {\n sessionStorage.clear();\n localStorage.clear();\n sessionStorage.removeItem(\"NoosomPlan\");\n localStorage.removeItem('currentUser');\n window.location.reload();\n }, 1000);\n }, 1000);\n //this._router.navigate(['/pages/miscellaneous/not-authorized']);\n \n //location.reload(true);\n }\n // throwError\n const error = err.error.message || err.statusText;\n return throwError(error);\n })\n );\n }\n}\n","import { Role } from './role';\n\nexport class User {\n Id: number;\n UserDetailsId: number;\n CountryId: number;\n SexAtBirth: number;\n baseURL:string;\n LifeExpectancyOfFemales: number;\n LifeExpectancyOfMales: number;\n LifeExpectancyAverage: number;\n CurrencyId: number;\n CurrencyName: string;\n CurrencyShortCode: string;\n CurrencySymbol: string;\n CoverImagePath:string;\n Email: string;\n Password: string;\n CreatedDate: string;\n FirstName: string;\n MiddleName: string;\n LastName: string;\n FullName: string;\n Livesin: string;\n Avatar: string;\n Role: Role;\n NoosomWebURL:string;\n Token?: string;\n TotalMoneySpentOnNoosom:number;\n RoleTitle: string;\n RemainingAttempts: number;\n NoosomTypeId: number;\n Birthdate: Date;\n CdnFolderName: string;\n CountryName: string;\n CountryShortCode: string;\n ProfileImagePath: string;\n Parameter: TblParameters;\n CurrentNoosomPlanId: number;\n CurrentNoosomPricingPlanId: number;\n NoosomCategoryEnumId: number;\n UserSettings: UserSettingsModel;\n TrialExpiredYn?: boolean;\n PublicImageYN:boolean;\n OtpYN:boolean;\n}\n\nexport class UserSettingsModel {\n UserSettingId: number;\n UserDetailsId: number;\n Theme: string;\n RouteTransition: string;\n MenuLayout: string;\n MenuCollapsedYn: boolean;\n MenuHiddenYn: boolean;\n NavbarColor: string;\n NavbarType: string;\n FooterType: string;\n}\nexport class TblParameters {\n ParameterId: number;\n EmailUserName: string;\n EmailPassword: string;\n EmailHost: string;\n EmailSsl?: boolean;\n EmailPort?: number;\n Salt: string;\n SmsConfigId?: number;\n CurrentWebVersionNumber: string;\n LastWebVersionUpdateDate?: Date;\n CurrentAppVersionNumber: string;\n LastAppVersionUpdateDate?: Date;\n GoogleMapJavascriptKey: string;\n Gstin: string;\n Cin: string;\n KotakMerchantId: string;\n KotakAccessCode: string;\n KotakWorkingKey: string;\n AddressHouseName: string;\n Address1: string;\n Address2: string;\n Address3: string;\n AddressTown: string;\n AddressPostCode: string;\n AddressStateName: string;\n AddressCountryName: string;\n Latitude?: number;\n Longitude?: number;\n CreatedDate: Date;\n CreatedTime: Date;\n CreatedBy: number;\n ChangedDate: Date;\n ChangedTime: Date;\n ChangedBy: number;\n NoosomPaymentGatewayId: number;\n PaginationPageSize: number;\n PaginationPage: number;\n LightGalleryLicenseKey: string;\n}\n\n\nexport class storage{\n DiaryOrJournal:any;\n userCategory:any;\n NoosomPlan:any;\n}","export enum Role {\n Admin = 'Admin',\n Client = 'Client',\n User = 'User'\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InactivityService {\n private activityTimeout: number = 60 * 60 * 1000; // 60 minutes\n private activitySubject: Subject = new Subject();\n\n constructor() {\n this.initializeEvents();\n }\n\n private initializeEvents() {\n let inactivityTimer: any;\n\n const resetTimer = () => {\n clearTimeout(inactivityTimer);\n inactivityTimer = setTimeout(() => {\n this.activitySubject.next();\n }, this.activityTimeout);\n };\n\n const onUserActivity = () => {\n resetTimer();\n };\n\n // Add event listeners for user activity\n ['mousemove', 'keydown', 'scroll', 'touchstart'].forEach((event) => {\n window.addEventListener(event, onUserActivity);\n });\n\n // Initial timer start\n resetTimer();\n }\n\n get activityObservable(): Observable {\n return this.activitySubject.asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\nimport { map, takeUntil } from 'rxjs/operators';\nimport { User, Role, UserSettingsModel } from 'app/auth/models';\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\nimport { Constant } from 'app/Classes/constant';\nimport { Status } from 'app/enums';\n\nimport { locale as english } from 'app/Logins/i18n/en';\nimport { locale as french } from 'app/Logins/i18n/fr';\nimport { locale as german } from 'app/Logins/i18n/de';\nimport { locale as portuguese } from 'app/Logins/i18n/pt';\nimport { locale as gujarati } from 'app/Logins/i18n/gj';\nimport { locale as hindi } from 'app/Logins/i18n/hn';\n\nimport { CoreTranslationService } from '@core/services/translation.service';\nimport { CoreConfigService } from '@core/services/config.service';\nimport { SignOutInputModel } from 'app/Logins/account-model';\nimport { CustomToastrService } from 'app/Services/custom-toastr.service';\nimport { E } from 'assets/extensions/extensions';\nimport { InactivityService } from 'app/Services/inactivity-service.service';\nimport { Router } from '@angular/router';\n@Injectable({ providedIn: 'root' })\nexport class AuthenticationService {\n //public\n public currentUser: Observable;\n public coreConfig: any;\n public currentAppLanguage: any;\n jsonLanguageObject: any;\n public error: string = \"\";\n\n SignOutInputModel: SignOutInputModel = new SignOutInputModel();\n //private\n private currentUserSubject: BehaviorSubject;\n private _unsubscribeAll: Subject;\n\n /**\n *\n * @param {HttpClient} _http\n * @param {CoreConfigService} _coreConfigService\n * @param {CoreTranslationService} _coreTranslationService\n */\n constructor(\n private _http: HttpClient,\n private EncrDecr: EncrDecrService,\n private _toastrService: CustomToastrService,\n private _coreConfigService: CoreConfigService,\n private _coreTranslationService: CoreTranslationService,\n private inactivityService: InactivityService,\n private _router: Router,\n ) {\n this.currentUserSubject = new BehaviorSubject(JSON.parse(this.EncrDecr.get(Constant.EncrDecrKey, localStorage.getItem('currentUser'))));\n this.currentUser = this.currentUserSubject.asObservable();\n this._coreTranslationService.translate(english, french, german, portuguese, gujarati, hindi);\n this._unsubscribeAll = new Subject();\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n this.currentAppLanguage = this.coreConfig.app.appLanguage;\n this.jsonLanguageObject = this.GetCurrentLanguageJsonObject(this.currentAppLanguage);\n this.initializeInactivityLogout();\n }\n\n // getter: currentUserValue\n public get currentUserValue(): User {\n const user = this.currentUserSubject.value;\n const currentAPIURL = this.getAPIURL();\n \n if (user) {\n if (!user.baseURL || user.baseURL === currentAPIURL) {\n return user;\n } else {\n sessionStorage.clear();\n localStorage.clear();\n return null;\n }\n }\n \n return null;\n }\n\n getAPIURL(): string {\n const currentURL = window.location.href;\n const sitename = currentURL.split('/').slice(0, 3).join('/');\n return sitename;\n }\n\n /**\n * Confirms if user is admin\n */\n get isAdmin() {\n return this.currentUser && this.currentUserSubject.value.Role === Role.Admin;\n }\n\n /**\n * Confirms if user is client\n */\n get isClient() {\n return this.currentUser && this.currentUserSubject.value.Role === Role.Client;\n }\n\n /**\n * User login\n *\n * @param email\n * @param password\n * @returns user\n */\n\n // login(email: string, password: string) {\n // return this._http\n // .post(`${environment.apiUrl}/users/authenticate`, { email, password })\n // .pipe(\n // map(user => {\n // // login successful if there's a jwt token in the response\n // if (user && user.token) {\n // // store user details and jwt token in local storage to keep user logged in between page refreshes\n // localStorage.setItem('currentUser', JSON.stringify(user));\n\n // // Display welcome toast!\n // setTimeout(() => {\n // this._toastrService.success(\n // 'You have successfully logged in as an ' +\n // user.role +\n // ' user to Vuexy. Now you can start to explore. Enjoy! 🎉',\n // '👋 Welcome, ' + user.firstName + '!',\n // { toastClass: 'toast ngx-toastr', closeButton: true }\n // );\n // }, 2500);\n\n // // notify\n // this.currentUserSubject.next(user);\n // }\n\n // return user;\n // })\n // );\n // }\n\n // login(body: any, path: string) {\n // this.jsonLanguageObject = this.GetCurrentLanguageJsonObject(this.currentAppLanguage);\n // var encrypted = { RequestMessage: this.EncrDecr.set(Constant.EncrDecrKey, JSON.stringify(body)) };\n // return this._http\n // .post(Constant.API + path, encrypted)\n // .pipe(\n // map(result => {\n // let decrypted = this.EncrDecr.get(Constant.EncrDecrKey, result.data);\n // let user: User = JSON.parse(decrypted);\n // user.role = this.GetRole(user.roleTitle);\n // user.avatar = 'avatar-s-11.jpg';\n // // login successful if there's a jwt token in the response\n // if (user && user.token && user.loginstatus == Status.LoginSuccessful) {\n // }\n // return user;\n // })\n // );\n // }\n\n private initializeInactivityLogout() {\n this.inactivityService.activityObservable.subscribe(() => {\n if(JSON.parse(this.EncrDecr.get(Constant.EncrDecrKey, localStorage.getItem(\"currentUser\")))){\n //console.log(JSON.parse(this.EncrDecr.get(Constant.EncrDecrKey, localStorage.getItem(\"currentUser\"))))\n this.logout();\n this._router.navigate(['/pages/authentication/login-v2']);\n setTimeout(() => {\n window.location.reload();\n }, 100);}\n });\n }\n\n // modalOpenWarning(modalWarning) {\n // this.modalService.open(modalWarning, {\n // centered: true,\n // windowClass: 'modal modal-warning'\n // });\n // }\n\n /**\n * User logout\n *\n */\n async logout() {\n let promise = new Promise((resolve, reject) => {\n var Result: boolean = false;\n // console.log(JSON.parse(this.EncrDecr.get(Constant.EncrDecrKey, localStorage.getItem(\"tkn\"))))\n const path = 'api/Account/SignOut';\n let response: Observable;\n this.SignOutInputModel = {\n UserId: JSON.parse(this.EncrDecr.get(Constant.EncrDecrKey, localStorage.getItem(\"currentUser\"))).Id, //this._encryptDecryptService.get(Constant.EncrDecrKey, \n UserSettings: this.GetUserSettings(JSON.parse(this.EncrDecr.get(Constant.EncrDecrKey, localStorage.getItem(\"currentUser\"))).UserDetailsId),\n UserDetailId: this.currentUserValue.UserDetailsId,\n NotificationToken: this.EncrDecr.get(Constant.EncrDecrKey, localStorage.getItem(\"tkn\"))\n }\n let encrypted = { RequestMessage: this.EncrDecr.set(Constant.EncrDecrKey, JSON.stringify(this.SignOutInputModel)) };\n //console.log(encrypted);\n this._http.post(Constant.API + 'api/Account/SignOut', encrypted, { headers: this.SetHeaders() }).subscribe((data: any) => {\n //console.log(data);\n if (data) {\n if (Number(data.status) == Status.Success) {\n //console.log(true);\n // remove user from local storage to log user out\n sessionStorage.clear();\n localStorage.clear();\n sessionStorage.removeItem(\"NoosomPlan\")\n sessionStorage.removeItem('userCategory')\n localStorage.removeItem('currentUser');\n localStorage.removeItem('tkn');\n // notify\n this.currentUserSubject.next(null);\n Result = true;\n resolve(Result)\n }\n else {\n this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n }\n }\n else {\n this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n }\n },\n error => {\n //this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n }\n );\n });\n return await promise;\n }\n\n SetHeaders() {\n const headers = new HttpHeaders({\n 'Authorization': `Bearer ` + this.currentUserValue.Token\n });\n return headers;\n }\n\n GetUserSettings(userDetailsId: number): UserSettingsModel {\n let _settings: UserSettingsModel = new UserSettingsModel();\n if (typeof (_settings) !== 'undefined') {\n this._coreConfigService\n .getConfig()\n .pipe(takeUntil(this._unsubscribeAll))\n .subscribe(config => {\n _settings.Theme = config.layout.skin;\n _settings.MenuLayout = config.layout.type;\n _settings.RouteTransition = config.layout.animation;\n _settings.MenuCollapsedYn = config.layout.menu.collapsed;\n _settings.MenuHiddenYn = config.layout.menu.hidden;\n _settings.NavbarColor = config.layout.navbar.backgroundColor;\n _settings.NavbarType = config.layout.navbar.type;\n _settings.FooterType = config.layout.footer.type;\n _settings.UserDetailsId = userDetailsId;\n });\n //console.log(_settings);\n }\n return _settings;\n }\n\n GetCurrentLanguageJsonObject(currentAppLanguage) {\n var result;\n switch (currentAppLanguage) {\n case 'en':\n result = english;\n break;\n case 'in':\n result = gujarati;\n break;\n case 'hn':\n result = hindi;\n break;\n }\n return result;\n }\n SetUserSession(user: User, DisplayToastrMsg = true) {\n // store user details and jwt token in local storage to keep user logged in between page refreshes\n localStorage.setItem('currentUser', this.EncrDecr.set(Constant.EncrDecrKey, JSON.stringify(user)));\n // Display welcome toast!\n if (DisplayToastrMsg === true) {\n var title = this.jsonLanguageObject.data.SIGNIN.TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT.replace(\"{0}\", user.FirstName);\n //var msg = this.jsonLanguageObject.data.SIGNIN.TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE.replace(\"{0}\", this.jsonLanguageObject.data.SIGNIN.ROLES.filter(r => r.title == user.RoleTitle)[0].value);\n setTimeout(() => {\n // this._toastrService.Success(msg, title);\n this._toastrService.Success(title);\n }, 2500);\n }\n // { toastClass: 'toast ngx-toastr', closeButton: true, positionClass: 'toast-top-right' }\n // notify\n this.currentUserSubject.next(user);\n }\n GetRole(RoleTitle: string): Role {\n let Result: Role;\n switch (RoleTitle) {\n case \"Admin\":\n Result = Role.Admin\n break;\n case \"Client\":\n Result = Role.Client\n break\n case \"User\":\n Result = Role.User\n break;\n }\n return Result;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\nimport { environment } from 'environments/environment';\nimport { User } from 'app/auth/models';\n\n@Injectable({ providedIn: 'root' })\nexport class UserService {\n /**\n *\n * @param {HttpClient} _http\n */\n constructor(private _http: HttpClient) { }\n\n /**\n * Get all users\n */\n getAll() {\n return this._http.get(`${environment.apiUrl}/users`);\n }\n\n /**\n * Get user by id\n */\n getById(id: number) {\n return this._http.get(`${environment.apiUrl}/users/${id}`);\n }\n}\n","import { AddressesModel } from \"app/Models/user-address-model\";\nimport { FileType, QuickPostType, RecordsType, SharedType } from \"app/enums\";\n\nexport class HomeModel {\n\n}\n\nexport class StorageDetailOutputModel {\n AllowedStorageInBytes: number;\n UsedStorageInBytes: number;\n UsedStorageInPercentage: number;\n AllowedStorageInGB: string;\n UsedStorageInGB: string;\n AllowedStorage: string;\n UsedStorage: string;\n}\n\nexport class GetQuickPostListInputModel {\n UserDetailsId: number;\n StartDate: string;\n EndDate: string;\n DocLoadYN: boolean;\n GetMetaDataYN?:boolean;\n NumberOfAttachments?: number;\n FileType?:FileType;\n QuickPostType?:QuickPostType;\n Page?: number;\n PageSize?: number;\n}\n\nexport class GetLatestQuickPostInputModel {\n UserDetailsId: number;\n GetMetaDataYN?: boolean;\n AttachmentCount?: number;\n}\nexport class GetMoodeTrackersInputModel {\n UserDetailsId: number;\n StartDate: string;\n EndDate: string;\n MoodType?: number;\n}\nexport class MoodTrackersDetailModel {\n MoodID: number;\n MoodName: string;\n Percentage: number;\n}\nexport class GetMoodeTrackersOutputModel {\n MoodList: Array;\n}\nexport class GetStorageStatisticsInputModel {\n UserDetailsId: number;\n}\nexport class StorageStatisticsOutputModel {\n Statistics: Array;\n}\nexport class StorageStatisticsDetailModel {\n FileType: string;\n TypeCount: number;\n}\nexport class GetRandomUserQuickPostDocumentInputModel {\n UserDetailsId: number;\n NumberOfRecords: number;\n PublicYN: boolean;\n}\nexport class GetOnThisDayInputModel {\n TodayDate: string;\n UserDetailsId: number;\n GetMetaDataYN: boolean;\n AttachmentCount?: number;\n }\n export class NoosomCouponCodeInputModel\n {\n UserDetailsId:number;\n }\n export class GetMyAttachmentsInputModel\n { \n UserDetailsId: number;\n Page: number;\n Pagesize: number;\n FileType: FileType;\n QuickPostType: QuickPostType;\n GetMetaDataYN:boolean;\n }\n\n export class GetMyAttachmentsOutputModel {\n TotalNumberOfRecords: number;\n TotalNumberOfPages: number;\n AttachmentId: number;\n UserDetailsId: number;\n ParentId?: number;\n DocumentName: string;\n DocumentOldName: string;\n DocumentPath: string;\n FileType: string;\n Size: string;\n DocumentType: string;\n FileCreatedDate?: Date;\n FileLastModifiedDate?: Date;\n FileCreatedLatitude?: number;\n FileCreatedLongitude?: number;\n AllFileMetadata: string;\n CreatedDate: Date;\n CreatedTime: Date;\n CreatedBy: number;\n ChangedDate: Date;\n ChangedTime: Date;\n ChangedBy: number;\n }\n\n export class MyBlogAboutMeCreateUpdateInputModel {\n UserDetailsId: number;\n AboutMeDescription: string;\n StayAnonymousYn?: boolean;\n }\n\n export class GetMyBlogAboutMeInputModel {\n UserDetailsId: number;\n }\n\n export class GetMyBlogAboutMeOutputModel {\n AboutMeData: GetMyBlogAboutMeDataModel;\n }\n\n export class GetMyBlogAboutMeDataModel {\n UserDetailsId: number;\n UserId: number;\n UserName: string;\n EmailAddress: string;\n FullName: string;\n FirstName: string;\n MiddleName: string;\n LastName: string;\n ProfileImagePath: string;\n CoverImagePath: string;\n JoinedDate: Date;\n NoosomWebUrl: string;\n PersonalWebUrl: string;\n AboutMeDescription: string;\n StayAnonymousYn?: boolean;\n CurrentUserAddress: AddressesModel;\n }\n\n export class UserDetailsInputModel\n {\n UserDetailsId:number;\n }\n\n export class SearchInputModel\n {\n UserDetailsId:number;\n SearchString:string;\n NoosomPlanID:number;\n }\n\n export class SearchOutputModel\n {\n RecordId:number;\n DocumentPath:string;\n Title:string;\n EnumId:number;\n }\n\n export class UserQuickPostInputModelShared\n {\n \n UserDetailsId:number;\n Shared:SharedType;\n NumberOfAttachments?:number;\n StartDate?:string;\n EndDate?:string;\n Page?:number;\n PageSize?:number;\n FileType?:FileType;\n\n }","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TabStateServiceService {\n constructor() { }\n private activeTabIndex: number = 0;\n\n setTabIndex(index: number): void {\n this.activeTabIndex = index;\n }\n\n getTabIndex(): number {\n return this.activeTabIndex;\n }\n}\n","import { Component, ElementRef, OnInit, Pipe, PipeTransform, TemplateRef, ViewChild } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { NgbModal, NgbNav, NgbPopover } from '@ng-bootstrap/ng-bootstrap';\nimport { User } from 'app/auth/models';\nimport { AuthenticationService } from 'app/auth/service';\nimport { Constant } from 'app/Classes/constant';\nimport { DashboardService } from 'app/dashboard/dashboard.service';\nimport { FileType, MapModalType, QuickPostType, SharedType, Status } from 'app/enums';\nimport { GetMyAttachmentsInputModel, GetMyBlogAboutMeDataModel, GetMyBlogAboutMeInputModel, GetMyBlogAboutMeOutputModel, GetOnThisDayInputModel, GetQuickPostListInputModel, MyBlogAboutMeCreateUpdateInputModel, UserQuickPostInputModelShared } from 'app/home/home-model.model';\nimport { ProfileService } from 'app/main/pages/profile/profile.service';\nimport { locale as english } from 'app/filemanager/i18n/en';\nimport { locale as french } from 'app/filemanager/i18n/fr';\nimport { locale as german } from 'app/filemanager/i18n/de';\nimport { locale as portuguese } from 'app/filemanager/i18n/pt';\nimport { locale as gujarati } from 'app/filemanager/i18n/gj';\nimport { locale as hindi } from 'app/filemanager/i18n/hn';\nimport { QuickPostCreateUpdateInputModel, QuickPostLoadDataOutputModel, QuickPostModel, TblUserQuickPosts, UserQuickPostConnectionsOutputModel } from 'app/quick-post/quick-post-model.model';\nimport { CustomToastrService } from 'app/Services/custom-toastr.service';\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\nimport { LoadingScreenService } from 'app/Services/loading-screen.service';\nimport { E } from 'assets/extensions/extensions';\nimport { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { SwiperConfigInterface } from 'ngx-swiper-wrapper';\nimport { QuickpostlistService } from 'app/quickpost-list/quickpostlist.service';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { UploadComponent } from 'app/quick-post/upload/upload.component';\nimport { QuickPostComponent } from 'app/quick-post/quick-post/quick-post.component';\nimport { FileUploader, FileItem } from 'ng2-file-upload';\nimport Swal from 'sweetalert2';\nimport { ImageCroppedEvent } from 'ngx-image-cropper';\nimport { UserProfileService } from 'app/user-profile/user-profile.service';\nimport { UpdateProfilePictureInputModel } from 'app/about-me/about-me-model.model';\nimport { LightGallery } from 'lightgallery/lightgallery';\nimport lgZoom from 'lightgallery/plugins/zoom';\nimport thumbnail from 'lightgallery/plugins/thumbnail';\nimport pager from 'lightgallery/plugins/pager';\nimport { Clipboard } from '@angular/cdk/clipboard';\nimport autoPlay from 'lightgallery/plugins/autoplay';\nimport lgvideo from 'lightgallery/plugins/video';\nimport lgVideo from 'lightgallery/plugins/video';\nimport vimeoVideo from 'lightgallery/plugins/video';\nimport videoThumbnail from 'lightgallery/plugins/video';\nimport fullScreen from 'lightgallery/plugins/fullscreen';\nimport rotate from 'lightgallery/plugins/rotate';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { GlobalService } from 'app/Services/global.service';\nimport { TrackersComponent } from 'app/quick-post/trackers/trackers.component';\nimport { CoreTranslationService } from '@core/services/translation.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CoreConfigService } from '@core/services/config.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { QuickPostService } from 'app/quick-post/quick-post/quick-post.service';\nimport { TabStateServiceService } from 'app/Services/tab-state-service.service';\nimport { MapAddressDataModel } from 'app/address/map-address/map-address-data-model.model';\nimport { MapAddressComponent } from 'app/address/map-address/map-address.component';\nimport { TblUserQuickPostsCommentLikes, TblUserQuickPostsComments, UserQuickPostsViewsInputModel } from 'app/quick-post/quickpost.model';\n@Component({\n selector: 'app-blog',\n templateUrl: './blog.component.html',\n styleUrls: ['./blog.component.scss']\n})\nexport class BlogComponent implements OnInit {\n @ViewChild('nav') nav: NgbNav;\n @ViewChild('uploaderContent') uploaderContent: TemplateRef;\n @ViewChild('coverContent') coverContent: TemplateRef;\n @ViewChild('AddressGallery') lightGallery!: LightGallery;\n @ViewChild('pagination', { static: false }) pagination: ElementRef;\n @ViewChild('myPopover', { static: false }) public myPopover: NgbPopover;\n public contentHeader: object;\n public data: any;\n public toggleMenu = true;\n public Monthly = false;\n public toggleNavbarRef = false;\n public loadMoreRef = false;\n public currentUser: User;\n active: string = 'sharedBy';\n _ImageUrlAPI: string\n _ProfilePictureUrl: string = Constant.DefaultProfilePictureURL;\n imageChangedEvent: any = '';\n croppedImage: any = '';\n cropperSettings: any;\n cropuploader: boolean = false; // Add the uploader variable if neede\n cropuploader2: boolean = false; // Add the uploader variable if neede\n imageCroppedEvent: any;\n blob: Blob;\n postId\n friendsList = [];\n familyList = [];\n friendsMainList = [];\n familyMainList = [];\n savedPosition: { x: number; y: number } = { x: 0, y: 0 };\n addQuickPostId\n addQuickpostAttachment\n addQuickpostAttachmenthide\n updateProfilePictureInputModel: UpdateProfilePictureInputModel;\n settings: any = {\n counter: false,\n appendSubHtmlTo: '.lg-toolbar',\n commentBox: true,\n lgVideo: true,\n download: false,\n thumbnail: true,\n slideVideo: true,\n pager: false,\n autoplayFirstVideo: false,\n autoplayVideoOnSlide: false,\n plugins: [\n lgZoom,\n // pager,\n autoPlay,\n fullScreen,\n rotate,\n thumbnail,\n videoThumbnail,\n vimeoVideo,\n lgVideo,\n lgvideo,\n //share\n ] // comment, share (options are commented for future use)\n };\n private needRefresh = false;\n galleryRefresh: LightGallery;\n cache: { [key: string]: string } = {};\n public attachmentlist: any = [];\n public attachmentlistimage: any = [];\n // private\n private _unsubscribeAll: Subject;\n tabState;\n /**\n * Constructor\n *\n * @param {PricingService} _pricingService\n */\n tabs = [\n // { id: 'diary', searchParameter:'0', title: 'Diary Entries', icon: 'book' },\n { id: 'sharedBy', title: 'Shared By Me', icon: 'rss' },\n { id: 'sharedWith', title: 'Shared With Me', icon: 'rss' },\n { id: 'public', searchParameter: '4', title: 'My Public Posts', icon: 'globe' },\n // { id: 'photos', title: 'My Public Photos', icon: 'image' },\n { id: 'aboutme', title: 'About Me', icon: 'users' }\n ];\n items = [\n { id: 1, content: \"Item 1\" },\n { id: 2, content: \"Item 2\" },\n { id: 3, content: \"Item 3\" },\n { id: 4, content: \"Item 4\" },\n { id: 5, content: \"Item 5\" },\n { id: 6, content: \"Item 6\" },\n { id: 7, content: \"Item 7\" },\n { id: 8, content: \"Item 8\" },\n ];\n public swiperFadeEffect: SwiperConfigInterface = {\n spaceBetween: 30,\n effect: 'cube',\n cubeEffect: {\n slideShadows: false,\n shadow: false\n },\n navigation: {\n nextEl: '.swiper-button-next',\n prevEl: '.swiper-button-prev'\n }\n };\n latestQuickPost: any;\n loading: boolean = false;\n dayFilterOptions\n monthList;\n selectedDateRange\n selectedDateRangeSharedWithMe\n selectedDateRangePublicPost\n selectedMonth: string;\n selectedMonthSharedWithMe: string;\n selectedMonthPublicPost: string;\n fromDate: Date;\n fromDateSharedWithMe: Date;\n fromDatePublicPost: Date;\n toDate: Date;\n toDateSharedWithMe: Date;\n toDatePublicPost: Date;\n onThisday: QuickPostModel[];\n getOnThisDayInputModel: GetOnThisDayInputModel;\n public error = '';\n filteredImage: any;\n names1: any;\n userQuickPosts: QuickPostCreateUpdateInputModel;\n getMyAttachmentsInputModel: GetMyAttachmentsInputModel;\n public pageAdvancedEllipses = 1;\n public pageAdvancedEllipsesSharedWithMe = 1;\n public pageAdvancedEllipsesPublicPost = 1;\n public pagesNumber;\n public frmAboutMe: FormGroup;\n blogAboutMeCreateInputModel: MyBlogAboutMeCreateUpdateInputModel;\n blogAboutMeLoadDataInpurModel: GetMyBlogAboutMeInputModel;\n userBlogs: GetMyBlogAboutMeDataModel;\n blogAboutMeLoadDataOutputModel: GetMyBlogAboutMeOutputModel;\n submitted: boolean = false;\n dateformat: string;\n quickPostType: QuickPostType;\n public coreConfig: any;\n currentAppLanguage: any;\n dateformat2: string;\n timeformat: string;\n shared: SharedType = SharedType.SharedByMe;\n fullName: any;\n activeTab: any;\n likeByMe:boolean;\n likeCounter;\n commentCounter;\n shareCounter;\n // commentToggle:boolean = true;\n commentToggle: boolean[] = [];\n commentTogglesharedWithme: boolean[] = [];\n commentTogglePublic: boolean[] = [];\n commentSection;\n checkedRows: any[] = []; // Array to store checked rows\n constructor(private _pricingService: ProfileService, private _title: Title, private _encryptDecryptService: EncrDecrService, private _authenticationService: AuthenticationService,\n private _toastrService: CustomToastrService,\n private loadingScreenService: LoadingScreenService,\n private quickpostlistService: QuickpostlistService,\n private _coreTranslationService: CoreTranslationService,\n private _coreConfigService: CoreConfigService,\n private _translateService: TranslateService,\n private dialog: MatDialog,\n private _formBuilder: FormBuilder,\n private modalService: NgbModal,\n private userProfileService: UserProfileService,\n private globalService: GlobalService,\n private clipboard: Clipboard,\n private _router: Router,\n private _QuickPostService: QuickPostService,\n private tabStateService: TabStateServiceService,\n private route: ActivatedRoute,\n ) {\n this._unsubscribeAll = new Subject();\n this._coreTranslationService.translate(english, french, german, portuguese, gujarati, hindi);\n this._translateService.onLangChange.subscribe(lang => {\n setTimeout(() => {\n let _LangJsonObj = this.GetCurrentLanguageJsonObject(lang.lang);\n if (_LangJsonObj)\n this.currentAppLanguage = _LangJsonObj;\n }, 100);\n })\n this._title.setTitle(\"Blog\");\n this._authenticationService.currentUser.subscribe(x => (this.currentUser = x));\n this.dayFilterOptions = [\n { value: 0, label: 'Today' },\n { value: 1, label: 'Tomorrow' },\n { value: 2, label: 'Yesterday' },\n { value: 3, label: 'This Week' },\n { value: 4, label: 'Next Week' },\n { value: 5, label: 'Previous Week' },\n { value: 6, label: 'This Month' },\n { value: 7, label: 'Next Month' },\n { value: 8, label: 'Previous Month' },\n { value: 9, label: 'This Year' },\n { value: 10, label: 'Next Year' },\n { value: 11, label: 'Previous Year' }\n ];\n this.dateformat = this.globalService.getDateFormat()\n this.dateformat2 = this.globalService.getDateFormat().toUpperCase();\n this.timeformat = this.globalService.getTimeFormat();\n }\n\n\n\n // Public Methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Load More\n */\n\n\n // Lifecycle Hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On init\n */\n ngOnInit(): void {\n // this._pricingService.onPricingChanged.pipe(takeUntil(this._unsubscribeAll)).subscribe(response => {\n // this.data = response;\n // });\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n this.currentAppLanguage = this.GetCurrentLanguageJsonObject(this.coreConfig.app.appLanguage);\n this.currentUser = JSON.parse(this._encryptDecryptService.get(Constant.EncrDecrKey, localStorage.getItem('currentUser')));\n this.monthList = this.generateMonthList();\n // this.GetOnThisDayQuickPosts();\n this.userBlogs = new GetMyBlogAboutMeDataModel\n this.frmAboutMe = this._formBuilder.group({\n AboutMeDescription: [''],\n StayAnonymousYn: [''],\n JoinedDate: [''],\n EmailAddress: [''],\n PersonalWebUrl: [''],\n CurrentUserAddress: ['']\n });\n let inputModel = {\n UserDetailsId: this._authenticationService.currentUserValue.UserDetailsId\n };\n this.GetUserConnectionRequests(inputModel)\n // this.route.queryParams.subscribe(params => {\n // const tabIndex = params['tabIndex'] ? +params['tabIndex'] : 0; // Default to 0 if no tabIndex provided\n // this.activeTab = tabIndex; // Set the active tab based on the query parameter\n // });\n this.tabState = 'sharedBy'\n this.initialValues();\n\n }\n\n initialValues() {\n var CurrentDate = new Date();\n this.selectedDateRange = 'This Month';\n this.selectedDateRangeSharedWithMe = 'This Month';\n this.selectedDateRangePublicPost = 'This Month';\n const currentDate = new Date();\n const currentMonthYear = currentDate.toLocaleString('en', { month: 'long' }) + ' ' + currentDate.getFullYear();\n this.selectedMonth = currentMonthYear;\n this.selectedMonthSharedWithMe = currentMonthYear;\n this.selectedMonthPublicPost = currentMonthYear;\n this.fromDate = new Date(CurrentDate.getFullYear(), CurrentDate.getMonth(), 1);\n this.fromDateSharedWithMe = new Date(CurrentDate.getFullYear(), CurrentDate.getMonth(), 1);\n this.fromDatePublicPost = new Date(CurrentDate.getFullYear(), CurrentDate.getMonth(), 1);\n this.toDate = new Date(CurrentDate.getFullYear(), CurrentDate.getMonth() + 1, 0);\n this.toDateSharedWithMe = new Date(CurrentDate.getFullYear(), CurrentDate.getMonth() + 1, 0);\n this.toDatePublicPost = new Date(CurrentDate.getFullYear(), CurrentDate.getMonth() + 1, 0);\n this.latestQuickPost = []\n // let getQuickPostListInputModel={\n // UserDetailsId: this.currentUser.UserDetailsId,\n // StartDate: E.GetDateStringOnly(this.fromDate),\n // EndDate: E.GetDateStringOnly(this.toDate),\n // DocLoadYN: true,\n // GetMetaDataYN:false,\n // NumberOfAttachments:4,\n // FileType:FileType.Images\n // }\n this.onSearchSharedByMe(SharedType.SharedByMe);\n //this.LoadQuickpostList(getQuickPostListInputModel)\n }\n\n openPopup(data) {\n this.postId = data;\n this.friendsList = this.friendsMainList;\n this.familyList = this.familyMainList;\n this.getUserQuickPostSharingById();\n //this.myPopover.toggle();\n }\n\n GetUserConnectionRequests(inputModel) {\n let response: Observable;\n this._QuickPostService.GetUserConnectionRequests(inputModel)\n .subscribe(\n (result) => {\n this.loading = false;\n //this.loadingScreenService.stopLoading();\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.Success) {\n var connectionRequestData = JSON.parse((this._encryptDecryptService.get(Constant.EncrDecrKey, result.data)))\n this.separateLists(connectionRequestData)\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n // this.loadingScreenService.stopLoading();\n }\n );\n }\n\n separateLists(data) {\n const filteredDatafriend = data.filter(user => user.UserFriendId !== null && user.ConnectionRequestStatusId == 3);\n this.friendsMainList = filteredDatafriend;\n const filteredData = data.filter(user => user.UserFamilyMemberId !== null && user.ConnectionRequestStatusId == 3);\n this.familyMainList = filteredData;\n\n \n }\n\n getUserQuickPostSharingById() {\n let inputModel = {\n SharedFromUserDetailsID: this._authenticationService.currentUserValue.UserDetailsId,\n UserQuickPostID: this.postId\n }\n \n let response: Observable;\n this._QuickPostService.GetUserQuickPostSharingById(inputModel)\n .subscribe(\n (result) => {\n \n this.loading = false;\n this.loadingScreenService.stopLoading();\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.Success) {\n var connectionRequestData = JSON.parse((this._encryptDecryptService.get(Constant.EncrDecrKey, result.data)))\n \n if (connectionRequestData) {\n // Assuming connectionRequestData is an array of objects as shown in the example\n const sharedToUserIds = connectionRequestData.map(data => data.SharedToUserDetailsID);\n\n this.friendsList = this.friendsList.filter(user =>\n sharedToUserIds.some(id => id === user.ReceiverUserDetailsId)\n );\n\n this.familyList = this.familyList.filter(user =>\n sharedToUserIds.some(id => id === user.ReceiverUserDetailsId)\n );\n\n \n }\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n }\n\n onProfilePhotoReset(type) {\n this.loadingScreenService.startLoading();\n this.updateProfilePictureInputModel = {\n ProfileImageSizeInBytes: 0,\n ProfilePicturePath: \"\",\n UserDetailsID: this._authenticationService.currentUserValue.UserDetailsId\n }\n \n let api\n if (type == \"cover\")\n api = this.userProfileService.ResetCoverPicture(this.updateProfilePictureInputModel)\n else if (type == \"profile\")\n api = this.userProfileService.ResetProfile(this.updateProfilePictureInputModel)\n\n api.subscribe(\n (result) => {\n this.loadingScreenService.stopLoading();\n var errormessage = \"\";\n if (result.status == Status.Success) {\n let _profilepath = JSON.parse(this._encryptDecryptService.get(Constant.EncrDecrKey, result.data));\n \n let _user = this._authenticationService.currentUserValue;\n if (E.ConvertToString(_profilepath) != \"\") {\n if (type == \"cover\")\n _user.CoverImagePath = _profilepath;\n else if (type == \"profile\") {\n this._ProfilePictureUrl = _profilepath;\n _user.ProfileImagePath = _profilepath;\n }\n this._authenticationService.SetUserSession(_user, false);\n let msg;\n if (type == \"cover\")\n msg = 'Cover picture reseted successfully.';\n else if (type == \"profile\")\n msg = 'Profile picture reseted successfully.';\n this._toastrService.Success(msg, Constant.SuccessToastrTitle);\n setTimeout(() => {\n window.location.reload();\n }, 1000);\n }\n }\n else {\n\n errormessage = E.ConvertToString(result.message);\n this._toastrService.Error(errormessage, Constant.ErrorToastrTitle);\n }\n },\n (error) => {\n this.error = error;\n this.loadingScreenService.stopLoading();\n }\n );\n }\n\n ngAfterViewChecked(): void {\n if (this.quickpostlistService.getGridRefresh()) {\n // let getQuickPostListInputModel = {\n // UserDetailsId: this.currentUser.UserDetailsId,\n // StartDate: E.GetDateStringOnly(this.fromDate),\n // EndDate: E.GetDateStringOnly(this.toDate),\n // DocLoadYN: true,\n // GetMetaDataYN: false,\n // NumberOfAttachments: 4,\n // FileType: FileType.Images\n // }\n // this.LoadQuickpostList(getQuickPostListInputModel)\n if ((this.tabState == 'diary') || (this.tabState == 'public')) {\n var dataq: GetQuickPostListInputModel = {\n UserDetailsId: this.currentUser.UserDetailsId,\n StartDate: E.GetDateStringOnly(this.fromDate),\n EndDate: E.GetDateStringOnly(this.toDate),\n DocLoadYN: true,\n GetMetaDataYN: false,\n NumberOfAttachments: 4,\n FileType: FileType.Images,\n Page: this.pageAdvancedEllipsesPublicPost,\n PageSize: 20\n }\n if (this.quickPostType != undefined) {\n dataq.QuickPostType = this.quickPostType;\n }\n else {\n dataq.QuickPostType = QuickPostType.All\n }\n this.LoadQuickpostList(dataq);\n }\n else if (this.tabState == 'sharedBy') {\n this.shared = SharedType.SharedByMe\n this.onSearchSharedByMe(this.shared, this.pageAdvancedEllipses);\n }\n else if (this.tabState == 'sharedWith') {\n this.shared = SharedType.SharedWithMe\n this.onSearchSharedByMe(this.shared, this.pageAdvancedEllipsesSharedWithMe);\n }\n this.quickpostlistService.setGridRefresh(false)\n }\n if (this.needRefresh) {\n if (this.lightGallery)\n this.galleryRefresh.refresh();\n this.needRefresh = false;\n }\n }\n\n generateMonthList(): string[] {\n const currentDate = new Date();\n const currentYear = currentDate.getFullYear();\n const months = [];\n\n for (let month = 0; month < 12; month++) {\n const monthDate = new Date(currentYear, month, 1);\n const monthLabel = monthDate.toLocaleString('en', { month: 'long' }) + ' ' + currentYear;\n months.push(monthLabel);\n }\n\n return months;\n }\n\n onLoadConnectionList(postid, Userdetailsid){\n var userQuickPostConnectionsInputModel={\n UserDetailsId : Userdetailsid,\n UserQuickPostId:postid\n }\n this._QuickPostService.GetUserQuickPostConnectionsList(userQuickPostConnectionsInputModel).subscribe(async result => {\n if (result) {\n if (result.status == Status.Success) {\n let _connectionList;\n _connectionList =JSON.parse(this._encryptDecryptService.get(Constant.EncrDecrKey, result.data));\n if (_connectionList) {\n const allRows = _connectionList;\n this.checkedRows = [];\n \n \n allRows.forEach((row: any) => {\n if (row.SharedYN === 'Yes') {\n this.checkedRows.push(row);\n }\n });\n } \n this.loadingScreenService.stopLoading();\n }\n else {\n this.loadingScreenService.stopLoading();\n this._toastrService.Error(result.Message, Constant.ErrorToastrTitle);\n }\n }\n });\n }\n\n onMainTabActive(tabid, data) {\n this.tabState = tabid\n\n if ((tabid == 'diary') || (tabid == 'public')) {\n this.quickPostType = data\n this.onSearch(data)\n\n }\n else if (tabid == 'sharedBy') {\n this.shared = SharedType.SharedByMe\n this.onSearchSharedByMe(this.shared);\n this.fullName = null;\n \n }\n else if (tabid == 'sharedWith') {\n this.shared = SharedType.SharedWithMe\n this.onSearchSharedByMe(this.shared);\n \n }\n // else if (tabid == 'photos') {\n // this.getAttachmentList('Images')\n // }\n else if (tabid == 'aboutme') {\n this.loadAboutMeData()\n }\n }\n\n onSearchSharedByMe(data?: SharedType, page?: number): void {\n this.loadingScreenService.startLoading();\n let getQuickPostListInputModel\n var Shared = data ? data : this.shared\n if(Shared == SharedType.SharedByMe){\n getQuickPostListInputModel = {\n UserDetailsId: this.currentUser.UserDetailsId,\n Shared: Shared,\n StartDate: E.GetDateStringOnly(this.fromDate),\n EndDate: E.GetDateStringOnly(this.toDate),\n NumberOfAttachments: 0,\n Page: page ? page : 1,\n PageSize: 20\n }\n }\n else if(Shared == SharedType.SharedWithMe){\n getQuickPostListInputModel = {\n UserDetailsId: this.currentUser.UserDetailsId,\n Shared: Shared,\n StartDate: E.GetDateStringOnly(this.fromDateSharedWithMe),\n EndDate: E.GetDateStringOnly(this.toDateSharedWithMe),\n NumberOfAttachments: 0,\n Page: page ? page : 1,\n PageSize: 20\n }\n }\n if ((getQuickPostListInputModel.Shared != SharedType.SharedWithMe) && (getQuickPostListInputModel.Shared != SharedType.SharedByMe)) {\n this._toastrService.Error(\"Invalid Shared Type\", Constant.ErrorToastrTitle);\n }\n else if (getQuickPostListInputModel.UserDetailsId < 0) {\n this._toastrService.Error(\"Invalid UserDetails Id\", Constant.ErrorToastrTitle);\n }\n else if (getQuickPostListInputModel.StartDate == null || getQuickPostListInputModel.StartDate == undefined || getQuickPostListInputModel.StartDate == '') {\n this._toastrService.Error(\"Invalid Start Date\", Constant.ErrorToastrTitle);\n }\n else if (getQuickPostListInputModel.EndDate == null || getQuickPostListInputModel.EndDate == undefined || getQuickPostListInputModel.EndDate == '') {\n this._toastrService.Error(\"Invalid End Date\", Constant.ErrorToastrTitle);\n }\n else {\n var comp\n if(Shared == 1){comp='sharedWith'}\n else if(Shared == 2){comp='sharedBy'}\n \n if(this.tabState == comp){\n this.latestQuickPost = [];\n this.LoadQuickpostListSharedByMe(getQuickPostListInputModel);}\n }\n }\n\n onSearch(data?: QuickPostType, page?: number): void {\n this.loadingScreenService.startLoading();\n var filetype;\n if (data != undefined) {\n filetype = data;\n }\n else {\n filetype = QuickPostType.All\n }\n\n this.latestQuickPost = []\n // this.GetOnThisDayQuickPosts();\n let getQuickPostListInputModel = {\n UserDetailsId: this.currentUser.UserDetailsId,\n StartDate: E.GetDateStringOnly(this.fromDatePublicPost),\n EndDate: E.GetDateStringOnly(this.toDatePublicPost),\n DocLoadYN: true,\n GetMetaDataYN: false,\n NumberOfAttachments: 4,\n FileType: FileType.Images,\n QuickPostType: filetype,\n Page: page ? page : 1,\n PageSize: 20\n }\n this.loadingScreenService.stopLoading();\n this.LoadQuickpostList(getQuickPostListInputModel)\n }\n\n onDateRangeChange(value: any) {\n const currentDate = new Date();\n const currentYear = currentDate.getFullYear();\n const currentMonth = currentDate.getMonth();\n if (this.tabState == 'sharedBy') {\n this.selectedDateRange = value.label\n }\n else if (this.tabState == 'sharedWith') {\n this.selectedDateRangeSharedWithMe = value.label\n }\n else if (this.tabState == 'public') {\n this.selectedDateRangePublicPost = value.label\n }\n switch (value.value) {\n case 0: // Today\n const today = new Date();\n if (this.tabState == 'sharedBy') {\n this.selectedMonth = this.getMonthLabel(today.getMonth(), today.getFullYear());\n this.fromDate = new Date(today.getFullYear(), today.getMonth(), today.getDate());\n this.toDate = new Date(today.getFullYear(), today.getMonth(), today.getDate());\n }\n else if (this.tabState == 'sharedWith') {\n this.selectedMonthSharedWithMe = this.getMonthLabel(today.getMonth(), today.getFullYear());\n this.fromDateSharedWithMe = new Date(today.getFullYear(), today.getMonth(), today.getDate());\n this.toDateSharedWithMe = new Date(today.getFullYear(), today.getMonth(), today.getDate());\n }\n else if (this.tabState == 'public') {\n this.selectedMonthPublicPost = this.getMonthLabel(today.getMonth(), today.getFullYear());\n this.fromDatePublicPost = new Date(today.getFullYear(), today.getMonth(), today.getDate());\n this.toDatePublicPost = new Date(today.getFullYear(), today.getMonth(), today.getDate());\n }\n break;\n case 1: // Tomorrow\n const tomorrow = new Date();\n tomorrow.setDate(tomorrow.getDate() + 1);\n // this.selectedMonth = this.getMonthLabel(tomorrow.getMonth(), tomorrow.getFullYear());\n // this.fromDate = new Date(tomorrow.getFullYear(), tomorrow.getMonth(), tomorrow.getDate());\n // this.toDate = new Date(tomorrow.getFullYear(), tomorrow.getMonth(), tomorrow.getDate());\n if (this.tabState == 'sharedBy') {\n this.selectedMonth = this.getMonthLabel(tomorrow.getMonth(), tomorrow.getFullYear());\n this.fromDate = new Date(today.getFullYear(), today.getMonth(), today.getDate());\n this.toDate = new Date(tomorrow.getFullYear(), tomorrow.getMonth(), tomorrow.getDate());\n }\n else if (this.tabState == 'sharedWith') {\n this.selectedMonthSharedWithMe = this.getMonthLabel(tomorrow.getMonth(), tomorrow.getFullYear());\n this.fromDateSharedWithMe = new Date(tomorrow.getFullYear(), tomorrow.getMonth(), tomorrow.getDate());\n this.toDateSharedWithMe = new Date(tomorrow.getFullYear(), tomorrow.getMonth(), tomorrow.getDate());\n }\n else if (this.tabState == 'public') {\n this.selectedMonthPublicPost = this.getMonthLabel(tomorrow.getMonth(), tomorrow.getFullYear());\n this.fromDatePublicPost = new Date(tomorrow.getFullYear(), tomorrow.getMonth(), tomorrow.getDate());\n this.toDatePublicPost = new Date(tomorrow.getFullYear(), tomorrow.getMonth(), tomorrow.getDate());\n }\n break;\n case 2: // Yesterday\n const yesterday = new Date();\n yesterday.setDate(yesterday.getDate() - 1);\n if (this.tabState == 'sharedBy') {\n this.selectedMonth = this.getMonthLabel(yesterday.getMonth(), yesterday.getFullYear());\n this.fromDate = new Date(yesterday.getFullYear(), yesterday.getMonth(), yesterday.getDate());\n this.toDate = new Date(yesterday.getFullYear(), yesterday.getMonth(), yesterday.getDate());\n }\n else if (this.tabState == 'sharedWith') {\n this.selectedMonthSharedWithMe = this.getMonthLabel(yesterday.getMonth(), yesterday.getFullYear());\n this.fromDateSharedWithMe = new Date(yesterday.getFullYear(), yesterday.getMonth(), yesterday.getDate());\n this.toDateSharedWithMe = new Date(yesterday.getFullYear(), yesterday.getMonth(), yesterday.getDate());\n }\n else if (this.tabState == 'public') {\n this.selectedMonthPublicPost = this.getMonthLabel(yesterday.getMonth(), yesterday.getFullYear());\n this.fromDatePublicPost = new Date(yesterday.getFullYear(), yesterday.getMonth(), yesterday.getDate());\n this.toDatePublicPost = new Date(yesterday.getFullYear(), yesterday.getMonth(), yesterday.getDate());\n }\n break;\n case 3: // This Week\n const today1 = new Date();\n const dayOfWeek = today1.getDay();\n const firstDayOfWeek = new Date(today1);\n const lastDayOfWeek = new Date(today1);\n\n // Set the first day of the week to Monday\n firstDayOfWeek.setDate(today1.getDate() - dayOfWeek + (dayOfWeek === 0 ? -6 : 1));\n\n // Set the last day of the week to Sunday\n lastDayOfWeek.setDate(today1.getDate() - dayOfWeek + (dayOfWeek === 0 ? 0 : 7));\n if (this.tabState == 'sharedBy') {\n this.selectedMonth = this.getMonthLabel(today1.getMonth(), today1.getFullYear());\n this.fromDate = firstDayOfWeek;\n this.toDate = lastDayOfWeek;\n }\n else if (this.tabState == 'sharedWith') {\n this.selectedMonthSharedWithMe = this.getMonthLabel(today1.getMonth(), today1.getFullYear());\n this.fromDateSharedWithMe = firstDayOfWeek;\n this.toDateSharedWithMe = lastDayOfWeek;\n }\n else if (this.tabState == 'public') {\n this.selectedMonthPublicPost = this.getMonthLabel(today1.getMonth(), today1.getFullYear());\n this.fromDatePublicPost = firstDayOfWeek;\n this.toDatePublicPost = lastDayOfWeek;\n }\n break;\n\n case 4: // Next Week\n //const today = new Date();\n const nextWeekStart = new Date(currentDate);\n nextWeekStart.setDate(currentDate.getDate() + (1 - currentDate.getDay()) + 7); // Add 7 days for next week\n const nextWeekEnd = new Date(nextWeekStart);\n nextWeekEnd.setDate(nextWeekStart.getDate() + 6);\n\n\n if (this.tabState == 'sharedBy') {\n this.selectedMonth = this.getMonthLabel(nextWeekStart.getMonth(), nextWeekStart.getFullYear());\n this.fromDate = nextWeekStart;\n this.toDate = nextWeekEnd;\n }\n else if (this.tabState == 'sharedWith') {\n this.selectedMonthSharedWithMe = this.getMonthLabel(nextWeekStart.getMonth(), nextWeekStart.getFullYear());\n this.fromDateSharedWithMe = nextWeekStart;\n this.toDateSharedWithMe = nextWeekEnd;\n }\n else if (this.tabState == 'public') {\n this.selectedMonthPublicPost = this.getMonthLabel(nextWeekStart.getMonth(), nextWeekStart.getFullYear());\n this.fromDatePublicPost = nextWeekStart;\n this.toDatePublicPost = nextWeekEnd;\n }\n break;\n\n\n case 5: // Previous Week\n const previousWeekStart = new Date();\n previousWeekStart.setDate(previousWeekStart.getDate() - (previousWeekStart.getDay() === 0 ? 6 : previousWeekStart.getDay() - 1) - 7);\n const previousWeekEnd = new Date(previousWeekStart);\n previousWeekEnd.setDate(previousWeekEnd.getDate() + 6);\n\n \n if (this.tabState == 'sharedBy') {\n this.selectedMonth = this.getMonthLabel(previousWeekStart.getMonth(), previousWeekStart.getFullYear());\n this.fromDate = previousWeekStart;\n this.toDate = previousWeekEnd;\n }\n else if (this.tabState == 'sharedWith') {\n this.selectedMonthSharedWithMe = this.getMonthLabel(previousWeekStart.getMonth(), previousWeekStart.getFullYear());\n this.fromDateSharedWithMe = previousWeekStart;\n this.toDateSharedWithMe = previousWeekEnd;;\n }\n else if (this.tabState == 'public') {\n this.selectedMonthPublicPost = this.getMonthLabel(previousWeekStart.getMonth(), previousWeekStart.getFullYear());\n this.fromDatePublicPost = previousWeekStart;\n this.toDatePublicPost = previousWeekEnd;;\n }\n break;\n\n case 6: // This Month\n const firstDayOfMonth = new Date(currentYear, currentMonth, 1);\n const lastDayOfMonth = new Date(currentYear, currentMonth + 1, 0);\n \n if (this.tabState == 'sharedBy') {\n this.selectedMonth = this.getMonthLabel(currentMonth, currentYear);\n this.fromDate = firstDayOfMonth;\n this.toDate = lastDayOfMonth;\n }\n else if (this.tabState == 'sharedWith') {\n this.selectedMonthSharedWithMe = this.getMonthLabel(currentMonth, currentYear);\n this.fromDateSharedWithMe = firstDayOfMonth;\n this.toDateSharedWithMe = lastDayOfMonth;;\n }\n else if (this.tabState == 'public') {\n this.selectedMonthPublicPost = this.getMonthLabel(currentMonth, currentYear);\n this.fromDatePublicPost = firstDayOfMonth;\n this.toDatePublicPost = lastDayOfMonth;;\n }\n break;\n case 7: // Next Month\n const nextMonth = new Date(currentYear, currentMonth + 1, 1);\n const firstDayOfNextMonth = new Date(nextMonth.getFullYear(), nextMonth.getMonth(), 1);\n const lastDayOfNextMonth = new Date(nextMonth.getFullYear(), nextMonth.getMonth() + 1, 0);\n if (this.tabState == 'sharedBy') {\n this.selectedMonth = this.getMonthLabel(nextMonth.getMonth(), nextMonth.getFullYear());\n this.fromDate = firstDayOfNextMonth;\n this.toDate = lastDayOfNextMonth;\n }\n else if (this.tabState == 'sharedWith') {\n this.selectedMonthSharedWithMe = this.getMonthLabel(nextMonth.getMonth(), nextMonth.getFullYear());\n this.fromDateSharedWithMe = firstDayOfNextMonth;\n this.toDateSharedWithMe = lastDayOfNextMonth;;\n }\n else if (this.tabState == 'public') {\n this.selectedMonthPublicPost = this.getMonthLabel(nextMonth.getMonth(), nextMonth.getFullYear());\n this.fromDatePublicPost = firstDayOfNextMonth;\n this.toDatePublicPost = lastDayOfNextMonth;;\n }\n break;\n case 8: // Previous Month\n const previousMonth = new Date(currentYear, currentMonth - 1, 1);\n const firstDayOfPreviousMonth = new Date(previousMonth.getFullYear(), previousMonth.getMonth(), 1);\n const lastDayOfPreviousMonth = new Date(previousMonth.getFullYear(), previousMonth.getMonth() + 1, 0);\n \n if (this.tabState == 'sharedBy') {\n this.selectedMonth = this.getMonthLabel(previousMonth.getMonth(), previousMonth.getFullYear());\n this.fromDate = firstDayOfPreviousMonth;\n this.toDate = lastDayOfPreviousMonth;\n }\n else if (this.tabState == 'sharedWith') {\n this.selectedMonthSharedWithMe = this.getMonthLabel(previousMonth.getMonth(), previousMonth.getFullYear());\n this.fromDateSharedWithMe = firstDayOfPreviousMonth;\n this.toDateSharedWithMe = lastDayOfPreviousMonth;;\n }\n else if (this.tabState == 'public') {\n this.selectedMonthPublicPost = this.getMonthLabel(previousMonth.getMonth(), previousMonth.getFullYear());\n this.fromDatePublicPost = firstDayOfPreviousMonth;\n this.toDatePublicPost = lastDayOfPreviousMonth;;\n }\n break;\n case 9: // This Year\n const firstDayOfYear = new Date(currentYear, 0, 1);\n const lastDayOfYear = new Date(currentYear, 11, 31);\n \n if (this.tabState == 'sharedBy') {\n this.selectedMonth = this.getMonthLabel(currentMonth, currentYear);\n this.fromDate = firstDayOfYear;\n this.toDate = lastDayOfYear;\n }\n else if (this.tabState == 'sharedWith') {\n this.selectedMonthSharedWithMe = this.getMonthLabel(currentMonth, currentYear);\n this.fromDateSharedWithMe = firstDayOfYear;\n this.toDateSharedWithMe = lastDayOfYear;;\n }\n else if (this.tabState == 'public') {\n this.selectedMonthPublicPost = this.getMonthLabel(currentMonth, currentYear);\n this.fromDatePublicPost = firstDayOfYear;\n this.toDatePublicPost = lastDayOfYear;;\n }\n break;\n case 10: // Next Year\n const nextYear = new Date(currentYear + 1, 0, 1);\n const firstDayOfNextYear = new Date(nextYear.getFullYear(), 0, 1);\n const lastDayOfNextYear = new Date(nextYear.getFullYear(), 11, 31);\n if (this.tabState == 'sharedBy') {\n this.selectedMonth = this.getMonthLabel(nextYear.getMonth(), nextYear.getFullYear());\n this.fromDate = firstDayOfNextYear;\n this.toDate = lastDayOfNextYear;\n }\n else if (this.tabState == 'sharedWith') {\n this.selectedMonthSharedWithMe = this.getMonthLabel(nextYear.getMonth(), nextYear.getFullYear());\n this.fromDateSharedWithMe = firstDayOfNextYear;\n this.toDateSharedWithMe = lastDayOfNextYear;;\n }\n else if (this.tabState == 'public') {\n this.selectedMonthPublicPost = this.getMonthLabel(nextYear.getMonth(), nextYear.getFullYear());\n this.fromDatePublicPost = firstDayOfNextYear;\n this.toDatePublicPost = lastDayOfNextYear;;\n }\n break;\n case 11: // Previous Year\n const previousYear = new Date(currentYear - 1, 0, 1);\n const firstDayOfPreviousYear = new Date(previousYear.getFullYear(), 0, 1);\n const lastDayOfPreviousYear = new Date(previousYear.getFullYear(), 11, 31);\n \n if (this.tabState == 'sharedBy') {\n this.selectedMonth = this.getMonthLabel(previousYear.getMonth(), previousYear.getFullYear());\n this.fromDate = firstDayOfPreviousYear;\n this.toDate = lastDayOfPreviousYear;\n }\n else if (this.tabState == 'sharedWith') {\n this.selectedMonthSharedWithMe = this.getMonthLabel(previousYear.getMonth(), previousYear.getFullYear());\n this.fromDateSharedWithMe = firstDayOfPreviousYear;\n this.toDateSharedWithMe = lastDayOfPreviousYear;;\n }\n else if (this.tabState == 'public') {\n this.selectedMonthPublicPost = this.getMonthLabel(previousYear.getMonth(), previousYear.getFullYear());\n this.fromDatePublicPost = firstDayOfPreviousYear;\n this.toDatePublicPost = lastDayOfPreviousYear;;\n }\n break;\n\n }\n }\n\n onMonthChange(selectedMonth: string): void {\n // Parse the selected month to extract month and year\n const [month, year] = selectedMonth.split(' ');\n\n // Calculate the first and last day of the selected month\n const firstDayOfMonth = new Date(`${month} 1, ${year}`);\n const lastDayOfMonth = new Date(new Date(firstDayOfMonth).setMonth(firstDayOfMonth.getMonth() + 1) - 1);\n\n // Update fromDate and toDate\n \n if (this.tabState == 'sharedBy') {\n this.fromDate = firstDayOfMonth;\n this.toDate = lastDayOfMonth;\n }\n else if (this.tabState == 'sharedWith') {\n this.fromDateSharedWithMe = firstDayOfMonth;\n this.toDateSharedWithMe = lastDayOfMonth;;\n }\n else if (this.tabState == 'public') {\n this.fromDatePublicPost = firstDayOfMonth;\n this.toDatePublicPost = lastDayOfMonth;;\n }\n }\n\n validateDates(name, event) {\n // Parse the selected dates\n if (name == 'fromDate') {\n if (event == null) {\n // this.fromDate = new Date(this.toDate);\n }\n else { \n if (this.tabState == 'sharedBy') {\n this.fromDate = new Date(event)\n }\n else if (this.tabState == 'sharedWith') {\n this.fromDateSharedWithMe = new Date(event)\n }\n else if (this.tabState == 'public') {\n this.fromDatePublicPost = new Date(event)\n }\n }\n\n }\n if (name == 'toDate') {\n if (event == null) {\n // this.toDate = new Date(this.fromDate);\n }\n else {\n \n if (this.tabState == 'sharedBy') {\n this.toDate = new Date(event)\n }\n else if (this.tabState == 'sharedWith') {\n this.toDateSharedWithMe = new Date(event)\n }\n else if (this.tabState == 'public') {\n this.toDatePublicPost = new Date(event)\n }\n }\n }\n if (this.tabState == 'sharedBy') {\n const fromDate = new Date(this.fromDate);\n const toDate = new Date(this.toDate);\n if (fromDate > toDate) {\n const temp = this.fromDate;\n this.fromDate = this.toDate;\n this.toDate = temp;\n }\n }\n else if (this.tabState == 'sharedWith') {\n const fromDate = new Date(this.fromDateSharedWithMe);\n const toDate = new Date(this.toDateSharedWithMe);\n if (fromDate > toDate) {\n const temp = this.fromDateSharedWithMe;\n this.fromDateSharedWithMe = this.toDateSharedWithMe;\n this.toDateSharedWithMe = temp;\n }\n }\n else if (this.tabState == 'public') {\n const fromDate = new Date(this.fromDatePublicPost);\n const toDate = new Date(this.toDatePublicPost);\n if (fromDate > toDate) {\n const temp = this.fromDatePublicPost;\n this.fromDatePublicPost = this.toDatePublicPost;\n this.toDatePublicPost = temp;\n }\n }\n }\n\n\n getMonthLabel(month: number, year: number): string {\n const monthDate = new Date(year, month, 1);\n return monthDate.toLocaleString('en', { month: 'long' }) + ' ' + year;\n }\n\n formatDate(date: Date): string {\n return (date.getDate() < 10 ? '0' : '') + date.getDate() + '/' + ((date.getMonth() + 1) < 10 ? '0' : '') + (date.getMonth() + 1) + '/' + date.getFullYear();\n }\n\n GetOnThisDayQuickPosts(date?) {\n let response: Observable;\n this.loading = false;\n this.loadingScreenService.startLoading();\n\n\n const todayDate = date ? date : E.GetTodayDateStringOnly();\n // const dateStr = \"2024-03-03\";\n // const todayDate = E.GetDateStringOnly(new Date(dateStr));\n\n this.getOnThisDayInputModel = {\n TodayDate: todayDate,\n UserDetailsId: this.currentUser.UserDetailsId,\n GetMetaDataYN: false,\n AttachmentCount: 5,\n };\n\n this.quickpostlistService.GetOnThisDayQuickPosts(this.getOnThisDayInputModel)\n .subscribe(\n (data) => {\n if (data.status == Status.Success) {\n const _data = JSON.parse(this._encryptDecryptService.get(Constant.EncrDecrKey, data.data));\n this.onThisday = _data;\n if (_data.length == 0) {\n let onThisday;\n const currentDate = new Date();\n // Initialize onThisday with sample data\n onThisday = [\n {\n \"UserQuickPostId\": 0,\n \"UserDetailsId\": 180,\n \"QuickPostTypeId\": 1,\n \"MoodId\": null,\n \"MoodRatingId\": null,\n \"Title\": \"Memory of this day\",\n \"DiaryDate\": new Date(currentDate),\n \"DiaryTimeFrom\": new Date(\"1900-01-01T00:00:00\"),\n \"DiaryTimeTo\": new Date(\"1900-01-01T23:59:00\"),\n \"PostContent\": \"This is a memory of this day.\",\n \"Location\": \"Location\",\n \"Latitude\": 0,\n \"Longitude\": 0,\n \"TagCategory\": \"[{\\\"id\\\":0,\\\"name\\\":\\\"Memories\\\",\\\"tag\\\":true},{\\\"id\\\":1,\\\"name\\\":\\\"On This Day\\\",\\\"tag\\\":true}]\",\n \"QuickPostDocumentList\": []\n },\n {\n \"UserQuickPostId\": 0,\n \"UserDetailsId\": 180,\n \"QuickPostTypeId\": 1,\n \"MoodId\": null,\n \"MoodRatingId\": null,\n \"Title\": \"Memory of this day\",\n \"DiaryDate\": new Date(currentDate),\n \"DiaryTimeFrom\": new Date(\"1900-01-01T00:00:00\"),\n \"DiaryTimeTo\": new Date(\"1900-01-01T23:59:00\"),\n \"PostContent\": \"This is a memory of this day.\",\n \"Location\": \"Location\",\n \"Latitude\": 0,\n \"Longitude\": 0,\n \"TagCategory\": \"[{\\\"id\\\":0,\\\"name\\\":\\\"Memories\\\",\\\"tag\\\":true},{\\\"id\\\":1,\\\"name\\\":\\\"On This Day\\\",\\\"tag\\\":true}]\",\n \"QuickPostDocumentList\": []\n }\n ];\n this.onThisday = onThisday\n }\n \n if (this.loading)\n this.loadingScreenService.stopLoading();\n } else {\n this.loadingScreenService.stopLoading();\n if (this.loading)\n this._toastrService.Error(E.ConvertToString(data.message), Constant.ErrorToastrTitle);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loadingScreenService.stopLoading();\n }\n );\n }\n\n\n getYearsAgo(dateString: string): number {\n const currentDate = new Date();\n const diaryDate = new Date(dateString);\n const yearsDiff = currentDate.getFullYear() - diaryDate.getFullYear();\n return yearsDiff;\n }\n\n LoadQuickpostListSharedByMe(data: UserQuickPostInputModelShared) {\n \n this.loadingScreenService.startLoading();\n this.quickpostlistService.GetUserQuickPostsCommonSharingControl(data).subscribe((result) => {\n if (result.status == Status.Success) {\n let _data = JSON.parse((this._encryptDecryptService.get(Constant.EncrDecrKey, result.data)))\n if (this.fullName) {\n let filteredData = _data.filter(item =>\n item.FullName.toLocaleLowerCase().includes(this.fullName.toLocaleLowerCase())\n );\n this.latestQuickPost = filteredData;\n if (this.latestQuickPost[0]?.TotalNumberOfRecords > 0)\n this.pagesNumber = this.latestQuickPost[0]?.TotalNumberOfRecords;\n }\n else {\n this.latestQuickPost = _data\n if (this.latestQuickPost[0]?.TotalNumberOfRecords > 0){\n this.pagesNumber = this.latestQuickPost[0]?.TotalNumberOfRecords;\n if(this.shared == SharedType.SharedByMe){\n this.commentToggle = Array(this.pagesNumber).fill(true);}\n else if(this.shared == SharedType.SharedWithMe){\n this.commentTogglesharedWithme = Array(this.pagesNumber).fill(true);\n }\n }\n }\n this.loading = true;\n this.loadingScreenService.stopLoading();\n }\n else{\n this.loadingScreenService.stopLoading();\n }\n // this.loadingScreenService.stopLoading();\n },\n (error) => {\n // this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n }\n\n LoadQuickpostList(data: GetQuickPostListInputModel) {\n this.loadingScreenService.startLoading();\n this.quickpostlistService.GetUserQuickPostList(data).subscribe((result) => {\n if (result.status == Status.Success) {\n let _data = JSON.parse((this._encryptDecryptService.get(Constant.EncrDecrKey, result.data)))\n this.latestQuickPost = _data\n if (this.latestQuickPost[0]?.TotalNumberOfRecords > 0)\n this.pagesNumber = this.latestQuickPost[0]?.TotalNumberOfRecords;\n this.commentTogglePublic = Array(this.pagesNumber).fill(true);\n this.loading = true;\n this.loadingScreenService.stopLoading();\n }\n },\n (error) => {\n // this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n }\n get imageArray(): { id: number; name: string; tag: boolean }[][] {\n return this.filteredImage.map(post => this.imagetag(post));\n }\n\n imagetag(imagefun) {\n let jsonArrayImage = imagefun\n const filteredImage = jsonArrayImage.filter(item => item.DocumentSubType === \"Images\").map(item => item.DocumentPath)\n\n return filteredImage\n }\n\n get tagsArray(): { id: number; name: string; tag: boolean }[][] {\n return this.names1.map(post => this.parseTags(post.TagCategory));\n }\n // let jsonString = _data[0].TagCategory;\n // let jsonArray = JSON.parse(jsonString);\n\n // this.names1 = jsonArray.filter(item => item.tag).map(item => item.name);\n\n parseTags(tagCategory: string): { id: number; name: string; tag: boolean }[] {\n const tags = JSON.parse(tagCategory);\n return tags.filter(tag => tag.tag);\n }\n\n openDialog(component: any, _data: any = []) {\n this.loadingScreenService.startLoading();\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = false;\n dialogConfig.width = \"66%\"\n dialogConfig.data = _data;\n const dialogRef = this.dialog.open(component, dialogConfig);\n dialogRef.afterOpened().subscribe(() => {\n this.loadingScreenService.stopLoading();\n });\n dialogRef.afterClosed().subscribe(\n data => {\n if (data) {\n if ((this.tabState == 'diary') || (this.tabState == 'public')) {\n var dataq: GetQuickPostListInputModel = {\n UserDetailsId: this.currentUser.UserDetailsId,\n StartDate: E.GetDateStringOnly(this.fromDatePublicPost),\n EndDate: E.GetDateStringOnly(this.toDatePublicPost),\n DocLoadYN: true,\n GetMetaDataYN: false,\n NumberOfAttachments: 4,\n FileType: FileType.Images,\n Page: this.pageAdvancedEllipsesPublicPost,\n PageSize: 20\n }\n if (this.quickPostType != undefined) {\n dataq.QuickPostType = this.quickPostType;\n }\n else {\n dataq.QuickPostType = QuickPostType.All\n }\n this.LoadQuickpostList(dataq);\n }\n else if (this.tabState == 'sharedBy') {\n this.shared = SharedType.SharedByMe\n this.onSearchSharedByMe(this.shared, this.pageAdvancedEllipses);\n }\n else if (this.tabState == 'sharedWith') {\n this.shared = SharedType.SharedWithMe\n this.onSearchSharedByMe(this.shared, this.pageAdvancedEllipsesSharedWithMe);\n }\n }\n }\n );\n }\n EditQuickPost(id,tab:boolean=false) {\n if (id == 0) {\n this.openDialog(QuickPostComponent, id)\n }\n else {\n let data;\n if(tab== true){\n data={\n id:id,\n tab:2\n }}else if(tab == false){\n data=id\n }\n this.openDialog(UploadComponent, data);\n }\n }\n\n onImageUpload(event: any): void {\n this.cropuploader = true;\n setTimeout(() => {\n const file: File = event.target.files[0];\n if (!file.type.startsWith('image/')) {\n this._toastrService.Error('Select only Images.', Constant.ErrorToastrTitle);\n return;\n }\n this.openUploaderModal(this.uploaderContent)\n this.imageCroppedEvent = event;\n const reader = new FileReader();\n reader.onload = (e: any) => {\n this.croppedImage = e.target.result;\n };\n reader.readAsDataURL(file);\n }, 200);\n }\n\n onCoverImageUpload(event: any): void {\n this.cropuploader2 = true;\n setTimeout(() => {\n const file: File = event.target.files[0];\n if (!file.type.startsWith('image/')) {\n this._toastrService.Error('Select only Images.', Constant.ErrorToastrTitle);\n return;\n }\n this.openUploaderModal(this.coverContent)\n this.imageCroppedEvent = event;\n const reader = new FileReader();\n reader.onload = (e: any) => {\n this.croppedImage = e.target.result;\n };\n reader.readAsDataURL(file);\n }, 200);\n }\n\n supportFunction(url) {\n if (this.currentUser) {\n \n this._ProfilePictureUrl = E.ConvertToString(this.currentUser.ProfileImagePath);\n if (this._ProfilePictureUrl == \"\") {\n this._ProfilePictureUrl = Constant.DefaultProfilePictureURL;\n }\n }\n\n Swal.fire({\n imageUrl: url,\n showCancelButton: false,\n confirmButtonColor: '#7367F0',\n //cancelButtonColor: '#E42728',\n confirmButtonText: \"Okay\",\n customClass: {\n confirmButton: 'btn btn-primary',\n }\n\n })\n\n }\n onImageCropped(event: ImageCroppedEvent): void {\n \n this.blob = event.blob;\n if (!this.blob) {\n // console.error('No blob data found');\n return;\n }\n\n\n\n }\n\n openUploaderModal(content) {\n\n this.modalService.open(content, { centered: true }); // 'lg' for large size, adjust as needed\n }\n\n openUploaderModal1(content) {\n \n this.modalService.open(content, { centered: true, size: 'sm' }); // 'lg' for large size, adjust as needed\n }\n\n\n base64ToFile(dataURL: string, filename: string): File {\n \n const arr = dataURL.split(',');\n const mime = arr[0].match(/:(.*?);/)[1];\n const bstr = atob(arr[1]);\n let n = bstr.length;\n const u8arr = new Uint8Array(n);\n while (n--) {\n u8arr[n] = bstr.charCodeAt(n);\n }\n return new File([u8arr], filename, { type: mime });\n }\n cropUpload(data) {\n const file = new File([this.blob], 'cropped_image.png', { type: this.blob.type });\n if (data == 'profilepicture') {\n this._ImageUrlAPI = Constant.API + 'api/AboutMe/UpdateProfilePicture';\n } else if (data == 'coverpicture') {\n this._ImageUrlAPI = Constant.API + 'api/AboutMe/UpdateCoverPicture';\n }\n this.cropuploader = false;\n this.cropuploader2 = false;\n this.modalService.dismissAll();\n const croppedUploader = new FileUploader({\n url: this._ImageUrlAPI,\n isHTML5: true,\n autoUpload: true,\n removeAfterUpload: true,\n method: \"PUT\",\n itemAlias: \"MultiFileUploaderProfilePicture\",\n disableMultipart: false,\n formatDataFunction: (item: FileItem) => item._file,\n formatDataFunctionIsAsync: false,\n maxFileSize: 50 * 1024 * 1024,\n authToken: `Bearer ` + this._authenticationService.currentUserValue.Token,\n allowedFileType: [\"image\", \"tiff\", \"bmp\", \"png\", \"jpg\", \"jpeg\"]\n });\n croppedUploader.onAfterAddingFile = (file: any) => {\n file.withCredentials = false;\n \n };\n croppedUploader.onBuildItemForm = (fileItem: any, form: any) => {\n fileItem.withCredentials = false;\n \n };\n croppedUploader.onBeforeUploadItem = (fileItem) => {\n\n croppedUploader.setOptions({\n headers: [\n { name: 'Access-Control-Allow-Origin', value: \"*\" },\n { name: 'FileSize', value: fileItem.file.size },\n { name: 'UserDetailsID', value: E.ConvertToString(this._authenticationService.currentUserValue.UserDetailsId) }]\n });\n \n return fileItem;\n };\n let _user = this._authenticationService.currentUserValue;\n croppedUploader.response.subscribe(result => {\n if (result) {\n let _result = JSON.parse(result);\n\n if (_result.status == Status.Success) {\n let _profilepath = JSON.parse(this._encryptDecryptService.get(Constant.EncrDecrKey, _result.data));\n if (E.ConvertToString(_profilepath) != \"\") {\n if (data == 'profilepicture') {\n this._ProfilePictureUrl = _profilepath;\n _user.ProfileImagePath = _profilepath;\n }\n else if (data == 'coverpicture') {\n _user.CoverImagePath = _profilepath;\n }\n this._authenticationService.SetUserSession(_user, false);\n //this.reloadComponent(false,'');\n let msg = 'Profile picture updated successfully.';\n this._toastrService.Success(msg, Constant.SuccessToastrTitle);\n this.cropuploader = false;\n this.cropuploader2 = false;\n setTimeout(() => {\n window.location.reload();\n }, 1000);\n }\n else {\n this._toastrService.Error('Profile picture could not be updated.', Constant.ErrorToastrTitle);\n }\n }\n else if (_result.status == Status.StorageFull) {\n this._toastrService.Warning(_result.message, Constant.WarningToastrTitle);\n }\n else {\n this._toastrService.Error(_result.message, Constant.ErrorToastrTitle);\n }\n }\n });\n \n croppedUploader.addToQueue([file]);\n croppedUploader.uploadAll();\n }\n\n copyText(textToCopy: string) {\n this.clipboard.copy(textToCopy);\n this._toastrService.Success('Copied.', Constant.SuccessToastrTitle);\n }\n\n openURL(url) {\n // window.open(url, \"_blank\",\"noopener\");\n const protocol = /^https?:\\/\\//i;\n const url1 = protocol.test(url) ? url : `http://${url}`;\n window.open(url1, '_blank');\n }\n\n\n onInitGallery = (detail) => {\n this.lightGallery = detail.instance;\n this.galleryRefresh = detail.instance;\n this.galleryRefresh.settings.licenseKey = this._authenticationService.currentUserValue.Parameter.LightGalleryLicenseKey;\n const customHelpButton = ``;\n const $toolbar = this.lightGallery.$toolbar;\n\n $toolbar.append(customHelpButton);\n\n\n\n document.getElementById(\"lg-custom-button-help\").addEventListener(\"click\", () => {\n this.supportFunctionGallery();\n });\n\n };\n supportFunctionGallery() {\n\n Swal.fire({\n title: \"Help!\",\n text: \"Information about the icons in the Light Gallery.\",\n imageUrl: 'assets/images/pages/raw-icon-labels.png',\n showCancelButton: false,\n confirmButtonColor: '#7367F0',\n //cancelButtonColor: '#E42728',\n confirmButtonText: \"Okay\",\n cancelButtonText: \"cancel\",\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n\n })\n\n }\n\n onTabActive(data) {\n if (data == 'Images') {\n this.getAttachmentList('Images')\n }\n else if (data == 'Videos') {\n this.getAttachmentList('Videos')\n }\n }\n\n // savePosition() {\n // const { left, top } = this.pagination.nativeElement.getBoundingClientRect();\n // this.savedPosition = { x: left, y: top };\n // }\n\n // restorePosition() {\n // if (this.pagination) {\n // this.pagination.nativeElement.style.transform = `translate(${this.savedPosition.x}px, ${this.savedPosition.y}px)`;\n // }\n // }\n\n loadPage(event, filetype) {\n // this.savePosition();\n this.pageAdvancedEllipses\n this.getAttachmentList(filetype, event)\n // setTimeout(() => this.restorePosition(), 0);\n }\n\n getAttachmentList(FileType?, page?) {\n this.attachmentlistimage = []\n this.getMyAttachmentsInputModel = {\n UserDetailsId: this._authenticationService.currentUserValue.UserDetailsId,\n Page: page,\n Pagesize: 20,\n FileType: FileType,\n QuickPostType: QuickPostType.Public,\n GetMetaDataYN: false\n }\n this.loadingScreenService.startLoading();\n this.quickpostlistService.GetMyAttachments(this.getMyAttachmentsInputModel).subscribe(async result => {\n if (result) {\n if (result.status == Status.Success) {\n let _attachmentlist = JSON.parse(this._encryptDecryptService.get(Constant.EncrDecrKey, result.data));\n \n if (_attachmentlist) {\n const imageDocs = _attachmentlist.filter(doc => doc.FileType.toLocaleLowerCase() === \"images\")\n const videoDocs = _attachmentlist.filter(doc => doc.FileType.toLocaleLowerCase() === \"videos\")\n \n if (_attachmentlist[0]?.TotalNumberOfRecords > 0)\n this.pagesNumber = _attachmentlist[0]?.TotalNumberOfRecords;\n const imagePromises = imageDocs.map(doc =>\n this.AddItemToGallery1(doc.AttachmentId, doc.DocumentPath, doc.DocumentOldName, doc.Size, doc.FileType)\n );\n\n const videoPromises = videoDocs.map(doc =>\n this.AddItemToGallery(doc.AttachmentId, doc.DocumentPath, doc.DocumentOldName, doc.Size, doc.FileType)\n );\n\n await Promise.all(imagePromises);\n await Promise.all(videoPromises);\n this.needRefresh = true;\n }\n this.loadingScreenService.stopLoading();\n }\n else {\n this.loadingScreenService.stopLoading();\n this._toastrService.Error(result.Message, Constant.ErrorToastrTitle);\n }\n }\n });\n }\n\n async AddItemToGallery1(_id: number, _url: string, documentname: string, documentsize: string, filetype: string): Promise {\n this.attachmentlistimage = [\n ...this.attachmentlistimage,\n {\n id: _id,\n size: '280-100',\n src: _url,\n data: documentname,\n thumb: _url,\n subHtml: documentname, documentsize,\n type: filetype,\n }\n ];\n this.needRefresh = true;\n }\n\n\n async AddItemToGallery(_id: number, _url: string, documentname: string, documentsize: string, filetype: string): Promise {\n const loadingItem = {\n id: _id,\n size: '280-100',\n src: _url,\n data: await this.generateVideoData(_url),\n thumb: 'https://noosom1sg.b-cdn.net/NoosomAssets/Images/noosomads/Logo-3-1.gif', // Placeholder or loading indicator for the thumbnail\n subHtml: documentname, documentsize,\n type: filetype,\n };\n\n this.attachmentlistimage.push(loadingItem);\n let thumb = this.cache[_url]; // Check if thumbnail is already in cache\n\n if (!thumb) {\n thumb = await this.generateThumbnailFromVideoURL(_url, filetype);\n this.cache[_url] = thumb; // Save the thumbnail to cache\n }\n\n const galleryItem = {\n id: _id,\n size: '280-100',\n src: _url,\n data: await this.generateVideoData(_url),\n thumb: thumb,\n subHtml: documentname, documentsize,\n type: filetype,\n };\n const index = this.attachmentlistimage.findIndex(item => item.id === _id);\n this.attachmentlistimage[index] = galleryItem;\n \n }\n\n\n async generateThumbnailFromVideoURL(videoURL: string, type: string): Promise {\n if (type === \"Videos\") {\n return new Promise((resolve, reject) => {\n const video = document.createElement('video');\n video.crossOrigin = 'anonymous'; // Enable cross-origin for video\n video.src = videoURL;\n\n video.addEventListener('loadedmetadata', () => {\n video.currentTime = 10.5; // Adjust as needed\n\n video.addEventListener('seeked', () => {\n const canvas = document.createElement('canvas');\n canvas.width = video.videoWidth;\n canvas.height = video.videoHeight;\n\n const ctx = canvas.getContext('2d');\n ctx.drawImage(video, 0, 0, canvas.width, canvas.height);\n\n // Draw a play icon in the center of the canvas\n const playIconSize = 250; // Adjust the size as needed\n ctx.fillStyle = 'rgba(255, 255, 255, 0.7)';\n ctx.beginPath();\n ctx.moveTo(canvas.width / 2 - playIconSize / 2, canvas.height / 2 - playIconSize / 2);\n ctx.lineTo(canvas.width / 2 + playIconSize / 2, canvas.height / 2);\n ctx.lineTo(canvas.width / 2 - playIconSize / 2, canvas.height / 2 + playIconSize / 2);\n ctx.closePath();\n ctx.fill();\n\n // Resolve with the data URL of the canvas\n resolve(canvas.toDataURL('image/png'));\n\n // Clean up\n canvas.remove();\n video.remove();\n });\n\n video.addEventListener('error', (error) => {\n resolve(\"assets/images/pages/Cannot_play.png\")\n // reject(`Error loading video: ${error.message}`);\n });\n });\n\n video.addEventListener('error', (error) => {\n resolve(\"assets/images/pages/Cannot_play.png\")\n // reject(`Error loading video metadata: ${error.message}`);\n });\n\n // Load the video\n video.load();\n });\n }\n }\n\n async generateVideoData(src): Promise {\n const videoData = {\n source: [{ src: src, type: 'video/mp4' }],\n attributes: { preload: true, controls: true }\n };\n return JSON.stringify(videoData);\n }\n\n\n loadAboutMeData() {\n setTimeout(() => {\n this.loadingScreenService.startLoading();\n this.blogAboutMeLoadDataInpurModel = {\n UserDetailsId: this.currentUser.UserDetailsId\n }\n this.quickpostlistService.GetAboutMeData(this.blogAboutMeLoadDataInpurModel)\n .subscribe(\n (data) => {\n\n \n if (data.status == Status.Success) {\n let aboutmeData = JSON.parse((this._encryptDecryptService.get(Constant.EncrDecrKey, data.data)));\n this.userBlogs = aboutmeData?.AboutMeData\n \n if (this.userBlogs) {\n //this.userAwards = this.awardLoadDataOutputModel.UserAward;\n this.frmAboutMe.patchValue({\n StayAnonymousYn: this.userBlogs.StayAnonymousYn,\n AboutMeDescription: this.userBlogs.AboutMeDescription,\n JoinedDate: this.userBlogs.JoinedDate,\n EmailAddress: this.userBlogs.EmailAddress,\n PersonalWebUrl: this.userBlogs.PersonalWebUrl,\n CurrentUserAddress: this.userBlogs.CurrentUserAddress,\n });\n }\n }\n else {\n this._toastrService.Error(E.ConvertToString(data.message), Constant.ErrorToastrTitle);\n }\n this.loadingScreenService.stopLoading();\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loadingScreenService.stopLoading();\n }\n );\n\n }, 500);\n }\n\n addToMyDiary(latestQuickPost) {\n this.loadData(latestQuickPost.UserQuickPostId)\n\n }\n loadData(data) {\n const path = 'api/UserQuickPost/GetUserQuickPostLoadData';\n let response: Observable;\n var input = {\n recordId: data,\n docYN: true\n }\n response = this.globalService.PostDataById(input, path);\n response.subscribe(\n (result) => {\n this.loadingScreenService.stopLoading();\n if (result.status == Status.Success) {\n\n var quickpost = JSON.parse((this._encryptDecryptService.get(Constant.EncrDecrKey, result.data)));\n this.addQuickpost(quickpost.UserQuickPost);\n this.addQuickpostAttachment = quickpost.QuickPostDocumentList.map(item => item.DocumentPath);\n }\n else {\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loadingScreenService.stopLoading();\n }\n );\n\n }\n\n\n addQuickpost(quickPost: TblUserQuickPosts) {\n\n if (this.userQuickPosts == null) {\n this.userQuickPosts = new QuickPostCreateUpdateInputModel();\n }\n this.userQuickPosts.UserDetailsId = this._authenticationService.currentUserValue.UserDetailsId;\n this.userQuickPosts.Title = quickPost.Title\n this.userQuickPosts.DiaryDate = quickPost.DiaryDate;\n this.userQuickPosts.DiaryTimeFrom = quickPost.DiaryTimeFrom;// '1900-01-01 10:30:00.000';\n this.userQuickPosts.DiaryTimeTo = quickPost.DiaryTimeTo;// '1900-01-01 10:30:00.000';\n this.userQuickPosts.Location = quickPost.Location;\n this.userQuickPosts.QuickPostTypeId = quickPost.QuickPostTypeId;\n this.userQuickPosts.MoodId = quickPost.MoodId\n this.userQuickPosts.MoodRatingId = quickPost.MoodRatingId\n this.userQuickPosts.TagCategory = quickPost.TagCategory;\n this.userQuickPosts.PostContent = quickPost.PostContent;\n this.userQuickPosts.Latitude = quickPost.Latitude;\n this.userQuickPosts.Longitude = quickPost.Longitude;\n if (E.ConvertToNumber(this.userQuickPosts.UserQuickPostId) == 0) {\n this.userQuickPosts.CreatedBy = this._authenticationService.currentUserValue.UserDetailsId;\n this.userQuickPosts.CreatedDate = E.GetTodayDateStringOnly();\n this.userQuickPosts.CreatedTime = E.GetTodayTimeStringOnly();\n this.userQuickPosts.ChangedDate = E.GetTodayDateStringOnly();\n this.userQuickPosts.ChangedTime = E.GetTodayTimeStringOnly();\n }\n this.loading = true;\n this.loadingScreenService.startLoading();\n const path = 'api/UserQuickPost/CreateUpdateUserQuickPost';\n let response: Observable;\n response = this.globalService.PostDataById(this.userQuickPosts, path);\n response.subscribe(\n (result) => {\n this.loading = false;\n this.loadingScreenService.stopLoading();\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.RecordAdded) {\n message = 'Post added to your diary';\n const jsonString = this._encryptDecryptService.get(Constant.EncrDecrKey, result.data);\n const parsedObject = JSON.parse(jsonString);\n this.addQuickPostId = parsedObject.Data.UserQuickPostId\n if (this.addQuickPostId && this.addQuickpostAttachment)\n this.newImagestoUpload(this.addQuickpostAttachment)\n\n }\n else if (result.status == Status.RecordUpdated) {\n message = 'Updated';\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n if (message.length > 0) {\n this._toastrService.Success(message, Constant.SuccessToastrTitle);\n\n }\n else {\n this._toastrService.Error(errormessage, Constant.ErrorToastrTitle);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n }\n\n // \n fetchDocuments(cdnUrls: string[]): Promise {\n return Promise.all(cdnUrls.map(cdnUrl => this.fetchDocument(cdnUrl)));\n }\n\n fetchDocument(cdnUrl: string): Promise {\n return fetch(cdnUrl)\n .then(response => response.blob())\n .then(blob => {\n const contentType = blob.type;\n const fileName = cdnUrl.split('/').pop();\n return new File([blob], fileName, { type: contentType });\n });\n }\n\n\n\n newImagestoUpload(file) {\n const croppedUploader = new FileUploader({\n url: Constant.API + 'api/UserQuickPost/UploadUserQuickPostDocuments',\n isHTML5: true,\n autoUpload: true,\n removeAfterUpload: true,\n method: \"PUT\",\n itemAlias: \"MultiFileUploaderProfilePicture\",\n disableMultipart: false,\n formatDataFunction: (item: FileItem) => item._file,\n formatDataFunctionIsAsync: false,\n maxFileSize: 50 * 1024 * 1024,\n authToken: `Bearer ` + this._authenticationService.currentUserValue.Token,\n // allowedFileType: [\"image\", \"tiff\", \"bmp\", \"png\", \"jpg\", \"jpeg\", \"video\", \"mp4\", \"mpeg\", \"mov\", \"avi\", \"ogv\", \"webm\", \"flv\",\"Images\"]\n });\n\n this.fetchDocuments(file).then(files => {\n\n this.loadingScreenService.startLoading();\n if (files && files.length > 0) {\n // this.uploader.clearQueue();\n croppedUploader.addToQueue(files);\n }\n this.loadingScreenService.stopLoading();\n }).catch(error => {\n console.error('Error fetching documents from CDN:', error);\n });\n croppedUploader.uploadAll();\n\n croppedUploader.onAfterAddingFile = (file: any) => {\n file.withCredentials = false;\n \n };\n croppedUploader.onBuildItemForm = (fileItem: any, form: any) => {\n fileItem.withCredentials = false;\n \n };\n croppedUploader.onBeforeUploadItem = (fileItem) => {\n\n croppedUploader.setOptions({\n headers: [\n { name: 'Access-Control-Allow-Origin', value: \"*\" },\n { name: 'FileSize', value: fileItem.file.size },\n { name: 'UserDetailsID', value: E.ConvertToString(this._authenticationService.currentUserValue.UserDetailsId) },\n { name: 'UserQuickPostID', value: E.ConvertToString(this.addQuickPostId) }]\n });\n \n return fileItem;\n };\n\n let _user = this._authenticationService.currentUserValue;\n croppedUploader.response.subscribe(result => {\n if (result) {\n let _result = JSON.parse(result);\n\n if (_result.status == Status.Success) {\n let _profilepath = JSON.parse(this._encryptDecryptService.get(Constant.EncrDecrKey, _result.data));\n \n }\n else if (_result.status == Status.StorageFull) {\n this._toastrService.Warning(_result.message, Constant.WarningToastrTitle);\n }\n else {\n this._toastrService.Error(_result.message, Constant.ErrorToastrTitle);\n }\n }\n });\n\n\n }\n\n onSubmit() {\n\n this.submitted = true;\n if (this.frmAboutMe.invalid) {\n return;\n }\n this.submitted = false;\n if (this.blogAboutMeCreateInputModel == null) {\n this.blogAboutMeCreateInputModel = new MyBlogAboutMeCreateUpdateInputModel;\n }\n\n this.blogAboutMeCreateInputModel.UserDetailsId = this.currentUser.UserDetailsId;\n this.blogAboutMeCreateInputModel.StayAnonymousYn = this.frmAboutMe.get('StayAnonymousYn').value;\n this.blogAboutMeCreateInputModel.AboutMeDescription = this.frmAboutMe.get('AboutMeDescription').value;\n\n\n this.loading = true;\n this.loadingScreenService.startLoading();\n let response: Observable;\n this.quickpostlistService.CreateUpdateAboutMeData(this.blogAboutMeCreateInputModel)\n .subscribe(\n (result) => {\n \n this.loading = false;\n this.loadingScreenService.stopLoading();\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.Success) {\n this._toastrService.Success(result.message);\n }\n else if (result.status == Status.RecordUpdated) {\n this._toastrService.Success(result.message);\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n }\n\n GetCurrentLanguageJsonObject(currentAppLanguage) {\n var result;\n switch (currentAppLanguage) {\n case 'en':\n result = english;\n break;\n case 'in':\n result = gujarati;\n break;\n case 'hn':\n result = hindi;\n break;\n }\n return result;\n }\n\n EditQuickPostRead(data) {\n \n let queryParameter = {\n UserName: data?.UserName,\n GetMetaDataYN: false,\n UserQuickPostId: data?.UserQuickPostId,\n Profile: data?.ProfileImagePath,\n Name: data?.FullName,\n UserDetailsId:this._authenticationService.currentUserValue.UserDetailsId\n }\n //this.queryParameter= this.encrDecr.set(Constant.EncrDecrKey, JSON.stringify(queryParameter))\n // const activeTabIndex = this.activeTab;\n // if (data?.ViewedByMe == false) {\n // this.createUpdateView(data?.UserQuickPostId);\n // }\n const url = this._router.createUrlTree(\n ['/diary/view'],\n { queryParams: { data: this._encryptDecryptService.set(Constant.EncrDecrKey, JSON.stringify(queryParameter)) } }\n ).toString();\n\n window.open(url, '_blank');\n }\n\n createUpdateView(data) {\n var input: UserQuickPostsViewsInputModel = {\n UserQuickPostsViewId: 0,\n UserQuickPostId: data,\n UserDetailsId: this.currentUser.UserDetailsId,\n CreatedDate: E.GetTodayDateStringOnly(),\n CreatedTime: E.GetTodayTimeStringOnly()\n }\n this.loading = true;\n this.loadingScreenService.startLoading();\n let response: Observable;\n this.quickpostlistService.CreateUpdatePostView(input)\n .subscribe(\n (result) => {\n this.loading = false;\n this.loadingScreenService.stopLoading();\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.Success) {\n this._toastrService.Success(result.message);\n }\n else if (result.status == Status.RecordUpdated) {\n this._toastrService.Success(result.message);\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n }\n\n\n onViewAddressesMapClick(addressId) {\n let _zoomInViewAll = 3;\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.width = \"69%\";\n dialogConfig.position = { left: '18%' };\n dialogConfig.data = new MapAddressDataModel(MapModalType.QuickPostModel, [addressId]);\n const dialogRef = this.dialog.open(MapAddressComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(\n data => {\n\n\n }\n );\n }\n\n commentToggleScreen(event:boolean,id?:number,index?:number){\n // this.commentToggle[index] = event;\n if(id){\n if(this.commentSection !='' && this.commentSection.trim() !== ''){\n this.updateQuickPostComment(id,index)\n }\n else{\n this._toastrService.Error('Please add a comment',Constant.ErrorToastrTitle)\n }\n }\n else{this.commentSection =''}\n }\n\n commentToggleScreenonoff(event:boolean,index?:number){\n if(this.shared == SharedType.SharedByMe){\n this.commentToggle[index] = event;}\n else if(this.shared == SharedType.SharedWithMe){\n this.commentTogglesharedWithme[index] = event;\n }\n if(this.tabState == 'public'){\n this.commentTogglePublic[index] = event;\n }\n }\n\n onClick(data,index) \n { \n this.likeByMe = ! this.likeByMe;\n this.UserQuickPostLike(data?.UserQuickPostId,index) } \n UserQuickPostLike(data,index){\n var input:UserQuickPostsViewsInputModel = {\n UserQuickPostsViewId:0,\n UserQuickPostId : data,\n UserDetailsId:this.currentUser.UserDetailsId,\n CreatedDate: E.GetTodayDateStringOnly(),\n CreatedTime:E.GetTodayTimeStringOnly()\n }\n this.quickpostlistService.CreateUpdateUserQuickPostLike(input)\n .subscribe(\n (result) => {\n this.loading = false;\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.RecordAdded) {\n this.likeCounter = JSON.parse((this._encryptDecryptService.get(Constant.EncrDecrKey, result.data)))\n this.latestQuickPost[index].LikedByMe = !this.latestQuickPost[index].LikedByMe;\n this.latestQuickPost[index].LikesCounter = this.likeCounter;\n this._toastrService.Success('Post Liked Successfully.',Constant.SuccessToastrTitle)\n }\n else if(result.status == Status.RecordUpdated){\n this.likeCounter = JSON.parse((this._encryptDecryptService.get(Constant.EncrDecrKey, result.data)))\n this.latestQuickPost[index].LikedByMe = !this.latestQuickPost[index].LikedByMe;\n this.latestQuickPost[index].LikesCounter = this.likeCounter;\n this._toastrService.Success('Post Unliked Successfully.',Constant.SuccessToastrTitle)\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n }\n );\n}\n\nupdateQuickPostComment(data ,id){\n var input:TblUserQuickPostsComments = {\n UserQuickPostsCommentId:0,\n LikesCounter:0,\n Content:this.commentSection,\n UserQuickPostId : data,\n UserDetailsId:this.currentUser.UserDetailsId,\n CreatedDate: E.GetTodayDateStringOnly(),\n CreatedTime:E.GetTodayTimeStringOnly()\n }\n this.quickpostlistService.CreateUpdateUserQuickPostComment(input)\n .subscribe(\n (result) => {\n this.loading = false;\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.RecordAdded) {\n this.latestQuickPost[id].QuickPostsCommentsList = JSON.parse((this._encryptDecryptService.get(Constant.EncrDecrKey, result.data)));\n this.commentSection= '';\n this._toastrService.Success('Comment Posted Successfully',Constant.SuccessToastrTitle)\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n }\n );\n}\n\nGetUserQuickPostCommentes(event:boolean,data ,id){\n if(this.shared == SharedType.SharedByMe){\n this.commentToggle[id] = event;}\n else if(this.shared == SharedType.SharedWithMe){\n this.commentTogglesharedWithme[id] = event;\n }\n if(this.tabState == 'public'){\n this.commentTogglePublic[id] = event;\n\n }\n\n var input = {\n UserQuickPostId : data,\n UserDetailsId: this._authenticationService.currentUserValue.UserDetailsId\n }\n this.quickpostlistService.GetUserQuickPostCommentes(input)\n .subscribe(\n (result) => {\n this.loading = false;\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.Success) {\n this.latestQuickPost[id].QuickPostsCommentsList = JSON.parse((this._encryptDecryptService.get(Constant.EncrDecrKey, result.data)));\n this.commentSection= '';\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n // console.log(this.latestQuickPost[id].QuickPostsCommentsList)\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n //this.error = error;\n this.loading = false;\n }\n );\n}\n\nUserQuickPostCommentLike(data,index){\n var input:TblUserQuickPostsCommentLikes = {\n UserQuickPostsCommentLikeId:0,\n UserQuickPostsCommentId : data,\n UserDetailsId:this.currentUser.UserDetailsId,\n CreatedDate: E.GetTodayDateStringOnly(),\n CreatedTime:E.GetTodayTimeStringOnly()\n }\n \n this.quickpostlistService.CreateUpdateUserQuickPostCommentLike(input)\n .subscribe(\n (result) => {\n this.loading = false;\n var message = \"\"; var errormessage = \"\";\n\n if (result.status == Status.RecordAdded) {\n this.latestQuickPost[index].QuickPostsCommentsList = JSON.parse((this._encryptDecryptService.get(Constant.EncrDecrKey, result.data)));\n \n this._toastrService.Success('Comment Liked Successfully.',Constant.SuccessToastrTitle)\n }\n else if(result.status == Status.RecordUpdated){\n this.latestQuickPost[index].QuickPostsCommentsList = JSON.parse((this._encryptDecryptService.get(Constant.EncrDecrKey, result.data)));\n \n this._toastrService.Success('Comment Unliked Successfully.',Constant.SuccessToastrTitle)\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n }\n );\n}\n\nRefreshQuickpostList(data,index) {\n //console.log(data)\nvar postinternal={\n UserQuickPostId:data \n }\n this.loadingScreenService.startLoading();\n this._QuickPostService.RefeshUserQuickPostData(postinternal)\n .subscribe(\n (result) => {\n if (result.status == Status.Success) {\n let _data = JSON.parse((this._encryptDecryptService.get(Constant.EncrDecrKey, result.data)))\n this.loading = false;\n this.loadingScreenService.stopLoading();\n if(this.latestQuickPost){\n this.latestQuickPost[index].LikesCounter = _data.UserQuickPost.LikesCounter;\n this.latestQuickPost[index].CommentsCounter = _data.UserQuickPost.CommentsCounter;\n this.latestQuickPost[index].SharedCounter = _data.UserQuickPost.SharedCounter;\n this.latestQuickPost[index].ViewsCounter = _data.UserQuickPost.ViewsCounter;\n this.latestQuickPost[index].QuickPostViewList = _data.QuickPostViewList;\n }\n }\n },\n (error) => {\n // this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n}\n \n\n}\n@Pipe({ name: 'truncate' })\nexport class TruncatePipe implements PipeTransform {\n transform(value: string, limit: number): string {\n if (value) {\n value = value.replace(//gi, ' '); // replace
with space\n value = value.replace(/]*>/gi, '');\n value = value.trim().replace(/\\s+/g, ' '); // remove extra whitespace\n if (value.length > limit) {\n value = value.substring(0, limit) + '...';\n }\n }\n return value;\n }\n}\n@Pipe({ name: 'truncate1' })\nexport class TruncatePipe1 implements PipeTransform {\n transform(value: string, limit: number): string {\n if (value) {\n // Replace line breaks and consecutive whitespaces with a space\n value = value.replace(/(\\r\\n|\\n|\\r|\\s\\s+)/gm, ' ');\n\n // Replace
tags with a space\n value = value.replace(//gi, ' ');\n\n value = value.replace(/]*>/gi, '');\n\n // Replace

tags with a space\n value = value.replace(/]*>/g, ' ').replace(/<\\/p>/g, ' ');\n\n // Remove leading and trailing whitespaces\n value = value.trim();\n\n // Truncate if needed\n if (value.length > limit) {\n value = value.substring(0, limit) + '...';\n }\n }\n return value;\n }\n}\n\n@Pipe({ name: 'replaceUnderscore' })\nexport class ReplaceUnderscorePipe implements PipeTransform {\n transform(value: string): string {\n if (!value) {\n return '';\n }\n return value.replace(/_/g, ' ');\n }\n}\n@Pipe({ name: 'rotate' })\nexport class RotatePipe implements PipeTransform {\n transform(array: any[]): any {\n const currentDay = new Date().getDay(); // Get the current day (0: Sunday, 1: Monday, etc.)\n const index = currentDay % array.length;\n return array[index];\n }\n}\n\n@Pipe({\n name: 'removeHtmlWhitespace'\n})\nexport class RemoveHtmlWhitespacePipe implements PipeTransform {\n transform(value: string): string {\n // Remove HTML tags using a regular expression\n const noHtmlTags = value.replace(/<[^>]*>/g, '');\n\n // Remove extra white spaces\n const trimmed = noHtmlTags.trim();\n const collapsedWhitespace = trimmed.replace(/\\s+/g, ' ');\n\n return collapsedWhitespace;\n }\n}\n\n@Pipe({\n name: 'boldify'\n})\nexport class BoldifyPipe implements PipeTransform {\n transform(value: string): string {\n // Wrap the replaced value in tags\n return `${value}`;\n }\n}\n\n@Pipe({\n name: 'jsonArrayFilter'\n})\nexport class JsonArrayFilterPipe implements PipeTransform {\n transform(jsonString: string, filterKey: string): string[] {\n if (!jsonString || !filterKey) return [];\n\n try {\n const jsonArray = JSON.parse(jsonString);\n return jsonArray.filter(item => item[filterKey]).map(item => item.name);\n } catch (error) {\n // console.error('Error parsing JSON:', error);\n return [];\n }\n }\n}","\r\n\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \"User\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n

{{'BLOGS.LABEL_COVER_PICTURE'|translate}}

\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n \"Card\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n

{{ currentUser?.FullName }}

\r\n
\r\n
\r\n\r\n \r\n
\r\n

{{'BLOGS.LABEL_YOUR_PROFILE_PICTURE'|translate}}

\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n 0\">\r\n \r\n
\r\n \r\n    \r\n
\r\n
Shared  
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
Shared  
\r\n
\r\n
\r\n
\r\n

\r\n {{latestQuickPost[j]?.Title|truncate:50}}

\r\n
\r\n
\r\n \"Avatar\"\r\n
\r\n   by {{\r\n currentUser?.FullName}} {{latestQuickPost[j]?.DiaryDate | date : 'MMMM dd,yyyy'}} {{latestQuickPost[j]?.DiaryDate | date : 'EEE'}} \r\n
Shared  
\r\n
\r\n {{btnname}}\r\n Time From: {{latestQuickPost[j]?.DiaryTimeFrom | date:'HH:mm'}}\r\n {{btnname}} Time To: {{latestQuickPost[j]?.DiaryTimeTo | date:'HH:mm'}}\r\n   \r\n  {{latestQuickPost[j]?.Location}}
\r\n
\r\n
\r\n {{ id.name | truncate: 10 }}\r\n 4 && isLast\">+{{ i % 4 }} more\r\n
\r\n
Post Content: ' + (latestQuickPost[j]?.PostContent | truncate1: 320)\">\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"Avatar\"\r\n
\r\n \r\n
\r\n
\r\n
No Comments to Show.
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {{latestQuickPost[j]?.LikesCounter}}\r\n
\r\n \r\n
0 \" class=\"d-flex align-items-center\">\r\n
\r\n
\r\n \"Avatar\"\r\n
\r\n \r\n
5\" \r\n class=\"avatar pull-up\" \r\n [ngbPopover]=\"popoverTemplate\" (mouseenter)=\"tooltip.open()\" \r\n (mouseleave)=\"tooltip.close()\" \r\n #tooltip=\"ngbTooltip\"\r\n ngbTooltip=\"Click to view more\"\r\n placement=\"bottom\" \r\n container=\"body\" \r\n triggers=\"click\">\r\n \"More\"\r\n
\r\n \r\n
\r\n
\r\n \"Avatar\"\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{latestQuickPost[j]?.ViewsCounter}}\r\n
\r\n
\r\n \r\n
\r\n Read More\r\n
\r\n
\r\n
\r\n\r\n 0\" [collectionSize]='pagesNumber' [pageSize]=\"20\" (pageChange)=\"onSearchSharedByMe(2,$event)\" [(page)]=\"pageAdvancedEllipses\" [maxSize]=\"5\" [rotate]=\"true\"\r\n [boundaryLinks]=\"true\">\r\n Prev\r\n \r\n Next\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n

Friends

\r\n
{{friend?.UserFriendFullName| truncate:20}}
\r\n
Nothing to Show here...
\r\n
\r\n
\r\n

Families

\r\n
{{family?.UserFamilyMemberFullName| truncate:20}}
\r\n
Nothing to Show here...
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n 0\">\r\n \r\n
\r\n \r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n

\r\n {{latestQuickPost[j]?.Title|truncate:50}}

\r\n
\r\n
\r\n \"Avatar\"\r\n
\r\n   by {{\r\n latestQuickPost[j]?.FullName}} {{latestQuickPost[j]?.DiaryDate | date : 'MMMM dd,yyyy'}} {{latestQuickPost[j]?.DiaryDate | date : 'EEE'}}
\r\n {{btnname}}\r\n Time From: {{latestQuickPost[j]?.DiaryTimeFrom | date:'HH:mm'}}\r\n {{btnname}} Time To: {{latestQuickPost[j]?.DiaryTimeTo | date:'HH:mm'}}\r\n   \r\n  {{latestQuickPost[j]?.Location}}
\r\n
\r\n
\r\n {{ id.name | truncate: 10 }}\r\n 4 && isLast\">+{{ i % 4 }} more\r\n
\r\n
Post Content: ' + (latestQuickPost[j]?.PostContent | truncate1: 320)\">\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \"Avatar\"\r\n
\r\n \r\n
\r\n
\r\n
No Comments to Show.
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n {{latestQuickPost[j]?.LikesCounter}}\r\n
\r\n \r\n
0 \" class=\"d-flex align-items-center\">\r\n
\r\n
\r\n \"Avatar\"\r\n
\r\n \r\n
5\" \r\n class=\"avatar pull-up\" \r\n [ngbPopover]=\"popoverTemplate\" (mouseenter)=\"tooltip.open()\" \r\n (mouseleave)=\"tooltip.close()\" \r\n #tooltip=\"ngbTooltip\"\r\n ngbTooltip=\"Click to view more\"\r\n placement=\"bottom\" \r\n container=\"body\" \r\n triggers=\"click\">\r\n \"More\"\r\n
\r\n \r\n
\r\n
\r\n \"Avatar\"\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{latestQuickPost[j]?.ViewsCounter}}\r\n
\r\n
\r\n \r\n
\r\n Read More\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n

Shared With

\r\n
{{friend?.FirstName| truncate:10}} {{friend?.LastName| truncate:10}}
\r\n
Nothing to Show here...
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n 0\" [collectionSize]='pagesNumber' [pageSize]=\"20\" (pageChange)=\"onSearchSharedByMe(1,$event)\" [(page)]=\"pageAdvancedEllipsesSharedWithMe\" [maxSize]=\"5\" [rotate]=\"true\"\r\n [boundaryLinks]=\"true\">\r\n Prev\r\n \r\n Next\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n 0\">\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n

\r\n {{latestQuickPost[j]?.Title|truncate:50}}

\r\n
\r\n
\r\n \"Avatar\"\r\n
\r\n   by {{\r\n currentUser?.FullName}} {{latestQuickPost[j]?.DiaryDate | date :\r\n 'MMMM dd,yyyy'}} {{latestQuickPost[j]?.DiaryDate | date :'EEE'}}
{{btnname}}\r\n Time From: {{latestQuickPost[j]?.DiaryTimeFrom | date:'HH:mm'}}\r\n {{btnname}} Time To: {{latestQuickPost[j]?.DiaryTimeTo | date:'HH:mm'}}\r\n   \r\n  {{latestQuickPost[j]?.Location}}
\r\n
\r\n
\r\n {{ id.name | truncate: 10 }}\r\n 4 && isLast\">+{{ i % 4 }} more\r\n
\r\n
Post Content: ' + (latestQuickPost[j]?.PostContent | truncate1: 320)\">\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \"Avatar\"\r\n
\r\n \r\n
\r\n
\r\n
No Comments to Show.
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n {{latestQuickPost[j]?.LikesCounter}}\r\n
\r\n \r\n
0 \" class=\"d-flex align-items-center\">\r\n
\r\n
\r\n \"Avatar\"\r\n
\r\n \r\n
5\" \r\n class=\"avatar pull-up\" \r\n [ngbPopover]=\"popoverTemplate\" (mouseenter)=\"tooltip.open()\" \r\n (mouseleave)=\"tooltip.close()\" \r\n #tooltip=\"ngbTooltip\"\r\n ngbTooltip=\"Click to view more\"\r\n placement=\"bottom\" \r\n container=\"body\" \r\n triggers=\"click\">\r\n \"More\"\r\n
\r\n \r\n
\r\n
\r\n \"Avatar\"\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{latestQuickPost[j]?.ViewsCounter}}\r\n
\r\n
\r\n \r\n
\r\n Read More\r\n
\r\n
\r\n
\r\n\r\n \r\n 0\" [collectionSize]='pagesNumber' [pageSize]=\"20\" (pageChange)=\"onSearch(4,$event)\" [(page)]=\"pageAdvancedEllipsesPublicPost\" [maxSize]=\"5\" [rotate]=\"true\"\r\n [boundaryLinks]=\"true\">\r\n Prev\r\n \r\n Next\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n

{{'BLOGS.LABEL_MY_PERSONAL_URL'|translate}} \r\n

\r\n

{{userBlogs?.PersonalWebUrl}}

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n
\r\n \r\n","import { Directive, ElementRef, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[appRemoveMargins]'\n})\nexport class RemoveMarginsDirective {\n\n constructor(private el: ElementRef, private renderer: Renderer2) { }\n\n\n ngAfterViewInit() {\n const elements = this.el.nativeElement.querySelectorAll('*');\n elements.forEach((element: HTMLElement) => {\n if (['H1', 'H2', 'H3', 'H4', 'H5', 'H6','h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(element.tagName)) {\n this.replaceWithPTag(element);\n } else {\n this.removeStyles(element);\n }\n });\n }\n \n private removeStyles(element: HTMLElement) {\n this.renderer.setStyle(element, 'margin', '0');\n this.renderer.setStyle(element, 'padding', '0');\n }\n \n private replaceWithPTag(element: HTMLElement) {\n const pTag = this.renderer.createElement('p');\n pTag.innerHTML = element.innerHTML;\n this.renderer.setStyle(pTag, 'margin', '0');\n this.renderer.setStyle(pTag, 'padding', '0');\n element.parentNode.replaceChild(pTag, element);\n }\n}\n","export class Enums {\n\n}\nexport enum Status {\n Success = 0,\n Error = 1,\n UserNotFound = 2,\n InvalidCredential = 3,\n AccountLocked = 4,\n EmailNotVarified = 5,\n OtpVerifiedSuccess = 6,\n InvalidOTP = 7,\n InvalidUserId = 8,\n InvalidData = 9,\n DataNotFound = 10,\n ExceptionError = 11,\n RecordAdded = 12,\n RecordUpdated = 13,\n StorageFull = 14,\n Warning = 15,\n Information = 16,\n PGError = 18\n}\nexport enum FileUploadCategory {\n ProfilePicture = 0,\n Post = 1\n}\n\nexport enum ApplicationType {\n Web = 1,\n App = 2\n}\nexport enum RandomStringType {\n DIGITS,\n UPPERCASE,\n LOWERCASE\n}\n\nexport enum ActionType {\n Edit = 1,\n ViewMap = 2,\n Delete = 3,\n Download = 4,\n SeeRecord = 5,\n linkRecord = 6,\n viewRecord = 7,\n docDescription = 8\n}\n\nexport enum MapModalType {\n AddressModel = 1,\n SchoolModel = 2,\n SearchString = 3,\n LatLong = 4,\n HealthProviderModel = 5,\n TblUserHealthProviders = 6,\n QuickPostModel = 7\n}\n\nexport enum AttachmentType {\n Sample = 0,\n Address = 1,\n School = 2,\n QuickPost = 3,\n Blog = 4,\n NoosomCloud = 5,\n}\n\nexport enum AchievementType {\n MyAchievement = 1,\n MyEducationalAchievement = 2,\n MyProfessionalAchievement = 3,\n MyMiscellaneousAchievement = 4,\n}\n\nexport enum FamilyType {\n OwnFamily = 1,\n BirthFamily = 2,\n OtherFamily = 3,\n}\n\nexport enum NoosomPlans {\n Noosom_Free_Forever = 1,\n Premium_1 = 2,\n Premium_2 = 3,\n}\n\nexport enum FileType {\n All = 0,\n Images = 1,\n Documents = 2,\n Videos = 3\n}\n\nexport enum NoosomCategoryID {\n User = 1,\n Test = 2,\n Staff = 3,\n Demo = 4,\n MemberofStaff = 5\n}\n\nexport enum DAYFILTER {\n Today = 0,\n Tomorrow = 1,\n Yesterday = 2,\n This_Week = 3,\n Next_Week = 4,\n Previous_Week = 5,\n This_Month = 6,\n Next_Month = 7,\n Previous_Month = 8,\n This_Year = 9,\n Next_Year = 10,\n Previous_Year = 11,\n Custom = 12\n}\n\nexport enum Language{\n English = 1,\n Hindi = 2\n}\n\nexport enum TimeFormat {\n 'HH:mm' = 1,\n 'hh:mm:ss' = 2\n}\n\nexport enum DateFormat {\n 'dd/MM/yyyy' = 1,\n 'dd-MM-yyyy' = 2,\n 'dd.MM.yyyy' = 3,\n 'dd MMM yyyy' = 4,\n 'dd MMMM yyyy' = 5,\n 'd/M/yyyy' = 6,\n 'd-M-yyyy' = 7,\n 'd.M.yyyy' = 8,\n 'd MMM yyyy' = 9,\n 'd MMMM yyyy' = 10,\n 'dd/MM/y' = 11,\n 'dd-MM-y' = 12,\n 'dd.MM.y' = 13,\n 'dd MMM y' = 14,\n 'dd MMMM y' = 15,\n 'd/M/y' = 16,\n 'd-M-y' = 17,\n 'd.M.y' = 18,\n 'd MMM y' = 19,\n 'd MMMM y' = 20\n}\n export enum QuickPostType\n {\n All = 0,\n Private = 1,\n Family = 2,\n Friends = 3,\n Public = 4\n}\n\nexport enum RecordsType\n{\n All = 0, \n Address = 1,\n School = 2,\n Insurance = 3,\n Professional = 4,\n Medication = 5,\n Vaccination = 6,\n Awards = 7,\n Achievement = 8,\n Jobs = 9,\n Friends = 10,\n Family = 11,\n QuickPost = 12,\n LifeStory = 13,\n MeOnTheWeb = 14,\n Pastime = 15,\n Hobby = 16,\n Legals = 17\n}\n\nexport enum RelationType\n{\n Friends = 1,\n Families = 2,\n // Quickpost = 3,\n // Blog = 4 \n}\n\nexport enum SharedType\n{\n SharedWithMe = 1,\n SharedByMe = 2 \n}\n\nexport enum ValidateUserNameType\n {\n Exists = 1, // Already used by someone (cannot be used)\n Reserved = 2, // Reserved by Noosom (unavailable)\n Available = 3, // Available for free\n ReservedForPayment = 4, // Reserved but available if payment is made\n Purchased = 5 // Purchased and permanently unavailable\n }","export class Filemanagermodel {\n}\nexport class TblUserFolders {\n UserFolderId?: number;\n UserFolderName: string;\n UserDetailsId: number;\n BunnyFolderId?: number;\n OrderSequence?: number;\n ActiveYn?: boolean;\n CreatedDate?: string;\n CreatedTime?: string;\n CreatedBy?: number;\n ChangedDate?: string;\n ChangedTime?: string;\n ChangedBy?: number;\n }\n\n export class DeleteMultipleInputModel\n {\n DeleteIDs:Array;\n UserDetailsID:number;\n }\n\n export class TblUserFileManagerDocuments {\n UserFileManagerDocumentsId?: number;\n DocumentId?:number;\n UserDetailsId?: number;\n UserFolderId?: number;\n DocumentName?: string;\n DocumentOldName?: string;\n DocumentPath?: string;\n DocumentSubType?: string;\n Size?: string;\n SizeInBytes?: number;\n DocumentType?: string;\n FileCreatedDate?: string; // Use string or Date depending on your preference\n FileLastModifiedDate?: string; // Use string or Date depending on your preference\n FileCreatedLatitude?: number;\n FileCreatedLongitude?: number;\n AllFileMetadata?: string;\n CreatedDate?: string; // Use string or Date depending on your preference\n CreatedTime?: string;\n CreatedBy?: number;\n ChangedDate?: string; // Use string or Date depending on your preference\n ChangedTime?: string;\n ChangedBy?: number;\n }\n \n ","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'de',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Es konnte keine Verbindung zum Server hergestellt werden.'\n },\n SIGNIN: {\n MOTIVATION_BADGE_SIGNIN:'Melden Sie sich an und starten Sie das Abenteuer',\n WELCOME_TEXT: 'Willkommen bei Noosom',\n CONTROL_LABEL_EMAIL:'E-Mail-Addresse',\n CONTROL_LABEL_PASSWORD:'Passwort',\n CONTROL_LABEL_REMEMBERME:'Erinnere dich an mich',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Haben Sie Ihr Passwort vergessen?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Ein Konto erstellen',\n TEXT_NEWONPLATFORM:'Neu auf unserer Plattform?',\n BUTTON_TEXT_LOGIN:'Anmeldung',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Sie haben sich erfolgreich als {0}-Benutzer bei Noosom angemeldet. Jetzt können Sie mit der Erkundung beginnen. Genießen! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Willkommen, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'Das E-Mail-Feld ist!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Das Passwortfeld ist!',\n ERROR_MESSAGE_INVALID_EMAIL:'E-Mail muss eine gültige E-Mail-Adresse sein',\n ERROR_MESSAGE_NOATTEMPTS:'Ungültiger Benutzername oder ungültiges Passwort.
Sie haben keine weiteren Versuche mehr.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Ihre E-Mail-Adresse wurde nicht verifiziert.
überprüfen Sie zuerst Ihre E-Mail-Adresse.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Dein Account wurde gesperrt.'},\n {ErrorCode:0,ErrorMessage:'Eingeloggt erfolgreich.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Ungültiger Benutzername oder ungültiges Passwort. Sie haben noch {0} Versuche.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administratorin'},{titlle:'Client',value:'Klientin'},{title:'User',value:'Benutzer'}]\n },\n SIGNUP:\n {\n MOTIVATION_BADGE_SIGNUP:'Melden Sie sich an und starten Sie das Abenteuer',\n STEPPER_TITLE_ACCOUNT:'Konto',\n STEPPER_SUB_TITLE_ACCOUNT:'Benutzernamen eingeben',\n STEPPER_TITLE_PERSONAL:'persönlich',\n STEPPER_SUB_TITLE_PERSONAL:'Information eingeben',\n HEADING_ACCOUNT:'Kontoinformationen',\n HEADING_PERSONAL:'Persönliche Informationen',\n HEADING_SELECTPLAN:'Plan auswählen',\n CONTROL_LABEL_USERID:'Noosom-Benutzer-ID',\n CONTROL_LABEL_EMAILADDRESS:'E-Mail-Addresse',\n CONTROL_LABEL_PASSWORD:'Passwort',\n CONTROL_LABEL_CONFIRMPASSWORD:'Bestätigen Sie Ihr Passwort',\n CONTROL_LABEL_REGION:'Ihre Region',\n CONTROL_LABEL_HOMECOUNTRY:'Ihr land',\n CONTROL_LABEL_FIRSTNAME:'Vorname',\n CONTROL_LABEL_MIDDLENAME:'Zweiter Vorname',\n CONTROL_LABEL_LASTNAME:'Nachname',\n CONTROL_LABEL_BIRTHDATE:'Geburtsdatum',\n CONTROL_LABEL_MOBILENO:'Handy-Nr',\n CONTROL_LABEL_SELECTPLAN:'Jetzt für immer kostenlos oder später kaufen.',\n PLACEHOLDER_TYPEHERE:'Geben Sie hier ein ...',\n PLACEHOLDER_PASSWORD:'Passwort',\n PLACEHOLDER_REGION:'Region wählen',\n PLACEHOLDER_COUNTRY:'Land auswählen',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Vorherige',\n BUTTON_TEXT_NEXT:'Nächste',\n BUTTON_TEXT_SUBMIT:'Einreichen',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Ihre Daten werden gespeichert',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'in der ausgewählten Region',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'land auswählen',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Konto erfolgreich erstellt.',\n ERROR_MESSAGE_REQUIRED_USERID:'Das Feld „Benutzername“ ist! Das Feld „E-Mail“ ist',\n ERROR_MESSAGE_EXISTED_USERID:'Dieser Benutzername wurde vergeben. Bitte versuchen Sie es mit einem anderen.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'Das Feld für die E-Mail-Adresse ist!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Diese E-Mail-Adresse wurde übernommen. Bitte versuchen Sie es mit einem anderen.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Das Passwortfeld ist!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Muss mindestens eine Zahl, einen Groß- und Kleinbuchstaben und mindestens 8 Zeichen enthalten.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'Passwort wiederholen muss übereinstimmen.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'Das Feld Passwort bestätigen ist!',\n ERROR_MESSAGE_REQUIRED_REGION:'Das Regionsfeld ist!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'Das Feld land ist!',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'Das Vornamensfeld ist!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'Das Feld für den zweiten Vornamen ist!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'Das Feld Nachname ist!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'Das Feld Geburtsdatum ist!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'Das Handy ist kein Pflichtfeld!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Bitte wählen Sie die kostenlose Planoption!',\n }\n }\n};\n","import { PostConstruct } from \"ag-grid-community\";\nimport { Status } from \"app/enums\";\nexport const locale = {\n lang: 'en',\n data: {\n COMMON: {\n CONTROL_LABEL_EMAIL_ADDRESS: 'Email Address',\n PLACEHOLDER_EMAIL_ADDRESS: 'Type here...',\n PLACEHOLDER_TYPE_HERE: 'Type here...',\n PLACEHOLDER_MOBILE_NUMBER: '0123456789',\n BUTTON_TEXT_SAVE_CHANGES: 'Save Changes',\n ERROR_MESSAGE_REQUIRED_EMAIL_ADDRESS: 'The email is required!',\n ERROR_MESSAGE_INVALID_EMAIL: 'Please enter your email address in format:\\nyourname@example.com',\n ERROR_MESSAGE_CONNECTIONREFUSED: 'Could not connect with server.',\n COMMON_STATUS:\n [\n { ErrorCode: Status.UserNotFound, ErrorMessage: 'User could not be found.' }\n ],\n },\n FILEMANAGER: {\n HEADING_LABEL_FILE_MANAGER: 'File Manager',\n LABEL_ADD_FOLDER: 'Add Folder',\n LABEL_DELETE_FOLDER: 'Delete Folder',\n LABEL_SELECT_ALL: 'Select All',\n LABEL_CHARACTER_COUNT:'Character Count',\n LABEL_FOLDER_NAME_REQUIRED: 'Folder Name is Required!',\n LABEL_MAX_CHARACTERS_20: 'You have typed too many characters, maximum allowed is 20',\n LABEL_CONFIRM: 'Confirm',\n LABEL_CANCEL: 'Cancel',\n LABEL_DELETE: 'Delete',\n LABEL_VIEW: 'View',\n LABEL_UPDATE:'Update',\n LABEL_PLACEHOLDER:'Enter Folder Name',\n LABEL_CREATE_FOLDER:'Create Folder',\n LABEL_UPDATE_FOLDER:'Update Folder',\n LABEL_TOOLTIP:'Toggle Selection'\n },\n BLOGS: {\n CONTROL_LABEL_VIEW_PUBLIC_BLOG:'View My Public Blog',\n LABEL_COVER_PICTURE:'Your Cover Picture',\n LABEL_CROP:'Crop',\n LABEL_RESET:'Reset',\n LABEL_YOUR_PROFILE_PICTURE:'Your Profile Picture',\n LABEL_DATE_RANGE:'Date Range',\n LABEL_MONTH:'Month',\n LABEL_FROM_DATE:'From Date',\n LABEL_TO_DATE:'To Date',\n LABEL_SEARCH:'Search',\n LABEL_ON_THIS_DAY:'On This Day',\n LABEL_YEARS_AGO:'Years Ago',\n LABEL_STAY_ANONYMOUS:'Stay Anonymous',\n LABEL_YES:'Yes',\n LABEL_NO:'No',\n LABEL_ABOUT_ME:'About Me',\n LABEL_JOINED:'Joined',\n LABEL_EMAIL_ADDRESS:'Email Address',\n LABEL_MY_PERSONAL_URL:'My Personal URL',\n LABEL_LIVES:'Lives',\n LABEL_DIARY_ENTRIES:'Diary Entries',\n TOOLTIP_TEXT_COPY: 'Copy',\n TOOLTIP_TEXT_EXTERNAL_LINK: 'Open in External-Tab'\n }\n }\n};\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'fr',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Impossible de se connecter au serveur.'\n },\n SIGNIN: {\n WELCOME_TEXT: 'Bienvenue à Noosom',\n MOTIVATION_BADGE_SIGNIN:'Connectez-vous et commencez l\\'aventure',\n CONTROL_LABEL_EMAIL:'Adresse e-mail',\n CONTROL_LABEL_PASSWORD:'Mot de passe',\n CONTROL_LABEL_REMEMBERME:'Souviens-toi de moi',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Mot de passe oublié?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Créer un compte',\n TEXT_NEWONPLATFORM:'Nouveau sur notre plateforme ?',\n BUTTON_TEXT_LOGIN:'Connexion',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Vous avez réussi à vous connecter en tant qu\\'utilisateur {0} à Noosom. Vous pouvez maintenant commencer à explorer. Prendre plaisir! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Bienvenue, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'Le champ email est!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Le champ mot de passe est!',\n ERROR_MESSAGE_INVALID_EMAIL:'L\\'e-mail doit être une adresse e-mail valide',\n ERROR_MESSAGE_NOATTEMPTS:'Nom d\\'utilisateur ou mot de passe invalide. Il ne vous reste plus aucune tentative.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Votre adresse e-mail n\\'est pas vérifiée.
vérifiez d\\'abord votre adresse e-mail.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Vôtre compte a été bloqué.'},\n {ErrorCode:0,ErrorMessage:'Connexion réussie.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Nom d\\'utilisateur ou mot de passe invalide.
Il vous reste {0} tentatives.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administratrice'},{titlle:'Client',value:'Cliente'},{title:'User',value:'Utilisatrice'}]\n },\n SIGNUP:\n {\n MOTIVATION_BADGE_SIGNUP:'Inscrivez-vous et commencez l\\'aventure',\n STEPPER_TITLE_ACCOUNT:'Compte',\n STEPPER_SUB_TITLE_ACCOUNT:'Saisissez votre nom d\\'utilisateur',\n STEPPER_TITLE_PERSONAL:'Personnelle',\n STEPPER_SUB_TITLE_PERSONAL:'Entrez les informations',\n HEADING_ACCOUNT:'Information sur le compte',\n HEADING_PERSONAL:'Renseignements personnels',\n HEADING_SELECTPLAN:'Sélectionnez le plan',\n CONTROL_LABEL_USERID:'ID utilisateur Noosom',\n CONTROL_LABEL_EMAILADDRESS:'Adresse e-mail',\n CONTROL_LABEL_PASSWORD:'Mot de passe',\n CONTROL_LABEL_CONFIRMPASSWORD:'Confirmer votre mot de passe',\n CONTROL_LABEL_REGION:'Votre région',\n CONTROL_LABEL_HOMECOUNTRY:'Votre pays',\n CONTROL_LABEL_FIRSTNAME:'Prénom',\n CONTROL_LABEL_MIDDLENAME:'Deuxième nom',\n CONTROL_LABEL_LASTNAME:'Nom de famille',\n CONTROL_LABEL_BIRTHDATE:'Date de naissance',\n CONTROL_LABEL_MOBILENO:'Mobile Non',\n CONTROL_LABEL_SELECTPLAN:'Gratuit pour l\\'instant, ou achetez plus tard.',\n PLACEHOLDER_TYPEHERE:'Écrivez ici...',\n PLACEHOLDER_PASSWORD:'Mot de passe',\n PLACEHOLDER_REGION:'Choisissez une région',\n PLACEHOLDER_COUNTRY:'Choisissez le pays',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Précédente',\n BUTTON_TEXT_NEXT:'Prochaine',\n BUTTON_TEXT_SUBMIT:'Soumettre',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Vos données seront stockées',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'dans la région sélectionnée',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'Sélectionnez le pays',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Compte créé avec succès.',\n ERROR_MESSAGE_REQUIRED_USERID:'Le champ nom d\\'utilisateur est!',\n ERROR_MESSAGE_EXISTED_USERID:'Ce nom d\\'utilisateur a été pris. Veuillez en essayer un autre.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'Le champ adresse e-mail est!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Cette adresse e-mail a été prise. Veuillez en essayer un autre.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Le champ mot de passe est!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Doit contenir au moins un chiffre, une lettre majuscule et minuscule et un minimum de 8 caractères ou plus.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'Le mot de passe répété doit correspondre.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'Le champ de confirmation du mot de passe est!',\n ERROR_MESSAGE_REQUIRED_REGION:'Le champ région est!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'Le champ du pays',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'Le champ prénom est!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'Le champ du deuxième prénom est!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'Le champ nom de famille est!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'Le champ date de naissance est!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'Le mobile aucun champ n\\'est requis!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Veuillez sélectionner l\\'option de forfait gratuit!'\n }\n }\n};\n","import { Status } from \"app/enums\";\r\n\r\nexport const locale = {\r\n lang: 'gj',\r\n data: {\r\n COMMON:{\r\n ERROR_MESSAGE_CONNECTIONREFUSED:'સર્વર સાથે કનેક્ટ કરી શકાયું નથી'\r\n },\r\n SIGNIN: {\r\n WELCOME_TEXT: 'નૂસોમ માં આપનું સ્વાગત છે',\r\n MOTIVATION_BADGE_SIGNIN:'સાઇન ઇન કરો અને સાહસ શરૂ કરો',\r\n CONTROL_LABEL_EMAIL:'ઈ - મેઈલ સરનામું',\r\n CONTROL_LABEL_PASSWORD:'પાસવર્ડ',\r\n CONTROL_LABEL_REMEMBERME:'મને યાદ રાખો',\r\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\r\n LINK_TEXT_LABEL_FORGOTPASSWORD:'તમારો પાસવર્ડ ભૂલી ગયા છો?',\r\n LINK_TEXT_LABEL_CREATEACCOUNT:'એક ખાતુ બનાવો',\r\n TEXT_NEWONPLATFORM:'અમારા પ્લેટફોર્મ પર નવા છો?',\r\n BUTTON_TEXT_LOGIN:'પ્રવેશ કરો',\r\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'તમે Noosom માં {0} વપરાશકર્તા તરીકે સફળતાપૂર્વક લૉગ ઇન કર્યું છે. હવે તમે અન્વેષણ કરવાનું શરૂ કરી શકો છો. આનંદ માણો! 🎉',\r\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 સ્વાગત છે, {0}!',\r\n ERROR_MESSAGE_REQUIRED_EMAIL:'ઈમેલ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_PASSWORD:'પાસવર્ડ આવશ્યક છે!',\r\n ERROR_MESSAGE_INVALID_EMAIL:'ઇમેઇલ એક માન્ય ઇમેઇલ સરનામું હોવું આવશ્યક છે',\r\n ERROR_MESSAGE_NOATTEMPTS:'અમાન્ય વપરાશકર્તાનામ અથવા પાસવર્ડ. તમારી પાસે કોઈ પ્રયાસો બાકી નથી.',\r\n LOGIN_STATUS:\r\n [\r\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'તમારું ઇમેઇલ સરનામું ચકાસાયેલ નથી.
પહેલા તમારું ઇમેઇલ સરનામું બદલો.'},\r\n {ErrorCode:Status.AccountLocked,ErrorMessage:'તમારું એકાઉન્ટ લોક કરી દેવામાં આવ્યું છે.'},\r\n {ErrorCode:0,ErrorMessage:'લૉગ-ઇન સફળ.'},\r\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'અમાન્ય વપરાશકર્તાનામ અથવા પાસવર્ડ.
તમારી પાસે {0} પ્રયાસો બાકી છે.'}\r\n ],\r\n DIGITS:[\"૧\",\"૨\",\"૩\",\"૪\"],\r\n ROLES:[{title:'Admin',value:'એડમિન'},{titlle:'Client',value:'ક્લાયન્ટ'},{title:'User',value:'વપરાશકર્તા'}]\r\n },\r\n SIGNUP:\r\n {\r\n MOTIVATION_BADGE_SIGNUP:'સાઇન અપ કરો અને સાહસ શરૂ કરો',\r\n STEPPER_TITLE_ACCOUNT:'એકાઉન્ટ',\r\n STEPPER_SUB_TITLE_ACCOUNT:'વપરાશકર્તા નામ દાખલ કરો',\r\n STEPPER_TITLE_PERSONAL:'અંગત',\r\n STEPPER_SUB_TITLE_PERSONAL:'માહિતી દાખલ કરો',\r\n HEADING_ACCOUNT:'ખાતાની માહિતી',\r\n HEADING_PERSONAL:'વ્યક્તિગત માહિતી',\r\n HEADING_SELECTPLAN:'પ્લાન પસંદ કરો',\r\n CONTROL_LABEL_USERID:'નૂસોમ વપરાશકર્તા આઈડી',\r\n CONTROL_LABEL_EMAILADDRESS:'ઈ - મેઈલ સરનામું',\r\n CONTROL_LABEL_PASSWORD:'પાસવર્ડ',\r\n CONTROL_LABEL_CONFIRMPASSWORD:'તમારા પાસવર્ડની ખાતરી કરો',\r\n CONTROL_LABEL_REGION:'તમારો પ્રદેશ',\r\n CONTROL_LABEL_HOMECOUNTRY:'તમારો દેશ',\r\n CONTROL_LABEL_FIRSTNAME:'પ્રથમ નામ',\r\n CONTROL_LABEL_MIDDLENAME:'પિતાનું નામ',\r\n CONTROL_LABEL_LASTNAME:'છેલ્લું નામ',\r\n CONTROL_LABEL_BIRTHDATE:'જન્મ તારીખ',\r\n CONTROL_LABEL_MOBILENO:'મોબાઈલ નમ્બર',\r\n CONTROL_LABEL_SELECTPLAN:'હમણાં માટે હંમેશ માટે મફત, અથવા પછીથી ખરીદો.',\r\n PLACEHOLDER_TYPEHERE:'અહી લખો...',\r\n PLACEHOLDER_PASSWORD:'પાસવર્ડ',\r\n PLACEHOLDER_REGION:'પ્રદેશ પસંદ કરો',\r\n PLACEHOLDER_COUNTRY:'દેશ પસંદ કરો',\r\n PLACEHOLDER_TELEPHONENUMBER:'૦૧૨૩૪૫૬૭૮૯',\r\n BUTTON_TEXT_PREVIOUS:'અગાઉના',\r\n BUTTON_TEXT_NEXT:'આગળ',\r\n BUTTON_TEXT_SUBMIT:'સબમિટ કરો',\r\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'તમારો ડેટા પસંદ કરેલ પ્રદેશમાં',\r\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'સંગ્રહિત કરવામાં આવશે',\r\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'દેશ પસંદ કરો',\r\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'એકાઉન્ટ સફળતાપૂર્વક બનાવ્યું.',\r\n ERROR_MESSAGE_REQUIRED_USERID:'યુઝરનેમ આવશ્યક છે!',\r\n ERROR_MESSAGE_EXISTED_USERID:'તે વપરાશકર્તા નામ લેવામાં આવ્યું છે. કૃપા કરીને બીજો પ્રયાસ કરો.',\r\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'ઈમેલ એડ્રેસ ફીલ્ડ છે!',\r\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'તે ઈમેલ એડ્રેસ લેવામાં આવ્યું છે. કૃપા કરીને બીજો પ્રયાસ કરો.',\r\n ERROR_MESSAGE_REQUIRED_PASSWORD:'પાસવર્ડ ફીલ્ડ છે!',\r\n ERROR_MESSAGE_INVALID_PASSWORD:'ઓછામાં ઓછા એક નંબર, એક અપરકેસ અને લોઅરકેસ અક્ષર અને ઓછામાં ઓછા 8 અથવા વધુ અક્ષરો હોવા જોઈએ.',\r\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'પુનરાવર્તિત પાસવર્ડ મેળ ખાતો હોવો જોઈએ.',\r\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'કન્ફર્મ પાસવર્ડ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_REGION:'પ્રદેશ ક્ષેત્ર આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'દેશ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'પ્રથમ નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'મધ્યમ નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_LASTNAME:'છેલ્લું નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'જન્મ તારીખ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_MOBILENO:'મોબાઇલ નંબર આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'કૃપા કરીને ફ્રી પ્લાન વિકલ્પ પસંદ કરો!'\r\n }\r\n }\r\n };\r\n ","import { Status } from \"app/enums\";\r\n\r\nexport const locale = {\r\n lang: 'hn',\r\n data: {\r\n COMMON: {\r\n CONTROL_LABEL_EMAIL_ADDRESS: 'ईमेल पता',\r\n PLACEHOLDER_EMAIL_ADDRESS: 'यहाँ लिखो...',\r\n PLACEHOLDER_TYPE_HERE: 'यहाँ लिखो...',\r\n PLACEHOLDER_MOBILE_NUMBER: '०१२३४५६७८९',\r\n BUTTON_TEXT_SAVE_CHANGES: 'परिवर्तनों को सुरक्षित करें',\r\n ERROR_MESSAGE_REQUIRED_EMAIL_ADDRESS: 'ईमेल की आवश्यकता है!',\r\n ERROR_MESSAGE_INVALID_EMAIL: 'कृपया अपना ईमेल पता प्रारूप में दर्ज करें:\\nyourname@example.com',\r\n ERROR_MESSAGE_CONNECTIONREFUSED: 'सर्वर से कनेक्ट नहीं हो सका.',\r\n COMMON_STATUS:\r\n [\r\n { ErrorCode: Status.UserNotFound, ErrorMessage: 'उपयोगकर्ता नहीं मिल सका।' }\r\n ],\r\n },\r\n FILEMANAGER: {\r\n HEADING_LABEL_FILE_MANAGER: 'फ़ाइल प्रबंधक',\r\n LABEL_ADD_FOLDER: 'फ़ोल्डर जोड़ें',\r\n LABEL_DELETE_FOLDER: 'फ़ोल्डर हटाएं',\r\n LABEL_SELECT_ALL: 'सभी का चयन करें',\r\n LABEL_FOLDER_NAME_REQUIRED: 'फ़ोल्डर का नाम आवश्यक है!',\r\n LABEL_CHARACTER_COUNT:'अक्षर गणना',\r\n LABEL_MAX_CHARACTERS_20: 'आपने बहुत अधिक वर्ण टाइप किए हैं, अधिकतम अनुमति 20 है',\r\n LABEL_CONFIRM: 'पुष्टि करें',\r\n LABEL_CANCEL: 'रद्द करें',\r\n LABEL_DELETE: 'हटाएं',\r\n LABEL_VIEW: 'देखें',\r\n LABEL_UPDATE: 'अपडेट',\r\n LABEL_PLACEHOLDER: 'फोल्डर का नाम दर्ज करें',\r\n LABEL_CREATE_FOLDER: 'फोल्डर बनाएं',\r\n LABEL_UPDATE_FOLDER: 'फोल्डर अपडेट करें',\r\n LABEL_TOOLTIP: 'चयन को टॉगल करें'\r\n\r\n },\r\n BLOGS: {\r\n CONTROL_LABEL_VIEW_PUBLIC_BLOG: 'मेरा सार्वजनिक ब्लॉग देखें',\r\n LABEL_COVER_PICTURE: 'आपकी कवर तस्वीर',\r\n LABEL_CROP: 'क्रॉप करें',\r\n LABEL_RESET: 'रीसेट करें',\r\n LABEL_YOUR_PROFILE_PICTURE: 'आपकी प्रोफाइल तस्वीर',\r\n LABEL_DATE_RANGE: 'दिनांक सीमा',\r\n LABEL_MONTH: 'महीना',\r\n LABEL_FROM_DATE: 'प्रारंभ तिथि',\r\n LABEL_TO_DATE: 'समाप्ति तिथि',\r\n LABEL_SEARCH: 'खोजें',\r\n LABEL_ON_THIS_DAY: 'इस दिन',\r\n LABEL_YEARS_AGO: 'साल पहले',\r\n LABEL_STAY_ANONYMOUS: 'गुमनाम रहें',\r\n LABEL_YES: 'हाँ',\r\n LABEL_NO: 'नहीं',\r\n LABEL_ABOUT_ME: 'मेरे बारे में',\r\n LABEL_JOINED: 'शामिल हुए',\r\n LABEL_EMAIL_ADDRESS: 'ईमेल पता',\r\n LABEL_MY_PERSONAL_URL: 'मेरा व्यक्तिगत यूआरएल',\r\n LABEL_LIVES: 'रहते हैं',\r\n TOOLTIP_TEXT_COPY: 'कॉपी',\r\n TOOLTIP_TEXT_EXTERNAL_LINK: 'एक नए टैब में खोलें',\r\n }\r\n }\r\n};\r\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'pt',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Não foi possível conectar com o servidor'\n },\n SIGNIN: {\n WELCOME_TEXT: 'Bem-vindo ao Noosom',\n MOTIVATION_BADGE_SIGNIN:'Faça login e comece a aventura',\n CONTROL_LABEL_EMAIL:'Endereço de email',\n CONTROL_LABEL_PASSWORD:'Senha',\n CONTROL_LABEL_REMEMBERME:'Lembre de mim',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Esqueceu sua senha?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Crie a sua conta aqui',\n TEXT_NEWONPLATFORM:'Novo em nossa plataforma?',\n BUTTON_TEXT_LOGIN:'Conecte-se',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Você fez login com sucesso como um usuário {0} no Noosom. Agora você pode começar a explorar. Apreciar! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Bem-vindo, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'O campo de e-mail!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'O campo de senha!',\n ERROR_MESSAGE_INVALID_EMAIL:'O e-mail deve ser um endereço de e-mail válido',\n ERROR_MESSAGE_NOATTEMPTS:'Nome de usuário ou senha inválidos. Não há tentativas restantes.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Seu endereço de e-mail não foi verificado.
primeiro varie seu endereço de e-mail.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Sua conta foi bloqueada.'},\n {ErrorCode:0,ErrorMessage:'Logado com sucesso.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Nome de usuário ou senha inválidos.
Você tem {0} tentativas restantes.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administrador'},{titlle:'Client',value:'Cliente'},{title:'User',value:'Do utilizador'}]\n },\n SIGNUP:\n {\n STEPPER_TITLE_ACCOUNT:'Conta',\n STEPPER_SUB_TITLE_ACCOUNT:'Insira nome de usuário',\n STEPPER_TITLE_PERSONAL:'Pessoal',\n STEPPER_SUB_TITLE_PERSONAL:'Insira as informações',\n HEADING_ACCOUNT:'Informação da conta',\n HEADING_PERSONAL:'Informação pessoal',\n HEADING_SELECTPLAN:'Selecione o plano',\n CONTROL_LABEL_USERID:'ID de usuário Noosom',\n CONTROL_LABEL_EMAILADDRESS:'Endereço de email',\n CONTROL_LABEL_PASSWORD:'Senha',\n CONTROL_LABEL_CONFIRMPASSWORD:'Confirme sua senha',\n CONTROL_LABEL_REGION:'Sua região',\n CONTROL_LABEL_HOMECOUNTRY:'Seu país de',\n CONTROL_LABEL_FIRSTNAME:'Primeiro nome',\n CONTROL_LABEL_MIDDLENAME:'Nome do meio',\n CONTROL_LABEL_LASTNAME:'Sobrenome',\n CONTROL_LABEL_BIRTHDATE:'Data de nascimento',\n CONTROL_LABEL_MOBILENO:'Celular não',\n CONTROL_LABEL_SELECTPLAN:'Grátis para sempre por agora, ou compre mais tarde.',\n PLACEHOLDER_TYPEHERE:'Digite aqui...',\n PLACEHOLDER_PASSWORD:'Senha',\n PLACEHOLDER_REGION:'Selecione a região',\n PLACEHOLDER_COUNTRY:'Selecione o pais',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Anterior',\n BUTTON_TEXT_NEXT:'Próxima',\n BUTTON_TEXT_SUBMIT:'Enviar',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Seus dados serão armazenados',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'na região selecionada',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'Selecione o país de',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Conta criada com sucesso.',\n ERROR_MESSAGE_REQUIRED_USERID:'O campo de nome de usuário!',\n ERROR_MESSAGE_EXISTED_USERID:'Esse nome de usuário foi usado. Por favor, tente outro.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'O campo de endereço de e-mail!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Esse endereço de e-mail foi usado. Por favor, tente outro.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'O campo de senha!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Deve conter pelo menos um número, uma letra maiúscula e uma minúscula e um mínimo de 8 ou mais caracteres.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'A senha repetida deve corresponder.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'O campo de confirmação de senha!',\n ERROR_MESSAGE_REQUIRED_REGION:'O campo região!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'O campo do país de!',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'O campo de nome!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'O campo de nome do meio!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'O campo sobrenome!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'O campo data de nascimento!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'O celular nenhum campo!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Selecione a opção de plano gratuito!'\n }\n }\n};\n","import { Injectable } from '@angular/core';\nimport { GlobalService } from 'app/Services/global.service';\nimport { GetRandomUserQuickPostDocumentInputModel } from '../home-model.model';\n@Injectable({\n providedIn: 'root'\n})\nexport class HomeService {\n\n constructor(private globalService: GlobalService) { }\n\n GetUserQuickPostLoadData(data:number){\n const path = 'api/UserQuickPost/GetUserQuickPostLoadData';\n return this.globalService.PostDataById(data,path);\n }\n GetNoosomCouponCodeList(data){\n const path = 'api/Noosom/GetNoosomCouponCodeList';\n return this.globalService.PostDataById(data,path);\n }\n\n GetUserDetails(data){\n const path = 'api/Account/GetUserDetails';\n return this.globalService.PostDataById(data,path);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { TablerIconsModule } from 'angular-tabler-icons';\nimport { IconCamera, IconHeart, IconBrandGithub, IconMessages,IconEdit } from 'angular-tabler-icons/icons';\nimport * as TablerIcons from 'angular-tabler-icons/icons';\n\n// Select some icons (use an object, not an array)\n// const icons = {\n// IconCamera,\n// IconHeart,\n// IconBrandGithub,\n// IconMessages,\n// IconEdit\n// };\n\n@NgModule({\n imports: [\n TablerIconsModule.pick(TablerIcons)\n ],\n exports: [\n TablerIconsModule\n ]\n})\nexport class IconsModule { }\n","import { PostConstruct } from \"ag-grid-community\";\nimport { Status } from \"app/enums\";\nexport const locale = {\n lang: 'en',\n data: {\n COMMON: {\n CONTROL_LABEL_EMAIL_ADDRESS: 'Email Address',\n PLACEHOLDER_EMAIL_ADDRESS: 'Type here...',\n PLACEHOLDER_TYPE_HERE: 'Type here...',\n PLACEHOLDER_MOBILE_NUMBER: '0123456789',\n BUTTON_TEXT_SAVE_CHANGES: 'Save Changes',\n ERROR_MESSAGE_REQUIRED_EMAIL_ADDRESS: 'The email is required!',\n ERROR_MESSAGE_INVALID_EMAIL: 'Please enter your email address in format:\\nyourname@example.com',\n ERROR_MESSAGE_CONNECTIONREFUSED: 'Could not connect with server.',\n COMMON_STATUS:\n [\n { ErrorCode: Status.UserNotFound, ErrorMessage: 'User could not be found.' }\n ],\n },\n INSURANCE: {\n BUTTON_TEXT_SAVE_AND_CLOSE: 'Save and Close',\n BUTTON_TEXT_SAVE_AND_NEXT: 'Save and Next',\n BUTTON_TEXT_ABANDON: 'Abandon',\n BUTTON_TEXT_CANCEL: 'Cancel',\n BUTTON_TEXT_UPLOAD_ALL: 'Upload All',\n BUTTON_TEXT_PAUSE_ALL: 'Pause All',\n BUTTON_TEXT_DOWNLOAD_ALL: 'Download All',\n BUTTON_TEXT_REMOVE_ALL: 'Remove All',\n BUTTON_TEXT_SAVE_CHANGES: 'Save Changes',\n CONTROL_LABEL_INSURANCE_TYPE: 'Insurance Type',\n CONTROL_LABEL_INSURANCE_NAME: 'Insurance Name',\n CONTROL_LABEL_POLICY_NUMBER: 'Policy Number',\n CONTROL_LABEL_CARD_NUMBER: 'Card Number',\n CONTROL_LABEL_INSURANCE_CONTACT_NUMBER: 'Insurance Contact Number',\n CONTROL_LABEL_POLICY_START_DATE: 'Policy Start Date',\n CONTROL_LABEL_POLICY_EXPIRATION_DATE: 'Policy Expiration Date',\n CONTROL_LABEL_NOTES: 'Notes',\n CONTROL_LABEL_MULTIPLE: 'Multiple',\n COLUMN_HEADING_NAME: 'NAME',\n COLUMN_HEADING_SIZE: 'SIZE',\n COLUMN_HEADING_PROGRESS: 'PROGRESS',\n COLUMN_HEADING_STATUS: 'STATUS',\n COLUMN_HEADING_DATE_CREATED: 'DATE CREATED',\n COLUMN_HEADING_TYPE: 'TYPE',\n COLUMN_HEADING_ACTIONS: 'ACTIONS',\n DIALOG_TITLE_ADD_INSURANCE: 'Add an Insurance',\n DIALOG_TITLE_EDIT_INSURANCE: 'Edit an Insurance',\n ERROR_MESSAGE_REQUIRED_INSURANCE_TYPE: 'The insurance type is required!',\n ERROR_MESSAGE_REQUIRED_INSURANCE_NAME: 'The insurance name is required!',\n ERROR_MESSAGE_MAX_LENGTH_50: 'You have typed too many characters, maximum allowed is 50',\n ERROR_MESSAGE_MAX_LENGTH_100: 'You have typed too many characters, maximum allowed is 100',\n ERROR_MESSAGE_MAX_LENGTH_12: 'You have typed too many characters, maximum allowed is 12',\n ERROR_MESSAGE_REQUIRED_POLICY_NUMBER: 'The policy number is required!',\n ERROR_MESSAGE_REQUIRED_CARD_NUMBER: 'The card number is required!',\n ERROR_MESSAGE_REQUIRED_CONTACT_NUMBER: 'The contact number is required!',\n ERROR_MESSAGE_REQUIRED_POLICY_START_DATE: 'The policy start date is required!',\n ERROR_MESSAGE_REQUIRED_POLICY_EXPIRATION_DATE: 'The policy expiration date is required!',\n ERROR_MESSAGE_INVALID_CONTACT_NUMBER: 'Invalid contact number!',\n HEADING_TEXT_SELECT_IMAGES: 'Select Documents',\n HEADING_TEXT_UPLOAD_QUEUE: 'Upload Queue',\n HEADING_TEXT_QUEUE_PROGRESS: 'Queue Progress',\n PLACEHOLDER_SELECT_INSURANCE_TYPE: 'Select Insurance type',\n PLACEHOLDER_SELECT_INSURANCE_NAME: 'Select Insurance Name',\n PLACEHOLDER_CHOOSE_FILES: 'Choose Files',\n SECTION_TEXT: 'Add some information about any of your insurances',\n SECTION_TEXT1: 'Select some Documents; you can upload them one at a time or select Upload All at once',\n SECTION_TEXT2: 'All your documents will be displayed here in a list; you can download or delete them individually',\n SECTION_TEXT3: 'Add any specific notes that you have for this insurance',\n SWEET_ALERT_TITLE_ADDRESS_DOCUMENT_TEXT: 'Are you sure, you want to delete this Insurance Document?',\n SWEET_ALERT_TITLE_ALL_ADDRESS_DOCUMENT_TEXT: 'Are you sure, you want to delete all these Insurance Documents?',\n SWEET_ALERT_TITLE_INSURANCE_TEXT: 'Are you sure, you want to delete this Insurance and all the attachments associated with it?',\n SWEET_ALERT_TEXT: \"You won't be able to undo this!\",\n SWEET_ALERT_CONFIRM_BUTTON_TEXT: 'Yes, delete it!',\n SWEET_ALERT_CANCEL_BUTTON_TEXT: 'Cancel',\n SWEET_ALERT_TEXT_DELETED: 'Deleted!',\n SWEET_ALERT_CONFIRM_BUTTON_TEXT_OKAY: 'OK',\n TAB_HEADING_INSURANCE_DETAILS: 'Insurance Details',\n TAB_HEADING_UPLOADS: 'Uploads',\n TAB_HEADING_DOCUMENTS: 'Documents',\n TAB_HEADING_NOTES: 'Notes',\n TOOLTIP_TOGGLE_CALENDAR: 'Toggle Calendar',\n TOOLTIP_TEXT_INSURANCE_TYPE: 'Select Insurance Type',\n TOOLTIP_TEXT_INSURANCE_NAME: 'Enter the Insurance Name from your documents',\n TOOLTIP_TEXT_POLICY_NUMBER: 'Enter the Policy Number from your documents',\n TOOLTIP_TEXT_CARD_NUMBER: 'Enter the Card Number from your documents',\n TOOLTIP_TEXT_INSURANCE_CONTACT_NUMBER: 'Enter the Insurance Contact Number from your documents',\n TOOLTIP_TEXT_POLICY_START_DATE: 'Enter the Policy Start Date from your documents',\n TOOLTIP_TEXT_POLICY_EXPIRATION_DATE: 'Enter the Policy Expiration Date from your documents',\n TOOLTIP_TEXT_BUTTON_DOWNLOAD: 'Download',\n TOOLTIP_TEXT_BUTTON_VIEW: 'View',\n TOOLTIP_TEXT_BUTTON_DELETE: 'Delete',\n TOOLTIP_TEXT_BUTTON_CLOSE: 'Close',\n TOAST_MESSAGE_INSURANCE_ADDED_SUCCESSFULLY: 'Insurance added successfully.',\n TOAST_MESSAGE_INSURANCE_UPDATED_SUCCESSFULLY: 'Insurance updated successfully.',\n TEXT_FILE_TYPES: 'Allowed file types:',\n TEXT_QUEUE_LENGTH: 'Queue Length:',\n TEXT_MB: 'MB',\n\n\n },\n }\n};\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'fr',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Impossible de se connecter au serveur.'\n },\n SIGNIN: {\n WELCOME_TEXT: 'Bienvenue à Noosom',\n MOTIVATION_BADGE_SIGNIN:'Connectez-vous et commencez l\\'aventure',\n CONTROL_LABEL_EMAIL:'Adresse e-mail',\n CONTROL_LABEL_PASSWORD:'Mot de passe',\n CONTROL_LABEL_REMEMBERME:'Souviens-toi de moi',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Mot de passe oublié?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Créer un compte',\n TEXT_NEWONPLATFORM:'Nouveau sur notre plateforme ?',\n BUTTON_TEXT_LOGIN:'Connexion',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Vous avez réussi à vous connecter en tant qu\\'utilisateur {0} à Noosom. Vous pouvez maintenant commencer à explorer. Prendre plaisir! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Bienvenue, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'Le champ email est!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Le champ mot de passe est!',\n ERROR_MESSAGE_INVALID_EMAIL:'L\\'e-mail doit être une adresse e-mail valide',\n ERROR_MESSAGE_NOATTEMPTS:'Nom d\\'utilisateur ou mot de passe invalide. Il ne vous reste plus aucune tentative.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Votre adresse e-mail n\\'est pas vérifiée.
vérifiez d\\'abord votre adresse e-mail.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Vôtre compte a été bloqué.'},\n {ErrorCode:0,ErrorMessage:'Connexion réussie.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Nom d\\'utilisateur ou mot de passe invalide.
Il vous reste {0} tentatives.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administratrice'},{titlle:'Client',value:'Cliente'},{title:'User',value:'Utilisatrice'}]\n },\n SIGNUP:\n {\n MOTIVATION_BADGE_SIGNUP:'Inscrivez-vous et commencez l\\'aventure',\n STEPPER_TITLE_ACCOUNT:'Compte',\n STEPPER_SUB_TITLE_ACCOUNT:'Saisissez votre nom d\\'utilisateur',\n STEPPER_TITLE_PERSONAL:'Personnelle',\n STEPPER_SUB_TITLE_PERSONAL:'Entrez les informations',\n HEADING_ACCOUNT:'Information sur le compte',\n HEADING_PERSONAL:'Renseignements personnels',\n HEADING_SELECTPLAN:'Sélectionnez le plan',\n CONTROL_LABEL_USERID:'ID utilisateur Noosom',\n CONTROL_LABEL_EMAILADDRESS:'Adresse e-mail',\n CONTROL_LABEL_PASSWORD:'Mot de passe',\n CONTROL_LABEL_CONFIRMPASSWORD:'Confirmer votre mot de passe',\n CONTROL_LABEL_REGION:'Votre région',\n CONTROL_LABEL_HOMECOUNTRY:'Votre pays',\n CONTROL_LABEL_FIRSTNAME:'Prénom',\n CONTROL_LABEL_MIDDLENAME:'Deuxième nom',\n CONTROL_LABEL_LASTNAME:'Nom de famille',\n CONTROL_LABEL_BIRTHDATE:'Date de naissance',\n CONTROL_LABEL_MOBILENO:'Mobile Non',\n CONTROL_LABEL_SELECTPLAN:'Gratuit pour l\\'instant, ou achetez plus tard.',\n PLACEHOLDER_TYPEHERE:'Écrivez ici...',\n PLACEHOLDER_PASSWORD:'Mot de passe',\n PLACEHOLDER_REGION:'Choisissez une région',\n PLACEHOLDER_COUNTRY:'Choisissez le pays',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Précédente',\n BUTTON_TEXT_NEXT:'Prochaine',\n BUTTON_TEXT_SUBMIT:'Soumettre',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Vos données seront stockées',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'dans la région sélectionnée',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'Sélectionnez le pays',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Compte créé avec succès.',\n ERROR_MESSAGE_REQUIRED_USERID:'Le champ nom d\\'utilisateur est!',\n ERROR_MESSAGE_EXISTED_USERID:'Ce nom d\\'utilisateur a été pris. Veuillez en essayer un autre.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'Le champ adresse e-mail est!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Cette adresse e-mail a été prise. Veuillez en essayer un autre.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Le champ mot de passe est!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Doit contenir au moins un chiffre, une lettre majuscule et minuscule et un minimum de 8 caractères ou plus.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'Le mot de passe répété doit correspondre.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'Le champ de confirmation du mot de passe est!',\n ERROR_MESSAGE_REQUIRED_REGION:'Le champ région est!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'Le champ du pays',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'Le champ prénom est!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'Le champ du deuxième prénom est!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'Le champ nom de famille est!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'Le champ date de naissance est!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'Le mobile aucun champ n\\'est requis!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Veuillez sélectionner l\\'option de forfait gratuit!'\n }\n }\n};\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'de',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Es konnte keine Verbindung zum Server hergestellt werden.'\n },\n SIGNIN: {\n MOTIVATION_BADGE_SIGNIN:'Melden Sie sich an und starten Sie das Abenteuer',\n WELCOME_TEXT: 'Willkommen bei Noosom',\n CONTROL_LABEL_EMAIL:'E-Mail-Addresse',\n CONTROL_LABEL_PASSWORD:'Passwort',\n CONTROL_LABEL_REMEMBERME:'Erinnere dich an mich',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Haben Sie Ihr Passwort vergessen?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Ein Konto erstellen',\n TEXT_NEWONPLATFORM:'Neu auf unserer Plattform?',\n BUTTON_TEXT_LOGIN:'Anmeldung',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Sie haben sich erfolgreich als {0}-Benutzer bei Noosom angemeldet. Jetzt können Sie mit der Erkundung beginnen. Genießen! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Willkommen, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'Das E-Mail-Feld ist!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Das Passwortfeld ist!',\n ERROR_MESSAGE_INVALID_EMAIL:'E-Mail muss eine gültige E-Mail-Adresse sein',\n ERROR_MESSAGE_NOATTEMPTS:'Ungültiger Benutzername oder ungültiges Passwort.
Sie haben keine weiteren Versuche mehr.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Ihre E-Mail-Adresse wurde nicht verifiziert.
überprüfen Sie zuerst Ihre E-Mail-Adresse.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Dein Account wurde gesperrt.'},\n {ErrorCode:0,ErrorMessage:'Eingeloggt erfolgreich.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Ungültiger Benutzername oder ungültiges Passwort. Sie haben noch {0} Versuche.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administratorin'},{titlle:'Client',value:'Klientin'},{title:'User',value:'Benutzer'}]\n },\n SIGNUP:\n {\n MOTIVATION_BADGE_SIGNUP:'Melden Sie sich an und starten Sie das Abenteuer',\n STEPPER_TITLE_ACCOUNT:'Konto',\n STEPPER_SUB_TITLE_ACCOUNT:'Benutzernamen eingeben',\n STEPPER_TITLE_PERSONAL:'persönlich',\n STEPPER_SUB_TITLE_PERSONAL:'Information eingeben',\n HEADING_ACCOUNT:'Kontoinformationen',\n HEADING_PERSONAL:'Persönliche Informationen',\n HEADING_SELECTPLAN:'Plan auswählen',\n CONTROL_LABEL_USERID:'Noosom-Benutzer-ID',\n CONTROL_LABEL_EMAILADDRESS:'E-Mail-Addresse',\n CONTROL_LABEL_PASSWORD:'Passwort',\n CONTROL_LABEL_CONFIRMPASSWORD:'Bestätigen Sie Ihr Passwort',\n CONTROL_LABEL_REGION:'Ihre Region',\n CONTROL_LABEL_HOMECOUNTRY:'Ihr land',\n CONTROL_LABEL_FIRSTNAME:'Vorname',\n CONTROL_LABEL_MIDDLENAME:'Zweiter Vorname',\n CONTROL_LABEL_LASTNAME:'Nachname',\n CONTROL_LABEL_BIRTHDATE:'Geburtsdatum',\n CONTROL_LABEL_MOBILENO:'Handy-Nr',\n CONTROL_LABEL_SELECTPLAN:'Jetzt für immer kostenlos oder später kaufen.',\n PLACEHOLDER_TYPEHERE:'Geben Sie hier ein ...',\n PLACEHOLDER_PASSWORD:'Passwort',\n PLACEHOLDER_REGION:'Region wählen',\n PLACEHOLDER_COUNTRY:'Land auswählen',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Vorherige',\n BUTTON_TEXT_NEXT:'Nächste',\n BUTTON_TEXT_SUBMIT:'Einreichen',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Ihre Daten werden gespeichert',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'in der ausgewählten Region',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'land auswählen',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Konto erfolgreich erstellt.',\n ERROR_MESSAGE_REQUIRED_USERID:'Das Feld „Benutzername“ ist! Das Feld „E-Mail“ ist',\n ERROR_MESSAGE_EXISTED_USERID:'Dieser Benutzername wurde vergeben. Bitte versuchen Sie es mit einem anderen.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'Das Feld für die E-Mail-Adresse ist!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Diese E-Mail-Adresse wurde übernommen. Bitte versuchen Sie es mit einem anderen.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Das Passwortfeld ist!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Muss mindestens eine Zahl, einen Groß- und Kleinbuchstaben und mindestens 8 Zeichen enthalten.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'Passwort wiederholen muss übereinstimmen.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'Das Feld Passwort bestätigen ist!',\n ERROR_MESSAGE_REQUIRED_REGION:'Das Regionsfeld ist!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'Das Feld land ist!',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'Das Vornamensfeld ist!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'Das Feld für den zweiten Vornamen ist!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'Das Feld Nachname ist!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'Das Feld Geburtsdatum ist!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'Das Handy ist kein Pflichtfeld!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Bitte wählen Sie die kostenlose Planoption!',\n }\n }\n};\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'pt',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Não foi possível conectar com o servidor'\n },\n SIGNIN: {\n WELCOME_TEXT: 'Bem-vindo ao Noosom',\n MOTIVATION_BADGE_SIGNIN:'Faça login e comece a aventura',\n CONTROL_LABEL_EMAIL:'Endereço de email',\n CONTROL_LABEL_PASSWORD:'Senha',\n CONTROL_LABEL_REMEMBERME:'Lembre de mim',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Esqueceu sua senha?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Crie a sua conta aqui',\n TEXT_NEWONPLATFORM:'Novo em nossa plataforma?',\n BUTTON_TEXT_LOGIN:'Conecte-se',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Você fez login com sucesso como um usuário {0} no Noosom. Agora você pode começar a explorar. Apreciar! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Bem-vindo, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'O campo de e-mail!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'O campo de senha!',\n ERROR_MESSAGE_INVALID_EMAIL:'O e-mail deve ser um endereço de e-mail válido',\n ERROR_MESSAGE_NOATTEMPTS:'Nome de usuário ou senha inválidos. Não há tentativas restantes.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Seu endereço de e-mail não foi verificado.
primeiro varie seu endereço de e-mail.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Sua conta foi bloqueada.'},\n {ErrorCode:0,ErrorMessage:'Logado com sucesso.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Nome de usuário ou senha inválidos.
Você tem {0} tentativas restantes.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administrador'},{titlle:'Client',value:'Cliente'},{title:'User',value:'Do utilizador'}]\n },\n SIGNUP:\n {\n STEPPER_TITLE_ACCOUNT:'Conta',\n STEPPER_SUB_TITLE_ACCOUNT:'Insira nome de usuário',\n STEPPER_TITLE_PERSONAL:'Pessoal',\n STEPPER_SUB_TITLE_PERSONAL:'Insira as informações',\n HEADING_ACCOUNT:'Informação da conta',\n HEADING_PERSONAL:'Informação pessoal',\n HEADING_SELECTPLAN:'Selecione o plano',\n CONTROL_LABEL_USERID:'ID de usuário Noosom',\n CONTROL_LABEL_EMAILADDRESS:'Endereço de email',\n CONTROL_LABEL_PASSWORD:'Senha',\n CONTROL_LABEL_CONFIRMPASSWORD:'Confirme sua senha',\n CONTROL_LABEL_REGION:'Sua região',\n CONTROL_LABEL_HOMECOUNTRY:'Seu país de',\n CONTROL_LABEL_FIRSTNAME:'Primeiro nome',\n CONTROL_LABEL_MIDDLENAME:'Nome do meio',\n CONTROL_LABEL_LASTNAME:'Sobrenome',\n CONTROL_LABEL_BIRTHDATE:'Data de nascimento',\n CONTROL_LABEL_MOBILENO:'Celular não',\n CONTROL_LABEL_SELECTPLAN:'Grátis para sempre por agora, ou compre mais tarde.',\n PLACEHOLDER_TYPEHERE:'Digite aqui...',\n PLACEHOLDER_PASSWORD:'Senha',\n PLACEHOLDER_REGION:'Selecione a região',\n PLACEHOLDER_COUNTRY:'Selecione o pais',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Anterior',\n BUTTON_TEXT_NEXT:'Próxima',\n BUTTON_TEXT_SUBMIT:'Enviar',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Seus dados serão armazenados',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'na região selecionada',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'Selecione o país de',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Conta criada com sucesso.',\n ERROR_MESSAGE_REQUIRED_USERID:'O campo de nome de usuário!',\n ERROR_MESSAGE_EXISTED_USERID:'Esse nome de usuário foi usado. Por favor, tente outro.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'O campo de endereço de e-mail!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Esse endereço de e-mail foi usado. Por favor, tente outro.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'O campo de senha!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Deve conter pelo menos um número, uma letra maiúscula e uma minúscula e um mínimo de 8 ou mais caracteres.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'A senha repetida deve corresponder.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'O campo de confirmação de senha!',\n ERROR_MESSAGE_REQUIRED_REGION:'O campo região!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'O campo do país de!',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'O campo de nome!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'O campo de nome do meio!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'O campo sobrenome!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'O campo data de nascimento!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'O celular nenhum campo!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Selecione a opção de plano gratuito!'\n }\n }\n};\n","import { Status } from \"app/enums\";\r\n\r\nexport const locale = {\r\n lang: 'gj',\r\n data: {\r\n COMMON:{\r\n ERROR_MESSAGE_CONNECTIONREFUSED:'સર્વર સાથે કનેક્ટ કરી શકાયું નથી'\r\n },\r\n SIGNIN: {\r\n WELCOME_TEXT: 'નૂસોમ માં આપનું સ્વાગત છે',\r\n MOTIVATION_BADGE_SIGNIN:'સાઇન ઇન કરો અને સાહસ શરૂ કરો',\r\n CONTROL_LABEL_EMAIL:'ઈ - મેઈલ સરનામું',\r\n CONTROL_LABEL_PASSWORD:'પાસવર્ડ',\r\n CONTROL_LABEL_REMEMBERME:'મને યાદ રાખો',\r\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\r\n LINK_TEXT_LABEL_FORGOTPASSWORD:'તમારો પાસવર્ડ ભૂલી ગયા છો?',\r\n LINK_TEXT_LABEL_CREATEACCOUNT:'એક ખાતુ બનાવો',\r\n TEXT_NEWONPLATFORM:'અમારા પ્લેટફોર્મ પર નવા છો?',\r\n BUTTON_TEXT_LOGIN:'પ્રવેશ કરો',\r\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'તમે Noosom માં {0} વપરાશકર્તા તરીકે સફળતાપૂર્વક લૉગ ઇન કર્યું છે. હવે તમે અન્વેષણ કરવાનું શરૂ કરી શકો છો. આનંદ માણો! 🎉',\r\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 સ્વાગત છે, {0}!',\r\n ERROR_MESSAGE_REQUIRED_EMAIL:'ઈમેલ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_PASSWORD:'પાસવર્ડ આવશ્યક છે!',\r\n ERROR_MESSAGE_INVALID_EMAIL:'ઇમેઇલ એક માન્ય ઇમેઇલ સરનામું હોવું આવશ્યક છે',\r\n ERROR_MESSAGE_NOATTEMPTS:'અમાન્ય વપરાશકર્તાનામ અથવા પાસવર્ડ. તમારી પાસે કોઈ પ્રયાસો બાકી નથી.',\r\n LOGIN_STATUS:\r\n [\r\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'તમારું ઇમેઇલ સરનામું ચકાસાયેલ નથી.
પહેલા તમારું ઇમેઇલ સરનામું બદલો.'},\r\n {ErrorCode:Status.AccountLocked,ErrorMessage:'તમારું એકાઉન્ટ લોક કરી દેવામાં આવ્યું છે.'},\r\n {ErrorCode:0,ErrorMessage:'લૉગ-ઇન સફળ.'},\r\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'અમાન્ય વપરાશકર્તાનામ અથવા પાસવર્ડ.
તમારી પાસે {0} પ્રયાસો બાકી છે.'}\r\n ],\r\n DIGITS:[\"૧\",\"૨\",\"૩\",\"૪\"],\r\n ROLES:[{title:'Admin',value:'એડમિન'},{titlle:'Client',value:'ક્લાયન્ટ'},{title:'User',value:'વપરાશકર્તા'}]\r\n },\r\n SIGNUP:\r\n {\r\n MOTIVATION_BADGE_SIGNUP:'સાઇન અપ કરો અને સાહસ શરૂ કરો',\r\n STEPPER_TITLE_ACCOUNT:'એકાઉન્ટ',\r\n STEPPER_SUB_TITLE_ACCOUNT:'વપરાશકર્તા નામ દાખલ કરો',\r\n STEPPER_TITLE_PERSONAL:'અંગત',\r\n STEPPER_SUB_TITLE_PERSONAL:'માહિતી દાખલ કરો',\r\n HEADING_ACCOUNT:'ખાતાની માહિતી',\r\n HEADING_PERSONAL:'વ્યક્તિગત માહિતી',\r\n HEADING_SELECTPLAN:'પ્લાન પસંદ કરો',\r\n CONTROL_LABEL_USERID:'નૂસોમ વપરાશકર્તા આઈડી',\r\n CONTROL_LABEL_EMAILADDRESS:'ઈ - મેઈલ સરનામું',\r\n CONTROL_LABEL_PASSWORD:'પાસવર્ડ',\r\n CONTROL_LABEL_CONFIRMPASSWORD:'તમારા પાસવર્ડની ખાતરી કરો',\r\n CONTROL_LABEL_REGION:'તમારો પ્રદેશ',\r\n CONTROL_LABEL_HOMECOUNTRY:'તમારો દેશ',\r\n CONTROL_LABEL_FIRSTNAME:'પ્રથમ નામ',\r\n CONTROL_LABEL_MIDDLENAME:'પિતાનું નામ',\r\n CONTROL_LABEL_LASTNAME:'છેલ્લું નામ',\r\n CONTROL_LABEL_BIRTHDATE:'જન્મ તારીખ',\r\n CONTROL_LABEL_MOBILENO:'મોબાઈલ નમ્બર',\r\n CONTROL_LABEL_SELECTPLAN:'હમણાં માટે હંમેશ માટે મફત, અથવા પછીથી ખરીદો.',\r\n PLACEHOLDER_TYPEHERE:'અહી લખો...',\r\n PLACEHOLDER_PASSWORD:'પાસવર્ડ',\r\n PLACEHOLDER_REGION:'પ્રદેશ પસંદ કરો',\r\n PLACEHOLDER_COUNTRY:'દેશ પસંદ કરો',\r\n PLACEHOLDER_TELEPHONENUMBER:'૦૧૨૩૪૫૬૭૮૯',\r\n BUTTON_TEXT_PREVIOUS:'અગાઉના',\r\n BUTTON_TEXT_NEXT:'આગળ',\r\n BUTTON_TEXT_SUBMIT:'સબમિટ કરો',\r\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'તમારો ડેટા પસંદ કરેલ પ્રદેશમાં',\r\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'સંગ્રહિત કરવામાં આવશે',\r\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'દેશ પસંદ કરો',\r\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'એકાઉન્ટ સફળતાપૂર્વક બનાવ્યું.',\r\n ERROR_MESSAGE_REQUIRED_USERID:'યુઝરનેમ આવશ્યક છે!',\r\n ERROR_MESSAGE_EXISTED_USERID:'તે વપરાશકર્તા નામ લેવામાં આવ્યું છે. કૃપા કરીને બીજો પ્રયાસ કરો.',\r\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'ઈમેલ એડ્રેસ ફીલ્ડ છે!',\r\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'તે ઈમેલ એડ્રેસ લેવામાં આવ્યું છે. કૃપા કરીને બીજો પ્રયાસ કરો.',\r\n ERROR_MESSAGE_REQUIRED_PASSWORD:'પાસવર્ડ ફીલ્ડ છે!',\r\n ERROR_MESSAGE_INVALID_PASSWORD:'ઓછામાં ઓછા એક નંબર, એક અપરકેસ અને લોઅરકેસ અક્ષર અને ઓછામાં ઓછા 8 અથવા વધુ અક્ષરો હોવા જોઈએ.',\r\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'પુનરાવર્તિત પાસવર્ડ મેળ ખાતો હોવો જોઈએ.',\r\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'કન્ફર્મ પાસવર્ડ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_REGION:'પ્રદેશ ક્ષેત્ર આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'દેશ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'પ્રથમ નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'મધ્યમ નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_LASTNAME:'છેલ્લું નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'જન્મ તારીખ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_MOBILENO:'મોબાઇલ નંબર આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'કૃપા કરીને ફ્રી પ્લાન વિકલ્પ પસંદ કરો!'\r\n }\r\n }\r\n };\r\n ","import { Status } from \"app/enums\";\r\n\r\nexport const locale = {\r\n lang: 'hn',\r\n data: {\r\n COMMON: {\r\n CONTROL_LABEL_EMAIL_ADDRESS: 'ईमेल पता',\r\n PLACEHOLDER_EMAIL_ADDRESS: 'यहाँ लिखो...',\r\n PLACEHOLDER_TYPE_HERE: 'यहाँ लिखो...',\r\n PLACEHOLDER_MOBILE_NUMBER: '०१२३४५६७८९',\r\n BUTTON_TEXT_SAVE_CHANGES: 'परिवर्तनों को सुरक्षित करें',\r\n ERROR_MESSAGE_REQUIRED_EMAIL_ADDRESS: 'ईमेल की आवश्यकता है!',\r\n ERROR_MESSAGE_INVALID_EMAIL: 'कृपया अपना ईमेल पता प्रारूप में दर्ज करें:\\nyourname@example.com',\r\n ERROR_MESSAGE_CONNECTIONREFUSED: 'सर्वर से कनेक्ट नहीं हो सका.',\r\n COMMON_STATUS:\r\n [\r\n { ErrorCode: Status.UserNotFound, ErrorMessage: 'उपयोगकर्ता नहीं मिल सका।' }\r\n ],\r\n },\r\n INSURANCE: {\r\n BUTTON_TEXT_SAVE_AND_CLOSE: 'सहेजें और बंद करें',\r\n BUTTON_TEXT_SAVE_AND_NEXT: 'सहेजें और अगला',\r\n BUTTON_TEXT_ABANDON: 'छोड़ देना',\r\n BUTTON_TEXT_SAVE_CHANGES: 'परिवर्तनों को सुरक्षित करें',\r\n BUTTON_TEXT_CANCEL: 'रद्द करें',\r\n BUTTON_TEXT_UPLOAD_ALL: 'सभी अपलोड करें',\r\n BUTTON_TEXT_PAUSE_ALL: 'सभी को रोकें',\r\n BUTTON_TEXT_DOWNLOAD_ALL: 'सभी डाउनलोड',\r\n BUTTON_TEXT_REMOVE_ALL: 'सभी हटाएं',\r\n CONTROL_LABEL_INSURANCE_TYPE: 'बीमा प्रकार',\r\n CONTROL_LABEL_INSURANCE_NAME: 'बीमा का नाम',\r\n CONTROL_LABEL_POLICY_NUMBER: 'पॉलिसी संख्या',\r\n CONTROL_LABEL_CARD_NUMBER: 'कार्ड नंबर',\r\n CONTROL_LABEL_INSURANCE_CONTACT_NUMBER: 'बीमा संपर्क नंबर',\r\n CONTROL_LABEL_POLICY_START_DATE: 'पॉलिसी प्रारंभ तिथि',\r\n CONTROL_LABEL_POLICY_EXPIRATION_DATE: 'पॉलिसी समाप्ति तिथि',\r\n CONTROL_LABEL_MULTIPLE: 'विभिन्न',\r\n CONTROL_LABEL_NOTES: 'टिप्पणियाँ',\r\n COLUMN_HEADING_NAME: 'नाम',\r\n COLUMN_HEADING_SIZE: 'आकार',\r\n COLUMN_HEADING_PROGRESS: 'प्रगति',\r\n COLUMN_HEADING_STATUS: 'स्थति',\r\n COLUMN_HEADING_DATE_CREATED: 'निर्माण की तिथि',\r\n COLUMN_HEADING_TYPE: 'प्रकार',\r\n COLUMN_HEADING_ACTIONS: 'कार्रवाई',\r\n DIALOG_TITLE_ADD_INSURANCE: 'एक बीमा जोड़ें',\r\n DIALOG_TITLE_EDIT_INSURANCE: 'एक बीमा संपादित करें',\r\n ERROR_MESSAGE_REQUIRED_INSURANCE_TYPE: 'बीमा प्रकार आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_INSURANCE_NAME: 'बीमा नाम आवश्यक है!',\r\n ERROR_MESSAGE_MAX_LENGTH_50: 'आपने बहुत अधिक वर्ण टाइप किए हैं, अधिकतम अनुमत 50 है',\r\n ERROR_MESSAGE_MAX_LENGTH_100: 'आपने बहुत अधिक वर्ण टाइप किए हैं, अधिकतम अनुमत 100 है',\r\n ERROR_MESSAGE_MAX_LENGTH_12: 'आपने बहुत अधिक वर्ण टाइप किए हैं, अधिकतम अनुमत 12 है',\r\n ERROR_MESSAGE_REQUIRED_POLICY_NUMBER: 'पॉलिसी संख्या आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_CARD_NUMBER: 'कार्ड संख्या आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_CONTACT_NUMBER: 'संपर्क नंबर आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_POLICY_START_DATE: 'पॉलिसी प्रारंभ दिनांक आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_POLICY_EXPIRATION_DATE: 'पॉलिसी समाप्ति दिनांक आवश्यक है!',\r\n ERROR_MESSAGE_INVALID_CONTACT_NUMBER: 'अमान्य संपर्क नंबर!',\r\n HEADING_TEXT_SELECT_IMAGES: 'दस्तावेज़ का चयन करें',\r\n HEADING_TEXT_UPLOAD_QUEUE: 'अपलोड कतार',\r\n HEADING_TEXT_QUEUE_PROGRESS: 'कतार प्रगति',\r\n PLACEHOLDER_SELECT_INSURANCE_TYPE: 'बीमा प्रकार का चयन करें',\r\n PLACEHOLDER_SELECT_INSURANCE_NAME: 'बीमा नाम का चयन करें',\r\n PLACEHOLDER_CHOOSE_FILES: 'फ़ाइलों का चयन करें',\r\n SECTION_TEXT: 'अपने किसी बीमा के बारे में कुछ जानकारी जोड़ें',\r\n SECTION_TEXT1: 'कुछ दस्तावेज़ का चयन करें। आप उन्हें एक-एक करके अपलोड कर सकते हैं या सभी को एक साथ अपलोड करने का चयन कर सकते हैं।',\r\n SECTION_TEXT2: 'आपके सभी दस्तावेज़ यहाँ सूची में प्रदर्शित किए जाएंगे। आप उन्हें व्यक्तिगत रूप से डाउनलोड या हटा सकते हैं।',\r\n SECTION_TEXT3: 'इस बीमा के लिए जो भी विशिष्ट टिप्पणियाँ हैं, वो जोड़ें।',\r\n SWEET_ALERT_TITLE_ADDRESS_DOCUMENT_TEXT: 'क्या आप सुनिश्चित हैं, आप इस बीमा दस्तावेज़ को हटाना चाहते हैं?',\r\n SWEET_ALERT_TITLE_ALL_ADDRESS_DOCUMENT_TEXT: 'क्या आप सुनिश्चित हैं, आप इन सभी बीमा दस्तावेज़ों को हटाना चाहते हैं?',\r\n SWEET_ALERT_TITLE_INSURANCE_TEXT: 'क्या आप सुनिश्चित हैं कि आप इस बीमा और इससे जुड़े सभी अनुलग्नकों को हटाना चाहते हैं?',\r\n SWEET_ALERT_TEXT: \"आप इसे पूर्ववत नहीं कर पाएंगे!\",\r\n SWEET_ALERT_CONFIRM_BUTTON_TEXT: 'हाँ, मिटा दो!',\r\n SWEET_ALERT_CANCEL_BUTTON_TEXT: 'रद्द करना',\r\n SWEET_ALERT_TEXT_DELETED: 'हटा दिया!',\r\n SWEET_ALERT_CONFIRM_BUTTON_TEXT_OKAY: 'ओके',\r\n TAB_HEADING_INSURANCE_DETAILS: 'बीमा विवरण',\r\n TAB_HEADING_UPLOADS: 'अपलोड करें',\r\n TAB_HEADING_DOCUMENTS: 'दस्तावेज़',\r\n TAB_HEADING_NOTES: 'टिप्पणियाँ',\r\n TOOLTIP_TOGGLE_CALENDAR: 'कैलेंडर टॉगल करें',\r\n TOOLTIP_TEXT_BUTTON_DOWNLOAD: 'डाउनलोड',\r\n TOOLTIP_TEXT_BUTTON_VIEW: 'देखें',\r\n TOOLTIP_TEXT_BUTTON_DELETE: 'हटाएँ',\r\n TOOLTIP_TEXT_INSURANCE_TYPE: 'इंश्योरेंस प्रकार चुनें',\r\n TOOLTIP_TEXT_INSURANCE_NAME: 'अपने दस्तावेज़ों से बीमा का नाम दर्ज करें',\r\n TOOLTIP_TEXT_POLICY_NUMBER: 'अपने दस्तावेज़ों से नीति संख्या दर्ज करें',\r\n TOOLTIP_TEXT_CARD_NUMBER: 'अपने दस्तावेज़ों से कार्ड संख्या दर्ज करें',\r\n TOOLTIP_TEXT_BUTTON_CLOSE: 'बंद करना',\r\n TOOLTIP_TEXT_INSURANCE_CONTACT_NUMBER: 'अपने दस्तावेज़ों से बीमा संपर्क नंबर दर्ज करें',\r\n TOOLTIP_TEXT_POLICY_START_DATE: 'अपने दस्तावेज़ों से नीति प्रारंभ तिथि दर्ज करें',\r\n TOOLTIP_TEXT_POLICY_EXPIRATION_DATE: 'अपने दस्तावेज़ों से नीति समाप्ति तिथि दर्ज करें',\r\n TOAST_MESSAGE_INSURANCE_ADDED_SUCCESSFULLY: 'बीमा सफलतापूर्वक जोड़ा गया है।',\r\n TOAST_MESSAGE_INSURANCE_UPDATED_SUCCESSFULLY: 'बीमा सफलतापूर्वक अपडेट किया गया है।',\r\n TEXT_FILE_TYPES: 'अनुमत फ़ाइल प्रकार:',\r\n TEXT_QUEUE_LENGTH: 'कतार की लंबाई:',\r\n TEXT_MB: 'MB',\r\n\r\n },\r\n }\r\n};\r\n","import {InsuranceTypeListOutputModel} from 'app/Models/insurancetype.model'\nexport class Insurance {\n}\nexport class TblUserInsurances\n{\n\t UserInsuranceId: number;\n UserDetailsId: number;\n InsuranceTypeId: number;\n InsuranceName: string;\n PolicyNumber: string;\n CardNumber: string;\n ContactNumber: string;\n ContactNumberCountryCode: string;\n PolicyStartDate:string;\n PolicyEndDate:string;\n Notes:string;\n CreatedDate:string;\n CreatedTime:string;\n CreatedBy: number;\n ChangedDate:string;\n ChangedTime:string;\n ChangedBy: number;\n}\nexport class InsuranceModel\n{\n UserInsuranceId: number;\n UserDetailsId: number;\n InsuranceTypeId: number;\n InsuranceName: string;\n InsuranceTypeName:string;\n InsuranceStatusName:string;\n PolicyNumber: string;\n CardNumber: string;\n ContactNumber: string;\n ContactNumberCountryCode: string;\n PolicyStartDate: string;\n PolicyEndDate: string;\n Notes: string;\n CreatedDate:string;\n CreatedTime:string;\n CreatedBy: number;\n ChangedDate:string;\n ChangedTime:string;\n ChangedBy: number;\n //InsuranceTypeName: string;\n}\nexport class InsuranceLoadDataOutputModel\n{\n UserInsurance:TblUserInsurances;\n InsuranceTypeList: Array;\n InsuranceDocumentList: Array ;\n} \nexport class InsuranceDocumentListOutputModel\n{\n DocumentId: number;\n UserDetailsId: number;\n UserInsuranceId: number;\n DocumentName: string;\n DocumentOldName: string;\n DocumentPath: string;\n DocumentSubType: string;\n Size: string;\n DocumentType: string;\n CreatedDate:Date;\n CreatedTime:Date;\n CreatedBy: number;\n ChangedDate:Date;\n ChangedTime:Date;\n ChangedBy:number;\n}\n","import { AfterViewInit, Component, OnInit, Inject, ViewChild, ElementRef, ChangeDetectorRef, AfterViewChecked, Pipe, PipeTransform } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { locale as english } from 'app/insurance/add-insurance/i18n/en';\nimport { locale as french } from 'app/insurance/add-insurance/i18n/fr';\nimport { locale as german } from 'app/insurance/add-insurance/i18n/de';\nimport { locale as portuguese } from 'app/insurance/add-insurance/i18n/pt';\nimport { locale as gujarati } from 'app/insurance/add-insurance/i18n/gj';\nimport { locale as hindi } from 'app/insurance/add-insurance/i18n/hn';\nimport { CoreTranslationService } from '@core/services/translation.service';\nimport { CoreConfigService } from '@core/services/config.service';\nimport { retry, takeUntil } from 'rxjs/operators';\nimport { AddInsuranceService } from './add-insurance.service'\nimport { Observable, Subject } from 'rxjs';\nimport { FileItem, FileUploader } from 'ng2-file-upload';\nimport { Constant } from 'app/Classes/constant';\nimport { InsuranceLoadDataOutputModel, TblUserInsurances, InsuranceModel, InsuranceDocumentListOutputModel } from './insurance.model'\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MatDialog, MatDialogConfig } from \"@angular/material/dialog\";\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\nimport { AuthenticationService } from 'app/auth/service';\nimport { E } from 'assets/extensions/extensions';\nimport { LoadingScreenService } from 'app/Services/loading-screen.service';\nimport { GlobalService } from 'app/Services/global.service';\nimport { Status, Enums, MapModalType, RecordsType } from 'app/enums';\nimport { CustomToastrService } from 'app/Services/custom-toastr.service';\nimport { CountryISO } from 'ngx-intl-tel-input';\nimport Swal from 'sweetalert2';\nimport { DeleteInputModel, DownloadFileInputModel, DownloadFileOutputModel } from 'app/Models/output-model';\nimport { _ } from 'ag-grid-community';\nimport { NgSelectComponent } from '@ng-select/ng-select';\nimport { NgbNav } from '@ng-bootstrap/ng-bootstrap';\nimport { Router } from '@angular/router';\nimport { SelectSyncFileManagerComponent } from 'app/sync-file-manager/select-sync-file-manager/select-sync-file-manager.component';\n\n@Component({\n selector: 'app-add-insurance',\n templateUrl: './add-insurance.component.html',\n styleUrls: ['./add-insurance.component.scss']\n})\nexport class AddInsuranceComponent implements OnInit, AfterViewChecked {\n @ViewChild('InsuranceType') InsuranceType:NgSelectComponent;\n @ViewChild('notes') notes:ElementRef;\n @ViewChild('nav') nav: NgbNav;\n @ViewChild('fileInput') fileInput;\n _ImageUrlAPI: string = Constant.API + 'api/UserInsurance/UploadUserInsuranceDocuments';\n public uploader: FileUploader = new FileUploader({\n url: this._ImageUrlAPI,\n isHTML5: true,\n method: \"PUT\",\n itemAlias: \"MultiFileUploaderInsurance\",\n disableMultipart: false, // 'DisableMultipart' must be 'true' for formatDataFunction to be called.\n formatDataFunction: (item: FileItem) => item._file,\n formatDataFunctionIsAsync: false,\n maxFileSize: 1 * 1024 * 1024 * 1024,\n //Notes: do not add headers here.\n authToken: `Bearer ` + this.authenticationService.currentUserValue.Token,\n allowedFileType: [\"pdf\"]//, \"doc\", \"docx\", \"xls\", \"xlsx\", \"ppt\"\n });\n public loading = false;\n public submitted = false;\n uploaderWarning:boolean=false;\n forgotuploadWarning:boolean=false;\n public coreConfig: any;\n public dialogTitle: string;\n public frmInsurance: FormGroup;\n public IsForEdit: boolean = false;\n public IsForAbandon: boolean = false;\n public error = '';\n public maxToDate: Date = new Date();\n public maxFromDate: Date = new Date();\n currentAppLanguage: any;\n _data: number = 0;\n private _unsubscribeAll: Subject;\n SelectedCountryISO: CountryISO;\n insuranceLoadDataOutputModel: InsuranceLoadDataOutputModel = new InsuranceLoadDataOutputModel();\n userInsurance: TblUserInsurances;\n insurance: InsuranceModel;\n public DocumentList: InsuranceDocumentListOutputModel[] = [];\n public DocumentList1: InsuranceDocumentListOutputModel[] = [];\n public deleteDocumentsInputModel: Array = [];\n public downloadFileInputModel: DownloadFileInputModel;\n deleteInputModel: DeleteInputModel = new DeleteInputModel();\n public tab = 1;\n infoTooltip: string;\n dateformat: string;\n uploadCount=0;\n constructor(\n private dialogRef: MatDialogRef,\n private _coreTranslationService: CoreTranslationService,\n private addInsurance: AddInsuranceService,\n private _coreConfigService: CoreConfigService,\n private _formBuilder: FormBuilder,\n private encrDecr: EncrDecrService,\n private dialog: MatDialog,\n private authenticationService: AuthenticationService,\n private loadingScreenService: LoadingScreenService,\n private globalService: GlobalService,\n private _toastrService: CustomToastrService,\n private readonly changeDetectorRef: ChangeDetectorRef,\n private _router:Router,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) {\n this._coreTranslationService.translate(english, french, german, portuguese, gujarati, hindi);\n this._unsubscribeAll = new Subject();\n this._data = data;\n this.dateformat=this.globalService.getDateFormat().toUpperCase()\n }\n ngAfterViewInit(): void {\n setTimeout(() => {\n if(this.InsuranceType)\n this.InsuranceType.focus();\n if(this.notes){\n this.notes.nativeElement.focus();\n }\n }, 500);\n \n }\n ngOnInit(): void {\n // console.log(this._ImageUrlAPI)\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n this.currentAppLanguage = this.GetCurrentLanguageJsonObject(this.coreConfig.app.appLanguage);\n this.dialogTitle = this.currentAppLanguage.data.INSURANCE.DIALOG_TITLE_ADD_INSURANCE;\n this.infoTooltip= this.currentAppLanguage.data.INSURANCE.SECTION_TEXT;\n this.frmInsurance = this._formBuilder.group({\n InsuranceTypeId: [, Validators.required],\n InsuranceName: [, Validators.required],\n PolicyNumber: [],\n CardNumber: [],\n ContactNumber: [],\n PolicyStartDate: [],\n PolicyEndDate: [],\n Notes: [],\n });\n //console.log(this.frmInsurance)\n this.uploader.onAfterAddingFile = (file: any) => {\n if((this.uploader.queue.length>0) && (this.uploader.isUploading==false)){\n this.forgotuploadWarning=true;}\n file.withCredentials = false;\n };\n this.uploader.onBuildItemForm = (fileItem: any, form: any) => {\n fileItem.withCredentials = false;\n };\n this.uploader.onBeforeUploadItem = (fileItem) => {\n this.loadingScreenService.startLoading();\n this.uploader.setOptions({\n headers: [\n { name: 'Access-Control-Allow-Origin', value: \"*\" },\n { name: 'FileSize', value: fileItem.file.size },\n { name: 'UserDetailsID', value: E.ConvertToString(this.authenticationService.currentUserValue.UserDetailsId) },\n { name: 'UserInsuranceID', value: E.ConvertToString(this._data) }]\n });\n //this.uploader.setOptions({ url: fileItem.url + fileItem.file.name });\n return fileItem;\n };\n // this.uploader.onCompleteItem = (item: any, response: any, status: any, headers: any) => {\n // alert('File uploaded');\n // };\n this.uploader.response.subscribe(result => {\n // console.log(result)\n if (result) {\n this.loadingScreenService.startLoading();\n let _result = JSON.parse(result);\n if(this.uploader.progress!=100){\n this.loadingScreenService.startLoading();\n this.uploaderWarning=true;\n // console.log(this.uploaderWarning)\n }else if(this.uploader.progress==100){\n this.uploaderWarning=false;\n this.forgotuploadWarning=false;\n // this.onSubmit(tabs)\n //this.uploadCount = 0;\n this.loadingScreenService.stopLoading();\n }\n if (_result.status == Status.Success) {\n this._toastrService.Success(\"File Uploaded Successfully\")\n this.uploadCount = this.uploadCount+1;\n let _InsuranceDocument = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, _result.data));\n this.DocumentList.push(_InsuranceDocument);\n this.DocumentList1.push(_InsuranceDocument);\n }\n else if(_result.status == Status.StorageFull){\n // this.uploader.destroy();\n this.loadingScreenService.stopLoading();\n this.uploader.cancelAll();\n // this.uploader.removeFromQueue();\n // this.uploader.cancelItem()\n this.uploader.clearQueue()\n Swal.fire({\n title: \"Storage Full\",\n text: _result.message,\n icon: 'error',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: \"Buy More Storage\",\n cancelButtonText: this.currentAppLanguage.data.INSURANCE.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n })\n .then(\n (async (result) => {\n if (result.value) {\n //this.uploader.clearQueue();\n this.dialogRef.close(true);\n this._router.navigate(['/pages/pricing'])\n }\n })\n );\n \n }\n }\n this.loadingScreenService.stopLoading();\n });\n\n if (typeof this._data !== 'undefined') {\n // console.log('this._data')\n // console.log(this._data)\n if (this._data > 0) {\n this.IsForEdit = true;\n this.dialogTitle = this.currentAppLanguage.data.INSURANCE.DIALOG_TITLE_EDIT_INSURANCE;\n }\n else {\n //Add Mode\n if (this.authenticationService.currentUserValue.CountryShortCode) {\n this.SelectedCountryISO = this.globalService.GetCountryISOObject(this.authenticationService.currentUserValue.CountryShortCode);\n }\n }\n setTimeout(() => {\n this.loadingScreenService.startLoading();\n let response: Observable;\n //console.log(this._data)\n this.addInsurance.GetUserInsuranceLoadData(this._data)\n .subscribe(\n (data) => {\n this.loadingScreenService.stopLoading();\n // console.log(data);\n if (data.status == Status.Success) {\n this.insuranceLoadDataOutputModel = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, data.data)));\n\n if (this.insuranceLoadDataOutputModel.InsuranceDocumentList) {\n this.insuranceLoadDataOutputModel.InsuranceDocumentList.forEach((doc) => {\n this.DocumentList.push(doc);\n });\n }\n\n if (this.insuranceLoadDataOutputModel.UserInsurance) {\n this.userInsurance = this.insuranceLoadDataOutputModel.UserInsurance;\n //console.log(this.userInsurance);\n this.frmInsurance.patchValue({\n InsuranceTypeId: this.userInsurance.InsuranceTypeId,\n InsuranceName: this.userInsurance.InsuranceName,\n PolicyNumber: this.userInsurance.PolicyNumber,\n CardNumber: this.userInsurance.CardNumber,\n ContactNumber: this.userInsurance.ContactNumber,\n PolicyStartDate: E.ConvertToDate(this.userInsurance.PolicyStartDate),\n PolicyEndDate: E.ConvertToDate(this.userInsurance.PolicyEndDate),\n Notes: this.userInsurance.Notes,\n // SelectedCountryISO :this.userInsurance.ContactNumberCountryCode.toLocaleUpperCase(),\n });\n if (this.userInsurance.ContactNumberCountryCode)\n this.SelectedCountryISO = this.globalService.GetCountryISOObject(this.userInsurance.ContactNumberCountryCode);\n else{\n this.SelectedCountryISO = this.globalService.GetCountryISOObject(this.authenticationService.currentUserValue.CountryShortCode)\n }\n // console.log(this.SelectedCountryISO);\n }\n }\n else {\n this._toastrService.Error(E.ConvertToString(data.message), Constant.ErrorToastrTitle);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loadingScreenService.stopLoading();\n }\n );\n }, 500);\n //}\n }\n this.dialogRef.keydownEvents().subscribe(event => {\n if (event.key.toLocaleLowerCase() === \"escape\") {\n this.onCloseButtonClick();\n }\n });\n\n }\n checkQueueLength(queuLength){\n if((queuLength>0) && (this.uploader.isUploading==false)){\n this.forgotuploadWarning=true;}\n else if(queuLength==0)\n {this.forgotuploadWarning=false;\n this.uploaderWarning=false;\n }\n }\n\n onTabActive(tabNumber:number){\n if(tabNumber==1){this.infoTooltip= this.currentAppLanguage.data.INSURANCE.SECTION_TEXT;}\n if(tabNumber==2){\n this.infoTooltip= this.currentAppLanguage.data.INSURANCE.SECTION_TEXT3;\n setTimeout(() => {\n // console.log(this.notes)\n if (this.notes)\n this.notes.nativeElement.focus();\n },500)\n }\n else if(tabNumber==3){this.infoTooltip= this.currentAppLanguage.data.INSURANCE.SECTION_TEXT1;}\n else if(tabNumber==4){this.infoTooltip= this.currentAppLanguage.data.INSURANCE.SECTION_TEXT2;}\n this.tab=tabNumber;\n }\n\n onFileSelected(event){\n //console.log(event)\n this.uploader.uploadAll();\n }\n\n onSubmit(tabs: boolean) {\n this.frmInsurance.controls['PolicyStartDate'].setErrors(null);\n this.frmInsurance.controls['PolicyEndDate'].setErrors(null);\n\n if(this.uploaderWarning){\n Swal.fire({\n title: 'Warning',\n text: 'Your documents or files are still uploading. Please note that any remaining files will not be uploaded or will be terminated if you proceed to submit the form. Are you sure you want to continue?',\n icon: 'warning',\n showCancelButton: true,\n confirmButtonText: 'Continue',\n cancelButtonText: 'Cancel',\n customClass: {\n confirmButton: 'btn btn-danger',\n cancelButton: 'btn btn-success'\n }\n }).then((result) => {\n if (result.isConfirmed) {\n this.uploaderWarning=false;\n this.onSubmit(tabs)\n }\n else{\n this.nav.select(3);\n }\n });\n return;\n }\n if(this.forgotuploadWarning){\n Swal.fire({\n title: 'Warning',\n text: 'You have some documents or files to upload. Please note that all your files will not be uploaded or will be terminated if you proceed to submit the form. Are you sure you want to submit the form?',\n icon: 'warning',\n showCancelButton: true,\n confirmButtonText: 'Continue',\n cancelButtonText: 'Cancel',\n customClass: {\n confirmButton: 'btn btn-danger',\n cancelButton: 'btn btn-success'\n }\n }).then((result) => {\n if (result.isConfirmed) {\n this.forgotuploadWarning=false;\n this.onSubmit(tabs)\n }\n else{\n this.nav.select(3);\n }\n });\n return;\n }\n this.submitted = true;\n //console.log(this.frmInsurance);\n if (this.frmInsurance.invalid) {\n // console.log('this.frmInsurance.invalid');\n return;\n }\n // console.log(this.frmInsurance.invalid);\n this.submitted = false;\n // console.log(this.userInsurance)\n if (this.userInsurance == null) {\n this.userInsurance = new TblUserInsurances();\n }\n this.userInsurance.InsuranceTypeId = this.frmInsurance.get('InsuranceTypeId').value;\n this.userInsurance.InsuranceName = this.frmInsurance.get('InsuranceName').value;\n this.userInsurance.PolicyNumber = this.frmInsurance.get('PolicyNumber').value;\n this.userInsurance.CardNumber = this.frmInsurance.get('CardNumber').value;\n if(this.frmInsurance.get('ContactNumber').value)\n this.userInsurance.ContactNumber = this.frmInsurance.get('ContactNumber').value.number.replace(/\\s/g, \"\");\n this.userInsurance.PolicyStartDate = E.GetDateStringOnly(this.frmInsurance.get('PolicyStartDate').value);\n this.userInsurance.PolicyEndDate = E.GetDateStringOnly(this.frmInsurance.get('PolicyEndDate').value);\n if(this.frmInsurance.get('ContactNumber').value)\n this.userInsurance.ContactNumberCountryCode = this.frmInsurance.get('ContactNumber').value.countryCode.toLocaleLowerCase();\n this.userInsurance.CreatedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.userInsurance.UserDetailsId = this.authenticationService.currentUserValue.UserDetailsId;\n this.userInsurance.Notes = this.frmInsurance.get('Notes').value;\n if (E.ConvertToNumber(this.userInsurance.UserInsuranceId) == 0 && this.IsForEdit == false) {\n this.userInsurance.CreatedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.userInsurance.CreatedDate = E.GetTodayDateStringOnly();\n this.userInsurance.CreatedTime = E.GetTodayTimeStringOnly();\n this.userInsurance.ChangedDate = E.GetTodayDateStringOnly();\n this.userInsurance.ChangedTime = E.GetTodayTimeStringOnly();\n }\n else {\n this.userInsurance.ChangedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.userInsurance.ChangedDate = E.GetTodayDateStringOnly();\n this.userInsurance.ChangedTime = E.GetTodayTimeStringOnly();\n }\n if (this.tab <= 2 || this.IsForEdit) {\n this.loading = true;\n this.loadingScreenService.startLoading();\n let response: Observable;\n this.addInsurance.CreateUpdateUserInsurance(this.userInsurance)\n .subscribe(\n (result) => {\n this.loading = false;\n this.loadingScreenService.stopLoading();\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.RecordAdded) {\n message = this.currentAppLanguage.data.INSURANCE.TOAST_MESSAGE_INSURANCE_ADDED_SUCCESSFULLY;\n this.tab = this.tab + 1;\n this.nav.select(this.tab)\n if(this.tab==2){\n setTimeout(() => {\n // console.log(this.notes)\n if (this.notes)\n this.notes.nativeElement.focus();\n },500)\n }\n const jsonString = this.encrDecr.get(Constant.EncrDecrKey, result.data);\n const parsedObject = JSON.parse(jsonString);\n this._data = parsedObject.Data.UserInsuranceId\n this.userInsurance.UserInsuranceId=parsedObject.Data.UserInsuranceId\n this.IsForAbandon=true;\n }\n else if (result.status == Status.RecordUpdated) {\n message = this.currentAppLanguage.data.INSURANCE.TOAST_MESSAGE_INSURANCE_UPDATED_SUCCESSFULLY;\n if(!tabs)\n {this.tab=this.tab+1\n this.nav.select(this.tab)}\n }\n else {\n errormessage = E.ConvertToString(result.message);\n // console.log(errormessage);\n }\n if (message.length > 0) {\n this._toastrService.Success(message, Constant.SuccessToastrTitle);\n if ((this.tab == 1) || tabs) {\n this.dialogRef.close();\n this.frmInsurance.reset();\n this.frmInsurance.patchValue({\n PolicyStartDate: new Date(),\n PolicyEndDate: new Date()\n });}\n }\n else {\n this._toastrService.Error(errormessage, Constant.ErrorToastrTitle);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n }\n else if (this.tab >= 2 && this.tab <= 4) {\n this.tab = this.tab + 1;\n this.nav.select(this.tab)\n if (tabs) {\n this.dialogRef.close(true);\n this.frmInsurance.reset();\n }\n }\n }\n\n async onDownloadAllDocument() {\n for (let index = 0; index < this.DocumentList.length; index++) {\n const _doc = this.DocumentList[index];\n var _res = await this.DownloadMyInsuranceDocument(_doc, true);\n // console.log('_res');\n // console.log(_res);\n if (_res) {\n if ((index + 1) === this.DocumentList.length) {\n this._toastrService.Success('Downloaded All Successfully.', Constant.SuccessToastrTitle);\n }\n } else {\n break;\n }\n }\n }\n\n async onDownloadDocument(document: InsuranceDocumentListOutputModel) {\n if (document) {\n await this.DownloadMyInsuranceDocument(document);\n }\n }\n\n async DownloadMyInsuranceDocument(Document: InsuranceDocumentListOutputModel, IsDownloadAll = false) {\n //console.log('DeleteMyAddressDocument');\n this.loadingScreenService.startLoading();\n if (typeof Document === 'undefined' || Document == null) {\n return false;\n }\n this.downloadFileInputModel = {\n DownloadID: Document.DocumentId,\n FilePath: Document.DocumentPath,\n UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId\n };\n let promise = new Promise((resolve, reject) => {\n var Result: boolean = false;\n // const path = 'api/UserInsurance/DownloadUserInsuranceDocuments';\n let response: Observable;\n // response = this.globalService.PostDataById(this.downloadFileInputModel, path);\n this.addInsurance.DownloadUserInsuranceDocuments(this.downloadFileInputModel)\n .subscribe(\n (result) => {\n this.loadingScreenService.stopLoading();\n // console.log('result');\n // console.log(result.status);\n // console.log(Status.Success);\n if (result.status == Status.Success) {\n let _downloaded = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)));\n var sampleArr = this.globalService.base64ToArrayBuffer(E.ConvertToString(_downloaded.FileBase64String));\n this.globalService.saveByteArray(_downloaded.FileName, sampleArr, _downloaded.FileMimeType);\n if (IsDownloadAll === false)\n this._toastrService.Success('Downloaded Successfully.', Constant.SuccessToastrTitle);\n //console.log(this.DocumentList);\n Result = true;\n }\n else {\n this._toastrService.Error(result.message, Constant.ErrorToastrTitle);\n Result = false;\n }\n resolve(Result);\n },\n (error) => {\n this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n this.loadingScreenService.stopLoading();\n resolve(Result);\n }\n );\n });\n return await promise;\n }\n\n async onDeleteAllDocument() {\n let UserInsuranceDocumentIds: number[] = [];\n if (this.DocumentList) {\n this.DocumentList.forEach(_doc => {\n UserInsuranceDocumentIds.push(_doc.DocumentId);\n });\n if (UserInsuranceDocumentIds.length > 0) {\n Swal.fire({\n title: this.currentAppLanguage.data.INSURANCE.SWEET_ALERT_TITLE_ALL_ADDRESS_DOCUMENT_TEXT,\n text: this.currentAppLanguage.data.INSURANCE.SWEET_ALERT_TEXT,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: this.currentAppLanguage.data.INSURANCE.SWEET_ALERT_CONFIRM_BUTTON_TEXT,\n cancelButtonText: this.currentAppLanguage.data.INSURANCE.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n })\n .then(\n (async (result) => {\n if (result.value) {\n const _res = await this.DeleteMyInsuranceDocument(UserInsuranceDocumentIds);\n }\n })\n );\n }\n }\n }\n\n async onDeleteDocument(userInsuranceDocumentId: number) {\n // console.log(userInsuranceDocumentId)\n let UserInsuranceDocumentIds: number[] = [];\n if (userInsuranceDocumentId) {\n UserInsuranceDocumentIds.push(userInsuranceDocumentId);\n Swal.fire({\n title: this.currentAppLanguage.data.INSURANCE.SWEET_ALERT_TITLE_ADDRESS_DOCUMENT_TEXT,\n text: this.currentAppLanguage.data.INSURANCE.SWEET_ALERT_TEXT,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: this.currentAppLanguage.data.INSURANCE.SWEET_ALERT_CONFIRM_BUTTON_TEXT,\n cancelButtonText: this.currentAppLanguage.data.INSURANCE.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n })\n .then(\n (async (result) => {\n if (result.value) {\n const a = await this.DeleteMyInsuranceDocument(UserInsuranceDocumentIds);\n }\n })\n );\n }\n }\n async DeleteMyInsuranceDocument(UserInsuranceDocumentIds: Array) {\n //console.log('DeleteMyAddressDocument');\n this.loadingScreenService.startLoading();\n if (UserInsuranceDocumentIds.length < 1) {\n return false;\n }\n this.deleteDocumentsInputModel = [];\n UserInsuranceDocumentIds.forEach(userInsuranceDocumentId => {\n this.deleteDocumentsInputModel.push({\n DeleteID: userInsuranceDocumentId,\n UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId\n });\n });\n let promise = new Promise((resolve, reject) => {\n var Result: boolean;\n // const path = 'api/UserInsurance/DeleteUserInsuranceDocuments';\n // let response: Observable;\n // response = this.globalService.PostDataById(this.deleteDocumentsInputModel, path);\n let response: Observable;\n // console.log('this.userInsurance');\n // console.log(this.userInsurance);\n this.addInsurance.DeleteUserInsuranceDocuments(this.deleteDocumentsInputModel)\n .subscribe(\n (data) => {\n this.loadingScreenService.stopLoading();\n //console.log(data);\n var result = JSON.parse(JSON.stringify(data));\n //console.log(result);\n if (result.status == Status.Success) {\n Swal.fire({\n icon: 'success',\n title: 'Deleted!',\n text: E.ConvertToString(result.message),\n customClass: {\n confirmButton: 'btn btn-success'\n }\n });\n //this.loadData(); //Re-loading User Addresses Grid\n //console.log(this.DocumentList);\n this.DocumentList = this.DocumentList.filter(x => !UserInsuranceDocumentIds.includes(x.DocumentId));\n this.DocumentList1 = this.DocumentList1.filter(x => !UserInsuranceDocumentIds.includes(x.DocumentId));\n //console.log(this.DocumentList);\n\n Result = true;\n }\n else {\n this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n Result = false;\n }\n resolve(Result);\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n this.loadingScreenService.stopLoading();\n }\n );\n });\n return await promise;\n }\n\n async OnInsuranceDeleteClick() {\n //console.log(UserInsuranceId);\n Swal.fire({\n title: this.currentAppLanguage.data.INSURANCE.SWEET_ALERT_TITLE_INSURANCE_TEXT,\n text: this.currentAppLanguage.data.INSURANCE.SWEET_ALERT_TEXT,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: this.currentAppLanguage.data.INSURANCE.SWEET_ALERT_CONFIRM_BUTTON_TEXT,\n cancelButtonText: this.currentAppLanguage.data.INSURANCE.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n })\n .then(\n (async (result) => {\n if (result.value) {\n const UserInsuranceId= this._data\n const a = await this.DeleteMyInsurance(UserInsuranceId);\n }\n })\n );\n }\n\n async DeleteMyInsurance(UserInsuranceId: number) {\n this.loadingScreenService.startLoading();\n this.deleteInputModel = {\n DeleteID: UserInsuranceId,\n UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId\n }\n let promise = new Promise((resolve, reject) => {\n var Result: boolean;\n const path = 'api/UserInsurance/DeleteUserInsurance';\n let response: Observable;\n response = this.globalService.PostDataById(this.deleteInputModel, path);\n response.subscribe(\n (data) => {\n this.loadingScreenService.stopLoading();\n //console.log(data);\n var result = JSON.parse(JSON.stringify(data));\n // console.log(result);\n if (result.status == Status.Success) {\n Swal.fire({\n icon: 'success',\n title: 'Deleted!',\n text: E.ConvertToString(result.message),\n customClass: {\n confirmButton: 'btn btn-success'\n }\n });\n Result = true;\n this.dialogRef.close(true);\n this.frmInsurance.reset();\n }\n else {\n this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n Result = false;\n }\n resolve(Result);\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n this.loadingScreenService.stopLoading();\n }\n );\n });\n return await promise;\n }\n\n OnPolicyExpirationDateChange(event) {\n // console.log(this.insuranceLoadDataOutputModel.UserInsurance)\n // if (this.insuranceLoadDataOutputModel.UserInsurance.UserInsuranceId){\n let datefrom = this.frmInsurance.get('PolicyStartDate').value;\n let dateto = this.frmInsurance.get('PolicyEndDate').value;\n // console.log(datefrom,dateto)\n if (datefrom && dateto) {\n if (datefrom.getTime() > dateto.getTime()) {\n this.frmInsurance.get('PolicyStartDate').setValue(dateto);\n }\n }\n if (dateto)\n this.maxFromDate = dateto;\n\n \n }\n onComingSoon() {\n this._toastrService.Info(this.currentAppLanguage.data.INSURANCE.INFO_MESSAGE_COMING_SOON, Constant.InfoToastrTitle);\n }\n\n triggerFileUpload() {\n this.fileInput.nativeElement.click();\n }\n \n openFilemanager(){\n // using for old filemanager uploads\n // this.openDialog(UploadManagerComponent)\n var matdata = {\n RecordId : this._data,\n RecordType: RecordsType.Insurance\n }\n this.openDialog(SelectSyncFileManagerComponent,matdata)\n }\n \n openDialog(component: any, _data: any = []) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = false;\n dialogConfig.width = \"66%\"\n dialogConfig.height=\"60%\"\n dialogConfig.position={\n top:\"10%\"\n }\n dialogConfig.data = _data;\n const dialogRef = this.dialog.open(component, dialogConfig);\n dialogRef.afterClosed().subscribe(\n data => {\n if(data){\n \n }\n }\n );\n }\n\n ngAfterViewChecked(): void {\n this.changeDetectorRef.detectChanges();\n }\n\n onCloseButtonClick() {\n this.dialogRef.close();\n }\n GetCurrentLanguageJsonObject(currentAppLanguage) {\n var result;\n switch (currentAppLanguage) {\n case 'en':\n result = english;\n break;\n case 'in':\n result = gujarati;\n break;\n case 'hn':\n result = hindi;\n break;\n }\n return result;\n }\n get f() {\n return this.frmInsurance.controls;\n }\n}\n\n@Pipe({ name: 'truncate' })\nexport class TruncatePipe implements PipeTransform {\n transform(value: string, limit: number): string {\n if (value) {\n value = value.replace(//gi, ' '); // replace
with space\n value = value.trim().replace(/\\s+/g, ' '); // remove extra whitespace\n if (value.length > limit) {\n value = value.substring(0, limit) + '...';\n }\n }\n return value;\n }\n}\n","
\n
{{dialogTitle}} \n - {{userInsurance?.InsuranceName | truncate:50}} \n \n \n \n
\n
\n
\n \n
\n
\n
\n
\n
    \n
  • \n {{'INSURANCE.TAB_HEADING_INSURANCE_DETAILS' | translate}}\n \n \n
    \n
    \n
    \n \n \n \n {{'INSURANCE.ERROR_MESSAGE_REQUIRED_INSURANCE_TYPE'|translate}}\n \n
    \n
    \n \n \n \n {{'INSURANCE.ERROR_MESSAGE_REQUIRED_POLICY_NUMBER'|translate}}\n {{'INSURANCE.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
    \n
    \n \n \n \n {{'INSURANCE.ERROR_MESSAGE_REQUIRED_INSURANCE_NAME'|translate}}\n {{'INSURANCE.ERROR_MESSAGE_MAX_LENGTH_100'|translate}}\n \n
    \n
    \n \n \n \n {{'INSURANCE.ERROR_MESSAGE_REQUIRED_CARD_NUMBER'|translate}}\n {{'INSURANCE.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
    \n
    \n \n \n \n \n {{'INSURANCE.ERROR_MESSAGE_REQUIRED_CONTACT_NUMBER'\n | translate}}\n {{'INSURANCE.ERROR_MESSAGE_MAX_LENGTH_12'\n | translate}}\n {{'INSURANCE.ERROR_MESSAGE_INVALID_CONTACT_NUMBER'\n | translate}}\n \n
    \n
    \n
    \n \n
    \n \n
    \n \n
    \n
    \n \n {{'INSURANCE.ERROR_MESSAGE_REQUIRED_POLICY_START_DATE'\n | translate}}\n \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n \n
    \n
    \n \n {{'INSURANCE.ERROR_MESSAGE_REQUIRED_POLICY_EXPIRATION_DATE'\n | translate}}\n \n
    \n
    \n
    \n
    \n
    \n
  • \n\n
  • \n {{'INSURANCE.TAB_HEADING_NOTES' | translate}}\n \n \n
    \n \n
    \n \n
    \n
    \n
    \n
  • \n\n
  • \n {{'INSURANCE.TAB_HEADING_UPLOADS' | translate}}\n \n \n
    \n
    \n
    \n
    \n

    {{'INSURANCE.HEADING_TEXT_SELECT_IMAGES' |\n translate}}:

    \n
    \n
    \n \n \n
    \n \n
    \n
    {{'INSURANCE.TEXT_FILE_TYPES' | translate}} \"pdf\"
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
  • \n\n
  • \n {{'INSURANCE.TAB_HEADING_DOCUMENTS' | translate}}\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
    {{'INSURANCE.COLUMN_HEADING_NAME' | translate}}{{'INSURANCE.COLUMN_HEADING_SIZE' | translate}}{{'INSURANCE.COLUMN_HEADING_DATE_CREATED' | translate}}{{'INSURANCE.COLUMN_HEADING_TYPE' | translate}}{{'INSURANCE.COLUMN_HEADING_ACTIONS' | translate}}
    \n {{document.DocumentOldName}}\n \n {{ document.Size }}\n \n {{document.FileCreatedDate | date: 'dd/MM/yyyy' }}\n \n {{ document.FileType }}\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 { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport {InsuranceLoadDataOutputModel, TblUserInsurances} from './insurance.model'\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router';\nimport { GlobalService } from 'app/Services/global.service';\nimport { DeleteInputModel, DownloadFileInputModel } from 'app/Models/output-model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AddInsuranceService {\n //insuranceLoadDataOutputModel: InsuranceLoadDataOutputModel\n //public deleteDocumentsInputModel: Array = [];\n constructor(private _http: HttpClient,private globalService: GlobalService) \n {\n \n }\n\n CreateUpdateUserInsurance(userInsurance:TblUserInsurances){\n const path = 'api/UserInsurance/CreateUpdateUserInsurance';\n return this.globalService.PostDataById(userInsurance, path);\n \n }\n GetUserInsuranceLoadData(_data:number){\n const path = 'api/UserInsurance/GetUserInsuranceLoadData';\n return this.globalService.PostDataById(_data, path);\n \n }\n\n DeleteUserInsuranceDocuments(deleteDocumentsInputModel: Array){\n const path = 'api/UserInsurance/DeleteUserInsuranceDocuments';\n \n return this.globalService.PostDataById(deleteDocumentsInputModel, path);\n }\n\n DownloadUserInsuranceDocuments(downloadFileInputModel: DownloadFileInputModel){\n const path = 'api/UserInsurance/DownloadUserInsuranceDocuments';\n \n return this.globalService.PostDataById(downloadFileInputModel, path);\n }\n}\n","import { Directive, ElementRef, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[appRemoveMargins]'\n})\nexport class RemoveMarginsDirective {\n\n constructor(private el: ElementRef, private renderer: Renderer2) { }\n\n\n ngAfterViewInit() {\n const elements = this.el.nativeElement.querySelectorAll('*');\n elements.forEach((element: HTMLElement) => {\n if (['H1', 'H2', 'H3', 'H4', 'H5', 'H6','h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(element.tagName)) {\n this.replaceWithPTag(element);\n } else {\n this.removeStyles(element);\n }\n });\n }\n \n private removeStyles(element: HTMLElement) {\n this.renderer.setStyle(element, 'margin', '0');\n this.renderer.setStyle(element, 'padding', '0');\n }\n \n private replaceWithPTag(element: HTMLElement) {\n const pTag = this.renderer.createElement('p');\n pTag.innerHTML = element.innerHTML;\n this.renderer.setStyle(pTag, 'margin', '0');\n this.renderer.setStyle(pTag, 'padding', '0');\n element.parentNode.replaceChild(pTag, element);\n }\n}\n","import { Component, OnInit, Pipe, PipeTransform, ViewChild } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { CoreConfigService } from '@core/services/config.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { User } from 'app/auth/models';\nimport { AuthenticationService } from 'app/auth/service';\nimport { ProfileService } from 'app/main/pages/profile/profile.service';\nimport lgZoom from 'lightgallery/plugins/zoom';\nimport thumbnail from 'lightgallery/plugins/thumbnail';\nimport pager from 'lightgallery/plugins/pager';\nimport autoPlay from 'lightgallery/plugins/autoplay';\nimport lgvideo from 'lightgallery/plugins/video';\nimport lgVideo from 'lightgallery/plugins/video';\nimport vimeoVideo from 'lightgallery/plugins/video';\nimport videoThumbnail from 'lightgallery/plugins/video';\nimport fullScreen from 'lightgallery/plugins/fullscreen';\nimport rotate from 'lightgallery/plugins/rotate';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport Swal from 'sweetalert2';\nimport { LightGallery } from 'lightgallery/lightgallery';\nimport { LoadingScreenService } from 'app/Services/loading-screen.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Location } from '@angular/common';\nimport { Constant } from 'app/Classes/constant';\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\nimport { GlobalService } from 'app/Services/global.service';\nimport { UsernameService } from '../username.service';\nimport { FileType, MapModalType, QuickPostType, Status } from 'app/enums';\nimport { GetPublicAttachmentsInputModel, GetPublicProfileDataInputModel, GetPublicQuickPostLoadDataInputModel, GetPublicQuickPostsInputModel } from '../username.model';\nimport { E } from 'assets/extensions/extensions';\nimport { GetMyAttachmentsInputModel } from 'app/home/home-model.model';\nimport { CustomToastrService } from 'app/Services/custom-toastr.service';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { MapAddressDataModel } from 'app/address/map-address/map-address-data-model.model';\nimport { MapAddressComponent } from 'app/address/map-address/map-address.component';\nimport { TblUserQuickPostsCommentLikes, TblUserQuickPostsComments, UserQuickPostsViewsInputModel } from 'app/quick-post/quickpost.model';\nimport { QuickpostlistService } from 'app/quickpost-list/quickpostlist.service';\n@Component({\n selector: 'app-job',\n templateUrl: './job.component.html',\n styleUrls: ['./job.component.scss']\n})\nexport class JobComponent implements OnInit {\n @ViewChild('AddressGallery') lightGallery!: LightGallery;\n public coreConfig: any;\n private _unsubscribeAll: Subject;\n public data: any;\n public toggleMenu = true;\n public currentUser: User;\n active: string = 'diary';\n tabs = [\n { id: 'diary', title: 'Diary Entries', icon: 'book' },\n // { id: 'photos', title: 'My Public Photos', icon: 'image' }, \n // { id: 'aboutme', title: 'About Me', icon: 'users' }\n ];\n public error = '';\n aboutMeData: any;\n filteredImage: any;\n names1: any;\n userName;\n latestQuickPost\n settings: any = {\n counter: false,\n appendSubHtmlTo: '.lg-toolbar',\n commentBox: true,\n lgVideo: true,\n download: false,\n thumbnail: true,\n slideVideo: true,\n pager: false,\n autoplayFirstVideo: false,\n autoplayVideoOnSlide: false,\n plugins: [\n lgZoom,\n // pager,\n autoPlay,\n fullScreen,\n rotate,\n thumbnail,\n videoThumbnail,\n vimeoVideo,\n lgVideo,\n lgvideo,\n //share\n ] // comment, share (options are commented for future use)\n };\n private needRefresh = false;\n galleryRefresh: LightGallery;\n cache: { [key: string]: string } = {};\n public attachmentlist: any = [];\n public attachmentlistimage: any = [];\n loading: boolean = false;\n getPublicQuickPostsInputModel: GetPublicQuickPostsInputModel;\n dayFilterOptions\n monthList;\n selectedDateRange\n selectedMonth: string;\n fromDate: Date;\n toDate: Date;\n getPublicProfileDataInputModel: GetPublicProfileDataInputModel;\n getPublicAttachmentsInputModel: GetPublicAttachmentsInputModel;\n public pageAdvancedEllipses = 1;\n public pagesNumber;\n dateformat: string;\n commentToggleYear: boolean[] = [];\n commentSection;\n /**\n * Constructor\n *\n * @param {CoreConfigService} _coreConfigService\n */\n constructor(private _title: Title,\n private _coreConfigService: CoreConfigService,\n private _authenticationService: AuthenticationService,\n private loadingScreenService: LoadingScreenService,\n private _router: Router,\n private location: Location,\n private route: ActivatedRoute,\n private encrDecr: EncrDecrService,\n private globalService: GlobalService,\n private usernameService: UsernameService,\n private _toastrService: CustomToastrService,\n private dialog: MatDialog,\n private quickpostlistService: QuickpostlistService,\n ) {\n this._title.setTitle(\"Noosom\");\n this._unsubscribeAll = new Subject();\n this._authenticationService.currentUser.subscribe(x => (this.currentUser = x));\n this.dayFilterOptions = [\n { value: 0, label: 'Today' },\n { value: 1, label: 'Tomorrow' },\n { value: 2, label: 'Yesterday' },\n { value: 3, label: 'This Week' },\n { value: 4, label: 'Next Week' },\n { value: 5, label: 'Previous Week' },\n { value: 6, label: 'This Month' },\n { value: 7, label: 'Next Month' },\n { value: 8, label: 'Previous Month' },\n { value: 9, label: 'This Year' },\n { value: 10, label: 'Next Year' },\n { value: 11, label: 'Previous Year' }\n ];\n this.dateformat = this.globalService.getDateFormat();\n }\n\n\n ngOnInit(): void {\n this.route.paramMap.subscribe(params => {\n this.userName = params.get('username')\n });\n this.getPublicProfileDataInputModel = {\n UserName: this.userName\n }\n this.GetPublicProfileData(this.getPublicProfileDataInputModel)\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n if (this.currentUser == null) {\n this._coreConfigService.config = {\n layout: {\n navbar: {\n hidden: true\n },\n footer: {\n hidden: true\n },\n menu: {\n hidden: true\n },\n customizer: false,\n enableLocalStorage: false\n }\n };\n }\n const currentDate = new Date();\n this.monthList = this.generateMonthList();\n this.initialValues();\n\n }\n initialValues() {\n var CurrentDate = new Date();\n this.selectedDateRange = 'This Month';\n const currentDate = new Date();\n const currentMonthYear = currentDate.toLocaleString('en', { month: 'long' }) + ' ' + currentDate.getFullYear();\n this.selectedMonth = currentMonthYear;\n this.fromDate = new Date(CurrentDate.getFullYear(), CurrentDate.getMonth(), 1);\n this.toDate = new Date(CurrentDate.getFullYear(), CurrentDate.getMonth() + 1, 0);\n this.latestQuickPost = []\n this.getPublicQuickPostsInputModel = {\n UserName: this.userName,\n StartDate: E.GetDateStringOnly(this.fromDate),\n EndDate: E.GetDateStringOnly(this.toDate),\n GetMetaDataYN: false,\n NumberOfAttachments: 4,\n }\n\n this.GetPublicQuickPosts(this.getPublicQuickPostsInputModel)\n }\n generateMonthList(): string[] {\n const currentDate = new Date();\n const currentYear = currentDate.getFullYear();\n const months = [];\n\n for (let month = 0; month < 12; month++) {\n const monthDate = new Date(currentYear, month, 1);\n const monthLabel = monthDate.toLocaleString('en', { month: 'long' }) + ' ' + currentYear;\n months.push(monthLabel);\n }\n\n return months;\n }\n\n onSearch(): void {\n\n\n this.latestQuickPost = []\n // this.initialValues();\n this.getPublicQuickPostsInputModel = {\n UserName: this.userName,\n StartDate: E.GetDateStringOnly(this.fromDate),\n EndDate: E.GetDateStringOnly(this.toDate),\n GetMetaDataYN: false,\n NumberOfAttachments: 4\n }\n this.GetPublicQuickPosts(this.getPublicQuickPostsInputModel)\n // console.log(this.fromDate,this.toDate)\n }\n\n\n\n onDateRangeChange(value: any) {\n const currentDate = new Date();\n const currentYear = currentDate.getFullYear();\n const currentMonth = currentDate.getMonth();\n this.selectedDateRange = value.label\n switch (value.value) {\n case 0: // Today\n const today = new Date();\n this.selectedMonth = this.getMonthLabel(today.getMonth(), today.getFullYear());\n this.fromDate = new Date(today.getFullYear(), today.getMonth(), today.getDate());\n this.toDate = new Date(today.getFullYear(), today.getMonth(), today.getDate());\n break;\n case 1: // Tomorrow\n const tomorrow = new Date();\n tomorrow.setDate(tomorrow.getDate() + 1);\n this.selectedMonth = this.getMonthLabel(tomorrow.getMonth(), tomorrow.getFullYear());\n this.fromDate = new Date(tomorrow.getFullYear(), tomorrow.getMonth(), tomorrow.getDate());\n this.toDate = new Date(tomorrow.getFullYear(), tomorrow.getMonth(), tomorrow.getDate());\n break;\n case 2: // Yesterday\n const yesterday = new Date();\n yesterday.setDate(yesterday.getDate() - 1);\n this.selectedMonth = this.getMonthLabel(yesterday.getMonth(), yesterday.getFullYear());\n this.fromDate = new Date(yesterday.getFullYear(), yesterday.getMonth(), yesterday.getDate());\n this.toDate = new Date(yesterday.getFullYear(), yesterday.getMonth(), yesterday.getDate());\n break;\n case 3: // This Week\n const today1 = new Date();\n const dayOfWeek = today1.getDay();\n const firstDayOfWeek = new Date(today1);\n const lastDayOfWeek = new Date(today1);\n\n // Set the first day of the week to Monday\n firstDayOfWeek.setDate(today1.getDate() - dayOfWeek + (dayOfWeek === 0 ? -6 : 1));\n\n // Set the last day of the week to Sunday\n lastDayOfWeek.setDate(today1.getDate() - dayOfWeek + (dayOfWeek === 0 ? 0 : 7));\n\n this.selectedMonth = this.getMonthLabel(today1.getMonth(), today1.getFullYear());\n this.fromDate = firstDayOfWeek;\n this.toDate = lastDayOfWeek;\n break;\n\n case 4: // Next Week\n //const today = new Date();\n const nextWeekStart = new Date(currentDate);\n nextWeekStart.setDate(currentDate.getDate() + (1 - currentDate.getDay()) + 7); // Add 7 days for next week\n const nextWeekEnd = new Date(nextWeekStart);\n nextWeekEnd.setDate(nextWeekStart.getDate() + 6);\n\n this.selectedMonth = this.getMonthLabel(nextWeekStart.getMonth(), nextWeekStart.getFullYear());\n this.fromDate = nextWeekStart;\n this.toDate = nextWeekEnd;\n break;\n\n\n case 5: // Previous Week\n const previousWeekStart = new Date();\n previousWeekStart.setDate(previousWeekStart.getDate() - (previousWeekStart.getDay() === 0 ? 6 : previousWeekStart.getDay() - 1) - 7);\n const previousWeekEnd = new Date(previousWeekStart);\n previousWeekEnd.setDate(previousWeekEnd.getDate() + 6);\n\n this.selectedMonth = this.getMonthLabel(previousWeekStart.getMonth(), previousWeekStart.getFullYear());\n this.fromDate = previousWeekStart;\n this.toDate = previousWeekEnd;\n break;\n\n case 6: // This Month\n const firstDayOfMonth = new Date(currentYear, currentMonth, 1);\n const lastDayOfMonth = new Date(currentYear, currentMonth + 1, 0);\n this.selectedMonth = this.getMonthLabel(currentMonth, currentYear);\n this.fromDate = firstDayOfMonth;\n this.toDate = lastDayOfMonth;\n break;\n case 7: // Next Month\n const nextMonth = new Date(currentYear, currentMonth + 1, 1);\n const firstDayOfNextMonth = new Date(nextMonth.getFullYear(), nextMonth.getMonth(), 1);\n const lastDayOfNextMonth = new Date(nextMonth.getFullYear(), nextMonth.getMonth() + 1, 0);\n this.selectedMonth = this.getMonthLabel(nextMonth.getMonth(), nextMonth.getFullYear());\n this.fromDate = firstDayOfNextMonth;\n this.toDate = lastDayOfNextMonth;\n break;\n case 8: // Previous Month\n const previousMonth = new Date(currentYear, currentMonth - 1, 1);\n const firstDayOfPreviousMonth = new Date(previousMonth.getFullYear(), previousMonth.getMonth(), 1);\n const lastDayOfPreviousMonth = new Date(previousMonth.getFullYear(), previousMonth.getMonth() + 1, 0);\n this.selectedMonth = this.getMonthLabel(previousMonth.getMonth(), previousMonth.getFullYear());\n this.fromDate = firstDayOfPreviousMonth;\n this.toDate = lastDayOfPreviousMonth;\n break;\n case 9: // This Year\n const firstDayOfYear = new Date(currentYear, 0, 1);\n const lastDayOfYear = new Date(currentYear, 11, 31);\n this.selectedMonth = this.getMonthLabel(currentMonth, currentYear);\n this.fromDate = firstDayOfYear;\n this.toDate = lastDayOfYear;\n break;\n case 10: // Next Year\n const nextYear = new Date(currentYear + 1, 0, 1);\n const firstDayOfNextYear = new Date(nextYear.getFullYear(), 0, 1);\n const lastDayOfNextYear = new Date(nextYear.getFullYear(), 11, 31);\n this.selectedMonth = this.getMonthLabel(nextYear.getMonth(), nextYear.getFullYear());\n this.fromDate = firstDayOfNextYear;\n this.toDate = lastDayOfNextYear;\n break;\n case 11: // Previous Year\n const previousYear = new Date(currentYear - 1, 0, 1);\n const firstDayOfPreviousYear = new Date(previousYear.getFullYear(), 0, 1);\n const lastDayOfPreviousYear = new Date(previousYear.getFullYear(), 11, 31);\n this.selectedMonth = this.getMonthLabel(previousYear.getMonth(), previousYear.getFullYear());\n this.fromDate = firstDayOfPreviousYear;\n this.toDate = lastDayOfPreviousYear;\n break;\n\n }\n }\n\n onMonthChange(selectedMonth: string): void {\n // Parse the selected month to extract month and year\n const [month, year] = selectedMonth.split(' ');\n\n // Calculate the first and last day of the selected month\n const firstDayOfMonth = new Date(`${month} 1, ${year}`);\n const lastDayOfMonth = new Date(new Date(firstDayOfMonth).setMonth(firstDayOfMonth.getMonth() + 1) - 1);\n\n // Update fromDate and toDate\n this.fromDate = firstDayOfMonth;\n this.toDate = lastDayOfMonth;\n }\n\n validateDates(name, event) {\n // Parse the selected dates\n if (name == 'fromDate') {\n this.fromDate = new Date(event)\n }\n if (name == 'toDate') {\n this.toDate = new Date(event)\n }\n const fromDate = new Date(this.fromDate);\n const toDate = new Date(this.toDate);\n\n // Check if fromDate is greater than toDate\n if (fromDate > toDate) {\n // Swap the dates\n const temp = this.fromDate;\n this.fromDate = this.toDate;\n this.toDate = temp;\n }\n }\n\n\n getMonthLabel(month: number, year: number): string {\n const monthDate = new Date(year, month, 1);\n return monthDate.toLocaleString('en', { month: 'long' }) + ' ' + year;\n }\n\n formatDate(date: Date): string {\n return (date.getDate() < 10 ? '0' : '') + date.getDate() + '/' + ((date.getMonth() + 1) < 10 ? '0' : '') + (date.getMonth() + 1) + '/' + date.getFullYear();\n }\n\n GetPublicQuickPosts(data) {\n this.loadingScreenService.startLoading();\n this.usernameService.GetPublicQuickPosts(data)\n .subscribe(\n (result) => {\n let data = JSON.parse(result._body)\n if (data.status == Status.Success) {\n let _data = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, data.data)))\n this.loading = false;\n this.latestQuickPost = _data?.PublicQuickPosts;\n this.commentToggleYear = Array(this.latestQuickPost.length).fill(true);\n\n }\n this.loadingScreenService.stopLoading();\n },\n (error) => {\n // this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n }\n GetPublicProfileData(data) {\n this.loadingScreenService.startLoading();\n this.usernameService.GetPublicProfileData(data)\n .subscribe(\n (result) => {\n let data = JSON.parse(result._body)\n if (data.status == Status.Success) {\n let _data = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, data.data)))\n this.loading = false;\n this.aboutMeData = _data?.AboutMeData;\n const aboutMeTabExists = this.tabs.some(tab => tab.id === 'aboutme');\n\n if (this.aboutMeData?.StayAnonymousYn === false && !aboutMeTabExists) {\n // If the 'aboutme' tab does not exist and the condition matches, add the tab\n this.tabs.push({ id: 'aboutme', title: 'About Me', icon: 'users' });\n }\n this._title.setTitle(this.aboutMeData?.FirstName + \"'s Blog\");\n }\n else if (data.status == Status.UserNotFound) {\n this._router.navigate(['/pages/miscellaneous/UserNotFound']);\n }\n this.loadingScreenService.stopLoading();\n },\n (error) => {\n // this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n }\n\n\n\n ngAfterViewChecked(): void {\n if (this.needRefresh) {\n if (this.lightGallery)\n this.galleryRefresh.refresh();\n this.needRefresh = false;\n }\n }\n\n get imageArray(): { id: number; name: string; tag: boolean }[][] {\n return this.filteredImage.map(post => this.imagetag(post));\n }\n\n imagetag(imagefun) {\n let jsonArrayImage = imagefun\n const filteredImage = jsonArrayImage.filter(item => item.FileType === \"Images\").map(item => item.DocumentPath)\n\n return filteredImage\n }\n\n get tagsArray(): { id: number; name: string; tag: boolean }[][] {\n return this.names1.map(post => this.parseTags(post.TagCategory));\n }\n\n parseTags(tagCategory: string): { id: number; name: string; tag: boolean }[] {\n const tags = JSON.parse(tagCategory);\n return tags.filter(tag => tag.tag);\n }\n\n onInitGallery = (detail) => {\n this.lightGallery = detail.instance;\n this.galleryRefresh = detail.instance;\n this.galleryRefresh.settings.licenseKey = this.aboutMeData?.LightGalleryLicenseKey\n const customHelpButton = ``;\n const $toolbar = this.lightGallery.$toolbar;\n\n $toolbar.append(customHelpButton);\n\n\n\n document.getElementById(\"lg-custom-button-help\").addEventListener(\"click\", () => {\n this.supportFunction();\n });\n\n };\n supportFunction() {\n\n Swal.fire({\n title: \"Help!\",\n text: \"Information about the icons in the Light Gallery.\",\n imageUrl: 'assets/images/pages/raw-icon-labels.png',\n showCancelButton: false,\n confirmButtonColor: '#7367F0',\n //cancelButtonColor: '#E42728',\n confirmButtonText: \"Okay\",\n cancelButtonText: \"cancel\",\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n\n })\n\n }\n\n onMainTabActive(tabid) {\n if ((tabid == 'diary')) {\n this.GetPublicQuickPosts(this.getPublicQuickPostsInputModel)\n }\n else if (tabid == 'aboutme') {\n this.GetPublicProfileData(this.getPublicProfileDataInputModel)\n }\n else if (tabid == 'photos') {\n this.getAttachmentList('Images')\n }\n }\n\n onTabActive(data) {\n if (data == 'Images') {\n this.getAttachmentList('Images')\n }\n else if (data == 'Videos') {\n this.getAttachmentList('Videos')\n }\n }\n\n loadPage(event, filetype) {\n this.pageAdvancedEllipses\n this.getAttachmentList(filetype, event)\n }\n\n getAttachmentList(FileType?, page?) {\n this.attachmentlistimage = []\n this.getPublicAttachmentsInputModel = {\n UserName: this.userName,\n Page: page,\n Pagesize: 20,\n FileType: FileType,\n GetMetaDataYN: false\n }\n this.loadingScreenService.startLoading();\n this.usernameService.GetPublicAttachments(this.getPublicAttachmentsInputModel).subscribe(async result => {\n if (result) {\n let data = JSON.parse(result._body)\n if (data.status == Status.Success) {\n let _attachmentlist = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, data.data));\n if (_attachmentlist) {\n const imageDocs = _attachmentlist.filter(doc => doc.FileType.toLocaleLowerCase() === \"images\")\n const videoDocs = _attachmentlist.filter(doc => doc.FileType.toLocaleLowerCase() === \"videos\")\n //console.log(_attachmentlist[0]?.TotalNumberOfRecords)\n if (_attachmentlist[0]?.TotalNumberOfRecords > 0)\n this.pagesNumber = _attachmentlist[0]?.TotalNumberOfRecords;\n const imagePromises = imageDocs.map(doc =>\n this.AddItemToGallery1(doc.AttachmentId, doc.DocumentPath, doc.DocumentOldName, doc.Size, doc.FileType)\n );\n\n const videoPromises = videoDocs.map(doc =>\n this.AddItemToGallery(doc.AttachmentId, doc.DocumentPath, doc.DocumentOldName, doc.Size, doc.FileType)\n );\n\n await Promise.all(imagePromises);\n await Promise.all(videoPromises);\n this.needRefresh = true;\n }\n this.loadingScreenService.stopLoading();\n }\n else {\n this.loadingScreenService.stopLoading();\n this._toastrService.Error(data.Message, Constant.ErrorToastrTitle);\n }\n }\n });\n }\n\n async AddItemToGallery1(_id: number, _url: string, documentname: string, documentsize: string, filetype: string): Promise {\n this.attachmentlistimage = [\n ...this.attachmentlistimage,\n {\n id: _id,\n size: '280-100',\n src: _url,\n data: documentname,\n thumb: _url,\n subHtml: documentname, documentsize,\n type: filetype,\n }\n ];\n this.needRefresh = true;\n }\n\n\n async AddItemToGallery(_id: number, _url: string, documentname: string, documentsize: string, filetype: string): Promise {\n const loadingItem = {\n id: _id,\n size: '280-100',\n src: _url,\n data: await this.generateVideoData(_url),\n thumb: 'https://noosom1sg.b-cdn.net/NoosomAssets/Images/noosomads/Logo-3-1.gif', // Placeholder or loading indicator for the thumbnail\n subHtml: documentname, documentsize,\n type: filetype,\n };\n\n this.attachmentlistimage.push(loadingItem);\n let thumb = this.cache[_url]; // Check if thumbnail is already in cache\n\n if (!thumb) {\n thumb = await this.generateThumbnailFromVideoURL(_url, filetype);\n this.cache[_url] = thumb; // Save the thumbnail to cache\n }\n\n const galleryItem = {\n id: _id,\n size: '280-100',\n src: _url,\n data: await this.generateVideoData(_url),\n thumb: thumb,\n subHtml: documentname, documentsize,\n type: filetype,\n };\n const index = this.attachmentlistimage.findIndex(item => item.id === _id);\n this.attachmentlistimage[index] = galleryItem;\n //console.log(this.attachmentlist)\n }\n\n async generateThumbnailFromVideoURL(videoURL: string, type: string): Promise {\n if (type === \"Videos\") {\n return new Promise((resolve, reject) => {\n const video = document.createElement('video');\n video.crossOrigin = 'anonymous'; // Enable cross-origin for video\n video.src = videoURL;\n\n video.addEventListener('loadedmetadata', () => {\n video.currentTime = 10.5; // Adjust as needed\n\n video.addEventListener('seeked', () => {\n const canvas = document.createElement('canvas');\n canvas.width = video.videoWidth;\n canvas.height = video.videoHeight;\n\n const ctx = canvas.getContext('2d');\n ctx.drawImage(video, 0, 0, canvas.width, canvas.height);\n\n // Draw a play icon in the center of the canvas\n const playIconSize = 250; // Adjust the size as needed\n ctx.fillStyle = 'rgba(255, 255, 255, 0.7)';\n ctx.beginPath();\n ctx.moveTo(canvas.width / 2 - playIconSize / 2, canvas.height / 2 - playIconSize / 2);\n ctx.lineTo(canvas.width / 2 + playIconSize / 2, canvas.height / 2);\n ctx.lineTo(canvas.width / 2 - playIconSize / 2, canvas.height / 2 + playIconSize / 2);\n ctx.closePath();\n ctx.fill();\n\n // Resolve with the data URL of the canvas\n resolve(canvas.toDataURL('image/png'));\n\n // Clean up\n canvas.remove();\n video.remove();\n });\n\n video.addEventListener('error', (error) => {\n resolve(\"assets/images/pages/Cannot_play.png\")\n // reject(`Error loading video: ${error.message}`);\n });\n });\n\n video.addEventListener('error', (error) => {\n resolve(\"assets/images/pages/Cannot_play.png\")\n // reject(`Error loading video metadata: ${error.message}`);\n });\n\n // Load the video\n video.load();\n });\n }\n }\n\n async generateVideoData(src): Promise {\n const videoData = {\n source: [{ src: src, type: 'video/mp4' }],\n attributes: { preload: true, controls: true }\n };\n return JSON.stringify(videoData);\n }\n\n EditQuickPost(data) {\n let queryParameter = {\n UserName: this.userName,\n GetMetaDataYN: false,\n UserQuickPostId: data,\n Profile: this.aboutMeData?.ProfileImagePath,\n Name: this.aboutMeData?.FullName\n }\n //this.queryParameter= this.encrDecr.set(Constant.EncrDecrKey, JSON.stringify(queryParameter))\n // this._router.navigate(['/diary'], { queryParams: { data: this.encrDecr.set(Constant.EncrDecrKey, JSON.stringify(queryParameter)) } })\n\n const url = this._router.createUrlTree(\n ['/diary'], \n { queryParams: { data: this.encrDecr.set(Constant.EncrDecrKey, JSON.stringify(queryParameter)) } }\n ).toString();\n \n window.open(url, '_blank');\n }\n\n signup(data) {\n if (data == 1) {\n this._router.navigate(['/pages/authentication/login-v2']);\n }\n else if (data == 2) {\n this._router.navigate(['/pages/authentication/signup']);\n }\n }\n\n goBack(): void {\n this.location.back();\n }\n\n ngOnDestroy(): void {\n // Unsubscribe from all subscriptions\n this._unsubscribeAll.next();\n this._unsubscribeAll.complete();\n }\n\n onViewAddressesMapClick(addressId) {\n let _zoomInViewAll = 3;\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.width = \"69%\";\n dialogConfig.position = { left: '18%' };\n\n dialogConfig.data = new MapAddressDataModel(MapModalType.QuickPostModel,[addressId]);\n const dialogRef = this.dialog.open(MapAddressComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(\n data => {\n \n \n }\n );\n }\n\n commentToggleScreenonoff(event:boolean,index?:number){\n this.commentToggleYear[index] = event;\n}\n\nGetUserQuickPostCommentes(event:boolean,data ,id){\n this.commentToggleYear[id] = event;\n var input = {\n UserQuickPostId : data\n }\n this.quickpostlistService.GetUserQuickPostComments(input)\n .subscribe(\n (result) => {\n this.loading = false;\n var message = \"\"; var errormessage = \"\";\n var responseData = JSON.parse(result._body)\n if (responseData.status == Status.Success) {\n this.latestQuickPost[id].QuickPostsCommentsList = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, responseData.data)));\n this.commentSection= '';\n }\n else {\n errormessage = E.ConvertToString(responseData.message);\n }\n // console.log(this.latestQuickPost[id].QuickPostsCommentsList)\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n //this.error = error;\n this.loading = false;\n }\n );\n}\n\nUserQuickPostCommentLike(data,index){\n if(this.currentUser == null){ this._toastrService.Error('Oops! You must be logged in to like/unlike this comment. Please sign in to continue.',Constant.ErrorToastrTitle)\n return;\n }\n var input:TblUserQuickPostsCommentLikes = {\n UserQuickPostsCommentLikeId:0,\n UserQuickPostsCommentId : data,\n UserDetailsId:this._authenticationService.currentUserValue.UserDetailsId,\n CreatedDate: E.GetTodayDateStringOnly(),\n CreatedTime:E.GetTodayTimeStringOnly()\n }\n \n this.quickpostlistService.CreateUpdateUserQuickPostCommentLike(input)\n .subscribe(\n (result) => {\n this.loading = false;\n var message = \"\"; var errormessage = \"\";\n\n if (result.status == Status.RecordAdded) {\n this.latestQuickPost[index].QuickPostsCommentsList = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)));\n this._toastrService.Success('Comment Liked Successfully.',Constant.SuccessToastrTitle)\n }\n else if(result.status == Status.RecordUpdated){\n this.latestQuickPost[index].QuickPostsCommentsList = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)));\n //this.commentCounter = this.quickPostCommentList.length;\n this._toastrService.Success('Comment Unliked Successfully.',Constant.SuccessToastrTitle)\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n // this.error = error;\n this.loading = false;\n }\n );\n}\n\nonClick(data,index?) \n { \n if(this.currentUser == null){ this._toastrService.Error('Oops! You must be logged in to like/unlike this post. Please sign in to continue.',Constant.ErrorToastrTitle)\n return;\n }\n this.UserQuickPostLike(data?.UserQuickPostId,index) } \n UserQuickPostLike(data,index?){\n var input:UserQuickPostsViewsInputModel = {\n UserQuickPostsViewId:0,\n UserQuickPostId : data,\n UserDetailsId:this._authenticationService.currentUserValue.UserDetailsId,\n CreatedDate: E.GetTodayDateStringOnly(),\n CreatedTime:E.GetTodayTimeStringOnly()\n }\n this.quickpostlistService.CreateUpdateUserQuickPostLike(input)\n .subscribe(\n (result) => {\n this.loading = false;\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.RecordAdded) {\n this.latestQuickPost[index].LikesCounter = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)))\n this.latestQuickPost[index].LikedByMe = !this.latestQuickPost[index].LikedByMe;\n this._toastrService.Success('Post Liked Successfully.',Constant.SuccessToastrTitle)\n }\n else if(result.status == Status.RecordUpdated){\n this.latestQuickPost[index].LikesCounter = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)))\n this.latestQuickPost[index].LikedByMe = !this.latestQuickPost[index].LikedByMe;\n this._toastrService.Success('Post Unliked Successfully.',Constant.SuccessToastrTitle)\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n //this.error = error;\n this.loading = false;\n }\n );\n}\n\ncommentToggleScreen(event:boolean,id?:number,index?:number){\n if(id){\n if(this.commentSection !='' && this.commentSection.trim() !== ''){\n if(this.currentUser == null){ this._toastrService.Error('Oops! You must be logged in to comment on this post. Please sign in to continue.',Constant.ErrorToastrTitle)\n return;\n }\n this.updateQuickPostComment(id,index)\n }\n else{\n this._toastrService.Error('Please add a comment',Constant.ErrorToastrTitle)\n }\n }\n else{this.commentSection =''}\n }\n\n updateQuickPostComment(data ,id){\n var input:TblUserQuickPostsComments = {\n UserQuickPostsCommentId:0,\n LikesCounter:0,\n Content:this.commentSection,\n UserQuickPostId : data,\n UserDetailsId:this._authenticationService.currentUserValue.UserDetailsId,\n CreatedDate: E.GetTodayDateStringOnly(),\n CreatedTime:E.GetTodayTimeStringOnly()\n }\n this.quickpostlistService.CreateUpdateUserQuickPostComment(input)\n .subscribe(\n (result) => {\n this.loading = false;\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.RecordAdded) {\n this.latestQuickPost[id].QuickPostsCommentsList = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)));\n this.commentSection= '';\n this._toastrService.Success('Comment Posted Successfully',Constant.SuccessToastrTitle)\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n //this.error = error;\n this.loading = false;\n }\n );\n }\n\n}\n@Pipe({ name: 'truncate1' })\nexport class TruncatePipe1 implements PipeTransform {\n transform(value: string, limit: number): string {\n if (value) {\n // Replace line breaks and consecutive whitespaces with a space\n value = value.replace(/(\\r\\n|\\n|\\r|\\s\\s+)/gm, ' ');\n\n // Replace
tags with a space\n value = value.replace(//gi, ' ');\n \n value = value.replace(/]*>/gi, '');\n\n // Replace

tags with a space\n value = value.replace(/]*>/g, ' ').replace(/<\\/p>/g, ' ');\n\n // Remove leading and trailing whitespaces\n value = value.trim();\n\n // Truncate if needed\n if (value.length > limit) {\n value = value.substring(0, limit) + '...';\n }\n }\n return value;\n }\n}","\r\n

\r\n
\r\n \r\n \"brand-logo\"\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \"User\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \"Card\r\n \r\n
\r\n \r\n
\r\n

{{ aboutMeData?.FullName }}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
0; else skeletonLoader\" class=\"row m-0 pt-2\">\r\n \r\n
\r\n
\r\n 0\">\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n

\r\n {{latestQuickPost[j]?.Title|truncate:50}}

\r\n
\r\n {{latestQuickPost[j]?.DiaryDate | date : 'MMMM dd , yyyy'}}\r\n {{btnname}}\r\n Time From: {{latestQuickPost[j]?.DiaryTimeFrom | date:'h:mm a'}}\r\n {{btnname}} Time To: {{latestQuickPost[j]?.DiaryTimeTo | date:'h:mm a'}}\r\n
\r\n  {{latestQuickPost[j]?.Location}}\r\n
\r\n
\r\n {{ id.name | truncate: 10 }}\r\n 4 && isLast\">+{{ i % 4 }} more\r\n
\r\n
Post Content: ' + (latestQuickPost[j]?.PostContent | truncate1: 320)\">\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \"Avatar\"\r\n
\r\n \r\n
\r\n
\r\n
No Comments to Show.
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{latestQuickPost[j]?.LikesCounter}}\r\n
\r\n
0 \" class=\"d-flex align-items-center\">\r\n
\r\n
\r\n \"Avatar\"\r\n
\r\n \r\n
5\" \r\n class=\"avatar pull-up\" \r\n [ngbPopover]=\"popoverTemplate\" (mouseenter)=\"tooltip.open()\" \r\n (mouseleave)=\"tooltip.close()\" \r\n #tooltip=\"ngbTooltip\"\r\n ngbTooltip=\"Click to view more\"\r\n placement=\"bottom\" \r\n container=\"body\" \r\n triggers=\"click\">\r\n \"More\"\r\n
\r\n \r\n
\r\n
\r\n \"Avatar\"\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{latestQuickPost[j]?.ViewsCounter}}\r\n
\r\n
\r\n \r\n
\r\n Read More\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n

About Me

\r\n

{{ aboutMeData?.AboutMeDescription}}

\r\n
\r\n \r\n \r\n \r\n \r\n

My Personal URL

\r\n

{{aboutMeData?.PersonalWebUrl}}

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n
\r\n
    \r\n
  • \r\n Images\r\n \r\n
    \r\n
    0\" class=\" scroll-area\">\r\n
    \r\n \r\n {{item.id}}

    \">\r\n \"{{item.id}}\"\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n 0\" [collectionSize]='pagesNumber' [pageSize]=\"20\" (pageChange)=\"loadPage($event,'Images')\" [(page)]=\"pageAdvancedEllipses\" [maxSize]=\"5\" [rotate]=\"true\"\r\n [boundaryLinks]=\"true\">\r\n Prev\r\n \r\n Next\r\n \r\n \r\n \r\n
    \r\n
  • \r\n
  • \r\n Videos\r\n \r\n
    \r\n
    \r\n
    0\" class=\" scroll-area\">\r\n \r\n {{item.id}}

    \">\r\n \"{{item.id}}\"\r\n
    \r\n
    \r\n
    \r\n \r\n 0\" [collectionSize]='pagesNumber' [pageSize]=\"20\" (pageChange)=\"loadPage($event,'Videos')\" [(page)]=\"pageAdvancedEllipses\" [maxSize]=\"5\" [rotate]=\"true\"\r\n [boundaryLinks]=\"true\">\r\n Prev\r\n \r\n Next\r\n \r\n \r\n
    \r\n
  • \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n\r\n\r\n
\r\n
\r\n","import { Injectable } from '@angular/core';\nimport { GlobalService } from 'app/Services/global.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UsernameService {\n\n constructor(private globalService: GlobalService) { }\n\n GetPublicProfileData(getPublicProfileDataInputModel) {\n const path = 'api/MyBlogs/GetPublicProfileData';\n return this.globalService.PostDataAnonymous(getPublicProfileDataInputModel, path);\n }\n\n GetPublicQuickPosts(GetPublicQuickPostsInputModel) {\n const path = 'api/MyBlogs/GetPublicQuickPosts';\n return this.globalService.PostDataAnonymous(GetPublicQuickPostsInputModel, path);\n }\n\n GetPublicAttachments(GetPublicQuickPostsInputModel) {\n const path = 'api/MyBlogs/GetPublicAttachments';\n return this.globalService.PostDataAnonymous(GetPublicQuickPostsInputModel, path);\n }\n\n GetPublicQuickPostLoadData(data) {\n const path = 'api/MyBlogs/GetPublicQuickPostLoadData';\n return this.globalService.PostDataAnonymous(data, path);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\n\nimport { BreadcrumbComponent } from 'app/layout/components/content-header/breadcrumb/breadcrumb.component';\n\n@NgModule({\n declarations: [BreadcrumbComponent],\n imports: [CommonModule, RouterModule.forChild([])],\n exports: [BreadcrumbComponent]\n})\nexport class BreadcrumbModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\n\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\n\nimport { CoreCommonModule } from '@core/common.module';\n\nimport { TranslateModule } from '@ngx-translate/core';\nimport { BreadcrumbModule } from 'app/layout/components/content-header/breadcrumb/breadcrumb.module';\nimport { ContentHeaderComponent } from 'app/layout/components/content-header/content-header.component';\n\n@NgModule({\n declarations: [ContentHeaderComponent],\n imports: [CommonModule, RouterModule, CoreCommonModule, BreadcrumbModule, NgbModule,TranslateModule],\n exports: [ContentHeaderComponent]\n})\nexport class ContentHeaderModule {}\n","import { Injectable } from '@angular/core';\nimport { GlobalService } from 'app/Services/global.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LegalserviceService {\n\n constructor(private globalService:GlobalService) { }\n\n CreateUpdateUserLegal(data){ //create/update\n const path = 'api/UserLegal/CreateUpdateUserLegal';\n return this.globalService.PostDataById(data,path);\n }\n GetUserLegalLoadData(data){ //edit data\n const path = 'api/UserLegal/GetUserLegalLoadData';\n return this.globalService.PostDataById(data,path);\n }\n GetUserLegals(data){\n const path = 'api/UserLegal/GetUserLegals';\n return this.globalService.PostDataById(data,path);\n }\n DeleteUserLegal(data){\n const path = 'api/UserLegal/DeleteUserLegal';\n return this.globalService.PostDataById(data,path);\n }\n DeleteUserLegalDocuments(data){\n const path = 'api/UserLegal/DeleteUserLegalDocuments';\n return this.globalService.PostDataById(data,path);\n }\n\n firebase(data){\n const path = 'api/UserConnectionRequest/SendNotification';\n return this.globalService.PostDataAnonymous(data,path);\n }\n\n}\n","export class Legalmodel {\n}\nexport class TblUserLegals {\n UserLegalId: number;\n UserDetailsId: number;\n LegalDocumentName: string;\n Notes: string;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n}\n\nexport class UserLegalModel {\n UserLegalId: number;\n UserDetailsId: number;\n LegalDocumentName: string;\n Notes: string;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n}\n\nexport class LegalLoadDataInputModel {\n UserLegalId: number;\n GetMetaDataYN?: boolean;\n docYN?:boolean;\n}\n\nexport class LegalDocumentListOutputModel {\n DocumentId: number;\n UserDetailsId: number;\n UserLegalId: number;\n DocumentName: string;\n DocumentOldName: string;\n DocumentPath: string;\n DocumentSubType: string;\n Size: string;\n SizeInBytes: number;\n DocumentType: string;\n FileCreatedDate: string;\n FileLastModifiedDate: string;\n FileCreatedLatitude: number ;\n FileCreatedLongitude: number ;\n AllFileMetadata: string;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n}\n\nexport class LegalLoadDataOutputModel {\n UserLegal: TblUserLegals;\n LegalDocumentList: Array;\n}\n","import { Component, Inject, OnInit, Pipe, PipeTransform, TemplateRef, ViewChild } from '@angular/core';\nimport { locale as english } from 'app/me-on-web/i18n/en';\nimport { locale as french } from 'app/me-on-web/i18n/fr';\nimport { locale as german } from 'app/me-on-web/i18n/de';\nimport { locale as portuguese } from 'app/me-on-web/i18n/pt';\nimport { locale as gujarati } from 'app/me-on-web/i18n/gj';\nimport { locale as hindi } from 'app/me-on-web/i18n/hn';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialogConfig, MatDialog } from '@angular/material/dialog';\nimport { CoreConfigService } from '@core/services/config.service';\nimport { CoreTranslationService } from '@core/services/translation.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CustomToastrService } from 'app/Services/custom-toastr.service';\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\nimport { GlobalService } from 'app/Services/global.service';\nimport { LoadingScreenService } from 'app/Services/loading-screen.service';\nimport { AuthenticationService } from 'app/auth/service';\nimport { WebEntryComponent } from 'app/me-on-web/web-entry/web-entry.component';\nimport { Observable, Subject, Subscription } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { Constant } from 'app/Classes/constant';\nimport { FileUploader, FileItem } from 'ng2-file-upload';\nimport { E } from 'assets/extensions/extensions';\nimport { RecordsType, Status } from 'app/enums';\nimport { LegalDocumentListOutputModel, LegalLoadDataInputModel, UserLegalModel } from '../legals/legalmodel.model';\nimport { NgbModal, NgbNav } from '@ng-bootstrap/ng-bootstrap';\nimport { LegalserviceService } from '../legals/legalservice.service';\nimport Swal from 'sweetalert2';\nimport { Router } from '@angular/router';\nimport { LightGallery } from 'lightgallery/lightgallery';\nimport fullScreen from 'lightgallery/plugins/fullscreen';\nimport rotate from 'lightgallery/plugins/rotate';\nimport { BeforeSlideDetail } from 'lightgallery/lg-events';\nimport lgZoom from 'lightgallery/plugins/zoom';\nimport thumbnail from 'lightgallery/plugins/thumbnail';\nimport pager from 'lightgallery/plugins/pager';\nimport autoPlay from 'lightgallery/plugins/autoplay';\nimport lgvideo from 'lightgallery/plugins/video';\nimport lgVideo from 'lightgallery/plugins/video';\nimport vimeoVideo from 'lightgallery/plugins/video';\nimport videoThumbnail from 'lightgallery/plugins/video';\nimport { DeleteInputModel, DeleteMultipleInputModel, DownloadFileInputModel, DownloadFileOutputModel } from 'app/Models/output-model';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { GeneralService } from 'app/Services/general.service';\nimport { SelectSyncFileManagerComponent } from 'app/sync-file-manager/select-sync-file-manager/select-sync-file-manager.component';\n@Component({\n selector: 'app-legalsdocument',\n templateUrl: './legalsdocument.component.html',\n styleUrls: ['./legalsdocument.component.scss']\n})\nexport class LegalsdocumentComponent implements OnInit {\n @ViewChild('nav') nav: NgbNav;\n @ViewChild('AddressGallery') lightGallery!: LightGallery;\n @ViewChild('uploaderContent') uploaderContent: TemplateRef;\n @ViewChild('fileInput') fileInput;\n _ImageUrlAPI: string = Constant.API + 'api/UserLegal/UploadUserLegalDocuments';\n public uploader: FileUploader = new FileUploader({\n url: this._ImageUrlAPI,\n isHTML5: true,\n method: \"PUT\",\n itemAlias: \"MultiFileUploaderLegal\",\n disableMultipart: false, // 'DisableMultipart' must be 'true' for formatDataFunction to be called.\n formatDataFunction: (item: FileItem) => item._file,\n formatDataFunctionIsAsync: false,\n maxFileSize: 1 * 1024 * 1024 * 1024,\n //Notes: do not add headers here.\n authToken: `Bearer ` + this.authenticationService.currentUserValue.Token,\n allowedFileType: [\"image\", \"tiff\", \"bmp\", \"png\", \"jpg\", \"jpeg\", \"pdf\"] // \"doc\", \"docx\", \"xls\", \"xlsx\", \"ppt\",\n })\n uploaderWarning:boolean=false;\n forgotuploadWarning:boolean=false;\n GalleryItems: any = [];\n GalleryItems1: any = [];\n infoTooltip:string;\n docPath:SafeResourceUrl;\n private needRefresh = false;\n settings: any = {\n counter: false,\n appendSubHtmlTo: '.lg-toolbar',\n commentBox: true,\n lgVideo: true,\n download: false,\n thumbnail: true,\n slideVideo: true,\n pager:false,\n autoplayFirstVideo: false,\n autoplayVideoOnSlide:false,\n plugins: [\n lgZoom,\n // pager,\n autoPlay,\n fullScreen,\n rotate,\n thumbnail,\n videoThumbnail,\n vimeoVideo,\n lgVideo,\n lgvideo,\n //share\n ] // comment, share (options are commented for future use)\n };\n public error = '';\n public tab = 1;\n public loading = false;\n public submitted = false;\n public coreConfig: any;\n public dialogTitle: string;\n private legalModel: UserLegalModel;\n public IsForAbandon: boolean = false;\n public IsForEdit: boolean = false;\n currentAppLanguage: any;\n _data: number = 0;\n galleryRefresh:LightGallery;\n public frmLegal: FormGroup;\n private _unsubscribeAll: Subject;\n legalLoadDataInputModel:LegalLoadDataInputModel;\n public DocumentList: LegalDocumentListOutputModel[] = [];\n public DocumentList1: LegalDocumentListOutputModel[] = [];\n public downloadFileInputModel: DownloadFileInputModel;\n private subDownloadAddressAtt$?: Subscription;\n private subDeleteAddressAtt$?: Subscription;\n deleteInputModel: DeleteInputModel = new DeleteInputModel();\n deleteInputModel1: DeleteMultipleInputModel = new DeleteMultipleInputModel();\n UserAddressDocument: any;\n uploadCount=0;\n cache: { [key: string]: string } = {};\n dateformat1: string;\n timeformat: string;\n public pageAdvancedEllipses = 1;\n public pagesNumber;\n page=0;\n constructor(\n private _coreTranslationService: CoreTranslationService,\n private _coreConfigService: CoreConfigService,\n private _translateService: TranslateService,\n private authenticationService: AuthenticationService,\n private _formBuilder: FormBuilder,\n private dialogRef: MatDialogRef,\n private loadingScreenService: LoadingScreenService,\n private globalService: GlobalService,\n private encrDecr: EncrDecrService,\n private _toastrService: CustomToastrService,\n private legalservice:LegalserviceService,\n private _router: Router,\n private dialog: MatDialog,\n private modalService: NgbModal,\n private sanitizer: DomSanitizer,\n private generalService : GeneralService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n ) {\n this._unsubscribeAll = new Subject();\n this._coreTranslationService.translate(english, french, german, portuguese, gujarati, hindi);\n this._translateService.onLangChange.subscribe(lang => {\n setTimeout(() => {\n let _LangJsonObj = this.GetCurrentLanguageJsonObject(lang.lang);\n if (_LangJsonObj)\n this.currentAppLanguage = _LangJsonObj;\n }, 100);\n })\n this._data = data;\n this.settings.licenseKey=this.authenticationService.currentUserValue.Parameter.LightGalleryLicenseKey;\n this.dateformat1=this.globalService.getDateFormat();\n this.timeformat = this.globalService.getTimeFormat();\n }\n\n ngAfterViewChecked(): void {\n if (this.needRefresh) {\n if (this.lightGallery)\n this.galleryRefresh.refresh();\n this.needRefresh = false;\n }\n }\n\n onInitGallery = (detail) => {\n this.lightGallery = detail.instance;\n this.galleryRefresh = detail.instance;\n //console.log(this.lightGallery)\n //console.log(this.lightGallery.mousewheel)\n const customDeleteButton = ``;\n const customDownloadButton = ``;\n const customHelpButton = ``;\n // const refreshButton = ``\n const $toolbar = this.lightGallery.$toolbar;\n $toolbar.append(customDeleteButton);\n $toolbar.append(customDownloadButton);\n $toolbar.append(customHelpButton);\n //$toolbar.append(refreshButton);\n // console.log(detail.instance.galleryItems)\n document.getElementById(\"lg-custom-button-delete\").addEventListener(\"click\", async () => {\n const idname = detail.instance.galleryItems[detail.instance.index];\n await this.onDeleteDocument(idname.alt)\n let galleryItems1 = JSON.parse(JSON.stringify(detail.instance.galleryItems));\n const updatedGalleryItems = galleryItems1.filter((item, id) => id !== detail.instance.index);\n detail.instance.updateSlides(updatedGalleryItems, Math.max(detail.instance.index - 1, 0));\n detail.instance.slidesUpdated = true\n let slidesUpdated = false;\n //detail.instance.refresh();\n })\n\n document.getElementById(\"lg-custom-button-download\").addEventListener(\"click\", () => {\n const downloadDocument: LegalDocumentListOutputModel = new LegalDocumentListOutputModel;\n const idname = detail.instance.galleryItems[detail.instance.index];\n if(idname.src){\n downloadDocument.DocumentPath = idname.src;}\n else if(idname.video){\n downloadDocument.DocumentPath = JSON.parse(idname.video).source[0].src;\n }\n downloadDocument.DocumentId = idname.alt;\n this.onDownloadDocument(downloadDocument)\n });\n document.getElementById(\"lg-custom-button-help\").addEventListener(\"click\", () => {\n this.supportFunction();\n });\n // document.getElementById(\"lg-custom-button-refresh\").addEventListener(\"click\", () => {\n // detail.instance.refresh();\n // });\n };\n\n onInitGallery1 = (detail) => {\n this.lightGallery = detail.instance;\n this.galleryRefresh = detail.instance;\n //console.log(this.lightGallery)\n //console.log(this.lightGallery.mousewheel)\n const customDeleteButton = ``;\n const customDownloadButton = ``;\n const customHelpButton = ``;\n // const refreshButton = ``\n const $toolbar = this.lightGallery.$toolbar;\n $toolbar.append(customDeleteButton);\n $toolbar.append(customDownloadButton);\n $toolbar.append(customHelpButton);\n //$toolbar.append(refreshButton);\n // console.log(detail.instance.galleryItems)\n document.getElementById(\"lg-custom-button-delete1\").addEventListener(\"click\", async () => {\n const idname = detail.instance.galleryItems[detail.instance.index];\n await this.onDeleteDocument(idname.alt)\n let galleryItems1 = JSON.parse(JSON.stringify(detail.instance.galleryItems));\n const updatedGalleryItems = galleryItems1.filter((item, id) => id !== detail.instance.index);\n detail.instance.updateSlides(updatedGalleryItems, Math.max(detail.instance.index - 1, 0));\n detail.instance.slidesUpdated = true\n let slidesUpdated = false;\n //detail.instance.refresh();\n })\n\n document.getElementById(\"lg-custom-button-download1\").addEventListener(\"click\", () => {\n const downloadDocument: LegalDocumentListOutputModel = new LegalDocumentListOutputModel;\n const idname = detail.instance.galleryItems[detail.instance.index];\n if(idname.src){\n downloadDocument.DocumentPath = idname.src;}\n else if(idname.video){\n downloadDocument.DocumentPath = JSON.parse(idname.video).source[0].src;\n }\n downloadDocument.DocumentId = idname.alt;\n this.onDownloadDocument(downloadDocument)\n });\n document.getElementById(\"lg-custom-button-help1\").addEventListener(\"click\", () => {\n this.supportFunction();\n });\n // document.getElementById(\"lg-custom-button-refresh\").addEventListener(\"click\", () => {\n // detail.instance.refresh();\n // });\n };\n\n\n\n supportFunction() {\n\n Swal.fire({\n title: \"Help!\",\n text: \"Information about the icons in the Light Gallery.\",\n imageUrl: 'assets/images/pages/raw-icon-labels.png',\n showCancelButton: false,\n confirmButtonColor: '#7367F0',\n //cancelButtonColor: '#E42728',\n confirmButtonText: \"Okay\",\n cancelButtonText: this.currentAppLanguage.data.LEGALS.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n\n })\n\n }\n ngOnInit(): void {\n this.legalModel = new UserLegalModel();\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n this.currentAppLanguage = this.GetCurrentLanguageJsonObject(this.coreConfig.app.appLanguage);\n this.dialogTitle = this.currentAppLanguage.data.LEGALS.ADD_TITLE;\n this.infoTooltip= this.currentAppLanguage.data.LEGALS.TOOLTIP_TEXT_LEGAL_DOCUMENT_INFORMATION;\n this.frmLegal = this._formBuilder.group({\n LegalDocumentName:['',Validators.required],\n Notes: ['']\n });\n\n if (typeof this._data !== 'undefined') {\n // console.log('this._data')\n // console.log(this._data)\n if (this._data > 0) {\n this.IsForEdit = true;\n this.dialogTitle = this.currentAppLanguage.data.LEGALS.EDIT_TITLE;\n \n setTimeout(() => {\n this.loadingScreenService.startLoading();\n this.legalLoadDataInputModel={UserLegalId:this._data,GetMetaDataYN:false,docYN:false}\n this.legalservice.GetUserLegalLoadData(this.legalLoadDataInputModel)\n .subscribe(\n (data) => {\n this.loadingScreenService.stopLoading();\n // console.log(data);\n if (data.status == Status.Success) {\n let pastmodel = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, data.data)));\n this.legalModel=pastmodel.Data.UserLegal\n if (this.legalModel) {\n //this.userAwards = this.awardLoadDataOutputModel.UserAward;\n \n this.frmLegal.patchValue({\n LegalDocumentName:this.legalModel.LegalDocumentName,\n Notes:this.legalModel.Notes\n });\n\n }\n if (pastmodel.Data.LegalDocumentList) {\n pastmodel.Data.LegalDocumentList.forEach(async(doc) => {\n if (doc.DocumentSubType.toLocaleLowerCase() == \"documents\") {\n this.DocumentList.push(doc);\n }\n else if (doc.DocumentSubType.toLocaleLowerCase() == \"images\") {\n await this.AddItemToGallery(doc.DocumentId, doc.DocumentPath, doc.DocumentOldName,doc.Size ,doc.DocumentSubType,doc.CreatedDate, doc.CreatedTime);\n this.needRefresh = true;\n }\n })}\n\n }\n else {\n this._toastrService.Error(E.ConvertToString(data.message), Constant.ErrorToastrTitle);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loadingScreenService.stopLoading();\n }\n );\n\n }, 500);\n }\n }\n //console.log(this.uploader)\n this.uploader.onAfterAddingFile = (file: any) => {\n if((this.uploader.queue.length>0) && (this.uploader.isUploading==false)){\n this.forgotuploadWarning=true;}\n file.withCredentials = false;\n };\n this.uploader.onBuildItemForm = (fileItem: any, form: any) => {\n fileItem.withCredentials = false;\n };\n this.uploader.onBeforeUploadItem = (fileItem) => {\n this.loadingScreenService.startLoading();\n this.uploader.setOptions({\n headers: [\n { name: 'Access-Control-Allow-Origin', value: \"*\" },\n { name: 'FileSize', value: fileItem.file.size },\n { name: 'UserDetailsID', value: E.ConvertToString(this.authenticationService.currentUserValue.UserDetailsId) },\n { name: 'UserLegalID', value: E.ConvertToString(this._data) }]\n });\n //this.uploader.setOptions({ url: fileItem.url + fileItem.file.name });\n return fileItem;\n };\n // this.uploader.onCompleteItem = (item: any, response: any, status: any, headers: any) => {\n // alert('File uploaded');\n // };\n this.uploader.response.subscribe(async result => {\n if (result) {\n this.loadingScreenService.startLoading();\n let _result = JSON.parse(result);\n if(this.uploader.progress!=100){\n this.uploaderWarning=true;\n this.loadingScreenService.startLoading();\n }else if(this.uploader.progress==100){\n this.uploaderWarning=false;\n this.forgotuploadWarning=false;\n //this.uploadCount = 0;\n this.loadingScreenService.stopLoading();\n }\n if (_result.status == Status.Success) {\n this._toastrService.Success(\"File Uploaded Successfully\")\n this.uploadCount = this.uploadCount+1;\n let _PastimeDocument = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, _result.data));\n if (_PastimeDocument.DocumentSubType.toLocaleLowerCase() == \"documents\") {\n this.DocumentList.push(_PastimeDocument);\n this.DocumentList1.push(_PastimeDocument);\n }\n else if (_PastimeDocument.DocumentSubType.toLocaleLowerCase() == \"images\" || \"videos\") {\n await this.AddItemToGallery(_PastimeDocument.DocumentId, _PastimeDocument.DocumentPath, _PastimeDocument.DocumentOldName, _PastimeDocument.Size,_PastimeDocument.DocumentSubType,_PastimeDocument.CreatedDate,_PastimeDocument.CreatedTime);\n await this.AddItemToGallery1(_PastimeDocument.DocumentId, _PastimeDocument.DocumentPath, _PastimeDocument.DocumentOldName, _PastimeDocument.Size,_PastimeDocument.DocumentSubType,_PastimeDocument.CreatedDate,_PastimeDocument.CreatedTime);\n this.needRefresh = true;\n }\n }\n else if(_result.status == Status.StorageFull){\n // this.uploader.destroy();\n this.uploader.cancelAll();\n // this.uploader.removeFromQueue();\n // this.uploader.cancelItem()\n this.uploader.clearQueue()\n Swal.fire({\n title: \"Storage Full\",\n text: _result.message,\n icon: 'error',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: \"Buy More Storage\",\n cancelButtonText: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n })\n .then(\n (async (result) => {\n if (result.value) {\n //this.uploader.clearQueue();\n this.dialogRef.close(true);\n this._router.navigate(['/pages/pricing'])\n }\n })\n );\n \n }\n }\n });\n \n this.dialogRef.keydownEvents().subscribe(event => {\n if (event.key.toLocaleLowerCase() === \"escape\") {\n this.onCloseButtonClick();\n }\n });\n }\n\n checkQueueLength(queuLength){\n if((queuLength>0) && (this.uploader.isUploading==false)){\n this.forgotuploadWarning=true;}\n else if(queuLength==0)\n {this.forgotuploadWarning=false;\n this.uploaderWarning=false;\n }\n }\n\n onFileSelected(event){\n //console.log(event)\n this.uploader.uploadAll();\n }\n \n async AddItemToGallery1(_id: number, _url: string, documentname: string, documentsize: string, filetype: string,CreatedDate:string,CreatedTime:string): Promise {\n const loadingItem = {\n id: _id,\n size: documentsize,\n src: _url,\n data: await this.generateVideoData(_url),\n thumb: 'https://noosom1sg.b-cdn.net/NoosomAssets/Images/noosomads/Logo-3-1.gif', // Placeholder or loading indicator for the thumbnail\n subHtml: documentname, documentsize,\n type: filetype,\n name: documentname,\n createdDate:CreatedDate,\n createdTime:CreatedTime\n };\n \n this.GalleryItems1.push(loadingItem);\n let thumb = this.cache[_url]; // Check if thumbnail is already in cache\n \n if (!thumb) {\n thumb = await this.generateThumbnailFromVideoURL(_url, filetype);\n this.cache[_url] = thumb; // Save the thumbnail to cache\n }\n \n const galleryItem = {\n id: _id,\n size:documentsize,\n src: _url,\n data: await this.generateVideoData(_url),\n thumb: thumb,\n subHtml: documentname, documentsize,\n type: filetype,\n name: documentname,\n createdDate:CreatedDate,\n createdTime:CreatedTime\n };\n const index = this.GalleryItems1.findIndex(item => item.id === _id);\n this.GalleryItems1[index] = galleryItem;\n //console.log(this.GalleryItems)\n }\n\n async AddItemToGallery(_id: number, _url: string, documentname: string, documentsize: string, filetype: string,CreatedDate:string,CreatedTime:string): Promise {\n const loadingItem = {\n id: _id,\n size:documentsize,\n src: _url,\n data: await this.generateVideoData(_url),\n thumb: 'https://noosom1sg.b-cdn.net/NoosomAssets/Images/noosomads/Logo-3-1.gif', // Placeholder or loading indicator for the thumbnail\n subHtml: documentname, documentsize,\n type: filetype,\n name: documentname,\n createdDate:CreatedDate,\n createdTime:CreatedTime\n };\n \n this.GalleryItems.push(loadingItem);\n let thumb = this.cache[_url]; // Check if thumbnail is already in cache\n \n if (!thumb) {\n thumb = await this.generateThumbnailFromVideoURL(_url, filetype);\n this.cache[_url] = thumb; // Save the thumbnail to cache\n }\n \n const galleryItem = {\n id: _id,\n size:documentsize,\n src: _url,\n data: await this.generateVideoData(_url),\n thumb: thumb,\n subHtml: documentname, documentsize,\n type: filetype,\n name: documentname,\n createdDate:CreatedDate,\n createdTime:CreatedTime\n };\n const index = this.GalleryItems.findIndex(item => item.id === _id);\n this.GalleryItems[index] = galleryItem;\n //console.log(this.GalleryItems)\n }\n \n \n async generateThumbnailFromVideoURL(videoURL: string, type: string): Promise {\n if (type === \"Videos\") {\n return new Promise((resolve, reject) => {\n const video = document.createElement('video');\n video.crossOrigin = 'anonymous'; // Enable cross-origin for video\n video.src = videoURL;\n \n video.addEventListener('loadedmetadata', () => {\n video.currentTime = 10.5; // Adjust as needed\n \n video.addEventListener('seeked', () => {\n const canvas = document.createElement('canvas');\n canvas.width = video.videoWidth;\n canvas.height = video.videoHeight;\n \n const ctx = canvas.getContext('2d');\n ctx.drawImage(video, 0, 0, canvas.width, canvas.height);\n \n // Draw a play icon in the center of the canvas\n const playIconSize = 250; // Adjust the size as needed\n ctx.fillStyle = 'rgba(255, 255, 255, 0.7)';\n ctx.beginPath();\n ctx.moveTo(canvas.width / 2 - playIconSize / 2, canvas.height / 2 - playIconSize / 2);\n ctx.lineTo(canvas.width / 2 + playIconSize / 2, canvas.height / 2);\n ctx.lineTo(canvas.width / 2 - playIconSize / 2, canvas.height / 2 + playIconSize / 2);\n ctx.closePath();\n ctx.fill();\n \n // Resolve with the data URL of the canvas\n resolve(canvas.toDataURL('image/png'));\n \n // Clean up\n canvas.remove();\n video.remove();\n });\n \n video.addEventListener('error', (error) => {\n resolve(\"assets/images/pages/Cannot_play.png\")\n // reject(`Error loading video: ${error.message}`);\n });\n });\n \n video.addEventListener('error', (error) => {\n resolve(\"assets/images/pages/Cannot_play.png\")\n // reject(`Error loading video metadata: ${error.message}`);\n });\n \n // Load the video\n video.load();\n });\n }\n }\n \n async generateVideoData(src): Promise {\n const videoData = {\n source: [{ src: src, type: 'video/mp4' }],\n attributes: { preload: true, controls: true }\n };\n return JSON.stringify(videoData);\n }\n\n async onDownloadAllDocument() {\n for (let index = 0; index < this.DocumentList.length; index++) {\n const _doc = this.DocumentList[index];\n var _res = await this.DownloadMyAddressDocument(_doc, true);\n // console.log('_res');\n // console.log(_res);\n if (_res) {\n if ((index + 1) === this.DocumentList.length) {\n this._toastrService.Success('Downloaded All Successfully.', Constant.SuccessToastrTitle);\n }\n } else {\n break;\n }\n }\n }\n async onDownloadDocument(document: LegalDocumentListOutputModel) {\n if (document) {\n await this.DownloadMyAddressDocument(document);\n }\n }\n async DownloadMyAddressDocument(Document: LegalDocumentListOutputModel, IsDownloadAll = false) {\n //console.log('DeleteMyAddressDocument');\n this.loadingScreenService.startLoading();\n if (typeof Document === 'undefined' || Document == null) {\n return false;\n }\n this.downloadFileInputModel = {\n DownloadID: Document.DocumentId,\n FilePath: Document.DocumentPath,\n UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId\n };\n //console.log(this.downloadFileInputModel)\n let promise = new Promise((resolve, reject) => {\n var Result: boolean = false;\n const path = 'api/UserLegal/DownloadUserLegalDocuments';\n this.subDownloadAddressAtt$ = this.globalService.PostDataById(this.downloadFileInputModel, path).subscribe(\n (result) => {\n this.loadingScreenService.stopLoading();\n if (result.status == Status.Success) {\n let _downloaded = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)));\n var sampleArr = this.globalService.base64ToArrayBuffer(E.ConvertToString(_downloaded.FileBase64String));\n this.globalService.saveByteArray(_downloaded.FileName, sampleArr, _downloaded.FileMimeType);\n if (IsDownloadAll === false)\n this._toastrService.Success('Downloaded Successfully.', Constant.SuccessToastrTitle);\n //console.log(this.DocumentList);\n Result = true;\n }\n else {\n this._toastrService.Error(result.message, Constant.ErrorToastrTitle);\n Result = false;\n }\n resolve(Result);\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n this.loadingScreenService.stopLoading();\n resolve(Result);\n }\n );\n });\n return await promise;\n }\n\n onTabActive(tabNumber: number) {\n if(tabNumber==1){this.infoTooltip=this.currentAppLanguage.data.LEGALS.TOOLTIP_TEXT_LEGAL_DOCUMENT_INFORMATION}\n else if(tabNumber==2){this.infoTooltip=this.currentAppLanguage.data.LEGALS.TOOLTIP_TEXT_UPLOAD_LEGAL_DOCUMENTS}\n else if(tabNumber==3){this.infoTooltip=this.currentAppLanguage.data.LEGALS.TOOLTIP_TEXT_UPLOADED_LEGAL_DOCUMENTS_DISPLAY\n this.getAttachmentList('Documents');\n }\n else if(tabNumber==4){this.infoTooltip=this.currentAppLanguage.data.LEGALS.INFO_TEXT2\n this.getAttachmentList('Images');\n }\n this.tab = tabNumber;\n }\n\n loadPage(event,filetype){\n // this.savePosition();\n this.pageAdvancedEllipses\n this.getAttachmentList(filetype,event)\n // setTimeout(() => this.restorePosition(), 0);\n }\n\n getAttachmentList(FileType?,page?) {\n this.GalleryItems=[];\n this.DocumentList = [];\n //this.needRefresh = true;\n //if(page)\n this.page = page\n var getMyAttachmentsInputModel = {\n RecordId: this._data,\n Page:this.page,\n Pagesize:20,\n FileType:FileType,\n // QuickPostType:QuickPostType.Public,\n GetMetaDataYN:false\n }\n this.loadingScreenService.startLoading();\n this.generalService.GetUserLegalDocumentsById(getMyAttachmentsInputModel).subscribe(async result => {\n if (result) {\n if (result.status == Status.Success) {\n let _attachmentlist = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n // console.log(_attachmentlist)\n if (_attachmentlist) {\n _attachmentlist.forEach(async(doc) => {\n if (doc.DocumentSubType.toLocaleLowerCase() == \"documents\") {\n this.DocumentList.push(doc);\n }\n else if (doc.DocumentSubType.toLocaleLowerCase() == \"images\" || \"videos\") {\n await this.AddItemToGallery(doc.DocumentId, doc.DocumentPath, doc.DocumentOldName,doc.Size ,doc.DocumentSubType, doc.CreatedDate, doc.CreatedTime);\n this.needRefresh = true;\n }\n if(_attachmentlist[0]?.TotalNumberOfRecords>0)\n this.pagesNumber=_attachmentlist[0]?.TotalNumberOfRecords;\n });\n } \n this.loadingScreenService.stopLoading();\n }\n else {\n this.loadingScreenService.stopLoading();\n this._toastrService.Error(result.Message, Constant.ErrorToastrTitle);\n }\n }\n });\n }\n\n onSubmit(tabs: boolean) {\n //console.log(this.frmLegal)\n if(this.uploaderWarning){\n Swal.fire({\n title: 'Warning',\n text: 'Your documents or files are still uploading. Please note that any remaining files will not be uploaded or will be terminated if you proceed to submit the form. Are you sure you want to continue?',\n icon: 'warning',\n showCancelButton: true,\n confirmButtonText: 'Continue',\n cancelButtonText: 'Cancel',\n customClass: {\n confirmButton: 'btn btn-danger',\n cancelButton: 'btn btn-success'\n }\n }).then((result) => {\n if (result.isConfirmed) {\n this.uploaderWarning=false;\n this.onSubmit(tabs)\n }\n else{\n this.nav.select(2);\n }\n });\n return;\n }\n if(this.forgotuploadWarning){\n Swal.fire({\n title: 'Warning',\n text: 'You have some documents or files to upload. Please note that all your files will not be uploaded or will be terminated if you proceed to submit the form. Are you sure you want to submit the form?',\n icon: 'warning',\n showCancelButton: true,\n confirmButtonText: 'Continue',\n cancelButtonText: 'Cancel',\n customClass: {\n confirmButton: 'btn btn-danger',\n cancelButton: 'btn btn-success'\n }\n }).then((result) => {\n if (result.isConfirmed) {\n this.forgotuploadWarning=false;\n this.onSubmit(tabs)\n }\n else{\n this.nav.select(2);\n }\n });\n return;\n }\n this.submitted = true;\n if (this.frmLegal.invalid) {\n return;\n }\n this.submitted = false;\n if (this.legalModel == null) {\n this.legalModel = new UserLegalModel();\n }\n this.legalModel.LegalDocumentName=this.frmLegal.get('LegalDocumentName').value;\n this.legalModel.Notes = this.frmLegal.get('Notes').value;\n this.legalModel.UserDetailsId = this.authenticationService.currentUserValue.UserDetailsId;\n \n if (E.ConvertToNumber(this.legalModel.UserLegalId) == 0 && this.IsForEdit == false) {\n this.legalModel.CreatedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.legalModel.CreatedDate = E.GetTodayDateStringOnly();\n this.legalModel.CreatedTime = E.GetTodayTimeStringOnly();\n this.legalModel.ChangedDate = E.GetTodayDateStringOnly();\n this.legalModel.ChangedTime = E.GetTodayTimeStringOnly();}\n else {\n this.legalModel.ChangedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.legalModel.ChangedDate = E.GetTodayDateStringOnly();\n this.legalModel.ChangedTime = E.GetTodayTimeStringOnly();}\n if (this.tab <= 2 || this.IsForEdit) {\n this.loading = true;\n this.loadingScreenService.startLoading();\n let response: Observable;\n this.legalservice.CreateUpdateUserLegal(this.legalModel)\n .subscribe(\n (result) => {\n this.loading = false;\n this.loadingScreenService.stopLoading();\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.RecordAdded) {\n message = 'Legal Added Successfully';\n this.tab = this.tab + 1;\n this.nav.select(this.tab)\n const jsonString = this.encrDecr.get(Constant.EncrDecrKey, result.data);\n const parsedObject = JSON.parse(jsonString);\n this._data = parsedObject.Data.UserLegalId;\n this.legalModel.UserLegalId=parsedObject.Data.UserLegalId;\n this.IsForAbandon=true;\n }\n else if (result.status == Status.RecordUpdated) {\n message = 'Legal Updated Successfully';\n if(!tabs)\n {this.tab=this.tab+1\n this.nav.select(this.tab)}\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n if (message.length > 0) {\n this._toastrService.Success(message, Constant.SuccessToastrTitle);\n if ((this.tab == 1) || tabs) {\n this.dialogRef.close(true);\n this.frmLegal.reset();\n }}\n else {\n this._toastrService.Error(errormessage, Constant.ErrorToastrTitle);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n }\n else if (this.tab >= 2 && this.tab <= 4) {\n this.tab = this.tab + 1;\n this.nav.select(this.tab)\n if (tabs) {\n this.dialogRef.close(true);\n this.frmLegal.reset();\n }\n }\n }\n\n async OnLegalAbandon() {\n //console.log(UserInsuranceId);\n const UserPastimeId=this._data\n Swal.fire({\n title: this.currentAppLanguage.data.LEGALS.SWEET_ALERT_TITLE_INSURANCE_TEXT,\n text: this.currentAppLanguage.data.LEGALS.SWEET_ALERT_TEXT,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: this.currentAppLanguage.data.LEGALS.SWEET_ALERT_CONFIRM_BUTTON_TEXT,\n cancelButtonText: this.currentAppLanguage.data.LEGALS.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n })\n .then(\n (async (result) => {\n if (result.value) {\n const a = await this.DeleteMyAchievement(UserPastimeId);\n }\n })\n );\n }\n\n async DeleteMyAchievement(UserPastimeId: number) {\n this.loadingScreenService.startLoading();\n this.deleteInputModel = {\n UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId,\n DeleteID: UserPastimeId\n }\n let promise = new Promise((resolve, reject) => {\n var Result: boolean;\n let response: Observable;\n this.legalservice.DeleteUserLegal(this.deleteInputModel)\n .subscribe(\n (data) => {\n this.loadingScreenService.stopLoading();\n var result = JSON.parse(JSON.stringify(data));\n // console.log(result);\n if (result.status == Status.Success) {\n Swal.fire({\n icon: 'success',\n title: 'Deleted!',\n text: E.ConvertToString(result.message),\n customClass: {\n confirmButton: 'btn btn-success'\n }\n });\n this.dialogRef.close(true);\n this.frmLegal.reset();\n Result = true;\n }\n else {\n this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n Result = false;\n }\n resolve(Result);\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n this.loadingScreenService.stopLoading();\n }\n );\n });\n return await promise;\n }\n\n async onDeleteAllDocument() {\n let UserInsuranceDocumentIds: number[] = [];\n if (this.DocumentList) {\n this.DocumentList.forEach(_doc => {\n UserInsuranceDocumentIds.push(_doc.DocumentId);\n });\n if (UserInsuranceDocumentIds.length > 0) {\n Swal.fire({\n title: this.currentAppLanguage.data.LEGALS.SWEET_ALERT_TITLE_ALL_ADDRESS_DOCUMENT_TEXT,\n text: this.currentAppLanguage.data.LEGALS.SWEET_ALERT_TEXT,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: this.currentAppLanguage.data.LEGALS.SWEET_ALERT_CONFIRM_BUTTON_TEXT_UNLINK,\n cancelButtonText: this.currentAppLanguage.data.LEGALS.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n })\n .then(\n (async (result) => {\n if (result.value) {\n const _res = await this.DeleteMyAddressDocument(UserInsuranceDocumentIds);\n }\n })\n );\n }\n }\n }\n\n // async onDeleteDocument(userInsuranceDocumentId: number) {\n // let UserInsuranceDocumentIds: number[] = [];\n // if (userInsuranceDocumentId) {\n // UserInsuranceDocumentIds.push(userInsuranceDocumentId);\n // Swal.fire({\n // title: this.currentAppLanguage.data.LEGALS.SWEET_ALERT_TITLE_ADDRESS_DOCUMENT_TEXT,\n // text: this.currentAppLanguage.data.LEGALS.SWEET_ALERT_TEXT,\n // icon: 'warning',\n // showCancelButton: true,\n // confirmButtonColor: '#7367F0',\n // cancelButtonColor: '#E42728',\n // confirmButtonText: this.currentAppLanguage.data.LEGALS.SWEET_ALERT_CONFIRM_BUTTON_TEXT,\n // cancelButtonText: this.currentAppLanguage.data.LEGALS.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n // customClass: {\n // confirmButton: 'btn btn-primary',\n // cancelButton: 'btn btn-danger ml-1'\n // }\n // })\n // .then(\n // (async (result) => {\n // if (result.value) {\n // const a = await this.DeleteMyInsuranceDocument(UserInsuranceDocumentIds);\n // }\n // })\n // );\n // }\n // }\n\n // async DeleteMyInsuranceDocument(UserInsuranceDocumentIds: Array) {\n // //console.log('DeleteMyAddressDocument');\n // this.loadingScreenService.startLoading();\n // if (UserInsuranceDocumentIds.length < 1) {\n // return false;\n // }\n // // this.deleteDocumentsInputModel = [];\n // UserInsuranceDocumentIds.forEach(userInsuranceDocumentId => {\n // this.deleteInputModel1={\n // DeleteIDs: [userInsuranceDocumentId],\n // UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId\n // };\n // });\n // let promise = new Promise((resolve, reject) => {\n // var Result: boolean;\n // // const path = 'api/UserInsurance/DeleteUserInsuranceDocuments';\n // // let response: Observable;\n // // response = this.globalService.PostDataById(this.deleteDocumentsInputModel, path);\n // let response: Observable;\n // // console.log('this.userInsurance');\n // // console.log(this.userInsurance);\n // this.legalservice.DeleteUserLegalDocuments(this.deleteInputModel1)\n // .subscribe(\n // (data) => {\n // this.loadingScreenService.stopLoading();\n // // console.log(data);\n // var result = JSON.parse(JSON.stringify(data));\n // // console.log(result);\n // if (result.status == Status.Success) {\n // Swal.fire({\n // icon: 'success',\n // title: 'Deleted!',\n // text: E.ConvertToString(result.message),\n // customClass: {\n // confirmButton: 'btn btn-success'\n // }\n // });\n // //this.loadData(); //Re-loading User Addresses Grid\n // //console.log(this.DocumentList);\n // this.DocumentList = this.DocumentList.filter(x => !UserInsuranceDocumentIds.includes(x.UserLegalDocumentId));\n // //console.log(this.DocumentList);\n\n // Result = true;\n // }\n // else {\n // this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n // Result = false;\n // }\n // resolve(Result);\n // },\n // (error) => {\n // this._toastrService.Error(error, Constant.ErrorToastrTitle);\n // this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n // this.loadingScreenService.stopLoading();\n // }\n // );\n // });\n // return await promise;\n // }\n onviewDocument(content:LegalDocumentListOutputModel) {\n this.modalService.open(this.uploaderContent, { centered:true,size:'xl'}); // 'lg' for large size, adjust as needed\n this.docPath=this.sanitizer.bypassSecurityTrustResourceUrl(content.DocumentPath)\n }\n\n async onDeleteDocument(userAddressDocumentId: number) {\n if (!userAddressDocumentId) {\n return;\n }\n \n try {\n await this.showConfirmationDialog();\n const result = await this.DeleteMyAddressDocument([userAddressDocumentId]);\n \n if (result) {\n // Next line of code after both function1 and function2 have completed\n }\n } catch (error) {\n }\n }\n \n showConfirmationDialog(): Promise {\n return new Promise((resolve) => {\n Swal.fire({\n title: this.currentAppLanguage.data.LEGALS.SWEET_ALERT_TITLE_ADDRESS_DOCUMENT_TEXT,\n text: this.currentAppLanguage.data.LEGALS.SWEET_ALERT_TEXT,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: this.currentAppLanguage.data.LEGALS.SWEET_ALERT_CONFIRM_BUTTON_TEXT_UNLINK,\n cancelButtonText: this.currentAppLanguage.data.LEGALS.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n }).then((result) => {\n if (result.value) {\n resolve();\n }\n });\n });\n }\n \n async DeleteMyAddressDocument(UserAddressDocumentIds: Array): Promise {\n this.loadingScreenService.startLoading();\n \n try {\n if (UserAddressDocumentIds.length < 1) {\n return false;\n }\n \n \n this.UserAddressDocument = UserAddressDocumentIds\n UserAddressDocumentIds.forEach((userAddressDocumentId) => {\n this.deleteInputModel1={\n DeleteIDs: [userAddressDocumentId],\n UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId,\n RecordId: this._data\n };\n });\n \n const result = await this.postDataAndHandleResponse();\n \n return result;\n } catch (error) {\n console.error('An error occurred:', error);\n return false;\n } finally {\n this.loadingScreenService.stopLoading();\n }\n }\n \n private postDataAndHandleResponse(): Promise {\n return new Promise((resolve) => {\n const path = 'api/UserLegal/DeleteUserLegalDocuments';\n this.subDeleteAddressAtt$ = this.globalService.PostDataById(this.deleteInputModel1, path).subscribe(\n (data) => {\n const result = JSON.parse(JSON.stringify(data));\n \n if (result.status === Status.Success) {\n // Handle success\n this.handleSuccess(result);\n resolve(true);\n } else {\n // Handle failure\n this.handleFailure(result);\n resolve(false);\n }\n },\n (error) => {\n // Handle network error\n this.handleNetworkError(error);\n resolve(false);\n }\n );\n });\n }\n \n private handleSuccess(result: any): void {\n Swal.fire({\n icon: 'success',\n title: 'Deleted!',\n text: E.ConvertToString(result.message).replace('deleted','unlinked'),\n customClass: {\n confirmButton: 'btn btn-success',\n },\n });\n \n // Modify this part as needed\n this.DocumentList = this.DocumentList.filter((x) => !this.UserAddressDocument.includes(x.DocumentId));\n this.DocumentList1 = this.DocumentList1.filter((x) => !this.UserAddressDocument.includes(x.DocumentId));\n const indexToRemove: number = this.GalleryItems.findIndex((item) => item.id == this.UserAddressDocument);\n if (indexToRemove !== -1) {\n this.GalleryItems.splice(indexToRemove, 1);\n }\n const indexToRemovenew: number = this.GalleryItems1.findIndex((item) => item.id == this.UserAddressDocument);\n if (indexToRemovenew !== -1) {\n this.GalleryItems1.splice(indexToRemovenew, 1);\n }\n }\n \n private handleFailure(result: any): void {\n this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n }\n \n private handleNetworkError(error: any): void {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n }\n \n\n onCloseButtonClick() {\n this.dialogRef.close();\n }\n\n triggerFileUpload() {\n this.fileInput.nativeElement.click();\n }\n openFilemanager(){\n // using for old filemanager uploads\n // this.openDialog(UploadManagerComponent)\n var matdata = {\n RecordId : this._data,\n RecordType: RecordsType.Legals\n }\n this.openDialog(SelectSyncFileManagerComponent,matdata)\n }\n\n openDialog(component: any, _data: any = []) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = false;\n dialogConfig.width = \"66%\"\n dialogConfig.height=\"60%\"\n dialogConfig.position={\n top:\"10%\"\n }\n dialogConfig.data = _data;\n const dialogRef = this.dialog.open(component, dialogConfig);\n dialogRef.afterClosed().subscribe(\n data => {\n if(data){\n this.nav.select(4);\n this.getAttachmentList('Images');\n }\n }\n );\n }\n GetCurrentLanguageJsonObject(currentAppLanguage) {\n var result;\n switch (currentAppLanguage) {\n case 'en':\n result = english;\n break;\n case 'in':\n result = gujarati;\n break;\n case 'hn':\n result = hindi;\n break;\n }\n return result;\n }\n\n ngOnDestroy() {\n \n if (this.subDownloadAddressAtt$)\n this.subDownloadAddressAtt$.unsubscribe();\n if (this.uploader && this.uploader.response)\n this.uploader.response.unsubscribe();\n if (this.subDeleteAddressAtt$)\n this.subDeleteAddressAtt$.unsubscribe();\n }\n\n get f() {\n return this.frmLegal.controls;\n }\n\n}\n\n\n@Pipe({ name: 'truncate' })\nexport class TruncatePipe implements PipeTransform {\n transform(value: string, limit: number): string {\n if (value) {\n value = value.replace(//gi, ' '); // replace
with space\n value = value.trim().replace(/\\s+/g, ' '); // remove extra whitespace\n if (value.length > limit) {\n value = value.substring(0, limit) + '...';\n }\n }\n return value;\n }\n}","\n
\n
{{dialogTitle}} \n - {{legalModel?.LegalDocumentName| truncate:50}} \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 {{'CALENDAR_MAIN.BUTTON_TEXT_ADD_AN_EVENT'|translate}}\n \n \n
\n
\n
\n {{'CALENDAR_MAIN.CONTROL_LABEL_FILTER'|translate}}\n
\n
\n \n \n
\n
\n \n \n \n
\n
\n
\n
\n \n \n
\n \n\n
\n \"Calendar\n
\n\n","import { Component, OnInit, Inject, ViewEncapsulation } from '@angular/core';\n\nimport { CoreSidebarService } from '@core/components/core-sidebar/core-sidebar.service';\n\nimport { CalendarService } from 'app/main/apps/calendar/calendar.service';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatDialog, MatDialogConfig } from \"@angular/material/dialog\";\nimport { QuickPostComponent } from 'app/quick-post/quick-post/quick-post.component';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { locale as english } from 'app/main/apps/calendar/i18n/en';\nimport { locale as french } from 'app/main/apps/calendar/i18n/fr';\nimport { locale as german } from 'app/main/apps/calendar/i18n/de';\nimport { locale as portuguese } from 'app/main/apps/calendar/i18n/pt';\nimport { locale as gujarati } from 'app/main/apps/calendar/i18n/gj';\nimport { locale as hindi } from 'app/main/apps/calendar/i18n/hn';\nimport { CoreTranslationService } from '@core/services/translation.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AuthenticationService } from 'app/auth/service';\nimport { takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { CoreConfigService } from '@core/services/config.service';\nimport { CustomToastrService } from 'app/Services/custom-toastr.service';\nimport { Constant } from 'app/Classes/constant';\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\n\n\n\n@Component({\n selector: 'app-calendar-main-sidebar',\n templateUrl: './calendar-main-sidebar.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class CalendarMainSidebarComponent implements OnInit {\n // Public\n public calendarRef = [];\n public tempRef = [];\n public checkAll = true;\n DiaryJournal:string;\n currentAppLanguage: any;\n private _unsubscribeAll: Subject;\n public coreConfig: any;\n\n /**\n * Constructor\n *\n * @param {CoreSidebarService} _coreSidebarService\n * @param {CalendarService} _calendarService\n */\n constructor(private _coreSidebarService: CoreSidebarService,\n private _calendarService: CalendarService,\n private dialog: MatDialog,\n private modalService: NgbModal,\n private _toastrService: CustomToastrService,\n private _coreTranslationService: CoreTranslationService,\n private _translateService: TranslateService,\n private authenticationService: AuthenticationService,\n private _coreConfigService: CoreConfigService,\n private encrDecr:EncrDecrService\n //private dialogRef: MatDialogRef,\n\n ) {\n this._unsubscribeAll = new Subject();\n this._coreTranslationService.translate(english, french, german, portuguese, gujarati, hindi);\n this._translateService.onLangChange.subscribe(lang => {\n // console.log('lang');\n // console.log(lang.lang);\n setTimeout(() => {\n let _LangJsonObj = this.GetCurrentLanguageJsonObject(lang.lang);\n if (_LangJsonObj)\n this.currentAppLanguage = _LangJsonObj;\n if (localStorage.getItem('DiaryOrJournal')) {\n if (this.encrDecr.get(Constant.EncrDecrKey,localStorage.getItem('DiaryOrJournal')) == '2') {\n this.DiaryJournal = this.currentAppLanguage.data.CALENDAR_MAIN.CONTROL_LABEL_ADD_JOURNAL;\n }\n else {\n this.DiaryJournal = this.currentAppLanguage.data.CALENDAR_MAIN.CONTROL_LABEL_ADD_DIARY;\n }\n }\n else if (this.authenticationService.currentUserValue.NoosomTypeId == 2) {\n this.DiaryJournal = this.currentAppLanguage.data.CALENDAR_MAIN.CONTROL_LABEL_ADD_JOURNAL;\n }\n else {\n this.DiaryJournal = this.currentAppLanguage.data.CALENDAR_MAIN.CONTROL_LABEL_ADD_DIARY;\n }\n }, 100);\n })\n }\n\n // Public Methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Toggle Event Sidebar\n */\n toggleEventSidebar() {\n this._coreSidebarService.getSidebarRegistry('calendar-event-sidebar').toggleOpen();\n }\n\n /**\n * Add Event\n *\n */\n AddEvent() {\n this.toggleEventSidebar();\n this._coreSidebarService.getSidebarRegistry('calendar-main-sidebar').toggleOpen();\n this._calendarService.createNewEvent();\n\n\n }\n\n onComingSoon() {\n this._toastrService.Info(this.currentAppLanguage.data.CALENDAR_MAIN.INFO_MESSAGE_COMING_SOON, Constant.InfoToastrTitle);\n }\n\n AddQuickPost() {\n this.openDialog(QuickPostComponent, 0);\n }\n\n openDialog(component: any, _data: any = []) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = false;\n dialogConfig.width = this.isMobileScreen() ? '100%' : '66%';\n // dialogConfig.height = \"80%\";\n //dialogConfig.position = { top: '2%' };\n dialogConfig.data = _data;\n const dialogRef = this.dialog.open(component, dialogConfig);\n dialogRef.afterClosed().subscribe(\n data => {\n // console.log('data');\n // console.log(data);\n if (data) {\n this._calendarService.getEvents();\n }\n }\n );\n }\n private isMobileScreen(): boolean {\n return window.innerWidth <= 767; // You can adjust this value as per your requirements\n }\n\n /**\n * If all checkbox are checked : returns TRUE\n */\n allChecked() {\n return this.calendarRef.every(v => v.checked === true);\n }\n\n /**\n * Checkbox Change\n *\n * @param event\n * @param id\n */\n checkboxChange(event, id) {\n const index = this.calendarRef.findIndex(r => {\n if (r.id === id) {\n return id;\n }\n });\n this.calendarRef[index].checked = event.target.checked;\n this._calendarService.calendarUpdate(this.calendarRef);\n this.checkAll = this.allChecked();\n }\n\n /**\n * Toggle All Checkbox\n *\n * @param event\n */\n toggleCheckboxAll(event) {\n this.checkAll = event.target.checked;\n if (this.checkAll) {\n this.calendarRef.map(res => {\n res.checked = true;\n });\n } else {\n this.calendarRef.map(res => {\n res.checked = false;\n });\n }\n this._calendarService.calendarUpdate(this.calendarRef);\n }\n\n // Lifecycle Hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On init\n */\n ngOnInit(): void {\n // Subscribe to Calendar changes\n this._calendarService.onCalendarChange.subscribe(res => {\n this.calendarRef = res;\n });\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n this.currentAppLanguage = this.GetCurrentLanguageJsonObject(this.coreConfig.app.appLanguage);\n if (localStorage.getItem('DiaryOrJournal')) {\n if (this.encrDecr.get(Constant.EncrDecrKey,localStorage.getItem('DiaryOrJournal')) == '2') {\n this.DiaryJournal = this.currentAppLanguage.data.CALENDAR_MAIN.CONTROL_LABEL_ADD_JOURNAL;\n }\n else {\n this.DiaryJournal = this.currentAppLanguage.data.CALENDAR_MAIN.CONTROL_LABEL_ADD_DIARY;\n }\n }\n else if (this.authenticationService.currentUserValue.NoosomTypeId == 2) {\n this.DiaryJournal = this.currentAppLanguage.data.CALENDAR_MAIN.CONTROL_LABEL_ADD_JOURNAL;\n }\n else {\n this.DiaryJournal = this.currentAppLanguage.data.CALENDAR_MAIN.CONTROL_LABEL_ADD_DIARY;\n }\n }\n\n GetCurrentLanguageJsonObject(currentAppLanguage) {\n var result;\n switch (currentAppLanguage) {\n case 'en':\n result = english;\n break;\n case 'in':\n result = gujarati;\n break;\n case 'hn':\n result = hindi;\n break;\n }\n return result;\n }\n}\n","import { Component, OnInit, AfterViewInit, ViewEncapsulation, ViewChild, ChangeDetectorRef, ElementRef, Renderer2 } from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { CalendarOptions, EventApi, EventClickArg, FullCalendarComponent } from '@fullcalendar/angular';\n\nimport { CoreSidebarService } from '@core/components/core-sidebar/core-sidebar.service';\nimport { CoreConfigService } from '@core/services/config.service';\n\nimport { CalendarService } from 'app/main/apps/calendar/calendar.service';\nimport { EventRef } from 'app/main/apps/calendar/calendar.model';\nimport { E } from 'assets/extensions/extensions';\nimport { QuickPostComponent } from 'app/quick-post/quick-post/quick-post.component';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { QuickpostlistService } from 'app/quickpost-list/quickpostlist.service';\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\nimport { Constant } from 'app/Classes/constant';\nimport { NoosomCategoryID, NoosomPlans } from 'app/enums';\nimport { TrackersComponent } from 'app/quick-post/trackers/trackers.component';\nimport { UploadComponent } from 'app/quick-post/upload/upload.component';\nimport { BsDatepickerConfig, BsDatepickerDirective } from 'ngx-bootstrap/datepicker';\nimport * as feather from 'feather-icons';\n@Component({\n selector: 'app-calendar',\n templateUrl: './calendar.component.html',\n styleUrls: ['./calendar.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class CalendarComponent implements OnInit, AfterViewInit {\n @ViewChild('calendareventplanner', { static: false }) calendarComponent!: FullCalendarComponent;\n // @ViewChild('calendareventplanner') calendarComponent: FullCalendarComponent;\n @ViewChild('calendareventplanner') calendarComponent1: ElementRef;\n @ViewChild('datepicker') datepicker!: BsDatepickerDirective;\n @ViewChild('calendarTitle') calendarTitle!: ElementRef;\n @ViewChild('datepicker', { static: false }) datepickerElement: ElementRef;\n public slideoutShow = false;\n public events = [];\n public event;\n public calendarRef = [];\n templcstg = JSON.parse(this._encryptDecryptService.get(Constant.EncrDecrKey, localStorage.getItem('lcstrg')))\n plan: number;\n dateMode = 'month';\n userCategory: number;\n initialDate: Date = new Date();\n public calendarOptions: CalendarOptions = {\n headerToolbar: {\n start: 'sidebarToggle, prev,next, title, customDatePicker, ',\n end: 'dayGridMonth,timeGridWeek,timeGridDay,listMonth',\n },\n initialView: 'dayGridMonth',\n viewDidMount: (info) => {\n // console.log('Current view:', info);\n if(info.view.type == 'dayGridMonth'){\n this.dateMode='month';\n // console.log(this.dateMode)\n }\n else if(info.view.type == 'timeGridWeek'){\n this.dateMode=''\n // console.log(this.dateMode)\n }\n else if(info.view.type == 'timeGridDay'){\n this.dateMode='day'\n // console.log(this.dateMode)\n }\n else if(info.view.type == 'listMonth'){this.dateMode='month';\n // console.log(this.dateMode)\n\n }\n },\n initialEvents: this.events,\n weekends: true,\n editable: true,\n eventResizableFromStart: true,\n selectable: false,\n selectMirror: true,\n dayMaxEvents: 4,\n navLinks: true,\n eventClick: this.handleUpdateEventClick.bind(this),\n eventClassNames: this.eventClass.bind(this),\n select: this.handleDateSelect.bind(this),\n eventsSet: this.handleEventsSet.bind(this),\n \n };\n bsConfig: Partial;\n\n // Private\n private _unsubscribeAll: Subject;\n\n /**\n * Constructor\n *\n * @param {CoreSidebarService} _coreSidebarService\n * @param {CalendarService} _calendarService\n * @param {CoreConfigService} _coreConfigService\n */\n constructor(\n private _coreSidebarService: CoreSidebarService,\n private _calendarService: CalendarService,\n private dialog: MatDialog,\n private _coreConfigService: CoreConfigService,\n private changeDetector: ChangeDetectorRef,\n private quickpostlistService: QuickpostlistService,\n private _encryptDecryptService: EncrDecrService,\n private renderer: Renderer2\n ) {\n this._unsubscribeAll = new Subject();\n }\n\n // Public Methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Add Event Class\n *\n * @param s\n */\n eventClass(s) {\n const calendarsColor = {\n Journal_Entry : 'primary',\n Diary_Entry : 'primary',\n Event: 'warning',\n // Personal: 'danger',\n // Family: 'warning',\n // ETC: 'info'\n };\n const colorName = calendarsColor[E.ConvertToString(s.event._def.extendedProps.calendar).replace(' ', '_')];\n return `bg-light-${colorName}`;\n }\n\n /**\n * Update Event\n *\n * @param eventRef\n */\n handleUpdateEventClick(eventRef: EventClickArg) {\n // console.log('eventRef');\n // console.log(eventRef);\n let _Id = parseInt(eventRef.event.id);\n //console.log(_Id);\n this.EditQuickPost(_Id);\n //this._coreSidebarService.getSidebarRegistry('calendar-event-sidebar').toggleOpen();\n this._calendarService.updateCurrentEvent(eventRef);\n }\n\n handleDateClick(arg) {\n alert('Date clicked: ' + arg.dateStr);\n }\n\n\n\n /**\n * Toggle the sidebar\n *\n * @param name\n */\n toggleSidebar(name): void {\n this._coreSidebarService.getSidebarRegistry(name).toggleOpen();\n }\n\n /**\n * Date select Event\n *\n * @param eventRef\n */\n handleDateSelect(eventRef) {\n const newEvent = new EventRef();\n newEvent.start = eventRef.start;\n this._coreSidebarService.getSidebarRegistry('calendar-event-sidebar').toggleOpen();\n this._calendarService.onCurrentEventChange.next(newEvent);\n }\n\n handleEventsSet(events: EventApi[]) {\n // console.log('handleEventsSet');\n // console.log(events);\n this.changeDetector.detectChanges();\n }\n\n EditQuickPost(userQuickPostID: number) {\n if ((this.plan == NoosomPlans.Premium_1)||(this.userCategory == NoosomCategoryID.Test))\n this.openDialog(UploadComponent, userQuickPostID)\n else if(this.plan == NoosomPlans.Noosom_Free_Forever)\n this.openDialog(QuickPostComponent, userQuickPostID);\n }\n\n openDialog(component: any, _data: any = []) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = false;\n dialogConfig.width = this.isMobileScreen() ? '100%' : '66%';\n //dialogConfig.height = \"80%\";\n // dialogConfig.position = { left: '23%', bottom: '8%' };\n dialogConfig.data = _data;\n const dialogRef = this.dialog.open(component, dialogConfig);\n dialogRef.afterClosed().subscribe(\n data => {\n // console.log('data');\n // console.log(data);\n if (data) {\n this._calendarService.getEvents();\n //this.loadQuickPostsdata();\n }\n }\n );\n }\n private isMobileScreen(): boolean {\n return window.innerWidth <= 767; // You can adjust this value as per your requirements\n }\n\n handleOtherButtonClick(){\n // console.log('working')\n }\n\n // Lifecycle Hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On init\n */\n ngOnInit(): void {\n // Subscribe config change\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n // ! If we have zoomIn route Transition then load calendar after 450ms(Transition will finish in 400ms)\n // if (config.layout.animation === 'zoomIn') {\n // setTimeout(() => {\n // this._calendarService.onEventChange.subscribe(res => {\n // this.events = res;\n // this.calendarOptions.events = res;\n // });\n // }, 450);\n // } else {\n // Subscribe to Event Change\n this.loadQuickPostsdata();\n this.bsConfig = {\n containerClass: 'theme-default',\n dateInputFormat: 'YYYY-MM-DD'\n };\n // this._calendarService.onEventChange.subscribe(res => {\n // //console.log('res');\n // //console.log(res);\n // this.events = res;\n // this.calendarOptions.events = res;\n // });\n //}\n });\n\n if(this.templcstg){\n this.plan = this.templcstg.NoosomPlan\n this.userCategory = this.templcstg.userCategory}\n\n this._calendarService.onCurrentEventChange.subscribe(res => {\n //console.log(res);\n this.event = res;\n });\n this._calendarService.onCalendarChange.subscribe(res => {\n this.calendarRef = res;\n });\n \n }\n // Method to open datepicker when clicking on the calendar title\n openDatepicker(): void {\n this.datepicker.show();\n }\n\n // Method to handle date change from the datepicker\n onDateChange(selectedDate: Date): void {\n if (selectedDate) {\n // Update the calendar's displayed date\n this.calendarOptions.initialDate = selectedDate.toISOString().split('T')[0];\n if(this.calendarComponent)\n this.calendarComponent.getApi().gotoDate(selectedDate); // FullCalendar API to update the displayed date\n }\n }\n\n\n addTodayButton(): void {\n const button = document.createElement('button');\n button.textContent = 'Today';\n button.className = 'btn btn-sm btn-primary today-btn';\n button.style.marginTop = '10px';\n\n // Try to locate the bs-datepicker-container by querying the DOM directly\n const datepickerContainers = document.querySelectorAll('.bs-datepicker-container');\n\n if (datepickerContainers && datepickerContainers.length > 0) {\n // Assuming there might be multiple datepickers, find the correct one\n const datepickerContainer = datepickerContainers[datepickerContainers.length - 1];\n datepickerContainer.appendChild(button);\n } else {\n console.error(\"Could not find the bs-datepicker-container\");\n }\n\n // Handle the click event of the button\n button.addEventListener('click', () => {\n const today = new Date();\n this.datepicker.bsValue=today;\n this.onDateChange(today);\n });\n }\n\n ngAfterViewChecked(): void {\n if (this.quickpostlistService.getGridRefresh()) {\n this._calendarService.getEvents();\n this.quickpostlistService.setGridRefresh(false)\n }\n }\n\n loadQuickPostsdata() {\n //console.log('loadQuickPostsdata');\n this._calendarService.onEventChange.subscribe(res => {\n // console.log('calendarComponent');\n // console.log(this.calendarComponent);\n //this.events = [];\n this.events = res;\n // this.calendarOptions.events = [];\n //this.calendarOptions.events = res;\n this.calendarOptions = { ...this.calendarOptions, events: this.events };\n //this.calendarOptions.events = [...this.events];\n });\n }\n\n /**\n * Calendar's custom button on click toggle sidebar\n */\n ngAfterViewInit() {\n // Store this to _this as we need it on click event to call toggleSidebar\n \n let _this = this;\n this.calendarOptions.customButtons = {\n // sidebarToggle: {\n // text: '',\n // click() {\n // _this.toggleSidebar('calendar-main-sidebar');\n // }\n // }\n customDatePicker: {\n text: '', // Emoji or you can use any icon HTML\n click: () => {\n this.openDatepicker()\n }\n }\n }\n const calendarContainer = document.querySelector('.fc-customDatePicker-button');\n if (calendarContainer) {\n calendarContainer.innerHTML = '';\n feather.replace(); // Call feather to replace the tag with the SVG icon\n const svgIcon = calendarContainer.querySelector('svg');\n if (svgIcon) {\n svgIcon.style.stroke = '#808080'; // Set the stroke color to grey\n }\n calendarContainer.classList.remove('fc-button-primary');\n }\n\n this.datepicker.onShown.subscribe(() => {\n // this.adjustDatepickerPosition();\n setTimeout(() => {\n this.addTodayButton();\n }, 500);\n });\n // setTimeout(() => {\n // feather.replace();\n // }, 100);\n}\n\nadjustDatepickerPosition() {\n setTimeout(() => {\n const datepickerContainer = document.querySelector('bs-datepicker-container') as HTMLElement;\n if (datepickerContainer) {\n // datepickerContainer.style.position = 'absolute';\n datepickerContainer.style.left = '600px';\n datepickerContainer.style.top = '176px';\n datepickerContainer.style.zIndex = '1050';\n }\n }, 0);\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","export class EventRef {\n id?= undefined;\n url: string;\n title: string = '';\n start: string;\n end: string;\n allDay = false;\n calendar: string = '';\n extendedProps = {\n location: '',\n description: '',\n addGuest: []\n };\n}\n\nexport class QuickPostModel {\n UserQuickPostId: number;\n UserDetailsId: number;\n QuickPostTypeId: number;\n MoodId: number;\n MoodRatingId: number;\n Title: string\n DiaryDate: Date;\n DiaryTimeFrom: Date;\n DiaryTimeTo: Date;\n PostContent: string\n Location: string\n Latitude: number;\n Longitude: number;\n TagCategory: string\n}","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { RouterModule, Routes } from '@angular/router';\n\nimport { FullCalendarModule } from '@fullcalendar/angular';\nimport dayGridPlugin from '@fullcalendar/daygrid';\nimport interactionPlugin from '@fullcalendar/interaction';\nimport listPlugin from '@fullcalendar/list';\nimport timeGridPlugin from '@fullcalendar/timegrid';\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { Ng2FlatpickrModule } from 'ng2-flatpickr';\n\nimport { CoreCommonModule } from '@core/common.module';\nimport { CoreSidebarModule } from '@core/components';\n\nimport { CalendarEventSidebarComponent } from 'app/main/apps/calendar/calendar-sidebar/calendar-event-sidebar/calendar-event-sidebar.component';\nimport { CalendarMainSidebarComponent } from 'app/main/apps/calendar/calendar-sidebar/calendar-main-sidebar/calendar-main-sidebar.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { CalendarComponent } from 'app/main/apps/calendar/calendar.component';\nimport { CalendarService } from 'app/main/apps/calendar/calendar.service';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\n\nFullCalendarModule.registerPlugins([dayGridPlugin, timeGridPlugin, listPlugin, interactionPlugin]);\n\n// routing\nconst routes: Routes = [\n {\n path: 'view',\n component: CalendarComponent,\n resolve: {\n data: CalendarService\n },\n data: { animation: 'calendar' }\n }\n];\n\n@NgModule({\n declarations: [CalendarComponent, CalendarEventSidebarComponent, CalendarMainSidebarComponent],\n imports: [\n CommonModule,\n FullCalendarModule,\n RouterModule.forChild(routes),\n CoreCommonModule,\n BsDatepickerModule.forRoot(),\n CoreSidebarModule,\n FormsModule,\n Ng2FlatpickrModule,\n NgSelectModule,\n NgbModule,\n MatDialogModule, \n TranslateModule,\n CoreCommonModule\n ],\n exports:[\n CalendarComponent,\n CalendarEventSidebarComponent,\n CalendarMainSidebarComponent\n ],\n providers: [CalendarService]\n})\nexport class CalendarModule {}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router';\n\nimport { BehaviorSubject, Observable } from 'rxjs';\n\nimport { EventRef } from 'app/main/apps/calendar/calendar.model';\nimport { LoadingScreenService } from 'app/Services/loading-screen.service';\nimport { GlobalService } from 'app/Services/global.service';\nimport { AuthenticationService } from 'app/auth/service';\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\nimport { Constant } from 'app/Classes/constant';\nimport { GetUserQuickPostsInputModel, QuickPostModel } from 'app/quick-post/quick-post-model.model';\nimport { E } from 'assets/extensions/extensions';\nimport { locale as english } from 'app/main/apps/calendar/i18n/en';\nimport { locale as french } from 'app/main/apps/calendar/i18n/fr';\nimport { locale as german } from 'app/main/apps/calendar/i18n/de';\nimport { locale as portuguese } from 'app/main/apps/calendar/i18n/pt';\nimport { locale as gujarati } from 'app/main/apps/calendar/i18n/gj';\nimport { locale as hindi } from 'app/main/apps/calendar/i18n/hn';\nimport { CoreTranslationService } from '@core/services/translation.service';\nimport { Status } from 'app/enums';\n\n@Injectable()\nexport class CalendarService implements Resolve {\n // Public\n public events: any = new Array();\n public calendar;\n public currentEvent;\n public tempEvents;\n\n currentAppLanguage: any;\n public coreConfig: any;\n public onEventChange: BehaviorSubject;\n public onCurrentEventChange: BehaviorSubject;\n public onCalendarChange: BehaviorSubject;\n getUserQuickPostsInputModel: GetUserQuickPostsInputModel;\n\n /**\n * Constructor\n *\n * @param {HttpClient} _httpClient\n */\n constructor(private _httpClient: HttpClient,\n private globalService: GlobalService,\n private authenticationService: AuthenticationService,\n private encrDecr: EncrDecrService,\n private loadingScreenService: LoadingScreenService,\n private _coreTranslationService: CoreTranslationService,) {\n this.onEventChange = new BehaviorSubject({});\n this.onCurrentEventChange = new BehaviorSubject({});\n this.onCalendarChange = new BehaviorSubject({});\n this._coreTranslationService.translate(english, french, german, portuguese, gujarati, hindi);\n }\n\n /**\n * Resolver\n *\n * @param {ActivatedRouteSnapshot} route\n * @param {RouterStateSnapshot} state\n * @returns {Observable | Promise | any}\n */\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | any {\n return new Promise((resolve, reject) => {\n Promise.all([this.getEvents(), this.getCalendar()]).then(res => {\n resolve(res);\n }, reject);\n });\n }\n\n /**\n * Get Events\n */\n async getEvents(): Promise {\n // const url = `api/calendar-events`;\n return await new Promise((resolve, reject) => {\n this.loadingScreenService.startLoading();\n const path = 'api/UserQuickPost/GetUserQuickPosts';\n let response: Observable;\n this.getUserQuickPostsInputModel = {\n UserDetailsId: this.authenticationService.currentUserValue.UserDetailsId,\n ShowAllYN: true\n }\n response = this.globalService.PostDataById(this.getUserQuickPostsInputModel, path);\n response.subscribe(\n (result) => {\n this.loadingScreenService.stopLoading();\n //console.log(result);\n if (result.status == Status.Success) {\n this.events = [];\n var _list = >JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)));\n //var _list = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n _list.forEach(_post => {\n let _event = new EventRef();\n _event.allDay = false;\n _event.calendar = this.encrDecr.get(Constant.EncrDecrKey,localStorage.getItem('DiaryOrJournal')) ? this.encrDecr.get(Constant.EncrDecrKey,localStorage.getItem('DiaryOrJournal')) == '2' ? 'Journal Entry':'Diary Entry' : this.encrDecr.get(Constant.EncrDecrKey,sessionStorage.getItem('DiaryJournal Entry')) == '2' ? 'Journal':'Diary Entry';\n _event.title = _post.Title as string;\n _event.id = _post.UserQuickPostId;\n _event.start = E.CombineDateAndTime(_post.DiaryDate, _post.DiaryTimeFrom);\n _event.end = E.CombineDateAndTime(_post.DiaryDate, _post.DiaryTimeTo) //'2022-12-22 00:00:00.000';\n _event.extendedProps.description = E.ConvertToString(_post.PostContent); //'details';\n //_event.extendedProps.location = _post.Location;\n _event.url = '';\n this.events.push(_event);\n });\n this.tempEvents = this.events;\n this.onEventChange.next(this.events);\n resolve(this.events);\n resolve(_list);\n //console.log(_list);\n return _list;\n } else {\n reject();\n }\n },\n (error) => {\n //this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n this.loadingScreenService.stopLoading();\n }\n );\n });\n }\n ngOnInit(): void {\n this.currentAppLanguage = this.GetCurrentLanguageJsonObject(this.coreConfig.app.appLanguage); \n }\n /**\n * Get Calendar\n */\n getCalendar(): Promise {\n // const url = `api/calendar-filter`;\n\n // return new Promise((resolve, reject) => {\n // this._httpClient.get(url).subscribe((response: any) => {\n // this.calendar = response;\n // this.onCalendarChange.next(this.calendar);\n // resolve(this.calendar);\n // }, reject);\n // });\n return new Promise((resolve, reject) => {\n this.calendar = [\n { id: 1, filter: this.encrDecr.get(Constant.EncrDecrKey,localStorage.getItem('DiaryOrJournal')) ? this.encrDecr.get(Constant.EncrDecrKey,localStorage.getItem('DiaryOrJournal')) == '2' ? 'Journal Entry':'Diary Entry' : this.encrDecr.get(Constant.EncrDecrKey,sessionStorage.getItem('DiaryJournal')) == '2' ? 'Journal Entry':'Diary Entry', color: 'primary', checked: true },\n // { id: 2, filter: 'Event', color: 'warning', checked: true },\n // { id: 3, filter: 'Personal', color: 'danger', checked: true },\n // { id: 4, filter: 'Family', color: 'warning', checked: true },\n // { id: 5, filter: 'ETC', color: 'info', checked: true }\n ];\n this.onCalendarChange.next(this.calendar);\n resolve(this.calendar);\n });\n\n }\n\n /**\n * Create New Event\n */\n createNewEvent() {\n this.currentEvent = {};\n this.onCurrentEventChange.next(this.currentEvent);\n }\n\n /**\n * Calendar Update\n *\n * @param calendars\n */\n calendarUpdate(calendars) {\n const calendarsChecked = calendars.filter(calendar => {\n return calendar.checked === true;\n });\n\n let calendarRef = [];\n calendarsChecked.map(res => {\n calendarRef.push(res.filter);\n });\n\n let filteredCalendar = this.tempEvents.filter(event => calendarRef.includes(event.calendar));\n this.events = filteredCalendar;\n this.onEventChange.next(this.events);\n }\n\n /**\n * Delete Event\n *\n * @param event\n */\n deleteEvent(event) {\n return new Promise((resolve, reject) => {\n this._httpClient.delete('api/calendar-events/' + event.id).subscribe(response => {\n this.getEvents();\n resolve(response);\n }, reject);\n });\n }\n\n /**\n * Add Event\n *\n * @param eventForm\n */\n addEvent(eventForm) {\n const newEvent = new EventRef();\n newEvent.url = eventForm.url;\n newEvent.title = eventForm.title;\n newEvent.start = eventForm.start;\n newEvent.end = eventForm.end;\n newEvent.allDay = eventForm.allDay;\n newEvent.calendar = eventForm.selectlabel;\n newEvent.extendedProps.location = eventForm.location;\n newEvent.extendedProps.description = eventForm.description;\n newEvent.extendedProps.addGuest = eventForm.addGuest;\n this.currentEvent = newEvent;\n this.onCurrentEventChange.next(this.currentEvent);\n this.postNewEvent();\n }\n\n /**\n * Update Event\n *\n * @param eventRef\n */\n updateCurrentEvent(eventRef) {\n const newEvent = new EventRef();\n newEvent.allDay = eventRef.event.allDay;\n newEvent.id = parseInt(eventRef.event.id);\n newEvent.url = eventRef.event.url;\n newEvent.title = eventRef.event.title;\n newEvent.start = eventRef.event.start;\n newEvent.end = eventRef.event.end;\n newEvent.calendar = eventRef.event.extendedProps.calendar;\n newEvent.extendedProps.location = eventRef.event.extendedProps.location;\n newEvent.extendedProps.description = eventRef.event.extendedProps.description;\n newEvent.extendedProps.addGuest = eventRef.event.extendedProps.addGuest;\n this.currentEvent = newEvent;\n this.onCurrentEventChange.next(this.currentEvent);\n }\n\n /**\n * Post New Event\n */\n postNewEvent() {\n return new Promise((resolve, reject) => {\n this._httpClient.post('api/calendar-events/', this.currentEvent).subscribe(response => {\n this.getEvents();\n resolve(response);\n }, reject);\n });\n }\n\n /**\n * Post Updated Event\n *\n * @param event\n */\n postUpdatedEvent(event) {\n return new Promise((resolve, reject) => {\n this._httpClient.post('api/calendar-events/' + event.id, { ...event }).subscribe(response => {\n this.getEvents();\n resolve(response);\n }, reject);\n });\n }\n GetCurrentLanguageJsonObject(currentAppLanguage) {\n var result;\n switch (currentAppLanguage) {\n case 'en':\n result = english;\n break;\n case 'in':\n result = gujarati;\n break;\n case 'hn':\n result = hindi;\n break;\n }\n return result;\n }\n}\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'de',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Es konnte keine Verbindung zum Server hergestellt werden.'\n },\n SIGNIN: {\n MOTIVATION_BADGE_SIGNIN:'Melden Sie sich an und starten Sie das Abenteuer',\n WELCOME_TEXT: 'Willkommen bei Noosom',\n CONTROL_LABEL_EMAIL:'E-Mail-Addresse',\n CONTROL_LABEL_PASSWORD:'Passwort',\n CONTROL_LABEL_REMEMBERME:'Erinnere dich an mich',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Haben Sie Ihr Passwort vergessen?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Ein Konto erstellen',\n TEXT_NEWONPLATFORM:'Neu auf unserer Plattform?',\n BUTTON_TEXT_LOGIN:'Anmeldung',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Sie haben sich erfolgreich als {0}-Benutzer bei Noosom angemeldet. Jetzt können Sie mit der Erkundung beginnen. Genießen! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Willkommen, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'Das E-Mail-Feld ist!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Das Passwortfeld ist!',\n ERROR_MESSAGE_INVALID_EMAIL:'E-Mail muss eine gültige E-Mail-Adresse sein',\n ERROR_MESSAGE_NOATTEMPTS:'Ungültiger Benutzername oder ungültiges Passwort.
Sie haben keine weiteren Versuche mehr.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Ihre E-Mail-Adresse wurde nicht verifiziert.
überprüfen Sie zuerst Ihre E-Mail-Adresse.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Dein Account wurde gesperrt.'},\n {ErrorCode:0,ErrorMessage:'Eingeloggt erfolgreich.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Ungültiger Benutzername oder ungültiges Passwort. Sie haben noch {0} Versuche.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administratorin'},{titlle:'Client',value:'Klientin'},{title:'User',value:'Benutzer'}]\n },\n SIGNUP:\n {\n MOTIVATION_BADGE_SIGNUP:'Melden Sie sich an und starten Sie das Abenteuer',\n STEPPER_TITLE_ACCOUNT:'Konto',\n STEPPER_SUB_TITLE_ACCOUNT:'Benutzernamen eingeben',\n STEPPER_TITLE_PERSONAL:'persönlich',\n STEPPER_SUB_TITLE_PERSONAL:'Information eingeben',\n HEADING_ACCOUNT:'Kontoinformationen',\n HEADING_PERSONAL:'Persönliche Informationen',\n HEADING_SELECTPLAN:'Plan auswählen',\n CONTROL_LABEL_USERID:'Noosom-Benutzer-ID',\n CONTROL_LABEL_EMAILADDRESS:'E-Mail-Addresse',\n CONTROL_LABEL_PASSWORD:'Passwort',\n CONTROL_LABEL_CONFIRMPASSWORD:'Bestätigen Sie Ihr Passwort',\n CONTROL_LABEL_REGION:'Ihre Region',\n CONTROL_LABEL_HOMECOUNTRY:'Ihr land',\n CONTROL_LABEL_FIRSTNAME:'Vorname',\n CONTROL_LABEL_MIDDLENAME:'Zweiter Vorname',\n CONTROL_LABEL_LASTNAME:'Nachname',\n CONTROL_LABEL_BIRTHDATE:'Geburtsdatum',\n CONTROL_LABEL_MOBILENO:'Handy-Nr',\n CONTROL_LABEL_SELECTPLAN:'Jetzt für immer kostenlos oder später kaufen.',\n PLACEHOLDER_TYPEHERE:'Geben Sie hier ein ...',\n PLACEHOLDER_PASSWORD:'Passwort',\n PLACEHOLDER_REGION:'Region wählen',\n PLACEHOLDER_COUNTRY:'Land auswählen',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Vorherige',\n BUTTON_TEXT_NEXT:'Nächste',\n BUTTON_TEXT_SUBMIT:'Einreichen',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Ihre Daten werden gespeichert',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'in der ausgewählten Region',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'land auswählen',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Konto erfolgreich erstellt.',\n ERROR_MESSAGE_REQUIRED_USERID:'Das Feld „Benutzername“ ist! Das Feld „E-Mail“ ist',\n ERROR_MESSAGE_EXISTED_USERID:'Dieser Benutzername wurde vergeben. Bitte versuchen Sie es mit einem anderen.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'Das Feld für die E-Mail-Adresse ist!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Diese E-Mail-Adresse wurde übernommen. Bitte versuchen Sie es mit einem anderen.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Das Passwortfeld ist!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Muss mindestens eine Zahl, einen Groß- und Kleinbuchstaben und mindestens 8 Zeichen enthalten.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'Passwort wiederholen muss übereinstimmen.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'Das Feld Passwort bestätigen ist!',\n ERROR_MESSAGE_REQUIRED_REGION:'Das Regionsfeld ist!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'Das Feld land ist!',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'Das Vornamensfeld ist!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'Das Feld für den zweiten Vornamen ist!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'Das Feld Nachname ist!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'Das Feld Geburtsdatum ist!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'Das Handy ist kein Pflichtfeld!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Bitte wählen Sie die kostenlose Planoption!',\n }\n }\n};\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'en',\n data: {\n COMMON:{\n THANKS_BADGE_SIGNUP:'Thanks for signing up!',\n TEXT_HEY:'Hey',\n TEXT_THANKS:'Thanks,',\n TEXT_NOOSOM_TEAM:'The Noosom Team',\n TEXT_READ_OUR:'Read our',\n LINK_TEXT_PRIVACY_POLICY:'Privacy Policy',\n LINK_TEXT_TERMS_CONDITIONS:'Terms & Conditions',\n LINK_TEXT_BACK_TO_LOGIN:'Back to login',\n PLACEHOLDER_EMAIL:'Type here...',\n PLACEHOLDER_TYPE_HERE:'Type here...',\n CONTROL_LABEL_EMAIL:'Email',\n CONTROL_LABEL_EMAIL_ADDRESS:'Email Address',\n CONTROL_LABEL_CONFIRM_PASSWORD:'Confirm Password',\n BUTTON_TEXT_SAVE_CHANGES:'Save changes',\n TOAST_MESSAGE_SUCCESSFUL_OTP_VERIFIED:'OTP verified successfully.',\n ERROR_MESSAGE_REQUIRED_EMAIL:'The Email Address is required!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'The password is required!',\n ERROR_MESSAGE_INVALID_EMAIL:'Please enter your email address in format:\\nyourname@example.com',\n ERROR_MESSAGE_INVALID_PASSWORD:'Must contain at least one number, one uppercase and lowercase letter, and a minimum of 8 or more characters.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'Confirm password must match.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'The confirm password is required!',\n ERROR_MESSAGE_CONNECTIONREFUSED:'Could not connect with server.',\n ERROR_MESSAGE_INVALID_OTP_DATA:'Enter valid OTP data.',\n ERROR_MESSAGE_INVALID_OTP:'Enter valid OTP.',\n COMMON_STATUS:\n [\n {ErrorCode:Status.InvalidOTP,ErrorMessage:'Invalid OTP.'},\n {ErrorCode:Status.UserNotFound,ErrorMessage:'User could not be found.'}\n ],\n },\n CALENDAR_MAIN:{\n BUTTON_TEXT_ADD_AN_EVENT: 'Add An Event',\n CONTROL_LABEL_ADD_A_QUICKPOST:'Add a Quick Post',\n CONTROL_LABEL_ADD_AN_EVENT:'Add an Event',\n CONTROL_LABEL_IMPORT_DATA:'Import Data',\n CONTROL_LABEL_FILTER:'Filter',\n CONTROL_LABEL_VIEW_ALL:'View All',\n CONTROL_LABEL_QUICKPOST:'Quick Post',\n CONTROL_LABEL_ADD_JOURNAL:'Add a Journal Entry',\n CONTROL_LABEL_ADD_DIARY:'Add a Diary Entry',\n CONTROL_LABEL_LIST_ALL:'List All',\n INFO_MESSAGE_COMING_SOON:'Coming Soon',\n },\n CHECKOUT:{\n BUTTON_TEXT_APPLY:'Apply',\n BUTTON_TEXT_CANCEL:'Cancel',\n BUTTON_TEXT_REMOVE:'Remove',\n BUTTON_TEXT_PROCEED_TO_BUY:'Proceed to Buy',\n ERROR_MESSAGE_PG_UNDER_MAINTAINANCE:'Payment Gateway is under maintenance, Try again after sometime.',\n ERROR_MESSAGE_NO_DISCOUNT_FOUND:'No Such Discount Code Found',\n HEADING_LABEL_CHECKOUT:'CHECKOUT',\n HEADING_LABEL_NOOSOM_PRIVATE:'NOOSOM PRIVATE LIMITED',\n HEADING_LABEL_STORY_OF_YOUR_LIFE:'The Story of Your Life',\n CONTROL_LABEL_CIN:'CIN',\n CONTROL_LABEL_GSTIN:'GSTIN',\n CONTROL_LABEL_DATE:'Date',\n CONTROL_LABEL_INVOICE_TO:'INVOICE TO:',\n CONTROL_LABEL_YOUR_NOOSOM_PLAN:'Your Noosom Plan',\n TABLE_HEADER_STORAGE_PLAN:'Storage Plan',\n TABLE_HEADER_COST:'Cost',\n TABLE_HEADER_STORAGE_IN_GB:'Storage in GB',\n TABLE_HEADER_DISCOUNT:'Discount %',\n TABLE_HEADER_DISCOUNT_AMOUNT:'Discount Amount',\n TABLE_HEADER_LINE_TOTAL:'Line Total'\n }\n }\n};\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'fr',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Impossible de se connecter au serveur.'\n },\n SIGNIN: {\n WELCOME_TEXT: 'Bienvenue à Noosom',\n MOTIVATION_BADGE_SIGNIN:'Connectez-vous et commencez l\\'aventure',\n CONTROL_LABEL_EMAIL:'Adresse e-mail',\n CONTROL_LABEL_PASSWORD:'Mot de passe',\n CONTROL_LABEL_REMEMBERME:'Souviens-toi de moi',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Mot de passe oublié?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Créer un compte',\n TEXT_NEWONPLATFORM:'Nouveau sur notre plateforme ?',\n BUTTON_TEXT_LOGIN:'Connexion',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Vous avez réussi à vous connecter en tant qu\\'utilisateur {0} à Noosom. Vous pouvez maintenant commencer à explorer. Prendre plaisir! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Bienvenue, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'Le champ email est!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Le champ mot de passe est!',\n ERROR_MESSAGE_INVALID_EMAIL:'L\\'e-mail doit être une adresse e-mail valide',\n ERROR_MESSAGE_NOATTEMPTS:'Nom d\\'utilisateur ou mot de passe invalide. Il ne vous reste plus aucune tentative.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Votre adresse e-mail n\\'est pas vérifiée.
vérifiez d\\'abord votre adresse e-mail.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Vôtre compte a été bloqué.'},\n {ErrorCode:0,ErrorMessage:'Connexion réussie.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Nom d\\'utilisateur ou mot de passe invalide.
Il vous reste {0} tentatives.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administratrice'},{titlle:'Client',value:'Cliente'},{title:'User',value:'Utilisatrice'}]\n },\n SIGNUP:\n {\n MOTIVATION_BADGE_SIGNUP:'Inscrivez-vous et commencez l\\'aventure',\n STEPPER_TITLE_ACCOUNT:'Compte',\n STEPPER_SUB_TITLE_ACCOUNT:'Saisissez votre nom d\\'utilisateur',\n STEPPER_TITLE_PERSONAL:'Personnelle',\n STEPPER_SUB_TITLE_PERSONAL:'Entrez les informations',\n HEADING_ACCOUNT:'Information sur le compte',\n HEADING_PERSONAL:'Renseignements personnels',\n HEADING_SELECTPLAN:'Sélectionnez le plan',\n CONTROL_LABEL_USERID:'ID utilisateur Noosom',\n CONTROL_LABEL_EMAILADDRESS:'Adresse e-mail',\n CONTROL_LABEL_PASSWORD:'Mot de passe',\n CONTROL_LABEL_CONFIRMPASSWORD:'Confirmer votre mot de passe',\n CONTROL_LABEL_REGION:'Votre région',\n CONTROL_LABEL_HOMECOUNTRY:'Votre pays',\n CONTROL_LABEL_FIRSTNAME:'Prénom',\n CONTROL_LABEL_MIDDLENAME:'Deuxième nom',\n CONTROL_LABEL_LASTNAME:'Nom de famille',\n CONTROL_LABEL_BIRTHDATE:'Date de naissance',\n CONTROL_LABEL_MOBILENO:'Mobile Non',\n CONTROL_LABEL_SELECTPLAN:'Gratuit pour l\\'instant, ou achetez plus tard.',\n PLACEHOLDER_TYPEHERE:'Écrivez ici...',\n PLACEHOLDER_PASSWORD:'Mot de passe',\n PLACEHOLDER_REGION:'Choisissez une région',\n PLACEHOLDER_COUNTRY:'Choisissez le pays',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Précédente',\n BUTTON_TEXT_NEXT:'Prochaine',\n BUTTON_TEXT_SUBMIT:'Soumettre',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Vos données seront stockées',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'dans la région sélectionnée',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'Sélectionnez le pays',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Compte créé avec succès.',\n ERROR_MESSAGE_REQUIRED_USERID:'Le champ nom d\\'utilisateur est!',\n ERROR_MESSAGE_EXISTED_USERID:'Ce nom d\\'utilisateur a été pris. Veuillez en essayer un autre.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'Le champ adresse e-mail est!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Cette adresse e-mail a été prise. Veuillez en essayer un autre.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Le champ mot de passe est!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Doit contenir au moins un chiffre, une lettre majuscule et minuscule et un minimum de 8 caractères ou plus.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'Le mot de passe répété doit correspondre.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'Le champ de confirmation du mot de passe est!',\n ERROR_MESSAGE_REQUIRED_REGION:'Le champ région est!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'Le champ du pays',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'Le champ prénom est!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'Le champ du deuxième prénom est!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'Le champ nom de famille est!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'Le champ date de naissance est!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'Le mobile aucun champ n\\'est requis!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Veuillez sélectionner l\\'option de forfait gratuit!'\n }\n }\n};\n","import { Status } from \"app/enums\";\r\n\r\nexport const locale = {\r\n lang: 'gj',\r\n data: {\r\n COMMON:{\r\n ERROR_MESSAGE_CONNECTIONREFUSED:'સર્વર સાથે કનેક્ટ કરી શકાયું નથી'\r\n },\r\n SIGNIN: {\r\n WELCOME_TEXT: 'નૂસોમ માં આપનું સ્વાગત છે',\r\n MOTIVATION_BADGE_SIGNIN:'સાઇન ઇન કરો અને સાહસ શરૂ કરો',\r\n CONTROL_LABEL_EMAIL:'ઈ - મેઈલ સરનામું',\r\n CONTROL_LABEL_PASSWORD:'પાસવર્ડ',\r\n CONTROL_LABEL_REMEMBERME:'મને યાદ રાખો',\r\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\r\n LINK_TEXT_LABEL_FORGOTPASSWORD:'તમારો પાસવર્ડ ભૂલી ગયા છો?',\r\n LINK_TEXT_LABEL_CREATEACCOUNT:'એક ખાતુ બનાવો',\r\n TEXT_NEWONPLATFORM:'અમારા પ્લેટફોર્મ પર નવા છો?',\r\n BUTTON_TEXT_LOGIN:'પ્રવેશ કરો',\r\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'તમે Noosom માં {0} વપરાશકર્તા તરીકે સફળતાપૂર્વક લૉગ ઇન કર્યું છે. હવે તમે અન્વેષણ કરવાનું શરૂ કરી શકો છો. આનંદ માણો! 🎉',\r\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 સ્વાગત છે, {0}!',\r\n ERROR_MESSAGE_REQUIRED_EMAIL:'ઈમેલ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_PASSWORD:'પાસવર્ડ આવશ્યક છે!',\r\n ERROR_MESSAGE_INVALID_EMAIL:'ઇમેઇલ એક માન્ય ઇમેઇલ સરનામું હોવું આવશ્યક છે',\r\n ERROR_MESSAGE_NOATTEMPTS:'અમાન્ય વપરાશકર્તાનામ અથવા પાસવર્ડ. તમારી પાસે કોઈ પ્રયાસો બાકી નથી.',\r\n LOGIN_STATUS:\r\n [\r\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'તમારું ઇમેઇલ સરનામું ચકાસાયેલ નથી.
પહેલા તમારું ઇમેઇલ સરનામું બદલો.'},\r\n {ErrorCode:Status.AccountLocked,ErrorMessage:'તમારું એકાઉન્ટ લોક કરી દેવામાં આવ્યું છે.'},\r\n {ErrorCode:0,ErrorMessage:'લૉગ-ઇન સફળ.'},\r\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'અમાન્ય વપરાશકર્તાનામ અથવા પાસવર્ડ.
તમારી પાસે {0} પ્રયાસો બાકી છે.'}\r\n ],\r\n DIGITS:[\"૧\",\"૨\",\"૩\",\"૪\"],\r\n ROLES:[{title:'Admin',value:'એડમિન'},{titlle:'Client',value:'ક્લાયન્ટ'},{title:'User',value:'વપરાશકર્તા'}]\r\n },\r\n SIGNUP:\r\n {\r\n MOTIVATION_BADGE_SIGNUP:'સાઇન અપ કરો અને સાહસ શરૂ કરો',\r\n STEPPER_TITLE_ACCOUNT:'એકાઉન્ટ',\r\n STEPPER_SUB_TITLE_ACCOUNT:'વપરાશકર્તા નામ દાખલ કરો',\r\n STEPPER_TITLE_PERSONAL:'અંગત',\r\n STEPPER_SUB_TITLE_PERSONAL:'માહિતી દાખલ કરો',\r\n HEADING_ACCOUNT:'ખાતાની માહિતી',\r\n HEADING_PERSONAL:'વ્યક્તિગત માહિતી',\r\n HEADING_SELECTPLAN:'પ્લાન પસંદ કરો',\r\n CONTROL_LABEL_USERID:'નૂસોમ વપરાશકર્તા આઈડી',\r\n CONTROL_LABEL_EMAILADDRESS:'ઈ - મેઈલ સરનામું',\r\n CONTROL_LABEL_PASSWORD:'પાસવર્ડ',\r\n CONTROL_LABEL_CONFIRMPASSWORD:'તમારા પાસવર્ડની ખાતરી કરો',\r\n CONTROL_LABEL_REGION:'તમારો પ્રદેશ',\r\n CONTROL_LABEL_HOMECOUNTRY:'તમારો દેશ',\r\n CONTROL_LABEL_FIRSTNAME:'પ્રથમ નામ',\r\n CONTROL_LABEL_MIDDLENAME:'પિતાનું નામ',\r\n CONTROL_LABEL_LASTNAME:'છેલ્લું નામ',\r\n CONTROL_LABEL_BIRTHDATE:'જન્મ તારીખ',\r\n CONTROL_LABEL_MOBILENO:'મોબાઈલ નમ્બર',\r\n CONTROL_LABEL_SELECTPLAN:'હમણાં માટે હંમેશ માટે મફત, અથવા પછીથી ખરીદો.',\r\n PLACEHOLDER_TYPEHERE:'અહી લખો...',\r\n PLACEHOLDER_PASSWORD:'પાસવર્ડ',\r\n PLACEHOLDER_REGION:'પ્રદેશ પસંદ કરો',\r\n PLACEHOLDER_COUNTRY:'દેશ પસંદ કરો',\r\n PLACEHOLDER_TELEPHONENUMBER:'૦૧૨૩૪૫૬૭૮૯',\r\n BUTTON_TEXT_PREVIOUS:'અગાઉના',\r\n BUTTON_TEXT_NEXT:'આગળ',\r\n BUTTON_TEXT_SUBMIT:'સબમિટ કરો',\r\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'તમારો ડેટા પસંદ કરેલ પ્રદેશમાં',\r\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'સંગ્રહિત કરવામાં આવશે',\r\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'દેશ પસંદ કરો',\r\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'એકાઉન્ટ સફળતાપૂર્વક બનાવ્યું.',\r\n ERROR_MESSAGE_REQUIRED_USERID:'યુઝરનેમ આવશ્યક છે!',\r\n ERROR_MESSAGE_EXISTED_USERID:'તે વપરાશકર્તા નામ લેવામાં આવ્યું છે. કૃપા કરીને બીજો પ્રયાસ કરો.',\r\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'ઈમેલ એડ્રેસ ફીલ્ડ છે!',\r\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'તે ઈમેલ એડ્રેસ લેવામાં આવ્યું છે. કૃપા કરીને બીજો પ્રયાસ કરો.',\r\n ERROR_MESSAGE_REQUIRED_PASSWORD:'પાસવર્ડ ફીલ્ડ છે!',\r\n ERROR_MESSAGE_INVALID_PASSWORD:'ઓછામાં ઓછા એક નંબર, એક અપરકેસ અને લોઅરકેસ અક્ષર અને ઓછામાં ઓછા 8 અથવા વધુ અક્ષરો હોવા જોઈએ.',\r\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'પુનરાવર્તિત પાસવર્ડ મેળ ખાતો હોવો જોઈએ.',\r\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'કન્ફર્મ પાસવર્ડ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_REGION:'પ્રદેશ ક્ષેત્ર આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'દેશ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'પ્રથમ નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'મધ્યમ નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_LASTNAME:'છેલ્લું નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'જન્મ તારીખ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_MOBILENO:'મોબાઇલ નંબર આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'કૃપા કરીને ફ્રી પ્લાન વિકલ્પ પસંદ કરો!'\r\n }\r\n }\r\n };\r\n ","import { Status } from \"app/enums\";\r\n\r\nexport const locale = {\r\n lang: 'hn',\r\n data: {\r\n COMMON: {\r\n THANKS_BADGE_SIGNUP: 'साइन अप करने के लिए धन्यवाद!',\r\n TEXT_HEY: 'हे',\r\n TEXT_THANKS: 'धन्यवाद,',\r\n TEXT_NOOSOM_TEAM: 'नुसम टीम',\r\n TEXT_READ_OUR: 'हमारी',\r\n LINK_TEXT_PRIVACY_POLICY: 'गोपनीयता नीति',\r\n LINK_TEXT_TERMS_CONDITIONS: 'नियम एवं शर्तें',\r\n LINK_TEXT_BACK_TO_LOGIN: 'लॉगिन पर वापस जाएं',\r\n PLACEHOLDER_EMAIL: 'यहाँ लिखो...',\r\n PLACEHOLDER_TYPE_HERE: 'यहाँ लिखो...',\r\n TOOLTIP_TEXT_BUTTON_LOGIN: 'Login',\r\n CONTROL_LABEL_EMAIL: 'ईमेल',\r\n CONTROL_LABEL_EMAIL_ADDRESS: 'ईमेल पता',\r\n CONTROL_LABEL_CONFIRM_PASSWORD: 'पासवर्ड की पुष्टि कीजिये',\r\n BUTTON_TEXT_SAVE_CHANGES: 'परिवर्तनों को सुरक्षित करें',\r\n TOAST_MESSAGE_SUCCESSFUL_OTP_VERIFIED: 'ओटीपी सफलतापूर्वक सत्यापित।',\r\n ERROR_MESSAGE_REQUIRED_EMAIL: 'ईमेल पता की आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_PASSWORD: 'पासवर्ड की आवश्यक है!',\r\n ERROR_MESSAGE_INVALID_EMAIL: 'कृपया अपना ईमेल पता प्रारूप में दर्ज करें:\\nyourname@example.com',\r\n ERROR_MESSAGE_INVALID_PASSWORD: 'कम से कम एक नंबर, एक अपरकेस और लोअरकेस अक्षर और कम से कम 8 या अधिक वर्ण होने चाहिए।',\r\n ERROR_MESSAGE_MISMATCHED_PASSWORD: 'पुष्टि करें कि पासवर्ड मेल खाना चाहिए।',\r\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD: 'पुष्टिकरण पासवर्ड आवश्यक है!',\r\n ERROR_MESSAGE_CONNECTIONREFUSED: 'सर्वर से कनेक्ट नहीं हो सका.',\r\n ERROR_MESSAGE_INVALID_OTP_DATA: 'वैध ओटीपी डेटा दर्ज करें।',\r\n ERROR_MESSAGE_INVALID_OTP: 'मान्य ओटीपी दर्ज करें।',\r\n COMMON_STATUS:\r\n [\r\n { ErrorCode: Status.InvalidOTP, ErrorMessage: 'अमान्य ओटीपी.' },\r\n { ErrorCode: Status.UserNotFound, ErrorMessage: 'उपयोगकर्ता नहीं मिल सका।' }\r\n ],\r\n },\r\n CALENDAR_MAIN: {\r\n BUTTON_TEXT_ADD_AN_EVENT: 'एक प्रसंग जोड़ें',\r\n CONTROL_LABEL_ADD_A_QUICKPOST: 'एक त्वरित पोस्ट जोड़ें',\r\n CONTROL_LABEL_ADD_AN_EVENT: 'एक प्रसंग जोड़ें',\r\n CONTROL_LABEL_IMPORT_DATA: 'इंपोर्ट डेटा',\r\n CONTROL_LABEL_FILTER: 'फिल्टर',\r\n CONTROL_LABEL_VIEW_ALL: 'सभी देखें',\r\n CONTROL_LABEL_QUICKPOST: 'त्वरित पोस्ट',\r\n CONTROL_LABEL_ADD_JOURNAL: 'एक जर्नल एंट्री जोड़ें',\r\n CONTROL_LABEL_ADD_DIARY: 'एक डायरी एंट्री जोड़ें',\r\n CONTROL_LABEL_LIST_ALL: 'सभी सूची',\r\n INFO_MESSAGE_COMING_SOON: 'जल्द आ रहा है',\r\n\r\n },\r\n CHECKOUT: {\r\n BUTTON_TEXT_APPLY: 'लागू करें',\r\n BUTTON_TEXT_CANCEL: 'रद्द करें',\r\n BUTTON_TEXT_REMOVE: 'हटाएं',\r\n BUTTON_TEXT_PROCEED_TO_BUY: 'खरीदारी करें',\r\n ERROR_MESSAGE_PG_UNDER_MAINTAINANCE: 'पेमेंट गेटवे असुधृत है, कृपया कुछ समय बाद पुनः प्रयास करें।',\r\n ERROR_MESSAGE_NO_DISCOUNT_FOUND: 'इस प्रकार का कोई डिस्काउंट कोड नहीं मिला।',\r\n HEADING_LABEL_CHECKOUT: 'चेकआउट',\r\n HEADING_LABEL_NOOSOM_PRIVATE: 'नूसोम प्राइवेट लिमिटेड',\r\n HEADING_LABEL_STORY_OF_YOUR_LIFE: 'आपके जीवन की कहानी',\r\n CONTROL_LABEL_CIN: 'सीआईएन',\r\n CONTROL_LABEL_GSTIN: 'जीएसटीआईएन',\r\n CONTROL_LABEL_DATE: 'तारीख',\r\n CONTROL_LABEL_INVOICE_TO: 'को चालान',\r\n CONTROL_LABEL_YOUR_NOOSOM_PLAN: 'आपकी नूसोम योजना',\r\n TABLE_HEADER_STORAGE_PLAN: 'स्टोरेज प्लान',\r\n TABLE_HEADER_COST: 'लागत',\r\n TABLE_HEADER_STORAGE_IN_GB: 'स्टोरेज इन जीबी',\r\n TABLE_HEADER_DISCOUNT: 'छूट %',\r\n TABLE_HEADER_DISCOUNT_AMOUNT: 'डिस्काउंट राशि',\r\n TABLE_HEADER_LINE_TOTAL: 'लाइन कुल'\r\n }\r\n }\r\n};\r\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'pt',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Não foi possível conectar com o servidor'\n },\n SIGNIN: {\n WELCOME_TEXT: 'Bem-vindo ao Noosom',\n MOTIVATION_BADGE_SIGNIN:'Faça login e comece a aventura',\n CONTROL_LABEL_EMAIL:'Endereço de email',\n CONTROL_LABEL_PASSWORD:'Senha',\n CONTROL_LABEL_REMEMBERME:'Lembre de mim',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Esqueceu sua senha?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Crie a sua conta aqui',\n TEXT_NEWONPLATFORM:'Novo em nossa plataforma?',\n BUTTON_TEXT_LOGIN:'Conecte-se',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Você fez login com sucesso como um usuário {0} no Noosom. Agora você pode começar a explorar. Apreciar! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Bem-vindo, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'O campo de e-mail!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'O campo de senha!',\n ERROR_MESSAGE_INVALID_EMAIL:'O e-mail deve ser um endereço de e-mail válido',\n ERROR_MESSAGE_NOATTEMPTS:'Nome de usuário ou senha inválidos. Não há tentativas restantes.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Seu endereço de e-mail não foi verificado.
primeiro varie seu endereço de e-mail.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Sua conta foi bloqueada.'},\n {ErrorCode:0,ErrorMessage:'Logado com sucesso.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Nome de usuário ou senha inválidos.
Você tem {0} tentativas restantes.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administrador'},{titlle:'Client',value:'Cliente'},{title:'User',value:'Do utilizador'}]\n },\n SIGNUP:\n {\n STEPPER_TITLE_ACCOUNT:'Conta',\n STEPPER_SUB_TITLE_ACCOUNT:'Insira nome de usuário',\n STEPPER_TITLE_PERSONAL:'Pessoal',\n STEPPER_SUB_TITLE_PERSONAL:'Insira as informações',\n HEADING_ACCOUNT:'Informação da conta',\n HEADING_PERSONAL:'Informação pessoal',\n HEADING_SELECTPLAN:'Selecione o plano',\n CONTROL_LABEL_USERID:'ID de usuário Noosom',\n CONTROL_LABEL_EMAILADDRESS:'Endereço de email',\n CONTROL_LABEL_PASSWORD:'Senha',\n CONTROL_LABEL_CONFIRMPASSWORD:'Confirme sua senha',\n CONTROL_LABEL_REGION:'Sua região',\n CONTROL_LABEL_HOMECOUNTRY:'Seu país de',\n CONTROL_LABEL_FIRSTNAME:'Primeiro nome',\n CONTROL_LABEL_MIDDLENAME:'Nome do meio',\n CONTROL_LABEL_LASTNAME:'Sobrenome',\n CONTROL_LABEL_BIRTHDATE:'Data de nascimento',\n CONTROL_LABEL_MOBILENO:'Celular não',\n CONTROL_LABEL_SELECTPLAN:'Grátis para sempre por agora, ou compre mais tarde.',\n PLACEHOLDER_TYPEHERE:'Digite aqui...',\n PLACEHOLDER_PASSWORD:'Senha',\n PLACEHOLDER_REGION:'Selecione a região',\n PLACEHOLDER_COUNTRY:'Selecione o pais',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Anterior',\n BUTTON_TEXT_NEXT:'Próxima',\n BUTTON_TEXT_SUBMIT:'Enviar',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Seus dados serão armazenados',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'na região selecionada',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'Selecione o país de',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Conta criada com sucesso.',\n ERROR_MESSAGE_REQUIRED_USERID:'O campo de nome de usuário!',\n ERROR_MESSAGE_EXISTED_USERID:'Esse nome de usuário foi usado. Por favor, tente outro.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'O campo de endereço de e-mail!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Esse endereço de e-mail foi usado. Por favor, tente outro.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'O campo de senha!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Deve conter pelo menos um número, uma letra maiúscula e uma minúscula e um mínimo de 8 ou mais caracteres.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'A senha repetida deve corresponder.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'O campo de confirmação de senha!',\n ERROR_MESSAGE_REQUIRED_REGION:'O campo região!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'O campo do país de!',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'O campo de nome!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'O campo de nome do meio!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'O campo sobrenome!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'O campo data de nascimento!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'O celular nenhum campo!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Selecione a opção de plano gratuito!'\n }\n }\n};\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router';\n\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EcommerceService implements Resolve {\n // Public\n public productList: Array;\n public wishlist: Array;\n public cartList: Array;\n public selectedProduct;\n public relatedProducts;\n\n public onProductListChange: BehaviorSubject;\n public onRelatedProductsChange: BehaviorSubject;\n public onWishlistChange: BehaviorSubject;\n public onCartListChange: BehaviorSubject;\n public onSelectedProductChange: BehaviorSubject;\n\n // Private\n private idHandel;\n\n private sortRef = key => (a, b) => {\n const fieldA = a[key];\n const fieldB = b[key];\n\n let comparison = 0;\n if (fieldA > fieldB) {\n comparison = 1;\n } else if (fieldA < fieldB) {\n comparison = -1;\n }\n return comparison;\n };\n\n /**\n * Constructor\n *\n * @param {HttpClient} _httpClient\n */\n constructor(private _httpClient: HttpClient) {\n this.onProductListChange = new BehaviorSubject({});\n this.onRelatedProductsChange = new BehaviorSubject({});\n this.onWishlistChange = new BehaviorSubject({});\n this.onCartListChange = new BehaviorSubject({});\n this.onSelectedProductChange = new BehaviorSubject({});\n }\n\n /**\n * Resolver\n *\n * @param {ActivatedRouteSnapshot} route\n * @param {RouterStateSnapshot} state\n * @returns {Observable | Promise | any}\n */\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | any {\n this.idHandel = route.params.id;\n\n return new Promise((resolve, reject) => {\n Promise.all([this.getProducts(), this.getWishlist(), this.getCartList(), this.getSelectedProduct()]).then(() => {\n resolve();\n }, reject);\n });\n }\n\n /**\n * Get Products\n */\n getProducts(): Promise {\n return new Promise((resolve, reject) => {\n this._httpClient.get('api/ecommerce-products').subscribe((response: any) => {\n this.productList = response;\n this.sortProduct('featured'); // Default shorting\n resolve(this.productList);\n }, reject);\n });\n }\n\n /**\n * Get Wishlist\n */\n getWishlist(): Promise {\n return new Promise((resolve, reject) => {\n this._httpClient.get('api/ecommerce-userWishlist').subscribe((response: any) => {\n this.wishlist = response;\n this.onWishlistChange.next(this.wishlist);\n resolve(this.wishlist);\n }, reject);\n });\n }\n\n /**\n * Get CartList\n */\n getCartList(): Promise {\n return new Promise((resolve, reject) => {\n this._httpClient.get('api/ecommerce-userCart').subscribe((response: any) => {\n this.cartList = response;\n\n this.onCartListChange.next(this.cartList);\n resolve(this.cartList);\n }, reject);\n });\n }\n\n /**\n * Get Selected Product\n */\n getSelectedProduct(): Promise {\n return new Promise((resolve, reject) => {\n this._httpClient.get('api/ecommerce-products?id=' + this.idHandel).subscribe((response: any) => {\n this.selectedProduct = response;\n this.onSelectedProductChange.next(this.selectedProduct);\n resolve(this.selectedProduct);\n }, reject);\n });\n }\n\n /**\n * Get Related Products\n */\n getRelatedProducts(): Promise {\n return new Promise((resolve, reject) => {\n this._httpClient.get('api/ecommerce-relatedProducts').subscribe((response: any) => {\n this.relatedProducts = response;\n this.onRelatedProductsChange.next(this.relatedProducts);\n resolve(this.relatedProducts);\n }, reject);\n });\n }\n\n /**\n * Sort Product\n *\n * @param sortBy\n */\n sortProduct(sortBy) {\n let sortDesc = false;\n\n const sortByKey = (() => {\n if (sortBy === 'price-desc') {\n sortDesc = true;\n return 'price';\n }\n if (sortBy === 'price-asc') {\n return 'price';\n }\n sortDesc = true;\n return 'id';\n })();\n\n const sortedData = this.productList.sort(this.sortRef(sortByKey));\n if (sortDesc) sortedData.reverse();\n this.productList = sortedData;\n this.onProductListChange.next(this.productList);\n }\n\n /**\n * Add In Wishlist\n *\n * @param id\n */\n addToWishlist(id) {\n return new Promise((resolve, reject) => {\n const lengthRef = this.wishlist.length + 1;\n const wishRef = { id: lengthRef, productId: id };\n\n this._httpClient.post('api/ecommerce-userWishlist/' + lengthRef, { ...wishRef }).subscribe(response => {\n this.getWishlist();\n resolve();\n }, reject);\n });\n }\n\n /**\n * Remove From Wishlist\n *\n * @param id\n */\n removeFromWishlist(id) {\n const indexRef = this.wishlist.findIndex(wishlistRef => wishlistRef.productId === id); // Get the index ref\n const indexId = this.wishlist[indexRef].id; // Get the product wishlist id from indexRef\n return new Promise((resolve, reject) => {\n this._httpClient.delete('api/ecommerce-userWishlist/' + indexId).subscribe((response: any) => {\n this.getWishlist();\n resolve();\n }, reject);\n });\n }\n\n /**\n * Add In Cart\n *\n * @param id\n */\n addToCart(id) {\n return new Promise((resolve, reject) => {\n const maxValueId = Math.max(...this.cartList.map(cart => cart.id), 0) + 1;\n const cartRef = { id: maxValueId, productId: id, qty: 1 };\n var cartId: any = '';\n\n // If cart is not Empty\n if (maxValueId !== 1) {\n cartId = maxValueId;\n }\n this._httpClient.post('api/ecommerce-userCart/' + cartId, { ...cartRef }).subscribe(response => {\n this.getCartList();\n resolve();\n }, reject);\n });\n }\n\n /**\n * Remove From Cart\n *\n * @param id\n */\n removeFromCart(id) {\n const indexRef = this.cartList.findIndex(cartListRef => cartListRef.productId === id); // Get the index ref\n const indexId = this.cartList[indexRef].id; // Get the product wishlist id from indexRef\n\n return new Promise((resolve, reject) => {\n this._httpClient.delete('api/ecommerce-userCart/' + indexId).subscribe((response: any) => {\n this.getCartList();\n resolve();\n }, reject);\n });\n }\n}\n","import { animate, keyframes, state, style, transition, trigger } from '@angular/animations';\n\nexport const toastrSlideY = trigger('flyInOut', [\n state(\n 'inactive',\n style({\n opacity: 0\n })\n ),\n transition(\n 'inactive => active',\n animate(\n '400ms ease-out',\n keyframes([\n style({\n transform: 'translateX(100%)',\n opacity: 0\n }),\n style({\n transform: 'translateX(0%)',\n opacity: 1\n })\n ])\n )\n ),\n transition(\n 'active => removed',\n animate(\n '400ms ease-out',\n keyframes([\n style({\n transform: 'translateX(0%)',\n opacity: 1\n }),\n style({\n transform: 'translateX(100%)',\n opacity: 0\n })\n ])\n )\n )\n]);\n","\n
\n
\n
\n {{ title }}\n
\n
\n \n {{ message }}\n
\n \n
\n \n
\n\n
\n
\n
\n\n","import { Component } from '@angular/core';\n\nimport { Toast, ToastrService, ToastPackage } from 'ngx-toastr';\n\nimport { toastrSlideY } from 'app/main/extensions/toastr/custom-toastr/custom-toastr.animation';\n\n@Component({\n selector: '[app-custom-toastr-component]',\n templateUrl: './custom-toastr.component.html',\n animations: [toastrSlideY],\n preserveWhitespaces: false\n})\nexport class CustomToastrComponent extends Toast {\n constructor(protected toastrService: ToastrService, public toastPackage: ToastPackage) {\n super(toastrService, toastPackage);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router';\n\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n@Injectable()\nexport class ProfileService implements Resolve {\n rows: any;\n onPricingChanged: BehaviorSubject;\n\n /**\n * Constructor\n *\n * @param {HttpClient} _httpClient\n */\n constructor(private _httpClient: HttpClient) {\n // Set the defaults\n this.onPricingChanged = new BehaviorSubject({});\n }\n\n /**\n * Resolver\n *\n * @param {ActivatedRouteSnapshot} route\n * @param {RouterStateSnapshot} state\n * @returns {Observable | Promise | any}\n */\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | any {\n return new Promise((resolve, reject) => {\n Promise.all([this.getDataTableRows()]).then(() => {\n resolve();\n }, reject);\n });\n }\n\n /**\n * Get rows\n */\n getDataTableRows(): Promise {\n return new Promise((resolve, reject) => {\n this._httpClient.get('api/profile-data').subscribe((response: any) => {\n this.rows = response;\n this.onPricingChanged.next(this.rows);\n resolve(this.rows);\n }, reject);\n });\n }\n}\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'de',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Es konnte keine Verbindung zum Server hergestellt werden.'\n },\n SIGNIN: {\n MOTIVATION_BADGE_SIGNIN:'Melden Sie sich an und starten Sie das Abenteuer',\n WELCOME_TEXT: 'Willkommen bei Noosom',\n CONTROL_LABEL_EMAIL:'E-Mail-Addresse',\n CONTROL_LABEL_PASSWORD:'Passwort',\n CONTROL_LABEL_REMEMBERME:'Erinnere dich an mich',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Haben Sie Ihr Passwort vergessen?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Ein Konto erstellen',\n TEXT_NEWONPLATFORM:'Neu auf unserer Plattform?',\n BUTTON_TEXT_LOGIN:'Anmeldung',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Sie haben sich erfolgreich als {0}-Benutzer bei Noosom angemeldet. Jetzt können Sie mit der Erkundung beginnen. Genießen! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Willkommen, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'Das E-Mail-Feld ist!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Das Passwortfeld ist!',\n ERROR_MESSAGE_INVALID_EMAIL:'E-Mail muss eine gültige E-Mail-Adresse sein',\n ERROR_MESSAGE_NOATTEMPTS:'Ungültiger Benutzername oder ungültiges Passwort.
Sie haben keine weiteren Versuche mehr.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Ihre E-Mail-Adresse wurde nicht verifiziert.
überprüfen Sie zuerst Ihre E-Mail-Adresse.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Dein Account wurde gesperrt.'},\n {ErrorCode:0,ErrorMessage:'Eingeloggt erfolgreich.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Ungültiger Benutzername oder ungültiges Passwort. Sie haben noch {0} Versuche.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administratorin'},{titlle:'Client',value:'Klientin'},{title:'User',value:'Benutzer'}]\n },\n SIGNUP:\n {\n MOTIVATION_BADGE_SIGNUP:'Melden Sie sich an und starten Sie das Abenteuer',\n STEPPER_TITLE_ACCOUNT:'Konto',\n STEPPER_SUB_TITLE_ACCOUNT:'Benutzernamen eingeben',\n STEPPER_TITLE_PERSONAL:'persönlich',\n STEPPER_SUB_TITLE_PERSONAL:'Information eingeben',\n HEADING_ACCOUNT:'Kontoinformationen',\n HEADING_PERSONAL:'Persönliche Informationen',\n HEADING_SELECTPLAN:'Plan auswählen',\n CONTROL_LABEL_USERID:'Noosom-Benutzer-ID',\n CONTROL_LABEL_EMAILADDRESS:'E-Mail-Addresse',\n CONTROL_LABEL_PASSWORD:'Passwort',\n CONTROL_LABEL_CONFIRMPASSWORD:'Bestätigen Sie Ihr Passwort',\n CONTROL_LABEL_REGION:'Ihre Region',\n CONTROL_LABEL_HOMECOUNTRY:'Ihr land',\n CONTROL_LABEL_FIRSTNAME:'Vorname',\n CONTROL_LABEL_MIDDLENAME:'Zweiter Vorname',\n CONTROL_LABEL_LASTNAME:'Nachname',\n CONTROL_LABEL_BIRTHDATE:'Geburtsdatum',\n CONTROL_LABEL_MOBILENO:'Handy-Nr',\n CONTROL_LABEL_SELECTPLAN:'Jetzt für immer kostenlos oder später kaufen.',\n PLACEHOLDER_TYPEHERE:'Geben Sie hier ein ...',\n PLACEHOLDER_PASSWORD:'Passwort',\n PLACEHOLDER_REGION:'Region wählen',\n PLACEHOLDER_COUNTRY:'Land auswählen',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Vorherige',\n BUTTON_TEXT_NEXT:'Nächste',\n BUTTON_TEXT_SUBMIT:'Einreichen',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Ihre Daten werden gespeichert',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'in der ausgewählten Region',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'land auswählen',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Konto erfolgreich erstellt.',\n ERROR_MESSAGE_REQUIRED_USERID:'Das Feld „Benutzername“ ist! Das Feld „E-Mail“ ist',\n ERROR_MESSAGE_EXISTED_USERID:'Dieser Benutzername wurde vergeben. Bitte versuchen Sie es mit einem anderen.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'Das Feld für die E-Mail-Adresse ist!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Diese E-Mail-Adresse wurde übernommen. Bitte versuchen Sie es mit einem anderen.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Das Passwortfeld ist!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Muss mindestens eine Zahl, einen Groß- und Kleinbuchstaben und mindestens 8 Zeichen enthalten.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'Passwort wiederholen muss übereinstimmen.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'Das Feld Passwort bestätigen ist!',\n ERROR_MESSAGE_REQUIRED_REGION:'Das Regionsfeld ist!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'Das Feld land ist!',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'Das Vornamensfeld ist!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'Das Feld für den zweiten Vornamen ist!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'Das Feld Nachname ist!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'Das Feld Geburtsdatum ist!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'Das Handy ist kein Pflichtfeld!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Bitte wählen Sie die kostenlose Planoption!',\n }\n }\n};\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'en',\n data: {\n COMMON: {\n CONTROL_LABEL_EMAIL_ADDRESS: 'Email Address',\n PLACEHOLDER_EMAIL_ADDRESS: 'Type here...',\n PLACEHOLDER_TYPE_HERE: 'Type here...',\n PLACEHOLDER_MOBILE_NUMBER: '0123456789',\n BUTTON_TEXT_SAVE_CHANGES: 'Save Changes',\n BUTTON_TEXT_CANCEL: 'Cancel',\n ERROR_MESSAGE_REQUIRED_EMAIL_ADDRESS: 'The email is required!',\n ERROR_MESSAGE_INVALID_EMAIL: 'Please enter your email address in format:\\nyourname@example.com',\n ERROR_MESSAGE_CONNECTIONREFUSED: 'Could not connect with server.',\n TOOLTIP_TEXT_BUTTON_CLOSE: 'Close',\n BUTTON_TEXT_SAVE:'Save',\n BUTTON_TEXT_SAVE_SEND:'Save and Send',\n COMMON_STATUS:\n [\n { ErrorCode: Status.UserNotFound, ErrorMessage: 'User could not be found.' }\n ],\n },\n MEONWEB: {\n BUTTON_TEXT_BUTTON_ADD_NEW_PASTIME: 'Add a Web Entry',\n CONTROL_LABEL_ENTRY_NAME: 'ENTRY NAME',\n CONTROL_LABEL_DATE_POSTED: 'DATE POSTED',\n CONTROL_LABEL_URL_WEBSITE: 'URL OF THE WEBSITE',\n CONTROL_LABEL_DESCRIPTION: 'DESCRIPTION',\n CONTROL_LABEL_ACTION: 'ACTIONS',\n CONTROL_LABEL_FIELD_ENTRY_NAME: 'Entry Name',\n CONTROL_LABEL_FIELD_DATE_POSTED: 'Date Posted',\n CONTROL_LABEL_FIELD_URL_WEBSITE: 'URL of the Website',\n CONTROL_LABEL_FIELD_DESCRIPTION: 'Description',\n CONTROL_LABEL_FIELD_NOTES: 'Notes',\n CONTROL_LABEL_LEGAL_DOCUMENTS: 'LEGAL DOCUMENT NAME',\n CONTROL_LABEL_NOTES: 'NOTES',\n DIALOG_TITLE_ADD_WEB: 'Add a Web Entry',\n ERROR_MESSAGE_ENTRY_NAME_REQUIRED:'The entry name is required!',\n HEADING_LABEL_ME_ON_WEB: 'Me on the Web',\n SECTION_HEADING_HI: 'Hi',\n SECTION_HEADING_ABOUT_ME: 'This is everything about you and your profile with us',\n TOOLTIP_TEXT_BUTTON_ADD_NEW_RECORD: 'Add a New Record',\n TOOLTIP_TEXT_WEB_TITLE: 'A Short Title',\n TOOLTIP_TEXT_WEB_PUBLICATION_DATE: 'Date the Web / Article Entry was published',\n TOOLTIP_TEXT_WEB_URL: 'The website URL or link of the Page published on',\n TOOLTIP_TEXT_WEB_DESCRIPTION: 'Enter a short description about this web entry',\n TOOLTIP_TEXT_WEB_OTHER_INFO: 'Add any other information about this web entry',\n TOOLTIP_TEXT_WEB_ENTRY_INFORMATION: 'Add some information about any of your Web Entry',\n ERROR_MESSAGE_MAX_LENGTH_50: 'You have typed too many characters, maximum allowed is 50',\n ERROR_MESSAGE_MAX_LENGTH_100: 'You have typed too many characters, maximum allowed is 100',\n ERROR_MESSAGE_MAX_LENGTH_120: 'You have typed too many characters, maximum allowed is 120',\n ERROR_MESSAGE_MAX_LENGTH_250: 'You have typed too many characters, maximum allowed is 250',\n ERROR_MESSAGE_MAX_LENGTH_1000: 'You have typed too many characters, maximum allowed is 1000',\n ERROR_MESSAGE_INVALID_EMAIL: 'Invalid Email Address!',\n ERROR_MESSAGE_EXIST_EMAIL: 'This email address is already connected with a friend, family member, or is your own. Please use a different one.',\n ERROR_MESSAGE_MAX_LENGTH_320: 'You have typed too many characters, maximum allowed is 320',\n CONTROL_LABEL_ADD_EMAIL:'Add Email',\n CONTROL_LABEL_EMAIL_ADDRESS: 'Email Address',\n TOOLTIP_TEXT_EMAIL: 'Enter the Family Member\\'s Email Address',\n TOOLTIP_TEXT_FRIENDS_EMAIL:'Enter your friend\\'s Email Address',\n TOAST_MESSAGE_FAMILY_UPDATED_SUCCESSFULLY: 'Family Member Updated Successfully',\n TOAST_MESSAGE_FAMILY_ADDED_SUCCESSFULLY: 'Family Member Added Successfully',\n TOAST_MESSAGE_FRIEND_UPDATED_SUCCESSFULLY: 'Friend Updated Successfully',\n TOAST_MESSAGE_FRIEND_ADDED_SUCCESSFULLY: 'Friend Added Successfully',\n SWEET_ALERT_TITLE_FAMILY_TEXT: 'Are you sure, you want to delete this Family Detail?',\n SWEET_ALERT_TITLE_FRIEND_TEXT: 'Are you sure, you want to delete this Friend Detail?',\n SWEET_ALERT_TITLE_INVITATION_TEXT: 'You are about to send Personname an invitation email to connect with you on Noosom.',\n SWEET_ALERT_TITLE_JOB_TEXT: 'Are you sure, you want to delete this Job Detail?',\n SWEET_ALERT_TEXT: \"You won't be able to undo this!\",\n SWEET_ALERT_NO_BUTTON: 'NO',\n SWEET_ALERT_YES_BUTTON: 'YES',\n SWEET_ALERT_SURE_TEXT: 'Are you sure ?',\n SWEET_ALERT_CONFIRM_BUTTON_TEXT: 'Yes, delete it!',\n SWEET_ALERT_CANCEL_BUTTON_TEXT: 'Cancel',\n },\n AWARDS: {\n HEADING_MY_AWARDS: 'My Awards',\n BUTTON_ADD_AN_AWARD: 'Add an Award',\n BUTTON_TEXT_ADD_AN_ACHIEVEMENT: 'Add an Achievement',\n BUTTON_TEXT_ADD_AN_EDUCATIONAL_ACHIEVEMENT: 'Add an Educational Achievement',\n BUTTON_TEXT_ADD_AN_PROFESSIONAL_ACHIEVEMENT: 'Add a Professional Achievement',\n BUTTON_TEXT_ADD_AN_MISCELLANEOUS_ACHIEVEMENT: 'Add a Miscellaneous Achievement',\n DATA_TABLE_HEADER_TEXT_NAME_OF_THE_AWARD: 'NAME OF THE AWARD',\n DATA_TABLE_HEADER_TEXT_OCCASION: 'OCCASION',\n DATA_TABLE_HEADER_TEXT_OCCASION_NOTES: 'OCCASION NOTES',\n DATA_TABLE_HEADER_TEXT_DATE_RECEIVED: 'DATE RECEIVED',\n DATA_TABLE_HEADER_TEXT_ACTIONS: 'ACTIONS',\n DATA_TABLE_HEADER_TEXT_NAME_OF_THE_ACHIEVEMENT: 'NAME OF THE ACHIEVEMENT',\n SECTION_HEADING_MY_ACHIEVEMENT: 'My Achievements',\n SECTION_HEADING_MY_EDUCATIONAL_ACHIEVEMENT: 'My Educational Achievements',\n SECTION_HEADING_MY_PROFESSIONAL_ACHIEVEMENT: 'My Professional Achievements',\n SECTION_HEADING_MY_MISCELLANEOUS_ACHIEVEMENT: 'My Miscellaneous Achievements',\n SWEET_ALERT_TITLE_AWARD_TEXT: 'Are you sure, you want to delete this Award?',\n SWEET_ALERT_TITLE_ACHIEVEMENT_TEXT: 'Are you sure, you want to delete this Achievement?',\n SWEET_ALERT_TEXT: \"You won't be able to undo this!\",\n SWEET_ALERT_CONFIRM_BUTTON_TEXT: 'Yes, delete it!',\n SWEET_ALERT_CANCEL_BUTTON_TEXT: 'Cancel',\n },\n MY_JOBS: {\n BUTTON_TEXT_ADD_A_NEW_JOBS: 'Add a New Job',\n DATA_TABLE_HEADER_TEXT_EMPLOYER: 'EMPLOYER',\n DATA_TABLE_HEADER_TEXT_JOB_DESCRIPTION: 'JOB DESCRIPTION',\n DATA_TABLE_HEADER_TEXT_DATE_FROM: 'DATE FROM',\n DATA_TABLE_HEADER_TEXT_DATE_TO: 'DATE TO',\n DATA_TABLE_HEADER_TEXT_ACTIONS: 'ACTIONS',\n DATA_TABLE_HEADER_TEXT_ADDRESS: 'ADDRESS',\n DATA_TABLE_HEADER_TEXT_NOTES: 'NOTES',\n SECTION_HEADING_MY_JOB: 'My Jobs',\n },\n MY_FAMILIES: {\n BUTTON_TEXT_ADD_AN_OWN_FAMILY_MEMBER: 'Add an Own Family Member',\n BUTTON_TEXT_ADD_A_BIRTH_FAMILY_MEMBER: 'Add a Birth Family Member',\n BUTTON_TEXT_ADD_AN_OTHER_FAMILY_MEMBER: 'Add an Other Family Member',\n DATA_TABLE_HEADER_TEXT_FIRST_NAME: 'FIRST NAME',\n DATA_TABLE_HEADER_TEXT_LAST_NAME: 'LAST NAME',\n DATA_TABLE_HEADER_TEXT_DATE_OF_BIRTH: 'DATE OF BIRTH',\n DATA_TABLE_HEADER_TEXT_RELATIONSHIP: 'RELATIONSHIP',\n DATA_TABLE_HEADER_TEXT_EMAIL_ADDRESS: 'EMAIL ADDRESS',\n DATA_TABLE_HEADER_TEXT_PERSONAL_WEB_URL: 'PERSONAL WEB URL',\n DATA_TABLE_HEADER_TEXT_NOOSOM_WEB_URL: 'NOOSOM WEB URL',\n DATA_TABLE_HEADER_TEXT_LINKED: 'LINKED?',\n TAB_LINK_TEXT_MY_OWN_FAMILY: 'My Own Family',\n TAB_LINK_TEXT_MY_BIRTH_FAMILY: 'My Birth Family',\n TAB_LINK_TEXT_MY_OTHER_FAMILY: 'My Other Family',\n TOOLTIP_TEXT_BIRTH_FAMILY_INFO:'This is the family you were born into, Mother, Father, Brother Sister etc',\n TOOLTIP_TEXT_OWN_FAMILY_INFO:'Your family by marriage, wife, husband, children, grand children',\n TOOLTIP_TEXT_OTHER_FAMILY_INFO:'In laws, aunties, uncles, nieces, nephews etc'\n },\n LEGALS: {\n ADD_TITLE: 'Add a Legal Document',\n EDIT_TITLE: 'Edit a Legal Document',\n CONTROL_LABEL_LEGAL: 'Name of the Legal Document',\n CONTROL_LABEL_NOTES: 'Notes',\n TAB_HEADING_LEGAL_DETAILS: 'Legal Details',\n TAB_HEADING_UPLOAD: 'Upload',\n TAB_HEADING_DOCUMENT: 'Document',\n TAB_HEADING_IMAGES: 'Images',\n BUTTON_TEXT_SAVE_AND_CLOSE: 'Save and Close',\n BUTTON_TEXT_SAVE_AND_NEXT: 'Save and Next',\n BUTTON_TEXT_ABANDON: 'Abandon',\n BUTTON_TEXT_CANCEL: 'Cancel',\n BUTTON_TEXT_UPLOAD_ALL: 'Upload All',\n BUTTON_TEXT_PAUSE_ALL: 'Pause All',\n BUTTON_TEXT_DOWNLOAD_ALL: 'Download All',\n BUTTON_TEXT_REMOVE_ALL: 'Remove All',\n BUTTON_TEXT_SAVE_CHANGES: 'Save Changes',\n BUTTON_TEXT_ADD_DOCUMENTS:'Add a Document',\n COLUMN_HEADING_NAME: 'NAME',\n COLUMN_HEADING_SIZE: 'SIZE',\n COLUMN_HEADING_PROGRESS: 'PROGRESS',\n COLUMN_HEADING_STATUS: 'STATUS',\n COLUMN_HEADING_DATE_CREATED: 'DATE CREATED',\n COLUMN_HEADING_TYPE: 'TYPE',\n COLUMN_HEADING_ACTIONS: 'ACTIONS',\n ERROR_MESSAGE_LEGAL_DOC_NAME:'The name of the legal document is required!',\n HEADING_MY_LEGALS:'My Legals',\n HEADING_TEXT_SELECT_IMAGES: 'Select Documents',\n HEADING_TEXT_UPLOAD_QUEUE: 'Upload Queue',\n HEADING_TEXT_QUEUE_PROGRESS: 'Queue Progress',\n PLACEHOLDER_CHOOSE_FILES: 'Choose Files',\n SECTION_TEXT1: 'Select some documents. You can upload them one at a time or select Upload All at once.',\n SECTION_TEXT2: 'All your documents will be displayed here in a list. You can download or delete them individually.',\n SWEET_ALERT_TITLE_PASTIME_TEXT: 'Are you sure, you want to delete this Legal Document?',\n // SWEET_ALERT_TITLE_HOBBY_TEXT:'Are you sure, you want to delete this Hobby?',\n SWEET_ALERT_TEXT: \"You won't be able to undo this!\",\n SWEET_ALERT_CONFIRM_BUTTON_TEXT: 'Yes, delete it!',\n SWEET_ALERT_CONFIRM_BUTTON_TEXT_UNLINK: 'Yes, unlink it!',\n SWEET_ALERT_CANCEL_BUTTON_TEXT: 'Cancel',\n CONTROL_LABEL_MULTIPLE: 'Multiple',\n SWEET_ALERT_TITLE_ADDRESS_DOCUMENT_TEXT: 'Are you sure, you want to unlink this Legals Document?',\n SWEET_ALERT_TITLE_HOBBY_DOCUMENT_TEXT: 'Are you sure, you want to delete this Hobby Document?',\n SWEET_ALERT_TITLE_ALL_ADDRESS_DOCUMENT_TEXT: 'Are you sure, you want to delete all these Pastime Documents?',\n SWEET_ALERT_TITLE_ALL_HOBBY_DOCUMENT_TEXT: 'Are you sure, you want to delete all these Hobby Documents?',\n SWEET_ALERT_TITLE_INSURANCE_TEXT: 'Are you sure, you want to delete this Legals and all the attachments associated with it?',\n SWEET_ALERT_TEXT_DELETED: 'Deleted!',\n SWEET_ALERT_CONFIRM_BUTTON_TEXT_OKAY: 'OK',\n TEXT_FILE_TYPES: 'Allowed file types:',\n TEXT_QUEUE_LENGTH: 'Queue Length:',\n TEXT_MB: 'MB',\n TOOLTIP_TEXT_BUTTON_UPLOAD: 'Upload',\n TOOLTIP_TEXT_BUTTON_DOWNLOAD: 'Download',\n TOOLTIP_TEXT_BUTTON_VIEW: 'View',\n TOOLTIP_TEXT_BUTTON_DELETE: 'Delete',\n TOOLTIP_TEXT_BUTTON_REMOVE: 'Remove',\n TOOLTIP_TOGGLE_CALENDAR: 'Toggle Calendar',\n TOOLTIP_TEXT_TEXT_STYLE: 'Text Style',\n TOOLTIP_TEXT_TEXT_SIZE: 'Text Size',\n TOOLTIP_TEXT_TEXT_COLOUR: 'Text Colour',\n TOOLTIP_TEXT_TEXT_ALIGNMENT: 'Text Alignment',\n TOOLTIP_TEXT_BOLD: 'Bold',\n TOOLTIP_TEXT_ITALIC: 'Italic',\n TOOLTIP_TEXT_UNDERLINE: 'Underline',\n TOOLTIP_TEXT_LINK: 'Link',\n TOOLTIP_TEXT_BULLET_LIST: 'Bullet List',\n TOOLTIP_TEXT_NUMBERED_LIST: 'Numbered List',\n TOOLTIP_TEXT_CLEAR_FORMAT: 'Clear Format',\n TOOLTIP_TEXT_LEGAL_DOCUMENT_INFORMATION: 'Add some information about any of your legal document details',\n TOOLTIP_TEXT_UPLOAD_LEGAL_DOCUMENTS: 'Select some Documents; you can upload them one at a time or select Upload All at once',\n TOOLTIP_TEXT_UPLOADED_LEGAL_DOCUMENTS_DISPLAY: 'All your uploaded documents will be displayed here',\n INFO_TEXT2: 'All your uploaded images will be displayed here',\n\n }\n }\n};\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'fr',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Impossible de se connecter au serveur.'\n },\n SIGNIN: {\n WELCOME_TEXT: 'Bienvenue à Noosom',\n MOTIVATION_BADGE_SIGNIN:'Connectez-vous et commencez l\\'aventure',\n CONTROL_LABEL_EMAIL:'Adresse e-mail',\n CONTROL_LABEL_PASSWORD:'Mot de passe',\n CONTROL_LABEL_REMEMBERME:'Souviens-toi de moi',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Mot de passe oublié?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Créer un compte',\n TEXT_NEWONPLATFORM:'Nouveau sur notre plateforme ?',\n BUTTON_TEXT_LOGIN:'Connexion',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Vous avez réussi à vous connecter en tant qu\\'utilisateur {0} à Noosom. Vous pouvez maintenant commencer à explorer. Prendre plaisir! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Bienvenue, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'Le champ email est!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Le champ mot de passe est!',\n ERROR_MESSAGE_INVALID_EMAIL:'L\\'e-mail doit être une adresse e-mail valide',\n ERROR_MESSAGE_NOATTEMPTS:'Nom d\\'utilisateur ou mot de passe invalide. Il ne vous reste plus aucune tentative.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Votre adresse e-mail n\\'est pas vérifiée.
vérifiez d\\'abord votre adresse e-mail.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Vôtre compte a été bloqué.'},\n {ErrorCode:0,ErrorMessage:'Connexion réussie.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Nom d\\'utilisateur ou mot de passe invalide.
Il vous reste {0} tentatives.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administratrice'},{titlle:'Client',value:'Cliente'},{title:'User',value:'Utilisatrice'}]\n },\n SIGNUP:\n {\n MOTIVATION_BADGE_SIGNUP:'Inscrivez-vous et commencez l\\'aventure',\n STEPPER_TITLE_ACCOUNT:'Compte',\n STEPPER_SUB_TITLE_ACCOUNT:'Saisissez votre nom d\\'utilisateur',\n STEPPER_TITLE_PERSONAL:'Personnelle',\n STEPPER_SUB_TITLE_PERSONAL:'Entrez les informations',\n HEADING_ACCOUNT:'Information sur le compte',\n HEADING_PERSONAL:'Renseignements personnels',\n HEADING_SELECTPLAN:'Sélectionnez le plan',\n CONTROL_LABEL_USERID:'ID utilisateur Noosom',\n CONTROL_LABEL_EMAILADDRESS:'Adresse e-mail',\n CONTROL_LABEL_PASSWORD:'Mot de passe',\n CONTROL_LABEL_CONFIRMPASSWORD:'Confirmer votre mot de passe',\n CONTROL_LABEL_REGION:'Votre région',\n CONTROL_LABEL_HOMECOUNTRY:'Votre pays',\n CONTROL_LABEL_FIRSTNAME:'Prénom',\n CONTROL_LABEL_MIDDLENAME:'Deuxième nom',\n CONTROL_LABEL_LASTNAME:'Nom de famille',\n CONTROL_LABEL_BIRTHDATE:'Date de naissance',\n CONTROL_LABEL_MOBILENO:'Mobile Non',\n CONTROL_LABEL_SELECTPLAN:'Gratuit pour l\\'instant, ou achetez plus tard.',\n PLACEHOLDER_TYPEHERE:'Écrivez ici...',\n PLACEHOLDER_PASSWORD:'Mot de passe',\n PLACEHOLDER_REGION:'Choisissez une région',\n PLACEHOLDER_COUNTRY:'Choisissez le pays',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Précédente',\n BUTTON_TEXT_NEXT:'Prochaine',\n BUTTON_TEXT_SUBMIT:'Soumettre',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Vos données seront stockées',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'dans la région sélectionnée',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'Sélectionnez le pays',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Compte créé avec succès.',\n ERROR_MESSAGE_REQUIRED_USERID:'Le champ nom d\\'utilisateur est!',\n ERROR_MESSAGE_EXISTED_USERID:'Ce nom d\\'utilisateur a été pris. Veuillez en essayer un autre.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'Le champ adresse e-mail est!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Cette adresse e-mail a été prise. Veuillez en essayer un autre.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Le champ mot de passe est!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Doit contenir au moins un chiffre, une lettre majuscule et minuscule et un minimum de 8 caractères ou plus.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'Le mot de passe répété doit correspondre.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'Le champ de confirmation du mot de passe est!',\n ERROR_MESSAGE_REQUIRED_REGION:'Le champ région est!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'Le champ du pays',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'Le champ prénom est!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'Le champ du deuxième prénom est!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'Le champ nom de famille est!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'Le champ date de naissance est!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'Le mobile aucun champ n\\'est requis!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Veuillez sélectionner l\\'option de forfait gratuit!'\n }\n }\n};\n","import { Status } from \"app/enums\";\r\n\r\nexport const locale = {\r\n lang: 'gj',\r\n data: {\r\n COMMON:{\r\n ERROR_MESSAGE_CONNECTIONREFUSED:'સર્વર સાથે કનેક્ટ કરી શકાયું નથી'\r\n },\r\n SIGNIN: {\r\n WELCOME_TEXT: 'નૂસોમ માં આપનું સ્વાગત છે',\r\n MOTIVATION_BADGE_SIGNIN:'સાઇન ઇન કરો અને સાહસ શરૂ કરો',\r\n CONTROL_LABEL_EMAIL:'ઈ - મેઈલ સરનામું',\r\n CONTROL_LABEL_PASSWORD:'પાસવર્ડ',\r\n CONTROL_LABEL_REMEMBERME:'મને યાદ રાખો',\r\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\r\n LINK_TEXT_LABEL_FORGOTPASSWORD:'તમારો પાસવર્ડ ભૂલી ગયા છો?',\r\n LINK_TEXT_LABEL_CREATEACCOUNT:'એક ખાતુ બનાવો',\r\n TEXT_NEWONPLATFORM:'અમારા પ્લેટફોર્મ પર નવા છો?',\r\n BUTTON_TEXT_LOGIN:'પ્રવેશ કરો',\r\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'તમે Noosom માં {0} વપરાશકર્તા તરીકે સફળતાપૂર્વક લૉગ ઇન કર્યું છે. હવે તમે અન્વેષણ કરવાનું શરૂ કરી શકો છો. આનંદ માણો! 🎉',\r\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 સ્વાગત છે, {0}!',\r\n ERROR_MESSAGE_REQUIRED_EMAIL:'ઈમેલ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_PASSWORD:'પાસવર્ડ આવશ્યક છે!',\r\n ERROR_MESSAGE_INVALID_EMAIL:'ઇમેઇલ એક માન્ય ઇમેઇલ સરનામું હોવું આવશ્યક છે',\r\n ERROR_MESSAGE_NOATTEMPTS:'અમાન્ય વપરાશકર્તાનામ અથવા પાસવર્ડ. તમારી પાસે કોઈ પ્રયાસો બાકી નથી.',\r\n LOGIN_STATUS:\r\n [\r\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'તમારું ઇમેઇલ સરનામું ચકાસાયેલ નથી.
પહેલા તમારું ઇમેઇલ સરનામું બદલો.'},\r\n {ErrorCode:Status.AccountLocked,ErrorMessage:'તમારું એકાઉન્ટ લોક કરી દેવામાં આવ્યું છે.'},\r\n {ErrorCode:0,ErrorMessage:'લૉગ-ઇન સફળ.'},\r\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'અમાન્ય વપરાશકર્તાનામ અથવા પાસવર્ડ.
તમારી પાસે {0} પ્રયાસો બાકી છે.'}\r\n ],\r\n DIGITS:[\"૧\",\"૨\",\"૩\",\"૪\"],\r\n ROLES:[{title:'Admin',value:'એડમિન'},{titlle:'Client',value:'ક્લાયન્ટ'},{title:'User',value:'વપરાશકર્તા'}]\r\n },\r\n SIGNUP:\r\n {\r\n MOTIVATION_BADGE_SIGNUP:'સાઇન અપ કરો અને સાહસ શરૂ કરો',\r\n STEPPER_TITLE_ACCOUNT:'એકાઉન્ટ',\r\n STEPPER_SUB_TITLE_ACCOUNT:'વપરાશકર્તા નામ દાખલ કરો',\r\n STEPPER_TITLE_PERSONAL:'અંગત',\r\n STEPPER_SUB_TITLE_PERSONAL:'માહિતી દાખલ કરો',\r\n HEADING_ACCOUNT:'ખાતાની માહિતી',\r\n HEADING_PERSONAL:'વ્યક્તિગત માહિતી',\r\n HEADING_SELECTPLAN:'પ્લાન પસંદ કરો',\r\n CONTROL_LABEL_USERID:'નૂસોમ વપરાશકર્તા આઈડી',\r\n CONTROL_LABEL_EMAILADDRESS:'ઈ - મેઈલ સરનામું',\r\n CONTROL_LABEL_PASSWORD:'પાસવર્ડ',\r\n CONTROL_LABEL_CONFIRMPASSWORD:'તમારા પાસવર્ડની ખાતરી કરો',\r\n CONTROL_LABEL_REGION:'તમારો પ્રદેશ',\r\n CONTROL_LABEL_HOMECOUNTRY:'તમારો દેશ',\r\n CONTROL_LABEL_FIRSTNAME:'પ્રથમ નામ',\r\n CONTROL_LABEL_MIDDLENAME:'પિતાનું નામ',\r\n CONTROL_LABEL_LASTNAME:'છેલ્લું નામ',\r\n CONTROL_LABEL_BIRTHDATE:'જન્મ તારીખ',\r\n CONTROL_LABEL_MOBILENO:'મોબાઈલ નમ્બર',\r\n CONTROL_LABEL_SELECTPLAN:'હમણાં માટે હંમેશ માટે મફત, અથવા પછીથી ખરીદો.',\r\n PLACEHOLDER_TYPEHERE:'અહી લખો...',\r\n PLACEHOLDER_PASSWORD:'પાસવર્ડ',\r\n PLACEHOLDER_REGION:'પ્રદેશ પસંદ કરો',\r\n PLACEHOLDER_COUNTRY:'દેશ પસંદ કરો',\r\n PLACEHOLDER_TELEPHONENUMBER:'૦૧૨૩૪૫૬૭૮૯',\r\n BUTTON_TEXT_PREVIOUS:'અગાઉના',\r\n BUTTON_TEXT_NEXT:'આગળ',\r\n BUTTON_TEXT_SUBMIT:'સબમિટ કરો',\r\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'તમારો ડેટા પસંદ કરેલ પ્રદેશમાં',\r\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'સંગ્રહિત કરવામાં આવશે',\r\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'દેશ પસંદ કરો',\r\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'એકાઉન્ટ સફળતાપૂર્વક બનાવ્યું.',\r\n ERROR_MESSAGE_REQUIRED_USERID:'યુઝરનેમ આવશ્યક છે!',\r\n ERROR_MESSAGE_EXISTED_USERID:'તે વપરાશકર્તા નામ લેવામાં આવ્યું છે. કૃપા કરીને બીજો પ્રયાસ કરો.',\r\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'ઈમેલ એડ્રેસ ફીલ્ડ છે!',\r\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'તે ઈમેલ એડ્રેસ લેવામાં આવ્યું છે. કૃપા કરીને બીજો પ્રયાસ કરો.',\r\n ERROR_MESSAGE_REQUIRED_PASSWORD:'પાસવર્ડ ફીલ્ડ છે!',\r\n ERROR_MESSAGE_INVALID_PASSWORD:'ઓછામાં ઓછા એક નંબર, એક અપરકેસ અને લોઅરકેસ અક્ષર અને ઓછામાં ઓછા 8 અથવા વધુ અક્ષરો હોવા જોઈએ.',\r\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'પુનરાવર્તિત પાસવર્ડ મેળ ખાતો હોવો જોઈએ.',\r\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'કન્ફર્મ પાસવર્ડ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_REGION:'પ્રદેશ ક્ષેત્ર આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'દેશ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'પ્રથમ નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'મધ્યમ નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_LASTNAME:'છેલ્લું નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'જન્મ તારીખ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_MOBILENO:'મોબાઇલ નંબર આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'કૃપા કરીને ફ્રી પ્લાન વિકલ્પ પસંદ કરો!'\r\n }\r\n }\r\n };\r\n ","import { Status } from \"app/enums\";\r\n\r\nexport const locale = {\r\n lang: 'hn',\r\n data: {\r\n COMMON: {\r\n CONTROL_LABEL_EMAIL_ADDRESS: 'ईमेल पता',\r\n PLACEHOLDER_EMAIL_ADDRESS: 'यहाँ लिखो...',\r\n PLACEHOLDER_TYPE_HERE: 'यहाँ लिखो...',\r\n PLACEHOLDER_MOBILE_NUMBER: '०१२३४५६७८९',\r\n BUTTON_TEXT_SAVE_CHANGES: 'परिवर्तनों को सुरक्षित करें',\r\n BUTTON_TEXT_CANCEL: 'रद्द करें',\r\n ERROR_MESSAGE_REQUIRED_EMAIL_ADDRESS: 'ईमेल की आवश्यकता है!',\r\n ERROR_MESSAGE_INVALID_EMAIL: 'कृपया अपना ईमेल पता प्रारूप में दर्ज करें:\\nyourname@example.com',\r\n ERROR_MESSAGE_CONNECTIONREFUSED: 'सर्वर से कनेक्ट नहीं हो सका.',\r\n TOOLTIP_TEXT_BUTTON_CLOSE: 'बंद करना',\r\n BUTTON_TEXT_SAVE:'Save',\r\n BUTTON_TEXT_SAVE_SEND:'Save and Send',\r\n COMMON_STATUS:\r\n [\r\n { ErrorCode: Status.UserNotFound, ErrorMessage: 'उपयोगकर्ता नहीं मिल सका।' }\r\n ],\r\n },\r\n MEONWEB: {\r\n BUTTON_TEXT_BUTTON_ADD_NEW_PASTIME: 'नई वेब प्रविष्टि जोड़ें',\r\n CONTROL_LABEL_ENTRY_NAME: 'प्रविष्टि का नाम',\r\n CONTROL_LABEL_DATE_POSTED: 'पोस्ट की तारीख',\r\n CONTROL_LABEL_URL_WEBSITE: 'वेबसाइट का URL',\r\n CONTROL_LABEL_DESCRIPTION: 'विवरण',\r\n CONTROL_LABEL_ACTION: 'क्रियाएँ',\r\n CONTROL_LABEL_LEGAL_DOCUMENTS: 'कानूनी दस्तावेज़ नाम',\r\n CONTROL_LABEL_FIELD_ENTRY_NAME: 'प्रविष्टि का नाम',\r\n CONTROL_LABEL_FIELD_DATE_POSTED: 'प्रविष्टि तिथि',\r\n CONTROL_LABEL_FIELD_URL_WEBSITE: 'वेबसाइट का URL',\r\n CONTROL_LABEL_FIELD_DESCRIPTION: 'विवरण',\r\n CONTROL_LABEL_FIELD_NOTES: 'टिप्पणियाँ',\r\n CONTROL_LABEL_NOTES: 'टिप्पणियाँ',\r\n DIALOG_TITLE_ADD_WEB: 'एक वेब प्रविष्टि जोड़ें',\r\n ERROR_MESSAGE_ENTRY_NAME_REQUIRED: 'प्रविष्टि नाम आवश्यक है!',\r\n ERROR_MESSAGE_MAX_LENGTH_50: 'आपने बहुत अधिक वर्ण टाइप किए हैं, अधिकतम अनुमति 50 है',\r\n ERROR_MESSAGE_MAX_LENGTH_100: 'आपने बहुत अधिक वर्ण टाइप किए हैं, अधिकतम अनुमति 100 है',\r\n ERROR_MESSAGE_MAX_LENGTH_120: 'आपने बहुत अधिक वर्ण टाइप किए हैं, अधिकतम अनुमति 120 है',\r\n ERROR_MESSAGE_MAX_LENGTH_250: 'आपने बहुत अधिक वर्ण टाइप किए हैं, अधिकतम अनुमति 250 है',\r\n ERROR_MESSAGE_MAX_LENGTH_1000: 'आपने बहुत अधिक वर्ण टाइप किए हैं, अधिकतम अनुमति 1000 है',\r\n HEADING_LABEL_ME_ON_WEB: 'वेब पर मैं',\r\n SECTION_HEADING_HI: 'नमस्ते',\r\n SECTION_HEADING_ABOUT_ME: 'यह आपके बारे में है और आपकी हमारे साथ प्रोफ़ाइल के बारे में सब कुछ',\r\n TOOLTIP_TEXT_BUTTON_ADD_NEW_RECORD: 'नई रिकॉर्ड जोड़ें',\r\n TOOLTIP_TEXT_WEB_TITLE: 'एक छोटा शीर्षक',\r\n TOOLTIP_TEXT_WEB_PUBLICATION_DATE: 'वेब / लेख दर्जी की गई तिथि',\r\n TOOLTIP_TEXT_WEB_URL: 'प्रकाशित पृष्ठ का वेबसाइट URL या लिंक',\r\n TOOLTIP_TEXT_WEB_DESCRIPTION: 'इस वेब प्रविष्टि के बारे में एक छोटा विवरण दर्ज करें',\r\n TOOLTIP_TEXT_WEB_OTHER_INFO: 'इस वेब प्रविष्टि के बारे में कोई अन्य जानकारी जोड़ें',\r\n TOOLTIP_TEXT_WEB_ENTRY_INFORMATION: 'किसी भी वेब प्रविष्टि के बारे में कुछ जानकारी जोड़ें',\r\n ERROR_MESSAGE_INVALID_EMAIL: 'Invalid Email Address!',\r\n ERROR_MESSAGE_EXIST_EMAIL: 'This email address is already connected with a friend, family member, or is your own. Please use a different one.',\r\n ERROR_MESSAGE_MAX_LENGTH_320: 'You have typed too many characters, maximum allowed is 320',\r\n CONTROL_LABEL_ADD_EMAIL:'Add Email',\r\n CONTROL_LABEL_EMAIL_ADDRESS: 'Email Address',\r\n TOOLTIP_TEXT_EMAIL: 'Enter the Family Member\\'s Email Address',\r\n TOOLTIP_TEXT_FRIENDS_EMAIL:'Enter your friend\\'s Email Address',\r\n TOAST_MESSAGE_FAMILY_UPDATED_SUCCESSFULLY: 'Family Member Updated Successfully',\r\n TOAST_MESSAGE_FAMILY_ADDED_SUCCESSFULLY: 'Family Member Added Successfully',\r\n TOAST_MESSAGE_FRIEND_UPDATED_SUCCESSFULLY: 'Friend Updated Successfully',\r\n TOAST_MESSAGE_FRIEND_ADDED_SUCCESSFULLY: 'Friend Added Successfully',\r\n SWEET_ALERT_TITLE_FAMILY_TEXT: 'Are you sure, you want to delete this Family Detail?',\r\n SWEET_ALERT_TITLE_FRIEND_TEXT: 'Are you sure, you want to delete this Friend Detail?',\r\n SWEET_ALERT_TITLE_INVITATION_TEXT: 'You are about to send Personname an invitation email to connect with you on Noosom.',\r\n SWEET_ALERT_TITLE_JOB_TEXT: 'Are you sure, you want to delete this Job Detail?',\r\n SWEET_ALERT_TEXT: \"You won't be able to undo this!\",\r\n SWEET_ALERT_NO_BUTTON: 'NO',\r\n SWEET_ALERT_YES_BUTTON: 'YES',\r\n SWEET_ALERT_SURE_TEXT: 'Are you sure ?',\r\n SWEET_ALERT_CONFIRM_BUTTON_TEXT: 'Yes, delete it!',\r\n SWEET_ALERT_CANCEL_BUTTON_TEXT: 'Cancel',\r\n },\r\n AWARDS: {\r\n DATA_TABLE_HEADER_TEXT_NAME_OF_THE_AWARD: 'पुरस्कार का नाम',\r\n DATA_TABLE_HEADER_TEXT_NAME_OF_THE_ACHIEVEMENT: 'उपलब्धि का नाम',\r\n DATA_TABLE_HEADER_TEXT_OCCASION: 'अवसर',\r\n DATA_TABLE_HEADER_TEXT_OCCASION_NOTES: 'अवसर नोट्स',\r\n DATA_TABLE_HEADER_TEXT_DATE_RECEIVED: 'प्राप्ति दिनांक',\r\n DATA_TABLE_HEADER_TEXT_ACTIONS: 'कार्रवाई',\r\n SECTION_HEADING_MY_ACHIEVEMENT: 'मेरी उपलब्धियाँ',\r\n SECTION_HEADING_MY_EDUCATIONAL_ACHIEVEMENT: 'मेरी शैक्षिक उपलब्धियाँ',\r\n SECTION_HEADING_MY_PROFESSIONAL_ACHIEVEMENT: 'मेरी पेशेवर उपलब्धियाँ',\r\n SECTION_HEADING_MY_MISCELLANEOUS_ACHIEVEMENT: 'मेरी विविध उपलब्धियाँ',\r\n SWEET_ALERT_TITLE_AWARD_TEXT: 'क्या आप निश्चित हैं कि आप इस पुरस्कार को हटाना चाहते हैं?',\r\n SWEET_ALERT_TITLE_ACHIEVEMENT_TEXT: 'क्या आप निश्चित हैं कि आप इस उपलब्धि को हटाना चाहते हैं?',\r\n SWEET_ALERT_TEXT: 'आप इसे पूनर्स्थापित नहीं कर पाएंगे!',\r\n SWEET_ALERT_CONFIRM_BUTTON_TEXT: 'हाँ, इसे हटा दें!',\r\n SWEET_ALERT_CANCEL_BUTTON_TEXT: 'रद्द करें',\r\n HEADING_MY_AWARDS: 'मेरे पुरस्कार',\r\n BUTTON_ADD_AN_AWARD: 'एक पुरस्कार जोड़ें',\r\n BUTTON_TEXT_ADD_AN_ACHIEVEMENT: 'एक उपलब्धि जोड़ें',\r\n BUTTON_TEXT_ADD_AN_EDUCATIONAL_ACHIEVEMENT: 'एक शैक्षिक उपलब्धि जोड़ें',\r\n BUTTON_TEXT_ADD_AN_PROFESSIONAL_ACHIEVEMENT: 'एक पेशेवर उपलब्धि जोड़ें',\r\n BUTTON_TEXT_ADD_AN_MISCELLANEOUS_ACHIEVEMENT: 'एक विविध उपलब्धि जोड़ें',\r\n\r\n },\r\n MY_JOBS: {\r\n BUTTON_TEXT_ADD_A_NEW_JOBS: 'नई नौकरी जोड़ें',\r\n DATA_TABLE_HEADER_TEXT_EMPLOYER: 'नियोक्ता',\r\n DATA_TABLE_HEADER_TEXT_JOB_DESCRIPTION: 'नौकरी विवरण',\r\n DATA_TABLE_HEADER_TEXT_DATE_FROM: 'तिथि से',\r\n DATA_TABLE_HEADER_TEXT_DATE_TO: 'तिथि तक',\r\n DATA_TABLE_HEADER_TEXT_ACTIONS: 'क्रियाएँ',\r\n DATA_TABLE_HEADER_TEXT_ADDRESS: 'पता',\r\n DATA_TABLE_HEADER_TEXT_NOTES: 'टिप्पणियाँ',\r\n SECTION_HEADING_MY_JOB: 'मेरी नौकरियाँ',\r\n },\r\n MY_FAMILIES: {\r\n BUTTON_TEXT_ADD_AN_OWN_FAMILY_MEMBER: 'अपने परिवार के सदस्य जोड़ें',\r\n BUTTON_TEXT_ADD_A_BIRTH_FAMILY_MEMBER: 'जन्म के परिवार के सदस्य जोड़ें',\r\n BUTTON_TEXT_ADD_AN_OTHER_FAMILY_MEMBER: 'अन्य परिवार के सदस्य जोड़ें',\r\n DATA_TABLE_HEADER_TEXT_FIRST_NAME: 'पहला नाम',\r\n DATA_TABLE_HEADER_TEXT_LAST_NAME: 'उपनाम',\r\n DATA_TABLE_HEADER_TEXT_DATE_OF_BIRTH: 'जन्म की तारीख',\r\n DATA_TABLE_HEADER_TEXT_RELATIONSHIP: 'संबंध',\r\n DATA_TABLE_HEADER_TEXT_EMAIL_ADDRESS: 'ईमेल पता',\r\n DATA_TABLE_HEADER_TEXT_PERSONAL_WEB_URL: 'व्यक्तिगत वेब यूआरएल',\r\n DATA_TABLE_HEADER_TEXT_NOOSOM_WEB_URL: 'नूसोम वेब यूआरएल',\r\n DATA_TABLE_HEADER_TEXT_LINKED: 'लिंक किया गया?',\r\n TAB_LINK_TEXT_MY_OWN_FAMILY: 'मेरा खुद का परिवार',\r\n TAB_LINK_TEXT_MY_BIRTH_FAMILY: 'मेरा जन्म का परिवार',\r\n TAB_LINK_TEXT_MY_OTHER_FAMILY: 'मेरा अन्य परिवार',\r\n TOOLTIP_TEXT_BIRTH_FAMILY_INFO: 'यह वह परिवार है जिसमें आप पैदा हुए थे, माँ, पिता, भाई, बहन, आदि',\r\n TOOLTIP_TEXT_OWN_FAMILY_INFO: 'आपका परिवार शादी द्वारा, पत्नी, पति, बच्चे, पोते-पोतियां',\r\n TOOLTIP_TEXT_OTHER_FAMILY_INFO: 'ससुराल वाले, चाची-चाचा, भतीजी-भतीजे आदि'\r\n },\r\n LEGALS: {\r\n ADD_TITLE: 'कानूनी दस्तावेज़ जोड़ें',\r\n EDIT_TITLE: 'कानूनी दस्तावेज़ संपादित करें',\r\n CONTROL_LABEL_LEGAL: 'कानूनी दस्तावेज़ का नाम',\r\n CONTROL_LABEL_NOTES: 'नोट्स',\r\n TAB_HEADING_LEGAL_DETAILS: 'कानूनी विवरण',\r\n TAB_HEADING_UPLOAD: 'अपलोड',\r\n TAB_HEADING_DOCUMENT: 'दस्तावेज़',\r\n TAB_HEADING_IMAGES: 'छवियाँ',\r\n BUTTON_TEXT_SAVE_AND_CLOSE: 'सहेजें और बंद करें',\r\n BUTTON_TEXT_SAVE_AND_NEXT: 'सहेजें और आगे',\r\n BUTTON_TEXT_ABANDON: 'छोड़ें',\r\n BUTTON_TEXT_CANCEL: 'रद्द करें',\r\n BUTTON_TEXT_UPLOAD_ALL: 'सभी को अपलोड करें',\r\n BUTTON_TEXT_PAUSE_ALL: 'सभी को रोकें',\r\n BUTTON_TEXT_DOWNLOAD_ALL: 'सभी को डाउनलोड करें',\r\n BUTTON_TEXT_REMOVE_ALL: 'सभी को हटाएं',\r\n BUTTON_TEXT_SAVE_CHANGES: 'परिवर्तन सहेजें',\r\n BUTTON_TEXT_ADD_DOCUMENTS: 'दस्तावेज़ जोड़ें',\r\n COLUMN_HEADING_NAME: 'नाम',\r\n COLUMN_HEADING_SIZE: 'साइज़',\r\n COLUMN_HEADING_PROGRESS: 'प्रगति',\r\n COLUMN_HEADING_STATUS: 'स्थिति',\r\n COLUMN_HEADING_DATE_CREATED: 'तिथि बनाई गई',\r\n COLUMN_HEADING_TYPE: 'प्रकार',\r\n COLUMN_HEADING_ACTIONS: 'क्रियाएँ',\r\n ERROR_MESSAGE_LEGAL_DOC_NAME: 'कानूनी दस्तावेज़ का नाम आवश्यक है!',\r\n HEADING_TEXT_SELECT_IMAGES: 'दस्तावेज़ चुनें',\r\n HEADING_TEXT_UPLOAD_QUEUE: 'अपलोड कतार',\r\n HEADING_TEXT_QUEUE_PROGRESS: 'कतार प्रगति',\r\n HEADING_MY_LEGALS: 'मेरे कानूनी दस्तावेज़',\r\n PLACEHOLDER_CHOOSE_FILES: 'फ़ाइलें चुनें',\r\n SECTION_TEXT1: 'कुछ दस्तावेज़ चुनें। आप उन्हें एक-एक करके अपलोड कर सकते हैं या एक साथ सभी अपलोड कर सकते हैं।',\r\n SECTION_TEXT2: 'यहाँ आपके सभी दस्तावेज़ की सूची में प्रदर्शित किए जाएंगे। आप उन्हें व्यक्तिगत रूप से डाउनलोड या हटा सकते हैं।',\r\n SWEET_ALERT_TITLE_PASTIME_TEXT: 'क्या आपको यकीन है, कि आप इस कानूनी दस्तावेज़ को हटाना चाहते हैं?',\r\n // SWEET_ALERT_TITLE_HOBBY_TEXT:'Are you sure, you want to delete this Hobby?',\r\n SWEET_ALERT_TEXT: \"आप इसे पूर्ववत करने में सक्षम नहीं होंगे!\",\r\n SWEET_ALERT_CONFIRM_BUTTON_TEXT: 'हां, इसे हटा दें!',\r\n SWEET_ALERT_CANCEL_BUTTON_TEXT: 'रद्द करें',\r\n CONTROL_LABEL_MULTIPLE: 'बहुत',\r\n SWEET_ALERT_TITLE_ADDRESS_DOCUMENT_TEXT: 'क्या आपको यकीन है, कि आप इस कानूनी दस्तावेज़ को हटाना चाहते हैं?',\r\n SWEET_ALERT_TITLE_HOBBY_DOCUMENT_TEXT: 'क्या आपको यकीन है, कि आप इस हॉबी दस्तावेज़ को हटाना चाहते हैं?',\r\n SWEET_ALERT_TITLE_ALL_ADDRESS_DOCUMENT_TEXT: 'क्या आपको यकीन है, कि आप इन सभी पाठक दस्तावेज़ को हटाना चाहते हैं?',\r\n SWEET_ALERT_TITLE_ALL_HOBBY_DOCUMENT_TEXT: 'क्या आपको यकीन है, कि आप इन सभी हॉबी दस्तावेज़ को हटाना चाहते हैं?',\r\n SWEET_ALERT_TITLE_INSURANCE_TEXT: 'क्या आपको यकीन है, कि आप इस कानूनी और इसके साथ संबंधित सभी अनुलग्नकों को हटाना चाहते हैं?',\r\n SWEET_ALERT_TEXT_DELETED: 'हटा दिया गया!',\r\n SWEET_ALERT_CONFIRM_BUTTON_TEXT_OKAY: 'ठीक है',\r\n SWEET_ALERT_CONFIRM_BUTTON_TEXT_UNLINK:'हाँ, इसे अनलिंक करें!',\r\n TEXT_FILE_TYPES: 'अनुमत फ़ाइल प्रकार:',\r\n TEXT_QUEUE_LENGTH: 'कतार लंबाई:',\r\n TEXT_MB: 'मेगाबाइट',\r\n TOOLTIP_TEXT_BUTTON_UPLOAD: 'अपलोड करें',\r\n TOOLTIP_TEXT_BUTTON_REMOVE: 'हटाएं',\r\n TOOLTIP_TEXT_BUTTON_DOWNLOAD: 'डाउनलोड',\r\n TOOLTIP_TEXT_BUTTON_VIEW: 'देखें',\r\n TOOLTIP_TEXT_BUTTON_DELETE: 'हटाएँ',\r\n TOOLTIP_TOGGLE_CALENDAR: 'कैलेंडर परिवर्तित करें',\r\n TOOLTIP_TEXT_TEXT_STYLE: 'टेक्स्ट स्टाइल',\r\n TOOLTIP_TEXT_TEXT_SIZE: 'टेक्स्ट साइज़',\r\n TOOLTIP_TEXT_TEXT_COLOUR: 'टेक्स्ट रंग',\r\n TOOLTIP_TEXT_TEXT_ALIGNMENT: 'टेक्स्ट संरेखण',\r\n TOOLTIP_TEXT_BOLD: 'बोल्ड',\r\n TOOLTIP_TEXT_ITALIC: 'तिरछा',\r\n TOOLTIP_TEXT_UNDERLINE: 'रेखांकित करें',\r\n TOOLTIP_TEXT_LINK: 'लिंक',\r\n TOOLTIP_TEXT_BULLET_LIST: 'गोली सूची',\r\n TOOLTIP_TEXT_NUMBERED_LIST: 'संख्यात्मक सूची',\r\n TOOLTIP_TEXT_CLEAR_FORMAT: 'स्वरुप साफ़ करें',\r\n TOOLTIP_TEXT_LEGAL_DOCUMENT_INFORMATION: 'अपने किसी भी कानूनी दस्तावेज़ के विवरण के बारे में कुछ जानकारी जोड़ें',\r\n TOOLTIP_TEXT_UPLOAD_LEGAL_DOCUMENTS: 'कुछ दस्तावेज़ चुनें; आप उन्हें एक-एक करके अपलोड कर सकते हैं या एक साथ सभी अपलोड कर सकते हैं',\r\n TOOLTIP_TEXT_UPLOADED_LEGAL_DOCUMENTS_DISPLAY: 'यहाँ आपके अपलोड किए गए सभी दस्तावेज़ प्रदर्शित होंगे',\r\n INFO_TEXT2: 'आपकी सभी अपलोड की गई तस्वीरें यहां प्रदर्शित की जाएगी।',\r\n\r\n }\r\n\r\n\r\n }\r\n};\r\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'pt',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Não foi possível conectar com o servidor'\n },\n SIGNIN: {\n WELCOME_TEXT: 'Bem-vindo ao Noosom',\n MOTIVATION_BADGE_SIGNIN:'Faça login e comece a aventura',\n CONTROL_LABEL_EMAIL:'Endereço de email',\n CONTROL_LABEL_PASSWORD:'Senha',\n CONTROL_LABEL_REMEMBERME:'Lembre de mim',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Esqueceu sua senha?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Crie a sua conta aqui',\n TEXT_NEWONPLATFORM:'Novo em nossa plataforma?',\n BUTTON_TEXT_LOGIN:'Conecte-se',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Você fez login com sucesso como um usuário {0} no Noosom. Agora você pode começar a explorar. Apreciar! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Bem-vindo, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'O campo de e-mail!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'O campo de senha!',\n ERROR_MESSAGE_INVALID_EMAIL:'O e-mail deve ser um endereço de e-mail válido',\n ERROR_MESSAGE_NOATTEMPTS:'Nome de usuário ou senha inválidos. Não há tentativas restantes.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Seu endereço de e-mail não foi verificado.
primeiro varie seu endereço de e-mail.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Sua conta foi bloqueada.'},\n {ErrorCode:0,ErrorMessage:'Logado com sucesso.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Nome de usuário ou senha inválidos.
Você tem {0} tentativas restantes.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administrador'},{titlle:'Client',value:'Cliente'},{title:'User',value:'Do utilizador'}]\n },\n SIGNUP:\n {\n STEPPER_TITLE_ACCOUNT:'Conta',\n STEPPER_SUB_TITLE_ACCOUNT:'Insira nome de usuário',\n STEPPER_TITLE_PERSONAL:'Pessoal',\n STEPPER_SUB_TITLE_PERSONAL:'Insira as informações',\n HEADING_ACCOUNT:'Informação da conta',\n HEADING_PERSONAL:'Informação pessoal',\n HEADING_SELECTPLAN:'Selecione o plano',\n CONTROL_LABEL_USERID:'ID de usuário Noosom',\n CONTROL_LABEL_EMAILADDRESS:'Endereço de email',\n CONTROL_LABEL_PASSWORD:'Senha',\n CONTROL_LABEL_CONFIRMPASSWORD:'Confirme sua senha',\n CONTROL_LABEL_REGION:'Sua região',\n CONTROL_LABEL_HOMECOUNTRY:'Seu país de',\n CONTROL_LABEL_FIRSTNAME:'Primeiro nome',\n CONTROL_LABEL_MIDDLENAME:'Nome do meio',\n CONTROL_LABEL_LASTNAME:'Sobrenome',\n CONTROL_LABEL_BIRTHDATE:'Data de nascimento',\n CONTROL_LABEL_MOBILENO:'Celular não',\n CONTROL_LABEL_SELECTPLAN:'Grátis para sempre por agora, ou compre mais tarde.',\n PLACEHOLDER_TYPEHERE:'Digite aqui...',\n PLACEHOLDER_PASSWORD:'Senha',\n PLACEHOLDER_REGION:'Selecione a região',\n PLACEHOLDER_COUNTRY:'Selecione o pais',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Anterior',\n BUTTON_TEXT_NEXT:'Próxima',\n BUTTON_TEXT_SUBMIT:'Enviar',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Seus dados serão armazenados',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'na região selecionada',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'Selecione o país de',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Conta criada com sucesso.',\n ERROR_MESSAGE_REQUIRED_USERID:'O campo de nome de usuário!',\n ERROR_MESSAGE_EXISTED_USERID:'Esse nome de usuário foi usado. Por favor, tente outro.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'O campo de endereço de e-mail!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Esse endereço de e-mail foi usado. Por favor, tente outro.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'O campo de senha!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Deve conter pelo menos um número, uma letra maiúscula e uma minúscula e um mínimo de 8 ou mais caracteres.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'A senha repetida deve corresponder.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'O campo de confirmação de senha!',\n ERROR_MESSAGE_REQUIRED_REGION:'O campo região!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'O campo do país de!',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'O campo de nome!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'O campo de nome do meio!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'O campo sobrenome!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'O campo data de nascimento!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'O celular nenhum campo!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Selecione a opção de plano gratuito!'\n }\n }\n};\n","
\n
{{dialogTitle}} \n - {{userWebEntry?.EntryName}} \n \n \n \n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n \n \n \n {{'MEONWEB.ERROR_MESSAGE_ENTRY_NAME_REQUIRED'|translate}}\n {{'MEONWEB.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
\n
\n
\n \n
\n \n
\n \n
\n
\n \n
\n
\n
\n \n \n \n \n {{'MEONWEB.ERROR_MESSAGE_MAX_LENGTH_250'|translate}}\n \n
\n
\n {{'MEONWEB.CONTROL_LABEL_FIELD_DESCRIPTION'|translate}}\n \n \n \n
\n \n
\n

Character count: {{ characterCount1 }} / {{ maxChars1 }}

\n \n {{'MEONWEB.ERROR_MESSAGE_MAX_LENGTH_120'|translate}}\n \n
\n
\n {{'MEONWEB.CONTROL_LABEL_FIELD_NOTES'|translate}}\n \n \n \n
\n \n
\n

Character count: {{ characterCount2 }} / {{ maxChars2 }}

\n \n You have typed too many characters, maximum allowed is 250\n \n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n \n \n \n \n \n
\n
","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\nimport { locale as english } from 'app/me-on-web/i18n/en';\nimport { locale as french } from 'app/me-on-web/i18n/fr';\nimport { locale as german } from 'app/me-on-web/i18n/de';\nimport { locale as portuguese } from 'app/me-on-web/i18n/pt';\nimport { locale as gujarati } from 'app/me-on-web/i18n/gj';\nimport { locale as hindi } from 'app/me-on-web/i18n/hn';\nimport { CoreTranslationService } from '@core/services/translation.service';\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { Constant } from 'app/Classes/constant';\nimport { AuthenticationService } from 'app/auth/service/authentication.service';\nimport { Observable, Subject } from 'rxjs';\nimport { CoreConfigService } from '@core/services/config.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { LifeStoryService } from 'app/my-life-story/life-story.service';\nimport { UserMeOnWebModel, UserMeOnWebLoadDataOutputModel } from 'app/my-life-story/life-story/lifestory.model'\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { CustomToastrService } from 'app/Services/custom-toastr.service';\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\nimport { GlobalService } from 'app/Services/global.service';\nimport { LoadingScreenService } from 'app/Services/loading-screen.service';\nimport { AwardLoadDataOutputModel } from 'app/about-me/about-me-model.model';\nimport { Status } from 'app/enums';\nimport { E } from 'assets/extensions/extensions';\nimport { TextBoxComponent } from 'app/CustomComponents/text-box/text-box.component';\n\n@Component({\n selector: 'app-web-entry',\n templateUrl: './web-entry.component.html',\n styleUrls: ['./web-entry.component.scss']\n})\nexport class WebEntryComponent implements OnInit {\n @ViewChild('entryname') entryname: TextBoxComponent;\n public loading = false;\n public submitted = false;\n public coreConfig: any;\n public dialogTitle: string;\n public IsForEdit: boolean = false;\n\n public error = '';\n public maxToDate: Date = new Date();\n public maxFromDate: Date = new Date();\n currentAppLanguage: any;\n _data: number = 0;\n private _unsubscribeAll: Subject;\n public frmMeonWeb: FormGroup;\n userWebEntry: UserMeOnWebModel;\n webLoadData\n infoTooltip:string;\n dateformat: string;\n characterCount1: number = 0;\n maxChars1: number = 120;\n characterCount2: number = 0;\n maxChars2: number = 250;\n constructor(\n private _coreTranslationService: CoreTranslationService,\n private _coreConfigService: CoreConfigService,\n private _translateService: TranslateService,\n private authenticationService: AuthenticationService,\n private _formBuilder: FormBuilder,\n private dialogRef: MatDialogRef,\n private loadingScreenService: LoadingScreenService,\n private globalService: GlobalService,\n private encrDecr: EncrDecrService,\n private _toastrService: CustomToastrService,\n private meonWebService: LifeStoryService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n ) {\n this._unsubscribeAll = new Subject();\n this._coreTranslationService.translate(english, french, german, portuguese, gujarati, hindi);\n this._translateService.onLangChange.subscribe(lang => {\n setTimeout(() => {\n let _LangJsonObj = this.GetCurrentLanguageJsonObject(lang.lang);\n if (_LangJsonObj)\n this.currentAppLanguage = _LangJsonObj;\n }, 100);\n })\n this._data=data\n this.dateformat=this.globalService.getDateFormat().toUpperCase()\n }\n\n ngOnInit(): void {\n this.userWebEntry = new UserMeOnWebModel();\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n this.currentAppLanguage = this.GetCurrentLanguageJsonObject(this.coreConfig.app.appLanguage);\n this.dialogTitle = this.currentAppLanguage.data.MEONWEB.DIALOG_TITLE_ADD_WEB;\n this.infoTooltip= this.currentAppLanguage.data.MEONWEB.TOOLTIP_TEXT_WEB_ENTRY_INFORMATION;\n this.frmMeonWeb = this._formBuilder.group({\n EntryName: [, Validators.required],\n DatePosted: [new Date],\n URL: [''],\n Description: [''],\n Notes: [''],\n });\n if (typeof this._data !== 'undefined') {\n // console.log('this._data')\n // console.log(this._data)\n if (this._data > 0) {\n this.IsForEdit = true;\n this.dialogTitle = 'Edit a Web Entry';\n \n setTimeout(() => {\n this.loadingScreenService.startLoading();\n this.meonWebService.GetMeOnWebById(this._data)\n .subscribe(\n (data) => {\n this.loadingScreenService.stopLoading();\n // console.log(data);\n if (data.status == Status.Success) {\n this.userWebEntry = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, data.data)));\n // console.log(this.webLoadData)\n if (this.userWebEntry) {\n\n this.frmMeonWeb.patchValue({\n EntryName: this.userWebEntry.EntryName,\n URL: this.userWebEntry.URL,\n Description: this.userWebEntry.Description,\n Notes: this.userWebEntry.Notes,\n DatePosted: E.ConvertToDate(this.userWebEntry.DatePosted)\n \n });\n\n if(this.userWebEntry.Description)\n this.updateCharacterCount1(this.userWebEntry.Description)\n if(this.userWebEntry.Notes)\n this.updateCharacterCount2(this.userWebEntry.Notes)\n }\n\n }\n else {\n this._toastrService.Error(E.ConvertToString(data.message), Constant.ErrorToastrTitle);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loadingScreenService.stopLoading();\n }\n );\n\n }, 500);\n }\n }\n this.dialogRef.keydownEvents().subscribe(event => {\n if (event.key.toLocaleLowerCase() === \"escape\") {\n this.onCloseButtonClick();\n }\n });\n }\n\n updateCharacterCount1(text: string): void {\n // Update the character count with the length of the input text\n this.characterCount1 = text.length;\n // If character count exceeds the maximum limit, truncate the input\n if (this.characterCount1 > this.maxChars1) {\n text = text.substr(0, this.maxChars1);\n this.characterCount1 = this.maxChars1;\n }\n }\n updateCharacterCount2(text: string): void {\n // Update the character count with the length of the input text\n this.characterCount2 = text.length;\n // If character count exceeds the maximum limit, truncate the input\n if (this.characterCount2 > this.maxChars2) {\n text = text.substr(0, this.maxChars2);\n this.characterCount2 = this.maxChars2;\n }\n }\n\n ngAfterContentInit(): void {\n setTimeout(() => {\n if (this.entryname)\n this.entryname.textBox.nativeElement.focus();\n\n }, 500);\n }\n onSubmit() {\n this.submitted = true;\n if (this.frmMeonWeb.invalid) {\n return;\n }\n this.submitted = false;\n if (this.userWebEntry == null) {\n this.userWebEntry = new UserMeOnWebModel();\n }\n this.userWebEntry.EntryName = this.frmMeonWeb.get('EntryName').value;\n if(this.frmMeonWeb.get('DatePosted').value){\n this.userWebEntry.DatePosted = E.GetDateStringOnly(this.frmMeonWeb.get('DatePosted').value);}\n this.userWebEntry.URL = this.frmMeonWeb.get('URL').value;\n this.userWebEntry.Description = this.frmMeonWeb.get('Description').value;\n this.userWebEntry.Notes = this.frmMeonWeb.get('Notes').value;\n this.userWebEntry.UserDetailsId = this.authenticationService.currentUserValue.UserDetailsId;\n\n if (E.ConvertToNumber(this.userWebEntry.UserMeOnWebId) == 0 && this.IsForEdit == false) {\n this.userWebEntry.CreatedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.userWebEntry.CreatedDate = E.GetTodayDateStringOnly();\n this.userWebEntry.CreatedTime = E.GetTodayTimeStringOnly();\n this.userWebEntry.ChangedDate = E.GetTodayDateStringOnly();\n this.userWebEntry.ChangedTime = E.GetTodayTimeStringOnly();\n }\n else {\n this.userWebEntry.ChangedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.userWebEntry.ChangedDate = E.GetTodayDateStringOnly();\n this.userWebEntry.ChangedTime = E.GetTodayTimeStringOnly();\n }\n this.loading = true;\n this.loadingScreenService.startLoading();\n //console.log(this.userWebEntry)\n let response: Observable;\n this.meonWebService.CreateUpdateUserMeOnWeb(this.userWebEntry)\n .subscribe(\n (result) => {\n this.loading = false;\n this.loadingScreenService.stopLoading();\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.RecordAdded) {\n message ='Me on Web Entry Added Successfully';\n }\n else if (result.status == Status.RecordUpdated) {\n message = 'Me on Web Entry Updated Successfully';\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n if (message.length > 0) {\n this._toastrService.Success(message, Constant.SuccessToastrTitle);\n this.dialogRef.close();\n this.frmMeonWeb.reset();\n this.frmMeonWeb.patchValue({\n DatePosted: new Date()\n });\n }\n else {\n this._toastrService.Error(errormessage, Constant.ErrorToastrTitle);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n\n }\n onCloseButtonClick() {\n this.dialogRef.close();\n }\n GetCurrentLanguageJsonObject(currentAppLanguage) {\n var result;\n switch (currentAppLanguage) {\n case 'en':\n result = english;\n break;\n case 'in':\n result = gujarati;\n break;\n case 'hn':\n result = hindi;\n break;\n }\n return result;\n }\n\n get f(){\n return this.frmMeonWeb.controls;\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { MyGalleryListInputModel, MyGalleryListOutputModel, ViewGalleryInputModel } from 'app/Models/image-gallery-model.model';\nimport { GlobalService } from 'app/Services/global.service';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MyImageGalleryService {\n\n constructor(public globalService: GlobalService) { }\n private sharedData: any;\n GetGalleryList(_Obj: MyGalleryListInputModel) { //: Observable \n const path = 'api/ImageGallery/GetMyGalleryList';\n return this.globalService.PostDataById(_Obj, path);\n }\n\n ViewGallery(_Obj: ViewGalleryInputModel) { //: Observable \n const path = 'api/ImageGallery/ViewGallery';\n return this.globalService.PostDataById(_Obj, path);\n }\n setSharedData(data: any) {\n this.sharedData = data;\n }\n\n getSharedData() {\n return this.sharedData;\n }\n\n GetUserFolderData(data) { //UserDetailsId\n const path = 'api/UserFolder/GetUserFolderData';\n return this.globalService.PostDataById(data, path);\n }\n\n CreateUpdateUserFolder(data) { \n const path = 'api/UserFolder/CreateUpdateUserFolder';\n return this.globalService.PostDataById(data, path);\n }\n\n GetUserFolderById(data) { \n const path = 'api/UserFolder/GetUserFolderById';\n return this.globalService.PostDataById(data, path);\n }\n\n GetUserFilesByFolderId(data) { \n const path = 'api/UserFileManager/GetUserFilesByFolderId';\n return this.globalService.PostDataById(data, path);\n }\n\n DeleteUserFolder(data) { \n const path = 'api/UserFolder/DeleteUserFolder';\n return this.globalService.PostDataById(data, path);\n }\n\n UpdateDescription(data) { \n const path = 'api/ImageGallery/UpdateDescription';\n return this.globalService.PostDataById(data, path);\n }\n\n CreateUpdateDocumentLinks(data){\n const path = 'api/UserQuickPost/CreateUpdateDocumentLinks';\n return this.globalService.PostDataById(data, path);\n }\n\n UpdateDefaultThumbnailAsync(_Obj) { //: Observable \n const path = 'api/ImageGallery/UpdateDefaultThumbnail';\n return this.globalService.PostDataById(_Obj, path);\n }\n\n\n}\n","import { Injectable } from '@angular/core';\nimport { GlobalService } from 'app/Services/global.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LifeStoryService {\n\n constructor(private globalService:GlobalService) { }\n\n GetUserLifeStoryData(data) { //UserDetailsId\n const path = 'api/UserLifeStory/GetUserLifeStoryData';\n return this.globalService.PostDataById(data, path);\n }\n CreateUpdateUserLifeStory(data) { //UserDetailsId\n const path = 'api/UserLifeStory/CreateUpdateUserLifeStory';\n return this.globalService.PostDataById(data, path);\n }\n GetMeOnWebListData(data) { //UserDetailsId\n const path = 'api/MeOnWebList/GetMeOnWebListData';\n return this.globalService.PostDataById(data, path);\n }\n CreateUpdateUserMeOnWeb(data) { //UserDetailsId\n const path = 'api/MeOnWebList/CreateUpdateUserMeOnWeb';\n return this.globalService.PostDataById(data, path);\n }\n GetMeOnWebById(data) { //UserDetailsId\n const path = 'api/MeOnWebList/GetMeOnWebById';\n return this.globalService.PostDataById(data, path);\n }\n DeleteUserMeOnWeb(data) { //UserDetailsId\n const path = 'api/MeOnWebList/DeleteUserMeOnWeb';\n return this.globalService.PostDataById(data, path);\n }\n}\n","export class Lifestory {\n}\nexport class TblUserLifeStory {\n UserLifeStoryId: number;\n UserDetailsId: number;\n Tagline: string;\n VeryShortDescription: string;\n BriefDescription: string;\n LongDescription: string;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n}\n\nexport class UserMeOnWebModel {\n UserMeOnWebId: number;\n UserDetailsId: number;\n EntryName: string;\n URL: string;\n Description: string;\n Notes: string;\n DatePosted: string;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n }\n \n export class UserMeOnWebLoadDataOutputModel {\n MeOnWebListData: Array;\n }\n ","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'de',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Es konnte keine Verbindung zum Server hergestellt werden.'\n },\n SIGNIN: {\n MOTIVATION_BADGE_SIGNIN:'Melden Sie sich an und starten Sie das Abenteuer',\n WELCOME_TEXT: 'Willkommen bei Noosom',\n CONTROL_LABEL_EMAIL:'E-Mail-Addresse',\n CONTROL_LABEL_PASSWORD:'Passwort',\n CONTROL_LABEL_REMEMBERME:'Erinnere dich an mich',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Haben Sie Ihr Passwort vergessen?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Ein Konto erstellen',\n TEXT_NEWONPLATFORM:'Neu auf unserer Plattform?',\n BUTTON_TEXT_LOGIN:'Anmeldung',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Sie haben sich erfolgreich als {0}-Benutzer bei Noosom angemeldet. Jetzt können Sie mit der Erkundung beginnen. Genießen! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Willkommen, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'Das E-Mail-Feld ist!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Das Passwortfeld ist!',\n ERROR_MESSAGE_INVALID_EMAIL:'E-Mail muss eine gültige E-Mail-Adresse sein',\n ERROR_MESSAGE_NOATTEMPTS:'Ungültiger Benutzername oder ungültiges Passwort.
Sie haben keine weiteren Versuche mehr.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Ihre E-Mail-Adresse wurde nicht verifiziert.
überprüfen Sie zuerst Ihre E-Mail-Adresse.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Dein Account wurde gesperrt.'},\n {ErrorCode:0,ErrorMessage:'Eingeloggt erfolgreich.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Ungültiger Benutzername oder ungültiges Passwort. Sie haben noch {0} Versuche.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administratorin'},{titlle:'Client',value:'Klientin'},{title:'User',value:'Benutzer'}]\n },\n SIGNUP:\n {\n MOTIVATION_BADGE_SIGNUP:'Melden Sie sich an und starten Sie das Abenteuer',\n STEPPER_TITLE_ACCOUNT:'Konto',\n STEPPER_SUB_TITLE_ACCOUNT:'Benutzernamen eingeben',\n STEPPER_TITLE_PERSONAL:'persönlich',\n STEPPER_SUB_TITLE_PERSONAL:'Information eingeben',\n HEADING_ACCOUNT:'Kontoinformationen',\n HEADING_PERSONAL:'Persönliche Informationen',\n HEADING_SELECTPLAN:'Plan auswählen',\n CONTROL_LABEL_USERID:'Noosom-Benutzer-ID',\n CONTROL_LABEL_EMAILADDRESS:'E-Mail-Addresse',\n CONTROL_LABEL_PASSWORD:'Passwort',\n CONTROL_LABEL_CONFIRMPASSWORD:'Bestätigen Sie Ihr Passwort',\n CONTROL_LABEL_REGION:'Ihre Region',\n CONTROL_LABEL_HOMECOUNTRY:'Ihr land',\n CONTROL_LABEL_FIRSTNAME:'Vorname',\n CONTROL_LABEL_MIDDLENAME:'Zweiter Vorname',\n CONTROL_LABEL_LASTNAME:'Nachname',\n CONTROL_LABEL_BIRTHDATE:'Geburtsdatum',\n CONTROL_LABEL_MOBILENO:'Handy-Nr',\n CONTROL_LABEL_SELECTPLAN:'Jetzt für immer kostenlos oder später kaufen.',\n PLACEHOLDER_TYPEHERE:'Geben Sie hier ein ...',\n PLACEHOLDER_PASSWORD:'Passwort',\n PLACEHOLDER_REGION:'Region wählen',\n PLACEHOLDER_COUNTRY:'Land auswählen',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Vorherige',\n BUTTON_TEXT_NEXT:'Nächste',\n BUTTON_TEXT_SUBMIT:'Einreichen',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Ihre Daten werden gespeichert',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'in der ausgewählten Region',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'land auswählen',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Konto erfolgreich erstellt.',\n ERROR_MESSAGE_REQUIRED_USERID:'Das Feld „Benutzername“ ist! Das Feld „E-Mail“ ist',\n ERROR_MESSAGE_EXISTED_USERID:'Dieser Benutzername wurde vergeben. Bitte versuchen Sie es mit einem anderen.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'Das Feld für die E-Mail-Adresse ist!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Diese E-Mail-Adresse wurde übernommen. Bitte versuchen Sie es mit einem anderen.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Das Passwortfeld ist!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Muss mindestens eine Zahl, einen Groß- und Kleinbuchstaben und mindestens 8 Zeichen enthalten.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'Passwort wiederholen muss übereinstimmen.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'Das Feld Passwort bestätigen ist!',\n ERROR_MESSAGE_REQUIRED_REGION:'Das Regionsfeld ist!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'Das Feld land ist!',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'Das Vornamensfeld ist!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'Das Feld für den zweiten Vornamen ist!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'Das Feld Nachname ist!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'Das Feld Geburtsdatum ist!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'Das Handy ist kein Pflichtfeld!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Bitte wählen Sie die kostenlose Planoption!',\n }\n }\n};\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'en',\n data: {\n COMMON: {\n CONTROL_LABEL_EMAIL_ADDRESS: 'Email Address',\n PLACEHOLDER_EMAIL_ADDRESS: 'Type here...',\n PLACEHOLDER_TYPE_HERE: 'Type here...',\n PLACEHOLDER_MOBILE_NUMBER: '0123456789',\n BUTTON_TEXT_SAVE_CHANGES: 'Save Changes',\n BUTTON_TEXT_CANCEL: 'Cancel',\n ERROR_MESSAGE_REQUIRED_EMAIL_ADDRESS: 'The email is required!',\n ERROR_MESSAGE_INVALID_EMAIL: 'Please enter your email address in format:\\nyourname@example.com',\n ERROR_MESSAGE_CONNECTIONREFUSED: 'Could not connect with server.',\n TOOLTIP_TEXT_BUTTON_CLOSE: 'Close',\n COMMON_STATUS:\n [\n { ErrorCode: Status.UserNotFound, ErrorMessage: 'User could not be found.' }\n ],\n },\n MYPASTIME: {\n BUTTON_TEXT_BUTTON_ADD_NEW_PASTIME: 'Add a Pastime',\n BUTTON_TEXT_BUTTON_ADD_NEW_HOBBY: 'Add a Hobby',\n BUTTON_TEXT_SAVE_AND_CLOSE: 'Save and Close',\n BUTTON_TEXT_SAVE_AND_NEXT: 'Save and Next',\n BUTTON_TEXT_ABANDON: 'Abandon',\n BUTTON_TEXT_CANCEL: 'Cancel',\n BUTTON_TEXT_UPLOAD_ALL: 'Upload All',\n BUTTON_TEXT_PAUSE_ALL: 'Pause All',\n BUTTON_TEXT_DOWNLOAD_ALL: 'Download All',\n BUTTON_TEXT_REMOVE_ALL: 'Remove All',\n BUTTON_TEXT_SAVE_CHANGES: 'Save Changes',\n CONTROL_LABEL_PASTIME: 'PASTIME',\n CONTROL_LABEL_PASTIMES:'Pastimes',\n CONTROL_LABEL_HOBBY: 'HOBBY',\n CONTROL_LABEL_HOBBIES:'Hobbies',\n CONTROL_LABEL_DATE_FROM: 'DATE FROM',\n CONTROL_LABEL_DATE_TO: 'DATE TO',\n CONTROL_LABEL_FIELD_DATE_FROM: 'Date From',\n CONTROL_LABEL_FIELD_DATE_TO: 'Date To',\n CONTROL_LABEL_FIELD_SHORT_DESCRIPTION: 'Short Description',\n CONTROL_LABEL_FIELD_LONG_DESCRIPTION: 'Long Description',\n CONTROL_LABEL_SHORT_DESCRIPTION: 'SHORT DESCRIPTION',\n CONTROL_LABEL_NAME_OF_PASTIME: 'Name of the Pastime',\n CONTROL_LABEL_NAME_OF_HOBBY: 'Name of the Hobby',\n CONTROL_LABEL_MULTIPLE: 'Multiple',\n CONTROL_LABEL_ACTION: 'ACTION',\n CONTROL_LABEL_NOTES: 'Notes',\n COLUMN_HEADING_NAME: 'NAME',\n COLUMN_HEADING_SIZE: 'SIZE',\n COLUMN_HEADING_PROGRESS: 'PROGRESS',\n COLUMN_HEADING_STATUS: 'STATUS',\n COLUMN_HEADING_DATE_CREATED: 'DATE CREATED',\n COLUMN_HEADING_TYPE: 'TYPE',\n COLUMN_HEADING_ACTIONS: 'ACTIONS',\n DIALOG_TITLE_ADD_PASTIME: 'Add a Pastime',\n DIALOG_TITLE_EDIT_PASTIME: 'Edit a Pastime',\n DIALOG_TITLE_ADD_HOBBY: 'Add a Hobby',\n DIALOG_TITLE_EDIT_HOBBY: 'Edit a Hobby',\n ERROR_MESSAGE_ATTACHMENT_UPLOADED:'Attachment Uploaded',\n ERROR_MESSAGE_PASTIME_REQUIRED:'The pastime is required!',\n ERROR_MESSAGE_HOBBIES_REQUIRED:'The hobby is required!',\n ERROR_MESSAGE_MAX_50:'You have typed too many characters, maximum allowed is 50',\n HEADING_TEXT_SELECT_IMAGES: 'Select Documents',\n HEADING_TEXT_UPLOAD_QUEUE: 'Upload Queue',\n HEADING_TEXT_QUEUE_PROGRESS: 'Queue Progress',\n INFO_TEXT2: 'All your uploaded images will be displayed here',\n PLACEHOLDER_CHOOSE_FILES: 'Choose Files',\n SECTION_HEADING_HI: 'Hi',\n SECTION_HEADING_ABOUT_ME: 'This is everything about you and your profile with us',\n SECTION_TEXT1: 'Select some documents. You can upload them one at a time or select Upload All at once.',\n SECTION_TEXT2: 'All your documents will be displayed here in a list. You can download or delete them individually.',\n SECTION_TEXT3: 'Add any specific notes that you have for this pastime.',\n SWEET_ALERT_TITLE_PASTIME_TEXT: 'Are you sure, you want to delete this Past Time?',\n SWEET_ALERT_TITLE_HOBBY_TEXT: 'Are you sure, you want to delete this Hobby?',\n SWEET_ALERT_TEXT: \"You won't be able to undo this!\",\n SWEET_ALERT_CONFIRM_BUTTON_TEXT: 'Yes, delete it!',\n SWEET_ALERT_CANCEL_BUTTON_TEXT: 'Cancel',\n SWEET_ALERT_TITLE_ADDRESS_DOCUMENT_TEXT: 'Are you sure, you want to unlink this Pastime Document?',\n SWEET_ALERT_TITLE_HOBBY_DOCUMENT_TEXT: 'Are you sure, you want to unlink this Hobby Document?',\n SWEET_ALERT_TITLE_ALL_ADDRESS_DOCUMENT_TEXT: 'Are you sure, you want to unlink all these Pastime Documents?',\n SWEET_ALERT_TITLE_ALL_HOBBY_DOCUMENT_TEXT: 'Are you sure, you want to unlink all these Hobby Documents?',\n SWEET_ALERT_CONFIRM_BUTTON_TEXT_UNLINK:'Yes, unlink it!',\n SWEET_ALERT_TITLE_INSURANCE_TEXT: 'Are you sure, you want to delete this Pastime and all the attachments associated with it?',\n SWEET_ALERT_TEXT_DELETED: 'Deleted!',\n SWEET_ALERT_CONFIRM_BUTTON_TEXT_OKAY: 'OK',\n TAB_HEADING_PASTIME_DETAILS: 'Pastime Details',\n TAB_HEADING_HOBBY_DETAILS: 'Hobby Details',\n TAB_HEADING_UPLOADS: 'Uploads',\n TAB_HEADING_DOCUMENTS: 'Documents',\n TAB_HEADING_NOTES: 'Notes',\n TAB_LINK_PASTIMES: 'Pastimes',\n TAB_HEADING_GALLERY: 'Gallery',\n TAB_LINK_HOBBIES: 'Hobbies',\n TOOLTIP_TOGGLE_CALENDAR: 'Toggle Calendar',\n TOOLTIP_TEXT_BUTTON_ADD_NEW_RECORD: 'Add a New Record',\n TOOLTIP_TEXT_PASTIME_INFORMATION: 'Add some information about any of your Pastimes',\n TOOLTIP_TEXT_PASTIME_NOTES: 'Add some notes about any of your Pastimes',\n TOOLTIP_TEXT_UPLOAD_DOCUMENTS: 'Select some Documents; you can upload them one at a time or select Upload All at once',\n TOOLTIP_TEXT_UPLOADED_DOCUMENTS_DISPLAY: 'All your uploaded documents will be displayed here',\n TOOLTIP_TEXT_PASTIME_NAME: 'Enter Name of the Pastime',\n TOOLTIP_TEXT_PASTIME_DATE_FROM: 'Enter the Date From of the Pastime',\n TOOLTIP_TEXT_PASTIME_DATE_TO: 'Enter the Date To of the Pastime',\n TOOLTIP_TEXT_HOBBIES_NAME: 'Enter Name of the Hobby',\n TOOLTIP_TEXT_HOBBIES_DATE_FROM: 'Enter the Date From of the Hobby',\n TOOLTIP_TEXT_HOBBIES_DATE_TO: 'Enter the Date To of the Hobby',\n TOOLTIP_TEXT_HOBBY_INFORMATION: 'Add some information about any of your Hobbies',\n TOOLTIP_TEXT_HOBBY_NOTES: 'Add some notes about any of your Hobbies',\n TOOLTIP_TEXT_PASTIME_SHORT_DESCRIPTION: 'Enter a Short Description',\n TOOLTIP_TEXT_PASTIME_LONG_DESCRIPTION: 'Enter a Long Description',\n TOOLTIP_TEXT_BUTTON_DOWNLOAD: 'Download',\n TOOLTIP_TEXT_BUTTON_VIEW: 'View',\n TOOLTIP_TEXT_BUTTON_DELETE: 'Delete',\n TEXT_FILE_TYPES: 'Allowed file types:',\n TEXT_QUEUE_LENGTH: 'Queue Length:',\n TEXT_MB: 'MB',\n }\n }\n};\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'fr',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Impossible de se connecter au serveur.'\n },\n SIGNIN: {\n WELCOME_TEXT: 'Bienvenue à Noosom',\n MOTIVATION_BADGE_SIGNIN:'Connectez-vous et commencez l\\'aventure',\n CONTROL_LABEL_EMAIL:'Adresse e-mail',\n CONTROL_LABEL_PASSWORD:'Mot de passe',\n CONTROL_LABEL_REMEMBERME:'Souviens-toi de moi',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Mot de passe oublié?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Créer un compte',\n TEXT_NEWONPLATFORM:'Nouveau sur notre plateforme ?',\n BUTTON_TEXT_LOGIN:'Connexion',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Vous avez réussi à vous connecter en tant qu\\'utilisateur {0} à Noosom. Vous pouvez maintenant commencer à explorer. Prendre plaisir! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Bienvenue, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'Le champ email est!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Le champ mot de passe est!',\n ERROR_MESSAGE_INVALID_EMAIL:'L\\'e-mail doit être une adresse e-mail valide',\n ERROR_MESSAGE_NOATTEMPTS:'Nom d\\'utilisateur ou mot de passe invalide. Il ne vous reste plus aucune tentative.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Votre adresse e-mail n\\'est pas vérifiée.
vérifiez d\\'abord votre adresse e-mail.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Vôtre compte a été bloqué.'},\n {ErrorCode:0,ErrorMessage:'Connexion réussie.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Nom d\\'utilisateur ou mot de passe invalide.
Il vous reste {0} tentatives.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administratrice'},{titlle:'Client',value:'Cliente'},{title:'User',value:'Utilisatrice'}]\n },\n SIGNUP:\n {\n MOTIVATION_BADGE_SIGNUP:'Inscrivez-vous et commencez l\\'aventure',\n STEPPER_TITLE_ACCOUNT:'Compte',\n STEPPER_SUB_TITLE_ACCOUNT:'Saisissez votre nom d\\'utilisateur',\n STEPPER_TITLE_PERSONAL:'Personnelle',\n STEPPER_SUB_TITLE_PERSONAL:'Entrez les informations',\n HEADING_ACCOUNT:'Information sur le compte',\n HEADING_PERSONAL:'Renseignements personnels',\n HEADING_SELECTPLAN:'Sélectionnez le plan',\n CONTROL_LABEL_USERID:'ID utilisateur Noosom',\n CONTROL_LABEL_EMAILADDRESS:'Adresse e-mail',\n CONTROL_LABEL_PASSWORD:'Mot de passe',\n CONTROL_LABEL_CONFIRMPASSWORD:'Confirmer votre mot de passe',\n CONTROL_LABEL_REGION:'Votre région',\n CONTROL_LABEL_HOMECOUNTRY:'Votre pays',\n CONTROL_LABEL_FIRSTNAME:'Prénom',\n CONTROL_LABEL_MIDDLENAME:'Deuxième nom',\n CONTROL_LABEL_LASTNAME:'Nom de famille',\n CONTROL_LABEL_BIRTHDATE:'Date de naissance',\n CONTROL_LABEL_MOBILENO:'Mobile Non',\n CONTROL_LABEL_SELECTPLAN:'Gratuit pour l\\'instant, ou achetez plus tard.',\n PLACEHOLDER_TYPEHERE:'Écrivez ici...',\n PLACEHOLDER_PASSWORD:'Mot de passe',\n PLACEHOLDER_REGION:'Choisissez une région',\n PLACEHOLDER_COUNTRY:'Choisissez le pays',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Précédente',\n BUTTON_TEXT_NEXT:'Prochaine',\n BUTTON_TEXT_SUBMIT:'Soumettre',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Vos données seront stockées',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'dans la région sélectionnée',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'Sélectionnez le pays',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Compte créé avec succès.',\n ERROR_MESSAGE_REQUIRED_USERID:'Le champ nom d\\'utilisateur est!',\n ERROR_MESSAGE_EXISTED_USERID:'Ce nom d\\'utilisateur a été pris. Veuillez en essayer un autre.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'Le champ adresse e-mail est!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Cette adresse e-mail a été prise. Veuillez en essayer un autre.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Le champ mot de passe est!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Doit contenir au moins un chiffre, une lettre majuscule et minuscule et un minimum de 8 caractères ou plus.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'Le mot de passe répété doit correspondre.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'Le champ de confirmation du mot de passe est!',\n ERROR_MESSAGE_REQUIRED_REGION:'Le champ région est!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'Le champ du pays',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'Le champ prénom est!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'Le champ du deuxième prénom est!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'Le champ nom de famille est!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'Le champ date de naissance est!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'Le mobile aucun champ n\\'est requis!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Veuillez sélectionner l\\'option de forfait gratuit!'\n }\n }\n};\n","import { Status } from \"app/enums\";\r\n\r\nexport const locale = {\r\n lang: 'gj',\r\n data: {\r\n COMMON:{\r\n ERROR_MESSAGE_CONNECTIONREFUSED:'સર્વર સાથે કનેક્ટ કરી શકાયું નથી'\r\n },\r\n SIGNIN: {\r\n WELCOME_TEXT: 'નૂસોમ માં આપનું સ્વાગત છે',\r\n MOTIVATION_BADGE_SIGNIN:'સાઇન ઇન કરો અને સાહસ શરૂ કરો',\r\n CONTROL_LABEL_EMAIL:'ઈ - મેઈલ સરનામું',\r\n CONTROL_LABEL_PASSWORD:'પાસવર્ડ',\r\n CONTROL_LABEL_REMEMBERME:'મને યાદ રાખો',\r\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\r\n LINK_TEXT_LABEL_FORGOTPASSWORD:'તમારો પાસવર્ડ ભૂલી ગયા છો?',\r\n LINK_TEXT_LABEL_CREATEACCOUNT:'એક ખાતુ બનાવો',\r\n TEXT_NEWONPLATFORM:'અમારા પ્લેટફોર્મ પર નવા છો?',\r\n BUTTON_TEXT_LOGIN:'પ્રવેશ કરો',\r\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'તમે Noosom માં {0} વપરાશકર્તા તરીકે સફળતાપૂર્વક લૉગ ઇન કર્યું છે. હવે તમે અન્વેષણ કરવાનું શરૂ કરી શકો છો. આનંદ માણો! 🎉',\r\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 સ્વાગત છે, {0}!',\r\n ERROR_MESSAGE_REQUIRED_EMAIL:'ઈમેલ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_PASSWORD:'પાસવર્ડ આવશ્યક છે!',\r\n ERROR_MESSAGE_INVALID_EMAIL:'ઇમેઇલ એક માન્ય ઇમેઇલ સરનામું હોવું આવશ્યક છે',\r\n ERROR_MESSAGE_NOATTEMPTS:'અમાન્ય વપરાશકર્તાનામ અથવા પાસવર્ડ. તમારી પાસે કોઈ પ્રયાસો બાકી નથી.',\r\n LOGIN_STATUS:\r\n [\r\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'તમારું ઇમેઇલ સરનામું ચકાસાયેલ નથી.
પહેલા તમારું ઇમેઇલ સરનામું બદલો.'},\r\n {ErrorCode:Status.AccountLocked,ErrorMessage:'તમારું એકાઉન્ટ લોક કરી દેવામાં આવ્યું છે.'},\r\n {ErrorCode:0,ErrorMessage:'લૉગ-ઇન સફળ.'},\r\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'અમાન્ય વપરાશકર્તાનામ અથવા પાસવર્ડ.
તમારી પાસે {0} પ્રયાસો બાકી છે.'}\r\n ],\r\n DIGITS:[\"૧\",\"૨\",\"૩\",\"૪\"],\r\n ROLES:[{title:'Admin',value:'એડમિન'},{titlle:'Client',value:'ક્લાયન્ટ'},{title:'User',value:'વપરાશકર્તા'}]\r\n },\r\n SIGNUP:\r\n {\r\n MOTIVATION_BADGE_SIGNUP:'સાઇન અપ કરો અને સાહસ શરૂ કરો',\r\n STEPPER_TITLE_ACCOUNT:'એકાઉન્ટ',\r\n STEPPER_SUB_TITLE_ACCOUNT:'વપરાશકર્તા નામ દાખલ કરો',\r\n STEPPER_TITLE_PERSONAL:'અંગત',\r\n STEPPER_SUB_TITLE_PERSONAL:'માહિતી દાખલ કરો',\r\n HEADING_ACCOUNT:'ખાતાની માહિતી',\r\n HEADING_PERSONAL:'વ્યક્તિગત માહિતી',\r\n HEADING_SELECTPLAN:'પ્લાન પસંદ કરો',\r\n CONTROL_LABEL_USERID:'નૂસોમ વપરાશકર્તા આઈડી',\r\n CONTROL_LABEL_EMAILADDRESS:'ઈ - મેઈલ સરનામું',\r\n CONTROL_LABEL_PASSWORD:'પાસવર્ડ',\r\n CONTROL_LABEL_CONFIRMPASSWORD:'તમારા પાસવર્ડની ખાતરી કરો',\r\n CONTROL_LABEL_REGION:'તમારો પ્રદેશ',\r\n CONTROL_LABEL_HOMECOUNTRY:'તમારો દેશ',\r\n CONTROL_LABEL_FIRSTNAME:'પ્રથમ નામ',\r\n CONTROL_LABEL_MIDDLENAME:'પિતાનું નામ',\r\n CONTROL_LABEL_LASTNAME:'છેલ્લું નામ',\r\n CONTROL_LABEL_BIRTHDATE:'જન્મ તારીખ',\r\n CONTROL_LABEL_MOBILENO:'મોબાઈલ નમ્બર',\r\n CONTROL_LABEL_SELECTPLAN:'હમણાં માટે હંમેશ માટે મફત, અથવા પછીથી ખરીદો.',\r\n PLACEHOLDER_TYPEHERE:'અહી લખો...',\r\n PLACEHOLDER_PASSWORD:'પાસવર્ડ',\r\n PLACEHOLDER_REGION:'પ્રદેશ પસંદ કરો',\r\n PLACEHOLDER_COUNTRY:'દેશ પસંદ કરો',\r\n PLACEHOLDER_TELEPHONENUMBER:'૦૧૨૩૪૫૬૭૮૯',\r\n BUTTON_TEXT_PREVIOUS:'અગાઉના',\r\n BUTTON_TEXT_NEXT:'આગળ',\r\n BUTTON_TEXT_SUBMIT:'સબમિટ કરો',\r\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'તમારો ડેટા પસંદ કરેલ પ્રદેશમાં',\r\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'સંગ્રહિત કરવામાં આવશે',\r\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'દેશ પસંદ કરો',\r\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'એકાઉન્ટ સફળતાપૂર્વક બનાવ્યું.',\r\n ERROR_MESSAGE_REQUIRED_USERID:'યુઝરનેમ આવશ્યક છે!',\r\n ERROR_MESSAGE_EXISTED_USERID:'તે વપરાશકર્તા નામ લેવામાં આવ્યું છે. કૃપા કરીને બીજો પ્રયાસ કરો.',\r\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'ઈમેલ એડ્રેસ ફીલ્ડ છે!',\r\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'તે ઈમેલ એડ્રેસ લેવામાં આવ્યું છે. કૃપા કરીને બીજો પ્રયાસ કરો.',\r\n ERROR_MESSAGE_REQUIRED_PASSWORD:'પાસવર્ડ ફીલ્ડ છે!',\r\n ERROR_MESSAGE_INVALID_PASSWORD:'ઓછામાં ઓછા એક નંબર, એક અપરકેસ અને લોઅરકેસ અક્ષર અને ઓછામાં ઓછા 8 અથવા વધુ અક્ષરો હોવા જોઈએ.',\r\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'પુનરાવર્તિત પાસવર્ડ મેળ ખાતો હોવો જોઈએ.',\r\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'કન્ફર્મ પાસવર્ડ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_REGION:'પ્રદેશ ક્ષેત્ર આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'દેશ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'પ્રથમ નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'મધ્યમ નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_LASTNAME:'છેલ્લું નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'જન્મ તારીખ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_MOBILENO:'મોબાઇલ નંબર આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'કૃપા કરીને ફ્રી પ્લાન વિકલ્પ પસંદ કરો!'\r\n }\r\n }\r\n };\r\n ","import { Status } from \"app/enums\";\r\n\r\nexport const locale = {\r\n lang: 'hn',\r\n data: {\r\n COMMON: {\r\n CONTROL_LABEL_EMAIL_ADDRESS: 'ईमेल पता',\r\n PLACEHOLDER_EMAIL_ADDRESS: 'यहाँ लिखो...',\r\n PLACEHOLDER_TYPE_HERE: 'यहाँ लिखो...',\r\n PLACEHOLDER_MOBILE_NUMBER: '०१२३४५६७८९',\r\n BUTTON_TEXT_SAVE_CHANGES: 'परिवर्तनों को सुरक्षित करें',\r\n ERROR_MESSAGE_REQUIRED_EMAIL_ADDRESS: 'ईमेल की आवश्यकता है!',\r\n ERROR_MESSAGE_INVALID_EMAIL: 'कृपया अपना ईमेल पता प्रारूप में दर्ज करें:\\nyourname@example.com',\r\n ERROR_MESSAGE_CONNECTIONREFUSED: 'सर्वर से कनेक्ट नहीं हो सका.',\r\n TOOLTIP_TEXT_BUTTON_CLOSE: 'बंद करना',\r\n COMMON_STATUS:\r\n [\r\n { ErrorCode: Status.UserNotFound, ErrorMessage: 'उपयोगकर्ता नहीं मिल सका।' }\r\n ],\r\n },\r\n MYPASTIME: {\r\n BUTTON_TEXT_BUTTON_ADD_NEW_PASTIME: 'एक पासटाइम जोड़ें',\r\n BUTTON_TEXT_BUTTON_ADD_NEW_HOBBY: 'एक शौक जोड़ें',\r\n BUTTON_TEXT_SAVE_AND_CLOSE: 'सहेजें और बंद करें',\r\n BUTTON_TEXT_SAVE_AND_NEXT: 'सहेजें और आगे',\r\n BUTTON_TEXT_ABANDON: 'छोड़ें',\r\n BUTTON_TEXT_CANCEL: 'रद्द करें',\r\n BUTTON_TEXT_UPLOAD_ALL: 'सभी अपलोड करें',\r\n BUTTON_TEXT_PAUSE_ALL: 'सभी को रोकें',\r\n BUTTON_TEXT_DOWNLOAD_ALL: 'सभी डाउनलोड करें',\r\n BUTTON_TEXT_REMOVE_ALL: 'सभी हटाएं',\r\n BUTTON_TEXT_SAVE_CHANGES: 'परिवर्तन सहेजें',\r\n CONTROL_LABEL_PASTIME: 'पासटाइम',\r\n CONTROL_LABEL_PASTIMES: 'पासटाइमस',\r\n CONTROL_LABEL_HOBBY: 'शौक',\r\n CONTROL_LABEL_HOBBIES: 'शौक',\r\n CONTROL_LABEL_DATE_FROM: 'दिनांक से',\r\n CONTROL_LABEL_DATE_TO: 'दिनांक तक',\r\n CONTROL_LABEL_FIELD_DATE_FROM: 'दिनांक से',\r\n CONTROL_LABEL_FIELD_DATE_TO: 'दिनांक तक',\r\n CONTROL_LABEL_FIELD_SHORT_DESCRIPTION: 'संक्षिप्त विवरण',\r\n CONTROL_LABEL_FIELD_LONG_DESCRIPTION: 'लंबा विवरण',\r\n CONTROL_LABEL_SHORT_DESCRIPTION: 'संक्षिप्त विवरण',\r\n CONTROL_LABEL_NAME_OF_PASTIME: 'पासटाइम का नाम',\r\n CONTROL_LABEL_NAME_OF_HOBBY: 'शौक का नाम',\r\n CONTROL_LABEL_MULTIPLE: 'बहुतायत',\r\n CONTROL_LABEL_ACTION: 'कार्रवाई',\r\n CONTROL_LABEL_NOTES: 'नोट्स',\r\n COLUMN_HEADING_NAME: 'नाम',\r\n COLUMN_HEADING_SIZE: 'साइज़',\r\n COLUMN_HEADING_PROGRESS: 'प्रगति',\r\n COLUMN_HEADING_STATUS: 'स्थिति',\r\n COLUMN_HEADING_DATE_CREATED: 'तिथि बनाई गई',\r\n COLUMN_HEADING_TYPE: 'प्रकार',\r\n COLUMN_HEADING_ACTIONS: 'कार्रवाई',\r\n DIALOG_TITLE_ADD_PASTIME: 'एक पासटाइम जोड़ें',\r\n DIALOG_TITLE_EDIT_PASTIME: 'एक पासटाइम संपादित करें',\r\n DIALOG_TITLE_ADD_HOBBY: 'एक शौक जोड़ें',\r\n DIALOG_TITLE_EDIT_HOBBY: 'एक शौक संपादित करें',\r\n ERROR_MESSAGE_ATTACHMENT_UPLOADED: 'संलग्नक अपलोड किया गया',\r\n ERROR_MESSAGE_PASTIME_REQUIRED: 'पासटाइम आवश्यक है!',\r\n ERROR_MESSAGE_HOBBIES_REQUIRED: 'शौक आवश्यक है!',\r\n ERROR_MESSAGE_MAX_50: 'आपने बहुत अधिक वर्ण टाइप किए हैं, अधिकतम 50 वर्ण अनुमत हैं',\r\n HEADING_TEXT_SELECT_IMAGES: 'दस्तावेज़ चुनें',\r\n HEADING_TEXT_UPLOAD_QUEUE: 'अपलोड कतार',\r\n HEADING_TEXT_QUEUE_PROGRESS: 'कतार प्रगति',\r\n INFO_TEXT2: 'आपकी सभी अपलोड की गई तस्वीरें यहां प्रदर्शित की जाएगी।',\r\n PLACEHOLDER_CHOOSE_FILES: 'फ़ाइलें चुनें',\r\n SECTION_HEADING_HI: 'नमस्ते',\r\n SECTION_HEADING_ABOUT_ME: 'यह आपके और आपके प्रोफ़ाइल के बारे में सब कुछ है',\r\n SECTION_TEXT1: 'कुछ दस्तावेज़ चुनें। आप उन्हें एक-एक करके अपलोड कर सकते हैं या एक साथ सभी अपलोड करने के लिए एक बार अपलोड करें।',\r\n SECTION_TEXT2: 'आपके सभी दस्तावेज़ यहां एक सूची में प्रदर्शित किए जाएंगे। आप उन्हें व्यक्तिगत रूप से डाउनलोड या हटा सकते हैं।',\r\n SECTION_TEXT3: 'इस पासटाइम के लिए आपके पास कोई विशिष्ट नोट्स जोड़ें।',\r\n SWEET_ALERT_TITLE_PASTIME_TEXT: 'क्या आपको यकीन है, कि आप इस पास्टाइम को हटाना चाहते हैं?',\r\n SWEET_ALERT_TITLE_HOBBY_TEXT: 'क्या आपको यकीन है, कि आप इस शौक को हटाना चाहते हैं?',\r\n SWEET_ALERT_TEXT: 'आप इसे वापस नहीं कर सकेंगे!',\r\n SWEET_ALERT_CONFIRM_BUTTON_TEXT: 'हां, इसे हटाएं!',\r\n SWEET_ALERT_CONFIRM_BUTTON_TEXT_UNLINK:'हाँ, इसे अनलिंक करें!',\r\n SWEET_ALERT_CANCEL_BUTTON_TEXT: 'रद्द करें',\r\n SWEET_ALERT_TITLE_ADDRESS_DOCUMENT_TEXT: 'क्या आपको यकीन है, कि आप इस पासटाइम दस्तावेज़ को हटाना चाहते हैं?',\r\n SWEET_ALERT_TITLE_HOBBY_DOCUMENT_TEXT: 'क्या आपको यकीन है, कि आप इस शौक दस्तावेज़ को हटाना चाहते हैं?',\r\n SWEET_ALERT_TITLE_ALL_ADDRESS_DOCUMENT_TEXT: 'क्या आपको यकीन है, कि आप इन सभी पासटाइम दस्तावेज़ को हटाना चाहते हैं?',\r\n SWEET_ALERT_TITLE_ALL_HOBBY_DOCUMENT_TEXT: 'क्या आपको यकीन है, कि आप इन सभी शौक दस्तावेज़ को हटाना चाहते हैं?',\r\n SWEET_ALERT_TITLE_INSURANCE_TEXT: 'क्या आपको यकीन है, कि आप इस पासटाइम और इससे संबंधित सभी अटैचमेंट्स को हटाना चाहते हैं?',\r\n SWEET_ALERT_TEXT_DELETED: 'हटाया गया!',\r\n SWEET_ALERT_CONFIRM_BUTTON_TEXT_OKAY: 'ठीक है',\r\n TAB_HEADING_PASTIME_DETAILS: 'पासटाइम विवरण',\r\n TAB_HEADING_HOBBY_DETAILS: 'शौक विवरण',\r\n TAB_HEADING_UPLOADS: 'अपलोड',\r\n TAB_HEADING_DOCUMENTS: 'दस्तावेज़',\r\n TAB_HEADING_NOTES: 'नोट्स',\r\n TAB_LINK_PASTIMES: 'पासटाइम',\r\n TAB_HEADING_GALLERY: 'गेलरी',\r\n TAB_LINK_HOBBIES: 'शौक',\r\n TOOLTIP_TOGGLE_CALENDAR: 'कैलेंडर स्विच करें',\r\n TOOLTIP_TEXT_BUTTON_ADD_NEW_RECORD: 'नया रिकॉर्ड जोड़ें',\r\n TOOLTIP_TEXT_BUTTON_DOWNLOAD: 'डाउनलोड',\r\n TOOLTIP_TEXT_BUTTON_VIEW: 'देखें',\r\n TOOLTIP_TEXT_BUTTON_DELETE: 'हटाएँ',\r\n TEXT_FILE_TYPES: 'अनुमत फ़ाइल प्रकार:',\r\n TEXT_QUEUE_LENGTH: 'कतार की लंबाई:',\r\n TEXT_MB: 'मेगाबाइट',\r\n TOOLTIP_TEXT_PASTIME_INFORMATION: 'किसी भी आपके अतीत के शौक के बारे में कुछ जानकारी जोड़ें',\r\n TOOLTIP_TEXT_PASTIME_NOTES: 'किसी भी आपके अतीत के शौक के बारे में कुछ नोट्स जोड़ें',\r\n TOOLTIP_TEXT_UPLOAD_DOCUMENTS: 'कुछ दस्तावेज़ चुनें; आप उन्हें एक-एक करके अपलोड कर सकते हैं या एक साथ सभी अपलोड करने के लिए एक बार अपलोड करें',\r\n TOOLTIP_TEXT_UPLOADED_DOCUMENTS_DISPLAY: 'आपके अपलोड किए गए सभी दस्तावेज़ यहां प्रदर्शित किए जाएंगे',\r\n TOOLTIP_TEXT_PASTIME_NAME: 'शौक का नाम दर्ज करें',\r\n TOOLTIP_TEXT_PASTIME_DATE_FROM: 'शौक की तिथि से दर्ज करें',\r\n TOOLTIP_TEXT_PASTIME_DATE_TO: 'शौक की तिथि तक दर्ज करें',\r\n TOOLTIP_TEXT_HOBBIES_NAME: 'शौक का नाम दर्ज करें',\r\n TOOLTIP_TEXT_HOBBIES_DATE_FROM: 'शौक की दिनांक से दर्ज करें',\r\n TOOLTIP_TEXT_HOBBIES_DATE_TO: 'शौक की दिनांक तक दर्ज करें',\r\n TOOLTIP_TEXT_HOBBY_INFORMATION: 'किसी भी शौक के बारे में कुछ जानकारी जोड़ें',\r\n TOOLTIP_TEXT_HOBBY_NOTES: 'किसी भी शौक के बारे में कुछ नोट्स जोड़ें',\r\n TOOLTIP_TEXT_PASTIME_SHORT_DESCRIPTION: 'एक संक्षिप्त विवरण दर्ज करें',\r\n TOOLTIP_TEXT_PASTIME_LONG_DESCRIPTION: 'एक लंबा विवरण दर्ज करें'\r\n }\r\n }\r\n};\r\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'pt',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Não foi possível conectar com o servidor'\n },\n SIGNIN: {\n WELCOME_TEXT: 'Bem-vindo ao Noosom',\n MOTIVATION_BADGE_SIGNIN:'Faça login e comece a aventura',\n CONTROL_LABEL_EMAIL:'Endereço de email',\n CONTROL_LABEL_PASSWORD:'Senha',\n CONTROL_LABEL_REMEMBERME:'Lembre de mim',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Esqueceu sua senha?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Crie a sua conta aqui',\n TEXT_NEWONPLATFORM:'Novo em nossa plataforma?',\n BUTTON_TEXT_LOGIN:'Conecte-se',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Você fez login com sucesso como um usuário {0} no Noosom. Agora você pode começar a explorar. Apreciar! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Bem-vindo, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'O campo de e-mail!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'O campo de senha!',\n ERROR_MESSAGE_INVALID_EMAIL:'O e-mail deve ser um endereço de e-mail válido',\n ERROR_MESSAGE_NOATTEMPTS:'Nome de usuário ou senha inválidos. Não há tentativas restantes.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Seu endereço de e-mail não foi verificado.
primeiro varie seu endereço de e-mail.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Sua conta foi bloqueada.'},\n {ErrorCode:0,ErrorMessage:'Logado com sucesso.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Nome de usuário ou senha inválidos.
Você tem {0} tentativas restantes.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administrador'},{titlle:'Client',value:'Cliente'},{title:'User',value:'Do utilizador'}]\n },\n SIGNUP:\n {\n STEPPER_TITLE_ACCOUNT:'Conta',\n STEPPER_SUB_TITLE_ACCOUNT:'Insira nome de usuário',\n STEPPER_TITLE_PERSONAL:'Pessoal',\n STEPPER_SUB_TITLE_PERSONAL:'Insira as informações',\n HEADING_ACCOUNT:'Informação da conta',\n HEADING_PERSONAL:'Informação pessoal',\n HEADING_SELECTPLAN:'Selecione o plano',\n CONTROL_LABEL_USERID:'ID de usuário Noosom',\n CONTROL_LABEL_EMAILADDRESS:'Endereço de email',\n CONTROL_LABEL_PASSWORD:'Senha',\n CONTROL_LABEL_CONFIRMPASSWORD:'Confirme sua senha',\n CONTROL_LABEL_REGION:'Sua região',\n CONTROL_LABEL_HOMECOUNTRY:'Seu país de',\n CONTROL_LABEL_FIRSTNAME:'Primeiro nome',\n CONTROL_LABEL_MIDDLENAME:'Nome do meio',\n CONTROL_LABEL_LASTNAME:'Sobrenome',\n CONTROL_LABEL_BIRTHDATE:'Data de nascimento',\n CONTROL_LABEL_MOBILENO:'Celular não',\n CONTROL_LABEL_SELECTPLAN:'Grátis para sempre por agora, ou compre mais tarde.',\n PLACEHOLDER_TYPEHERE:'Digite aqui...',\n PLACEHOLDER_PASSWORD:'Senha',\n PLACEHOLDER_REGION:'Selecione a região',\n PLACEHOLDER_COUNTRY:'Selecione o pais',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Anterior',\n BUTTON_TEXT_NEXT:'Próxima',\n BUTTON_TEXT_SUBMIT:'Enviar',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Seus dados serão armazenados',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'na região selecionada',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'Selecione o país de',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Conta criada com sucesso.',\n ERROR_MESSAGE_REQUIRED_USERID:'O campo de nome de usuário!',\n ERROR_MESSAGE_EXISTED_USERID:'Esse nome de usuário foi usado. Por favor, tente outro.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'O campo de endereço de e-mail!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Esse endereço de e-mail foi usado. Por favor, tente outro.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'O campo de senha!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Deve conter pelo menos um número, uma letra maiúscula e uma minúscula e um mínimo de 8 ou mais caracteres.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'A senha repetida deve corresponder.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'O campo de confirmação de senha!',\n ERROR_MESSAGE_REQUIRED_REGION:'O campo região!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'O campo do país de!',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'O campo de nome!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'O campo de nome do meio!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'O campo sobrenome!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'O campo data de nascimento!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'O celular nenhum campo!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Selecione a opção de plano gratuito!'\n }\n }\n};\n","import { Component, ElementRef, Inject, OnInit, ViewChild } from '@angular/core';\nimport { locale as english } from 'app/mypastimes/i18n/en';\nimport { locale as french } from 'app/mypastimes/i18n/fr';\nimport { locale as german } from 'app/mypastimes/i18n/de';\nimport { locale as portuguese } from 'app/mypastimes/i18n/pt';\nimport { locale as gujarati } from 'app/mypastimes/i18n/gj';\nimport { locale as hindi } from 'app/mypastimes/i18n/hn';\nimport { CoreTranslationService } from '@core/services/translation.service';\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';\nimport { NgbNav } from '@ng-bootstrap/ng-bootstrap';\nimport { Constant } from 'app/Classes/constant';\nimport { AuthenticationService } from 'app/auth/service/authentication.service';\nimport { FileUploader, FileItem } from 'ng2-file-upload';\nimport { Observable, Subject, Subscription } from 'rxjs';\nimport { CoreConfigService } from '@core/services/config.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { HobbyDocumentListOutputModel, HobbyLoadDataInputModel, UserHobbyModel } from '../pastime-model.model';\nimport { CustomToastrService } from 'app/Services/custom-toastr.service';\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\nimport { LoadingScreenService } from 'app/Services/loading-screen.service';\nimport { PasttimesService } from '../pasttimes.service';\nimport { E } from 'assets/extensions/extensions';\nimport { RecordsType, Status } from 'app/enums';\nimport { TextBoxComponent } from 'app/CustomComponents/text-box/text-box.component';\nimport Swal from 'sweetalert2';\nimport { Router } from '@angular/router';\nimport { DeleteInputModel, DeleteMultipleInputModel, DownloadFileInputModel, DownloadFileOutputModel } from 'app/Models/output-model';\nimport { GlobalService } from 'app/Services/global.service';\nimport { BeforeSlideDetail } from 'lightgallery/lg-events';\nimport lgZoom from 'lightgallery/plugins/zoom';\nimport thumbnail from 'lightgallery/plugins/thumbnail';\nimport pager from 'lightgallery/plugins/pager';\nimport autoPlay from 'lightgallery/plugins/autoplay';\nimport lgvideo from 'lightgallery/plugins/video';\nimport lgVideo from 'lightgallery/plugins/video';\nimport vimeoVideo from 'lightgallery/plugins/video';\nimport videoThumbnail from 'lightgallery/plugins/video';\nimport fullScreen from 'lightgallery/plugins/fullscreen';\nimport rotate from 'lightgallery/plugins/rotate';\nimport { LightGallery } from 'lightgallery/lightgallery';\nimport { GeneralService } from 'app/Services/general.service';\nimport { SelectSyncFileManagerComponent } from 'app/sync-file-manager/select-sync-file-manager/select-sync-file-manager.component';\n@Component({\n selector: 'app-my-hobbies',\n templateUrl: './my-hobbies.component.html',\n styleUrls: ['./my-hobbies.component.scss']\n})\nexport class MyHobbiesComponent implements OnInit {\n @ViewChild('nav') nav: NgbNav;\n @ViewChild('hobby') hobby: TextBoxComponent;\n @ViewChild('notes') notes: ElementRef;\n @ViewChild('fileInput') fileInput;\n @ViewChild('AddressGallery') lightGallery!: LightGallery;\n galleryRefresh:LightGallery;\n settings: any = {\n counter: false,\n appendSubHtmlTo: '.lg-toolbar',\n commentBox: true,\n lgVideo: true,\n download: false,\n thumbnail: true,\n slideVideo: true,\n pager:false,\n autoplayFirstVideo: false,\n autoplayVideoOnSlide:false,\n plugins: [\n lgZoom,\n // pager,\n autoPlay,\n fullScreen,\n rotate,\n thumbnail,\n videoThumbnail,\n vimeoVideo,\n lgVideo,\n lgvideo,\n //share\n ] // comment, share (options are commented for future use)\n };\n\n private needRefresh = false;\n _ImageUrlAPI: string = Constant.API + 'api/UserHobby/UploadUserHobbyDocuments';\n public uploader: FileUploader = new FileUploader({\n url: this._ImageUrlAPI,\n isHTML5: true,\n method: \"PUT\",\n itemAlias: \"MultiFileUploaderInsurance\",\n disableMultipart: false, // 'DisableMultipart' must be 'true' for formatDataFunction to be called.\n formatDataFunction: (item: FileItem) => item._file,\n formatDataFunctionIsAsync: false,\n maxFileSize: 1 * 1024 * 1024 * 1024,\n //Notes: do not add headers here.\n authToken: `Bearer ` + this.authenticationService.currentUserValue.Token,\n allowedFileType: [ \"image\", \"tiff\", \"bmp\", \"png\", \"jpg\", \"jpeg\", \"pdf\", \"video\",\"mp4\", \"mpeg\", \"mov\", \"avi\", \"ogv\", \"webm\",\"flv\"]\n });\n uploaderWarning:boolean=false;\n forgotuploadWarning:boolean=false;\n public loading = false;\n public submitted = false;\n public coreConfig: any;\n public dialogTitle: string;\n public IsForEdit: boolean = false;\n public IsForAbandon: boolean = false;\n public error = '';\n public maxToDate: Date = new Date();\n public maxFromDate: Date = new Date();\n currentAppLanguage: any;\n UserAddressDocument: any;\n _data: number = 0;\n characterCount1: number = 0;\n maxChars1: number = 120;\n characterCount2: number = 0;\n maxChars2: number = 1500;\n private _unsubscribeAll: Subject;\n public tab = 1;\n public frmHobby: FormGroup;\n private userHobby: UserHobbyModel;\n hobbyLoadDataInputModel:HobbyLoadDataInputModel;\n public DocumentList: HobbyDocumentListOutputModel[] = [];\n public DocumentList1: HobbyDocumentListOutputModel[] = [];\n public downloadFileInputModel: DownloadFileInputModel;\n private subDownloadAddressAtt$?: Subscription;\n private subDeleteAddressAtt$?: Subscription;\n deleteInputModel: DeleteMultipleInputModel = new DeleteMultipleInputModel();\n deleteInputModel1: DeleteInputModel = new DeleteInputModel();\n infoTooltip:string;\n dateformat: string;\n GalleryItems: any = [];\n GalleryItems1: any = [];\n cache: { [key: string]: string } = {};\n uploadCount=0;\n public pageAdvancedEllipses = 1;\n public pagesNumber;\n page=0;\n timeformat: string;\n dateformat1: string;\n constructor(\n private _coreTranslationService: CoreTranslationService,\n private _coreConfigService: CoreConfigService,\n private _translateService: TranslateService,\n private authenticationService: AuthenticationService,\n private dialogRef: MatDialogRef,\n private loadingScreenService: LoadingScreenService,\n private _toastrService: CustomToastrService,\n private encrDecr: EncrDecrService,\n private pastimeServie: PasttimesService,\n private _formBuilder: FormBuilder,\n private _router: Router,\n private dialog: MatDialog,\n private globalService: GlobalService,\n private generalService : GeneralService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n ) { \n this._unsubscribeAll = new Subject();\n this._coreTranslationService.translate(english, french, german, portuguese, gujarati, hindi);\n this._translateService.onLangChange.subscribe(lang => {\n setTimeout(() => {\n let _LangJsonObj = this.GetCurrentLanguageJsonObject(lang.lang);\n if (_LangJsonObj)\n this.currentAppLanguage = _LangJsonObj;\n }, 100);\n })\n this._data=data;\n this.settings.licenseKey=this.authenticationService.currentUserValue.Parameter.LightGalleryLicenseKey;\n this.dateformat=this.globalService.getDateFormat().toUpperCase()\n this.dateformat1=this.globalService.getDateFormat();\n this.timeformat = this.globalService.getTimeFormat();\n }\n\n ngOnInit(): void {\n this.userHobby = new UserHobbyModel;\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n this.currentAppLanguage = this.GetCurrentLanguageJsonObject(this.coreConfig.app.appLanguage);\n this.dialogTitle = this.currentAppLanguage.data.MYPASTIME.DIALOG_TITLE_ADD_HOBBY;\n this.infoTooltip= this.currentAppLanguage.data.MYPASTIME.TOOLTIP_TEXT_HOBBY_INFORMATION;\n this.frmHobby = this._formBuilder.group({\n DateFrom: [new Date],\n DateTo: [new Date],\n HobbyName: ['',Validators.required],\n ShortDescription: [''],\n LongDescription: [''],\n Notes:['']\n });\n if (typeof this._data !== 'undefined') {\n // console.log('this._data')\n // console.log(this._data)\n if (this._data > 0) {\n this.IsForEdit = true;\n this.dialogTitle = this.currentAppLanguage.data.MYPASTIME.DIALOG_TITLE_EDIT_HOBBY;\n \n setTimeout(() => {\n this.loadingScreenService.startLoading();\n this.hobbyLoadDataInputModel={UserHobbyId:this._data,GetMetaDataYN:false,docYN:false}\n this.pastimeServie.GetUserHobbyLoadData(this.hobbyLoadDataInputModel)\n .subscribe(\n (data) => {\n this.loadingScreenService.stopLoading();\n // console.log(data);\n if (data.status == Status.Success) {\n let hobbymodel = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, data.data)));\n //console.log(hobbymodel)\n this.userHobby=hobbymodel.Data.UserHobby\n if (this.userHobby) {\n //this.userAwards = this.awardLoadDataOutputModel.UserAward;\n this.frmHobby.patchValue({\n HobbyName:this.userHobby.HobbyName,\n ShortDescription:this.userHobby.ShortDescription,\n LongDescription:this.userHobby.LongDescription,\n DateFrom:E.ConvertToDate(this.userHobby.DateFrom),\n DateTo:E.ConvertToDate(this.userHobby.DateTo),\n Notes:this.userHobby.Notes\n });\n if(this.userHobby.ShortDescription){\n this.updateCharacterCount1(this.userHobby.ShortDescription)\n }\n if(this.userHobby.LongDescription){\n this.updateCharacterCount2(this.userHobby.LongDescription)\n }\n }\n if (hobbymodel.Data.HobbyDocumentList) {\n hobbymodel.Data.HobbyDocumentList.forEach(async(doc) => {\n if (doc.DocumentSubType.toLocaleLowerCase() == \"documents\") {\n this.DocumentList.push(doc);\n }\n else if (doc.DocumentSubType.toLocaleLowerCase() == \"images\" || \"videos\") {\n await this.AddItemToGallery(doc.DocumentId, doc.DocumentPath, doc.DocumentOldName,doc.Size ,doc.DocumentSubType,doc.CreatedDate, doc.CreatedTime);\n this.needRefresh = true;\n }\n });\n }\n }\n else {\n this._toastrService.Error(E.ConvertToString(data.message), Constant.ErrorToastrTitle);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loadingScreenService.stopLoading();\n }\n );\n\n }, 500);\n }\n }\n\n this.uploader.onAfterAddingFile = (file: any) => {\n if((this.uploader.queue.length>0) && (this.uploader.isUploading==false)){\n this.forgotuploadWarning=true;}\n file.withCredentials = false;\n };\n this.uploader.onBuildItemForm = (fileItem: any, form: any) => {\n fileItem.withCredentials = false;\n };\n this.uploader.onBeforeUploadItem = (fileItem) => {\n //console.log(this.uploader)\n this.loadingScreenService.startLoading()\n this.uploader.setOptions({\n headers: [\n { name: 'Access-Control-Allow-Origin', value: \"*\" },\n { name: 'FileSize', value: fileItem.file.size },\n { name: 'UserDetailsID', value: E.ConvertToString(this.authenticationService.currentUserValue.UserDetailsId) },\n { name: 'UserHobbyID', value: E.ConvertToString(this._data) }]\n });\n //this.uploader.setOptions({ url: fileItem.url + fileItem.file.name });\n return fileItem;\n };\n // this.uploader.onCompleteItem = (item: any, response: any, status: any, headers: any) => {\n // alert('File uploaded');\n // };\n this.uploader.response.subscribe(result => {\n if (result) {\n this.loadingScreenService.startLoading()\n let _result = JSON.parse(result);\n if(this.uploader.progress!=100){\n this.uploaderWarning=true;\n this.loadingScreenService.startLoading()\n // console.log(this.uploaderWarning)\n }else if(this.uploader.progress==100){\n this.uploaderWarning=false;\n this.forgotuploadWarning=false;\n //this.uploadCount = 0;\n this.loadingScreenService.stopLoading();\n }\n if (_result.status == Status.Success) {\n this._toastrService.Success(\"File Uploaded Successfully\")\n this.uploadCount = this.uploadCount+1;\n let _PastimeDocument = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, _result.data));\n if (_PastimeDocument.DocumentSubType.toLocaleLowerCase() == \"documents\") {\n this.DocumentList.push(_PastimeDocument);\n this.DocumentList1.push(_PastimeDocument);\n }\n else if (_PastimeDocument.DocumentSubType.toLocaleLowerCase() == \"images\" || \"videos\") {\n this.AddItemToGallery(_PastimeDocument.DocumentId, _PastimeDocument.DocumentPath, _PastimeDocument.DocumentOldName, _PastimeDocument.Size,_PastimeDocument.DocumentSubType,_PastimeDocument.CreatedDate,_PastimeDocument.ChangedTime);\n this.AddItemToGallery1(_PastimeDocument.DocumentId, _PastimeDocument.DocumentPath, _PastimeDocument.DocumentOldName, _PastimeDocument.Size,_PastimeDocument.DocumentSubType,_PastimeDocument.CreatedDate,_PastimeDocument.ChangedTime);\n this.needRefresh = true;\n }\n \n }\n else if(_result.status == Status.StorageFull){\n // this.uploader.destroy();\n this.uploader.cancelAll();\n // this.uploader.removeFromQueue();\n // this.uploader.cancelItem()\n this.uploader.clearQueue()\n Swal.fire({\n title: \"Storage Full\",\n text: _result.message,\n icon: 'error',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: \"Buy More Storage\",\n cancelButtonText: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n })\n .then(\n (async (result) => {\n if (result.value) {\n //this.uploader.clearQueue();\n this.dialogRef.close(true);\n this._router.navigate(['/pages/pricing'])\n }\n })\n );\n \n }\n }\n });\n\n this.dialogRef.keydownEvents().subscribe(event => {\n if (event.key.toLocaleLowerCase() === \"escape\") {\n this.onCloseButtonClick();\n }\n });\n }\n\n updateCharacterCount1(text: string): void {\n // Update the character count with the length of the input text\n this.characterCount1 = text.length;\n // If character count exceeds the maximum limit, truncate the input\n if (this.characterCount1 > this.maxChars1) {\n text = text.substr(0, this.maxChars1);\n this.characterCount1 = this.maxChars1;\n }\n }\n updateCharacterCount2(text: string): void {\n // Update the character count with the length of the input text\n this.characterCount2 = text.length;\n // If character count exceeds the maximum limit, truncate the input\n if (this.characterCount2 > this.maxChars2) {\n text = text.substr(0, this.maxChars2);\n this.characterCount2 = this.maxChars2;\n }\n }\n\n \n ngAfterViewChecked(): void {\n if (this.needRefresh) {\n // if (this.lightGallery)\n this.galleryRefresh.refresh();\n this.needRefresh = false;\n }\n }\n\n onBeforeClose = async (detail) => {\n this.galleryRefresh.refresh();\n }\n\n onInitGallery = (detail) => {\n this.lightGallery = detail.instance;\n this.galleryRefresh = detail.instance;\n //console.log(this.lightGallery)\n //console.log(this.lightGallery.mousewheel)\n const customDeleteButton = ``;\n const customDownloadButton = ``;\n const customHelpButton = ``;\n // const refreshButton = ``\n const $toolbar = this.lightGallery.$toolbar;\n $toolbar.append(customDeleteButton);\n $toolbar.append(customDownloadButton);\n $toolbar.append(customHelpButton);\n //$toolbar.append(refreshButton);\n document.getElementById(\"lg-custom-button-delete\").addEventListener(\"click\", async () => {\n const idname = detail.instance.galleryItems[detail.instance.index];\n await this.onDeleteDocument(idname.alt)\n let galleryItems1 = JSON.parse(JSON.stringify(detail.instance.galleryItems));\n const updatedGalleryItems = galleryItems1.filter((item, id) => id !== detail.instance.index);\n detail.instance.updateSlides(updatedGalleryItems, Math.max(detail.instance.index - 1, 0));\n detail.instance.slidesUpdated = true\n let slidesUpdated = false;\n //detail.instance.refresh();\n })\n\n document.getElementById(\"lg-custom-button-download\").addEventListener(\"click\", () => {\n const downloadDocument: HobbyDocumentListOutputModel = new HobbyDocumentListOutputModel;\n const idname = detail.instance.galleryItems[detail.instance.index];\n if(idname.src){\n downloadDocument.DocumentPath = idname.src;}\n else if(idname.video){\n downloadDocument.DocumentPath = JSON.parse(idname.video).source[0].src;\n }\n downloadDocument.DocumentId = idname.alt;\n this.onDownloadDocument(downloadDocument)\n });\n document.getElementById(\"lg-custom-button-help\").addEventListener(\"click\", () => {\n this.supportFunction();\n });\n // document.getElementById(\"lg-custom-button-refresh\").addEventListener(\"click\", () => {\n // detail.instance.refresh();\n // });\n };\n\n onInitGallery1 = (detail) => {\n this.lightGallery = detail.instance;\n this.galleryRefresh = detail.instance;\n //console.log(this.lightGallery)\n //console.log(this.lightGallery.mousewheel)\n const customDeleteButton = ``;\n const customDownloadButton = ``;\n const customHelpButton = ``;\n // const refreshButton = ``\n const $toolbar = this.lightGallery.$toolbar;\n $toolbar.append(customDeleteButton);\n $toolbar.append(customDownloadButton);\n $toolbar.append(customHelpButton);\n //$toolbar.append(refreshButton);\n document.getElementById(\"lg-custom-button-delete1\").addEventListener(\"click\", async () => {\n const idname = detail.instance.galleryItems[detail.instance.index];\n console.log('click')\n await this.onDeleteDocument(idname.alt)\n let galleryItems1 = JSON.parse(JSON.stringify(detail.instance.galleryItems));\n const updatedGalleryItems = galleryItems1.filter((item, id) => id !== detail.instance.index);\n detail.instance.updateSlides(updatedGalleryItems, Math.max(detail.instance.index - 1, 0));\n detail.instance.slidesUpdated = true\n let slidesUpdated = false;\n //detail.instance.refresh();\n })\n\n document.getElementById(\"lg-custom-button-download1\").addEventListener(\"click\", () => {\n const downloadDocument: HobbyDocumentListOutputModel = new HobbyDocumentListOutputModel;\n const idname = detail.instance.galleryItems[detail.instance.index];\n if(idname.src){\n downloadDocument.DocumentPath = idname.src;}\n else if(idname.video){\n downloadDocument.DocumentPath = JSON.parse(idname.video).source[0].src;\n }\n downloadDocument.DocumentId = idname.alt;\n this.onDownloadDocument(downloadDocument)\n });\n document.getElementById(\"lg-custom-button-help1\").addEventListener(\"click\", () => {\n this.supportFunction();\n });\n // document.getElementById(\"lg-custom-button-refresh\").addEventListener(\"click\", () => {\n // detail.instance.refresh();\n // });\n };\n\n supportFunction() {\n\n Swal.fire({\n title: \"Help!\",\n text: \"Information about the icons in the Light Gallery.\",\n imageUrl: 'assets/images/pages/raw-icon-labels.png',\n showCancelButton: false,\n confirmButtonColor: '#7367F0',\n //cancelButtonColor: '#E42728',\n confirmButtonText: \"Okay\",\n cancelButtonText: this.currentAppLanguage.data.ADDRESS.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n\n })\n\n }\n\n\n async AddItemToGallery1(_id: number, _url: string, documentname: string, documentsize: string, filetype: string,CreatedDate:string, CreatedTime:string): Promise {\n this.loadingScreenService.startLoading();\n const loadingItem = {\n id: _id,\n size: '280-100',\n src: _url,\n data: await this.generateVideoData(_url),\n thumb: 'https://noosom1sg.b-cdn.net/NoosomAssets/Images/noosomads/Logo-3-1.gif', // Placeholder or loading indicator for the thumbnail\n subHtml: documentname, documentsize,\n type: filetype,\n name:documentname,\n createdDate:CreatedDate,\n createdTime:CreatedTime\n };\n \n this.GalleryItems1.push(loadingItem);\n let thumb = this.cache[_url]; // Check if thumbnail is already in cache\n \n if (!thumb) {\n thumb = await this.generateThumbnailFromVideoURL(_url, filetype);\n this.cache[_url] = thumb; // Save the thumbnail to cache\n }\n \n const galleryItem = {\n id: _id,\n size: '280-100',\n src: _url,\n data: await this.generateVideoData(_url),\n thumb: thumb,\n subHtml: documentname, documentsize,\n type: filetype,\n name:documentname,\n createdDate:CreatedDate,\n createdTime:CreatedTime\n };\n const index = this.GalleryItems1.findIndex(item => item.id === _id);\n this.GalleryItems1[index] = galleryItem;\n this.loadingScreenService.stopLoading();\n // console.log(this.attachmentlist)\n }\n\n async AddItemToGallery(_id: number, _url: string, documentname: string, documentsize: string, filetype: string,CreatedDate:string, CreatedTime:string): Promise {\n const loadingItem = {\n id: _id,\n size: '280-100',\n src: _url,\n data: await this.generateVideoData(_url),\n thumb: 'https://noosom1sg.b-cdn.net/NoosomAssets/Images/noosomads/Logo-3-1.gif', // Placeholder or loading indicator for the thumbnail\n subHtml: documentname, documentsize,\n name:documentname,\n type: filetype,\n createdDate:CreatedDate,\n createdTime:CreatedTime\n };\n \n this.GalleryItems.push(loadingItem);\n let thumb = this.cache[_url]; // Check if thumbnail is already in cache\n \n if (!thumb) {\n thumb = await this.generateThumbnailFromVideoURL(_url, filetype);\n this.cache[_url] = thumb; // Save the thumbnail to cache\n }\n \n const galleryItem = {\n id: _id,\n size: '280-100',\n src: _url,\n data: await this.generateVideoData(_url),\n thumb: thumb,\n subHtml: documentname, documentsize,\n type: filetype,\n name:documentname,\n createdDate:CreatedDate,\n createdTime:CreatedTime\n };\n const index = this.GalleryItems.findIndex(item => item.id === _id);\n this.GalleryItems[index] = galleryItem;\n // console.log(this.attachmentlist)\n }\n\n\n onFileSelected(event){\n //console.log(event)\n this.uploader.uploadAll();\n }\n \n \n async generateThumbnailFromVideoURL(videoURL: string, type: string): Promise {\n if (type === \"Videos\") {\n return new Promise((resolve, reject) => {\n const video = document.createElement('video');\n video.crossOrigin = 'anonymous'; // Enable cross-origin for video\n video.src = videoURL;\n \n video.addEventListener('loadedmetadata', () => {\n video.currentTime = 10.5; // Adjust as needed\n \n video.addEventListener('seeked', () => {\n const canvas = document.createElement('canvas');\n canvas.width = video.videoWidth;\n canvas.height = video.videoHeight;\n \n const ctx = canvas.getContext('2d');\n ctx.drawImage(video, 0, 0, canvas.width, canvas.height);\n \n // Draw a play icon in the center of the canvas\n const playIconSize = 250; // Adjust the size as needed\n ctx.fillStyle = 'rgba(255, 255, 255, 0.7)';\n ctx.beginPath();\n ctx.moveTo(canvas.width / 2 - playIconSize / 2, canvas.height / 2 - playIconSize / 2);\n ctx.lineTo(canvas.width / 2 + playIconSize / 2, canvas.height / 2);\n ctx.lineTo(canvas.width / 2 - playIconSize / 2, canvas.height / 2 + playIconSize / 2);\n ctx.closePath();\n ctx.fill();\n \n // Resolve with the data URL of the canvas\n resolve(canvas.toDataURL('image/png'));\n \n // Clean up\n canvas.remove();\n video.remove();\n });\n \n video.addEventListener('error', (error) => {\n resolve(\"assets/images/pages/Cannot_play.png\")\n // reject(`Error loading video: ${error.message}`);\n });\n });\n \n video.addEventListener('error', (error) => {\n resolve(\"assets/images/pages/Cannot_play.png\")\n // reject(`Error loading video metadata: ${error.message}`);\n });\n \n // Load the video\n video.load();\n });\n }\n }\n \n async generateVideoData(src): Promise {\n const videoData = {\n source: [{ src: src, type: 'video/mp4' }],\n attributes: { preload: true, controls: true }\n };\n return JSON.stringify(videoData);\n }\n\n checkQueueLength(queuLength){\n console.log(queuLength)\n if((queuLength>0) && (this.uploader.isUploading==false)){\n this.forgotuploadWarning=true;}\n else if(queuLength==0)\n {this.forgotuploadWarning=false;\n this.uploaderWarning=false;\n }\n }\n\n ngAfterContentInit(): void {\n setTimeout(() => {\n if(this.hobby)\n this.hobby.textBox.nativeElement.focus();\n }\n ,500)}\n\n onTabActive(tabNumber:number){\n if(tabNumber==1){this.infoTooltip= this.currentAppLanguage.data.MYPASTIME.TOOLTIP_TEXT_HOBBY_INFORMATION;}\n if(tabNumber==2){\n this.infoTooltip= this.currentAppLanguage.data.MYPASTIME.TOOLTIP_TEXT_HOBBY_NOTES;\n setTimeout(() => {\n // console.log(this.notes)\n if (this.notes)\n this.notes.nativeElement.focus();\n },500)\n }\n else if(tabNumber==3){this.infoTooltip= this.currentAppLanguage.data.MYPASTIME.TOOLTIP_TEXT_UPLOAD_DOCUMENTS;}\n else if(tabNumber==4){this.infoTooltip= this.currentAppLanguage.data.MYPASTIME.INFO_TEXT2;\n this.getAttachmentList('Images');\n }\n else if(tabNumber==5){this.infoTooltip= this.currentAppLanguage.data.MYPASTIME.TOOLTIP_TEXT_UPLOADED_DOCUMENTS_DISPLAY;\n this.getAttachmentList('Documents');\n }\n this.tab=tabNumber;\n }\n\n loadPage(event,filetype){\n // this.savePosition();\n this.pageAdvancedEllipses\n this.getAttachmentList(filetype,event)\n // setTimeout(() => this.restorePosition(), 0);\n }\n\n getAttachmentList(FileType?,page?) {\n this.GalleryItems=[];\n this.DocumentList = [];\n //this.needRefresh = true;\n //if(page)\n this.page = page\n var getMyAttachmentsInputModel = {\n RecordId: this._data,\n Page:this.page,\n Pagesize:20,\n FileType:FileType,\n // QuickPostType:QuickPostType.Public,\n GetMetaDataYN:false\n }\n this.loadingScreenService.startLoading();\n this.generalService.GetUserHobbyDocumentsById(getMyAttachmentsInputModel).subscribe(async result => {\n if (result) {\n if (result.status == Status.Success) {\n let _attachmentlist = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n // console.log(_attachmentlist)\n if (_attachmentlist) {\n _attachmentlist.forEach(async(doc) => {\n if (doc.DocumentSubType.toLocaleLowerCase() == \"documents\") {\n this.DocumentList.push(doc);\n }\n else if (doc.DocumentSubType.toLocaleLowerCase() == \"images\" || \"videos\") {\n await this.AddItemToGallery(doc.DocumentId, doc.DocumentPath, doc.DocumentOldName,doc.Size ,doc.DocumentSubType,doc.CreatedDate, doc.CreatedTime);\n this.needRefresh = true;\n }\n if(_attachmentlist[0]?.TotalNumberOfRecords>0)\n this.pagesNumber=_attachmentlist[0]?.TotalNumberOfRecords;\n });\n } \n this.loadingScreenService.stopLoading();\n }\n else {\n this.loadingScreenService.stopLoading();\n this._toastrService.Error(result.Message, Constant.ErrorToastrTitle);\n }\n }\n });\n }\n \n onSubmit(tabs: boolean) {\n if(this.uploaderWarning){\n Swal.fire({\n title: 'Warning',\n text: 'Your documents or files are still uploading. Please note that any remaining files will not be uploaded or will be terminated if you proceed to submit the form. Are you sure you want to continue?',\n icon: 'warning',\n showCancelButton: true,\n confirmButtonText: 'Continue',\n cancelButtonText: 'Cancel',\n customClass: {\n confirmButton: 'btn btn-danger',\n cancelButton: 'btn btn-success'\n }\n }).then((result) => {\n if (result.isConfirmed) {\n this.uploaderWarning=false;\n this.onSubmit(tabs)\n }\n else{\n this.nav.select(3);\n }\n });\n return;\n }\n if(this.forgotuploadWarning){\n Swal.fire({\n title: 'Warning',\n text: 'You have some documents or files to upload. Please note that all your files will not be uploaded or will be terminated if you proceed to submit the form. Are you sure you want to submit the form?',\n icon: 'warning',\n showCancelButton: true,\n confirmButtonText: 'Continue',\n cancelButtonText: 'Cancel',\n customClass: {\n confirmButton: 'btn btn-danger',\n cancelButton: 'btn btn-success'\n }\n }).then((result) => {\n if (result.isConfirmed) {\n this.forgotuploadWarning=false;\n this.onSubmit(tabs)\n }\n else{\n this.nav.select(3);\n }\n });\n return;\n }\n this.submitted = true;\n if (this.frmHobby.invalid) {\n return;\n }\n this.submitted = false;\n if (this.userHobby == null) {\n this.userHobby = new UserHobbyModel();\n }\n this.userHobby.HobbyName=this.frmHobby.get('HobbyName').value;\n this.userHobby.DateFrom = E.GetDateStringOnly(this.frmHobby.get('DateFrom').value);\n this.userHobby.DateTo = E.GetDateStringOnly(this.frmHobby.get('DateTo').value);\n this.userHobby.ShortDescription = this.frmHobby.get('ShortDescription').value;\n this.userHobby.LongDescription = this.frmHobby.get('LongDescription').value;\n this.userHobby.Notes = this.frmHobby.get('Notes').value;\n this.userHobby.UserDetailsId = this.authenticationService.currentUserValue.UserDetailsId;\n \n if (E.ConvertToNumber(this.userHobby.UserHobbyId) == 0 && this.IsForEdit == false) {\n this.userHobby.CreatedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.userHobby.CreatedDate = E.GetTodayDateStringOnly();\n this.userHobby.CreatedTime = E.GetTodayTimeStringOnly();\n this.userHobby.ChangedDate = E.GetTodayDateStringOnly();\n this.userHobby.ChangedTime = E.GetTodayTimeStringOnly();}\n else {\n this.userHobby.ChangedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.userHobby.ChangedDate = E.GetTodayDateStringOnly();\n this.userHobby.ChangedTime = E.GetTodayTimeStringOnly();}\n if (this.tab <= 2 || this.IsForEdit) {\n this.loading = true;\n let response: Observable;\n this.pastimeServie.CreateUpdateUserHobby(this.userHobby)\n .subscribe(\n (result) => {\n this.loading = false;\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.RecordAdded) {\n message = 'Hobby Added Successfully';\n this.tab = this.tab + 1;\n setTimeout(() => {\n // console.log(this.notes)\n if (this.notes)\n this.notes.nativeElement.focus();\n },500)\n this.nav.select(this.tab)\n const jsonString = this.encrDecr.get(Constant.EncrDecrKey, result.data);\n const parsedObject = JSON.parse(jsonString);\n this._data = parsedObject.Data.UserHobbyId;\n this.userHobby.UserHobbyId=parsedObject.Data.UserHobbyId;\n this.userHobby.UserHobbyId=parsedObject.Data.UserHobbyId;\n this.IsForAbandon=true;\n }\n else if (result.status == Status.RecordUpdated) {\n message = 'Hobby Updated Successfully';\n if(!tabs)\n {this.tab=this.tab+1\n this.nav.select(this.tab)}\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n // console.log(message)\n if (message.length > 0) {\n this._toastrService.Success(message, Constant.SuccessToastrTitle);\n if ((this.tab == 1) || tabs) {\n this.dialogRef.close(true);\n this.frmHobby.reset();\n this.frmHobby.patchValue({\n DateFrom: new Date(),\n DateTo: new Date()\n });}\n // (this.frmHobby.get('HobbyName')).nativeElement.focus();\n }\n else {\n this._toastrService.Error(errormessage, Constant.ErrorToastrTitle);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n }\n else if (this.tab >= 2 && this.tab <= 4) {\n this.tab = this.tab + 1;\n this.nav.select(this.tab)\n // console.log(this.tab)\n if (tabs) {\n this.dialogRef.close(true);\n this.frmHobby.reset();\n }\n }\n }\n\n onCloseButtonClick() {\n this.dialogRef.close();\n }\n\n async OnAchievementDeleteClick() {\n //console.log(UserInsuranceId);\n Swal.fire({\n title: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_TITLE_HOBBY_TEXT,\n text: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_TEXT,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_CONFIRM_BUTTON_TEXT,\n cancelButtonText: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n })\n .then(\n (async (result) => {\n if (result.value) {\n const a = await this.DeleteMyAchievement();\n }\n })\n );\n }\n\n async DeleteMyAchievement() {\n this.loadingScreenService.startLoading();\n this.deleteInputModel1 = {\n DeleteID: this._data,\n UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId\n }\n let promise = new Promise((resolve, reject) => {\n var Result: boolean;\n let response: Observable;\n this.pastimeServie.DeleteUserHobby(this.deleteInputModel1)\n .subscribe(\n (data) => {\n this.loadingScreenService.stopLoading();\n //console.log(data);\n var result = JSON.parse(JSON.stringify(data));\n // console.log(result);\n if (result.status == Status.Success) {\n Swal.fire({\n icon: 'success',\n title: 'Deleted!',\n text: E.ConvertToString(result.message),\n customClass: {\n confirmButton: 'btn btn-success'\n }\n });\n this.dialogRef.close(true);\n this.frmHobby.reset();\n Result = true;\n }\n else {\n this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n Result = false;\n }\n resolve(Result);\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n this.loadingScreenService.stopLoading();\n }\n );\n });\n return await promise;\n }\n\n async onDownloadAllDocument() {\n for (let index = 0; index < this.DocumentList.length; index++) {\n const _doc = this.DocumentList[index];\n var _res = await this.DownloadMyAddressDocument(_doc, true);\n // console.log('_res');\n // console.log(_res);\n if (_res) {\n if ((index + 1) === this.DocumentList.length) {\n this._toastrService.Success('Downloaded All Successfully.', Constant.SuccessToastrTitle);\n }\n } else {\n break;\n }\n }\n }\n async onDownloadDocument(document: HobbyDocumentListOutputModel) {\n if (document) {\n await this.DownloadMyAddressDocument(document);\n }\n }\n async DownloadMyAddressDocument(Document: HobbyDocumentListOutputModel, IsDownloadAll = false) {\n //console.log('DeleteMyAddressDocument');\n this.loadingScreenService.startLoading();\n if (typeof Document === 'undefined' || Document == null) {\n return false;\n }\n this.downloadFileInputModel = {\n DownloadID: Document.DocumentId,\n FilePath: Document.DocumentPath,\n UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId\n };\n let promise = new Promise((resolve, reject) => {\n var Result: boolean = false;\n const path = 'api/UserHobby/DownloadUserHobbyDocuments';\n this.subDownloadAddressAtt$ = this.globalService.PostDataById(this.downloadFileInputModel, path).subscribe(\n (result) => {\n this.loadingScreenService.stopLoading();\n if (result.status == Status.Success) {\n let _downloaded = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)));\n var sampleArr = this.globalService.base64ToArrayBuffer(E.ConvertToString(_downloaded.FileBase64String));\n this.globalService.saveByteArray(_downloaded.FileName, sampleArr, _downloaded.FileMimeType);\n if (IsDownloadAll === false)\n this._toastrService.Success('Downloaded Successfully.', Constant.SuccessToastrTitle);\n //console.log(this.DocumentList);\n Result = true;\n }\n else {\n this._toastrService.Error(result.message, Constant.ErrorToastrTitle);\n Result = false;\n }\n resolve(Result);\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n this.loadingScreenService.stopLoading();\n resolve(Result);\n }\n );\n });\n return await promise;\n }\n\n async onDeleteAllDocument() {\n let UserInsuranceDocumentIds: number[] = [];\n if (this.DocumentList) {\n this.DocumentList.forEach(_doc => {\n UserInsuranceDocumentIds.push(_doc.DocumentId);\n });\n if (UserInsuranceDocumentIds.length > 0) {\n Swal.fire({\n title: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_TITLE_ALL_HOBBY_DOCUMENT_TEXT,\n text: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_TEXT,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_CONFIRM_BUTTON_TEXT_UNLINK,\n cancelButtonText: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n })\n .then(\n (async (result) => {\n if (result.value) {\n const _res = await this.DeleteMyAddressDocument(UserInsuranceDocumentIds);\n }\n })\n );\n }\n }\n }\n\n // async onDeleteDocument(userInsuranceDocumentId: number) {\n // let UserInsuranceDocumentIds: number[] = [];\n // if (userInsuranceDocumentId) {\n // UserInsuranceDocumentIds.push(userInsuranceDocumentId);\n // Swal.fire({\n // title: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_TITLE_HOBBY_DOCUMENT_TEXT,\n // text: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_TEXT,\n // icon: 'warning',\n // showCancelButton: true,\n // confirmButtonColor: '#7367F0',\n // cancelButtonColor: '#E42728',\n // confirmButtonText: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_CONFIRM_BUTTON_TEXT,\n // cancelButtonText: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n // customClass: {\n // confirmButton: 'btn btn-primary',\n // cancelButton: 'btn btn-danger ml-1'\n // }\n // })\n // .then(\n // (async (result) => {\n // if (result.value) {\n // const a = await this.DeleteMyInsuranceDocument(UserInsuranceDocumentIds);\n // }\n // })\n // );\n // }\n // }\n // async DeleteMyInsuranceDocument(UserInsuranceDocumentIds: Array) {\n // //console.log('DeleteMyAddressDocument');\n // this.loadingScreenService.startLoading();\n // if (UserInsuranceDocumentIds.length < 1) {\n // return false;\n // }\n // // this.deleteDocumentsInputModel = [];\n // UserInsuranceDocumentIds.forEach(userInsuranceDocumentId => {\n // this.deleteInputModel={\n // DeleteIDs: [userInsuranceDocumentId],\n // UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId\n // };\n // });\n // let promise = new Promise((resolve, reject) => {\n // var Result: boolean;\n // // const path = 'api/UserInsurance/DeleteUserInsuranceDocuments';\n // // let response: Observable;\n // // response = this.globalService.PostDataById(this.deleteDocumentsInputModel, path);\n // let response: Observable;\n // // console.log('this.userInsurance');\n // // console.log(this.userInsurance);\n // this.pastimeServie.DeleteUserHobbyDocuments(this.deleteInputModel)\n // .subscribe(\n // (data) => {\n // this.loadingScreenService.stopLoading();\n // // console.log(data);\n // var result = JSON.parse(JSON.stringify(data));\n // // console.log(result);\n // if (result.status == Status.Success) {\n // Swal.fire({\n // icon: 'success',\n // title: 'Deleted!',\n // text: E.ConvertToString(result.message),\n // customClass: {\n // confirmButton: 'btn btn-success'\n // }\n // });\n // //this.loadData(); //Re-loading User Addresses Grid\n // //console.log(this.DocumentList);\n // this.DocumentList = this.DocumentList.filter(x => !UserInsuranceDocumentIds.includes(x.UserHobbyDocumentId));\n // //console.log(this.DocumentList);\n\n // Result = true;\n // }\n // else {\n // this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n // Result = false;\n // }\n // resolve(Result);\n // },\n // (error) => {\n // this._toastrService.Error(error, Constant.ErrorToastrTitle);\n // this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n // this.loadingScreenService.stopLoading();\n // }\n // );\n // });\n // return await promise;\n // }\n\n async onDeleteDocument(userAddressDocumentId: number) {\n if (!userAddressDocumentId) {\n return;\n }\n \n try {\n await this.showConfirmationDialog();\n const result = await this.DeleteMyAddressDocument([userAddressDocumentId]);\n \n if (result) {\n // Next line of code after both function1 and function2 have completed\n }\n } catch (error) {\n }\n }\n \n showConfirmationDialog(): Promise {\n return new Promise((resolve) => {\n Swal.fire({\n title: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_TITLE_HOBBY_DOCUMENT_TEXT,\n text: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_TEXT,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_CONFIRM_BUTTON_TEXT_UNLINK,\n cancelButtonText: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1',\n },\n }).then((result) => {\n if (result.value) {\n resolve();\n }\n });\n });\n }\n \n async DeleteMyAddressDocument(UserAddressDocumentIds: Array): Promise {\n this.loadingScreenService.startLoading();\n \n try {\n if (UserAddressDocumentIds.length < 1) {\n return false;\n }\n \n //this.deleteDocumentsInputModel = [];\n this.UserAddressDocument = UserAddressDocumentIds\n UserAddressDocumentIds.forEach((userAddressDocumentId) => {\n this.deleteInputModel={\n DeleteIDs: [userAddressDocumentId],\n UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId,\n RecordId: this._data\n };\n });\n \n const result = await this.postDataAndHandleResponse();\n \n return result;\n } catch (error) {\n console.error('An error occurred:', error);\n return false;\n } finally {\n this.loadingScreenService.stopLoading();\n }\n }\n \n private postDataAndHandleResponse(): Promise {\n return new Promise((resolve) => {\n const path = 'api/UserHobby/DeleteUserHobbyDocuments';\n this.subDeleteAddressAtt$ = this.globalService.PostDataById(this.deleteInputModel, path).subscribe(\n (data) => {\n const result = JSON.parse(JSON.stringify(data));\n \n if (result.status === Status.Success) {\n // Handle success\n this.handleSuccess(result);\n resolve(true);\n } else {\n // Handle failure\n this.handleFailure(result);\n resolve(false);\n }\n },\n (error) => {\n // Handle network error\n this.handleNetworkError(error);\n resolve(false);\n }\n );\n });\n }\n \n private handleSuccess(result: any): void {\n Swal.fire({\n icon: 'success',\n title: 'Deleted!',\n text: E.ConvertToString(result.message).replace('deleted','unlinked'),\n customClass: {\n confirmButton: 'btn btn-success',\n },\n });\n \n // Modify this part as needed\n this.DocumentList = this.DocumentList.filter((x) => !this.UserAddressDocument.includes(x.DocumentId));\n this.DocumentList1 = this.DocumentList1.filter((x) => !this.UserAddressDocument.includes(x.DocumentId));\n const indexToRemove: number = this.GalleryItems.findIndex((item) => item.id == this.UserAddressDocument);\n if (indexToRemove !== -1) {\n this.GalleryItems.splice(indexToRemove, 1);\n }\n const indexToRemovenew: number = this.GalleryItems1.findIndex((item) => item.id == this.UserAddressDocument);\n if (indexToRemovenew !== -1) {\n this.GalleryItems1.splice(indexToRemovenew, 1);\n }\n }\n \n private handleFailure(result: any): void {\n this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n }\n \n private handleNetworkError(error: any): void {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n }\n // OnPolicyExpirationDateChange(event) {\n // // console.log(this.insuranceLoadDataOutputModel.UserInsurance)\n // // if (this.insuranceLoadDataOutputModel.UserInsurance.UserInsuranceId){\n // let datefrom = this.frmInsurance.get('PolicyStartDate').value;\n // let dateto = this.frmInsurance.get('PolicyEndDate').value;\n // // console.log(datefrom,dateto)\n // if (datefrom && dateto) {\n // if (datefrom.getTime() > dateto.getTime()) {\n // this.frmInsurance.get('PolicyStartDate').setValue(dateto);\n // }\n // }\n // if (dateto)\n // this.maxFromDate = dateto;\n \n \n // }\n \n // ngAfterViewChecked(): void {\n // this.changeDetectorRef.detectChanges();\n // }\n\n GetCurrentLanguageJsonObject(currentAppLanguage) {\n var result;\n switch (currentAppLanguage) {\n case 'en':\n result = english;\n break;\n case 'in':\n result = gujarati;\n break;\n case 'hn':\n result = hindi;\n break;\n }\n return result;\n }\n\n get f(){\n return this.frmHobby.controls;\n }\n\n triggerFileUpload() {\n this.fileInput.nativeElement.click();\n }\n openFilemanager(){\n // using for old filemanager uploads\n // this.openDialog(UploadManagerComponent)\n var matdata = {\n RecordId : this._data,\n RecordType: RecordsType.Hobby\n }\n this.openDialog(SelectSyncFileManagerComponent,matdata)\n }\n\n openDialog(component: any, _data: any = []) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = false;\n dialogConfig.width = \"66%\"\n dialogConfig.height=\"60%\"\n dialogConfig.position={\n top:\"10%\"\n }\n dialogConfig.data = _data;\n const dialogRef = this.dialog.open(component, dialogConfig);\n dialogRef.afterClosed().subscribe(\n data => {\n if(data){\n this.nav.select(4);\n this.getAttachmentList('Images');\n }\n }\n );\n }\n\n ngOnDestroy() {\n \n if (this.subDownloadAddressAtt$)\n this.subDownloadAddressAtt$.unsubscribe();\n if (this.uploader && this.uploader.response)\n this.uploader.response.unsubscribe();\n if (this.subDeleteAddressAtt$)\n this.subDeleteAddressAtt$.unsubscribe();\n }\n\n}\n","
\n
{{dialogTitle}} \n - {{userHobby.HobbyName}} \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
{{'MYPASTIME.ERROR_MESSAGE_ATTACHMENT_UPLOADED'|translate}}:{{uploadCount}}/{{uploader?.queue?.length}}
\n
","import { Component, ElementRef, Inject, OnInit, ViewChild } from '@angular/core';\nimport { locale as english } from 'app/mypastimes/i18n/en';\nimport { locale as french } from 'app/mypastimes/i18n/fr';\nimport { locale as german } from 'app/mypastimes/i18n/de';\nimport { locale as portuguese } from 'app/mypastimes/i18n/pt';\nimport { locale as gujarati } from 'app/mypastimes/i18n/gj';\nimport { locale as hindi } from 'app/mypastimes/i18n/hn';\nimport { CoreTranslationService } from '@core/services/translation.service';\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';\nimport { NgbNav } from '@ng-bootstrap/ng-bootstrap';\nimport { Constant } from 'app/Classes/constant';\nimport { AuthenticationService } from 'app/auth/service/authentication.service';\nimport { FileUploader, FileItem } from 'ng2-file-upload';\nimport { Observable, Subject, Subscription } from 'rxjs';\nimport { CoreConfigService } from '@core/services/config.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { PastimeDocumentListOutputModel, PastimeLoadDataInputModel, PastimeLoadDataOutputModel, UserPastimeModel } from '../pastime-model.model';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { CustomToastrService } from 'app/Services/custom-toastr.service';\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\nimport { LoadingScreenService } from 'app/Services/loading-screen.service';\nimport { AwardLoadDataOutputModel } from 'app/about-me/about-me-model.model';\nimport { RecordsType, Status } from 'app/enums';\nimport { E } from 'assets/extensions/extensions';\nimport { BeforeSlideDetail } from 'lightgallery/lg-events';\nimport lgZoom from 'lightgallery/plugins/zoom';\nimport thumbnail from 'lightgallery/plugins/thumbnail';\nimport pager from 'lightgallery/plugins/pager';\nimport autoPlay from 'lightgallery/plugins/autoplay';\nimport lgvideo from 'lightgallery/plugins/video';\nimport lgVideo from 'lightgallery/plugins/video';\nimport vimeoVideo from 'lightgallery/plugins/video';\nimport videoThumbnail from 'lightgallery/plugins/video';\nimport fullScreen from 'lightgallery/plugins/fullscreen';\nimport rotate from 'lightgallery/plugins/rotate';\nimport { PasttimesService } from '../pasttimes.service';\nimport Swal from 'sweetalert2';\nimport { Router } from '@angular/router';\nimport { GlobalService } from 'app/Services/global.service';\nimport { DeleteInputModel, DeleteMultipleInputModel, DownloadFileInputModel, DownloadFileOutputModel } from 'app/Models/output-model';\nimport { TextBoxComponent } from 'app/CustomComponents/text-box/text-box.component';\nimport { LightGallery } from 'lightgallery/lightgallery';\nimport { GeneralService } from 'app/Services/general.service';\nimport { SelectSyncFileManagerComponent } from 'app/sync-file-manager/select-sync-file-manager/select-sync-file-manager.component';\n@Component({\n selector: 'app-my-pastimes',\n templateUrl: './my-pastimes.component.html',\n styleUrls: ['./my-pastimes.component.scss']\n})\nexport class MyPastimesComponent implements OnInit {\n @ViewChild('nav') nav: NgbNav;\n @ViewChild('pastime') pastime: TextBoxComponent;\n @ViewChild('notes') notes: ElementRef;\n @ViewChild('AddressGallery') lightGallery!: LightGallery;\n @ViewChild('fileInput') fileInput;\n galleryRefresh:LightGallery;\n _ImageUrlAPI: string = Constant.API + 'api/UserPastime/UploadUserPastimeDocuments';\n public uploader: FileUploader = new FileUploader({\n url: this._ImageUrlAPI,\n isHTML5: true,\n method: \"PUT\",\n itemAlias: \"MultiFileUploaderPastime\",\n disableMultipart: false, // 'DisableMultipart' must be 'true' for formatDataFunction to be called.\n formatDataFunction: (item: FileItem) => item._file,\n formatDataFunctionIsAsync: false,\n maxFileSize: 1 * 1024 * 1024 * 1024,\n //Notes: do not add headers here.\n authToken: `Bearer ` + this.authenticationService.currentUserValue.Token,\n allowedFileType: [\"image\", \"tiff\", \"bmp\", \"png\", \"jpg\", \"jpeg\", \"pdf\", \"video\",\"mp4\", \"mpeg\", \"mov\", \"avi\", \"ogv\", \"webm\",\"flv\"] // \"doc\", \"docx\", \"xls\", \"xlsx\", \"ppt\",\n });\n uploaderWarning:boolean=false;\n forgotuploadWarning:boolean=false;\n public loading = false;\n public submitted = false;\n public coreConfig: any;\n public dialogTitle: string;\n public IsForEdit: boolean = false;\n public IsForAbandon: boolean = false;\n public error = '';\n public maxToDate: Date = new Date();\n public maxFromDate: Date = new Date();\n currentAppLanguage: any;\n _data: number = 0;\n private _unsubscribeAll: Subject;\n public tab = 1;\n public frmPastime: FormGroup;\n private pastimemodel: UserPastimeModel;\n private pastimeLoadDataInputModel:PastimeLoadDataInputModel;\n public DocumentList: PastimeDocumentListOutputModel[] = [];\n public DocumentList1: PastimeDocumentListOutputModel[] = [];\n public downloadFileInputModel: DownloadFileInputModel;\n private subDownloadAddressAtt$?: Subscription;\n private subDeleteAddressAtt$?: Subscription;\n deleteInputModel: DeleteMultipleInputModel = new DeleteMultipleInputModel();\n public deleteDocumentsInputModel: Array = [];\n deleteInputModel1: DeleteInputModel = new DeleteInputModel();\n UserAddressDocument: any;\n settings: any = {\n counter: false,\n appendSubHtmlTo: '.lg-toolbar',\n commentBox: true,\n lgVideo: true,\n download: false,\n thumbnail: true,\n slideVideo: true,\n pager:false,\n autoplayFirstVideo: false,\n autoplayVideoOnSlide:false,\n plugins: [\n lgZoom,\n // pager,\n autoPlay,\n fullScreen,\n rotate,\n thumbnail,\n videoThumbnail,\n vimeoVideo,\n lgVideo,\n lgvideo,\n //share\n ] // comment, share (options are commented for future use)\n };\n\n private needRefresh = false;\n infoTooltip:string;\n dateformat: string;\n GalleryItems: any = [];\n GalleryItems1: any = [];\n cache: { [key: string]: string } = {};\n uploadCount=0;\n characterCount1: number = 0;\n maxChars1: number = 120;\n characterCount2: number = 0;\n maxChars2: number = 1500;\n public pageAdvancedEllipses = 1;\n public pagesNumber;\n page=0;\n dateformat1: string;\n timeformat: string;\n constructor(\n private _coreTranslationService: CoreTranslationService,\n private _coreConfigService: CoreConfigService,\n private _translateService: TranslateService,\n private authenticationService: AuthenticationService,\n private dialogRef: MatDialogRef,\n private loadingScreenService: LoadingScreenService,\n private _toastrService: CustomToastrService,\n private encrDecr: EncrDecrService,\n private pastimeServie: PasttimesService,\n private dialog: MatDialog,\n private _formBuilder: FormBuilder,\n private _router: Router,\n private globalService: GlobalService,\n private generalService : GeneralService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n ) {\n this._unsubscribeAll = new Subject();\n this._coreTranslationService.translate(english, french, german, portuguese, gujarati, hindi);\n this._translateService.onLangChange.subscribe(lang => {\n setTimeout(() => {\n let _LangJsonObj = this.GetCurrentLanguageJsonObject(lang.lang);\n if (_LangJsonObj)\n this.currentAppLanguage = _LangJsonObj;\n }, 100);\n })\n // console.log(data,'data')\n this._data=data;\n this.settings.licenseKey=this.authenticationService.currentUserValue.Parameter.LightGalleryLicenseKey\n this.dateformat=this.globalService.getDateFormat().toUpperCase()\n this.dateformat1=this.globalService.getDateFormat();\n this.timeformat = this.globalService.getTimeFormat();\n }\n\n ngOnInit(): void {\n this.pastimemodel = new UserPastimeModel\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n this.currentAppLanguage = this.GetCurrentLanguageJsonObject(this.coreConfig.app.appLanguage);\n this.dialogTitle = this.currentAppLanguage.data.MYPASTIME.DIALOG_TITLE_ADD_PASTIME;\n this.infoTooltip= this.currentAppLanguage.data.MYPASTIME.TOOLTIP_TEXT_PASTIME_INFORMATION;\n this.frmPastime = this._formBuilder.group({\n DateFrom: [new Date],\n DateTo: [new Date],\n PastimeName: ['',Validators.required],\n ShortDescription: [''],\n LongDescription: [''],\n Notes: []\n });\n if (typeof this._data !== 'undefined') {\n // console.log('this._data')\n // console.log(this._data)\n if (this._data > 0) {\n this.IsForEdit = true;\n this.dialogTitle = this.currentAppLanguage.data.MYPASTIME.DIALOG_TITLE_EDIT_PASTIME;\n \n setTimeout(() => {\n this.loadingScreenService.startLoading();\n this.pastimeLoadDataInputModel={UserPastimeId:this._data,GetMetaDataYN:false,docYN:false}\n this.pastimeServie.GetUserPastimeLoadData(this.pastimeLoadDataInputModel)\n .subscribe(\n (data) => {\n this.loadingScreenService.stopLoading();\n // console.log(data);\n if (data.status == Status.Success) {\n let pastmodel = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, data.data)));\n this.pastimemodel=pastmodel.Data.UserPastime\n \n // console.log(pastmodel)\n if (this.pastimemodel) {\n //this.userAwards = this.awardLoadDataOutputModel.UserAward;\n \n this.frmPastime.patchValue({\n PastimeName:this.pastimemodel.PastimeName,\n ShortDescription:this.pastimemodel.ShortDescription,\n LongDescription:this.pastimemodel.LongDescription,\n DateFrom:E.ConvertToDate(this.pastimemodel.DateFrom),\n DateTo:E.ConvertToDate(this.pastimemodel.DateTo),\n Notes:this.pastimemodel.Notes\n });\n if(this.pastimemodel.ShortDescription){\n this.updateCharacterCount1(this.pastimemodel.ShortDescription)\n }\n if(this.pastimemodel.LongDescription){\n this.updateCharacterCount2(this.pastimemodel.LongDescription)\n }\n\n }\n if (pastmodel.Data.PastimeDocumentList) {\n pastmodel.Data.PastimeDocumentList.forEach(async(doc) => {\n if (doc.DocumentSubType.toLocaleLowerCase() == \"documents\") {\n this.DocumentList.push(doc);\n }\n else if (doc.DocumentSubType.toLocaleLowerCase() == \"images\" || \"videos\") {\n await this.AddItemToGallery(doc.DocumentId, doc.DocumentPath, doc.DocumentOldName,doc.Size ,doc.DocumentSubType,doc.CreatedDate, doc.CreatedTime);\n this.needRefresh = true;\n }\n });\n }\n\n }\n else {\n this._toastrService.Error(E.ConvertToString(data.message), Constant.ErrorToastrTitle);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loadingScreenService.stopLoading();\n }\n );\n\n }, 500);\n }\n }\n //console.log(this.uploader)\n this.uploader.onAfterAddingFile = (file: any) => {\n if((this.uploader.queue.length>0) && (this.uploader.isUploading==false)){\n this.forgotuploadWarning=true;}\n file.withCredentials = false;\n };\n this.uploader.onBuildItemForm = (fileItem: any, form: any) => {\n fileItem.withCredentials = false;\n };\n this.uploader.onBeforeUploadItem = (fileItem) => {\n //console.log(this.uploader)\n this.loadingScreenService.startLoading()\n this.uploader.setOptions({\n headers: [\n { name: 'Access-Control-Allow-Origin', value: \"*\" },\n { name: 'FileSize', value: fileItem.file.size },\n { name: 'UserDetailsID', value: E.ConvertToString(this.authenticationService.currentUserValue.UserDetailsId) },\n { name: 'UserPastimeId', value: E.ConvertToString(this._data) }]\n });\n //this.uploader.setOptions({ url: fileItem.url + fileItem.file.name });\n return fileItem;\n };\n // this.uploader.onCompleteItem = (item: any, response: any, status: any, headers: any) => {\n // alert('File uploaded');\n // };\n this.uploader.response.subscribe(result => {\n if (result) {\n this.loadingScreenService.startLoading()\n let _result = JSON.parse(result);\n if(this.uploader.progress!=100){\n this.uploaderWarning=true;\n this.loadingScreenService.startLoading()\n // console.log(this.uploaderWarning)\n }else if(this.uploader.progress==100){\n this.uploaderWarning=false;\n this.forgotuploadWarning=false;\n //this.uploadCount = 0;\n this.loadingScreenService.stopLoading();\n }\n // console.log(_result)\n if (_result.status == Status.Success) {\n this._toastrService.Success(\"File Uploaded Successfully\")\n this.uploadCount = this.uploadCount+1;\n let _PastimeDocument = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, _result.data));\n console.log(_PastimeDocument)\n if (_PastimeDocument.DocumentSubType.toLocaleLowerCase() == \"documents\") {\n this.DocumentList.push(_PastimeDocument);\n this.DocumentList1.push(_PastimeDocument);\n }\n else if (_PastimeDocument.DocumentSubType.toLocaleLowerCase() == \"images\" || \"videos\") {\n this.AddItemToGallery(_PastimeDocument.DocumentId, _PastimeDocument.DocumentPath, _PastimeDocument.DocumentOldName, _PastimeDocument.Size,_PastimeDocument.DocumentSubType,_PastimeDocument.CreatedDate,_PastimeDocument.CreatedTime);\n this.AddItemToGallery1(_PastimeDocument.DocumentId, _PastimeDocument.DocumentPath, _PastimeDocument.DocumentOldName, _PastimeDocument.Size,_PastimeDocument.DocumentSubType,_PastimeDocument.CreatedDate,_PastimeDocument.CreatedTime);\n this.needRefresh = true;\n }\n \n }\n else if(_result.status == Status.StorageFull){\n // this.uploader.destroy();\n this.uploader.cancelAll();\n // this.uploader.removeFromQueue();\n // this.uploader.cancelItem()\n this.uploader.clearQueue()\n Swal.fire({\n title: \"Storage Full\",\n text: _result.message,\n icon: 'error',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: \"Buy More Storage\",\n cancelButtonText: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n })\n .then(\n (async (result) => {\n if (result.value) {\n //this.uploader.clearQueue();\n this.dialogRef.close(true);\n this._router.navigate(['/pages/pricing'])\n }\n })\n );\n \n }\n }\n });\n\n this.dialogRef.keydownEvents().subscribe(event => {\n if (event.key.toLocaleLowerCase() === \"escape\") {\n this.onCloseButtonClick();\n }\n });\n }\n\n updateCharacterCount1(text: string): void {\n // Update the character count with the length of the input text\n this.characterCount1 = text.length;\n // If character count exceeds the maximum limit, truncate the input\n if (this.characterCount1 > this.maxChars1) {\n text = text.substr(0, this.maxChars1);\n this.characterCount1 = this.maxChars1;\n }\n }\n updateCharacterCount2(text: string): void {\n // Update the character count with the length of the input text\n this.characterCount2 = text.length;\n // If character count exceeds the maximum limit, truncate the input\n if (this.characterCount2 > this.maxChars2) {\n text = text.substr(0, this.maxChars2);\n this.characterCount2 = this.maxChars2;\n }\n }\n\n ngAfterViewChecked(): void {\n if (this.needRefresh) {\n // if (this.lightGallery)\n this.galleryRefresh.refresh();\n this.needRefresh = false;\n }\n }\n\n onBeforeClose = async (detail) => {\n this.galleryRefresh.refresh();\n }\n\n onInitGallery = (detail) => {\n this.lightGallery = detail.instance;\n this.galleryRefresh = detail.instance;\n //console.log(this.lightGallery.mousewheel)\n const customDeleteButton = ``;\n const customDownloadButton = ``;\n const customHelpButton = ``;\n // const refreshButton = ``\n const $toolbar = this.lightGallery.$toolbar;\n $toolbar.append(customDeleteButton);\n $toolbar.append(customDownloadButton);\n $toolbar.append(customHelpButton);\n //$toolbar.append(refreshButton);\n document.getElementById(\"lg-custom-button-delete\").addEventListener(\"click\", async () => {\n const idname = detail.instance.galleryItems[detail.instance.index];\n //console.log('click')\n await this.onDeleteDocument(idname.alt)\n let galleryItems1 = JSON.parse(JSON.stringify(detail.instance.galleryItems));\n const updatedGalleryItems = galleryItems1.filter((item, id) => id !== detail.instance.index);\n detail.instance.updateSlides(updatedGalleryItems, Math.max(detail.instance.index - 1, 0));\n detail.instance.slidesUpdated = true\n let slidesUpdated = false;\n //detail.instance.refresh();\n })\n\n document.getElementById(\"lg-custom-button-download\").addEventListener(\"click\", () => {\n const downloadDocument: PastimeDocumentListOutputModel = new PastimeDocumentListOutputModel;\n const idname = detail.instance.galleryItems[detail.instance.index];\n if(idname.src){\n downloadDocument.DocumentPath = idname.src;}\n else if(idname.video){\n downloadDocument.DocumentPath = JSON.parse(idname.video).source[0].src;\n }\n downloadDocument.DocumentId = idname.alt;\n this.onDownloadDocument(downloadDocument)\n });\n document.getElementById(\"lg-custom-button-help\").addEventListener(\"click\", () => {\n this.supportFunction();\n });\n // document.getElementById(\"lg-custom-button-refresh\").addEventListener(\"click\", () => {\n // detail.instance.refresh();\n // });\n };\n\n onInitGallery1 = (detail) => {\n this.lightGallery = detail.instance;\n this.galleryRefresh = detail.instance;\n //console.log(this.lightGallery)\n //console.log(this.lightGallery.mousewheel)\n const customDeleteButton = ``;\n const customDownloadButton = ``;\n const customHelpButton = ``;\n // const refreshButton = ``\n const $toolbar = this.lightGallery.$toolbar;\n $toolbar.append(customDeleteButton);\n $toolbar.append(customDownloadButton);\n $toolbar.append(customHelpButton);\n //$toolbar.append(refreshButton);\n document.getElementById(\"lg-custom-button-delete1\").addEventListener(\"click\", async () => {\n const idname = detail.instance.galleryItems[detail.instance.index];\n //console.log('click')\n await this.onDeleteDocument(idname.alt)\n let galleryItems1 = JSON.parse(JSON.stringify(detail.instance.galleryItems));\n const updatedGalleryItems = galleryItems1.filter((item, id) => id !== detail.instance.index);\n detail.instance.updateSlides(updatedGalleryItems, Math.max(detail.instance.index - 1, 0));\n detail.instance.slidesUpdated = true\n let slidesUpdated = false;\n //detail.instance.refresh();\n })\n\n document.getElementById(\"lg-custom-button-download1\").addEventListener(\"click\", () => {\n const downloadDocument: PastimeDocumentListOutputModel = new PastimeDocumentListOutputModel;\n const idname = detail.instance.galleryItems[detail.instance.index];\n if(idname.src){\n downloadDocument.DocumentPath = idname.src;}\n else if(idname.video){\n downloadDocument.DocumentPath = JSON.parse(idname.video).source[0].src;\n }\n downloadDocument.DocumentId = idname.alt;\n this.onDownloadDocument(downloadDocument)\n });\n document.getElementById(\"lg-custom-button-help1\").addEventListener(\"click\", () => {\n this.supportFunction();\n });\n // document.getElementById(\"lg-custom-button-refresh\").addEventListener(\"click\", () => {\n // detail.instance.refresh();\n // });\n };\n\n\n\n supportFunction() {\n\n Swal.fire({\n title: \"Help!\",\n text: \"Information about the icons in the Light Gallery.\",\n imageUrl: 'assets/images/pages/raw-icon-labels.png',\n showCancelButton: false,\n confirmButtonColor: '#7367F0',\n //cancelButtonColor: '#E42728',\n confirmButtonText: \"Okay\",\n cancelButtonText: this.currentAppLanguage.data.ADDRESS.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n\n })\n\n }\n\n\n async AddItemToGallery1(_id: number, _url: string, documentname: string, documentsize: string, filetype: string,CreatedDate:string, CreatedTime:string): Promise {\n this.loadingScreenService.startLoading();\n const loadingItem = {\n id: _id,\n size: documentsize,\n src: _url,\n data: await this.generateVideoData(_url),\n thumb: 'https://noosom1sg.b-cdn.net/NoosomAssets/Images/noosomads/Logo-3-1.gif', // Placeholder or loading indicator for the thumbnail\n subHtml: documentname, documentsize,\n type: filetype,\n name: documentname,\n createdDate:CreatedDate,\n createdTime:CreatedTime\n };\n \n this.GalleryItems1.push(loadingItem);\n let thumb = this.cache[_url]; // Check if thumbnail is already in cache\n \n if (!thumb) {\n thumb = await this.generateThumbnailFromVideoURL(_url, filetype);\n this.cache[_url] = thumb; // Save the thumbnail to cache\n }\n \n const galleryItem = {\n id: _id,\n size: documentsize,\n src: _url,\n data: await this.generateVideoData(_url),\n thumb: thumb,\n subHtml: documentname, documentsize,\n type: filetype,\n name: documentname,\n createdDate:CreatedDate,\n createdTime:CreatedTime\n };\n const index = this.GalleryItems1.findIndex(item => item.id === _id);\n this.GalleryItems1[index] = galleryItem;\n this.loadingScreenService.stopLoading();\n }\n\n async AddItemToGallery(_id: number, _url: string, documentname: string, documentsize: string, filetype: string,CreatedDate:string, CreatedTime:string): Promise {\n const loadingItem = {\n id: _id,\n size: documentsize,\n src: _url,\n data: await this.generateVideoData(_url),\n thumb: 'https://noosom1sg.b-cdn.net/NoosomAssets/Images/noosomads/Logo-3-1.gif', // Placeholder or loading indicator for the thumbnail\n subHtml: documentname, documentsize,\n type: filetype,\n name: documentname,\n createdDate:CreatedDate,\n createdTime:CreatedTime\n };\n \n this.GalleryItems.push(loadingItem);\n let thumb = this.cache[_url]; // Check if thumbnail is already in cache\n \n if (!thumb) {\n thumb = await this.generateThumbnailFromVideoURL(_url, filetype);\n this.cache[_url] = thumb; // Save the thumbnail to cache\n }\n \n const galleryItem = {\n id: _id,\n size: documentsize,\n src: _url,\n data: await this.generateVideoData(_url),\n thumb: thumb,\n subHtml: documentname, documentsize,\n type: filetype,\n name: documentname,\n createdDate:CreatedDate,\n createdTime:CreatedTime\n };\n const index = this.GalleryItems.findIndex(item => item.id === _id);\n this.GalleryItems[index] = galleryItem;\n }\n\n\n onFileSelected(event){\n //console.log(event)\n this.uploader.uploadAll();\n }\n \n \n async generateThumbnailFromVideoURL(videoURL: string, type: string): Promise {\n if (type === \"Videos\") {\n return new Promise((resolve, reject) => {\n const video = document.createElement('video');\n video.crossOrigin = 'anonymous'; // Enable cross-origin for video\n video.src = videoURL;\n \n video.addEventListener('loadedmetadata', () => {\n video.currentTime = 10.5; // Adjust as needed\n \n video.addEventListener('seeked', () => {\n const canvas = document.createElement('canvas');\n canvas.width = video.videoWidth;\n canvas.height = video.videoHeight;\n \n const ctx = canvas.getContext('2d');\n ctx.drawImage(video, 0, 0, canvas.width, canvas.height);\n \n // Draw a play icon in the center of the canvas\n const playIconSize = 250; // Adjust the size as needed\n ctx.fillStyle = 'rgba(255, 255, 255, 0.7)';\n ctx.beginPath();\n ctx.moveTo(canvas.width / 2 - playIconSize / 2, canvas.height / 2 - playIconSize / 2);\n ctx.lineTo(canvas.width / 2 + playIconSize / 2, canvas.height / 2);\n ctx.lineTo(canvas.width / 2 - playIconSize / 2, canvas.height / 2 + playIconSize / 2);\n ctx.closePath();\n ctx.fill();\n \n // Resolve with the data URL of the canvas\n resolve(canvas.toDataURL('image/png'));\n \n // Clean up\n canvas.remove();\n video.remove();\n });\n \n video.addEventListener('error', (error) => {\n resolve(\"assets/images/pages/Cannot_play.png\")\n // reject(`Error loading video: ${error.message}`);\n });\n });\n \n video.addEventListener('error', (error) => {\n resolve(\"assets/images/pages/Cannot_play.png\")\n // reject(`Error loading video metadata: ${error.message}`);\n });\n \n // Load the video\n video.load();\n });\n }\n }\n \n async generateVideoData(src): Promise {\n const videoData = {\n source: [{ src: src, type: 'video/mp4' }],\n attributes: { preload: true, controls: true }\n };\n return JSON.stringify(videoData);\n }\n\n checkQueueLength(queuLength){\n if((queuLength>0) && (this.uploader.isUploading==false)){\n this.forgotuploadWarning=true;}\n else if(queuLength==0)\n {this.forgotuploadWarning=false;\n this.uploaderWarning=false;\n }\n }\n\n ngAfterContentInit(): void {\n setTimeout(() => {\n if(this.pastime)\n this.pastime.textBox.nativeElement.focus();\n },500)}\n \n onTabActive(tabNumber: number) {\n if(tabNumber==1){this.infoTooltip= this.currentAppLanguage.data.MYPASTIME.TOOLTIP_TEXT_PASTIME_INFORMATION;}\n if(tabNumber==2){\n this.infoTooltip= this.currentAppLanguage.data.MYPASTIME.TOOLTIP_TEXT_PASTIME_NOTES;\n setTimeout(() => {\n if (this.notes)\n this.notes.nativeElement.focus();\n },500)\n }\n else if(tabNumber==3){this.infoTooltip= this.currentAppLanguage.data.MYPASTIME.TOOLTIP_TEXT_UPLOAD_DOCUMENTS;}\n else if(tabNumber==4){this.infoTooltip= this.currentAppLanguage.data.MYPASTIME.INFO_TEXT2;\n this.getAttachmentList('Images');\n }\n else if(tabNumber==5){this.infoTooltip= this.currentAppLanguage.data.MYPASTIME.TOOLTIP_TEXT_UPLOADED_DOCUMENTS_DISPLAY;\n this.getAttachmentList('Documents');\n }\n this.tab = tabNumber;\n }\n\n loadPage(event,filetype){\n // this.savePosition();\n this.pageAdvancedEllipses\n this.getAttachmentList(filetype,event)\n // setTimeout(() => this.restorePosition(), 0);\n }\n\n getAttachmentList(FileType?,page?) {\n this.GalleryItems=[];\n this.DocumentList = [];\n //this.needRefresh = true;\n if(page)\n this.page = page\n var getMyAttachmentsInputModel = {\n RecordId: this._data,\n Page:this.page,\n Pagesize:20,\n FileType:FileType,\n // QuickPostType:QuickPostType.Public,\n GetMetaDataYN:false\n }\n this.loadingScreenService.startLoading();\n this.generalService.GetUserPastimeDocumentsById(getMyAttachmentsInputModel).subscribe(async result => {\n if (result) {\n if (result.status == Status.Success) {\n let _attachmentlist = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n if (_attachmentlist) {\n _attachmentlist.forEach(async(doc) => {\n if (doc.DocumentSubType.toLocaleLowerCase() == \"documents\") {\n this.DocumentList.push(doc);\n }\n else if (doc.DocumentSubType.toLocaleLowerCase() == \"images\" || \"videos\") {\n await this.AddItemToGallery(doc.DocumentId, doc.DocumentPath, doc.DocumentOldName,doc.Size ,doc.DocumentSubType,doc.CreatedDate, doc.CreatedTime);\n this.needRefresh = true;\n }\n if(_attachmentlist[0]?.TotalNumberOfRecords>0)\n this.pagesNumber=_attachmentlist[0]?.TotalNumberOfRecords;\n });\n } \n this.loadingScreenService.stopLoading();\n }\n else {\n this.loadingScreenService.stopLoading();\n this._toastrService.Error(result.Message, Constant.ErrorToastrTitle);\n }\n }\n });\n }\n onSubmit(tabs: boolean) {\n if(this.uploaderWarning){\n Swal.fire({\n title: 'Warning',\n text: 'Your documents or files are still uploading. Please note that any remaining files will not be uploaded or will be terminated if you proceed to submit the form. Are you sure you want to continue?',\n icon: 'warning',\n showCancelButton: true,\n confirmButtonText: 'Continue',\n cancelButtonText: 'Cancel',\n customClass: {\n confirmButton: 'btn btn-danger',\n cancelButton: 'btn btn-success'\n }\n }).then((result) => {\n if (result.isConfirmed) {\n this.uploaderWarning=false;\n this.onSubmit(tabs)\n }\n else{\n this.nav.select(3);\n }\n });\n return;\n }\n if(this.forgotuploadWarning){\n Swal.fire({\n title: 'Warning',\n text: 'You have some documents or files to upload. Please note that all your files will not be uploaded or will be terminated if you proceed to submit the form. Are you sure you want to submit the form?',\n icon: 'warning',\n showCancelButton: true,\n confirmButtonText: 'Continue',\n cancelButtonText: 'Cancel',\n customClass: {\n confirmButton: 'btn btn-danger',\n cancelButton: 'btn btn-success'\n }\n }).then((result) => {\n if (result.isConfirmed) {\n this.forgotuploadWarning=false;\n this.onSubmit(tabs)\n }\n else{\n this.nav.select(3);\n }\n });\n return;\n }\n this.submitted = true;\n if (this.frmPastime.invalid) {\n return;\n }\n this.submitted = false;\n if (this.pastimemodel == null) {\n this.pastimemodel = new UserPastimeModel();\n }\n this.pastimemodel.PastimeName=this.frmPastime.get('PastimeName').value;\n this.pastimemodel.DateFrom = E.GetDateStringOnly(this.frmPastime.get('DateFrom').value);\n this.pastimemodel.DateTo = E.GetDateStringOnly(this.frmPastime.get('DateTo').value);\n this.pastimemodel.ShortDescription = this.frmPastime.get('ShortDescription').value;\n this.pastimemodel.LongDescription = this.frmPastime.get('LongDescription').value;\n this.pastimemodel.Notes = this.frmPastime.get('Notes').value;\n this.pastimemodel.UserDetailsId = this.authenticationService.currentUserValue.UserDetailsId;\n \n if (E.ConvertToNumber(this.pastimemodel.UserPastimeId) == 0 && this.IsForEdit == false) {\n this.pastimemodel.CreatedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.pastimemodel.CreatedDate = E.GetTodayDateStringOnly();\n this.pastimemodel.CreatedTime = E.GetTodayTimeStringOnly();\n this.pastimemodel.ChangedDate = E.GetTodayDateStringOnly();\n this.pastimemodel.ChangedTime = E.GetTodayTimeStringOnly();}\n else {\n this.pastimemodel.ChangedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.pastimemodel.ChangedDate = E.GetTodayDateStringOnly();\n this.pastimemodel.ChangedTime = E.GetTodayTimeStringOnly();}\n if (this.tab <= 2 || this.IsForEdit) {\n this.loading = true;\n let response: Observable;\n this.pastimeServie.CreateUpdateUserPastime(this.pastimemodel)\n .subscribe(\n (result) => {\n this.loading = false;\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.RecordAdded) {\n message = 'Pastime Added Successfully';\n this.tab = this.tab + 1;\n setTimeout(() => {\n if (this.notes)\n this.notes.nativeElement.focus();\n },500)\n this.nav.select(this.tab)\n const jsonString = this.encrDecr.get(Constant.EncrDecrKey, result.data);\n const parsedObject = JSON.parse(jsonString);\n this._data = parsedObject.Data.UserPastimeId;\n this.pastimemodel.UserPastimeId=parsedObject.Data.UserPastimeId;\n this.pastimemodel.UserPastimeId=parsedObject.Data.UserPastimeId;\n this.IsForAbandon=true;\n }\n else if (result.status == Status.RecordUpdated) {\n message = 'Pastime Updated Successfully';\n if(!tabs)\n {this.tab=this.tab+1\n setTimeout(() => {\n if (this.notes)\n this.notes.nativeElement.focus();\n },500)\n this.nav.select(this.tab)}\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n if (message.length > 0) {\n this._toastrService.Success(message, Constant.SuccessToastrTitle);\n if ((this.tab == 1) || tabs) {\n this.dialogRef.close(true);\n this.frmPastime.reset();\n this.frmPastime.patchValue({\n DateFrom: new Date(),\n DateTo: new Date()\n });}\n // (this.frmPastime.get('PastimeName')).nativeElement.focus();\n }\n else {\n this._toastrService.Error(errormessage, Constant.ErrorToastrTitle);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n }\n else if (this.tab >= 2 && this.tab <= 4) {\n this.tab = this.tab + 1;\n this.nav.select(this.tab)\n if (tabs) {\n this.dialogRef.close(true);\n this.frmPastime.reset();\n }\n }\n }\n onCloseButtonClick() {\n this.dialogRef.close();\n }\n\n async OnAchievementDeleteClick() {\n Swal.fire({\n title: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_TITLE_PASTIME_TEXT,\n text: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_TEXT,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_CONFIRM_BUTTON_TEXT,\n cancelButtonText: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n })\n .then(\n (async (result) => {\n if (result.value) {\n const a = await this.DeleteMyAchievement();\n }\n })\n );\n }\n\n async DeleteMyAchievement() {\n this.loadingScreenService.startLoading();\n this.deleteInputModel1 = {\n DeleteID: this._data,\n UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId\n }\n let promise = new Promise((resolve, reject) => {\n var Result: boolean;\n let response: Observable;\n this.pastimeServie.DeleteUserPastime(this.deleteInputModel1)\n .subscribe(\n (data) => {\n this.loadingScreenService.stopLoading();\n var result = JSON.parse(JSON.stringify(data));\n if (result.status == Status.Success) {\n Swal.fire({\n icon: 'success',\n title: 'Deleted!',\n text: E.ConvertToString(result.message),\n customClass: {\n confirmButton: 'btn btn-success'\n }\n });\n this.dialogRef.close(true);\n this.frmPastime.reset();\n Result = true;\n }\n else {\n this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n Result = false;\n }\n resolve(Result);\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n this.loadingScreenService.stopLoading();\n }\n );\n });\n return await promise;\n }\n\n async onDownloadAllDocument() {\n for (let index = 0; index < this.DocumentList.length; index++) {\n const _doc = this.DocumentList[index];\n var _res = await this.DownloadMyAddressDocument(_doc, true);\n // console.log('_res');\n // console.log(_res);\n if (_res) {\n if ((index + 1) === this.DocumentList.length) {\n this._toastrService.Success('Downloaded All Successfully.', Constant.SuccessToastrTitle);\n }\n } else {\n break;\n }\n }\n }\n async onDownloadDocument(document: PastimeDocumentListOutputModel) {\n if (document) {\n await this.DownloadMyAddressDocument(document);\n }\n }\n async DownloadMyAddressDocument(Document: PastimeDocumentListOutputModel, IsDownloadAll = false) {\n //console.log('DeleteMyAddressDocument');\n this.loadingScreenService.startLoading();\n if (typeof Document === 'undefined' || Document == null) {\n return false;\n }\n this.downloadFileInputModel = {\n DownloadID: Document.DocumentId,\n FilePath: Document.DocumentPath,\n UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId\n };\n let promise = new Promise((resolve, reject) => {\n var Result: boolean = false;\n const path = 'api/UserPastime/DownloadUserPastimeDocuments';\n this.subDownloadAddressAtt$ = this.globalService.PostDataById(this.downloadFileInputModel, path).subscribe(\n (result) => {\n this.loadingScreenService.stopLoading();\n if (result.status == Status.Success) {\n let _downloaded = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)));\n var sampleArr = this.globalService.base64ToArrayBuffer(E.ConvertToString(_downloaded.FileBase64String));\n this.globalService.saveByteArray(_downloaded.FileName, sampleArr, _downloaded.FileMimeType);\n if (IsDownloadAll === false)\n this._toastrService.Success('Downloaded Successfully.', Constant.SuccessToastrTitle);\n //console.log(this.DocumentList);\n Result = true;\n }\n else {\n this._toastrService.Error(result.message, Constant.ErrorToastrTitle);\n Result = false;\n }\n resolve(Result);\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n this.loadingScreenService.stopLoading();\n resolve(Result);\n }\n );\n });\n return await promise;\n }\n\n async onDeleteAllDocument() {\n let UserInsuranceDocumentIds: number[] = [];\n if (this.DocumentList) {\n this.DocumentList.forEach(_doc => {\n UserInsuranceDocumentIds.push(_doc.DocumentId);\n });\n if (UserInsuranceDocumentIds.length > 0) {\n Swal.fire({\n title: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_TITLE_ALL_ADDRESS_DOCUMENT_TEXT,\n text: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_TEXT,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_CONFIRM_BUTTON_TEXT_UNLINK,\n cancelButtonText: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n })\n .then(\n (async (result) => {\n if (result.value) {\n const _res = await this.DeleteMyAddressDocument(UserInsuranceDocumentIds);\n }\n })\n );\n }\n }\n }\n\n // async onDeleteDocument(userInsuranceDocumentId: number) {\n // let UserInsuranceDocumentIds: number[] = [];\n // if (userInsuranceDocumentId) {\n // UserInsuranceDocumentIds.push(userInsuranceDocumentId);\n // Swal.fire({\n // title: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_TITLE_ADDRESS_DOCUMENT_TEXT,\n // text: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_TEXT,\n // icon: 'warning',\n // showCancelButton: true,\n // confirmButtonColor: '#7367F0',\n // cancelButtonColor: '#E42728',\n // confirmButtonText: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_CONFIRM_BUTTON_TEXT,\n // cancelButtonText: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n // customClass: {\n // confirmButton: 'btn btn-primary',\n // cancelButton: 'btn btn-danger ml-1'\n // }\n // })\n // .then(\n // (async (result) => {\n // if (result.value) {\n // const a = await this.DeleteMyInsuranceDocument(UserInsuranceDocumentIds);\n // }\n // })\n // );\n // }\n // }\n // async DeleteMyInsuranceDocument(UserInsuranceDocumentIds: Array) {\n // //console.log('DeleteMyAddressDocument');\n // this.loadingScreenService.startLoading();\n // if (UserInsuranceDocumentIds.length < 1) {\n // return false;\n // }\n // // this.deleteDocumentsInputModel = [];\n // UserInsuranceDocumentIds.forEach(userInsuranceDocumentId => {\n // this.deleteInputModel={\n // DeleteIDs: [userInsuranceDocumentId],\n // UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId\n // };\n // });\n // let promise = new Promise((resolve, reject) => {\n // var Result: boolean;\n // // const path = 'api/UserInsurance/DeleteUserInsuranceDocuments';\n // // let response: Observable;\n // // response = this.globalService.PostDataById(this.deleteDocumentsInputModel, path);\n // let response: Observable;\n // // console.log('this.userInsurance');\n // // console.log(this.userInsurance);\n // this.pastimeServie.DeleteUserPastimeDocuments(this.deleteInputModel)\n // .subscribe(\n // (data) => {\n // this.loadingScreenService.stopLoading();\n // // console.log(data);\n // var result = JSON.parse(JSON.stringify(data));\n // // console.log(result);\n // if (result.status == Status.Success) {\n // Swal.fire({\n // icon: 'success',\n // title: 'Deleted!',\n // text: E.ConvertToString(result.message),\n // customClass: {\n // confirmButton: 'btn btn-success'\n // }\n // });\n // //this.loadData(); //Re-loading User Addresses Grid\n // //console.log(this.DocumentList);\n // this.DocumentList = this.DocumentList.filter(x => !UserInsuranceDocumentIds.includes(x.UserPastimeDocumentId));\n // //console.log(this.DocumentList);\n\n // Result = true;\n // }\n // else {\n // this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n // Result = false;\n // }\n // resolve(Result);\n // },\n // (error) => {\n // this._toastrService.Error(error, Constant.ErrorToastrTitle);\n // this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n // this.loadingScreenService.stopLoading();\n // }\n // );\n // });\n // return await promise;\n // }\n\n\n async onDeleteDocument(userAddressDocumentId: number) {\n if (!userAddressDocumentId) {\n return;\n }\n \n try {\n await this.showConfirmationDialog();\n const result = await this.DeleteMyAddressDocument([userAddressDocumentId]);\n \n if (result) {\n // Next line of code after both function1 and function2 have completed\n }\n } catch (error) {\n }\n }\n \n showConfirmationDialog(): Promise {\n return new Promise((resolve) => {\n Swal.fire({\n title: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_TITLE_ADDRESS_DOCUMENT_TEXT,\n text: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_TEXT,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_CONFIRM_BUTTON_TEXT_UNLINK,\n cancelButtonText: this.currentAppLanguage.data.MYPASTIME.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1',\n },\n }).then((result) => {\n if (result.value) {\n resolve();\n }\n });\n });\n }\n \n async DeleteMyAddressDocument(UserAddressDocumentIds: Array): Promise {\n this.loadingScreenService.startLoading();\n \n try {\n if (UserAddressDocumentIds.length < 1) {\n return false;\n }\n \n //this.deleteDocumentsInputModel = [];\n this.UserAddressDocument = UserAddressDocumentIds\n UserAddressDocumentIds.forEach((userAddressDocumentId) => {\n this.deleteInputModel={\n DeleteIDs: [userAddressDocumentId],\n UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId,\n RecordId:this._data\n };\n });\n \n const result = await this.postDataAndHandleResponse();\n \n return result;\n } catch (error) {\n console.error('An error occurred:', error);\n return false;\n } finally {\n this.loadingScreenService.stopLoading();\n }\n }\n \n private postDataAndHandleResponse(): Promise {\n return new Promise((resolve) => {\n const path = 'api/UserPastime/DeleteUserPastimeDocuments';\n this.subDeleteAddressAtt$ = this.globalService.PostDataById(this.deleteInputModel, path).subscribe(\n (data) => {\n const result = JSON.parse(JSON.stringify(data));\n \n if (result.status === Status.Success) {\n // Handle success\n this.handleSuccess(result);\n resolve(true);\n } else {\n // Handle failure\n this.handleFailure(result);\n resolve(false);\n }\n },\n (error) => {\n // Handle network error\n this.handleNetworkError(error);\n resolve(false);\n }\n );\n });\n }\n \n private handleSuccess(result: any): void {\n Swal.fire({\n icon: 'success',\n title: 'Deleted!',\n text: E.ConvertToString(result.message).replace('deleted','unlinked'),\n customClass: {\n confirmButton: 'btn btn-success',\n },\n });\n \n // Modify this part as needed\n this.DocumentList = this.DocumentList.filter((x) => !this.UserAddressDocument.includes(x.DocumentId));\n this.DocumentList1 = this.DocumentList1.filter((x) => !this.UserAddressDocument.includes(x.DocumentId));\n const indexToRemove: number = this.GalleryItems.findIndex((item) => item.id == this.UserAddressDocument);\n if (indexToRemove !== -1) {\n this.GalleryItems.splice(indexToRemove, 1);\n }\n const indexToRemovenew: number = this.GalleryItems1.findIndex((item) => item.id == this.UserAddressDocument);\n if (indexToRemovenew !== -1) {\n this.GalleryItems1.splice(indexToRemovenew, 1);\n }\n }\n \n private handleFailure(result: any): void {\n this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n }\n \n private handleNetworkError(error: any): void {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n }\n\n // OnPolicyExpirationDateChange(event) {\n // // console.log(this.insuranceLoadDataOutputModel.UserInsurance)\n // // if (this.insuranceLoadDataOutputModel.UserInsurance.UserInsuranceId){\n // let datefrom = this.frmInsurance.get('PolicyStartDate').value;\n // let dateto = this.frmInsurance.get('PolicyEndDate').value;\n // // console.log(datefrom,dateto)\n // if (datefrom && dateto) {\n // if (datefrom.getTime() > dateto.getTime()) {\n // this.frmInsurance.get('PolicyStartDate').setValue(dateto);\n // }\n // }\n // if (dateto)\n // this.maxFromDate = dateto;\n\n\n // }\n\n // ngAfterViewChecked(): void {\n // this.changeDetectorRef.detectChanges();\n // }\n\n GetCurrentLanguageJsonObject(currentAppLanguage) {\n var result;\n switch (currentAppLanguage) {\n case 'en':\n result = english;\n break;\n case 'in':\n result = gujarati;\n break;\n case 'hn':\n result = hindi;\n break;\n }\n return result;\n }\n get f(){\n return this.frmPastime.controls;\n }\n\n triggerFileUpload() {\n this.fileInput.nativeElement.click();\n }\n\n openFilemanager(){\n // using for old filemanager uploads\n // this.openDialog(UploadManagerComponent)\n var matdata = {\n RecordId : this._data,\n RecordType: RecordsType.Pastime\n }\n this.openDialog(SelectSyncFileManagerComponent,matdata)\n }\n\n openDialog(component: any, _data: any = []) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = false;\n dialogConfig.width = \"66%\"\n dialogConfig.height=\"60%\"\n dialogConfig.position={\n top:\"10%\"\n }\n dialogConfig.data = _data;\n const dialogRef = this.dialog.open(component, dialogConfig);\n dialogRef.afterClosed().subscribe(\n data => {\n if(data){\n this.nav.select(4);\n this.getAttachmentList('Images');\n }\n }\n );\n }\n\n ngOnDestroy() {\n \n if (this.subDownloadAddressAtt$)\n this.subDownloadAddressAtt$.unsubscribe();\n if (this.uploader && this.uploader.response)\n this.uploader.response.unsubscribe();\n if (this.subDeleteAddressAtt$)\n this.subDeleteAddressAtt$.unsubscribe();\n }\n\n}\n","
\n
{{dialogTitle}} \n - {{pastimemodel?.PastimeName}} \n \n \n \n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n ","export class PastimeModel {\n}\nexport class UserPastimeModel {\n UserPastimeId: number;\n UserDetailsId: number;\n DateFrom:string;\n DateTo: string;\n PastimeName: string;\n ShortDescription: string;\n LongDescription: string;\n Notes:string;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n }\n\n export class TblUserPastimes {\n UserPastimeId: number;\n UserDetailsId: number;\n DateFrom: string;\n DateTo: string;\n PastimeName: string;\n ShortDescription: string;\n LongDescription: string;\n Notes: string;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n }\n \n \n export class PastimeLoadDataInputModel\n{\n UserPastimeId:number;\n GetMetaDataYN?:boolean;\n docYN?:boolean;\n}\n\nexport class PastimeLoadDataOutputModel {\n UserPastime: TblUserPastimes;\n PastimeDocumentList: Array;\n}\n\nexport class PastimeDocumentListOutputModel {\n DocumentId: number;\n UserDetailsId: number;\n UserPastimeId: number;\n DocumentName: string;\n DocumentOldName: string;\n DocumentPath: string;\n DocumentSubType: string;\n Size: string;\n DocumentType: string;\n FileCreatedDate: string;\n FileLastModifiedDate: string;\n FileCreatedLatitude: number;\n FileCreatedLongitude: number;\n AllFileMetadata: string;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n}\n\nexport class UserHobbyModel {\n UserHobbyId: number;\n UserDetailsId: number;\n DateFrom: string;\n DateTo: string;\n HobbyName: string;\n ShortDescription: string;\n LongDescription: string;\n Notes:string;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n}\n\nexport class TblUserHobbies\n{\n UserHobbyId: number;\n UserDetailsId: number;\n DateFrom: string;\n DateTo: string;\n HobbyName: string;\n ShortDescription: string;\n LongDescription: string;\n Notes:string;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n}\n\nexport class HobbyLoadDataOutputModel\n{\n UserHobby:TblUserHobbies;\n HobbyDocumentList:Array\n}\nexport class HobbyLoadDataInputModel\n{\n UserHobbyId:number;\n GetMetaDataYN?:boolean;\n docYN?:boolean;\n}\n\nexport class HobbyDocumentListOutputModel {\n DocumentId: number;\n UserDetailsId: number;\n UserHobbyId: number;\n DocumentName: string;\n DocumentOldName: string;\n DocumentPath: string;\n DocumentSubType: string;\n Size: string;\n DocumentType: string;\n FileCreatedDate: Date ;\n FileLastModifiedDate: Date ;\n FileCreatedLatitude: number ;\n FileCreatedLongitude: number ;\n AllFileMetadata: string;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n}\n\n","import { Injectable } from '@angular/core';\nimport { GlobalService } from 'app/Services/global.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PasttimesService {\n\n constructor(private globalService:GlobalService) { }\n CreateUpdateUserPastime(data) { //create or update data\n const path = 'api/UserPastime/CreateUpdateUserPastime';\n return this.globalService.PostDataById(data, path);\n }\n GetUserPastimes(data) { //list view\n const path = 'api/UserPastime/GetUserPastimes';\n return this.globalService.PostDataById(data, path);\n }\n GetUserPastimeLoadData(data) { //edit view\n const path = 'api/UserPastime/GetUserPastimeLoadData';\n return this.globalService.PostDataById(data, path);\n }\n DeleteUserPastime(data) { //delete pastimes\n const path = 'api/UserPastime/DeleteUserPastime';\n return this.globalService.PostDataById(data, path);\n }\n\n DeleteUserPastimeDocuments(data) { //delete document multiple or single data\n const path = 'api/UserPastime/DeleteUserPastimeDocuments';\n return this.globalService.PostDataById(data, path);\n }\n\n CreateUpdateUserHobby(data) { //create or update data\n const path = 'api/UserHobby/CreateUpdateUserHobby';\n return this.globalService.PostDataById(data, path);\n }\n\n GetUserHobbies(data) { //create or update data\n const path = 'api/UserHobby/GetUserHobbies';\n return this.globalService.PostDataById(data, path);\n }\n\n GetUserHobbyLoadData(data) { //Edit data\n const path = 'api/UserHobby/GetUserHobbyLoadData';\n return this.globalService.PostDataById(data, path);\n }\n\n DeleteUserHobby(data) { //create or update data\n const path = 'api/UserHobby/DeleteUserHobby';\n return this.globalService.PostDataById(data, path);\n }\n\n DeleteUserHobbyDocuments(data) { //create or update data\n const path = 'api/UserHobby/DeleteUserHobbyDocuments';\n return this.globalService.PostDataById(data, path);\n }\n\n}\n","import { RecordsType } from \"app/enums\";\nimport { QuickPostTypeListOutputModel } from \"app/Models/quickpostlist-model.model\"\nexport class QuickPostModel {\n UserQuickPostId: number;\n UserDetailsId: number;\n QuickPostTypeId: number;\n MoodId: number;\n MoodRatingId: number;\n Title: string;\n DiaryDate: Date;\n DiaryTimeFrom: Date;\n DiaryTimeTo: Date;\n PostContent: string;\n Location: string;\n TagCategory: string;\n Latitude: number;\n Longitude: number;\n ViewsCounter: number;\n LikesCounter: number;\n CommentsCounter: number;\n SharedCounter: number;\n LikedByMe:boolean;\n}\n\nexport class MoodRatingListOutputModel\n{\n MoodRatingId: number;\n MoodRatingName: string;\n IconPath: string;\n OrderSequence: number;\n}\n\nexport class MoodListOutputModel\n{\n MoodId:number;\n MoodName:string;\n EmotionPath:string;\n Rating:number;\n OrderSequence:number;\n}\n\nexport class QuickPostCreateUpdateInputModel {\n UserQuickPostId: number;\n UserDetailsId: number;\n QuickPostTypeId: number;\n MoodId: number;\n MoodRatingId: number;\n Title: string;\n DiaryDate: string;\n DiaryTimeFrom: string;\n DiaryTimeTo:string;\n PostContent: string;\n Location: string;\n TagCategory: string;\n Latitude: number;\n Longitude: number;\n ViewsCounter: number;\n LikesCounter: number;\n CommentsCounter: number;\n SharedCounter:number;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n}\nexport class TblUserQuickPosts {\n UserQuickPostId: number;\n UserDetailsId: number;\n QuickPostTypeId: number;\n MoodId: number;\n MoodRatingId: number;\n Title: string;\n DiaryDate: string;\n DiaryTimeFrom: string;\n DiaryTimeTo: string;\n PostContent: string;\n Location: string;\n TagCategory: string;\n Latitude: number;\n Longitude: number;\n ViewsCounter: number;\n LikesCounter: number;\n CommentsCounter: number;\n SharedCounter :number;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n}\n\nexport class QuickPostLoadDataOutputModel {\n UserQuickPost: TblUserQuickPosts;\n QuickPostTypeList: Array;\n MoodList: Array;\n MoodRatingList: Array;\n QuickPostDocumentList: Array;\n QuickPostViewList: Array;\n QuickPostsCommentsList: Array;\n LikedByMe?:boolean;\n}\n\nexport class UserCustomCommentModel\n{\n UserQuickPostsCommentId: number;\n ProfileImagePath: string;\n FirstName: string;\n MiddleName: string;\n LastName: string;\n UserQuickPostId: number;\n Content: string;\n LikesCounter: number;\n UserDetailsId: number;\n CreatedDate: string;\n CreatedTime: string;\n}\n\nexport class UserCustomViewModel\n{\n UserQuickPostsViewId: number;\n ProfileImagePath: string;\n FirstName: string;\n MiddleName: string;\n LastName: string;\n UserQuickPostId: number;\n UserDetailsId: number;\n CreatedDate: string;\n CreatedTime: string;\n}\n\nexport class QuickPostDocumentListOutputModel {\n DocumentId: number;\n UserQuickPostDocumentId: number;\n UserDetailsId: number;\n UserQuickPostId: number;\n DocumentType: string;\n Size: string;\n DocumentSubType: string;\n DocumentName: string;\n DocumentOldName: string;\n DocumentPath: string;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n}\n\nexport class GetUserQuickPostsInputModel\n{\n UserDetailsId:number;\n ShowAllYN?:boolean;\n}\n\nexport class QuickPostCreateUpdateSharingInputModel\n{\n UsersQuickPostSharingID: number;\n SharedFromUserDetailsID: number;\n SharedToUserDetailsIDs: number[];\n UserQuickPostID: number;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n}\n\nexport class DocumentLinkingInputModel\n{\n UserDetailsId: number;\n DocumentIds: number[];\n RecordType: RecordsType;\n RecordId: number;\n}\n\nexport class UserQuickPostConnectionsOutputModel {\n UserDetailsId: number;\n SenderUserDetailsID: number;\n ReceiverUserDetailsID?: number; // Optional property\n UserConnectionRequestID: number;\n ConnectionRequestStatusID: number;\n UserFriendorFamilyID: number;\n FirstName: string;\n LastName: string;\n Type: string;\n EMailAddress: string;\n SharedYN: string;\n }\n ","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'de',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Es konnte keine Verbindung zum Server hergestellt werden.'\n },\n SIGNIN: {\n MOTIVATION_BADGE_SIGNIN:'Melden Sie sich an und starten Sie das Abenteuer',\n WELCOME_TEXT: 'Willkommen bei Noosom',\n CONTROL_LABEL_EMAIL:'E-Mail-Addresse',\n CONTROL_LABEL_PASSWORD:'Passwort',\n CONTROL_LABEL_REMEMBERME:'Erinnere dich an mich',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Haben Sie Ihr Passwort vergessen?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Ein Konto erstellen',\n TEXT_NEWONPLATFORM:'Neu auf unserer Plattform?',\n BUTTON_TEXT_LOGIN:'Anmeldung',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Sie haben sich erfolgreich als {0}-Benutzer bei Noosom angemeldet. Jetzt können Sie mit der Erkundung beginnen. Genießen! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Willkommen, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'Das E-Mail-Feld ist!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Das Passwortfeld ist!',\n ERROR_MESSAGE_INVALID_EMAIL:'E-Mail muss eine gültige E-Mail-Adresse sein',\n ERROR_MESSAGE_NOATTEMPTS:'Ungültiger Benutzername oder ungültiges Passwort.
Sie haben keine weiteren Versuche mehr.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Ihre E-Mail-Adresse wurde nicht verifiziert.
überprüfen Sie zuerst Ihre E-Mail-Adresse.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Dein Account wurde gesperrt.'},\n {ErrorCode:0,ErrorMessage:'Eingeloggt erfolgreich.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Ungültiger Benutzername oder ungültiges Passwort. Sie haben noch {0} Versuche.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administratorin'},{titlle:'Client',value:'Klientin'},{title:'User',value:'Benutzer'}]\n },\n SIGNUP:\n {\n MOTIVATION_BADGE_SIGNUP:'Melden Sie sich an und starten Sie das Abenteuer',\n STEPPER_TITLE_ACCOUNT:'Konto',\n STEPPER_SUB_TITLE_ACCOUNT:'Benutzernamen eingeben',\n STEPPER_TITLE_PERSONAL:'persönlich',\n STEPPER_SUB_TITLE_PERSONAL:'Information eingeben',\n HEADING_ACCOUNT:'Kontoinformationen',\n HEADING_PERSONAL:'Persönliche Informationen',\n HEADING_SELECTPLAN:'Plan auswählen',\n CONTROL_LABEL_USERID:'Noosom-Benutzer-ID',\n CONTROL_LABEL_EMAILADDRESS:'E-Mail-Addresse',\n CONTROL_LABEL_PASSWORD:'Passwort',\n CONTROL_LABEL_CONFIRMPASSWORD:'Bestätigen Sie Ihr Passwort',\n CONTROL_LABEL_REGION:'Ihre Region',\n CONTROL_LABEL_HOMECOUNTRY:'Ihr land',\n CONTROL_LABEL_FIRSTNAME:'Vorname',\n CONTROL_LABEL_MIDDLENAME:'Zweiter Vorname',\n CONTROL_LABEL_LASTNAME:'Nachname',\n CONTROL_LABEL_BIRTHDATE:'Geburtsdatum',\n CONTROL_LABEL_MOBILENO:'Handy-Nr',\n CONTROL_LABEL_SELECTPLAN:'Jetzt für immer kostenlos oder später kaufen.',\n PLACEHOLDER_TYPEHERE:'Geben Sie hier ein ...',\n PLACEHOLDER_PASSWORD:'Passwort',\n PLACEHOLDER_REGION:'Region wählen',\n PLACEHOLDER_COUNTRY:'Land auswählen',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Vorherige',\n BUTTON_TEXT_NEXT:'Nächste',\n BUTTON_TEXT_SUBMIT:'Einreichen',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Ihre Daten werden gespeichert',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'in der ausgewählten Region',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'land auswählen',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Konto erfolgreich erstellt.',\n ERROR_MESSAGE_REQUIRED_USERID:'Das Feld „Benutzername“ ist! Das Feld „E-Mail“ ist',\n ERROR_MESSAGE_EXISTED_USERID:'Dieser Benutzername wurde vergeben. Bitte versuchen Sie es mit einem anderen.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'Das Feld für die E-Mail-Adresse ist!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Diese E-Mail-Adresse wurde übernommen. Bitte versuchen Sie es mit einem anderen.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Das Passwortfeld ist!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Muss mindestens eine Zahl, einen Groß- und Kleinbuchstaben und mindestens 8 Zeichen enthalten.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'Passwort wiederholen muss übereinstimmen.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'Das Feld Passwort bestätigen ist!',\n ERROR_MESSAGE_REQUIRED_REGION:'Das Regionsfeld ist!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'Das Feld land ist!',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'Das Vornamensfeld ist!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'Das Feld für den zweiten Vornamen ist!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'Das Feld Nachname ist!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'Das Feld Geburtsdatum ist!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'Das Handy ist kein Pflichtfeld!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Bitte wählen Sie die kostenlose Planoption!',\n }\n }\n};\n","import { PostConstruct } from \"ag-grid-community\";\nimport { Status } from \"app/enums\";\nexport const locale = {\n lang: 'en',\n data: {\n COMMON: {\n CONTROL_LABEL_EMAIL_ADDRESS: 'Email Address',\n PLACEHOLDER_EMAIL_ADDRESS: 'Type here...',\n PLACEHOLDER_TYPE_HERE: 'Type here...',\n PLACEHOLDER_MOBILE_NUMBER: '0123456789',\n BUTTON_TEXT_SAVE_CHANGES: 'Save Changes',\n ERROR_MESSAGE_REQUIRED_EMAIL_ADDRESS: 'The email is required!',\n ERROR_MESSAGE_INVALID_EMAIL: 'Please enter your email address in format:\\nyourname@example.com',\n ERROR_MESSAGE_CONNECTIONREFUSED: 'Could not connect with server.',\n TOOLTIP_TEXT_BUTTON_CLOSE: 'Close',\n COMMON_STATUS:\n [\n { ErrorCode: Status.UserNotFound, ErrorMessage: 'User could not be found.' }\n ],\n },\n QUICKPOST: {\n HEADING_LABEL_ADD_A_QUICKPOST: 'Add a ',\n HEADING_LABEL_EDIT_A_QUICKPOST: 'Edit a ',\n HEADING_TEXT: 'Entry',\n INFO_TEXT: 'Add all your Diary / Journal Details',\n INFO_TEXT3: 'Select your Mood and Rate the Moment here',\n INFO_TEXT1: 'Select some Images and Videos. You can upload them one at a time or select Upload All at once',\n INFO_TEXT2: 'All your uploaded Images & Videos will be displayed here',\n INFO_TEXT4:'Paperback view is designed to look like a hand written diary, no images, just the post date, time, location and your own notes.',\n TAB_HEADING_QUICKPOST: 'Quick Post',\n TAB_HEADING_TRACKERS: 'Trackers',\n TAB_HEADING_SHARING: 'Sharing',\n TAB_HEADING_UPLOAD: 'Upload',\n TAB_HEADING_IMAGES_AND_VIDEOS: 'Images & Videos',\n CONTROL_LABEL_TITLE: 'Title',\n CONTROL_LABEL_DIARY_DATE: 'Date',\n CONTROL_LABEL_DIARY_TIME_FROM: 'Time From',\n CONTROL_LABEL_DIARY_TIME_TO: 'Time To',\n CONTROL_LABEL_TO_DATE:'To Date',\n CONTROL_LABEL_FROM_DATE:'From Date',\n CONTROL_LABEL_MONTH:'Month',\n CONTROL_LABEL_DATE_RANGE:'Date Range',\n CONTROL_LABEL_SEARCH:'Search',\n CONTROL_LABEL_LOCATION: 'Location',\n CONTROL_LABEL_POST_TYPE: 'Post Type',\n CONTROL_LABEL_EVENT: 'Event',\n CONTROL_LABEL_TAG_CATEGORY: 'Tag Category',\n CONTROL_LABEL_POST_CONTENT: 'Post Content',\n CONTROL_LABEL_SHARE:'Share',\n CONTROL_LABEL_BROWSE:'Browse',\n CONTROL_LABEL_HEADING_SHARED_TO:'Shared To',\n CONTROL_LABEL_HEADING_ADD_NEW:'Add New',\n CONTROL_LABEL_SHAREDYN:'Shared Y/N?',\n CONTROL_LABEL_FIRSTNAME:'First Name',\n CONTROL_LABEL_LASTNAME:'Last Name',\n CONTROL_LABEL_EMAILADDRESS:'Email Address',\n CONTROL_LABEL_TYPE:'Type',\n PLACEHOLDER_DATE: 'dd/mm/yyyy',\n PLACEHOLDER_SEARCH_LOCATION_HERE: 'Search Location Here',\n PLACEHOLDER_SELECT_POST_TYPE: 'Select Post Type',\n PLACEHOLDER_SELECT_EVENT: 'Select Event',\n PLACEHOLDER_ADD_TAG: 'Add Tag',\n PLACEHOLDER_TYPE_HERE: 'Type here...',\n PLACEHOLDER_ADD_SELECT_TAG_HERE: 'Add/Select Tag Here...',\n HEADING_TEXT_DIARY: 'Diary',\n HEADING_TEXT_JOURNAL: 'Journal',\n HEADING_TEXT_PAPERBACKVIEW:'Paperback View',\n SWEET_ALERT_TEXT: \"You won't be able to undo this!\",\n SWEET_ALERT_CONFIRM_BUTTON_TEXT: 'Yes, delete it!',\n SWEET_ALERT_CONFIRM_BUTTON_TEXT_UNLINK: 'Yes, unlink it!',\n SWEET_ALERT_CANCEL_BUTTON_TEXT: 'Cancel',\n SWEET_ALERT_TEXT_DELETED: 'Unlinked!',\n SWEET_ALERT_CONFIRM_BUTTON_TEXT_OKAY: 'OK',\n SWEET_ALERT_TITLE_QUICKPOST_TEXT: 'Are you sure, you want to delete this Quick Post and all the attachments associated with it?',\n SWEET_ALERT_TITLE_QUICKPOST_IMAGE: 'Are you sure, you want to unlink this Quick Post Document?',\n SWEET_ALERT_DELETE_TEXT: 'Deleted!',\n TOOLTIP_TEXT_BUTTON_CALENDAR: 'Calendar',\n TOOLTIP_TEXT_BUTTON_EDIT:'Edit',\n TOOLTIP_TEXT_BUTTON_LOCATION: 'Location',\n TOOLTIP_TEXT_BUTTON_SEARCH_ON_MAP: 'Search on Map',\n TOOLTIP_TEXT_ADD_A_QUICKPOST: 'Add a ',\n TOOLTIP_TEXT_TEXT_STYLE: 'Text Style',\n TOOLTIP_TEXT_TEXT_SIZE: 'Text Size',\n TOOLTIP_TEXT_TEXT_COLOUR: 'Text Colour',\n TOOLTIP_TEXT_TEXT_ALIGNMENT: 'Text Alignment',\n TOOLTIP_TEXT_BOLD: 'Bold',\n TOOLTIP_TEXT_ITALIC: 'Italic',\n TOOLTIP_TEXT_UNDERLINE: 'Underline',\n TOOLTIP_TEXT_LINK: 'Link',\n TOOLTIP_TEXT_BULLET_LIST: 'Bullet List',\n TOOLTIP_TEXT_NUMBERED_LIST: 'Numbered List',\n TOOLTIP_TEXT_CLEAR_FORMAT: 'Clear Format',\n TOOLTIP_TEXT_DIARY_DESCRIPTION: 'A short description or headline of your Diary / Journal Entry',\n TOOLTIP_TEXT_DIARY_DATE_CREATED: 'This field is the date the Diary Entry was created',\n TOOLTIP_TEXT_DIARY_START_TIME: 'This field shows the start time of the Diary Entry that was created',\n TOOLTIP_TEXT_DIARY_END_TIME: 'This field shows the end time of the Diary Entry that was created',\n TOOLTIP_TEXT_SEARCH_MAP_BUTTON: 'Click the Search on Map button to search & select the location of your Diary Entry. You will be able to adjust the location using the pin',\n TOOLTIP_TEXT_DEFAULT_PRIVACY_SETTING: 'Private will always be default. You will have the ability to share to friends, family or public once you upgrade',\n TOOLTIP_TEXT_DIARY_EVENT_LINKING: 'You can link your diary posts to specific events such as when you are travelling, having a dinner with friends or family etc…',\n TOOLTIP_TEXT_TAG_CODE_CATEGORY: 'The Tag Code Category is your own unique choice of words that you can use to search the Noosom Web System',\n TOOLTIP_TEXT_DIARY_DESCRIPTION_EDITOR: 'Enter the description of your Diary / Journal Entry using the editor',\n BUTTON_TEXT_SEARCH_ON_MAP: 'Search on Map',\n BUTTON_TEXT_ADD_A_QUICKPOST: 'Add a ',\n BUTTON_TEXT_SAVE_CHANGES: 'Save Changes',\n BUTTON_TEXT_SHARE_SAVE_CHANGES: 'Share and Save Changes',\n BUTTON_TEXT_DELETE: 'Delete',\n BUTTON_TEXT_CANCEL: 'Cancel',\n BUTTON_TEXT_SAVE_AND_CLOSE: 'Save and Close',\n BUTTON_TEXT_SAVE_AND_NEXT: 'Save and Next',\n BUTTON_TEXT_ABANDON: 'Abandon',\n TOAST_MESSAGE_QUICKPOST_ADDED_SUCCESSFULLY: 'Quick Post added successfully.',\n TOAST_MESSAGE_QUICKPOST_UPDATED_SUCCESSFULLY: 'Quick Post updated successfully.',\n TOAST_MESSAGE_QUICKPOST_DELETE_SUCCESSFULLY: 'Quick Post attachment unlinked successfully.',\n WARNING_MESSAGE_SELECT_LOCATION: 'Please select location on a map.',\n ERROR_MESSAGE_REQUIRED_TITLE: 'The title is required!',\n ERROR_MESSAGE_REQUIRED_DIARY_DATE: 'The diary date is required!',\n ERROR_MESSAGE_REQUIRED_DIARY_TIME: 'Diary time from is required!',\n ERROR_MESSAGE_REQUIRED_DIARY_TIME_TO: 'Diary time to is required!',\n ERROR_MESSAGE_REQUIRED_LOCATION: 'The location is required!',\n ERROR_MESSAGE_REQUIRED_POST_TYPE: 'The post type is required!',\n ERROR_MESSAGE_REQUIRED_POST_CONTENT: 'The post content is required!',\n ERROR_MESSAGE_MAX_LENGTH_100: 'You have typed too many characters, maximum allowed is 100',\n ERROR_MESSAGE_MAX_LENGTH_1000: 'You have typed too many characters, maximum allowed is 1000',\n\n },\n TRACKERS: {\n HOW_IS_YOUR_MOOD_TEXT: 'How is your mood at this moment?',\n HOW_WOULD_YOU_RATE_TEXT: 'How would you rate this moment?',\n MOOD_TEXT_HAPPY: 'Happy',\n MOOD_TEXT_SAD: 'Sad',\n MOOD_TEXT_ANGRY: 'Angry',\n MOOD_TEXT_CRYING: 'Crying',\n MOOD_TEXT_MEH: 'Meh',\n MOOD_TEXT_EXCITED: 'Excited',\n MOOD_TEXT_SLEEPY: 'Sleepy',\n MOOD_TEXT_LONELY: 'Lonely',\n },\n UPLOAD: {\n BUTTON_TEXT_UPLOAD_ALL: 'Upload All',\n BUTTON_TEXT_PAUSE_ALL: 'Pause All',\n BUTTON_TEXT_DOWNLOAD_ALL: 'Download All',\n BUTTON_TEXT_REMOVE_ALL: 'Remove All',\n CONTROL_LABEL_MULTIPLE: 'Multiple',\n COLUMN_HEADING_NAME: 'NAME',\n COLUMN_HEADING_SIZE: 'SIZE',\n COLUMN_HEADING_PROGRESS: 'PROGRESS',\n COLUMN_HEADING_STATUS: 'STATUS',\n COLUMN_HEADING_DATE_CREATED: 'DATE CREATED',\n COLUMN_HEADING_TYPE: 'TYPE',\n COLUMN_HEADING_ACTIONS: 'ACTIONS',\n HEADING_TEXT_SELECT_IMAGES: 'Select Images & Videos',\n HEADING_TEXT_UPLOAD_QUEUE: 'Upload Queue',\n HEADING_TEXT_QUEUE_PROGRESS: 'Queue Progress',\n PLACEHOLDER_CHOOSE_FILES: 'Choose Files',\n TEXT_FILE_TYPES: 'Allowed file types:',\n TEXT_QUEUE_LENGTH: 'Queue Length:',\n TEXT_MB: 'MB',\n },\n TODO:{\n LABEL_ADD_TASK:'Add Task',\n LABEL_ADD_A_TASK:'Add a Task',\n LABEL_TITLE:'Title',\n LABEL_DUE_DATE:'Due Date',\n LABEL_DUE_TIME:'Due Time',\n LABEL_PRIORITY:'Priority',\n LABEL_EDIT_TASK:'Edit Task',\n LABEL_DESCRIPTION:'Description',\n LABEL_BUTTON_COMPLETE:'Complete',\n LABEL_BUTTON_MARK_COMPLETE:'Mark Complete',\n LABEL_BUTTON_MARK_INCOMPLETE:'Mark Pending',\n LABEL_BUTTON_MARK_IMPORTANT:'Mark Important',\n LABEL_BUTTON_MARK_UNIMPORTANT:'Mark Unimportant',\n ERROR_MESSAGE_TITLE_REQUIRED:'The title is required!',\n ERROR_MESSAGE_PRIORITY_REQUIRED:'The priority is required!',\n ERROR_MESSAGE_DUE_TIME_REQUIRED:'The due time is required!',\n ERROR_MESSAGE_DUE_DATE_REQUIRED:'The due date is required!',\n ERROR_MESSAGE_DESCRIPTION_REQUIRED:'The description is required!',\n ERROR_MESSAGE_MAX_50:'You have typed too many characters, maximum allowed is 50'\n }\n }\n};\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'fr',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Impossible de se connecter au serveur.'\n },\n SIGNIN: {\n WELCOME_TEXT: 'Bienvenue à Noosom',\n MOTIVATION_BADGE_SIGNIN:'Connectez-vous et commencez l\\'aventure',\n CONTROL_LABEL_EMAIL:'Adresse e-mail',\n CONTROL_LABEL_PASSWORD:'Mot de passe',\n CONTROL_LABEL_REMEMBERME:'Souviens-toi de moi',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Mot de passe oublié?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Créer un compte',\n TEXT_NEWONPLATFORM:'Nouveau sur notre plateforme ?',\n BUTTON_TEXT_LOGIN:'Connexion',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Vous avez réussi à vous connecter en tant qu\\'utilisateur {0} à Noosom. Vous pouvez maintenant commencer à explorer. Prendre plaisir! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Bienvenue, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'Le champ email est!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Le champ mot de passe est!',\n ERROR_MESSAGE_INVALID_EMAIL:'L\\'e-mail doit être une adresse e-mail valide',\n ERROR_MESSAGE_NOATTEMPTS:'Nom d\\'utilisateur ou mot de passe invalide. Il ne vous reste plus aucune tentative.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Votre adresse e-mail n\\'est pas vérifiée.
vérifiez d\\'abord votre adresse e-mail.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Vôtre compte a été bloqué.'},\n {ErrorCode:0,ErrorMessage:'Connexion réussie.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Nom d\\'utilisateur ou mot de passe invalide.
Il vous reste {0} tentatives.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administratrice'},{titlle:'Client',value:'Cliente'},{title:'User',value:'Utilisatrice'}]\n },\n SIGNUP:\n {\n MOTIVATION_BADGE_SIGNUP:'Inscrivez-vous et commencez l\\'aventure',\n STEPPER_TITLE_ACCOUNT:'Compte',\n STEPPER_SUB_TITLE_ACCOUNT:'Saisissez votre nom d\\'utilisateur',\n STEPPER_TITLE_PERSONAL:'Personnelle',\n STEPPER_SUB_TITLE_PERSONAL:'Entrez les informations',\n HEADING_ACCOUNT:'Information sur le compte',\n HEADING_PERSONAL:'Renseignements personnels',\n HEADING_SELECTPLAN:'Sélectionnez le plan',\n CONTROL_LABEL_USERID:'ID utilisateur Noosom',\n CONTROL_LABEL_EMAILADDRESS:'Adresse e-mail',\n CONTROL_LABEL_PASSWORD:'Mot de passe',\n CONTROL_LABEL_CONFIRMPASSWORD:'Confirmer votre mot de passe',\n CONTROL_LABEL_REGION:'Votre région',\n CONTROL_LABEL_HOMECOUNTRY:'Votre pays',\n CONTROL_LABEL_FIRSTNAME:'Prénom',\n CONTROL_LABEL_MIDDLENAME:'Deuxième nom',\n CONTROL_LABEL_LASTNAME:'Nom de famille',\n CONTROL_LABEL_BIRTHDATE:'Date de naissance',\n CONTROL_LABEL_MOBILENO:'Mobile Non',\n CONTROL_LABEL_SELECTPLAN:'Gratuit pour l\\'instant, ou achetez plus tard.',\n PLACEHOLDER_TYPEHERE:'Écrivez ici...',\n PLACEHOLDER_PASSWORD:'Mot de passe',\n PLACEHOLDER_REGION:'Choisissez une région',\n PLACEHOLDER_COUNTRY:'Choisissez le pays',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Précédente',\n BUTTON_TEXT_NEXT:'Prochaine',\n BUTTON_TEXT_SUBMIT:'Soumettre',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Vos données seront stockées',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'dans la région sélectionnée',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'Sélectionnez le pays',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Compte créé avec succès.',\n ERROR_MESSAGE_REQUIRED_USERID:'Le champ nom d\\'utilisateur est!',\n ERROR_MESSAGE_EXISTED_USERID:'Ce nom d\\'utilisateur a été pris. Veuillez en essayer un autre.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'Le champ adresse e-mail est!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Cette adresse e-mail a été prise. Veuillez en essayer un autre.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Le champ mot de passe est!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Doit contenir au moins un chiffre, une lettre majuscule et minuscule et un minimum de 8 caractères ou plus.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'Le mot de passe répété doit correspondre.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'Le champ de confirmation du mot de passe est!',\n ERROR_MESSAGE_REQUIRED_REGION:'Le champ région est!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'Le champ du pays',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'Le champ prénom est!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'Le champ du deuxième prénom est!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'Le champ nom de famille est!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'Le champ date de naissance est!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'Le mobile aucun champ n\\'est requis!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Veuillez sélectionner l\\'option de forfait gratuit!'\n }\n }\n};\n","import { Status } from \"app/enums\";\r\n\r\nexport const locale = {\r\n lang: 'gj',\r\n data: {\r\n COMMON:{\r\n ERROR_MESSAGE_CONNECTIONREFUSED:'સર્વર સાથે કનેક્ટ કરી શકાયું નથી'\r\n },\r\n SIGNIN: {\r\n WELCOME_TEXT: 'નૂસોમ માં આપનું સ્વાગત છે',\r\n MOTIVATION_BADGE_SIGNIN:'સાઇન ઇન કરો અને સાહસ શરૂ કરો',\r\n CONTROL_LABEL_EMAIL:'ઈ - મેઈલ સરનામું',\r\n CONTROL_LABEL_PASSWORD:'પાસવર્ડ',\r\n CONTROL_LABEL_REMEMBERME:'મને યાદ રાખો',\r\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\r\n LINK_TEXT_LABEL_FORGOTPASSWORD:'તમારો પાસવર્ડ ભૂલી ગયા છો?',\r\n LINK_TEXT_LABEL_CREATEACCOUNT:'એક ખાતુ બનાવો',\r\n TEXT_NEWONPLATFORM:'અમારા પ્લેટફોર્મ પર નવા છો?',\r\n BUTTON_TEXT_LOGIN:'પ્રવેશ કરો',\r\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'તમે Noosom માં {0} વપરાશકર્તા તરીકે સફળતાપૂર્વક લૉગ ઇન કર્યું છે. હવે તમે અન્વેષણ કરવાનું શરૂ કરી શકો છો. આનંદ માણો! 🎉',\r\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 સ્વાગત છે, {0}!',\r\n ERROR_MESSAGE_REQUIRED_EMAIL:'ઈમેલ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_PASSWORD:'પાસવર્ડ આવશ્યક છે!',\r\n ERROR_MESSAGE_INVALID_EMAIL:'ઇમેઇલ એક માન્ય ઇમેઇલ સરનામું હોવું આવશ્યક છે',\r\n ERROR_MESSAGE_NOATTEMPTS:'અમાન્ય વપરાશકર્તાનામ અથવા પાસવર્ડ. તમારી પાસે કોઈ પ્રયાસો બાકી નથી.',\r\n LOGIN_STATUS:\r\n [\r\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'તમારું ઇમેઇલ સરનામું ચકાસાયેલ નથી.
પહેલા તમારું ઇમેઇલ સરનામું બદલો.'},\r\n {ErrorCode:Status.AccountLocked,ErrorMessage:'તમારું એકાઉન્ટ લોક કરી દેવામાં આવ્યું છે.'},\r\n {ErrorCode:0,ErrorMessage:'લૉગ-ઇન સફળ.'},\r\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'અમાન્ય વપરાશકર્તાનામ અથવા પાસવર્ડ.
તમારી પાસે {0} પ્રયાસો બાકી છે.'}\r\n ],\r\n DIGITS:[\"૧\",\"૨\",\"૩\",\"૪\"],\r\n ROLES:[{title:'Admin',value:'એડમિન'},{titlle:'Client',value:'ક્લાયન્ટ'},{title:'User',value:'વપરાશકર્તા'}]\r\n },\r\n SIGNUP:\r\n {\r\n MOTIVATION_BADGE_SIGNUP:'સાઇન અપ કરો અને સાહસ શરૂ કરો',\r\n STEPPER_TITLE_ACCOUNT:'એકાઉન્ટ',\r\n STEPPER_SUB_TITLE_ACCOUNT:'વપરાશકર્તા નામ દાખલ કરો',\r\n STEPPER_TITLE_PERSONAL:'અંગત',\r\n STEPPER_SUB_TITLE_PERSONAL:'માહિતી દાખલ કરો',\r\n HEADING_ACCOUNT:'ખાતાની માહિતી',\r\n HEADING_PERSONAL:'વ્યક્તિગત માહિતી',\r\n HEADING_SELECTPLAN:'પ્લાન પસંદ કરો',\r\n CONTROL_LABEL_USERID:'નૂસોમ વપરાશકર્તા આઈડી',\r\n CONTROL_LABEL_EMAILADDRESS:'ઈ - મેઈલ સરનામું',\r\n CONTROL_LABEL_PASSWORD:'પાસવર્ડ',\r\n CONTROL_LABEL_CONFIRMPASSWORD:'તમારા પાસવર્ડની ખાતરી કરો',\r\n CONTROL_LABEL_REGION:'તમારો પ્રદેશ',\r\n CONTROL_LABEL_HOMECOUNTRY:'તમારો દેશ',\r\n CONTROL_LABEL_FIRSTNAME:'પ્રથમ નામ',\r\n CONTROL_LABEL_MIDDLENAME:'પિતાનું નામ',\r\n CONTROL_LABEL_LASTNAME:'છેલ્લું નામ',\r\n CONTROL_LABEL_BIRTHDATE:'જન્મ તારીખ',\r\n CONTROL_LABEL_MOBILENO:'મોબાઈલ નમ્બર',\r\n CONTROL_LABEL_SELECTPLAN:'હમણાં માટે હંમેશ માટે મફત, અથવા પછીથી ખરીદો.',\r\n PLACEHOLDER_TYPEHERE:'અહી લખો...',\r\n PLACEHOLDER_PASSWORD:'પાસવર્ડ',\r\n PLACEHOLDER_REGION:'પ્રદેશ પસંદ કરો',\r\n PLACEHOLDER_COUNTRY:'દેશ પસંદ કરો',\r\n PLACEHOLDER_TELEPHONENUMBER:'૦૧૨૩૪૫૬૭૮૯',\r\n BUTTON_TEXT_PREVIOUS:'અગાઉના',\r\n BUTTON_TEXT_NEXT:'આગળ',\r\n BUTTON_TEXT_SUBMIT:'સબમિટ કરો',\r\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'તમારો ડેટા પસંદ કરેલ પ્રદેશમાં',\r\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'સંગ્રહિત કરવામાં આવશે',\r\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'દેશ પસંદ કરો',\r\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'એકાઉન્ટ સફળતાપૂર્વક બનાવ્યું.',\r\n ERROR_MESSAGE_REQUIRED_USERID:'યુઝરનેમ આવશ્યક છે!',\r\n ERROR_MESSAGE_EXISTED_USERID:'તે વપરાશકર્તા નામ લેવામાં આવ્યું છે. કૃપા કરીને બીજો પ્રયાસ કરો.',\r\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'ઈમેલ એડ્રેસ ફીલ્ડ છે!',\r\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'તે ઈમેલ એડ્રેસ લેવામાં આવ્યું છે. કૃપા કરીને બીજો પ્રયાસ કરો.',\r\n ERROR_MESSAGE_REQUIRED_PASSWORD:'પાસવર્ડ ફીલ્ડ છે!',\r\n ERROR_MESSAGE_INVALID_PASSWORD:'ઓછામાં ઓછા એક નંબર, એક અપરકેસ અને લોઅરકેસ અક્ષર અને ઓછામાં ઓછા 8 અથવા વધુ અક્ષરો હોવા જોઈએ.',\r\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'પુનરાવર્તિત પાસવર્ડ મેળ ખાતો હોવો જોઈએ.',\r\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'કન્ફર્મ પાસવર્ડ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_REGION:'પ્રદેશ ક્ષેત્ર આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'દેશ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'પ્રથમ નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'મધ્યમ નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_LASTNAME:'છેલ્લું નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'જન્મ તારીખ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_MOBILENO:'મોબાઇલ નંબર આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'કૃપા કરીને ફ્રી પ્લાન વિકલ્પ પસંદ કરો!'\r\n }\r\n }\r\n };\r\n ","import { Status } from \"app/enums\";\r\n\r\nexport const locale = {\r\n lang: 'hn',\r\n data: {\r\n COMMON: {\r\n CONTROL_LABEL_EMAIL_ADDRESS: 'ईमेल पता',\r\n PLACEHOLDER_EMAIL_ADDRESS: 'यहाँ लिखो...',\r\n PLACEHOLDER_TYPE_HERE: 'यहाँ लिखो...',\r\n PLACEHOLDER_MOBILE_NUMBER: '०१२३४५६७८९',\r\n BUTTON_TEXT_SAVE_CHANGES: 'परिवर्तनों को सुरक्षित करें',\r\n ERROR_MESSAGE_REQUIRED_EMAIL_ADDRESS: 'ईमेल की आवश्यकता है!',\r\n ERROR_MESSAGE_INVALID_EMAIL: 'कृपया अपना ईमेल पता प्रारूप में दर्ज करें:\\nyourname@example.com',\r\n ERROR_MESSAGE_CONNECTIONREFUSED: 'सर्वर से कनेक्ट नहीं हो सका.',\r\n TOOLTIP_TEXT_BUTTON_CLOSE: 'बंद करना',\r\n COMMON_STATUS:\r\n [\r\n { ErrorCode: Status.UserNotFound, ErrorMessage: 'उपयोगकर्ता नहीं मिल सका।' }\r\n ],\r\n },\r\n QUICKPOST: {\r\n HEADING_LABEL_ADD_A_QUICKPOST: 'जोड़ें',\r\n HEADING_LABEL_EDIT_A_QUICKPOST: 'संपादित करें',\r\n HEADING_TEXT: 'प्रविष्टि',\r\n TAB_HEADING_QUICKPOST: 'त्वरित पोस्ट',\r\n TAB_HEADING_TRACKERS: 'ट्रैकर',\r\n TAB_HEADING_SHARING: 'साझाकरण',\r\n TAB_HEADING_UPLOAD: 'अपलोड करें',\r\n TAB_HEADING_IMAGES_AND_VIDEOS: 'चित्र और वीडियो',\r\n INFO_TEXT: 'अपने सभी डायरी/जर्नल विवरण जोड़ें',\r\n INFO_TEXT3: 'यहाँ अपनी मूड चुनें और क्षण को मूल्यांकित करें',\r\n INFO_TEXT1: 'कुछ तस्वीरें और वीडियो का चयन करें। आप उन्हें एक बार में अपलोड कर सकते हैं या एक साथ Upload All चुन सकते हैं।',\r\n INFO_TEXT2: 'आपकी सभी अपलोड की गई तस्वीरें और वीडियो यहां प्रदर्शित की जाएगी।',\r\n INFO_TEXT4: 'पेपरबैक दृश्य को हाथ से लिखी डायरी की तरह दिखने के लिए डिज़ाइन किया गया है, कोई छवियाँ नहीं, केवल पोस्ट की तारीख, समय, स्थान और आपके अपने नोट्स।',\r\n CONTROL_LABEL_TITLE: 'शीर्षक',\r\n CONTROL_LABEL_DIARY_DATE: 'की तारीख',\r\n CONTROL_LABEL_DIARY_TIME_FROM: 'समय से',\r\n CONTROL_LABEL_DIARY_TIME_TO: 'समय तक',\r\n CONTROL_LABEL_TO_DATE: 'समाप्ति दिनांक',\r\n CONTROL_LABEL_FROM_DATE: 'प्रारंभ दिनांक',\r\n CONTROL_LABEL_MONTH: 'माह',\r\n CONTROL_LABEL_DATE_RANGE: 'तिथि सीमा',\r\n CONTROL_LABEL_SEARCH: 'खोजें',\r\n CONTROL_LABEL_LOCATION: 'स्थान',\r\n CONTROL_LABEL_POST_TYPE: 'पद प्रकार',\r\n CONTROL_LABEL_EVENT: 'प्रसंग',\r\n CONTROL_LABEL_TAG_CATEGORY: 'टैग श्रेणी',\r\n CONTROL_LABEL_POST_CONTENT: 'पोस्ट सामग्री',\r\n CONTROL_LABEL_BROWSE: 'ब्राउज़',\r\n CONTROL_LABEL_HEADING_SHARED_TO: 'साझा किया गया',\r\n CONTROL_LABEL_HEADING_ADD_NEW: 'नया जोड़ें',\r\n CONTROL_LABEL_SHAREDYN: 'साझा किया गया हां/नहीं?',\r\n CONTROL_LABEL_FIRSTNAME: 'पहला नाम',\r\n CONTROL_LABEL_LASTNAME: 'अंतिम नाम',\r\n CONTROL_LABEL_EMAILADDRESS: 'ईमेल पता',\r\n CONTROL_LABEL_TYPE: 'प्रकार',\r\n TOOLTIP_TEXT_BUTTON_CALENDAR: 'कैलेंडर',\r\n TOOLTIP_TEXT_BUTTON_LOCATION: 'स्थान',\r\n TOOLTIP_TEXT_BUTTON_SEARCH_ON_MAP: 'स्थान यहाँ खोजें',\r\n TOOLTIP_TEXT_ADD_A_QUICKPOST: 'जोड़ें',\r\n TOOLTIP_TEXT_BUTTON_EDIT: 'संपादित करें',\r\n TOOLTIP_TEXT_TEXT_STYLE: 'पाठ शैली',\r\n TOOLTIP_TEXT_TEXT_SIZE: 'टेक्स्ट का साइज़',\r\n TOOLTIP_TEXT_TEXT_COLOUR: 'पाठ का रंग',\r\n TOOLTIP_TEXT_TEXT_ALIGNMENT: 'पाठ्य संरेखण',\r\n TOOLTIP_TEXT_BOLD: 'बोल्ड',\r\n TOOLTIP_TEXT_ITALIC: 'तिरछा',\r\n TOOLTIP_TEXT_UNDERLINE: 'रेखांकन',\r\n TOOLTIP_TEXT_LINK: 'जोड़ना',\r\n TOOLTIP_TEXT_BULLET_LIST: 'गोली सूची',\r\n TOOLTIP_TEXT_NUMBERED_LIST: 'क्रमांकित सूची',\r\n TOOLTIP_TEXT_CLEAR_FORMAT: 'संरूपण साफ करना',\r\n TOOLTIP_TEXT_DIARY_DESCRIPTION: 'आपकी डायरी / जर्नल प्रविष्टि का एक छोटा विवरण या शीर्षक',\r\n TOOLTIP_TEXT_DIARY_DATE_CREATED: 'यह फ़ील्ड डायरी प्रविष्टि की तारीख है जब बनाई गई थी',\r\n TOOLTIP_TEXT_DIARY_START_TIME: 'यह फ़ील्ड डायरी प्रविष्टि का प्रारंभ समय दिखाता है जो बनाया गया था',\r\n TOOLTIP_TEXT_DIARY_END_TIME: 'यह फ़ील्ड डायरी प्रविष्टि का समाप्त समय दिखाता है जो बनाया गया था',\r\n TOOLTIP_TEXT_SEARCH_MAP_BUTTON: 'मानचित्र पर खोज करने और अपनी डायरी प्रविष्टि के स्थान का चयन करने के लिए खोज पर क्लिक करें। आप पिन का उपयोग करके स्थान को समायोजित कर सकेंगे',\r\n TOOLTIP_TEXT_DEFAULT_PRIVACY_SETTING: 'निजी हमेशा डिफ़ॉल्ट होगा। जब आप अपग्रेड करेंगे तो आपको दोस्तों, परिवार या सार्वजनिक के साथ साझा करने की क्षमता होगी',\r\n TOOLTIP_TEXT_DIARY_EVENT_LINKING: 'आप अपने डायरी पोस्ट को विशिष्ट घटनाओं से लिंक कर सकते हैं जैसे कि जब आप यात्रा कर रहे हों, दोस्तों या परिवार के साथ रात का खाना कर रहे हों आदि...',\r\n TOOLTIP_TEXT_TAG_CODE_CATEGORY: 'टैग कोड श्रेणी आपके खुद के विशिष्ट शब्द हैं जिन्हें आप नूसोम वेब सिस्टम में खोजने के लिए उपयोग कर सकते हैं',\r\n TOOLTIP_TEXT_DIARY_DESCRIPTION_EDITOR: 'संपादक का उपयोग करके अपनी डायरी / जर्नल प्रविष्टि का विवरण दर्ज करें',\r\n PLACEHOLDER_DATE: 'dd/mm/yyyy',\r\n PLACEHOLDER_SEARCH_LOCATION_HERE: 'स्थान यहाँ खोजें',\r\n PLACEHOLDER_SELECT_EVENT: 'इवेंट चुनें',\r\n PLACEHOLDER_SELECT_POST_TYPE: 'पोस्ट प्रकार का चयन करें',\r\n PLACEHOLDER_ADD_TAG: 'टैग जोड़ो',\r\n PLACEHOLDER_TYPE_HERE: 'यहाँ लिखो...',\r\n PLACEHOLDER_ADD_SELECT_TAG_HERE: 'यहाँ टैग जोड़ें/चयन करें...',\r\n SWEET_ALERT_TEXT: \"आप इसे पूर्ववत नहीं कर पाएंगे!\",\r\n SWEET_ALERT_CONFIRM_BUTTON_TEXT: 'हाँ, मिटा दो!',\r\n SWEET_ALERT_CONFIRM_BUTTON_TEXT_UNLINK: 'हाँ, इसे अनलिंक करें!',\r\n SWEET_ALERT_CANCEL_BUTTON_TEXT: 'रद्द करना',\r\n SWEET_ALERT_TEXT_DELETED: 'हटा दिया!',\r\n SWEET_ALERT_CONFIRM_BUTTON_TEXT_OKAY: 'ओके',\r\n SWEET_ALERT_TITLE_QUICKPOST_TEXT: 'क्या आप सुनिश्चित हैं, कि आप इस त्वरित पोस्ट और इससे संबद्ध सभी अनुलग्नकों को हटाना चाहते हैं?',\r\n SWEET_ALERT_TITLE_QUICKPOST_IMAGE: 'क्या आप वाकई इस त्वरित पोस्ट दस्तावेज़ को हटाना चाहते हैं?',\r\n SWEET_ALERT_DELETE_TEXT: 'हटा दिया गया!',\r\n BUTTON_TEXT_SEARCH_ON_MAP: 'स्थान यहाँ खोजें',\r\n BUTTON_TEXT_ADD_A_QUICKPOST: 'जोड़ें',\r\n BUTTON_TEXT_SAVE_CHANGES: 'परिवर्तनों को सुरक्षित करें',\r\n BUTTON_TEXT_SHARE_SAVE_CHANGES: 'साझा करें और परिवर्तन सहेजें',\r\n BUTTON_TEXT_DELETE: 'मिटाना',\r\n BUTTON_TEXT_CANCEL: 'रद्द करें',\r\n BUTTON_TEXT_SAVE_AND_CLOSE: 'सहेजें और बंद करें',\r\n BUTTON_TEXT_SAVE_AND_NEXT: 'सहेजें और अगला',\r\n BUTTON_TEXT_ABANDON: 'छोड़ देना',\r\n HEADING_TEXT_DIARY: 'डायरी',\r\n HEADING_TEXT_JOURNAL: 'जर्नल',\r\n HEADING_TEXT_PAPERBACKVIEW: 'पेपरबैक दृश्य',\r\n TOAST_MESSAGE_QUICKPOST_ADDED_SUCCESSFULLY: 'त्वरित पोस्ट सफलतापूर्वक जोड़ा गया',\r\n TOAST_MESSAGE_QUICKPOST_UPDATED_SUCCESSFULLY: 'त्वरित पोस्ट सफलतापूर्वक अपडेट किया गया',\r\n TOAST_MESSAGE_QUICKPOST_DELETE_SUCCESSFULLY: 'Quick Post संलग्नक को सफलतापूर्वक अनलिंक कर दिया गया है।',\r\n WARNING_MESSAGE_SELECT_LOCATION: 'कृपया मानचित्र पर स्थान का चयन करें।',\r\n ERROR_MESSAGE_REQUIRED_TITLE: 'शीर्षक आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_DIARY_DATE: 'डायरी तिथि आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_DIARY_TIME: 'डायरी का समय आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_LOCATION: 'स्थान आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_POST_TYPE: 'पोस्ट प्रकार आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_POST_CONTENT: 'पोस्ट सामग्री आवश्यक है!',\r\n ERROR_MESSAGE_MAX_LENGTH_100: 'आपने बहुत अधिक वर्ण टाइप किए हैं, अधिकतम अनुमत 100 है',\r\n ERROR_MESSAGE_MAX_LENGTH_1000: 'आपने बहुत अधिक वर्ण टाइप किए हैं, अधिकतम अनुमत 1000 है',\r\n },\r\n TRACKERS: {\r\n HOW_IS_YOUR_MOOD_TEXT: 'इस समय आपका मूड कैसा है?',\r\n HOW_WOULD_YOU_RATE_TEXT: 'आप इस क्षण का मूल्यांकन कैसे करेंगे?',\r\n MOOD_TEXT_HAPPY: 'खुश',\r\n MOOD_TEXT_SAD: 'उदास',\r\n MOOD_TEXT_ANGRY: 'नाराज़',\r\n MOOD_TEXT_CRYING: 'रोना',\r\n MOOD_TEXT_MEH: 'हुंह',\r\n MOOD_TEXT_EXCITED: 'उत्तेजित',\r\n MOOD_TEXT_SLEEPY: 'सुस्त',\r\n MOOD_TEXT_LONELY: 'अकेला',\r\n },\r\n UPLOAD: {\r\n BUTTON_TEXT_UPLOAD_ALL: 'सभी अपलोड करें',\r\n BUTTON_TEXT_PAUSE_ALL: 'सभी को रोकें',\r\n BUTTON_TEXT_DOWNLOAD_ALL: 'सभी डाउनलोड',\r\n BUTTON_TEXT_REMOVE_ALL: 'सभी हटाएं',\r\n CONTROL_LABEL_MULTIPLE: 'विभिन्न',\r\n COLUMN_HEADING_NAME: 'नाम',\r\n COLUMN_HEADING_SIZE: 'आकार',\r\n COLUMN_HEADING_PROGRESS: 'प्रगति',\r\n COLUMN_HEADING_STATUS: 'स्थति',\r\n COLUMN_HEADING_DATE_CREATED: 'निर्माण की तिथि',\r\n COLUMN_HEADING_TYPE: 'प्रकार',\r\n COLUMN_HEADING_ACTIONS: 'कार्रवाई',\r\n HEADING_TEXT_SELECT_IMAGES: 'छवियों और वीडियो का चयन करें',\r\n HEADING_TEXT_UPLOAD_QUEUE: 'अपलोड कतार',\r\n HEADING_TEXT_QUEUE_PROGRESS: 'कतार प्रगति',\r\n PLACEHOLDER_CHOOSE_FILES: 'फ़ाइलों का चयन करें',\r\n TEXT_FILE_TYPES: 'अनुमत फ़ाइल प्रकार:',\r\n TEXT_QUEUE_LENGTH: 'कतार की लंबाई:',\r\n TEXT_MB: 'MB',\r\n },\r\n TODO: {\r\n LABEL_ADD_TASK: 'कार्य जोड़ें',\r\n LABEL_ADD_A_TASK: 'एक कार्य जोड़ें',\r\n LABEL_TITLE: 'शीर्षक',\r\n LABEL_DUE_DATE: 'नियत तारीख',\r\n LABEL_DUE_TIME: 'नियत समय',\r\n LABEL_PRIORITY: 'प्राथमिकता',\r\n LABEL_DESCRIPTION: 'विवरण',\r\n LABEL_EDIT_TASK: 'कार्य संपादित करें',\r\n LABEL_BUTTON_COMPLETE: 'पूर्ण',\r\n LABEL_BUTTON_MARK_COMPLETE: 'पूर्ण के रूप में चिह्नित करें',\r\n LABEL_BUTTON_MARK_INCOMPLETE: 'अपूर्ण के रूप में चिह्नित करें',\r\n LABEL_BUTTON_MARK_IMPORTANT: 'महत्वपूर्ण के रूप में चिह्नित करें',\r\n LABEL_BUTTON_MARK_UNIMPORTANT: 'महत्वहीन के रूप में चिह्नित करें',\r\n ERROR_MESSAGE_TITLE_REQUIRED: 'शीर्षक आवश्यक है!',\r\n ERROR_MESSAGE_PRIORITY_REQUIRED: 'प्राथमिकता आवश्यक है!',\r\n ERROR_MESSAGE_DUE_TIME_REQUIRED: 'नियत समय आवश्यक है!',\r\n ERROR_MESSAGE_DUE_DATE_REQUIRED: 'नियत तारीख आवश्यक है!',\r\n ERROR_MESSAGE_DESCRIPTION_REQUIRED: 'विवरण आवश्यक है!',\r\n ERROR_MESSAGE_MAX_50: 'आपने बहुत अधिक अक्षर टाइप किए हैं, अधिकतम अनुमति 50 है'\r\n\r\n }\r\n }\r\n};\r\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'pt',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Não foi possível conectar com o servidor'\n },\n SIGNIN: {\n WELCOME_TEXT: 'Bem-vindo ao Noosom',\n MOTIVATION_BADGE_SIGNIN:'Faça login e comece a aventura',\n CONTROL_LABEL_EMAIL:'Endereço de email',\n CONTROL_LABEL_PASSWORD:'Senha',\n CONTROL_LABEL_REMEMBERME:'Lembre de mim',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Esqueceu sua senha?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Crie a sua conta aqui',\n TEXT_NEWONPLATFORM:'Novo em nossa plataforma?',\n BUTTON_TEXT_LOGIN:'Conecte-se',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Você fez login com sucesso como um usuário {0} no Noosom. Agora você pode começar a explorar. Apreciar! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Bem-vindo, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'O campo de e-mail!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'O campo de senha!',\n ERROR_MESSAGE_INVALID_EMAIL:'O e-mail deve ser um endereço de e-mail válido',\n ERROR_MESSAGE_NOATTEMPTS:'Nome de usuário ou senha inválidos. Não há tentativas restantes.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Seu endereço de e-mail não foi verificado.
primeiro varie seu endereço de e-mail.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Sua conta foi bloqueada.'},\n {ErrorCode:0,ErrorMessage:'Logado com sucesso.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Nome de usuário ou senha inválidos.
Você tem {0} tentativas restantes.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administrador'},{titlle:'Client',value:'Cliente'},{title:'User',value:'Do utilizador'}]\n },\n SIGNUP:\n {\n STEPPER_TITLE_ACCOUNT:'Conta',\n STEPPER_SUB_TITLE_ACCOUNT:'Insira nome de usuário',\n STEPPER_TITLE_PERSONAL:'Pessoal',\n STEPPER_SUB_TITLE_PERSONAL:'Insira as informações',\n HEADING_ACCOUNT:'Informação da conta',\n HEADING_PERSONAL:'Informação pessoal',\n HEADING_SELECTPLAN:'Selecione o plano',\n CONTROL_LABEL_USERID:'ID de usuário Noosom',\n CONTROL_LABEL_EMAILADDRESS:'Endereço de email',\n CONTROL_LABEL_PASSWORD:'Senha',\n CONTROL_LABEL_CONFIRMPASSWORD:'Confirme sua senha',\n CONTROL_LABEL_REGION:'Sua região',\n CONTROL_LABEL_HOMECOUNTRY:'Seu país de',\n CONTROL_LABEL_FIRSTNAME:'Primeiro nome',\n CONTROL_LABEL_MIDDLENAME:'Nome do meio',\n CONTROL_LABEL_LASTNAME:'Sobrenome',\n CONTROL_LABEL_BIRTHDATE:'Data de nascimento',\n CONTROL_LABEL_MOBILENO:'Celular não',\n CONTROL_LABEL_SELECTPLAN:'Grátis para sempre por agora, ou compre mais tarde.',\n PLACEHOLDER_TYPEHERE:'Digite aqui...',\n PLACEHOLDER_PASSWORD:'Senha',\n PLACEHOLDER_REGION:'Selecione a região',\n PLACEHOLDER_COUNTRY:'Selecione o pais',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Anterior',\n BUTTON_TEXT_NEXT:'Próxima',\n BUTTON_TEXT_SUBMIT:'Enviar',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Seus dados serão armazenados',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'na região selecionada',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'Selecione o país de',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Conta criada com sucesso.',\n ERROR_MESSAGE_REQUIRED_USERID:'O campo de nome de usuário!',\n ERROR_MESSAGE_EXISTED_USERID:'Esse nome de usuário foi usado. Por favor, tente outro.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'O campo de endereço de e-mail!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Esse endereço de e-mail foi usado. Por favor, tente outro.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'O campo de senha!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Deve conter pelo menos um número, uma letra maiúscula e uma minúscula e um mínimo de 8 ou mais caracteres.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'A senha repetida deve corresponder.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'O campo de confirmação de senha!',\n ERROR_MESSAGE_REQUIRED_REGION:'O campo região!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'O campo do país de!',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'O campo de nome!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'O campo de nome do meio!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'O campo sobrenome!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'O campo data de nascimento!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'O celular nenhum campo!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Selecione a opção de plano gratuito!'\n }\n }\n};\n","import { Component, ElementRef, Inject, OnInit, Renderer2, TemplateRef, ViewChild } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { locale as english } from 'app/quick-post/quick-post/i18n/en';\nimport { locale as french } from 'app/quick-post/quick-post/i18n/fr';\nimport { locale as german } from 'app/quick-post/quick-post/i18n/de';\nimport { locale as portuguese } from 'app/quick-post/quick-post/i18n/pt';\nimport { locale as gujarati } from 'app/quick-post/quick-post/i18n/gj';\nimport { locale as hindi } from 'app/quick-post/quick-post/i18n/hn';\nimport { CoreTranslationService } from '@core/services/translation.service';\nimport { FileItem, FileUploader } from 'ng2-file-upload';\nimport { BeforeSlideDetail } from 'lightgallery/lg-events';\nimport lgZoom from 'lightgallery/plugins/zoom';\nimport thumbNail from 'lightgallery/plugins/thumbnail';\nimport { Observable, Subject, Subscription } from 'rxjs';\nimport pager from 'lightgallery/plugins/pager';\nimport share from 'lightgallery/plugins/share';\nimport { QuickPostCreateUpdateInputModel, QuickPostCreateUpdateSharingInputModel, QuickPostDocumentListOutputModel, QuickPostLoadDataOutputModel, UserQuickPostConnectionsOutputModel } from '../quick-post-model.model';\nimport autoPlay from 'lightgallery/plugins/autoplay';\nimport { MapAddressComponent } from 'app/address/map-address/map-address.component';\nimport comment from 'lightgallery/plugins/comment';\nimport fullScreen from 'lightgallery/plugins/fullscreen';\nimport rotate from 'lightgallery/plugins/rotate';\nimport { ModalDismissReasons, NgbModal, NgbNav } from '@ng-bootstrap/ng-bootstrap';\nimport { DatePipe } from '@angular/common';\nimport { E } from 'assets/extensions/extensions';\nimport { TimezoneService } from 'app/servicetest/timezone.service'\nimport { AuthenticationService } from 'app/auth/service';\nimport { LoadingScreenService } from 'app/Services/loading-screen.service';\nimport { GlobalService } from 'app/Services/global.service';\nimport { CustomToastrService } from 'app/Services/custom-toastr.service';\nimport { Status, Enums, MapModalType, RecordsType, NoosomPlans, NoosomCategoryID } from 'app/enums';\nimport { Constant } from 'app/Classes/constant';\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\nimport { MatDialog, MatDialogConfig } from \"@angular/material/dialog\";\nimport { Console } from 'console';\nimport { retry, takeUntil } from 'rxjs/operators';\nimport { CoreConfigService } from '@core/services/config.service';\nimport { TextBoxComponent } from 'app/CustomComponents/text-box/text-box.component';\nimport { MapAddressDataModel, MapAddressOutputModel } from 'app/address/map-address/map-address-data-model.model';\nimport Swal from 'sweetalert2';\nimport { TagCategoryItemModel } from './quick-post-model.model';\nimport { TrackersComponent } from 'app/quick-post/trackers/trackers.component'\nimport { QuickPostService } from './quick-post.service';\nimport { LightGallery } from 'lightgallery/lightgallery';\nimport { Highlight } from 'ngx-highlightjs';\nimport thumbnail from 'lightgallery/plugins/thumbnail';\nimport lgvideo from 'lightgallery/plugins/video';\nimport lgVideo from 'lightgallery/plugins/video';\nimport vimeoVideo from 'lightgallery/plugins/video';\nimport videoThumbnail from 'lightgallery/plugins/video';\nimport { DeleteAttachmentInputModel, DeleteInputModel, DownloadFileInputModel, DownloadFileOutputModel } from 'app/Models/output-model';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Router } from '@angular/router';\nimport { GeneralService } from 'app/Services/general.service';\nimport { SelectSyncFileManagerComponent } from 'app/sync-file-manager/select-sync-file-manager/select-sync-file-manager.component';\nimport { TblUserQuickPostsCommentLikes, TblUserQuickPostsComments, UserQuickPostsViewsInputModel } from '../quickpost.model';\nimport { QuickpostlistService } from 'app/quickpost-list/quickpostlist.service';\nimport { ColDef, ColGroupDef } from 'ag-grid-community';\nimport { FriendsComponent } from 'app/about-me/friends/friends.component';\nimport { OwnFamilyComponent } from 'app/about-me/own-family/own-family.component';\nimport { NewgirdviewComponent } from 'app/CustomComponents/grid-view/newgirdview/newgirdview.component';\n@Component({\n selector: 'app-quick-post',\n templateUrl: './quick-post.component.html',\n styleUrls: ['./quick-post.component.scss'],\n})\nexport class QuickPostComponent implements OnInit {\n @ViewChild('txtTitle') txtTitle: TextBoxComponent;\n @ViewChild('QuickPostGallery') lightGallery!: LightGallery;\n @ViewChild('nav') nav: NgbNav;\n @ViewChild('fileInput') fileInput;\n @ViewChild('uploaderContent') uploaderContent: TemplateRef;\n @ViewChild('meonweb') connectionGrid: NewgirdviewComponent;\n _ImageUrlAPI: string = Constant.API + 'api/UserQuickPost/UploadUserQuickPostDocuments';\n public uploader: FileUploader = new FileUploader({\n url: this._ImageUrlAPI,\n isHTML5: true,\n method: \"PUT\",\n itemAlias: \"MultiFileUploaderQuickPost\",\n disableMultipart: false, // 'DisableMultipart' must be 'true' for formatDataFunction to be called.\n formatDataFunction: (item: FileItem) => item._file,\n formatDataFunctionIsAsync: false,\n maxFileSize: 1 * 1024 * 1024 * 1024,\n //Notes: do not add headers here.\n authToken: `Bearer ` + this.authenticationService.currentUserValue.Token,\n allowedFileType: [\"image\", \"tiff\", \"bmp\", \"png\", \"jpg\", \"jpeg\", \"video\", \"mp4\", \"mpeg\", \"mov\", \"avi\", \"ogv\", \"webm\", \"flv\", \"Images\"] // \"video\", \"mp4\", \"mpeg\", \"mov\", \"avi\", \"ogv\", \"webm\"\n });\n public quillEditorContent = ``;\n uploaderWarning: boolean = false;\n forgotuploadWarning: boolean = false;\n public loading = false;\n public submitted = false;\n currentAppLanguage: any;\n public coreConfig: any;\n public error = '';\n dialogTitle: string;\n Ratings: any = [];\n MoodItem: any = [];\n _data: number = 0;\n public frmQuickpost: FormGroup;\n public IsForEdit: boolean = false;\n public IsForAbandon: boolean = false;\n public PlaceholderQuickPost;\n // Basic Time Picker\n private needRefresh = false;\n private subDeleteQuickPostAtt$?: Subscription;\n public deleteDocumentsInputModel: Array = [];\n GalleryItems: any = [];\n GalleryItems1: any = [];\n trackerId: number = 0;\n private _unsubscribeAll: Subject;\n tracker: TrackersComponent;\n quickpostLoadDataOutputModel: QuickPostLoadDataOutputModel = new QuickPostLoadDataOutputModel();\n userQuickPosts: QuickPostCreateUpdateInputModel;\n deleteInputModel: DeleteInputModel = new DeleteInputModel();\n btnNameJorD: string;\n public downloadFileInputModel: DownloadFileInputModel;\n private subDownloadQuickpostAtt$?: Subscription;\n public tab = 1;\n galleryRefresh: LightGallery;\n DocumentList: QuickPostDocumentListOutputModel[] = [];\n DocumentList1: QuickPostDocumentListOutputModel[] = [];\n UserQuickpostDocument: number[];\n cache: { [key: string]: string } = {};\n infoTooltip: any;\n timeformat;\n dateformat: string;\n uploadCount = 0;\n templcstg = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, localStorage.getItem('lcstrg')))\n friendsList = [];\n familyList = [];\n filteredFriendsList = []; // Filtered list of friends for search\n filteredFamilyList = []; // Filtered list of family members for search\n selectAllFriends: number[] = [];\n selectAllFamily: number[] = [];\n userShareInputModel: QuickPostCreateUpdateSharingInputModel;\n combinedUserDetailsIds: number[] = [];\n public pageAdvancedEllipses = 1;\n public pagesNumber;\n page = 0;\n dateformat1: string;\n timeformat1: string;\n commentToggle: boolean = true\n commentSection = ''\n postTypeValidation: boolean;\n checkedRows: any[] = []; // Array to store checked rows\n public MeonWebGridcolumnDefs: (ColDef | ColGroupDef)[] = [];\n public meonWebListRows: any = [];\n newDropDown\n filteredMoodList: any[] = [];\n constructor(\n private dialogRef: MatDialogRef,\n private _formBuilder: FormBuilder,\n private _coreTranslationService: CoreTranslationService,\n private modalService: NgbModal,\n private datepipe: DatePipe,\n public authenticationService: AuthenticationService,\n private _coreConfigService: CoreConfigService,\n private loadingScreenService: LoadingScreenService,\n private globalService: GlobalService,\n private _toastrService: CustomToastrService,\n private encrDecr: EncrDecrService,\n private dialog: MatDialog,\n private _QuickPostService: QuickPostService,\n private quickpostlistService: QuickpostlistService,\n private _translateService: TranslateService,\n private elementRef: ElementRef,\n private renderer: Renderer2,\n private generalService: GeneralService,\n private _router: Router,\n private timeservice: TimezoneService,\n @Inject(MAT_DIALOG_DATA) public data: any\n // public basicDPdata: NgbDateStruct,\n ) {\n this._coreTranslationService.translate(english, french, german, portuguese, gujarati, hindi);\n this._translateService.onLangChange.subscribe(lang => {\n setTimeout(() => {\n let _LangJsonObj = this.GetCurrentLanguageJsonObject(lang.lang);\n if (_LangJsonObj)\n this.currentAppLanguage = _LangJsonObj;\n if (this.templcstg) {\n if (this.templcstg.DiaryOrJournal == '2') {\n this.btnNameJorD = this.currentAppLanguage.data.QUICKPOST.HEADING_TEXT_JOURNAL;\n }\n else {\n this.btnNameJorD = this.currentAppLanguage.data.QUICKPOST.HEADING_TEXT_DIARY;\n }\n }\n else if (this.authenticationService.currentUserValue.NoosomTypeId === 2) {\n this.btnNameJorD = this.currentAppLanguage.data.QUICKPOST.HEADING_TEXT_JOURNAL;\n }\n else {\n this.btnNameJorD = this.currentAppLanguage.data.QUICKPOST.HEADING_TEXT_DIARY;\n }\n }, 100);\n })\n this._unsubscribeAll = new Subject();\n this._data = data;\n this.settings.licenseKey = this.authenticationService.currentUserValue.Parameter.LightGalleryLicenseKey\n this.dateformat = this.globalService.getDateFormat().toUpperCase();\n this.dateformat1 = this.globalService.getDateFormat();\n if (this.globalService.getTimeFormat() == 'HH:mm') {\n this.timeformat = false;\n this.timeformat1 = this.globalService.getTimeFormat();\n } else if (this.globalService.getTimeFormat() == 'hh:mm a') {\n this.timeformat = true;\n this.timeformat1 = this.globalService.getTimeFormat();\n }\n }\n CurrentDateTime: Date = this.timeservice.GetCurrentLocaleDateTime();\n\n public spinnerTPtime = { hour: this.CurrentDateTime ? this.CurrentDateTime.getHours() : 0, minute: this.CurrentDateTime ? this.CurrentDateTime.getMinutes() : 0 };\n public spinnerTP = false;\n public spinnerTftime = { hour: this.CurrentDateTime ? this.CurrentDateTime.getHours() : 0, minute: this.CurrentDateTime ? this.CurrentDateTime.getMinutes() : 0 };\n public spinnerTf = false;\n public customTagselected = [];\n public customTags: any[] = [];\n public customTagNames = ['Noosom'];\n\n ngAfterViewInit(): void {\n this.txtTitle.textBox.nativeElement.focus();\n }\n\n dataModelChanged(event) {\n\n }\n\n ngAfterViewChecked(): void {\n if (this.needRefresh) {\n if (this.lightGallery)\n this.galleryRefresh.refresh();\n this.needRefresh = false;\n }\n }\n onBeforeClose = async (detail) => {\n this.galleryRefresh.refresh();\n }\n onInitGallery = (detail): void => {\n this.lightGallery = detail.instance;\n this.galleryRefresh = detail.instance;\n const customButton = ``;\n const tagButton = ``;\n const customHelpButton = ``;\n // const refreshButton = ``\n const $toolbar = this.lightGallery.$toolbar;\n $toolbar.append(customButton);\n $toolbar.append(tagButton);\n $toolbar.append(customHelpButton);\n //$toolbar.append(refreshButton);\n document.getElementById(\"lg-custom-button-delete\").addEventListener(\"click\", async () => {\n const idname = detail.instance.galleryItems[detail.instance.index];\n await this.onDeleteDocument(idname.alt)\n let galleryItems1 = JSON.parse(JSON.stringify(detail.instance.galleryItems));\n const updatedGalleryItems = galleryItems1.filter((item, index) => index !== detail.instance.index);\n detail.instance.updateSlides(updatedGalleryItems, Math.max(detail.instance.index - 1, 0));\n detail.instance.slidesUpdated = true\n let slidesUpdated = false;\n //detail.instance.refresh();\n });\n document.getElementById(\"lg-custom-button-download\").addEventListener(\"click\", () => {\n const downloadDocument: QuickPostDocumentListOutputModel = new QuickPostDocumentListOutputModel;\n const idname = detail.instance.galleryItems[detail.instance.index];\n if (idname.src) {\n downloadDocument.DocumentPath = idname.src;\n }\n else if (idname.video) {\n downloadDocument.DocumentPath = JSON.parse(idname.video).source[0].src;\n }\n downloadDocument.DocumentId = idname.alt;\n this.onDownloadDocument(downloadDocument)\n });\n document.getElementById(\"lg-custom-button-help\").addEventListener(\"click\", () => {\n this.supportFunction();\n });\n // document.getElementById(\"lg-custom-button-refresh\").addEventListener(\"click\", () => {\n // detail.instance.refresh();\n // });\n };\n\n\n onInitGallery1 = (detail): void => {\n this.lightGallery = detail.instance;\n this.galleryRefresh = detail.instance;\n const customButton = ``;\n const tagButton = ``;\n const customHelpButton = ``;\n // const refreshButton = ``\n const $toolbar = this.lightGallery.$toolbar;\n $toolbar.append(customButton);\n $toolbar.append(tagButton);\n $toolbar.append(customHelpButton);\n //$toolbar.append(refreshButton);\n document.getElementById(\"lg-custom-button-delete1\").addEventListener(\"click\", async () => {\n const idname = detail.instance.galleryItems[detail.instance.index];\n await this.onDeleteDocument(idname.alt)\n let galleryItems1 = JSON.parse(JSON.stringify(detail.instance.galleryItems));\n const updatedGalleryItems = galleryItems1.filter((item, index) => index !== detail.instance.index);\n detail.instance.updateSlides(updatedGalleryItems, Math.max(detail.instance.index - 1, 0));\n detail.instance.slidesUpdated = true\n let slidesUpdated = false;\n //detail.instance.refresh();\n });\n document.getElementById(\"lg-custom-button-download1\").addEventListener(\"click\", () => {\n const downloadDocument: QuickPostDocumentListOutputModel = new QuickPostDocumentListOutputModel;\n const idname = detail.instance.galleryItems[detail.instance.index];\n if (idname.src) {\n downloadDocument.DocumentPath = idname.src;\n }\n else if (idname.video) {\n downloadDocument.DocumentPath = JSON.parse(idname.video).source[0].src;\n }\n downloadDocument.DocumentId = idname.alt;\n this.onDownloadDocument(downloadDocument)\n });\n document.getElementById(\"lg-custom-button-help1\").addEventListener(\"click\", () => {\n this.supportFunction();\n });\n // document.getElementById(\"lg-custom-button-refresh\").addEventListener(\"click\", () => {\n // detail.instance.refresh();\n // });\n };\n\n supportFunction() {\n\n Swal.fire({\n title: \"Help!\",\n text: \"Information about the icons in the Light Gallery.\",\n imageUrl: 'assets/images/pages/raw-icon-labels.png',\n showCancelButton: false,\n confirmButtonColor: '#7367F0',\n //cancelButtonColor: '#E42728',\n confirmButtonText: \"Okay\",\n cancelButtonText: this.currentAppLanguage.data.QUICKPOST.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n\n })\n\n }\n\n showUpgradeAlert() {\n Swal.fire({\n title: 'Upgrade Now and Unlock the Full Experience!',\n html: `\n

You're currently using a Free Forever version of Noosom, and you're missing out on powerful features designed to make your experience even better.

\n \n Full Access to all premium features.\n \n

Don’t miss out! Upgrade now and enjoy our premium features.

\n `,\n icon: 'info',\n confirmButtonText: 'Upgrade Now',\n // Optional: Add a cancel button\n showCancelButton: true,\n cancelButtonText: 'Maybe Later',\n customClass: {\n confirmButton: 'btn btn-success',\n cancelButton: 'btn btn-danger ml-1'\n }\n }).then((result) => {\n if (result.isConfirmed) {\n this._router.navigate(['/pages/pricing'])\n } else {\n // console.log('User chose to wait.');\n }\n });\n }\n\n ngOnInit(): void {\n this.userQuickPosts = new QuickPostCreateUpdateInputModel();\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n this.currentAppLanguage = this.GetCurrentLanguageJsonObject(this.coreConfig.app.appLanguage);\n if (this.templcstg) {\n if (this.templcstg.DiaryOrJournal == '2') {\n this.btnNameJorD = this.currentAppLanguage.data.QUICKPOST.HEADING_TEXT_JOURNAL;\n }\n else {\n this.btnNameJorD = this.currentAppLanguage.data.QUICKPOST.HEADING_TEXT_DIARY;\n }\n }\n else if (this.authenticationService.currentUserValue.NoosomTypeId === 2) {\n this.btnNameJorD = this.currentAppLanguage.data.QUICKPOST.HEADING_TEXT_JOURNAL;\n }\n else {\n this.btnNameJorD = this.currentAppLanguage.data.QUICKPOST.HEADING_TEXT_DIARY;\n }\n this.dialogTitle = this.currentAppLanguage.data.QUICKPOST.HEADING_LABEL_ADD_A_QUICKPOST;\n this.infoTooltip = this.currentAppLanguage.data.QUICKPOST.INFO_TEXT;\n this.frmQuickpost = this._formBuilder.group({\n Title: ['', Validators.required],\n DiaryDate: [new Date(), Validators.required],\n DiaryTimeFrom: [, Validators.required],\n DiaryTimeTo: [, Validators.required],\n Location: [''],\n TagCategory: [],\n PostContent: ['', Validators.required],\n QuickPostTypeId: [, Validators.required],\n MoodId: [],\n MoodRatingId: [],\n });\n if (this._data == 0) {\n setTimeout(() => {\n this.customTagNames.forEach((c, i) => {\n this.customTags = [...this.customTags, { id: i, name: c, tag: true }];\n this.customTagselected = [...this.customTagselected, { id: i, name: c, tag: true }];\n });\n }, 10);\n }\n\n this.uploader.onAfterAddingFile = (file: any) => {\n if ((this.uploader.queue.length > 0) && (this.uploader.isUploading == false)) {\n this.forgotuploadWarning = true;\n }\n file.withCredentials = false;\n };\n this.uploader.onBuildItemForm = (fileItem: any, form: any) => {\n fileItem.withCredentials = false;\n };\n this.uploader.onBeforeUploadItem = (fileItem) => {\n this.loadingScreenService.startLoading();\n this.uploader.setOptions({\n headers: [\n { name: 'Access-Control-Allow-Origin', value: \"*\" },\n { name: 'FileSize', value: fileItem.file.size },\n { name: 'UserDetailsID', value: E.ConvertToString(this.authenticationService.currentUserValue.UserDetailsId) },\n { name: 'UserQuickPostID', value: E.ConvertToString(this._data) }]\n });\n return fileItem;\n };\n\n this.uploader.onWhenAddingFileFailed = (fileItem, filter: any, options: any) => {\n let errorMessage: string;\n\n switch (filter.name) {\n case 'fileSize':\n errorMessage = `File '${fileItem.name}' is too large. Maximum file size is ${this.uploader.options.maxFileSize / (1024 * 1024)} MB.`;\n break;\n case 'fileType':\n errorMessage = `File type of '${fileItem.name}' is not allowed. Allowed types are: ${this.uploader.options.allowedFileType.join(', ')}.`;\n break;\n default:\n errorMessage = `File '${fileItem.name}' could not be added due to an unknown error.`;\n }\n\n console.error('File addition failed:', fileItem, errorMessage);\n // Display the error message to the user (e.g., using a toast notification)\n };\n\n this.uploader.response.subscribe(async result => {\n if (result) {\n this.loadingScreenService.startLoading();\n let _result = JSON.parse(result);\n if (this.uploader.progress != 100) {\n this.uploaderWarning = true;\n this.loadingScreenService.startLoading();\n } else if (this.uploader.progress == 100) {\n this.uploaderWarning = false;\n this.forgotuploadWarning = false;\n //this.uploadCount = 0;\n this.loadingScreenService.stopLoading();\n }\n if (_result.status == Status.Success) {\n this._toastrService.Success(\"File Uploaded Successfully\")\n this.uploadCount = this.uploadCount + 1;\n let _QuickPostDocument = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, _result.data));\n if (_QuickPostDocument.DocumentSubType.toLocaleLowerCase() == \"documents\") {\n this.DocumentList.push(_QuickPostDocument);\n this.DocumentList1.push(_QuickPostDocument);\n }\n else if (_QuickPostDocument.DocumentSubType.toLocaleLowerCase() == \"images\" || \"videos\") {\n await this.AddItemToGallery(_QuickPostDocument.DocumentId, _QuickPostDocument.DocumentPath, _QuickPostDocument.DocumentOldName, _QuickPostDocument.Size, _QuickPostDocument.DocumentSubType, _QuickPostDocument.CreatedDate, _QuickPostDocument.CreatedTime);\n await this.AddItemToGallery1(_QuickPostDocument.DocumentId, _QuickPostDocument.DocumentPath, _QuickPostDocument.DocumentOldName, _QuickPostDocument.Size, _QuickPostDocument.DocumentSubType, _QuickPostDocument.CreatedDate, _QuickPostDocument.CreatedTime);\n this.needRefresh = true;\n }\n }\n else if (_result.status == Status.StorageFull) {\n this.loadingScreenService.stopLoading();\n this.uploader.cancelAll();\n // this.uploader.removeFromQueue();\n // this.uploader.cancelItem()\n this.uploader.clearQueue()\n Swal.fire({\n title: \"Storage Full\",\n text: _result.message,\n icon: 'error',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: \"Buy More Storage\",\n cancelButtonText: this.currentAppLanguage.data.QUICKPOST.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n })\n .then(\n (async (result) => {\n if (result.value) {\n //this.uploader.clearQueue();\n this.dialogRef.close(true);\n this._router.navigate(['/pages/pricing'])\n }\n })\n );\n\n }\n }\n //this.loadingScreenService.stopLoading();\n });\n\n if (typeof this._data !== 'undefined') {\n if (this._data > 0) { //Note: API is being called to load region list in add a new address.\n this.IsForEdit = true;\n this.dialogTitle = this.currentAppLanguage.data.QUICKPOST.HEADING_LABEL_EDIT_A_QUICKPOST;\n }\n setTimeout(() => {\n this.loadingScreenService.startLoading();\n const path = 'api/UserQuickPost/GetUserQuickPostLoadData';\n let response: Observable;\n var input = {\n recordId: this._data,\n docYN: false\n }\n response = this.globalService.PostDataById(input, path);\n response.subscribe(\n (result) => {\n this.loadingScreenService.stopLoading();\n if (result.status == Status.Success) {\n this.quickpostLoadDataOutputModel = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)));\n if (this.quickpostLoadDataOutputModel.QuickPostDocumentList) {\n this.quickpostLoadDataOutputModel.QuickPostDocumentList.forEach(async (doc) => {\n if (doc.DocumentSubType.toLocaleLowerCase() == \"documents\") {\n this.DocumentList.push(doc);\n }\n else if (doc.DocumentSubType.toLocaleLowerCase() == (\"images\") || (\"videos\")) {\n //console.log(doc.FileType.toLocaleLowerCase())\n await this.AddItemToGallery(doc.DocumentId, doc.DocumentPath, doc.DocumentOldName, doc.Size, doc.DocumentSubType, doc.CreatedDate, doc.CreatedTime);\n this.needRefresh = true;\n }\n });\n }\n // console.log(this.quickpostLoadDataOutputModel.UserQuickPost)\n if (this.quickpostLoadDataOutputModel.UserQuickPost) {\n this.userQuickPosts = this.quickpostLoadDataOutputModel.UserQuickPost;\n let _diaryTimefrom = E.ConvertToDate(this.userQuickPosts.DiaryTimeFrom);\n let _diaryTimeto = E.ConvertToDate(this.userQuickPosts.DiaryTimeTo);\n if (this.quickpostLoadDataOutputModel.MoodRatingList) {\n this.quickpostLoadDataOutputModel.MoodRatingList.forEach((mood) => {\n this.AddMoodRating(mood.IconPath, mood.MoodRatingId, mood.MoodRatingName, mood.OrderSequence);\n });\n }\n\n if (this.quickpostLoadDataOutputModel.MoodList) {\n // for (let i = 0; i < 5; i++) {\n // // Loop through each item in MoodList and create a copy of each item.\n // const duplicatedMoodList = this.quickpostLoadDataOutputModel.MoodList.map(mood => ({\n // ...mood // Create a copy of each object\n // }));\n // this.quickpostLoadDataOutputModel.MoodList.push(...duplicatedMoodList);\n // }\n \n this.quickpostLoadDataOutputModel.MoodList.forEach((mood) => {\n this.AddMoodList(mood.EmotionPath, mood.MoodId, mood.MoodName, mood.OrderSequence, mood.Rating);\n this.filteredMoodList = [...this.MoodItem];\n });\n }\n if (this.userQuickPosts.TagCategory)\n this.customTags = JSON.parse(E.ConvertToString(this.userQuickPosts.TagCategory));\n //console.log('this.customTags');\n //console.log(this.customTags);\n setTimeout(() => {\n this.customTagselected = [];\n this.customTags.forEach(x => {\n if (typeof x.tag === 'undefined' || x.tag == true) {\n // this.customTagselected.push({ id: x.id, name: x.name, tag: true });\n // this.customTagselected = [...this.customTagselected];\n this.customTagselected = [...this.customTagselected, { id: x.id, name: x.name, tag: true }];\n }\n });\n //console.log('this.customTagselected');\n //console.log(this.customTagselected);\n }, 10);\n let _postContent = this.userQuickPosts.PostContent;\n let modid = 'rating' + this.userQuickPosts.MoodId;\n // console.log(modid);\n let rateingsid = 'bar' + this.userQuickPosts.MoodRatingId;\n if (this.userQuickPosts.QuickPostTypeId == 3) {\n this.userQuickPosts.QuickPostTypeId = 2\n }\n if (this.userQuickPosts.QuickPostTypeId == 1 || this.userQuickPosts.QuickPostTypeId == 4) {\n this.postTypeValidation = false;\n }\n else { this.postTypeValidation = true; }\n this.frmQuickpost.setValue({\n Title: this.userQuickPosts.Title,\n DiaryDate: E.ConvertToDate(this.userQuickPosts.DiaryDate),\n DiaryTimeFrom: { hour: _diaryTimefrom ? _diaryTimefrom.getHours() : 0, minute: _diaryTimefrom ? _diaryTimefrom.getMinutes() : 0 },\n DiaryTimeTo: { hour: _diaryTimefrom ? _diaryTimeto.getHours() : 0, minute: _diaryTimeto ? _diaryTimeto.getMinutes() : 0 },\n Location: this.userQuickPosts.Location,\n PostContent: _postContent,\n TagCategory: this.userQuickPosts.TagCategory,\n QuickPostTypeId: this.userQuickPosts.QuickPostTypeId,\n MoodId: modid,\n MoodRatingId: rateingsid,\n });\n // console.log(this.MoodId)\n // console.log(E.ConvertToString((this.userQuickPosts.MoodId)))\n }\n if (this.quickpostLoadDataOutputModel.QuickPostTypeList.length > 0) {\n // if(this.authenticationService.currentUserValue.CurrentNoosomPlanId == NoosomPlans.Premium_1 || this.authenticationService.currentUserValue.NoosomCategoryEnumId == NoosomCategoryID.Test)\n this.quickpostLoadDataOutputModel.QuickPostTypeList = this.mergeQuickPostTypes(this.quickpostLoadDataOutputModel.QuickPostTypeList)\n this.quickpostLoadDataOutputModel.QuickPostTypeList = this.quickpostLoadDataOutputModel.QuickPostTypeList.map((p) =>\n p.QuickPostTypeName.toLocaleLowerCase() == 'private' ? p : { ...p }\n );\n let _private = this.quickpostLoadDataOutputModel.QuickPostTypeList.filter(x => x.QuickPostTypeName.toLocaleLowerCase() == 'private');\n if (_private && _private[0] && this.frmQuickpost.get('QuickPostTypeId').value == null)\n this.frmQuickpost.get('QuickPostTypeId').setValue(_private[0].QuickPostTypeId);\n }\n this.getUserQuickPostSharingById();\n }\n else {\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loadingScreenService.stopLoading();\n }\n );\n }, 500);\n }\n this.dialogRef.keydownEvents().subscribe(event => {\n if (event.key.toLocaleLowerCase() === \"escape\") {\n this.onCancelClick();\n }\n });\n let inputModel = {\n UserDetailsId: this.authenticationService.currentUserValue.UserDetailsId\n };\n // this.loadHeic2AnyScript();\n this.GetUserConnectionRequests(inputModel)\n this.onLoadConnectionList();\n this.newDropDown = [\n { label: 'Add a Friend', action: () => this.openFriendFamilyDialog(FriendsComponent, 0) },\n { label: 'Add a Birth Family Member', action: () => this.openFriendFamilyDialog(OwnFamilyComponent, 2) },\n { label: 'Add an Own Family Member', action: () => this.openFriendFamilyDialog(OwnFamilyComponent, 1) },\n { label: 'Add an Other Family Member', action: () => this.openFriendFamilyDialog(OwnFamilyComponent, 3) },\n ];\n }\n\n loadPage(event, filetype) {\n // this.savePosition();\n this.pageAdvancedEllipses\n this.getAttachmentList(filetype, event)\n // setTimeout(() => this.restorePosition(), 0);\n }\n\n getAttachmentList(FileType?, page?) {\n this.GalleryItems = []\n //this.needRefresh = true;\n if (page)\n this.page = page\n var getMyAttachmentsInputModel = {\n RecordId: this._data,\n Page: this.page,\n Pagesize: 20,\n FileType: FileType,\n // QuickPostType:QuickPostType.Public,\n GetMetaDataYN: false\n }\n this.loadingScreenService.startLoading();\n this.generalService.GetUserQuickPostDocumentsById(getMyAttachmentsInputModel).subscribe(async result => {\n if (result) {\n if (result.status == Status.Success) {\n let _attachmentlist = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n if (_attachmentlist) {\n _attachmentlist.forEach(async (doc) => {\n if (doc.DocumentSubType.toLocaleLowerCase() == \"documents\") {\n this.DocumentList.push(doc);\n }\n else if (doc.DocumentSubType.toLocaleLowerCase() == \"images\" || \"videos\") {\n await this.AddItemToGallery(doc.DocumentId, doc.DocumentPath, doc.DocumentOldName, doc.Size, doc.DocumentSubType, doc.CreatedDate, doc.CreatedTime);\n this.needRefresh = true;\n }\n if (_attachmentlist[0]?.TotalNumberOfRecords > 0)\n this.pagesNumber = _attachmentlist[0]?.TotalNumberOfRecords;\n });\n }\n this.loadingScreenService.stopLoading();\n }\n else {\n this.loadingScreenService.stopLoading();\n this._toastrService.Error(result.Message, Constant.ErrorToastrTitle);\n }\n }\n });\n }\n\n checkQueueLength(queuLength) {\n // console.log(queuLength)\n if ((queuLength > 0) && (this.uploader.isUploading == false)) {\n this.forgotuploadWarning = true;\n }\n else if (queuLength == 0) {\n this.forgotuploadWarning = false;\n this.uploaderWarning = false;\n }\n }\n\n mergeQuickPostTypes(quickPostTypes) {\n return quickPostTypes.map(postType => {\n if (postType.QuickPostTypeId === 2) {\n if (this.isEligible()) {\n return {\n QuickPostTypeId: 2,\n QuickPostTypeName: \"Shared\",\n OrderSequence: 2\n };\n }\n else { return null; }\n } else if (postType.QuickPostTypeId === 3) {\n return null;\n }\n return postType;\n }).filter(postType => postType !== null);\n }\n\n loadData() {\n const path = 'api/UserQuickPost/GetUserQuickPostLoadData';\n let response: Observable;\n var input = {\n recordId: this._data,\n docYN: false\n }\n response = this.globalService.PostDataById(input, path);\n response.subscribe(\n (result) => {\n this.loadingScreenService.stopLoading();\n if (result.status == Status.Success) {\n this.quickpostLoadDataOutputModel = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)));\n if (this.quickpostLoadDataOutputModel.UserQuickPost) {\n if (this.quickpostLoadDataOutputModel.MoodRatingList) {\n this.quickpostLoadDataOutputModel.MoodRatingList.forEach((mood) => {\n this.AddMoodRating(mood.IconPath, mood.MoodRatingId, mood.MoodRatingName, mood.OrderSequence);\n });\n }\n\n if (this.quickpostLoadDataOutputModel.MoodList) {\n this.quickpostLoadDataOutputModel.MoodList.forEach((mood) => {\n this.AddMoodList(mood.EmotionPath, mood.MoodId, mood.MoodName, mood.OrderSequence, mood.Rating);\n this.filteredMoodList = [...this.MoodItem];\n });\n\n let modid = 'rating' + this.userQuickPosts.MoodId;\n let rateingsid = 'bar' + this.userQuickPosts.MoodRatingId;\n this.frmQuickpost.get('MoodId').setValue(modid)\n this.frmQuickpost.get('MoodRatingId').setValue(rateingsid)\n }\n }\n if (this.quickpostLoadDataOutputModel.QuickPostTypeList.length > 0) {\n this.quickpostLoadDataOutputModel.QuickPostTypeList = this.mergeQuickPostTypes(this.quickpostLoadDataOutputModel.QuickPostTypeList)\n this.quickpostLoadDataOutputModel.QuickPostTypeList = this.quickpostLoadDataOutputModel.QuickPostTypeList.map((p) =>\n p.QuickPostTypeName.toLocaleLowerCase() == 'private' ? p : { ...p }\n );\n let _private = this.quickpostLoadDataOutputModel.QuickPostTypeList.filter(x => x.QuickPostTypeName.toLocaleLowerCase() == 'private');\n if (_private && _private[0] && this.frmQuickpost.get('QuickPostTypeId').value == null)\n this.frmQuickpost.get('QuickPostTypeId').setValue(_private[0].QuickPostTypeId);\n }\n // return this.quickpostLoadDataOutputModel;\n }\n else {\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loadingScreenService.stopLoading();\n }\n );\n\n }\n\n // handleCustomLink() {\n // const url = prompt('Enter URL:'); // For demonstration purposes\n // if (url) {\n // const protocol = /^https?:\\/\\//i;\n // const url1 = protocol.test(url) ? url : `http://${url}`;\n // window.open(url1, '_blank');\n // }\n // }\n\n onTabActive(tabNumber: number) {\n if (tabNumber == 1) { this.infoTooltip = this.currentAppLanguage.data.QUICKPOST.INFO_TEXT; }\n else if (tabNumber == 2) {\n this.addGridColumns();\n this.onLoadConnectionList();\n setTimeout(() => {\n this.connectionGrid.GridRefresh();\n }, 100);\n this.newDropDown = [\n { label: 'Add a Friend', action: () => this.openFriendFamilyDialog(FriendsComponent, 0) },\n { label: 'Add a Birth Family Member', action: () => this.openFriendFamilyDialog(OwnFamilyComponent, 2) },\n { label: 'Add an Own Family Member', action: () => this.openFriendFamilyDialog(OwnFamilyComponent, 1) },\n { label: 'Add an Other Family Member', action: () => this.openFriendFamilyDialog(OwnFamilyComponent, 3) },\n ];\n }\n else if (tabNumber == 3) {\n this.infoTooltip = this.currentAppLanguage.data.QUICKPOST.INFO_TEXT1;\n // this.getAttachmentList('Images');\n }\n else if (tabNumber == 4) {\n this.infoTooltip = this.currentAppLanguage.data.QUICKPOST.INFO_TEXT2;\n this.getAttachmentList('Images');\n }\n else if (tabNumber == 5) {\n this.infoTooltip = this.currentAppLanguage.data.QUICKPOST.INFO_TEXT3;\n }\n this.tab = tabNumber;\n }\n\n openFriendFamilyDialog(component: any, _data: any = []) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.autoFocus = false;\n dialogConfig.width = this.isMobileScreen() ? '100%' : '60%';\n //dialogConfig.height = \"80%\";\n dialogConfig.data = _data;\n const dialogRef = this.dialog.open(component, dialogConfig);\n dialogRef.afterClosed().subscribe(\n data => {\n if (data)\n this.loadData();\n }\n );\n }\n private isMobileScreen(): boolean {\n return window.innerWidth <= 767; // You can adjust this value as per your requirements\n }\n\n onSubmit(tabs: boolean) {\n if (this.uploaderWarning) {\n Swal.fire({\n title: 'Warning',\n text: 'Your documents or files are still uploading. Please note that any remaining files will not be uploaded or will be terminated if you proceed to submit the form. Are you sure you want to continue?',\n icon: 'warning',\n showCancelButton: true,\n confirmButtonText: 'Continue',\n cancelButtonText: 'Cancel',\n customClass: {\n confirmButton: 'btn btn-danger',\n cancelButton: 'btn btn-success'\n }\n }).then((result) => {\n if (result.isConfirmed) {\n this.uploaderWarning = false;\n this.onSubmit(tabs)\n }\n else {\n this.nav.select(3);\n }\n });\n return;\n }\n if (this.forgotuploadWarning) {\n Swal.fire({\n title: 'Warning',\n text: 'You have some documents or files to upload. Please note that all your files will not be uploaded or will be terminated if you proceed to submit the form. Are you sure you want to submit the form?',\n icon: 'warning',\n showCancelButton: true,\n confirmButtonText: 'Continue',\n cancelButtonText: 'Cancel',\n customClass: {\n confirmButton: 'btn btn-danger',\n cancelButton: 'btn btn-success'\n }\n }).then((result) => {\n if (result.isConfirmed) {\n this.forgotuploadWarning = false;\n this.onSubmit(tabs)\n }\n else {\n this.nav.select(3);\n }\n });\n return;\n }\n this.submitted = true;\n if (this.frmQuickpost.invalid) {\n return;\n }\n this.submitted = false;\n if (this.userQuickPosts == null) {\n this.userQuickPosts = new QuickPostCreateUpdateInputModel();\n }\n this.userQuickPosts.UserDetailsId = this.authenticationService.currentUserValue.UserDetailsId;\n this.userQuickPosts.Title = this.frmQuickpost.get('Title').value;\n this.userQuickPosts.DiaryDate = E.GetDateStringOnly(this.frmQuickpost.get('DiaryDate').value);\n this.userQuickPosts.DiaryTimeFrom = E.GetMinDateWithTime(this.spinnerTPtime.hour, this.spinnerTPtime.minute).toISOString();// '1900-01-01 10:30:00.000';\n this.userQuickPosts.DiaryTimeTo = E.GetMinDateWithTime(this.spinnerTftime.hour, this.spinnerTftime.minute).toISOString();// '1900-01-01 10:30:00.000';\n this.userQuickPosts.Location = this.frmQuickpost.get('Location').value;\n this.userQuickPosts.QuickPostTypeId = this.frmQuickpost.get('QuickPostTypeId').value;\n // console.log( this.userQuickPosts.DiaryTimeFrom)\n if (this.frmQuickpost.get('QuickPostTypeId').value == 1 || this.frmQuickpost.get('QuickPostTypeId').value == 4) {\n this.userQuickPosts.QuickPostTypeId = this.frmQuickpost.get('QuickPostTypeId').value\n this.checkedRows = [];\n }\n else if (this.checkedRows.length == 0 && this.frmQuickpost.get('QuickPostTypeId').value == 2) {\n this.userQuickPosts.QuickPostTypeId = 1;\n } else {\n this.userQuickPosts.QuickPostTypeId = this.frmQuickpost.get('QuickPostTypeId').value;\n }\n this._QuickPostService.getTracker().subscribe(x => {\n if (x)\n this.userQuickPosts.MoodId = x;\n else\n this.userQuickPosts.MoodId = 1\n });\n\n this._QuickPostService.getRating().subscribe(x => {\n if (x)\n this.userQuickPosts.MoodRatingId = x;\n else\n this.userQuickPosts.MoodRatingId = 3\n });\n\n\n let _tags = JSON.stringify(this.customTags);\n this.userQuickPosts.TagCategory = _tags;\n this.userQuickPosts.PostContent = E.ConvertToString(this.frmQuickpost.get('PostContent').value);\n if (E.ConvertToNumber(this.userQuickPosts.UserQuickPostId) == 0 && this.IsForEdit == false) {\n this.userQuickPosts.CreatedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.userQuickPosts.CreatedDate = E.GetTodayDateStringOnly();\n this.userQuickPosts.CreatedTime = E.GetTodayTimeStringOnly();\n this.userQuickPosts.ChangedDate = E.GetTodayDateStringOnly();\n this.userQuickPosts.ChangedTime = E.GetTodayTimeStringOnly();\n }\n else {\n this.userQuickPosts.ChangedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.userQuickPosts.ChangedDate = E.GetTodayDateStringOnly();\n this.userQuickPosts.ChangedTime = E.GetTodayTimeStringOnly();\n }\n if (this.tab <= 2 || this.IsForEdit) {\n this.loading = true;\n this.loadingScreenService.startLoading();\n const path = 'api/UserQuickPost/CreateUpdateUserQuickPost';\n let response: Observable;\n response = this.globalService.PostDataById(this.userQuickPosts, path);\n response.subscribe(\n (result) => {\n this.loading = false;\n this.loadingScreenService.stopLoading();\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.RecordAdded) {\n message = this.currentAppLanguage.data.QUICKPOST.TOAST_MESSAGE_QUICKPOST_ADDED_SUCCESSFULLY.replace('Quick Post', this.btnNameJorD + ' Entry');\n if (!(this.authenticationService.currentUserValue.CurrentNoosomPlanId == NoosomPlans.Premium_1 || this.authenticationService.currentUserValue.NoosomCategoryEnumId == NoosomCategoryID.Test) && this.tab == 1) {\n this.tab = this.tab + 2;\n } else {\n this.tab = this.tab + 1;\n }\n this.nav.select(this.tab)\n const jsonString = this.encrDecr.get(Constant.EncrDecrKey, result.data);\n const parsedObject = JSON.parse(jsonString);\n this._data = parsedObject.Data.UserQuickPostId\n this.userQuickPosts.UserQuickPostId = parsedObject.Data.UserQuickPostId;\n this.loadData();\n this.IsForAbandon = true;\n }\n else if (result.status == Status.RecordUpdated) {\n message = this.currentAppLanguage.data.QUICKPOST.TOAST_MESSAGE_QUICKPOST_UPDATED_SUCCESSFULLY.replace('Quick Post', this.btnNameJorD + ' Entry');\n if (!tabs) {\n if (!(this.authenticationService.currentUserValue.CurrentNoosomPlanId == NoosomPlans.Premium_1 || this.authenticationService.currentUserValue.NoosomCategoryEnumId == NoosomCategoryID.Test) && this.tab == 1) {\n this.tab = this.tab + 2;\n } else {\n if (this.tab == 2) {\n this.shareFromGrid();\n }\n this.tab = this.tab + 1;\n }\n this.nav.select(this.tab)\n\n } else {\n if (this.tab == 2) {\n this.shareFromGrid();\n }\n }\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n if (message.length > 0) {\n this._toastrService.Success(message, Constant.SuccessToastrTitle);\n if ((this.tab == 1) || tabs) {\n this.dialogRef.close(true);\n this.frmQuickpost.reset();\n }\n this.frmQuickpost.patchValue({\n // AddressFromDate: new Date(),\n // AddressToDate: new Date()\n });\n // this.txtTitle.textBox.nativeElement.focus();\n\n }\n else {\n this._toastrService.Error(errormessage, Constant.ErrorToastrTitle);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n }\n else if (this.tab >= 2 && this.tab <= 5) {\n this.tab = this.tab + 1;\n this.nav.select(this.tab)\n if (this.tab == 4) {\n this.getAttachmentList('Images');\n }\n\n if (tabs) {\n this.dialogRef.close(true);\n this.frmQuickpost.reset();\n }\n }\n }\n\n OnQuickPostTimeChangeFrom($event) {\n let timefrom = this.frmQuickpost.get('DiaryTimeFrom').value;\n let timeto = this.frmQuickpost.get('DiaryTimeTo').value;\n if (timefrom && timeto) {\n if (timefrom.hour >= timeto.hour) {\n if (timefrom.minute > timeto.minute) {\n //this.frmQuickpost.get('DiaryTimeFrom').disable();\n this.frmQuickpost.get('DiaryTimeFrom').setValue(timeto)\n }\n }\n }\n }\n\n\n OnQuickPostTimeChange(event) {\n let timefrom = this.frmQuickpost.get('DiaryTimeFrom').value;\n let timeto = this.frmQuickpost.get('DiaryTimeTo').value;\n if (timefrom && timeto) {\n if ((timefrom.hour >= timeto.hour)) {\n if (timefrom.hour > timeto.hour) {\n timefrom.hour = timeto.hour\n this.frmQuickpost.get('DiaryTimeFrom').setValue(timeto);\n }\n if (timefrom.minute >= timeto.minute)\n this.frmQuickpost.get('DiaryTimeFrom').setValue(timeto);\n }\n }\n if (timeto)\n this.spinnerTftime = timeto;\n }\n\n onFileSelected(event) {\n //console.log(event)\n this.uploader.uploadAll();\n //this.loadingScreenService.startLoading();\n }\n\n async AddItemToGallery1(_id: number, _url: string, documentname: string, documentsize: string, filetype: string, CreatedDate: string, CreatedTime: string): Promise {\n const loadingItem = {\n id: _id,\n size: '280-100',\n src: _url,\n data: await this.generateVideoData(_url, filetype),\n thumb: 'https://noosom1sg.b-cdn.net/NoosomAssets/Images/noosomads/Logo-3-1.gif', // Placeholder or loading indicator for the thumbnail\n subHtml: documentname, documentsize,\n type: filetype,\n name: documentname,\n createdDate: CreatedDate,\n createdTime: CreatedTime\n };\n\n this.GalleryItems1.push(loadingItem);\n let thumb = this.cache[_url]; // Check if thumbnail is already in cache\n\n if (!thumb) {\n thumb = await this.generateThumbnailFromVideoURL(_url, filetype);\n this.cache[_url] = thumb; // Save the thumbnail to cache\n }\n\n const galleryItem = {\n id: _id,\n size: '280-100',\n src: _url,\n data: await this.generateVideoData(_url, filetype),\n thumb: thumb,\n subHtml: documentname, documentsize,\n type: filetype,\n name: documentname,\n createdDate: CreatedDate,\n createdTime: CreatedTime\n };\n const index = this.GalleryItems1.findIndex(item => item.id === _id);\n this.GalleryItems1[index] = galleryItem;\n // console.log(this.attachmentlist)\n }\n\n async AddItemToGallery(_id: number, _url: string, documentname: string, documentsize: string, filetype: string, CreatedDate: string, CreatedTime: string): Promise {\n const loadingItem = {\n id: _id,\n size: '280-100',\n src: _url,\n data: await this.generateVideoData(_url, filetype),\n thumb: 'https://noosom1sg.b-cdn.net/NoosomAssets/Images/noosomads/Logo-3-1.gif', // Placeholder or loading indicator for the thumbnail\n subHtml: documentname, documentsize,\n type: filetype,\n name: documentname,\n createdDate: CreatedDate,\n createdTime: CreatedTime\n };\n\n this.GalleryItems.push(loadingItem);\n let thumb = this.cache[_url]; // Check if thumbnail is already in cache\n\n if (!thumb) {\n thumb = await this.generateThumbnailFromVideoURL(_url, filetype);\n this.cache[_url] = thumb; // Save the thumbnail to cache\n }\n\n const galleryItem = {\n id: _id,\n size: '280-100',\n src: _url,\n data: await this.generateVideoData(_url, filetype),\n thumb: thumb,\n subHtml: documentname, documentsize,\n type: filetype,\n name: documentname,\n createdDate: CreatedDate,\n createdTime: CreatedTime\n };\n const index = this.GalleryItems.findIndex(item => item.id === _id);\n this.GalleryItems[index] = galleryItem;\n // console.log(this.GalleryItems)\n }\n\n // async loadHeic2AnyScript(): Promise {\n // if ((window as any).heic2any) {\n // // heic2any is already loaded\n // return;\n // }\n\n // return new Promise((resolve, reject) => {\n // const script = document.createElement('script');\n // script.src = 'https://cdn.jsdelivr.net/npm/heic2any@latest/dist/heic2any.min.js';\n // script.onload = () => resolve();\n // script.onerror = () => reject(new Error('Failed to load heic2any script'));\n // document.body.appendChild(script);\n // });\n // }\n\n // async convertHeicImages(url: string, type: string): Promise {\n\n // if (type === 'Images') {\n // const src = url;\n // if (src && src.toLowerCase().endsWith(\".heic\")) {\n // try {\n // const response = await fetch(src);\n // const blob = await response.blob();\n // const convertedBlob = await (window as any).heic2any({ blob: blob, toType: \"image/jpeg\" });\n\n // // Convert the blob to a base64 string\n // const base64String = await this.blobToBase64(convertedBlob);\n\n // return base64String; // This will return a data URL instead of a blob URL\n // } catch (error) {\n // // console.error(\"Error converting HEIC image:\", error);\n // }\n // }\n // }\n // return url;\n // }\n\n // // Convert Blob to Base64 string\n // blobToBase64(blob: Blob): Promise {\n // return new Promise((resolve, reject) => {\n // const reader = new FileReader();\n // reader.onloadend = () => resolve(reader.result as string);\n // reader.onerror = reject;\n // reader.readAsDataURL(blob);\n // });\n // }\n\n\n async generateThumbnailFromVideoURL(videoURL: string, type: string): Promise {\n if (type === \"Videos\") {\n return new Promise((resolve, reject) => {\n const video = document.createElement('video');\n video.crossOrigin = 'anonymous'; // Enable cross-origin for video\n video.src = videoURL;\n\n video.addEventListener('loadedmetadata', () => {\n video.currentTime = 10.5; // Adjust as needed\n\n video.addEventListener('seeked', () => {\n const canvas = document.createElement('canvas');\n canvas.width = video.videoWidth;\n canvas.height = video.videoHeight;\n\n const ctx = canvas.getContext('2d');\n ctx.drawImage(video, 0, 0, canvas.width, canvas.height);\n\n // Draw a play icon in the center of the canvas\n const playIconSize = 250; // Adjust the size as needed\n ctx.fillStyle = 'rgba(255, 255, 255, 0.7)';\n ctx.beginPath();\n ctx.moveTo(canvas.width / 2 - playIconSize / 2, canvas.height / 2 - playIconSize / 2);\n ctx.lineTo(canvas.width / 2 + playIconSize / 2, canvas.height / 2);\n ctx.lineTo(canvas.width / 2 - playIconSize / 2, canvas.height / 2 + playIconSize / 2);\n ctx.closePath();\n ctx.fill();\n\n // Resolve with the data URL of the canvas\n resolve(canvas.toDataURL('image/png'));\n\n // Clean up\n canvas.remove();\n video.remove();\n });\n\n video.addEventListener('error', (error) => {\n resolve(\"assets/images/pages/Cannot_play.png\")\n // reject(`Error loading video: ${error.message}`);\n });\n });\n\n video.addEventListener('error', (error) => {\n resolve(\"assets/images/pages/Cannot_play.png\")\n // reject(`Error loading video metadata: ${error.message}`);\n });\n\n // Load the video\n video.load();\n });\n }\n }\n\n async generateVideoData(src, filetype): Promise {\n if (filetype === \"Videos\") {\n const videoData = {\n source: [{ src: src, type: 'video/mp4' }],\n attributes: { preload: true, controls: true }\n };\n return JSON.stringify(videoData);\n }\n }\n\n // async onDeleteDocument(userQuickPostDocumentID: number) {\n // let UserQuickPostDocumentIds: number[] = [];\n // if (userQuickPostDocumentID) {\n // UserQuickPostDocumentIds.push(userQuickPostDocumentID);\n // Swal.fire({\n // title: this.currentAppLanguage.data.QUICKPOST.SWEET_ALERT_TITLE_QUICKPOST_IMAGE.replace('Quick Post', this.btnNameJorD+' Entry'),\n // text: this.currentAppLanguage.data.QUICKPOST.SWEET_ALERT_TEXT,\n // icon: 'warning',\n // showCancelButton: true,\n // confirmButtonColor: '#7367F0',\n // cancelButtonColor: '#E42728',\n // confirmButtonText: this.currentAppLanguage.data.QUICKPOST.SWEET_ALERT_CONFIRM_BUTTON_TEXT,\n // cancelButtonText: this.currentAppLanguage.data.QUICKPOST.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n // customClass: {\n // confirmButton: 'btn btn-primary',\n // cancelButton: 'btn btn-danger ml-1'\n // }\n // })\n // .then(\n // (async (result) => {\n // if (result.value) {\n // const a = await this.DeleteQuickPostDocument(UserQuickPostDocumentIds);\n // }\n // })\n // );\n // }\n // }\n // async DeleteQuickPostDocument(UserQuickPostDocumentIds: Array) {\n // //console.log('DeleteMyAddressDocument');\n // this.loadingScreenService.startLoading();\n // if (UserQuickPostDocumentIds.length < 1) {\n // return false;\n // }\n // this.deleteDocumentsInputModel = [];\n // UserQuickPostDocumentIds.forEach(userQuickPostDocumentId => {\n // this.deleteDocumentsInputModel.push({\n // DeleteID: userQuickPostDocumentId,\n // UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId\n // });\n // });\n // let promise = new Promise((resolve, reject) => {\n // var Result: boolean;\n // const path = 'api/UserQuickPost/DeleteUserQuickPostDocuments';\n // this.subDeleteQuickPostAtt$ = this.globalService.PostDataById(this.deleteDocumentsInputModel, path).subscribe(\n // (data) => {\n // this.loadingScreenService.stopLoading();\n // //console.log(data);\n // var result = JSON.parse(JSON.stringify(data));\n // //console.log(result);\n // if (result.status == Status.Success) {\n // Swal.fire({\n // icon: 'success',\n // title: 'Deleted!',\n // text: E.ConvertToString(result.message).replace('Quick post', this.btnNameJorD+' Entry'),\n // customClass: {\n // confirmButton: 'btn btn-success'\n // }\n // });\n // const indexToRemove:number = this.GalleryItems.findIndex(item => item.id == UserQuickPostDocumentIds);\n // if (indexToRemove !== -1) {\n // this.GalleryItems.splice(indexToRemove, 1);\n // } \n // Result = true;\n // }\n // else {\n // this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n // Result = false;\n // }\n // resolve(Result);\n // },\n // (error) => {\n // this._toastrService.Error(error, Constant.ErrorToastrTitle);\n // this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n // this.loadingScreenService.stopLoading();\n // }\n // );\n // });\n // return await promise;\n // }\n\n\n async onDeleteDocument(userQuickPostDocumentID: number) {\n if (!userQuickPostDocumentID) {\n return;\n }\n\n try {\n await this.showConfirmationDialog();\n const result = await this.DeleteQuickPostDocument([userQuickPostDocumentID]);\n\n if (result) {\n // Next line of code after both function1 and function2 have completed\n }\n } catch (error) {\n }\n }\n\n showConfirmationDialog(): Promise {\n return new Promise((resolve) => {\n Swal.fire({\n title: this.currentAppLanguage.data.QUICKPOST.SWEET_ALERT_TITLE_QUICKPOST_IMAGE.replace('Quick Post', this.btnNameJorD + ' Entry'),\n text: this.currentAppLanguage.data.QUICKPOST.SWEET_ALERT_TEXT,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: this.currentAppLanguage.data.QUICKPOST.SWEET_ALERT_CONFIRM_BUTTON_TEXT_UNLINK,\n cancelButtonText: this.currentAppLanguage.data.QUICKPOST.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1',\n },\n }).then((result) => {\n if (result.value) {\n resolve();\n }\n });\n });\n }\n\n async DeleteQuickPostDocument(UserQuickPostDocumentIds: Array): Promise {\n this.loadingScreenService.startLoading();\n\n try {\n if (UserQuickPostDocumentIds.length < 1) {\n return false;\n }\n\n this.deleteDocumentsInputModel = [];\n this.UserQuickpostDocument = UserQuickPostDocumentIds\n UserQuickPostDocumentIds.forEach((userQuickPostDocumentId) => {\n this.deleteDocumentsInputModel.push({\n DeleteID: userQuickPostDocumentId,\n UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId,\n RecordID: this._data\n });\n });\n\n const result = await this.postDataAndHandleResponse();\n\n return result;\n } catch (error) {\n console.error('An error occurred:', error);\n return false;\n } finally {\n this.loadingScreenService.stopLoading();\n }\n }\n\n private postDataAndHandleResponse(): Promise {\n return new Promise((resolve) => {\n const path = 'api/UserQuickPost/DeleteUserQuickPostDocuments';\n this.subDeleteQuickPostAtt$ = this.globalService.PostDataById(this.deleteDocumentsInputModel, path).subscribe(\n (data) => {\n const result = JSON.parse(JSON.stringify(data));\n if (result.status === Status.Success) {\n // Handle success\n this.handleSuccess(result);\n resolve(true);\n } else {\n // Handle failure\n this.handleFailure(result);\n resolve(false);\n }\n },\n (error) => {\n // Handle network error\n this.handleNetworkError(error);\n resolve(false);\n }\n );\n });\n }\n\n private handleSuccess(result: any): void {\n Swal.fire({\n icon: 'success',\n title: this.currentAppLanguage.data.QUICKPOST.SWEET_ALERT_TEXT_DELETED,\n text: this.currentAppLanguage.data.QUICKPOST.TOAST_MESSAGE_QUICKPOST_DELETE_SUCCESSFULLY.replace('Quick Post', this.btnNameJorD + ' Entry'),\n // text: E.ConvertToString(result.message).replace('Quick post', this.btnNameJorD+' Entry'),\n confirmButtonText: this.currentAppLanguage.data.QUICKPOST.SWEET_ALERT_CONFIRM_BUTTON_TEXT_OKAY,\n customClass: {\n confirmButton: 'btn btn-success',\n },\n });\n\n // Modify this part as needed\n this.DocumentList = this.DocumentList.filter((x) => !this.UserQuickpostDocument.includes(x.DocumentId));\n const indexToRemove: number = this.GalleryItems.findIndex((item) => item.id == this.UserQuickpostDocument);\n if (indexToRemove !== -1) {\n this.GalleryItems.splice(indexToRemove, 1);\n }\n const indexToRemovenew: number = this.GalleryItems1.findIndex((item) => item.id == this.UserQuickpostDocument);\n if (indexToRemovenew !== -1) {\n this.GalleryItems1.splice(indexToRemovenew, 1);\n }\n }\n\n private handleFailure(result: any): void {\n this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n }\n\n private handleNetworkError(error: any): void {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n }\n\n\n\n async onDownloadDocument(document: QuickPostDocumentListOutputModel) {\n if (document) {\n await this.DownloadMyAddressDocument(document);\n }\n }\n async DownloadMyAddressDocument(Document: QuickPostDocumentListOutputModel, IsDownloadAll = false) {\n //console.log('DeleteMyAddressDocument');\n this.loadingScreenService.startLoading();\n if (typeof Document === 'undefined' || Document == null) {\n return false;\n }\n this.downloadFileInputModel = {\n DownloadID: Document.DocumentId,\n FilePath: Document.DocumentPath,\n UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId\n };\n let promise = new Promise((resolve, reject) => {\n var Result: boolean = false;\n const path = 'api/UserQuickPost/DownloadUserQuickPostDocuments';\n this.subDownloadQuickpostAtt$ = this.globalService.PostDataById(this.downloadFileInputModel, path).subscribe(\n (result) => {\n this.loadingScreenService.stopLoading();\n if (result.status == Status.Success) {\n let _downloaded = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)));\n var sampleArr = this.globalService.base64ToArrayBuffer(E.ConvertToString(_downloaded.FileBase64String));\n this.globalService.saveByteArray(_downloaded.FileName, sampleArr, _downloaded.FileMimeType);\n if (IsDownloadAll === false)\n this._toastrService.Success('Downloaded Successfully.', Constant.SuccessToastrTitle);\n //console.log(this.DocumentList);\n Result = true;\n }\n else {\n this._toastrService.Error(result.message, Constant.ErrorToastrTitle);\n Result = false;\n }\n resolve(Result);\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n this.loadingScreenService.stopLoading();\n resolve(Result);\n }\n );\n });\n return await promise;\n }\n\n AddMoodList(url: string, id: number, name: string, sequence: number, rating: number) {\n this.MoodItem = [\n ...this.MoodItem,\n {\n moodpath: url,\n moodid: id,\n moodname: name,\n moodorder: sequence,\n moodrating: rating,\n },\n ];\n }\n\n AddMoodRating(url: string, id: number, name: string, order: number) {\n this.Ratings = [\n ...this.Ratings,\n {\n _url: url,\n _id: id,\n _name: name,\n _order: order,\n }\n ];\n }\n\n OnClickMood(_moodid) {\n this._QuickPostService.setTracker(_moodid);\n // console.log(_moodid)\n }\n\n OnClickRating(id) {\n this._QuickPostService.setRating(id);\n // console.log(id)\n }\n\n\n addTagMethod = (term) => {\n this.customTags = [...this.customTags, { id: this.customTags.length, name: term, tag: true }];\n return { id: term, name: term };\n };\n\n removeTagMethod(term) {\n this.customTags[term.index].tag = false;\n }\n\n selectAddTagMethod(obj) {\n if (this.customTags && obj) {\n if (this.customTags.indexOf(obj) > -1) {\n this.customTags[obj.id].tag = true;\n }\n }\n }\n\n onKeydown(event: KeyboardEvent) {\n if (event.key === ' ') {\n event.preventDefault(); // Prevent scrolling or input field focus\n const inputElement = event.target as HTMLElement;\n const activeItem = document.querySelector('.ng-option-marked');\n\n if (activeItem) {\n // Simulate a click on the highlighted option to select it\n (activeItem as HTMLElement).click();\n }\n }\n }\n\n async onDeleteClick() {\n if ((!this.userQuickPosts || !this.userQuickPosts.UserQuickPostId) && !this._data) {\n this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n return;\n }\n Swal.fire({\n title: this.currentAppLanguage.data.QUICKPOST.SWEET_ALERT_TITLE_QUICKPOST_TEXT.replace('Quick Post', this.btnNameJorD + ' Entry'),\n text: this.currentAppLanguage.data.QUICKPOST.SWEET_ALERT_TEXT,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: this.currentAppLanguage.data.QUICKPOST.SWEET_ALERT_CONFIRM_BUTTON_TEXT,\n cancelButtonText: this.currentAppLanguage.data.QUICKPOST.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n })\n .then(\n (async (result) => {\n if (result.value) {\n if (this._data)\n var UserQuickPostId = this._data\n else if (this.userQuickPosts.UserQuickPostId)\n UserQuickPostId = this.userQuickPosts.UserQuickPostId\n const a = await this.DeleteThisQuickPost(UserQuickPostId);\n }\n })\n );\n }\n async DeleteThisQuickPost(UserQuickPostId: number) {\n this.loadingScreenService.startLoading();\n this.deleteInputModel = {\n DeleteID: UserQuickPostId,\n UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId\n }\n let promise = new Promise((resolve, reject) => {\n var Result: boolean;\n const path = 'api/UserQuickPost/DeleteUserQuickPost';\n let response: Observable;\n response = this.globalService.PostDataById(this.deleteInputModel, path);\n response.subscribe(\n (data) => {\n this.loadingScreenService.stopLoading();\n var result = JSON.parse(JSON.stringify(data));\n if (result.status == Status.Success) {\n Swal.fire({\n icon: 'success',\n title: this.currentAppLanguage.data.QUICKPOST.SWEET_ALERT_DELETE_TEXT,\n text: E.ConvertToString(result.message).replace('Quick post', this.btnNameJorD + ' Entry'),\n customClass: {\n confirmButton: 'btn btn-success'\n }\n });\n this.dialogRef.close(true);\n Result = true;\n }\n else {\n this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n Result = false;\n }\n resolve(Result);\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n this.loadingScreenService.stopLoading();\n }\n );\n });\n return await promise;\n }\n\n onQuickPostChange(event) {\n this.PlaceholderQuickPost = (event == null || (event != null && event < 1)) ? this.currentAppLanguage.data.QUICKPOST.PLACEHOLDER_SELECT_POST_TYPE : \"\";\n }\n onCloseButtonClick() {\n this.closeDialog();\n }\n closeDialog() {\n this.dialogRef.close(false);\n }\n settings: any = {\n counter: false,\n appendSubHtmlTo: '.lg-toolbar',\n commentBox: true,\n lgVideo: true,\n download: false,\n thumbnail: true,\n slideVideo: true,\n autoplayFirstVideo: false,\n autoplayVideoOnSlide: false,\n plugins: [\n lgZoom,\n // pager,\n autoPlay,\n fullScreen,\n rotate,\n thumbnail,\n videoThumbnail,\n vimeoVideo,\n lgVideo,\n lgvideo,\n //share\n ] // comment, share (options are commented for future use)\n };\n onBeforeSlide = (detail: BeforeSlideDetail): void => {\n const { index, prevIndex } = detail;\n };\n\n\n onSearchOnMapClick() {\n this.openDialogMapAddress();\n }\n\n\n\n openDialogMapAddress() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = false;\n dialogConfig.width = \"70%\";\n dialogConfig.height = \"55%\";\n dialogConfig.position = { bottom: '18%' };\n\n let _model = new MapAddressOutputModel(this.userQuickPosts.Latitude, this.userQuickPosts.Longitude, this.userQuickPosts.Location);\n dialogConfig.data = new MapAddressDataModel(MapModalType.LatLong, _model);\n\n const dialogRef: MatDialogRef = this.dialog.open(MapAddressComponent, dialogConfig);\n\n dialogRef.componentInstance.IsDraggable = true;\n dialogRef.componentInstance.IsSaveButtonVisible = true;\n dialogRef.componentInstance.IsSearchTextVisible = true;\n dialogRef.componentInstance.IsSearchOnMap = true;\n dialogRef.afterClosed().subscribe(\n result => {\n if (result) {\n if (E.ConvertToString(result.event) == 'SearchOnMap' && result.data) {\n\n this.userQuickPosts.Latitude = result.data.lat;\n this.userQuickPosts.Longitude = result.data.long;\n this.frmQuickpost.get('Location').setValue(E.ConvertToString(result.data.searchstring));\n }\n }\n // this.loadData();\n }\n );\n }\n onCancelClick() {\n this.dialogRef.close(false);\n }\n\n onPostTypeChange(event: any): void {\n const selectedText = event.target.textContent;\n if (selectedText == 'Shared' || selectedText == 'Friends' || selectedText == 'Family') {\n if (this.authenticationService.currentUserValue.CurrentNoosomPlanId == NoosomPlans.Premium_1 || this.authenticationService.currentUserValue.NoosomCategoryEnumId == NoosomCategoryID.Test) {\n // this.openUploaderModal(this.uploaderContent)\n this.postTypeValidation = true\n }\n else {\n this.showUpgradeAlert();\n }\n } else { this.postTypeValidation = false }\n }\n\n\n GetUserConnectionRequests(inputModel) {\n let response: Observable;\n this._QuickPostService.GetUserConnectionRequests(inputModel)\n .subscribe(\n (result) => {\n this.loading = false;\n //this.loadingScreenService.stopLoading();\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.Success) {\n var connectionRequestData = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)))\n this.separateLists(connectionRequestData)\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n // this.loadingScreenService.stopLoading();\n }\n );\n }\n\n openUploaderModal(content) {\n let model = this.modalService.open(content, { centered: true, size: 'sm' }); // 'lg' for large size, adjust as needed\n model.result.then(\n (result) => {\n const combinedUserDetailsIds = [...this.selectAllFriends, ...this.selectAllFamily];\n if (combinedUserDetailsIds == null || combinedUserDetailsIds.length == 0) {\n let _private = this.quickpostLoadDataOutputModel.QuickPostTypeList.filter(x => x.QuickPostTypeName.toLocaleLowerCase() == 'private');\n if (_private && _private[0] && this.frmQuickpost.get('QuickPostTypeId').value == null)\n this.frmQuickpost.get('QuickPostTypeId').setValue(_private[0].QuickPostTypeId);\n }\n },\n (reason) => {\n if (reason === ModalDismissReasons.ESC) {\n const combinedUserDetailsIds = [...this.selectAllFriends, ...this.selectAllFamily];\n if (combinedUserDetailsIds == null || combinedUserDetailsIds.length == 0) {\n let _private = this.quickpostLoadDataOutputModel.QuickPostTypeList.filter(x => x.QuickPostTypeName.toLocaleLowerCase() == 'private');\n if (_private && _private[0])\n this.frmQuickpost.get('QuickPostTypeId').setValue(_private[0].QuickPostTypeId);\n }\n }\n else if (reason === ModalDismissReasons.BACKDROP_CLICK) {\n const combinedUserDetailsIds = [...this.selectAllFriends, ...this.selectAllFamily];\n if (combinedUserDetailsIds == null || combinedUserDetailsIds.length == 0) {\n let _private = this.quickpostLoadDataOutputModel.QuickPostTypeList.filter(x => x.QuickPostTypeName.toLocaleLowerCase() == 'private');\n if (_private && _private[0])\n this.frmQuickpost.get('QuickPostTypeId').setValue(_private[0].QuickPostTypeId);\n }\n }\n else if (reason == 'Cross click') {\n const combinedUserDetailsIds = [...this.selectAllFriends, ...this.selectAllFamily];\n if (combinedUserDetailsIds == null || combinedUserDetailsIds.length == 0) {\n let _private = this.quickpostLoadDataOutputModel.QuickPostTypeList.filter(x => x.QuickPostTypeName.toLocaleLowerCase() == 'private');\n if (_private && _private[0])\n this.frmQuickpost.get('QuickPostTypeId').setValue(_private[0].QuickPostTypeId);\n }\n }\n }\n );\n }\n\n separateLists(data) {\n const filteredDatafriend = data.filter(user => user.UserFriendId !== null && user.ConnectionRequestStatusId == 3);\n\n // Map over the filtered data to add the selected field\n this.friendsList = filteredDatafriend.map(user => ({\n ...user, // Spread the existing properties\n selected: false // Add the new selected field with default value\n }));\n const filteredData = data.filter(user => user.UserFamilyMemberId !== null && user.ConnectionRequestStatusId == 3);\n this.familyList = filteredData.map(user => ({\n ...user, // Spread the existing properties\n selected: false // Add the new selected field with default value\n }));\n\n // Initialize search lists\n this.filteredFriendsList = [...this.friendsList];\n this.filteredFamilyList = [...this.familyList];\n }\n\n searchLists(searchTerm: string) {\n // Convert the search term to lowercase for case-insensitive search\n const lowerCaseSearchTerm = searchTerm.toLowerCase();\n\n // Filter friendsList\n this.filteredFriendsList = this.friendsList.filter(user =>\n user.UserFriendFullName?.toLowerCase().includes(lowerCaseSearchTerm)\n );\n\n // Filter familyList\n this.filteredFamilyList = this.familyList.filter(user =>\n user.UserFamilyMemberFullName?.toLowerCase().includes(lowerCaseSearchTerm)\n );\n }\n\n searchLists1(searchTerm: string) {\n this.commentSection = searchTerm\n }\n\n share() {\n this.combinedUserDetailsIds = Array.from(new Set([...this.selectAllFriends, ...this.selectAllFamily]));\n this.modalService.dismissAll();\n if (this.combinedUserDetailsIds == null || this.combinedUserDetailsIds.length == 0) {\n let _private = this.quickpostLoadDataOutputModel.QuickPostTypeList.filter(x => x.QuickPostTypeName.toLocaleLowerCase() == 'private');\n if (_private && _private[0] && !(this.frmQuickpost.get('QuickPostTypeId').value == this.quickpostLoadDataOutputModel.QuickPostTypeList[2].QuickPostTypeId))\n this.frmQuickpost.get('QuickPostTypeId').setValue(_private[0].QuickPostTypeId);\n }\n }\n\n onCheckboxChange(checked: boolean, folderId: number, type: string): void {\n if (type == 'friend') {\n if (checked) {\n // Add folderId to selectedFolderIds if checkbox is checked\n this.selectAllFriends.push(folderId);\n } else {\n // Remove folderId from selectedFolderIds if checkbox is unchecked\n const index = this.selectAllFriends.indexOf(folderId);\n if (index !== -1) {\n this.selectAllFriends.splice(index, 1);\n }\n }\n }\n if (type == 'family') {\n if (checked) {\n // Add folderId to selectedFolderIds if checkbox is checked\n this.selectAllFamily.push(folderId);\n } else {\n // Remove folderId from selectedFolderIds if checkbox is unchecked\n const index = this.selectAllFamily.indexOf(folderId);\n if (index !== -1) {\n this.selectAllFamily.splice(index, 1);\n }\n }\n }\n }\n\n toggleSelectAllFriends() {\n if (this.selectAllFriends.length === this.friendsList.length) {\n // If all folders are already selected, unselect all\n this.selectAllFriends = [];\n } else {\n // If not all folders are selected, select all\n\n this.selectAllFriends = this.friendsList.map(folder => folder.ReceiverUserDetailsId);\n }\n\n const checkboxes = document.querySelectorAll('.folder-checkbox') as NodeListOf;\n checkboxes.forEach(checkbox => {\n checkbox.checked = this.selectAllFriends.includes(Number(checkbox.value));\n });\n }\n isFolderSelected(type: string, folderId: number): boolean {\n if (type == 'friend')\n return this.selectAllFriends.includes(folderId);\n if (type == 'family')\n return this.selectAllFamily.includes(folderId);\n }\n\n toggleSelectAllFamily() {\n this.familyList.forEach(family => family.selected = this.selectAllFamily);\n if (this.selectAllFamily.length === this.familyList.length) {\n // If all folders are already selected, unselect all\n this.selectAllFamily = [];\n } else {\n // If not all folders are selected, select all\n\n this.selectAllFamily = this.familyList.map(folder => folder.ReceiverUserDetailsId);\n }\n\n const checkboxes = document.querySelectorAll('.folder-checkboxfamily') as NodeListOf;\n checkboxes.forEach(checkbox => {\n checkbox.checked = this.selectAllFamily.includes(Number(checkbox.value));\n });\n }\n\n getUserQuickPostSharingById() {\n let inputModel = {\n SharedFromUserDetailsID: this.authenticationService.currentUserValue.UserDetailsId,\n UserQuickPostID: this._data\n }\n let response: Observable;\n this._QuickPostService.GetUserQuickPostSharingById(inputModel)\n .subscribe(\n (result) => {\n this.loading = false;\n this.loadingScreenService.stopLoading();\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.Success) {\n var connectionRequestData = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)))\n if (connectionRequestData == null || connectionRequestData.length == 0) {\n let _private = this.quickpostLoadDataOutputModel.QuickPostTypeList.filter(x => x.QuickPostTypeName.toLocaleLowerCase() == 'private');\n if (_private && _private[0] && !(this.frmQuickpost.get('QuickPostTypeId').value == this.quickpostLoadDataOutputModel?.QuickPostTypeList[2]?.QuickPostTypeId)) {\n this.frmQuickpost.get('QuickPostTypeId').setValue(_private[0].QuickPostTypeId);\n this.postTypeValidation = false;\n }\n else { this.postTypeValidation = true; }\n }\n this.initializeCheckboxesFromSharedData(connectionRequestData);\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n }\n\n setCreateUpdateShare() {\n this.userShareInputModel = {\n UsersQuickPostSharingID: 0,\n SharedFromUserDetailsID: this.authenticationService.currentUserValue.UserDetailsId,\n SharedToUserDetailsIDs: this.combinedUserDetailsIds,\n UserQuickPostID: this._data,\n CreatedDate: E.GetTodayDateStringOnly(),\n CreatedTime: E.GetTodayTimeStringOnly(),\n CreatedBy: this.authenticationService.currentUserValue.UserDetailsId,\n ChangedDate: E.GetTodayDateStringOnly(),\n ChangedTime: E.GetTodayTimeStringOnly(),\n ChangedBy: this.authenticationService.currentUserValue.UserDetailsId,\n }\n let response: Observable;\n this._QuickPostService.CreateUpdateUserQuickPostShare(this.userShareInputModel)\n .subscribe(\n (result) => {\n this.loading = false;\n this.loadingScreenService.stopLoading();\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.Success) {\n var connectionRequestData = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)))\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n }\n\n initializeCheckboxesFromSharedData(sharedData: any[]) {\n // Extract SharedToUserDetailsIDs from the sharedData\n const sharedToUserDetailsIDs = sharedData.map(data => data.SharedToUserDetailsID);\n\n // Update selectAllFriends to reflect the shared data\n this.selectAllFriends = sharedToUserDetailsIDs;\n this.selectAllFamily = sharedToUserDetailsIDs;\n\n // Update the checkboxes' checked status\n this.updateCheckboxes();\n }\n\n updateCheckboxes() {\n const checkboxes = document.querySelectorAll('.folder-checkbox') as NodeListOf;\n checkboxes.forEach(checkbox => {\n checkbox.checked = this.selectAllFriends.includes(Number(checkbox.value));\n checkbox.checked = this.selectAllFamily.includes(Number(checkbox.value));\n });\n }\n\n triggerFileUpload() {\n this.fileInput.nativeElement.click();\n }\n\n openFilemanager() {\n // using for old filemanager uploads\n // this.openDialog(UploadManagerComponent)\n var matdata = {\n RecordId: this._data,\n RecordType: RecordsType.QuickPost\n }\n this.openDialog(SelectSyncFileManagerComponent, matdata)\n }\n\n openDialog(component: any, _data: any = []) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = false;\n dialogConfig.width = \"66%\"\n dialogConfig.height = \"60%\"\n dialogConfig.position = {\n top: \"10%\"\n }\n dialogConfig.data = _data;\n const dialogRef = this.dialog.open(component, dialogConfig);\n dialogRef.afterClosed().subscribe(\n data => {\n if (data) {\n this.nav.select(4);\n this.getAttachmentList('Images');\n }\n }\n );\n }\n\n onClick() {\n this.UserQuickPostLike()\n }\n UserQuickPostLike() {\n var input: UserQuickPostsViewsInputModel = {\n UserQuickPostsViewId: 0,\n UserQuickPostId: this._data,\n UserDetailsId: this.authenticationService.currentUserValue.UserDetailsId,\n CreatedDate: E.GetTodayDateStringOnly(),\n CreatedTime: E.GetTodayTimeStringOnly()\n }\n this.quickpostlistService.CreateUpdateUserQuickPostLike(input)\n .subscribe(\n (result) => {\n this.loading = false;\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.RecordAdded) {\n this.quickpostLoadDataOutputModel.UserQuickPost.LikesCounter = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)))\n this.quickpostLoadDataOutputModel.LikedByMe = !this.quickpostLoadDataOutputModel?.LikedByMe;\n\n this._toastrService.Success('Post Liked Successfully.', Constant.SuccessToastrTitle)\n }\n else if (result.status == Status.RecordUpdated) {\n this.quickpostLoadDataOutputModel.UserQuickPost.LikesCounter = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)))\n this.quickpostLoadDataOutputModel.LikedByMe = !this.quickpostLoadDataOutputModel?.LikedByMe;\n this._toastrService.Success('Post Unliked Successfully.', Constant.SuccessToastrTitle)\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n //this.error = error;\n this.loading = false;\n }\n );\n }\n\n GetUserQuickPostCommentes(event: boolean) {\n this.commentToggle = event;\n if (this._data) {\n var input = {\n UserQuickPostId: this._data,\n UserDetailsId: this.authenticationService.currentUserValue.UserDetailsId\n }\n this.quickpostlistService.GetUserQuickPostCommentes(input)\n .subscribe(\n (result) => {\n this.loading = false;\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.Success) {\n this.quickpostLoadDataOutputModel.QuickPostsCommentsList = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)));\n\n\n this.commentSection = '';\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n //this.error = error;\n this.loading = false;\n }\n );\n }\n }\n\n isEligible(): boolean {\n return this.authenticationService.currentUserValue.CurrentNoosomPlanId == NoosomPlans.Premium_1 || this.authenticationService.currentUserValue.NoosomCategoryEnumId == NoosomCategoryID.Test;\n }\n\n UserQuickPostCommentLike(data) {\n var input: TblUserQuickPostsCommentLikes = {\n UserQuickPostsCommentLikeId: 0,\n UserQuickPostsCommentId: data,\n UserDetailsId: this.authenticationService.currentUserValue.UserDetailsId,\n CreatedDate: E.GetTodayDateStringOnly(),\n CreatedTime: E.GetTodayTimeStringOnly()\n }\n\n this.quickpostlistService.CreateUpdateUserQuickPostCommentLike(input)\n .subscribe(\n (result) => {\n this.loading = false;\n var message = \"\"; var errormessage = \"\";\n\n if (result.status == Status.RecordAdded) {\n this.quickpostLoadDataOutputModel.QuickPostsCommentsList = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)));\n //this.commentCounter = this.quickPostCommentList.length;\n this._toastrService.Success('Comment Liked Successfully.', Constant.SuccessToastrTitle)\n }\n else if (result.status == Status.RecordUpdated) {\n this.quickpostLoadDataOutputModel.QuickPostsCommentsList = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)));\n //this.commentCounter = this.quickPostCommentList.length;\n this._toastrService.Success('Comment Unliked Successfully.', Constant.SuccessToastrTitle)\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n }\n );\n }\n\n onLoadConnectionList() {\n var userQuickPostConnectionsInputModel = {\n UserDetailsId: this.authenticationService.currentUserValue.UserDetailsId,\n UserQuickPostId: this._data\n }\n this.addGridColumns();\n this._QuickPostService.GetUserQuickPostConnectionsList(userQuickPostConnectionsInputModel).subscribe(async result => {\n if (result) {\n if (result.status == Status.Success) {\n let _connectionList = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n if (_connectionList) {\n this.meonWebListRows = _connectionList;\n const allRows = this.meonWebListRows;\n this.checkedRows = [];\n\n\n allRows.forEach((row: any) => {\n if (row.SharedYN === 'Yes') {\n this.checkedRows.push(row?.APIInputParameterUserDetailID);\n }\n });\n\n }\n this.loadingScreenService.stopLoading();\n }\n else {\n this.loadingScreenService.stopLoading();\n this._toastrService.Error(result.Message, Constant.ErrorToastrTitle);\n }\n }\n });\n }\n\n\n updateQuickPostComment(textareaRef: HTMLTextAreaElement) {\n var input: TblUserQuickPostsComments = {\n UserQuickPostsCommentId: 0,\n LikesCounter: 0,\n Content: this.commentSection,\n UserQuickPostId: this._data,\n UserDetailsId: this.authenticationService.currentUserValue.UserDetailsId,\n CreatedDate: E.GetTodayDateStringOnly(),\n CreatedTime: E.GetTodayTimeStringOnly()\n }\n this.quickpostlistService.CreateUpdateUserQuickPostComment(input)\n .subscribe(\n (result) => {\n this.loading = false;\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.RecordAdded) {\n this.quickpostLoadDataOutputModel.QuickPostsCommentsList = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)));\n this.quickpostLoadDataOutputModel.UserQuickPost.CommentsCounter = this.quickpostLoadDataOutputModel.QuickPostsCommentsList.length;\n this.commentSection = '';\n textareaRef.value = '';\n this._toastrService.Success('Comment Posted Successfully', Constant.SuccessToastrTitle)\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n }\n );\n }\n\n\n addGridColumns() {\n this.MeonWebGridcolumnDefs = [\n {\n headerName: '',\n field: 'SharedYN',\n minWidth: 50,\n cellRenderer: (params: any) => {\n // Create a checkbox dynamically\n const checkbox = document.createElement('input');\n checkbox.type = 'checkbox';\n checkbox.className = 'ag-checkbox';\n\n // Set checkbox checked status based on SharedYN value\n checkbox.checked = params.value === 'Yes';\n\n // Add event listener to handle checkbox change\n checkbox.addEventListener('change', (event) => {\n const isChecked = (event.target as HTMLInputElement).checked;\n this.onCheckboxChangeGrid(params.data, isChecked);\n });\n\n return checkbox;\n },\n },\n { headerName: this.currentAppLanguage.data.QUICKPOST.CONTROL_LABEL_SHAREDYN, field: 'SharedYN', tooltipField: 'SharedYN', sort: 'desc', minWidth: 150 },\n {\n headerName: this.currentAppLanguage.data.QUICKPOST.CONTROL_LABEL_FIRSTNAME, field: 'FirstName', filter: 'FirstName', minWidth: 200\n },\n {\n headerName: this.currentAppLanguage.data.QUICKPOST.CONTROL_LABEL_LASTNAME, field: 'LastName', tooltipField: 'LastName', sort: 'asc', minWidth: 300\n },\n {\n headerName: this.currentAppLanguage.data.QUICKPOST.CONTROL_LABEL_EMAILADDRESS, field: 'EMailAddress', minWidth: 300, tooltipField: 'EMailAddress',\n },\n {\n headerName: this.currentAppLanguage.data.QUICKPOST.CONTROL_LABEL_TYPE, field: 'Type', minWidth: 300, tooltipField: 'Type',\n }\n ];\n }\n\n shareFromGrid() {\n this.userShareInputModel = {\n UsersQuickPostSharingID: 0,\n SharedFromUserDetailsID: this.authenticationService.currentUserValue.UserDetailsId,\n SharedToUserDetailsIDs: this.checkedRows,\n UserQuickPostID: this._data,\n CreatedDate: E.GetTodayDateStringOnly(),\n CreatedTime: E.GetTodayTimeStringOnly(),\n CreatedBy: this.authenticationService.currentUserValue.UserDetailsId,\n ChangedDate: E.GetTodayDateStringOnly(),\n ChangedTime: E.GetTodayTimeStringOnly(),\n ChangedBy: this.authenticationService.currentUserValue.UserDetailsId,\n }\n let response: Observable;\n this._QuickPostService.CreateUpdateUserQuickPostShare(this.userShareInputModel)\n .subscribe(\n (result) => {\n this.loading = false;\n this.loadingScreenService.stopLoading();\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.Success) {\n var connectionRequestData = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)))\n }\n else if (result.status == Status.RecordAdded) {\n var connectionRequestData = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)))\n // this._toastrService.Success('Post Shared Successfully', Constant.SuccessToastrTitle)\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n }\n\n onCheckboxChangeGrid(rowData: any, isChecked: boolean) {\n if (isChecked) {\n this.checkedRows.push(rowData?.APIInputParameterUserDetailID);\n } else {\n const index = this.checkedRows.indexOf(rowData?.APIInputParameterUserDetailID);\n if (index !== -1) {\n this.checkedRows.splice(index, 1);\n }\n }\n }\n\n commentToggleScreen(event, id?) {\n this.commentToggle = event;\n if (id) {\n // if(this.commentSection !=''){\n // this.updateQuickPostComment(id)}\n // else{\n // this._toastrService.Error('Please add a comment',Constant.ErrorToastrTitle)\n // }\n }\n else {\n //this.commentSection =''}\n }\n }\n\n searchMood(searchTerm: string) {\n if (!searchTerm) {\n this.filteredMoodList = [...this.MoodItem]; // Reset when empty\n return;\n }\n \n this.filteredMoodList = this.MoodItem.filter(mood =>\n mood.moodname.toLowerCase().includes(searchTerm.toLowerCase())\n );\n }\n\n GetCurrentLanguageJsonObject(currentAppLanguage) {\n var result;\n switch (currentAppLanguage) {\n case 'en':\n result = english;\n break;\n case 'in':\n result = gujarati;\n break;\n case 'hn':\n result = hindi;\n break;\n }\n return result;\n }\n get f() {\n return this.frmQuickpost.controls;\n }\n}\n","\n\n
\n
{{dialogTitle}} {{btnNameJorD}} {{'QUICKPOST.HEADING_TEXT'|translate}}\n  \n \n \n \n
\n
\n
\n \n
\n
\n
\n
\n
    \n
  • \n {{btnNameJorD}} {{\"QUICKPOST.HEADING_TEXT\"| translate}}\n \n
    \n
    \n
    \n
    \n \n \n \n {{'QUICKPOST.ERROR_MESSAGE_REQUIRED_TITLE'|translate}}\n {{'QUICKPOST.ERROR_MESSAGE_MAX_LENGTH_100'|translate}}\n \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n \n
    \n \n
    \n \n {{'QUICKPOST.ERROR_MESSAGE_REQUIRED_DIARY_DATE'|translate}}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n \n {{'QUICKPOST.ERROR_MESSAGE_REQUIRED_DIARY_TIME'|translate}}\n \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n \n {{'QUICKPOST.ERROR_MESSAGE_REQUIRED_DIARY_TIME_TO'|translate}}\n \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n \n \n {{'QUICKPOST.ERROR_MESSAGE_MAX_LENGTH_1000'|translate}}\n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n \n {{'QUICKPOST.ERROR_MESSAGE_REQUIRED_POST_TYPE'|translate}}\n \n
    \n
    \n \n \n \n
    \n
    \n \n \n \n {{ item.name }}\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 \n \n \n
    \n
    \n\n \n {{'QUICKPOST.ERROR_MESSAGE_REQUIRED_POST_CONTENT'|translate}}\n \n
    \n
    \n
    \n \n

    Select whom to share

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

    Friends

    \n \n \n
      \n
    • \n \n
    • \n
    \n
    \n \n \n
    \n

    Family

    \n \n \n
      \n
    • \n \n
    • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
  • \n\n \n\n
  • \n {{'QUICKPOST.TAB_HEADING_SHARING'|translate}}\n \n
    \n
    \n
    \n
    \n \n \n \n {{'QUICKPOST.ERROR_MESSAGE_REQUIRED_POST_TYPE'|translate}}\n \n
    \n \n

    Select whom to share

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

    Friends

    \n \n \n
      \n
    • \n \n
    • \n
    \n
    \n \n \n
    \n

    Family

    \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 {{quickpostLoadDataOutputModel?.UserQuickPost?.LikesCounter}}\n
    \n
    0 \" class=\"d-flex align-items-center\">\n
    \n
    \n \"Avatar\"\n
    \n
    \n {{quickpostLoadDataOutputModel?.UserQuickPost?.ViewsCounter}}\n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n

    Comment Section

    \n
    \n
    \n
    \n \"Avatar\"\n
    \n \n
    \n
    \n \n
    No Comments to Show.
    \n
    \n
    \n \n\n
    \n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
  • \n\n
  • \n {{'QUICKPOST.TAB_HEADING_UPLOAD'|translate}}\n \n
    \n \n
    \n
    \n
    \n

    {{'UPLOAD.HEADING_TEXT_SELECT_IMAGES' | translate}}\n

    \n
    \n
    \n \n {{'QUICKPOST.CONTROL_LABEL_BROWSE'|translate}}\n \n \n \n
    \n \n
    \n \n \n
    \n
    \n
    {{'UPLOAD.TEXT_FILE_TYPES' | translate}}\n tiff, bmp, jpeg, png, image, jpg, mp4, mpeg, mov, avi, ogv, webm, 3gp, mpg, wmv, flv
    \n\n
    \n
    \n
    \n
    \n \n
    \n
    \n \n {{item.id}}

    \"\n >\n \"{{item.id}}\"\n\n \"{{item.id}}\"\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
  • \n\n
  • \n {{'QUICKPOST.TAB_HEADING_IMAGES_AND_VIDEOS'|translate}}\n \n \n 0\" [collectionSize]='pagesNumber' [pageSize]=\"20\" (pageChange)=\"loadPage($event,'Images')\" [(page)]=\"pageAdvancedEllipses\" [maxSize]=\"5\" [rotate]=\"true\"\n [boundaryLinks]=\"true\">\n Prev\n \n Next\n \n \n \n
  • \n
  • \n {{'QUICKPOST.TAB_HEADING_TRACKERS'|translate}}\n \n
    \n
    \n
    \n

    {{'TRACKERS.HOW_IS_YOUR_MOOD_TEXT'|translate}}

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

    {{'TRACKERS.HOW_WOULD_YOU_RATE_TEXT'|translate}}

    \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 { Injectable } from '@angular/core';\nimport { GlobalService } from 'app/Services/global.service';\nimport { GetLatestQuickPostInputModel, GetQuickPostListInputModel } from 'app/home/home-model.model';\nimport { Observable, of } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class QuickPostService {\n tracker: any = 0;\n rating: any = 0;\n constructor(private globalService: GlobalService) { }\n\n getTracker(): Observable {\n return of(this.tracker);\n }\n\n\n setTracker(moodId) {\n this.tracker = moodId;\n }\n\n getRating(): Observable {\n return of(this.rating);\n }\n\n\n setRating(Id) {\n this.rating = Id;\n }\n GetUserQuickPostList(_data: GetQuickPostListInputModel) {\n const path = 'api/UserQuickPost/GetUserQuickPostList'\n return this.globalService.PostDataById(_data, path);\n }\n\n GetUserQuickPostLoadData(_data) {\n const path = 'api/UserQuickPost/GetUserQuickPostLoadData'\n return this.globalService.PostDataById(_data, path);\n }\n\n GetLatestQuickPostByCreatedDateAndTime(_data: GetLatestQuickPostInputModel) {\n const path = 'api/Home/GetLatestQuickPostByCreatedDateAndTime'\n return this.globalService.PostDataById(_data, path);\n }\n\n GetUserConnectionRequests(data) {\n const path = 'api/UserConnectionRequest/GetUserConnectionRequestsBothSide';\n return this.globalService.PostDataById(data, path);\n }\n\n CreateUpdateUserQuickPostShare(data){\n const path = 'api/UserQuickPost/CreateUpdateUserQuickPostShare';\n return this.globalService.PostDataById(data,path);\n }\n \n GetUserQuickPostSharingById(data){\n const path = 'api/UserQuickPost/GetUserQuickPostSharingById';\n return this.globalService.PostDataById(data,path);\n } \n\n GetUserQuickPostConnectionsList(data){\n const path = 'api/UserQuickPost/GetUserQuickPostConnectionsList';\n return this.globalService.PostDataById(data,path);\n }\n \n GetUserQuickPostCommentes(data){\n const path = 'api/UserQuickPostComment/GetUserQuickPostCommentes';\n return this.globalService.PostDataById(data,path);\n }\n\n RefeshUserQuickPostData(_data) {\n const path = 'api/UserQuickPost/RefeshUserQuickPostData'\n return this.globalService.PostDataById(_data, path);\n }\n}\n","import { ChangeDetectorRef, Component, ElementRef, Inject, OnInit, Pipe, PipeTransform, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { FileItem, FileUploader } from 'ng2-file-upload';\nimport { Constant } from 'app/Classes/constant';\nimport { locale as english } from 'app/quick-post/quick-post/i18n/en';\nimport { locale as french } from 'app/quick-post/quick-post/i18n/fr';\nimport { locale as german } from 'app/quick-post/quick-post/i18n/de';\nimport { locale as portuguese } from 'app/quick-post/quick-post/i18n/pt';\nimport { locale as gujarati } from 'app/quick-post/quick-post/i18n/gj';\nimport { locale as hindi } from 'app/quick-post/quick-post/i18n/hn';\nimport { CoreTranslationService } from '@core/services/translation.service';\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';\nimport { TranslateService } from '@ngx-translate/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { CoreConfigService } from '@core/services/config.service';\nimport { Observable, Subject, Subscription } from 'rxjs';\nimport { AuthenticationService } from 'app/auth/service';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { TextBoxComponent } from 'app/CustomComponents/text-box/text-box.component';\nimport { DeleteAttachmentInputModel, DeleteInputModel, DownloadFileInputModel, DownloadFileOutputModel } from 'app/Models/output-model';\nimport { E } from 'assets/extensions/extensions';\nimport { LightGallery } from 'lightgallery/lightgallery';\nimport { QuickPostLoadDataOutputModel, QuickPostCreateUpdateInputModel, QuickPostDocumentListOutputModel, QuickPostCreateUpdateSharingInputModel, UserQuickPostConnectionsOutputModel } from '../quick-post-model.model';\nimport { TrackersComponent } from '../trackers/trackers.component';\nimport { MapModalType, RecordsType, Status } from 'app/enums';\nimport { CustomToastrService } from 'app/Services/custom-toastr.service';\nimport { GlobalService } from 'app/Services/global.service';\nimport { LoadingScreenService } from 'app/Services/loading-screen.service';\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\nimport { MapAddressComponent } from 'app/address/map-address/map-address.component';\nimport { MapAddressDataModel, MapAddressOutputModel } from 'app/address/map-address/map-address-data-model.model';\nimport Swal from 'sweetalert2';\nimport { QuickPostService } from '../quick-post/quick-post.service';\nimport Quill from 'quill';\nimport { ModalDismissReasons, NgbModal, NgbNav } from '@ng-bootstrap/ng-bootstrap';\nimport video from 'lightgallery/plugins/video';\nimport lgvideo from 'lightgallery/plugins/video';\nimport lgVideo from 'lightgallery/plugins/video';\nimport Zoom from 'lightgallery/plugins/zoom';\nimport vimeoThumbnail from 'lightgallery/plugins/vimeoThumbnail';\nimport thumbNail from 'lightgallery/plugins/thumbnail';\nimport autoPlay from 'lightgallery/plugins/autoplay';\nimport fullScreen from 'lightgallery/plugins/fullscreen';\nimport rotate from 'lightgallery/plugins/rotate';\nimport { Router } from '@angular/router';\nimport { UploadManagerComponent } from 'app/filemanager/upload-manager/upload-manager.component';\nimport { GeneralService } from 'app/Services/general.service';\nimport { SelectSyncFileManagerComponent } from 'app/sync-file-manager/select-sync-file-manager/select-sync-file-manager.component';\nimport { NewgirdviewComponent } from 'app/CustomComponents/grid-view/newgirdview/newgirdview.component';\nimport { ColDef, ColGroupDef } from 'ag-grid-community';\nimport { FriendsComponent } from 'app/about-me/friends/friends.component';\nimport { OwnFamilyComponent } from 'app/about-me/own-family/own-family.component';\nimport { TblUserQuickPostsCommentLikes, TblUserQuickPostsComments, UserQuickPostsViewsInputModel } from '../quickpost.model';\nimport { QuickpostlistService } from 'app/quickpost-list/quickpostlist.service';\n@Component({\n selector: 'app-upload',\n templateUrl: './upload.component.html',\n styleUrls: ['./upload.component.scss'],\n \n})\nexport class UploadComponent implements OnInit {\n private _unsubscribeAll: Subject;\n @ViewChild('txtTitle') txtTitle: TextBoxComponent;\n @ViewChild('QuickPostGallery') lightGallery!: LightGallery;\n @ViewChild('nav') nav: NgbNav;\n @ViewChild('fileInput') fileInput;\n @ViewChild('uploaderContent') uploaderContent: TemplateRef;\n @ViewChild('meonweb') connectionGrid: NewgirdviewComponent;\n _ImageUrlAPI: string = Constant.API + 'api/UserQuickPost/UploadUserQuickPostDocuments';\n public uploader: FileUploader = new FileUploader({\n url: this._ImageUrlAPI,\n isHTML5: true,\n method: \"PUT\",\n itemAlias: \"MultiFileUploaderQuickPost\",\n disableMultipart: false, // 'DisableMultipart' must be 'true' for formatDataFunction to be called.\n formatDataFunction: (item: FileItem) => item._file,\n formatDataFunctionIsAsync: false,\n maxFileSize: 1 * 1024 * 1024 * 1024,\n //Notes: do not add headers here.\n authToken: `Bearer ` + this.authenticationService.currentUserValue.Token,\n allowedFileType: [\"image\", \"tiff\", \"bmp\", \"png\", \"jpg\", \"jpeg\", \"video\", \"mp4\", \"mpeg\", \"mov\", \"avi\", \"ogv\", \"webm\"]\n });\n uploaderWarning:boolean=false;\n forgotuploadWarning:boolean=false;\n settings = {\n counter: false,\n appendSubHtmlTo: '.lg-toolbar',\n commentBox: true,\n lgVideo: true,\n download: false,\n thumbnail: true,\n slideVideo: true,\n pager:false,\n autoplayFirstVideo: false,\n autoplayVideoOnSlide:false,\n plugins: [Zoom, thumbNail, autoPlay, fullScreen, rotate, lgvideo, lgVideo, video, vimeoThumbnail] //share,comment (commented for the future use)\n };\n public quillEditorContent = ``;\n public loading = false;\n public submitted = false;\n currentAppLanguage: any;\n public coreConfig: any;\n public error = '';\n dialogTitle: string;\n Ratings: any = [];\n MoodItem:any=[];\n _data: number = 0;\n public tab = 1;public IsForAbandon: boolean = false;\n public frmQuickpost: FormGroup;\n public IsForEdit: boolean = false;\n public PlaceholderQuickPost;\n // Basic Time Picker\n CurrentDateTime: Date = E.GetCurrentLocaleDateTime();\n public spinnerTPtime = { hour: this.CurrentDateTime ? this.CurrentDateTime.getHours() : 0, minute: this.CurrentDateTime ? this.CurrentDateTime.getMinutes() : 0 };\n public spinnerTP = false;\n public spinnerTftime = { hour: this.CurrentDateTime ? this.CurrentDateTime.getHours() : 0, minute: this.CurrentDateTime ? this.CurrentDateTime.getMinutes() : 0 };\n public spinnerTf = false;\n private needRefresh = false;\n private subDeleteQuickPostAtt$?: Subscription;\n public deleteDocumentsInputModel: Array = [];\n newGalleryItems: any = [];\n GalleryItems: any = [];\n GalleryItems1: any = [];\n Moods: any = [];\n MoodsRating: any = [];\n trackerId: number = 0;\n tracker: TrackersComponent;\n quickpostLoadDataOutputModel: QuickPostLoadDataOutputModel = new QuickPostLoadDataOutputModel();\n userQuickPosts: QuickPostCreateUpdateInputModel;\n userShareInputModel: QuickPostCreateUpdateSharingInputModel;\n deleteInputModel: DeleteInputModel = new DeleteInputModel();\n btnNameJorD: string;\n galleryRefresh:LightGallery;\n public downloadFileInputModel: DownloadFileInputModel;\n private subDownloadQuickpostAtt$?: Subscription;\n public customTagselected = [];\n public customTagselected1 = [];\n public customTags: any[] = [];\n public customTagNames = ['Noosom'];\n DocumentList: QuickPostDocumentListOutputModel[]= [];\n DocumentList1: QuickPostDocumentListOutputModel[]= [];\n UserQuickpostDocument: number[];\n cache: { [key: string]: string } = {};\n infoTooltip: any;\n urls: string[] = [];\n templcstg = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, localStorage.getItem('lcstrg'))) \n timeformat;\n uploadCount=0;\n dateformat: string;\n dateformat1: string;\n timeformat1: string;\n friendsList = [];\n familyList = [];\n selectAllFriends: number[] = [];\n selectAllFamily: number[] = [];\n combinedUserDetailsIds: number[]= [];\n public pageAdvancedEllipses = 1;\n public pagesNumber;\n page=0;\n filteredFriendsList = []\n filteredFamilyList = []\n newDropDown\n public MeonWebGridcolumnDefs: (ColDef | ColGroupDef)[] = [];\n public meonWebListRows: any=[];\n commentToggle:boolean = true\n commentSection = ''\n postTypeValidation: boolean;\n checkedRows: any[] = []; // Array to store checked rows\n filteredMoodList: any[] = [];\n constructor(\n private _coreTranslationService: CoreTranslationService,\n private _translateService: TranslateService,\n private dialogRef: MatDialogRef,\n private dialog: MatDialog,\n private _coreConfigService: CoreConfigService,\n private authenticationService: AuthenticationService,\n private _formBuilder: FormBuilder,\n private loadingScreenService: LoadingScreenService,\n private globalService: GlobalService,\n private _toastrService: CustomToastrService,\n private encrDecr: EncrDecrService,\n private _QuickPostService: QuickPostService,\n private quickpostlistService: QuickpostlistService,\n private el: ElementRef,\n private modalService: NgbModal,\n private cdr: ChangeDetectorRef,\n private _router:Router,\n private generalService : GeneralService,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) { \n this._coreTranslationService.translate(english, french, german, portuguese, gujarati, hindi);\n this._translateService.onLangChange.subscribe(lang => {\n // console.log('lang');\n // console.log(lang.lang);\n setTimeout(() => {\n let _LangJsonObj = this.GetCurrentLanguageJsonObject(lang.lang);\n if (_LangJsonObj)\n this.currentAppLanguage = _LangJsonObj;\n }, 100);\n })\n this._unsubscribeAll = new Subject();\n if(data.id){\n this._data=data.id;\n setTimeout(() => {\n this.tab = data.tab;\n this.nav.select(this.tab);\n this.addGridColumns();\n this.newDropDown = [\n { label: 'Add a Friend', action: () => this.openFriendFamilyDialog(FriendsComponent, 0) },\n { label: 'Add a Birth Family Member', action: () => this.openFriendFamilyDialog(OwnFamilyComponent, 2) },\n { label: 'Add an Own Family Member', action: () => this.openFriendFamilyDialog(OwnFamilyComponent, 1) },\n { label: 'Add an Other Family Member', action: () => this.openFriendFamilyDialog(OwnFamilyComponent, 3) },\n ];\n }, 500);\n }\n else{this._data=data;}\n this.globalService.currentUrls.subscribe(urls => this.urls = urls)\n this.dateformat1=this.globalService.getDateFormat()\n this.dateformat=this.globalService.getDateFormat().toUpperCase()\n if(this.globalService.getTimeFormat()=='HH:mm'){\n this.timeformat= false;\n this.timeformat1 = this.globalService.getTimeFormat();\n }else if(this.globalService.getTimeFormat()=='hh:mm a'){\n this.timeformat= true;\n this.timeformat1 = this.globalService.getTimeFormat();\n }\n }\n\n ngAfterViewChecked(): void {\n if (this.needRefresh) {\n if (this.lightGallery)\n this.galleryRefresh.refresh();\n this.needRefresh = false;\n }\n if(this.urls.length>0){\n // console.log(this.urls,'urlcheck')\n this.uploadDocumentsFromCDN(this.urls)\n this.globalService.clearUrls();\n this.urls=[]\n }\n }\n onBeforeClose = async (detail) => {\n this.galleryRefresh.refresh();\n }\n onInitGallery = (detail): void => {\n detail.instance.settings.licenseKey=this.authenticationService.currentUserValue.Parameter.LightGalleryLicenseKey\n // console.log(this.authenticationService.currentUserValue.Parameter.LightGalleryLicenseKey)\n this.lightGallery = detail.instance;\n this.galleryRefresh = detail.instance;\n const customButton = ``;\n const tagButton = ``;\n const customHelpButton = ``;\n // const refreshButton = ``\n const $toolbar = this.lightGallery.$toolbar;\n $toolbar.append(customButton);\n $toolbar.append(tagButton);\n $toolbar.append(customHelpButton);\n //$toolbar.append(refreshButton);\n document.getElementById(\"lg-custom-button-delete\").addEventListener(\"click\", async () => {\n const idname = detail.instance.galleryItems[detail.instance.index];\n await this.onDeleteDocument(idname.alt)\n let galleryItems1 = JSON.parse(JSON.stringify(detail.instance.galleryItems));\n const updatedGalleryItems = galleryItems1.filter((item, index) => index !== detail.instance.index);\n detail.instance.updateSlides(updatedGalleryItems,Math.max(detail.instance.index - 1, 0));\n detail.instance.slidesUpdated = true\n let slidesUpdated = false;\n //detail.instance.refresh();\n });\n document.getElementById(\"lg-custom-button-download\").addEventListener(\"click\", () => {\n const downloadDocument:QuickPostDocumentListOutputModel = new QuickPostDocumentListOutputModel;\n const idname = detail.instance.galleryItems[detail.instance.index];\n if(idname.src){\n downloadDocument.DocumentPath = idname.src;}\n else if(idname.video){\n downloadDocument.DocumentPath = JSON.parse(idname.video).source[0].src;\n }\n downloadDocument.DocumentId=idname.alt;\n // console.log(downloadDocument)\n this.onDownloadDocument(downloadDocument)\n });\n document.getElementById(\"lg-custom-button-help\").addEventListener(\"click\", () => {\n this.supportFunction();\n });\n // document.getElementById(\"lg-custom-button-refresh\").addEventListener(\"click\", () => {\n // detail.instance.refresh();\n // });\n };\n\n onInitGallery1 = (detail): void => {\n detail.instance.settings.licenseKey=this.authenticationService.currentUserValue.Parameter.LightGalleryLicenseKey\n // console.log(this.authenticationService.currentUserValue.Parameter.LightGalleryLicenseKey)\n this.lightGallery = detail.instance;\n this.galleryRefresh = detail.instance;\n const customButton = ``;\n const tagButton = ``;\n const customHelpButton = ``;\n // const refreshButton = ``\n const $toolbar = this.lightGallery.$toolbar;\n $toolbar.append(customButton);\n $toolbar.append(tagButton);\n $toolbar.append(customHelpButton);\n //$toolbar.append(refreshButton);\n document.getElementById(\"lg-custom-button-delete1\").addEventListener(\"click\", async () => {\n const idname = detail.instance.galleryItems[detail.instance.index];\n await this.onDeleteDocument(idname.alt)\n let galleryItems1 = JSON.parse(JSON.stringify(detail.instance.galleryItems));\n const updatedGalleryItems = galleryItems1.filter((item, index) => index !== detail.instance.index);\n detail.instance.updateSlides(updatedGalleryItems,Math.max(detail.instance.index - 1, 0));\n detail.instance.slidesUpdated = true\n let slidesUpdated = false;\n //detail.instance.refresh();\n });\n document.getElementById(\"lg-custom-button-download1\").addEventListener(\"click\", () => {\n const downloadDocument:QuickPostDocumentListOutputModel = new QuickPostDocumentListOutputModel;\n const idname = detail.instance.galleryItems[detail.instance.index];\n if(idname.src){\n downloadDocument.DocumentPath = idname.src;}\n else if(idname.video){\n downloadDocument.DocumentPath = JSON.parse(idname.video).source[0].src;\n }\n downloadDocument.DocumentId=idname.alt;\n // console.log(downloadDocument)\n this.onDownloadDocument(downloadDocument)\n });\n document.getElementById(\"lg-custom-button-help1\").addEventListener(\"click\", () => {\n this.supportFunction();\n });\n // document.getElementById(\"lg-custom-button-refresh\").addEventListener(\"click\", () => {\n // detail.instance.refresh();\n // });\n };\n\n supportFunction() {\n\n Swal.fire({\n title: \"Help!\",\n text: \"Information about the icons in the Light Gallery.\",\n imageUrl: 'assets/images/pages/raw-icon-labels.png',\n showCancelButton: false,\n confirmButtonColor: '#7367F0',\n //cancelButtonColor: '#E42728',\n confirmButtonText: \"Okay\",\n cancelButtonText: this.currentAppLanguage.data.QUICKPOST.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n\n })\n }\n\n async onDeleteDocument(userQuickPostDocumentID: number) {\n if (!userQuickPostDocumentID) {\n return;\n }\n \n try {\n await this.showConfirmationDialog();\n const result = await this.DeleteQuickPostDocument([userQuickPostDocumentID]);\n \n if (result) {\n // Next line of code after both function1 and function2 have completed\n }\n } catch (error) {\n }\n }\n \n showConfirmationDialog(): Promise {\n return new Promise((resolve) => {\n Swal.fire({\n title: this.currentAppLanguage.data.QUICKPOST.SWEET_ALERT_TITLE_QUICKPOST_IMAGE.replace('Quick Post', this.btnNameJorD+' Entry'),\n text: this.currentAppLanguage.data.QUICKPOST.SWEET_ALERT_TEXT,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: this.currentAppLanguage.data.QUICKPOST.SWEET_ALERT_CONFIRM_BUTTON_TEXT_UNLINK,\n cancelButtonText: this.currentAppLanguage.data.QUICKPOST.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1',\n },\n }).then((result) => {\n if (result.value) {\n resolve();\n }\n });\n });\n }\n \n async DeleteQuickPostDocument(UserQuickPostDocumentIds: Array): Promise {\n this.loadingScreenService.startLoading();\n \n try {\n if (UserQuickPostDocumentIds.length < 1) {\n return false;\n }\n \n this.deleteDocumentsInputModel = [];\n this.UserQuickpostDocument = UserQuickPostDocumentIds\n UserQuickPostDocumentIds.forEach((userQuickPostDocumentId) => {\n this.deleteDocumentsInputModel.push({\n DeleteID: userQuickPostDocumentId,\n UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId,\n RecordID: this._data\n });\n });\n \n const result = await this.postDataAndHandleResponse();\n \n return result;\n } catch (error) {\n console.error('An error occurred:', error);\n return false;\n } finally {\n this.loadingScreenService.stopLoading();\n }\n }\n \n private postDataAndHandleResponse(): Promise {\n return new Promise((resolve) => {\n const path = 'api/UserQuickPost/DeleteUserQuickPostDocuments';\n this.subDeleteQuickPostAtt$ = this.globalService.PostDataById(this.deleteDocumentsInputModel, path).subscribe(\n (data) => {\n const result = JSON.parse(JSON.stringify(data));\n \n if (result.status === Status.Success) {\n // Handle success\n this.handleSuccess(result);\n resolve(true);\n } else {\n // Handle failure\n this.handleFailure(result);\n resolve(false);\n }\n },\n (error) => {\n // Handle network error\n this.handleNetworkError(error);\n resolve(false);\n }\n );\n });\n }\n \n private handleSuccess(result: any): void {\n Swal.fire({\n icon: 'success',\n title: this.currentAppLanguage.data.QUICKPOST.SWEET_ALERT_TEXT_DELETED,\n text:this.currentAppLanguage.data.QUICKPOST.TOAST_MESSAGE_QUICKPOST_DELETE_SUCCESSFULLY.replace('Quick Post', this.btnNameJorD+' Entry'),\n // text: E.ConvertToString(result.message).replace('Quick post', this.btnNameJorD+' Entry'),\n confirmButtonText: this.currentAppLanguage.data.QUICKPOST.SWEET_ALERT_CONFIRM_BUTTON_TEXT_OKAY,\n customClass: {\n confirmButton: 'btn btn-success',\n },\n });\n \n // Modify this part as needed\n this.DocumentList = this.DocumentList.filter((x) => !this.UserQuickpostDocument.includes(x.DocumentId));\n const indexToRemove: number = this.GalleryItems.findIndex((item) => item.id == this.UserQuickpostDocument);\n if (indexToRemove !== -1) {\n this.GalleryItems.splice(indexToRemove, 1);\n }\n const indexToRemovenew: number = this.GalleryItems1.findIndex((item) => item.id == this.UserQuickpostDocument);\n if (indexToRemovenew !== -1) {\n this.GalleryItems1.splice(indexToRemovenew, 1);\n }\n }\n \n private handleFailure(result: any): void {\n this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n }\n \n private handleNetworkError(error: any): void {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n }\n\n\n async onDownloadDocument(document: QuickPostDocumentListOutputModel) {\n if (document) {\n await this.DownloadMyAddressDocument(document);\n }\n }\n async DownloadMyAddressDocument(Document: QuickPostDocumentListOutputModel, IsDownloadAll = false) {\n //console.log('DeleteMyAddressDocument');\n this.loadingScreenService.startLoading();\n if (typeof Document === 'undefined' || Document == null) {\n return false;\n }\n this.downloadFileInputModel = {\n DownloadID: Document.DocumentId,\n FilePath: Document.DocumentPath,\n UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId\n };\n let promise = new Promise((resolve, reject) => {\n var Result: boolean = false;\n const path = 'api/UserQuickPost/DownloadUserQuickPostDocuments';\n this.subDownloadQuickpostAtt$ = this.globalService.PostDataById(this.downloadFileInputModel, path).subscribe(\n (result) => {\n this.loadingScreenService.stopLoading();\n if (result.status == Status.Success) {\n let _downloaded = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)));\n var sampleArr = this.globalService.base64ToArrayBuffer(E.ConvertToString(_downloaded.FileBase64String));\n this.globalService.saveByteArray(_downloaded.FileName, sampleArr, _downloaded.FileMimeType);\n if (IsDownloadAll === false)\n this._toastrService.Success('Downloaded Successfully.', Constant.SuccessToastrTitle);\n //console.log(this.DocumentList);\n Result = true;\n }\n else {\n this._toastrService.Error(result.message, Constant.ErrorToastrTitle);\n Result = false;\n }\n resolve(Result);\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n this.loadingScreenService.stopLoading();\n resolve(Result);\n }\n );\n });\n return await promise;\n }\n\n ngOnInit(): void {\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n this.currentAppLanguage = this.GetCurrentLanguageJsonObject(this.coreConfig.app.appLanguage);\n if(this.templcstg){\n if(this.templcstg.DiaryOrJournal == '2'){\n this.btnNameJorD= this.currentAppLanguage.data.QUICKPOST.HEADING_TEXT_JOURNAL;\n }\n else{\n this.btnNameJorD= this.currentAppLanguage.data.QUICKPOST.HEADING_TEXT_DIARY;\n }\n }\n else if(this.authenticationService.currentUserValue.NoosomTypeId === 2){\n this.btnNameJorD= this.currentAppLanguage.data.QUICKPOST.HEADING_TEXT_JOURNAL;\n }\n else{\n this.btnNameJorD= this.currentAppLanguage.data.QUICKPOST.HEADING_TEXT_DIARY;\n }\n this.infoTooltip= this.currentAppLanguage.data.QUICKPOST.INFO_TEXT;\n // const editorElement: HTMLElement = this.el.nativeElement.querySelector('#editor');\n \n // // Check if the element is not null before accessing the style property\n // if (editorElement) {\n // editorElement.style.height = '400px';\n // }\n this.dialogTitle=this.btnNameJorD;\n this.dialogRef.keydownEvents().subscribe(event => {\n if (event.key.toLocaleLowerCase() === \"escape\") {\n this.onCloseButtonClick();\n }\n });\n this.frmQuickpost = this._formBuilder.group({\n Title: ['', Validators.required],\n DiaryDate: [new Date(), Validators.required],\n DiaryTimeFrom: [, Validators.required],\n DiaryTimeTo: [, Validators.required],\n Location: [''],\n TagCategory: [],\n PostContent: ['', Validators.required],\n QuickPostTypeId: [, Validators.required],\n MoodId:[],\n MoodRatingId:[],\n });\n if (this._data == 0) {\n setTimeout(() => {\n this.customTagNames.forEach((c, i) => {\n this.customTags = [...this.customTags, { id: i, name: c, tag: true }];\n this.customTagselected = [...this.customTagselected, { id: i, name: c, tag: true }];\n });\n }, 10);\n }\n this.uploader.onAfterAddingFile = (file: any) => {\n if((this.uploader.queue.length>0) && (this.uploader.isUploading==false)){\n this.forgotuploadWarning=true;}\n file.withCredentials = false;\n };\n this.uploader.onBuildItemForm = (fileItem: any, form: any) => {\n fileItem.withCredentials = false;\n };\n this.uploader.onBeforeUploadItem = (fileItem) => {\n this.loadingScreenService.startLoading();\n this.uploader.setOptions({\n headers: [\n { name: 'Access-Control-Allow-Origin', value: \"*\" },\n { name: 'FileSize', value: fileItem.file.size },\n { name: 'UserDetailsID', value: E.ConvertToString(this.authenticationService.currentUserValue.UserDetailsId) },\n { name: 'UserQuickPostID', value: E.ConvertToString(this._data) }]\n });\n return fileItem;\n };\n \n this.uploader.response.subscribe(async result => {\n //console.log(result)\n if (result) {\n this.loadingScreenService.startLoading();\n let _result = JSON.parse(result);\n if(this.uploader.progress!=100){\n this.uploaderWarning=true;\n this.loadingScreenService.startLoading();\n }else if(this.uploader.progress==100){\n this.uploaderWarning=false;\n this.forgotuploadWarning=false;\n //this.uploadCount = 0;\n this.loadingScreenService.stopLoading();\n }\n if (_result.status == Status.Success) {\n this._toastrService.Success(\"File Uploaded Successfully\")\n this.uploadCount = this.uploadCount+1;\n let _QuickPostDocument = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, _result.data));\n if (_QuickPostDocument.DocumentSubType.toLocaleLowerCase() == \"documents\") {\n this.DocumentList.push(_QuickPostDocument);\n this.DocumentList1.push(_QuickPostDocument);\n }\n else if (_QuickPostDocument.DocumentSubType.toLocaleLowerCase() == \"images\" || \"videos\") {\n await this.AddItemToGallery(_QuickPostDocument.DocumentId, _QuickPostDocument.DocumentPath, _QuickPostDocument.DocumentOldName,_QuickPostDocument.Size ,_QuickPostDocument.DocumentSubType,_QuickPostDocument.CreatedDate,_QuickPostDocument.CreatedTime);\n await this.AddItemToGallery1(_QuickPostDocument.DocumentId, _QuickPostDocument.DocumentPath, _QuickPostDocument.DocumentOldName,_QuickPostDocument.Size ,_QuickPostDocument.DocumentSubType,_QuickPostDocument.CreatedDate,_QuickPostDocument.CreatedTime);\n this.needRefresh = true;\n }\n }\n else if(_result.status == Status.StorageFull){\n // this.uploader.destroy();\n this.loadingScreenService.stopLoading();\n this.uploader.cancelAll();\n // this.uploader.removeFromQueue();\n // this.uploader.cancelItem()\n this.uploader.clearQueue()\n Swal.fire({\n title: \"Storage Full\",\n text: _result.message,\n icon: 'error',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: \"Buy More Storage\",\n cancelButtonText: this.currentAppLanguage.data.QUICKPOST.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n })\n .then(\n (async (result) => {\n if (result.value) {\n //this.uploader.clearQueue();\n this.dialogRef.close(true);\n this._router.navigate(['/pages/pricing'])\n }\n })\n );\n \n }\n }\n // console.log(\"error2\")\n // this.loadingScreenService.stopLoading();\n });\n\n setTimeout(() => {\n this.loadingScreenService.startLoading();\n const path = 'api/UserQuickPost/GetUserQuickPostLoadData';\n let response: Observable;\n var input = {\n recordId: this._data,\n docYN:false\n }\n response = this.globalService.PostDataById(input, path);\n response.subscribe(\n (result) => {\n this.loadingScreenService.stopLoading();\n if (result.status == Status.Success) {\n this.quickpostLoadDataOutputModel = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)));\n if (this.quickpostLoadDataOutputModel.QuickPostDocumentList) {\n this.quickpostLoadDataOutputModel.QuickPostDocumentList.forEach(async(doc) => {\n if (doc.DocumentSubType.toLocaleLowerCase() == \"documents\") {\n this.DocumentList.push(doc);\n }\n else if (doc.DocumentSubType.toLocaleLowerCase() == (\"images\") || (\"videos\")) {\n //console.log(doc.FileType.toLocaleLowerCase())\n await this.AddItemToGallery(doc.DocumentId, doc.DocumentPath, doc.DocumentOldName, doc.Size,doc.DocumentSubType,doc.CreatedDate, doc.CreatedTime);\n this.needRefresh = true;\n }\n });\n }\n this.getAttachmentList('Images');\n if (this.quickpostLoadDataOutputModel.UserQuickPost) {\n this.userQuickPosts = this.quickpostLoadDataOutputModel.UserQuickPost;\n let _diaryTimefrom = E.ConvertToDate(this.userQuickPosts.DiaryTimeFrom);\n let _diaryTimeto = E.ConvertToDate(this.userQuickPosts.DiaryTimeTo);\n if(this.quickpostLoadDataOutputModel.MoodList){\n this.quickpostLoadDataOutputModel.MoodList.forEach((mood)=>{\n this.Moods=this.quickpostLoadDataOutputModel.MoodList;\n this.AddMoodList(mood.EmotionPath,mood.MoodId,mood.MoodName,mood.OrderSequence,mood.Rating);\n });\n this.filteredMoodList = [...this.MoodItem];\n }\n if (this.quickpostLoadDataOutputModel.MoodRatingList) {\n this.MoodsRating=this.quickpostLoadDataOutputModel.MoodRatingList;\n this.quickpostLoadDataOutputModel.MoodRatingList.forEach((mood)=>{\n this.AddMoodRating(mood.IconPath,mood.MoodRatingId,mood.MoodRatingName,mood.OrderSequence);\n });\n } \n if(this.userQuickPosts.TagCategory)\n this.customTags = JSON.parse(E.ConvertToString(this.userQuickPosts.TagCategory));\n setTimeout(() => {\n this.customTagselected = [];\n this.customTags.forEach(x => {\n if (typeof x.tag === 'undefined' || x.tag == true) {\n this.customTagselected = [...this.customTagselected, { id: x.id, name: x.name, tag: true }];\n }\n });\n this.customTagselected1=this.customTagselected\n }, 10);\n let _postContent = this.userQuickPosts.PostContent;\n let modid= 'rating'+this.userQuickPosts.MoodId;\n let rateingsid = 'bar'+this.userQuickPosts.MoodRatingId;\n if(this.userQuickPosts.QuickPostTypeId==3){\n this.userQuickPosts.QuickPostTypeId=2\n }\n if (this.userQuickPosts.QuickPostTypeId==1 || this.userQuickPosts.QuickPostTypeId==4){\n this.postTypeValidation = false;\n }\n else{this.postTypeValidation = true;}\n this.frmQuickpost.setValue({\n Title: this.userQuickPosts.Title,\n DiaryDate: E.ConvertToDate(this.userQuickPosts.DiaryDate),\n DiaryTimeFrom: { hour: _diaryTimefrom ? _diaryTimefrom.getHours() : 0, minute: _diaryTimefrom ? _diaryTimefrom.getMinutes() : 0 },\n DiaryTimeTo: { hour: _diaryTimefrom ? _diaryTimeto.getHours() : 0, minute: _diaryTimeto ? _diaryTimeto.getMinutes() : 0 },\n Location: this.userQuickPosts.Location,\n PostContent: _postContent,\n TagCategory: this.userQuickPosts.TagCategory,\n QuickPostTypeId: this.userQuickPosts.QuickPostTypeId,\n MoodId:modid,\n MoodRatingId:rateingsid,\n });\n }\n if (this.quickpostLoadDataOutputModel.QuickPostTypeList.length > 0) {\n // console.log(this.quickpostLoadDataOutputModel.QuickPostTypeList)\n this.quickpostLoadDataOutputModel.QuickPostTypeList = this.mergeQuickPostTypes(this.quickpostLoadDataOutputModel.QuickPostTypeList)\n this.quickpostLoadDataOutputModel.QuickPostTypeList = this.quickpostLoadDataOutputModel.QuickPostTypeList.map((p) =>\n p.QuickPostTypeName.toLocaleLowerCase() == 'private' ? p : { ...p }\n );\n let _private = this.quickpostLoadDataOutputModel.QuickPostTypeList.filter(x => x.QuickPostTypeName.toLocaleLowerCase() == 'private');\n if (_private && _private[0] && this.frmQuickpost.get('QuickPostTypeId').value == null)\n this.frmQuickpost.get('QuickPostTypeId').setValue(_private[0].QuickPostTypeId);\n }\n this.getUserQuickPostSharingById();\n }\n else {\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loadingScreenService.stopLoading();\n }\n );\n }, 500);\n let inputModel = {\n UserDetailsId: this.authenticationService.currentUserValue.UserDetailsId\n };\n\n this.GetUserConnectionRequests(inputModel)\n this.onLoadConnectionList();\n } \n\n uploadDocumentsFromCDN(cdnUrls: string[]) {\n this.fetchDocuments(cdnUrls).then(files => {\n if (files && files.length > 0) {\n // this.uploader.clearQueue();\n this.uploader.addToQueue(files);\n }\n }).catch(error => {\n console.error('Error fetching documents from CDN:', error);\n });\n }\n\n mergeQuickPostTypes(quickPostTypes) {\n return quickPostTypes.map(postType => {\n if (postType.QuickPostTypeId === 2) {\n // Merge \"Family\" and \"Friends\" into \"Shared\"\n return {\n QuickPostTypeId: 2,\n QuickPostTypeName: \"Shared\",\n OrderSequence: 2\n };\n } else if (postType.QuickPostTypeId === 3) {\n // Exclude the \"Friends\" entry by returning null\n return null;\n }\n // Return all other post types as they are\n return postType;\n }).filter(postType => postType !== null); // Remove null entries\n}\n \n fetchDocuments(cdnUrls: string[]): Promise {\n return Promise.all(cdnUrls.map(cdnUrl => this.fetchDocument(cdnUrl)));\n }\n \n fetchDocument(cdnUrl: string): Promise {\n return fetch(cdnUrl)\n .then(response => response.blob())\n .then(blob => {\n const contentType = blob.type;\n const fileName = cdnUrl.split('/').pop();\n return new File([blob], fileName, { type: contentType });\n });\n }\n\n triggerFileUpload() {\n this.fileInput.nativeElement.click();\n }\n \n\n checkQueueLength(queuLength){\n if((queuLength>0) && (this.uploader.isUploading==false)){\n this.forgotuploadWarning=true;}\n else if(queuLength==0)\n {this.forgotuploadWarning=false;\n this.uploaderWarning=false;\n }\n }\n\n onTabActive(tabNumber:number){\n if(tabNumber==1){this.infoTooltip= this.currentAppLanguage.data.QUICKPOST.INFO_TEXT;}\n else if(tabNumber==2){this.addGridColumns();\n this.newDropDown = [\n { label: 'Add a Friend', action: () => this.openFriendFamilyDialog(FriendsComponent, 0) },\n { label: 'Add a Birth Family Member', action: () => this.openFriendFamilyDialog(OwnFamilyComponent, 2) },\n { label: 'Add an Own Family Member', action: () => this.openFriendFamilyDialog(OwnFamilyComponent, 1) },\n { label: 'Add an Other Family Member', action: () => this.openFriendFamilyDialog(OwnFamilyComponent, 3) },\n ];\n }\n else if(tabNumber==5){this.infoTooltip= this.currentAppLanguage.data.QUICKPOST.INFO_TEXT3;}\n else if(tabNumber==3){this.infoTooltip= this.currentAppLanguage.data.QUICKPOST.INFO_TEXT1;}\n else if(tabNumber==4){this.infoTooltip= this.currentAppLanguage.data.QUICKPOST.INFO_TEXT2;\n this.getAttachmentList('Images');\n }\n this.tab=tabNumber;\n }\n\n onOptionClick(data){\n console.log(data)\n }\n\n loadPage(event,filetype){\n // this.savePosition();\n this.pageAdvancedEllipses\n this.getAttachmentList(filetype,event)\n // setTimeout(() => this.restorePosition(), 0);\n }\n\n getAttachmentList(FileType?,page?) {\n this.GalleryItems=[]\n //this.needRefresh = true;\n if(page)\n this.page = page\n var getMyAttachmentsInputModel = {\n RecordId: this._data,\n Page:this.page,\n Pagesize:20,\n FileType:FileType,\n // QuickPostType:QuickPostType.Public,\n GetMetaDataYN:false\n }\n this.loadingScreenService.startLoading();\n this.generalService.GetUserQuickPostDocumentsById(getMyAttachmentsInputModel).subscribe(async result => {\n if (result) {\n if (result.status == Status.Success) {\n let _attachmentlist = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n // console.log(_attachmentlist)\n if (_attachmentlist) {\n _attachmentlist.forEach(async(doc) => {\n if (doc.DocumentSubType.toLocaleLowerCase() == \"documents\") {\n this.DocumentList.push(doc);\n }\n else if (doc.DocumentSubType.toLocaleLowerCase() == \"images\" || \"videos\") {\n await this.AddItemToGallery(doc.DocumentId, doc.DocumentPath, doc.DocumentOldName,doc.Size ,doc.DocumentSubType, doc.CreatedDate, doc.CreatedTime);\n \n this.needRefresh = true;\n }\n if(_attachmentlist[0]?.TotalNumberOfRecords>0)\n this.pagesNumber=_attachmentlist[0]?.TotalNumberOfRecords;\n });\n } \n this.loadingScreenService.stopLoading();\n }\n else {\n this.loadingScreenService.stopLoading();\n this._toastrService.Error(result.Message, Constant.ErrorToastrTitle);\n }\n }\n });\n }\n openFilemanager(){\n var matdata = {\n RecordId : this._data,\n RecordType: RecordsType.QuickPost\n }\n this.openDialog(SelectSyncFileManagerComponent,matdata)\n }\n\n openDialog(component: any, _data: any = []) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = false;\n dialogConfig.width = \"66%\"\n dialogConfig.height=\"60%\"\n dialogConfig.position={\n top:\"10%\"\n }\n dialogConfig.data = _data;\n const dialogRef = this.dialog.open(component, dialogConfig);\n dialogRef.afterClosed().subscribe(\n data => {\n if(data){\n this.nav.select(4);\n this.getAttachmentList('Images');\n }\n }\n );\n }\n\n openFriendFamilyDialog(component: any, _data: any = []) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.autoFocus = false;\n dialogConfig.width = this.isMobileScreen() ? '100%' : '60%';\n //dialogConfig.height = \"80%\";\n dialogConfig.data = _data;\n const dialogRef = this.dialog.open(component, dialogConfig);\n dialogRef.afterClosed().subscribe(\n data => {\n if(data)\n this.loadData();\n }\n );\n }\n private isMobileScreen(): boolean {\n return window.innerWidth <= 767; // You can adjust this value as per your requirements\n }\n\n onKeydown(event: KeyboardEvent) {\n if (event.key === ' ') {\n event.preventDefault(); // Prevent scrolling or input field focus\n const inputElement = event.target as HTMLElement;\n const activeItem = document.querySelector('.ng-option-marked');\n\n if (activeItem) {\n // Simulate a click on the highlighted option to select it\n (activeItem as HTMLElement).click();\n }\n }\n }\n\n AddMoodList(url:string,id:number,name:string,sequence:number,rating:number){\n this.MoodItem= [\n ...this.MoodItem,\n {\n moodpath:url,\n moodid:id,\n moodname:name,\n moodorder:sequence,\n moodrating:rating,\n },\n ];\n }\n\n AddMoodRating(url:string,id:number,name:string,order:number){\n this.Ratings= [\n ...this.Ratings,\n {\n _url:url,\n _id:id,\n _name:name,\n _order:order,\n }\n ];\n }\n\n onSearchOnMapClick() {\n this.openDialogMapAddress();\n }\n\n addTagMethod = (term) => {\n //console.log(term);\n this.customTags = [...this.customTags, { id: this.customTags.length, name: term, tag: true }];\n //console.log(this.customTags);\n //console.log(this.customTagselected);\n return { id: term, name: term };\n };\n\n removeTagMethod(term) {\n //console.log('removeTagMethod');\n //console.log(term);\n //console.log(term.index);\n //console.log(this.customTags[term.index].tag)\n this.customTags[term.index].tag = false;\n //console.log(this.customTags);\n }\n\n selectAddTagMethod(obj) {\n //console.log('selectAddTagMethod');\n //console.log(this.customTags.indexOf(obj));\n if (this.customTags && obj) {\n if (this.customTags.indexOf(obj) > -1) {\n //console.log(obj);\n this.customTags[obj.id].tag = true;\n }\n }\n //console.log(this.customTags);\n }\n\n OnQuickPostTimeChangeFrom($event){\n let timefrom = this.frmQuickpost.get('DiaryTimeFrom').value;\n let timeto = this.frmQuickpost.get('DiaryTimeTo').value;\n if (timefrom && timeto) { \n if(timefrom.hour>=timeto.hour){\n if(timefrom.minute>timeto.minute){\n //this.frmQuickpost.get('DiaryTimeFrom').disable();\n this.frmQuickpost.get('DiaryTimeFrom').setValue(timeto)\n }\n }\n }\n }\n\n onSubmit(tabs: boolean) {\n if(this.uploaderWarning){\n Swal.fire({\n title: 'Warning',\n text: 'Your documents or files are still uploading. Please note that any remaining files will not be uploaded or will be terminated if you proceed to submit the form. Are you sure you want to continue?',\n icon: 'warning',\n showCancelButton: true,\n confirmButtonText: 'Continue',\n cancelButtonText: 'Cancel',\n customClass: {\n confirmButton: 'btn btn-danger',\n cancelButton: 'btn btn-success'\n }\n }).then((result) => {\n if (result.isConfirmed) {\n this.uploaderWarning=false;\n this.onSubmit(tabs)\n }\n else{\n this.nav.select(3);\n }\n });\n return;\n }\n if(this.forgotuploadWarning){\n Swal.fire({\n title: 'Warning',\n text: 'You have some documents or files to upload. Please note that all your files will not be uploaded or will be terminated if you proceed to submit the form. Are you sure you want to submit the form?',\n icon: 'warning',\n showCancelButton: true,\n confirmButtonText: 'Continue',\n cancelButtonText: 'Cancel',\n customClass: {\n confirmButton: 'btn btn-danger',\n cancelButton: 'btn btn-success'\n }\n }).then((result) => {\n if (result.isConfirmed) {\n this.forgotuploadWarning=false;\n this.onSubmit(tabs)\n }\n else{\n this.nav.select(3);\n }\n });\n return;\n }\n this.submitted = true;\n if (this.frmQuickpost.invalid) {\n return;\n }\n this.submitted = false;\n if (this.userQuickPosts == null) {\n this.userQuickPosts = new QuickPostCreateUpdateInputModel();\n }\n this.userQuickPosts.UserDetailsId = this.authenticationService.currentUserValue.UserDetailsId;\n this.userQuickPosts.Title = this.frmQuickpost.get('Title').value;\n this.userQuickPosts.DiaryDate = E.GetDateStringOnly(this.frmQuickpost.get('DiaryDate').value);\n this.userQuickPosts.DiaryTimeFrom = E.GetMinDateWithTime(this.spinnerTPtime.hour, this.spinnerTPtime.minute).toISOString();// '1900-01-01 10:30:00.000';\n this.userQuickPosts.DiaryTimeTo = E.GetMinDateWithTime(this.spinnerTftime.hour, this.spinnerTftime.minute).toISOString();// '1900-01-01 10:30:00.000';\n this.userQuickPosts.Location = this.frmQuickpost.get('Location').value;\n if(this.frmQuickpost.get('QuickPostTypeId').value == 1 || this.frmQuickpost.get('QuickPostTypeId').value == 4){\n this.userQuickPosts.QuickPostTypeId = this.frmQuickpost.get('QuickPostTypeId').value\n this.checkedRows=[];\n }\n else if(this.checkedRows.length==0 && this.frmQuickpost.get('QuickPostTypeId').value == 2){\n this.userQuickPosts.QuickPostTypeId = 1;\n }else{this.userQuickPosts.QuickPostTypeId = this.frmQuickpost.get('QuickPostTypeId').value;\n }\n\n this._QuickPostService.getTracker().subscribe(x => {\n if(x)\n this.userQuickPosts.MoodId = x;\n else\n this.userQuickPosts.MoodId = 1\n });\n \n this._QuickPostService.getRating().subscribe(x => {\n if(x)\n this.userQuickPosts.MoodRatingId = x;\n else\n this.userQuickPosts.MoodRatingId = 3\n });\n\n\n let _tags = JSON.stringify(this.customTags);\n this.userQuickPosts.TagCategory = _tags;\n this.userQuickPosts.PostContent = E.ConvertToString(this.frmQuickpost.get('PostContent').value);\n if (E.ConvertToNumber(this.userQuickPosts.UserQuickPostId) == 0 && this.IsForEdit == false) {\n this.userQuickPosts.CreatedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.userQuickPosts.CreatedDate = E.GetTodayDateStringOnly();\n this.userQuickPosts.CreatedTime = E.GetTodayTimeStringOnly();\n this.userQuickPosts.ChangedDate = E.GetTodayDateStringOnly();\n this.userQuickPosts.ChangedTime = E.GetTodayTimeStringOnly();\n }\n else {\n this.userQuickPosts.ChangedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.userQuickPosts.ChangedDate = E.GetTodayDateStringOnly();\n this.userQuickPosts.ChangedTime = E.GetTodayTimeStringOnly();\n }\n if (this.tab <= 2 ||this.IsForEdit) {\n this.loading = true;\n this.loadingScreenService.startLoading();\n const path = 'api/UserQuickPost/CreateUpdateUserQuickPost';\n let response: Observable;\n response = this.globalService.PostDataById(this.userQuickPosts, path);\n response.subscribe(\n (result) => {\n this.loading = false;\n this.loadingScreenService.stopLoading();\n var message = \"\"; var errormessage = \"\";\n this.shareFromGrid();\n if (result.status == Status.RecordAdded) {\n message = this.currentAppLanguage.data.QUICKPOST.TOAST_MESSAGE_QUICKPOST_ADDED_SUCCESSFULLY.replace('Quick Post', this.btnNameJorD+' Entry');\n this.tab = this.tab + 1;\n this.nav.select(this.tab)\n const jsonString = this.encrDecr.get(Constant.EncrDecrKey, result.data);\n const parsedObject = JSON.parse(jsonString);\n this._data = parsedObject.Data.UserQuickPostId\n this.userQuickPosts.UserQuickPostId=parsedObject.Data.UserQuickPostId;\n this.loadData();\n this.IsForAbandon=true;\n }\n else if (result.status == Status.RecordUpdated) {\n message = this.currentAppLanguage.data.QUICKPOST.TOAST_MESSAGE_QUICKPOST_UPDATED_SUCCESSFULLY.replace('Quick Post', this.btnNameJorD+' Entry');\n // this.setCreateUpdateShare();\n if(!tabs)\n {this.tab=this.tab+1\n this.nav.select(this.tab)}\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n if (message.length > 0) {\n this._toastrService.Success(message, Constant.SuccessToastrTitle);\n if ((this.tab == 1) || tabs) {\n this.dialogRef.close(true);\n this.frmQuickpost.reset();}\n this.frmQuickpost.patchValue({\n });\n }\n else {\n this._toastrService.Error(errormessage, Constant.ErrorToastrTitle);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n }\n else if (this.tab >= 2 && this.tab <= 5) {\n this.tab = this.tab + 1;\n this.nav.select(this.tab)\n if (tabs) {\n this.dialogRef.close(true);\n this.frmQuickpost.reset();\n }\n }\n }\n\n\n loadData(){\n const path = 'api/UserQuickPost/GetUserQuickPostLoadData';\n let response: Observable;\n var input = {\n recordId: this._data,\n docYN:false\n }\n response = this.globalService.PostDataById(input, path);\n response.subscribe(\n (result) => {\n this.loadingScreenService.stopLoading();\n if (result.status == Status.Success) {\n this.quickpostLoadDataOutputModel = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)));\n if (this.quickpostLoadDataOutputModel.UserQuickPost) {\n if (this.quickpostLoadDataOutputModel.MoodRatingList) {\n this.quickpostLoadDataOutputModel.MoodRatingList.forEach((mood)=>{\n this.AddMoodRating(mood.IconPath,mood.MoodRatingId,mood.MoodRatingName,mood.OrderSequence);\n });\n }\n \n if(this.quickpostLoadDataOutputModel.MoodList){\n this.quickpostLoadDataOutputModel.MoodList.forEach((mood)=>{\n this.AddMoodList(mood.EmotionPath,mood.MoodId,mood.MoodName,mood.OrderSequence,mood.Rating);\n });\n this.filteredMoodList = [...this.MoodItem];\n let modid= 'rating'+this.userQuickPosts.MoodId;\n let rateingsid = 'bar'+this.userQuickPosts.MoodRatingId;\n this.frmQuickpost.get('MoodId').setValue(modid)\n this.frmQuickpost.get('MoodRatingId').setValue(rateingsid)\n }}\n // return this.quickpostLoadDataOutputModel;\n }\n else {\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loadingScreenService.stopLoading();\n }\n );\n \n}\n \n\n OnQuickPostTimeChange(event) {\n let timefrom = this.frmQuickpost.get('DiaryTimeFrom').value;\n let timeto = this.frmQuickpost.get('DiaryTimeTo').value;\n if (timefrom && timeto) { \n if((timefrom.hour>=timeto.hour)){\n if(timefrom.hour>timeto.hour){ \n timefrom.hour = timeto.hour\n this.frmQuickpost.get('DiaryTimeFrom').setValue(timeto);\n }\n if(timefrom.minute>=timeto.minute)\n this.frmQuickpost.get('DiaryTimeFrom').setValue(timeto);\n }\n }\n if (timeto)\n this.spinnerTftime = timeto;\n }\n\n onFileSelected(event:any){\n this.uploader.uploadAll();\n }\n \n async AddItemToGallery1(_id: number, _url: string, documentname: string, documentsize: string, filetype: string,CreatedDate:string, CreatedTime:string): Promise {\n const loadingItem = {\n id: _id,\n size: '280-100',\n src: _url,\n data: await this.generateVideoData(_url),\n thumb: 'https://noosom1sg.b-cdn.net/NoosomAssets/Images/noosomads/Logo-3-1.gif', // Placeholder or loading indicator for the thumbnail\n subHtml: documentname, documentsize,\n type: filetype,\n name: documentname,\n createdDate:CreatedDate,\n createdTime:CreatedTime\n };\n \n this.GalleryItems1.push(loadingItem);\n let thumb = this.cache[_url]; // Check if thumbnail is already in cache\n \n if (!thumb) {\n thumb = await this.generateThumbnailFromVideoURL(_url, filetype);\n this.cache[_url] = thumb; // Save the thumbnail to cache\n }\n \n const galleryItem = {\n id: _id,\n size: '280-100',\n src: _url,\n data: await this.generateVideoData(_url),\n thumb: thumb,\n subHtml: documentname, documentsize,\n type: filetype,\n name: documentname,\n createdDate:CreatedDate,\n createdTime:CreatedTime\n };\n const index = this.GalleryItems1.findIndex(item => item.id === _id);\n this.GalleryItems1[index] = galleryItem;\n // console.log(this.attachmentlist)\n }\n\n\n async AddItemToGallery(_id: number, _url: string, documentname: string, documentsize: string, filetype: string,CreatedDate:string, CreatedTime:string): Promise {\n const loadingItem = {\n id: _id,\n size: documentsize,\n src: _url,\n data: await this.generateVideoData(_url),\n thumb: 'https://noosom1sg.b-cdn.net/NoosomAssets/Images/noosomads/Logo-3-1.gif', // Placeholder or loading indicator for the thumbnail\n subHtml: documentname, documentsize,\n type: filetype,name: documentname,\n createdDate:CreatedDate,\n createdTime:CreatedTime\n };\n if(loadingItem.type==\"Images\"){\n this.newGalleryItems.push(loadingItem)\n }\n this.GalleryItems.push(loadingItem)\n // this.GalleryItems.push(loadingItem);\n let thumb = this.cache[_url]; // Check if thumbnail is already in cache\n \n if (!thumb) {\n thumb = await this.generateThumbnailFromVideoURL(_url, filetype);\n this.cache[_url] = thumb; // Save the thumbnail to cache\n }\n \n const galleryItem = {\n id: _id,\n size: documentsize,\n src: _url,\n data: await this.generateVideoData(_url),\n thumb: thumb,\n subHtml: documentname, documentsize,\n type: filetype,\n name: documentname,\n createdDate:CreatedDate,\n createdTime:CreatedTime\n };\n const index = this.GalleryItems.findIndex(item => item.id === _id);\n this.GalleryItems[index] = galleryItem;\n //console.log(this.GalleryItems)\n }\n \n \n async generateThumbnailFromVideoURL(videoURL: string, type: string): Promise {\n if (type === \"Videos\") {\n return new Promise((resolve, reject) => {\n const video = document.createElement('video');\n video.crossOrigin = 'anonymous'; // Enable cross-origin for video\n video.src = videoURL;\n \n video.addEventListener('loadedmetadata', () => {\n video.currentTime = 10.5; // Adjust as needed\n \n video.addEventListener('seeked', () => {\n const canvas = document.createElement('canvas');\n canvas.width = video.videoWidth;\n canvas.height = video.videoHeight;\n \n const ctx = canvas.getContext('2d');\n ctx.drawImage(video, 0, 0, canvas.width, canvas.height);\n \n // Draw a play icon in the center of the canvas\n const playIconSize = 250; // Adjust the size as needed\n ctx.fillStyle = 'rgba(255, 255, 255, 0.7)';\n ctx.beginPath();\n ctx.moveTo(canvas.width / 2 - playIconSize / 2, canvas.height / 2 - playIconSize / 2);\n ctx.lineTo(canvas.width / 2 + playIconSize / 2, canvas.height / 2);\n ctx.lineTo(canvas.width / 2 - playIconSize / 2, canvas.height / 2 + playIconSize / 2);\n ctx.closePath();\n ctx.fill();\n \n // Resolve with the data URL of the canvas\n resolve(canvas.toDataURL('image/png'));\n \n // Clean up\n canvas.remove();\n video.remove();\n });\n \n video.addEventListener('error', (error) => {\n resolve(\"assets/images/pages/Cannot_play.png\")\n // reject(`Error loading video: ${error.message}`);\n });\n });\n \n video.addEventListener('error', (error) => {\n resolve(\"assets/images/pages/Cannot_play.png\")\n // reject(`Error loading video metadata: ${error.message}`);\n });\n \n // Load the video\n video.load();\n });\n }\n }\n \n async generateVideoData(src): Promise {\n const videoData = {\n source: [{ src: src, type: 'video/mp4' }],\n attributes: { preload: true, controls: true }\n };\n return JSON.stringify(videoData);\n }\n\n async onDeleteClick() {\n //console.log('onDeleteClick');\n if (!this.userQuickPosts || !this.userQuickPosts.UserQuickPostId) {\n this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n return;\n }\n\n //console.log('OnAddressDeleteClick');\n Swal.fire({\n title: this.currentAppLanguage.data.QUICKPOST.SWEET_ALERT_TITLE_QUICKPOST_TEXT,\n text: this.currentAppLanguage.data.QUICKPOST.SWEET_ALERT_TEXT,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: this.currentAppLanguage.data.QUICKPOST.SWEET_ALERT_CONFIRM_BUTTON_TEXT,\n cancelButtonText: this.currentAppLanguage.data.QUICKPOST.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n })\n .then(\n (async (result) => {\n if (result.value) {\n const a = await this.DeleteThisQuickPost(this.userQuickPosts.UserQuickPostId);\n }\n })\n );\n }\n async DeleteThisQuickPost(UserQuickPostId: number) {\n this.loadingScreenService.startLoading();\n this.deleteInputModel = {\n DeleteID: UserQuickPostId,\n UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId\n }\n let promise = new Promise((resolve, reject) => {\n var Result: boolean;\n const path = 'api/UserQuickPost/DeleteUserQuickPost';\n let response: Observable;\n response = this.globalService.PostDataById(this.deleteInputModel, path);\n response.subscribe(\n (data) => {\n this.loadingScreenService.stopLoading();\n //console.log(data);\n var result = JSON.parse(JSON.stringify(data));\n //console.log(result);\n if (result.status == Status.Success) {\n Swal.fire({\n icon: 'success',\n title: this.currentAppLanguage.data.QUICKPOST.SWEET_ALERT_DELETE_TEXT,\n text: E.ConvertToString(result.message),\n customClass: {\n confirmButton: 'btn btn-success'\n }\n });\n this.dialogRef.close(close);\n Result = true;\n }\n else {\n this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n Result = false;\n }\n resolve(Result);\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n this.loadingScreenService.stopLoading();\n }\n );\n });\n return await promise;\n }\n\n OnClickMood(_moodid){\n this._QuickPostService.setTracker(_moodid);\n// console.log(_moodid)\n }\n \n OnClickRating(id){\n this._QuickPostService.setRating(id);\n // console.log(id)\n }\n\n onQuickPostChange(event) {\n this.PlaceholderQuickPost = (event == null || (event != null && event < 1)) ? this.currentAppLanguage.data.QUICKPOST.PLACEHOLDER_SELECT_POST_TYPE : \"\";\n }\n\n // onBeforeSlide = (detail: BeforeSlideDetail): void => {\n // const { index, prevIndex } = detail;\n // };\n\n openDialogMapAddress() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = false;\n dialogConfig.width = \"70%\";\n dialogConfig.height = \"55%\";\n dialogConfig.position = { bottom: '18%' };\n \n let _model = new MapAddressOutputModel(this.userQuickPosts.Latitude, this.userQuickPosts.Longitude, this.userQuickPosts.Location);\n dialogConfig.data = new MapAddressDataModel(MapModalType.LatLong, _model);\n \n const dialogRef: MatDialogRef = this.dialog.open(MapAddressComponent, dialogConfig);\n \n dialogRef.componentInstance.IsDraggable = true;\n dialogRef.componentInstance.IsSaveButtonVisible = true;\n dialogRef.componentInstance.IsSearchTextVisible = true;\n dialogRef.componentInstance.IsSearchOnMap = true;\n dialogRef.afterClosed().subscribe(\n result => {\n //console.log('Map closed');\n //console.log(result);\n if (result) {\n if (E.ConvertToString(result.event) == 'SearchOnMap' && result.data) {\n \n this.userQuickPosts.Latitude = result.data.lat;\n this.userQuickPosts.Longitude = result.data.long;\n this.frmQuickpost.get('Location').setValue(E.ConvertToString(result.data.searchstring));\n }\n }\n // this.loadData();\n }\n );\n }\n\n onCloseButtonClick() {\n this.closeDialog();\n }\n closeDialog() {\n this.dialogRef.close(false);\n }\n\n onPostTypeChanges(event: any): void {\n if(event){\n if(event == 1 || event == 4){\n this.postTypeValidation = false;\n }else if(event == 2 || event == 3){\n this.postTypeValidation = true;\n }\n }\n }\n\n \n onPostTypeChange(event: any): void {\n const selectedText = event.target.textContent;\n if(selectedText){\n if(selectedText == 'Shared' || selectedText == 'Friends' || selectedText == 'Family'){ this.postTypeValidation = true}\n else{ this.postTypeValidation = false}}\n }\n\n GetUserConnectionRequests(inputModel) {\n let response: Observable;\n this._QuickPostService.GetUserConnectionRequests(inputModel)\n .subscribe(\n (result) => {\n this.loading = false;\n //this.loadingScreenService.stopLoading();\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.Success) {\n var connectionRequestData = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)))\n this.separateLists(connectionRequestData)\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n // this.loadingScreenService.stopLoading();\n }\n );\n }\n\n openUploaderModal(content) {\n // console.log(content)\n let model = this.modalService.open(content, { centered:true}); // 'lg' for large size, adjust as needed\n model.result.then(\n (result) => {\n const combinedUserDetailsIds = [...this.selectAllFriends, ...this.selectAllFamily];\n if(combinedUserDetailsIds == null || combinedUserDetailsIds.length == 0){\n let _private = this.quickpostLoadDataOutputModel.QuickPostTypeList.filter(x => x.QuickPostTypeName.toLocaleLowerCase() == 'private');\n if (_private && _private[0] && this.frmQuickpost.get('QuickPostTypeId').value == null)\n this.frmQuickpost.get('QuickPostTypeId').setValue(_private[0].QuickPostTypeId);\n }\n },\n (reason) => {\n if (reason === ModalDismissReasons.ESC) {\n const combinedUserDetailsIds = [...this.selectAllFriends, ...this.selectAllFamily];\n if(combinedUserDetailsIds == null || combinedUserDetailsIds.length == 0){\n let _private = this.quickpostLoadDataOutputModel.QuickPostTypeList.filter(x => x.QuickPostTypeName.toLocaleLowerCase() == 'private');\n if (_private && _private[0])\n this.frmQuickpost.get('QuickPostTypeId').setValue(_private[0].QuickPostTypeId);\n }\n }\n else if(reason === ModalDismissReasons.BACKDROP_CLICK){\n const combinedUserDetailsIds = [...this.selectAllFriends, ...this.selectAllFamily];\n if(combinedUserDetailsIds == null || combinedUserDetailsIds.length == 0){\n let _private = this.quickpostLoadDataOutputModel.QuickPostTypeList.filter(x => x.QuickPostTypeName.toLocaleLowerCase() == 'private');\n if (_private && _private[0])\n this.frmQuickpost.get('QuickPostTypeId').setValue(_private[0].QuickPostTypeId);\n }\n }\n else if(reason == 'Cross click'){\n const combinedUserDetailsIds = [...this.selectAllFriends, ...this.selectAllFamily];\n if(combinedUserDetailsIds == null || combinedUserDetailsIds.length == 0){\n let _private = this.quickpostLoadDataOutputModel.QuickPostTypeList.filter(x => x.QuickPostTypeName.toLocaleLowerCase() == 'private');\n if (_private && _private[0])\n this.frmQuickpost.get('QuickPostTypeId').setValue(_private[0].QuickPostTypeId);\n }\n }\n }\n );\n }\n\n separateLists(data) {\n // console.log(data)\n const filteredDatafriend = data.filter(user => user.UserFriendId !== null && user.ConnectionRequestStatusId == 3);\n\n // Map over the filtered data to add the selected field\n this.friendsList = filteredDatafriend.map(user => ({\n ...user, // Spread the existing properties\n selected: false // Add the new selected field with default value\n }));\n const filteredData = data.filter(user => user.UserFamilyMemberId !== null && user.ConnectionRequestStatusId == 3);\n this.familyList = filteredData.map(user => ({\n ...user, // Spread the existing properties\n selected: false // Add the new selected field with default value\n }));\n\n this.filteredFriendsList = [...this.friendsList];\n this.filteredFamilyList = [...this.familyList];\n }\n \n searchLists(searchTerm: string) {\n // Convert the search term to lowercase for case-insensitive search\n const lowerCaseSearchTerm = searchTerm.toLowerCase();\n \n // Filter friendsList\n this.filteredFriendsList = this.friendsList.filter(user =>\n user.UserFriendFullName?.toLowerCase().includes(lowerCaseSearchTerm)\n );\n \n // Filter familyList\n this.filteredFamilyList = this.familyList.filter(user =>\n user.UserFamilyMemberFullName?.toLowerCase().includes(lowerCaseSearchTerm)\n );\n }\n\n onCheckboxChange(checked: boolean, folderId: number, type:string): void {\n if(type=='friend'){\n if (checked) {\n // Add folderId to selectedFolderIds if checkbox is checked\n this.selectAllFriends.push(folderId);\n } else {\n // Remove folderId from selectedFolderIds if checkbox is unchecked\n const index = this.selectAllFriends.indexOf(folderId);\n if (index !== -1) {\n this.selectAllFriends.splice(index, 1);\n }\n }}\n if(type=='family'){\n if (checked) {\n // Add folderId to selectedFolderIds if checkbox is checked\n this.selectAllFamily.push(folderId);\n } else {\n // Remove folderId from selectedFolderIds if checkbox is unchecked\n const index = this.selectAllFamily.indexOf(folderId);\n if (index !== -1) {\n this.selectAllFamily.splice(index, 1);\n }\n }}\n }\n\n toggleSelectAllFriends() {\n // this.friendsList.forEach(friend => friend.selected = this.selectAllFriends);\n if (this.selectAllFriends.length === this.friendsList.length) {\n // If all folders are already selected, unselect all\n this.selectAllFriends = [];\n } else {\n // If not all folders are selected, select all\n\n this.selectAllFriends = this.friendsList.map(folder => folder.ReceiverUserDetailsId);\n }\n\n const checkboxes = document.querySelectorAll('.folder-checkbox') as NodeListOf;\n checkboxes.forEach(checkbox => {\n checkbox.checked = this.selectAllFriends.includes(Number(checkbox.value));\n });\n }\n isFolderSelected(type:string,folderId: number): boolean {\n if(type == 'friend')\n return this.selectAllFriends.includes(folderId);\n if(type == 'family')\n return this.selectAllFamily.includes(folderId);\n }\n\n toggleSelectAllFamily() {\n this.familyList.forEach(family => family.selected = this.selectAllFamily);\n if (this.selectAllFamily.length === this.familyList.length) {\n // If all folders are already selected, unselect all\n this.selectAllFamily = [];\n } else {\n // If not all folders are selected, select all\n\n this.selectAllFamily = this.familyList.map(folder => folder.ReceiverUserDetailsId);\n }\n\n const checkboxes = document.querySelectorAll('.folder-checkboxfamily') as NodeListOf;\n checkboxes.forEach(checkbox => {\n checkbox.checked = this.selectAllFamily.includes(Number(checkbox.value));\n });\n }\n\n getUserQuickPostSharingById(){\n let inputModel={\n SharedFromUserDetailsID:this.authenticationService.currentUserValue.UserDetailsId,\n UserQuickPostID:this._data\n }\n let response: Observable;\n this._QuickPostService.GetUserQuickPostSharingById(inputModel)\n .subscribe(\n (result) => {\n this.loading = false;\n this.loadingScreenService.stopLoading();\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.Success) {\n var connectionRequestData = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)))\n if(connectionRequestData == null || connectionRequestData.length == 0)\n {\n let _private = this.quickpostLoadDataOutputModel.QuickPostTypeList.filter(x => x.QuickPostTypeName.toLocaleLowerCase() == 'private');\n if (_private && _private[0] && !(this.frmQuickpost.get('QuickPostTypeId').value == this.quickpostLoadDataOutputModel.QuickPostTypeList[2].QuickPostTypeId) ){\n this.frmQuickpost.get('QuickPostTypeId').setValue(_private[0].QuickPostTypeId); \n this.postTypeValidation = false; }\n else{ \n if((this.frmQuickpost.get('QuickPostTypeId').value == 1) || (this.frmQuickpost.get('QuickPostTypeId').value == 4)){\n this.postTypeValidation = false;\n }\n else if((this.frmQuickpost.get('QuickPostTypeId').value == 2 ) || (this.frmQuickpost.get('QuickPostTypeId').value == 3)){\n this.postTypeValidation = true;\n }\n\n } \n }\n this.initializeCheckboxesFromSharedData(connectionRequestData);\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n }\n\n share(){\n this.combinedUserDetailsIds = Array.from(new Set([...this.selectAllFriends, ...this.selectAllFamily]));\n this.modalService.dismissAll();\n if((this.combinedUserDetailsIds == null || this.combinedUserDetailsIds.length == 0) && !(this.frmQuickpost.get('QuickPostTypeId').value == this.quickpostLoadDataOutputModel.QuickPostTypeList[2].QuickPostTypeId) ){\n let _private = this.quickpostLoadDataOutputModel.QuickPostTypeList.filter(x => x.QuickPostTypeName.toLocaleLowerCase() == 'private');\n if (_private && _private[0])\n this.frmQuickpost.get('QuickPostTypeId').setValue(_private[0].QuickPostTypeId);\n }\n }\n\n setCreateUpdateShare(){\n //console.log(this.combinedUserDetailsIds, this.selectAllFriends,this.selectAllFamily)\n\n this.userShareInputModel={\n UsersQuickPostSharingID: 0,\n SharedFromUserDetailsID: this.authenticationService.currentUserValue.UserDetailsId,\n SharedToUserDetailsIDs: this.combinedUserDetailsIds,\n UserQuickPostID: this._data,\n CreatedDate: E.GetTodayDateStringOnly(),\n CreatedTime: E.GetTodayTimeStringOnly(),\n CreatedBy: this.authenticationService.currentUserValue.UserDetailsId,\n ChangedDate: E.GetTodayDateStringOnly(),\n ChangedTime: E.GetTodayTimeStringOnly(),\n ChangedBy: this.authenticationService.currentUserValue.UserDetailsId,\n }\n let response: Observable;\n this._QuickPostService.CreateUpdateUserQuickPostShare(this.userShareInputModel)\n .subscribe(\n (result) => {\n this.loading = false;\n this.loadingScreenService.stopLoading();\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.Success) {\n var connectionRequestData = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)))\n // console.log(connectionRequestData)\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n }\n\n initializeCheckboxesFromSharedData(sharedData: any[]) {\n // Extract SharedToUserDetailsIDs from the sharedData\n const sharedToUserDetailsIDs = sharedData.map(data => data.SharedToUserDetailsID);\n\n // Update selectAllFriends to reflect the shared data\n this.selectAllFriends = sharedToUserDetailsIDs;\n this.selectAllFamily = sharedToUserDetailsIDs;\n // Update the checkboxes' checked status\n this.updateCheckboxes();\n}\n\nupdateCheckboxes() {\n const checkboxes = document.querySelectorAll('.folder-checkbox') as NodeListOf;\n checkboxes.forEach(checkbox => {\n checkbox.checked = this.selectAllFriends.includes(Number(checkbox.value));\n checkbox.checked = this.selectAllFamily.includes(Number(checkbox.value));\n\n });\n}\n\nonClick(){ \n this.UserQuickPostLike() } \n UserQuickPostLike(){\n var input:UserQuickPostsViewsInputModel = {\n UserQuickPostsViewId:0,\n UserQuickPostId : this._data,\n UserDetailsId:this.authenticationService.currentUserValue.UserDetailsId,\n CreatedDate: E.GetTodayDateStringOnly(),\n CreatedTime:E.GetTodayTimeStringOnly()\n }\n this.quickpostlistService.CreateUpdateUserQuickPostLike(input)\n .subscribe(\n (result) => {\n this.loading = false;\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.RecordAdded) {\n this.quickpostLoadDataOutputModel.UserQuickPost.LikesCounter = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)))\n this.quickpostLoadDataOutputModel.LikedByMe = !this.quickpostLoadDataOutputModel?.LikedByMe;\n \n this._toastrService.Success('Post Liked Successfully.',Constant.SuccessToastrTitle)\n }\n else if(result.status == Status.RecordUpdated){\n this.quickpostLoadDataOutputModel.UserQuickPost.LikesCounter = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)))\n this.quickpostLoadDataOutputModel.LikedByMe = !this.quickpostLoadDataOutputModel?.LikedByMe;\n this._toastrService.Success('Post Unliked Successfully.',Constant.SuccessToastrTitle)\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n //this.error = error;\n this.loading = false;\n }\n );\n}\n\nsearchMood(searchTerm: string) {\n if (!searchTerm) {\n this.filteredMoodList = [...this.MoodItem]; // Reset when empty\n return;\n }\n\n this.filteredMoodList = this.MoodItem.filter(mood =>\n mood.moodname.toLowerCase().includes(searchTerm.toLowerCase())\n );\n}\n\n\n GetCurrentLanguageJsonObject(currentAppLanguage) {\n var result;\n switch (currentAppLanguage) {\n case 'en':\n result = english;\n break;\n case 'in':\n result = gujarati;\n break;\n case 'hn':\n result = hindi;\n break;\n }\n return result;\n }\n get f() {\n return this.frmQuickpost.controls;\n }\n\n addGridColumns() {\n this.MeonWebGridcolumnDefs = [\n {\n headerName: '',\n field: 'SharedYN',\n minWidth: 50,\n cellRenderer: (params: any) => {\n // Create a checkbox dynamically\n const checkbox = document.createElement('input');\n checkbox.type = 'checkbox';\n checkbox.className = 'ag-checkbox';\n \n // Set checkbox checked status based on SharedYN value\n checkbox.checked = params.value === 'Yes';\n \n // Add event listener to handle checkbox change\n checkbox.addEventListener('change', (event) => {\n const isChecked = (event.target as HTMLInputElement).checked;\n this.onCheckboxChangeGrid(params.data, isChecked);\n });\n \n return checkbox;\n },\n },\n { headerName: this.currentAppLanguage.data.QUICKPOST.CONTROL_LABEL_SHAREDYN, field: 'SharedYN', tooltipField:'SharedYN', sort: 'desc', minWidth: 150 },\n {\n headerName: this.currentAppLanguage.data.QUICKPOST.CONTROL_LABEL_FIRSTNAME, field: 'FirstName', filter: 'FirstName',minWidth: 200\n },\n {\n headerName: this.currentAppLanguage.data.QUICKPOST.CONTROL_LABEL_LASTNAME, field: 'LastName', tooltipField:'LastName',sort: 'asc', minWidth: 300\n },\n {\n headerName: this.currentAppLanguage.data.QUICKPOST.CONTROL_LABEL_EMAILADDRESS, field: 'EMailAddress',minWidth:300, tooltipField:'EMailAddress',\n },\n {\n headerName: this.currentAppLanguage.data.QUICKPOST.CONTROL_LABEL_TYPE, field: 'Type',minWidth:300, tooltipField:'Type',\n }\n ];\n }\n\n commentToggleScreen(event,id?){\n this.commentToggle = event;\n if(id){\n // if(this.commentSection !=''){\n // this.updateQuickPostComment(id)}\n // else{\n // this._toastrService.Error('Please add a comment',Constant.ErrorToastrTitle)\n // }\n }\n else{\n //this.commentSection =''}\n }\n }\n \n searchLists1(searchTerm: string) {\n this.commentSection = searchTerm\n }\n\n onLoadConnectionList(){\n var userQuickPostConnectionsInputModel={\n UserDetailsId : this.authenticationService.currentUserValue.UserDetailsId,\n UserQuickPostId:this._data\n }\n this._QuickPostService.GetUserQuickPostConnectionsList(userQuickPostConnectionsInputModel).subscribe(async result => {\n if (result) {\n if (result.status == Status.Success) {\n let _connectionList =JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n if (_connectionList) {\n this.meonWebListRows = _connectionList;\n const allRows = this.meonWebListRows;\n this.checkedRows = [];\n \n \n allRows.forEach((row: any) => {\n if (row.SharedYN === 'Yes') {\n this.checkedRows.push(row?.APIInputParameterUserDetailID);\n }\n });\n \n } \n this.loadingScreenService.stopLoading();\n }\n else {\n this.loadingScreenService.stopLoading();\n this._toastrService.Error(result.Message, Constant.ErrorToastrTitle);\n }\n }\n });\n }\n\n onCheckboxChangeGrid(rowData: any, isChecked: boolean) {\n if (isChecked) {\n this.checkedRows.push(rowData?.APIInputParameterUserDetailID);\n } else {\n const index = this.checkedRows.indexOf(rowData?.APIInputParameterUserDetailID);\n if (index !== -1) {\n this.checkedRows.splice(index, 1);\n }\n }\n}\n // Method to get all checked rows\n getCheckedRows() {\n return this.checkedRows;\n }\n\n shareFromGrid(){\n this.userShareInputModel={\n UsersQuickPostSharingID: 0,\n SharedFromUserDetailsID: this.authenticationService.currentUserValue.UserDetailsId,\n SharedToUserDetailsIDs: this.checkedRows,\n UserQuickPostID: this._data,\n CreatedDate: E.GetTodayDateStringOnly(),\n CreatedTime: E.GetTodayTimeStringOnly(),\n CreatedBy: this.authenticationService.currentUserValue.UserDetailsId,\n ChangedDate: E.GetTodayDateStringOnly(),\n ChangedTime: E.GetTodayTimeStringOnly(),\n ChangedBy: this.authenticationService.currentUserValue.UserDetailsId,\n }\n let response: Observable;\n console.log(this.userShareInputModel)\n this._QuickPostService.CreateUpdateUserQuickPostShare(this.userShareInputModel)\n .subscribe(\n (result) => {\n this.loading = false;\n this.loadingScreenService.stopLoading();\n var message = \"\"; var errormessage = \"\";\n // console.log(result)\n if (result.status == Status.Success) {\n var connectionRequestData = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)))\n // console.log(connectionRequestData)\n }\n else if (result.status == Status.RecordAdded) {\n var connectionRequestData = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)))\n // console.log(connectionRequestData)\n // this._toastrService.Success('Post Shared Successfully', Constant.SuccessToastrTitle)\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n }\n\n updateQuickPostComment(textareaRef: HTMLTextAreaElement){\n if(this.commentSection !='' && this.commentSection.trim() !== ''){\n }\n else{\n this._toastrService.Error('Please add a comment',Constant.ErrorToastrTitle)\n return;\n }\n var input:TblUserQuickPostsComments = {\n UserQuickPostsCommentId:0,\n LikesCounter:0,\n Content:this.commentSection,\n UserQuickPostId : this._data,\n UserDetailsId:this.authenticationService.currentUserValue.UserDetailsId,\n CreatedDate: E.GetTodayDateStringOnly(),\n CreatedTime:E.GetTodayTimeStringOnly()\n }\n this.quickpostlistService.CreateUpdateUserQuickPostComment(input)\n .subscribe(\n (result) => {\n this.loading = false;\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.RecordAdded) {\n this.quickpostLoadDataOutputModel.QuickPostsCommentsList = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)));\n this.quickpostLoadDataOutputModel.UserQuickPost.CommentsCounter = this.quickpostLoadDataOutputModel.QuickPostsCommentsList.length;\n this.commentSection= '';\n textareaRef.value = '';\n this._toastrService.Success('Comment Posted Successfully',Constant.SuccessToastrTitle)\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n }\n );\n }\n\n GetUserQuickPostCommentes(event:boolean){\n this.commentToggle = !this.commentToggle;\n var input = {\n UserQuickPostId : this._data,\n UserDetailsId: this.authenticationService.currentUserValue.UserDetailsId\n }\n this.quickpostlistService.GetUserQuickPostCommentes(input)\n .subscribe(\n (result) => {\n this.loading = false;\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.Success) {\n this.quickpostLoadDataOutputModel.QuickPostsCommentsList = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)));\n \n \n this.commentSection= '';\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n //this.error = error;\n this.loading = false;\n }\n );\n }\n\n UserQuickPostCommentLike(data){\n var input:TblUserQuickPostsCommentLikes = {\n UserQuickPostsCommentLikeId:0,\n UserQuickPostsCommentId : data,\n UserDetailsId:this.authenticationService.currentUserValue.UserDetailsId,\n CreatedDate: E.GetTodayDateStringOnly(),\n CreatedTime:E.GetTodayTimeStringOnly()\n }\n \n this.quickpostlistService.CreateUpdateUserQuickPostCommentLike(input)\n .subscribe(\n (result) => {\n this.loading = false;\n var message = \"\"; var errormessage = \"\";\n\n if (result.status == Status.RecordAdded) {\n this.quickpostLoadDataOutputModel.QuickPostsCommentsList = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)));\n //this.commentCounter = this.quickPostCommentList.length;\n this._toastrService.Success('Comment Liked Successfully.',Constant.SuccessToastrTitle)\n }\n else if(result.status == Status.RecordUpdated){\n this.quickpostLoadDataOutputModel.QuickPostsCommentsList = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)));\n //this.commentCounter = this.quickPostCommentList.length;\n this._toastrService.Success('Comment Unliked Successfully.',Constant.SuccessToastrTitle)\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n }\n );\n }\n\n}\n\n@Pipe({ name: 'truncate' })\nexport class TruncatePipe implements PipeTransform {\n transform(value: string, limit: number): string {\n if (value) {\n value = value.replace(//gi, ' '); // replace
with space\n value = value.trim().replace(/\\s+/g, ' '); // remove extra whitespace\n if (value.length > limit) {\n value = value.substring(0, limit) + '...';\n }\n }\n return value;\n }\n}\n","\n\n\n
\n
{{'QUICKPOST.HEADING_LABEL_EDIT_A_QUICKPOST'|translate}} {{dialogTitle}} {{'QUICKPOST.HEADING_TEXT'|translate}} \n - {{quickpostLoadDataOutputModel?.UserQuickPost?.Title | truncate:50}}\n  \n \n \n \n
\n
\n \n
\n
\n
\n
\n
\n
\n
    \n
  • \n {{btnNameJorD}} {{'QUICKPOST.HEADING_TEXT'|translate}}\n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n {{'QUICKPOST.ERROR_MESSAGE_REQUIRED_TITLE'|translate}}\n {{'QUICKPOST.ERROR_MESSAGE_MAX_LENGTH_100'|translate}}\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 \n {{'QUICKPOST.ERROR_MESSAGE_REQUIRED_POST_CONTENT'|translate}}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n \n
    \n
    \n \n {{'QUICKPOST.ERROR_MESSAGE_REQUIRED_DIARY_DATE'|translate}}\n \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n \n {{'QUICKPOST.ERROR_MESSAGE_REQUIRED_DIARY_TIME'|translate}}\n \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n \n {{'QUICKPOST.ERROR_MESSAGE_REQUIRED_DIARY_TIME_TO'|translate}}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n \n \n {{'QUICKPOST.ERROR_MESSAGE_MAX_LENGTH_1000'|translate}}\n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n \n {{ item.name }}\n ×\n \n \n \n
    \n
    \n
    \n 0\" [interval]=\"3000\">\n \n
    \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
\n \n \n\n
  • \n {{'QUICKPOST.TAB_HEADING_SHARING'|translate}}\n \n
    \n
    \n
    \n
    \n \n \n \n {{'QUICKPOST.ERROR_MESSAGE_REQUIRED_POST_TYPE'|translate}}\n \n
    \n \n

    Select whom to share

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

    Friends

    \n \n \n
      \n
    • \n \n
    • \n
    \n
    \n \n \n
    \n

    Family

    \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 {{quickpostLoadDataOutputModel?.UserQuickPost?.LikesCounter}}\n
    \n
    0 \" class=\"d-flex align-items-center\">\n
    \n
    \n \"Avatar\"\n
    \n
    \n {{quickpostLoadDataOutputModel?.UserQuickPost?.ViewsCounter}}\n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n

    Comment Section

    \n
    \n
    \n
    \n \"Avatar\"\n
    \n \n
    \n
    \n \n
    No Comments to Show.
    \n
    \n
    \n \n\n
    \n \n \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n
    \n
    \n
  • \n\n
  • \n {{'QUICKPOST.TAB_HEADING_UPLOAD'|translate}}\n \n
    \n \n
    \n
    \n
    \n

    {{'UPLOAD.HEADING_TEXT_SELECT_IMAGES' | translate}}\n

    \n
    \n
    \n \n {{'QUICKPOST.CONTROL_LABEL_BROWSE'|translate}}\n \n \n \n
    \n \n
    \n \n \n
    \n
    \n
    {{'UPLOAD.TEXT_FILE_TYPES' | translate}}\n .tiff,.bmp,.jpeg,.png,.mp4,.mpeg,.mov,.avi
    \n\n
    \n
    \n
    \n
    \n \n
    \n
    \n \n {{item.id}}

    \"\n >\n \"{{item.id}}\"\n\n \"{{item.id}}\"\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
  • \n\n
  • \n {{'QUICKPOST.TAB_HEADING_IMAGES_AND_VIDEOS'|translate}}\n \n \n 0\" [collectionSize]='pagesNumber' [pageSize]=\"20\" (pageChange)=\"loadPage($event,'Images')\" [(page)]=\"pageAdvancedEllipses\" [maxSize]=\"5\" [rotate]=\"true\"\n [boundaryLinks]=\"true\">\n Prev\n \n Next\n \n \n \n
  • \n
  • \n {{'QUICKPOST.TAB_HEADING_TRACKERS'|translate}}\n \n
    \n \n
    \n
    \n

    {{'TRACKERS.HOW_IS_YOUR_MOOD_TEXT'|translate}}

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

    {{'TRACKERS.HOW_WOULD_YOU_RATE_TEXT'|translate}}

    \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","import { Injectable } from '@angular/core';\nimport { GlobalService } from 'app/Services/global.service';\nimport { GetMyAttachmentsInputModel, GetOnThisDayInputModel, GetQuickPostListInputModel } from 'app/home/home-model.model';\n@Injectable({\n providedIn: 'root'\n})\nexport class QuickpostlistService {\n public gridRefresh:boolean=false;\n constructor(private globalService: GlobalService) { }\n GetUserQuickPosts(data){\n const path = 'api/UserQuickPost/GetUserQuickPosts';\n return this.globalService.PostDataById(data,path);\n }\n\n GetUserQuickPostList(_data:GetQuickPostListInputModel){\n const path = 'api/UserQuickPost/GetUserQuickPostList'\n return this.globalService.PostDataById(_data, path);\n }\n\n getGridRefresh():boolean{\n //console.log(this.gridRefresh)\n return this.gridRefresh;\n }\n\n setGridRefresh(refresh) {\n //console.log('refresh')\n this.gridRefresh = refresh;\n //console.log(this.gridRefresh)\n }\n\n GetOnThisDayQuickPosts(getOnThisDayInputModel:GetOnThisDayInputModel){\n const path = 'api/Home/GetOnThisDayQuickPosts';\n return this.globalService.PostDataById(getOnThisDayInputModel,path);\n }\n\n GetMyAttachments(getMyAttachmentsInputModel:GetMyAttachmentsInputModel){\n const path = 'api/MyBlogs/GetMyAttachments';\n return this.globalService.PostDataById(getMyAttachmentsInputModel,path);\n }\n\n GetAboutMeData(data){\n const path = 'api/MyBlogs/GetAboutMeData';\n return this.globalService.PostDataById(data,path);\n }\n\n CreateUpdateAboutMeData(data){\n const path = 'api/MyBlogs/CreateUpdateAboutMeData';\n return this.globalService.PostDataById(data,path);\n }\n\n GetUserQuickPostsCommonSharingControl(data){\n const path = 'api/UserQuickPost/GetUserQuickPostsCommonSharingControl';\n return this.globalService.PostDataById(data,path);\n }\n\n CreateUpdatePostView(data){\n const path = 'api/UserQuickPostView/CreateUpdateUserQuickPostView';\n return this.globalService.PostDataById(data,path);\n }\n\n CreateUpdateUserQuickPostLike(data){\n const path = 'api/UserQuickPostLike/CreateUpdateUserQuickPostLike';\n return this.globalService.PostDataById(data,path);\n }\n\n CreateUpdateUserQuickPostComment(data){\n const path = 'api/UserQuickPostComment/CreateUpdateUserQuickPostComment';\n return this.globalService.PostDataById(data,path);\n }\n\n CreateUpdateUserQuickPostCommentLike(data){\n const path = 'api/UserQuickPostComment/CreateUpdateUserQuickPostCommentLike';\n return this.globalService.PostDataById(data,path);\n }\n\n GetUserQuickPostCommentes(data){\n const path = 'api/UserQuickPostComment/GetUserQuickPostCommentes';\n return this.globalService.PostDataById(data,path);\n }\n\n GetUserQuickPostComments(data){\n const path = 'api/UserQuickPostComment/GetUserQuickPostCommentes';\n return this.globalService.PostDataAnonymous(data,path);\n }\n\n}\n","import { Status } from \"app/enums\";\nexport const locale = {\n lang: 'en',\n data: {\n COMMON: {\n CONTROL_LABEL_EMAIL_ADDRESS: 'Email Address',\n PLACEHOLDER_EMAIL_ADDRESS: 'Type here...',\n PLACEHOLDER_TYPE_HERE: 'Type here...',\n PLACEHOLDER_MOBILE_NUMBER: '0123456789',\n BUTTON_TEXT_SAVE_CHANGES: 'Save Changes',\n ERROR_MESSAGE_REQUIRED_EMAIL_ADDRESS: 'The email is required!',\n ERROR_MESSAGE_INVALID_EMAIL: 'Please enter your email address in format:\\nyourname@example.com',\n ERROR_MESSAGE_CONNECTIONREFUSED: 'Could not connect with server.',\n COMMON_STATUS:\n [\n { ErrorCode: Status.UserNotFound, ErrorMessage: 'User could not be found.' }\n ],\n },\n SCHOOL: {\n DIALOG_TITLE_ADD_SCHOOL: 'Add your School',\n DIALOG_TITLE_EDIT_SCHOOL: 'Edit a School',\n TAB_HEADING_ADDRESS_DETAILS: 'Address Details',\n TAB_HEADING_GALLERY: 'Gallery',\n TAB_HEADING_UPLOAD: 'Upload',\n TAB_HEADING_DOCUMENTS: 'Documents',\n TAB_HEADING_NOTES: 'Notes',\n INFO_TEXT: 'Add all the schools you have attended in the past, or currently attending',\n INFO_TEXT1: 'Select some Images, Documents, and Videos; you can upload them one at a time or select Upload All at once',\n INFO_TEXT2: 'All your uploaded images will be displayed here',\n INFO_TEXT4: 'Add any specific notes that you have for this School',\n INFO_TEXT3: 'All your documents will be displayed here in a list; you can download or delete them individually',\n SWEET_ALERT_TITLE_ADDRESS_DOCUMENT_TEXT: 'Are you sure, you want to unlink this School Document?',\n SWEET_ALERT_TITLE_ALL_ADDRESS_DOCUMENT_TEXT: 'Are you sure, you want to delete all these School Documents?',\n SWEET_ALERT_TITLE_SCHOOL_TEXT: 'Are you sure, you want to delete this School and all the attachments associated with it?',\n SWEET_ALERT_TEXT: \"You won't be able to undo this!\",\n SWEET_ALERT_CONFIRM_BUTTON_TEXT: 'Yes, delete it!',\n SWEET_ALERT_CONFIRM_UNLINK_BUTTON_TEXT:'Yes, unlink it!',\n SWEET_ALERT_CANCEL_BUTTON_TEXT: 'Cancel',\n TOOLTIP_TEXT_BUTTON_CLOSE: 'Close',\n TOOLTIP_TEXT_BUTTON_CALENDAR: 'Toggle Calendar',\n TOOLTIP_TEXT_BUTTON_ADD_RECORD: 'Add Record',\n TOOLTIP_TEXT_BUTTON_ADD_A_SCHOOL: 'Add a School',\n TOOLTIP_TEXT_BUTTON_SEARCH_ON_MAP: 'Search on Map',\n TOOLTIP_TEXT_BUTTON_CANCEL: 'Cancel',\n TOOLTIP_TEXT_BUTTON_SAVE_CHANGES: 'Save Changes',\n TOOLTIP_TEXT_BUTTON_UPLOAD_ALL: 'Upload All',\n TOOLTIP_TEXT_BUTTON_REMOVE_ALL: 'Remove All',\n TOOLTIP_TEXT_BUTTON_DOWNLOAD_ALL: 'Download All',\n TOOLTIP_TEXT_BUTTON_UPLOAD: 'Upload',\n TOOLTIP_TEXT_BUTTON_DOWNLOAD: 'Download',\n TOOLTIP_TEXT_BUTTON_VIEW: 'View',\n TOOLTIP_TEXT_BUTTON_DELETE: 'Delete',\n TOOLTIP_TEXT_BUTTON_REMOVE: 'Remove',\n TOOLTIP_TEXT_ADDRESS_TAG: 'The Address Tag / Code is your own unique choice of words that you can use to search the Noosom Web System',\n TOOLTIP_TEXT_EDUCATIONAL_INSTITUTION_NAME: 'This is where you enter a School, College, or University Name like \"City HighSchool\" or \"Oxford University\"',\n TOOLTIP_TEXT_DEGREE_COMPLETED: 'Enter your Degree or Education Completed; this can be your diploma, technical, associates, bachelors, masters, or doctoral degrees',\n TOOLTIP_TEXT_STREET_NAME: 'This is a required field for mapping your location accurately; please enter the street name correctly',\n TOOLTIP_TEXT_ADDITIONAL_LOCATION_FIELD_1: 'This is an additional field for more precise location mapping',\n TOOLTIP_TEXT_ADDITIONAL_LOCATION_FIELD_2: 'This is an additional field for more precise location mapping',\n TOOLTIP_TEXT_TOWN_VILLAGE_CITY: 'Enter the Town, Village, or City of the address',\n TOOLTIP_TEXT_POSTAL_ZIPCODE: 'This is the Postal Zipcode associated with the address\\'s country',\n TOOLTIP_TEXT_REGION_CONTINENT: 'Choose the Region or Continent of the address; for example, United Kingdom will be in Europe',\n TOOLTIP_TEXT_COUNTRY: 'Select the Country of the address; for example, England will be in Europe',\n TOOLTIP_TEXT_STATE_PROVINCE: 'Choose the State or Province of the address; for example, Rotuma is a state or island in Fiji',\n TOOLTIP_TEXT_CURRENT_ADDRESS: 'This is the Current school checkbox; you can select it or leave it blank according to your preference',\n TOOLTIP_TEXT_STAY_DATE_RANGE_1: 'Use this field for entering a date range of your stay at this address',\n TOOLTIP_TEXT_STAY_DATE_RANGE_2: 'Use this field for entering a date range of your stay at this address',\n HEADING_TEXT_SELECT_IMAGES: 'Select Images, Documents & Videos',\n HEADING_TEXT_UPLOAD_QUEUE: 'Upload Queue',\n HEADING_TEXT_QUEUE_PROGRESS: 'Queue Progress',\n TEXT_QUEUE_LENGTH: 'Queue Length:',\n TEXT_MB: 'MB',\n TEXT_FILE_TYPES: 'Allowed file types:',\n CONTROL_LABEL_ADDRESS_TAG: 'Address Tag / Code',\n CONTROL_LABEL_SCHOOL_NAME: 'School Name',\n CONTROL_LABEL_EDUCATION_RECEIVED: 'Education Received',\n CONTROL_LABEL_ADDRESS1: 'Street Name',\n CONTROL_LABEL_ADDRESS2: 'Address Line 2',\n CONTROL_LABEL_ADDRESS3: 'Address Line 3',\n CONTROL_LABEL_ADDRESS_TOWN: 'Town / City',\n CONTROL_LABEL_ADDRESS_STATE: 'State',\n CONTROL_LABEL_ADDRESS_POST_CODE: 'Post / Zip Code',\n CONTROL_LABEL_COUNTRY: 'Country',\n CONTROL_LABEL_REGION: 'Region',\n CONTROL_LABEL_DATE_FROM: 'Date From',\n CONTROL_LABEL_DATE_TO: 'Date To',\n CONTROL_LABEL_NOTES: 'Notes',\n CONTROL_LABEL_MULTIPLE: 'Multiple',\n LABEL_CURRENT_ADDRESS: 'Current School',\n PLACEHOLDER_STATE: 'Select State',\n PLACEHOLDER_COUNTRY: 'Select Country',\n PLACEHOLDER_CHOOSE_FILES: 'Choose Files',\n PLACEHOLDER_REGION: 'Select Region',\n BUTTON_TEXT_ADD_RECORD: 'Add Record',\n BUTTON_TEXT_SAVE_AND_CLOSE: 'Save and close',\n BUTTON_TEXT_SAVE_AND_NEXT: 'Save and Next',\n BUTTON_TEXT_ABANDON: 'Abandon',\n BUTTON_TEXT_SEARCH_ON_MAP: 'Search on Map',\n BUTTON_TEXT_CANCEL: 'Cancel',\n BUTTON_TEXT_UPLOAD_ALL: 'Upload All',\n BUTTON_TEXT_PAUSE_ALL: 'Pause All',\n BUTTON_TEXT_DOWNLOAD_ALL: 'Download All',\n BUTTON_TEXT_REMOVE_ALL: 'Remove All',\n BUTTON_TEXT_SAVE_CHANGES: 'Save Changes',\n COLUMN_HEADING_NAME: 'NAME',\n COLUMN_HEADING_SIZE: 'SIZE',\n COLUMN_HEADING_PROGRESS: 'PROGRESS',\n COLUMN_HEADING_STATUS: 'STATUS',\n COLUMN_HEADING_DATE_CREATED: 'DATE CREATED',\n COLUMN_HEADING_TYPE: 'TYPE',\n COLUMN_HEADING_ACTIONS: 'ACTIONS',\n TOAST_MESSAGE_SCHOOL_ADDED_SUCCESSFULLY: 'School added successfully.',\n TOAST_MESSAGE_SCHOOL_UPDATED_SUCCESSFULLY: 'School updated successfully.',\n INFO_MESSAGE_COMING_SOON: 'Coming Soon',\n WARNING_MESSAGE_SELECT_LOCATION: 'Please select location on a map.',\n ERROR_MESSAGE_REQUIRED_ADDRESS_TAG: 'The address tag is required!',\n ERROR_MESSAGE_REQUIRED_SCHOOL_NAME: 'The school name is required!',\n ERROR_MESSAGE_REQUIRED_EDUCATION_RECEIVED: 'The education received is required!',\n ERROR_MESSAGE_REQUIRED_ADDRESS1: 'The address1 is required!',\n ERROR_MESSAGE_REQUIRED_ADDRESS2: 'The address2 is required!',\n ERROR_MESSAGE_REQUIRED_ADDRESS3: 'The address3 is required!',\n ERROR_MESSAGE_REQUIRED_ADDRESS_TOWN: 'The address town is required!',\n ERROR_MESSAGE_REQUIRED_ADDRESS_STATE: 'The address state is required!',\n ERROR_MESSAGE_REQUIRED_ADDRESS_POST_CODE: 'The address post code is required!',\n ERROR_MESSAGE_REQUIRED_COUNTRY: 'The country is required!',\n ERROR_MESSAGE_REQUIRED_REGION: 'The region is required!',\n ERROR_MESSAGE_REQUIRED_DATE_FROM: 'The date from is required!',\n ERROR_MESSAGE_REQUIRED_DATE_TO: 'The date to is required!',\n ERROR_MESSAGE_MAX_LENGTH_50: 'You have typed too many characters, maximum allowed is 50',\n }\n }\n};\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'fr',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Impossible de se connecter au serveur.'\n },\n SIGNIN: {\n WELCOME_TEXT: 'Bienvenue à Noosom',\n MOTIVATION_BADGE_SIGNIN:'Connectez-vous et commencez l\\'aventure',\n CONTROL_LABEL_EMAIL:'Adresse e-mail',\n CONTROL_LABEL_PASSWORD:'Mot de passe',\n CONTROL_LABEL_REMEMBERME:'Souviens-toi de moi',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Mot de passe oublié?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Créer un compte',\n TEXT_NEWONPLATFORM:'Nouveau sur notre plateforme ?',\n BUTTON_TEXT_LOGIN:'Connexion',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Vous avez réussi à vous connecter en tant qu\\'utilisateur {0} à Noosom. Vous pouvez maintenant commencer à explorer. Prendre plaisir! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Bienvenue, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'Le champ email est!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Le champ mot de passe est!',\n ERROR_MESSAGE_INVALID_EMAIL:'L\\'e-mail doit être une adresse e-mail valide',\n ERROR_MESSAGE_NOATTEMPTS:'Nom d\\'utilisateur ou mot de passe invalide. Il ne vous reste plus aucune tentative.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Votre adresse e-mail n\\'est pas vérifiée.
    vérifiez d\\'abord votre adresse e-mail.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Vôtre compte a été bloqué.'},\n {ErrorCode:0,ErrorMessage:'Connexion réussie.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Nom d\\'utilisateur ou mot de passe invalide.
    Il vous reste {0} tentatives.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administratrice'},{titlle:'Client',value:'Cliente'},{title:'User',value:'Utilisatrice'}]\n },\n SIGNUP:\n {\n MOTIVATION_BADGE_SIGNUP:'Inscrivez-vous et commencez l\\'aventure',\n STEPPER_TITLE_ACCOUNT:'Compte',\n STEPPER_SUB_TITLE_ACCOUNT:'Saisissez votre nom d\\'utilisateur',\n STEPPER_TITLE_PERSONAL:'Personnelle',\n STEPPER_SUB_TITLE_PERSONAL:'Entrez les informations',\n HEADING_ACCOUNT:'Information sur le compte',\n HEADING_PERSONAL:'Renseignements personnels',\n HEADING_SELECTPLAN:'Sélectionnez le plan',\n CONTROL_LABEL_USERID:'ID utilisateur Noosom',\n CONTROL_LABEL_EMAILADDRESS:'Adresse e-mail',\n CONTROL_LABEL_PASSWORD:'Mot de passe',\n CONTROL_LABEL_CONFIRMPASSWORD:'Confirmer votre mot de passe',\n CONTROL_LABEL_REGION:'Votre région',\n CONTROL_LABEL_HOMECOUNTRY:'Votre pays',\n CONTROL_LABEL_FIRSTNAME:'Prénom',\n CONTROL_LABEL_MIDDLENAME:'Deuxième nom',\n CONTROL_LABEL_LASTNAME:'Nom de famille',\n CONTROL_LABEL_BIRTHDATE:'Date de naissance',\n CONTROL_LABEL_MOBILENO:'Mobile Non',\n CONTROL_LABEL_SELECTPLAN:'Gratuit pour l\\'instant, ou achetez plus tard.',\n PLACEHOLDER_TYPEHERE:'Écrivez ici...',\n PLACEHOLDER_PASSWORD:'Mot de passe',\n PLACEHOLDER_REGION:'Choisissez une région',\n PLACEHOLDER_COUNTRY:'Choisissez le pays',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Précédente',\n BUTTON_TEXT_NEXT:'Prochaine',\n BUTTON_TEXT_SUBMIT:'Soumettre',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Vos données seront stockées',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'dans la région sélectionnée',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'Sélectionnez le pays',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Compte créé avec succès.',\n ERROR_MESSAGE_REQUIRED_USERID:'Le champ nom d\\'utilisateur est!',\n ERROR_MESSAGE_EXISTED_USERID:'Ce nom d\\'utilisateur a été pris. Veuillez en essayer un autre.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'Le champ adresse e-mail est!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Cette adresse e-mail a été prise. Veuillez en essayer un autre.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Le champ mot de passe est!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Doit contenir au moins un chiffre, une lettre majuscule et minuscule et un minimum de 8 caractères ou plus.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'Le mot de passe répété doit correspondre.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'Le champ de confirmation du mot de passe est!',\n ERROR_MESSAGE_REQUIRED_REGION:'Le champ région est!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'Le champ du pays',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'Le champ prénom est!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'Le champ du deuxième prénom est!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'Le champ nom de famille est!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'Le champ date de naissance est!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'Le mobile aucun champ n\\'est requis!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Veuillez sélectionner l\\'option de forfait gratuit!'\n }\n }\n};\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'de',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Es konnte keine Verbindung zum Server hergestellt werden.'\n },\n SIGNIN: {\n MOTIVATION_BADGE_SIGNIN:'Melden Sie sich an und starten Sie das Abenteuer',\n WELCOME_TEXT: 'Willkommen bei Noosom',\n CONTROL_LABEL_EMAIL:'E-Mail-Addresse',\n CONTROL_LABEL_PASSWORD:'Passwort',\n CONTROL_LABEL_REMEMBERME:'Erinnere dich an mich',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Haben Sie Ihr Passwort vergessen?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Ein Konto erstellen',\n TEXT_NEWONPLATFORM:'Neu auf unserer Plattform?',\n BUTTON_TEXT_LOGIN:'Anmeldung',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Sie haben sich erfolgreich als {0}-Benutzer bei Noosom angemeldet. Jetzt können Sie mit der Erkundung beginnen. Genießen! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Willkommen, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'Das E-Mail-Feld ist!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Das Passwortfeld ist!',\n ERROR_MESSAGE_INVALID_EMAIL:'E-Mail muss eine gültige E-Mail-Adresse sein',\n ERROR_MESSAGE_NOATTEMPTS:'Ungültiger Benutzername oder ungültiges Passwort.
    Sie haben keine weiteren Versuche mehr.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Ihre E-Mail-Adresse wurde nicht verifiziert.
    überprüfen Sie zuerst Ihre E-Mail-Adresse.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Dein Account wurde gesperrt.'},\n {ErrorCode:0,ErrorMessage:'Eingeloggt erfolgreich.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Ungültiger Benutzername oder ungültiges Passwort. Sie haben noch {0} Versuche.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administratorin'},{titlle:'Client',value:'Klientin'},{title:'User',value:'Benutzer'}]\n },\n SIGNUP:\n {\n MOTIVATION_BADGE_SIGNUP:'Melden Sie sich an und starten Sie das Abenteuer',\n STEPPER_TITLE_ACCOUNT:'Konto',\n STEPPER_SUB_TITLE_ACCOUNT:'Benutzernamen eingeben',\n STEPPER_TITLE_PERSONAL:'persönlich',\n STEPPER_SUB_TITLE_PERSONAL:'Information eingeben',\n HEADING_ACCOUNT:'Kontoinformationen',\n HEADING_PERSONAL:'Persönliche Informationen',\n HEADING_SELECTPLAN:'Plan auswählen',\n CONTROL_LABEL_USERID:'Noosom-Benutzer-ID',\n CONTROL_LABEL_EMAILADDRESS:'E-Mail-Addresse',\n CONTROL_LABEL_PASSWORD:'Passwort',\n CONTROL_LABEL_CONFIRMPASSWORD:'Bestätigen Sie Ihr Passwort',\n CONTROL_LABEL_REGION:'Ihre Region',\n CONTROL_LABEL_HOMECOUNTRY:'Ihr land',\n CONTROL_LABEL_FIRSTNAME:'Vorname',\n CONTROL_LABEL_MIDDLENAME:'Zweiter Vorname',\n CONTROL_LABEL_LASTNAME:'Nachname',\n CONTROL_LABEL_BIRTHDATE:'Geburtsdatum',\n CONTROL_LABEL_MOBILENO:'Handy-Nr',\n CONTROL_LABEL_SELECTPLAN:'Jetzt für immer kostenlos oder später kaufen.',\n PLACEHOLDER_TYPEHERE:'Geben Sie hier ein ...',\n PLACEHOLDER_PASSWORD:'Passwort',\n PLACEHOLDER_REGION:'Region wählen',\n PLACEHOLDER_COUNTRY:'Land auswählen',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Vorherige',\n BUTTON_TEXT_NEXT:'Nächste',\n BUTTON_TEXT_SUBMIT:'Einreichen',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Ihre Daten werden gespeichert',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'in der ausgewählten Region',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'land auswählen',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Konto erfolgreich erstellt.',\n ERROR_MESSAGE_REQUIRED_USERID:'Das Feld „Benutzername“ ist! Das Feld „E-Mail“ ist',\n ERROR_MESSAGE_EXISTED_USERID:'Dieser Benutzername wurde vergeben. Bitte versuchen Sie es mit einem anderen.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'Das Feld für die E-Mail-Adresse ist!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Diese E-Mail-Adresse wurde übernommen. Bitte versuchen Sie es mit einem anderen.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Das Passwortfeld ist!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Muss mindestens eine Zahl, einen Groß- und Kleinbuchstaben und mindestens 8 Zeichen enthalten.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'Passwort wiederholen muss übereinstimmen.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'Das Feld Passwort bestätigen ist!',\n ERROR_MESSAGE_REQUIRED_REGION:'Das Regionsfeld ist!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'Das Feld land ist!',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'Das Vornamensfeld ist!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'Das Feld für den zweiten Vornamen ist!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'Das Feld Nachname ist!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'Das Feld Geburtsdatum ist!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'Das Handy ist kein Pflichtfeld!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Bitte wählen Sie die kostenlose Planoption!',\n }\n }\n};\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'pt',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Não foi possível conectar com o servidor'\n },\n SIGNIN: {\n WELCOME_TEXT: 'Bem-vindo ao Noosom',\n MOTIVATION_BADGE_SIGNIN:'Faça login e comece a aventura',\n CONTROL_LABEL_EMAIL:'Endereço de email',\n CONTROL_LABEL_PASSWORD:'Senha',\n CONTROL_LABEL_REMEMBERME:'Lembre de mim',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Esqueceu sua senha?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Crie a sua conta aqui',\n TEXT_NEWONPLATFORM:'Novo em nossa plataforma?',\n BUTTON_TEXT_LOGIN:'Conecte-se',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Você fez login com sucesso como um usuário {0} no Noosom. Agora você pode começar a explorar. Apreciar! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Bem-vindo, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'O campo de e-mail!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'O campo de senha!',\n ERROR_MESSAGE_INVALID_EMAIL:'O e-mail deve ser um endereço de e-mail válido',\n ERROR_MESSAGE_NOATTEMPTS:'Nome de usuário ou senha inválidos. Não há tentativas restantes.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Seu endereço de e-mail não foi verificado.
    primeiro varie seu endereço de e-mail.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Sua conta foi bloqueada.'},\n {ErrorCode:0,ErrorMessage:'Logado com sucesso.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Nome de usuário ou senha inválidos.
    Você tem {0} tentativas restantes.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administrador'},{titlle:'Client',value:'Cliente'},{title:'User',value:'Do utilizador'}]\n },\n SIGNUP:\n {\n STEPPER_TITLE_ACCOUNT:'Conta',\n STEPPER_SUB_TITLE_ACCOUNT:'Insira nome de usuário',\n STEPPER_TITLE_PERSONAL:'Pessoal',\n STEPPER_SUB_TITLE_PERSONAL:'Insira as informações',\n HEADING_ACCOUNT:'Informação da conta',\n HEADING_PERSONAL:'Informação pessoal',\n HEADING_SELECTPLAN:'Selecione o plano',\n CONTROL_LABEL_USERID:'ID de usuário Noosom',\n CONTROL_LABEL_EMAILADDRESS:'Endereço de email',\n CONTROL_LABEL_PASSWORD:'Senha',\n CONTROL_LABEL_CONFIRMPASSWORD:'Confirme sua senha',\n CONTROL_LABEL_REGION:'Sua região',\n CONTROL_LABEL_HOMECOUNTRY:'Seu país de',\n CONTROL_LABEL_FIRSTNAME:'Primeiro nome',\n CONTROL_LABEL_MIDDLENAME:'Nome do meio',\n CONTROL_LABEL_LASTNAME:'Sobrenome',\n CONTROL_LABEL_BIRTHDATE:'Data de nascimento',\n CONTROL_LABEL_MOBILENO:'Celular não',\n CONTROL_LABEL_SELECTPLAN:'Grátis para sempre por agora, ou compre mais tarde.',\n PLACEHOLDER_TYPEHERE:'Digite aqui...',\n PLACEHOLDER_PASSWORD:'Senha',\n PLACEHOLDER_REGION:'Selecione a região',\n PLACEHOLDER_COUNTRY:'Selecione o pais',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Anterior',\n BUTTON_TEXT_NEXT:'Próxima',\n BUTTON_TEXT_SUBMIT:'Enviar',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Seus dados serão armazenados',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'na região selecionada',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'Selecione o país de',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Conta criada com sucesso.',\n ERROR_MESSAGE_REQUIRED_USERID:'O campo de nome de usuário!',\n ERROR_MESSAGE_EXISTED_USERID:'Esse nome de usuário foi usado. Por favor, tente outro.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'O campo de endereço de e-mail!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Esse endereço de e-mail foi usado. Por favor, tente outro.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'O campo de senha!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Deve conter pelo menos um número, uma letra maiúscula e uma minúscula e um mínimo de 8 ou mais caracteres.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'A senha repetida deve corresponder.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'O campo de confirmação de senha!',\n ERROR_MESSAGE_REQUIRED_REGION:'O campo região!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'O campo do país de!',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'O campo de nome!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'O campo de nome do meio!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'O campo sobrenome!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'O campo data de nascimento!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'O celular nenhum campo!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Selecione a opção de plano gratuito!'\n }\n }\n};\n","import { Status } from \"app/enums\";\r\n\r\nexport const locale = {\r\n lang: 'gj',\r\n data: {\r\n COMMON:{\r\n ERROR_MESSAGE_CONNECTIONREFUSED:'સર્વર સાથે કનેક્ટ કરી શકાયું નથી'\r\n },\r\n SIGNIN: {\r\n WELCOME_TEXT: 'નૂસોમ માં આપનું સ્વાગત છે',\r\n MOTIVATION_BADGE_SIGNIN:'સાઇન ઇન કરો અને સાહસ શરૂ કરો',\r\n CONTROL_LABEL_EMAIL:'ઈ - મેઈલ સરનામું',\r\n CONTROL_LABEL_PASSWORD:'પાસવર્ડ',\r\n CONTROL_LABEL_REMEMBERME:'મને યાદ રાખો',\r\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\r\n LINK_TEXT_LABEL_FORGOTPASSWORD:'તમારો પાસવર્ડ ભૂલી ગયા છો?',\r\n LINK_TEXT_LABEL_CREATEACCOUNT:'એક ખાતુ બનાવો',\r\n TEXT_NEWONPLATFORM:'અમારા પ્લેટફોર્મ પર નવા છો?',\r\n BUTTON_TEXT_LOGIN:'પ્રવેશ કરો',\r\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'તમે Noosom માં {0} વપરાશકર્તા તરીકે સફળતાપૂર્વક લૉગ ઇન કર્યું છે. હવે તમે અન્વેષણ કરવાનું શરૂ કરી શકો છો. આનંદ માણો! 🎉',\r\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 સ્વાગત છે, {0}!',\r\n ERROR_MESSAGE_REQUIRED_EMAIL:'ઈમેલ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_PASSWORD:'પાસવર્ડ આવશ્યક છે!',\r\n ERROR_MESSAGE_INVALID_EMAIL:'ઇમેઇલ એક માન્ય ઇમેઇલ સરનામું હોવું આવશ્યક છે',\r\n ERROR_MESSAGE_NOATTEMPTS:'અમાન્ય વપરાશકર્તાનામ અથવા પાસવર્ડ. તમારી પાસે કોઈ પ્રયાસો બાકી નથી.',\r\n LOGIN_STATUS:\r\n [\r\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'તમારું ઇમેઇલ સરનામું ચકાસાયેલ નથી.
    પહેલા તમારું ઇમેઇલ સરનામું બદલો.'},\r\n {ErrorCode:Status.AccountLocked,ErrorMessage:'તમારું એકાઉન્ટ લોક કરી દેવામાં આવ્યું છે.'},\r\n {ErrorCode:0,ErrorMessage:'લૉગ-ઇન સફળ.'},\r\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'અમાન્ય વપરાશકર્તાનામ અથવા પાસવર્ડ.
    તમારી પાસે {0} પ્રયાસો બાકી છે.'}\r\n ],\r\n DIGITS:[\"૧\",\"૨\",\"૩\",\"૪\"],\r\n ROLES:[{title:'Admin',value:'એડમિન'},{titlle:'Client',value:'ક્લાયન્ટ'},{title:'User',value:'વપરાશકર્તા'}]\r\n },\r\n SIGNUP:\r\n {\r\n MOTIVATION_BADGE_SIGNUP:'સાઇન અપ કરો અને સાહસ શરૂ કરો',\r\n STEPPER_TITLE_ACCOUNT:'એકાઉન્ટ',\r\n STEPPER_SUB_TITLE_ACCOUNT:'વપરાશકર્તા નામ દાખલ કરો',\r\n STEPPER_TITLE_PERSONAL:'અંગત',\r\n STEPPER_SUB_TITLE_PERSONAL:'માહિતી દાખલ કરો',\r\n HEADING_ACCOUNT:'ખાતાની માહિતી',\r\n HEADING_PERSONAL:'વ્યક્તિગત માહિતી',\r\n HEADING_SELECTPLAN:'પ્લાન પસંદ કરો',\r\n CONTROL_LABEL_USERID:'નૂસોમ વપરાશકર્તા આઈડી',\r\n CONTROL_LABEL_EMAILADDRESS:'ઈ - મેઈલ સરનામું',\r\n CONTROL_LABEL_PASSWORD:'પાસવર્ડ',\r\n CONTROL_LABEL_CONFIRMPASSWORD:'તમારા પાસવર્ડની ખાતરી કરો',\r\n CONTROL_LABEL_REGION:'તમારો પ્રદેશ',\r\n CONTROL_LABEL_HOMECOUNTRY:'તમારો દેશ',\r\n CONTROL_LABEL_FIRSTNAME:'પ્રથમ નામ',\r\n CONTROL_LABEL_MIDDLENAME:'પિતાનું નામ',\r\n CONTROL_LABEL_LASTNAME:'છેલ્લું નામ',\r\n CONTROL_LABEL_BIRTHDATE:'જન્મ તારીખ',\r\n CONTROL_LABEL_MOBILENO:'મોબાઈલ નમ્બર',\r\n CONTROL_LABEL_SELECTPLAN:'હમણાં માટે હંમેશ માટે મફત, અથવા પછીથી ખરીદો.',\r\n PLACEHOLDER_TYPEHERE:'અહી લખો...',\r\n PLACEHOLDER_PASSWORD:'પાસવર્ડ',\r\n PLACEHOLDER_REGION:'પ્રદેશ પસંદ કરો',\r\n PLACEHOLDER_COUNTRY:'દેશ પસંદ કરો',\r\n PLACEHOLDER_TELEPHONENUMBER:'૦૧૨૩૪૫૬૭૮૯',\r\n BUTTON_TEXT_PREVIOUS:'અગાઉના',\r\n BUTTON_TEXT_NEXT:'આગળ',\r\n BUTTON_TEXT_SUBMIT:'સબમિટ કરો',\r\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'તમારો ડેટા પસંદ કરેલ પ્રદેશમાં',\r\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'સંગ્રહિત કરવામાં આવશે',\r\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'દેશ પસંદ કરો',\r\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'એકાઉન્ટ સફળતાપૂર્વક બનાવ્યું.',\r\n ERROR_MESSAGE_REQUIRED_USERID:'યુઝરનેમ આવશ્યક છે!',\r\n ERROR_MESSAGE_EXISTED_USERID:'તે વપરાશકર્તા નામ લેવામાં આવ્યું છે. કૃપા કરીને બીજો પ્રયાસ કરો.',\r\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'ઈમેલ એડ્રેસ ફીલ્ડ છે!',\r\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'તે ઈમેલ એડ્રેસ લેવામાં આવ્યું છે. કૃપા કરીને બીજો પ્રયાસ કરો.',\r\n ERROR_MESSAGE_REQUIRED_PASSWORD:'પાસવર્ડ ફીલ્ડ છે!',\r\n ERROR_MESSAGE_INVALID_PASSWORD:'ઓછામાં ઓછા એક નંબર, એક અપરકેસ અને લોઅરકેસ અક્ષર અને ઓછામાં ઓછા 8 અથવા વધુ અક્ષરો હોવા જોઈએ.',\r\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'પુનરાવર્તિત પાસવર્ડ મેળ ખાતો હોવો જોઈએ.',\r\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'કન્ફર્મ પાસવર્ડ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_REGION:'પ્રદેશ ક્ષેત્ર આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'દેશ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'પ્રથમ નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'મધ્યમ નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_LASTNAME:'છેલ્લું નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'જન્મ તારીખ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_MOBILENO:'મોબાઇલ નંબર આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'કૃપા કરીને ફ્રી પ્લાન વિકલ્પ પસંદ કરો!'\r\n }\r\n }\r\n };\r\n ","import { Status } from \"app/enums\";\r\n\r\nexport const locale = {\r\n lang: 'hn',\r\n data: {\r\n COMMON: {\r\n CONTROL_LABEL_EMAIL_ADDRESS: 'ईमेल पता',\r\n PLACEHOLDER_EMAIL_ADDRESS: 'यहाँ लिखो...',\r\n PLACEHOLDER_TYPE_HERE: 'यहाँ लिखो...',\r\n PLACEHOLDER_MOBILE_NUMBER: '०१२३४५६७८९',\r\n BUTTON_TEXT_SAVE_CHANGES: 'परिवर्तनों को सुरक्षित करें',\r\n ERROR_MESSAGE_REQUIRED_EMAIL_ADDRESS: 'ईमेल की आवश्यकता है!',\r\n ERROR_MESSAGE_INVALID_EMAIL: 'कृपया अपना ईमेल पता प्रारूप में दर्ज करें:\\nyourname@example.com',\r\n ERROR_MESSAGE_CONNECTIONREFUSED: 'सर्वर से कनेक्ट नहीं हो सका.',\r\n COMMON_STATUS:\r\n [\r\n { ErrorCode: Status.UserNotFound, ErrorMessage: 'उपयोगकर्ता नहीं मिल सका।' }\r\n ],\r\n },\r\n SCHOOL: {\r\n DIALOG_TITLE_ADD_SCHOOL: 'अपना स्कूल जोड़ें',\r\n DIALOG_TITLE_EDIT_SCHOOL: 'स्कूल संपादित करें',\r\n TAB_HEADING_ADDRESS_DETAILS: 'पते का विवरण',\r\n TAB_HEADING_GALLERY: 'गेलरी',\r\n TAB_HEADING_DOCUMENTS: 'दस्तावेज़',\r\n TAB_HEADING_UPLOAD: 'अपलोड करें',\r\n TAB_HEADING_NOTES: 'टिप्पणियाँ',\r\n HEADING_TEXT_SELECT_IMAGES: 'छवियों का चयन करें',\r\n HEADING_TEXT_SELECT_DOCUMENTS: 'दस्तावेज़ों का चयन करें',\r\n HEADING_TEXT_UPLOAD_QUEUE: 'अपलोड कतार',\r\n HEADING_TEXT_QUEUE_PROGRESS: 'कतार प्रगति',\r\n TEXT_FILE_TYPES: 'अनुमत फ़ाइल प्रकार:',\r\n TEXT_QUEUE_LENGTH: 'कतार की लंबाई:',\r\n TEXT_MB: 'एमबी',\r\n INFO_TEXT: 'उन सभी स्कूलों को जोड़ें जिनमें आपने अतीत में भाग लिया है, या वर्तमान में भाग ले रहे हैं',\r\n INFO_TEXT1: 'कुछ तस्वीरें, दस्तावेज और वीडियो का चयन करें। आप उन्हें एक बार में अपलोड कर सकते हैं या एक साथ Upload All चुन सकते हैं।',\r\n INFO_TEXT2: 'आपकी सभी अपलोड की गई तस्वीरें यहां प्रदर्शित की जाएगी।',\r\n INFO_TEXT4: 'इस स्कूल के लिए आपके पास कोई विशिष्ट नोट्स जोड़ें।',\r\n INFO_TEXT3: 'आपके सभी दस्तावेज एक सूची में यहां प्रदर्शित किए जाएंगे। आप उन्हें विभिन्नता से डाउनलोड या हटा सकते हैं।',\r\n SWEET_ALERT_TITLE_ADDRESS_DOCUMENT_TEXT: 'क्या आप सुनिश्चित हैं, आप इस स्कूल दस्तावेज़ को अनलिंक करना चाहते हैं?',\r\n SWEET_ALERT_TITLE_ALL_ADDRESS_DOCUMENT_TEXT: 'क्या आप सुनिश्चित हैं, आप इन सभी स्कूल दस्तावेज़ों को हटाना चाहते हैं?',\r\n SWEET_ALERT_TITLE_SCHOOL_TEXT: 'क्या आप सुनिश्चित हैं कि आप इस स्कूल और इससे जुड़े सभी अनुलग्नकों को हटाना चाहते हैं?',\r\n SWEET_ALERT_TEXT: \"आप इसे पूर्ववत नहीं कर पाएंगे!\",\r\n SWEET_ALERT_CONFIRM_BUTTON_TEXT: 'हाँ, मिटा दो!',\r\n SWEET_ALERT_CANCEL_BUTTON_TEXT: 'रद्द करना',\r\n SWEET_ALERT_TEXT_DELETED: 'हटा दिया!',\r\n SWEET_ALERT_CONFIRM_BUTTON_TEXT_OKAY: 'ओके',\r\n SWEET_ALERT_CONFIRM_UNLINK_BUTTON_TEXT: 'हाँ, इसे अनलिंक करें!',\r\n TOOLTIP_TEXT_BUTTON_CLOSE: 'बंद करना',\r\n TOOLTIP_TEXT_BUTTON_CALENDAR: 'कैलेंडर टॉगल करें',\r\n TOOLTIP_TEXT_BUTTON_ADD_RECORD: 'रिकॉर्ड जोड़ें',\r\n TOOLTIP_TEXT_BUTTON_SAVE_CHANGES: 'परिवर्तनों को सुरक्षित करें',\r\n TOOLTIP_TEXT_BUTTON_ADD_A_SCHOOL: 'स्कूल जोड़ें',\r\n TOOLTIP_TEXT_BUTTON_SEARCH_ON_MAP: 'मानचित्र पर खोजें',\r\n TOOLTIP_TEXT_BUTTON_CANCEL: 'रद्द करना',\r\n TOOLTIP_TEXT_BUTTON_UPLOAD_ALL: 'सभी को अपलोड करें',\r\n TOOLTIP_TEXT_BUTTON_REMOVE_ALL: 'सभी हटाएं',\r\n TOOLTIP_TEXT_BUTTON_UPLOAD: 'अपलोड करें',\r\n TOOLTIP_TEXT_BUTTON_REMOVE: 'हटाएं',\r\n TOOLTIP_TEXT_BUTTON_DOWNLOAD: 'डाउनलोड',\r\n TOOLTIP_TEXT_BUTTON_VIEW: 'देखें',\r\n TOOLTIP_TEXT_BUTTON_DELETE: 'हटाएँ',\r\n TOOLTIP_TEXT_BUTTON_DOWNLOAD_ALL: 'सभी डाउनलोड करें',\r\n TOOLTIP_TEXT_ADDRESS_TAG: 'पता टैग / कोड आपके खुद के विशिष्ट शब्दों का चयन है जिसका आप नूसोम वेब सिस्टम में खोज करने के लिए उपयोग कर सकते हैं',\r\n TOOLTIP_TEXT_EDUCATIONAL_INSTITUTION_NAME: 'यहाँ आप एक स्कूल, कॉलेज, या विश्वविद्यालय का नाम दर्ज करें जैसे \"सिटी हाई स्कूल\" या \"ऑक्सफ़ोर्ड यूनिवर्सिटी\"',\r\n TOOLTIP_TEXT_DEGREE_COMPLETED: 'अपने पूरे डिग्री या शिक्षा को दर्ज करें; यह आपका डिप्लोमा, तकनीकी, एसोसिएट्स, बैचलर्स, मास्टर्स, या डॉक्टरेट डिग्री हो सकता है',\r\n TOOLTIP_TEXT_STREET_NAME: 'यह स्थान को सटीकता से मैप करने के लिए आवश्यक फ़ील्ड है; कृपया सड़क का नाम सही दर्ज करें',\r\n TOOLTIP_TEXT_ADDITIONAL_LOCATION_FIELD_1: 'यह और अधिक सटीक स्थान के मैपिंग के लिए एक अतिरिक्त फ़ील्ड है',\r\n TOOLTIP_TEXT_ADDITIONAL_LOCATION_FIELD_2: 'यह और अधिक सटीक स्थान के मैपिंग के लिए एक अतिरिक्त फ़ील्ड है',\r\n TOOLTIP_TEXT_TOWN_VILLAGE_CITY: 'पते के गाँव, गाँव या शहर दर्ज करें',\r\n TOOLTIP_TEXT_POSTAL_ZIPCODE: 'यह पते के देश के संबंधित पोस्टल ज़िपकोड है',\r\n TOOLTIP_TEXT_REGION_CONTINENT: 'पते का क्षेत्र या महाद्वीप चुनें; उदाहरण के लिए, संयुक्त राज्य यूनाइटेड किंगडम यूरोप में होगा',\r\n TOOLTIP_TEXT_COUNTRY: 'पते का देश चुनें; उदाहरण के लिए, इंग्लैंड यूरोप में होगा',\r\n TOOLTIP_TEXT_STATE_PROVINCE: 'पते का राज्य या प्रांत चुनें; उदाहरण के लिए, रोटुमा फिजी में एक राज्य या द्वीप है',\r\n TOOLTIP_TEXT_CURRENT_ADDRESS: 'यह वर्तमान स्कूल चेकबॉक्स है; आप इसे चुन सकते हैं या अपनी पसंद के अनुसार खाली छोड़ सकते हैं',\r\n TOOLTIP_TEXT_STAY_DATE_RANGE_1: 'इस फ़ील्ड का उपयोग आपके पते पर रहने की तारीख की श्रेणी दर्ज करने के लिए है',\r\n TOOLTIP_TEXT_STAY_DATE_RANGE_2: 'इस फ़ील्ड का उपयोग आपके पते पर रहने की तारीख की श्रेणी दर्ज करने के लिए है',\r\n CONTROL_LABEL_ADDRESS_TAG: 'पता टैग / कोड',\r\n CONTROL_LABEL_SCHOOL_NAME: 'विद्यालय पता',\r\n CONTROL_LABEL_EDUCATION_RECEIVED: 'शिक्षा प्राप्त',\r\n CONTROL_LABEL_ADDRESS1: 'पता १',\r\n CONTROL_LABEL_ADDRESS2: 'पता २',\r\n CONTROL_LABEL_ADDRESS3: 'पता ३',\r\n CONTROL_LABEL_ADDRESS_TOWN: 'पता टाउन/सिटी',\r\n CONTROL_LABEL_ADDRESS_STATE: 'पता राज्य',\r\n CONTROL_LABEL_ADDRESS_POST_CODE: 'पता पोस्ट कोड',\r\n CONTROL_LABEL_COUNTRY: 'देश',\r\n CONTROL_LABEL_DATE_FROM: 'तारीख से',\r\n CONTROL_LABEL_DATE_TO: 'तारीख तक',\r\n CONTROL_LABEL_REGION: 'क्षेत्र',\r\n CONTROL_LABEL_MULTIPLE: 'विभिन्न',\r\n CONTROL_LABEL_NOTES: 'टिप्पणियाँ',\r\n LABEL_CURRENT_ADDRESS: 'वर्तमान स्कूल',\r\n PLACEHOLDER_STATE: 'राज्य का चयन करें',\r\n PLACEHOLDER_COUNTRY: 'देश का चयन करें',\r\n PLACEHOLDER_REGION: 'क्षेत्र का चयन करें',\r\n PLACEHOLDER_CHOOSE_FILES: 'फ़ाइलों का चयन करें',\r\n BUTTON_TEXT_ADD_RECORD: 'रिकॉर्ड जोड़ें',\r\n BUTTON_TEXT_CANCEL: 'रद्द करना',\r\n BUTTON_TEXT_SEARCH_ON_MAP: 'मानचित्र पर खोजें',\r\n BUTTON_TEXT_ADD_A_SCHOOL: 'स्कूल जोड़ें',\r\n BUTTON_TEXT_UPLOAD_ALL: 'सभी को अपलोड करें',\r\n BUTTON_TEXT_PAUSE_ALL: 'सभी रोकें',\r\n BUTTON_TEXT_REMOVE_ALL: 'सभी हटाएं',\r\n BUTTON_TEXT_SAVE_CHANGES: 'परिवर्तनों को सुरक्षित करें',\r\n BUTTON_TEXT_SAVE_AND_CLOSE: 'सहेजें और बंद करें',\r\n BUTTON_TEXT_SAVE_AND_NEXT: 'सहेजें और अगला',\r\n BUTTON_TEXT_ABANDON: 'छोड़ देना',\r\n BUTTON_TEXT_DOWNLOAD_ALL: 'सभी डाउनलोड करें',\r\n COLUMN_HEADING_NAME: 'नाम',\r\n COLUMN_HEADING_SIZE: 'परिमाण',\r\n COLUMN_HEADING_PROGRESS: 'प्रगति',\r\n COLUMN_HEADING_STATUS: 'स्थति',\r\n COLUMN_HEADING_ACTIONS: 'कार्रवाई',\r\n COLUMN_HEADING_DATE_CREATED: 'निर्माण की तिथि',\r\n COLUMN_HEADING_TYPE: 'प्रकार',\r\n TOAST_MESSAGE_SCHOOL_ADDED_SUCCESSFULLY: 'स्कूल सफलतापूर्वक जोड़ा गया।',\r\n TOAST_MESSAGE_SCHOOL_UPDATED_SUCCESSFULLY: 'स्कूल सफलतापूर्वक अपडेट किया गया।',\r\n WARNING_MESSAGE_SELECT_LOCATION: 'कृपया मानचित्र पर स्थान का चयन करें।',\r\n INFO_MESSAGE_COMING_SOON: 'जल्द आ रहा है',\r\n ERROR_MESSAGE_REQUIRED_ADDRESS_TAG: 'पता टैग आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_SCHOOL_NAME: 'विद्यालय नाम आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_EDUCATION_RECEIVED: 'शिक्षा प्राप्त आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_ADDRESS1: 'पता 1 आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_ADDRESS2: 'पता २ आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_ADDRESS3: 'पता ३ आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_ADDRESS_TOWN: 'शहर का पता आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_ADDRESS_STATE: 'राज्य का पता आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_ADDRESS_POST_CODE: 'पोस्ट कोड आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_COUNTRY: 'देश आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_REGION: 'क्षेत्र आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_DATE_FROM: 'से दिनांक आवश्यक है!',\r\n ERROR_MESSAGE_REQUIRED_DATE_TO: 'तक दिनांक आवश्यक है!',\r\n ERROR_MESSAGE_MAX_LENGTH_50: 'आपने बहुत अधिक वर्ण टाइप किए हैं, अधिकतम अनुमत 50 है',\r\n }\r\n }\r\n};\r\n","import { AfterContentInit, Component, ElementRef, Inject, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { AuthenticationService } from 'app/auth/service';\nimport { Constant } from 'app/Classes/constant';\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\nimport { GlobalService } from 'app/Services/global.service';\nimport { Observable, Subject, Subscription } from 'rxjs';\nimport { locale as english } from '../i18n/en';\nimport { locale as french } from '../i18n/fr';\nimport { locale as german } from '../i18n/de';\nimport { locale as portuguese } from '../i18n/pt';\nimport { locale as gujarati } from '../i18n/gj';\nimport { locale as hindi } from '../i18n/hn';\nimport { CoreTranslationService } from '@core/services/translation.service';\nimport { CoreConfigService } from '@core/services/config.service';\nimport { map, takeUntil } from 'rxjs/operators';\nimport { SchoolDocumentListOutputModel, SchoolLoadDataOutputModel, TblUserSchools } from '../school-model.model';\nimport { MapModalType, RecordsType, Status } from 'app/enums';\nimport { TextBoxComponent } from 'app/CustomComponents/text-box/text-box.component';\nimport { LoadingScreenService } from 'app/Services/loading-screen.service';\nimport { CustomToastrService } from 'app/Services/custom-toastr.service';\nimport { E } from 'assets/extensions/extensions';\nimport { FileItem, FileUploader } from 'ng2-file-upload';\nimport { BeforeSlideDetail, InitDetail } from 'lightgallery/lg-events';\nimport lgZoom from 'lightgallery/plugins/zoom';\nimport thumbNail from 'lightgallery/plugins/thumbnail';\nimport pager from 'lightgallery/plugins/pager';\nimport share from 'lightgallery/plugins/share';\nimport autoPlay from 'lightgallery/plugins/autoplay';\nimport { MapAddressComponent } from 'app/address/map-address/map-address.component';\nimport comment from 'lightgallery/plugins/comment';\nimport fullScreen from 'lightgallery/plugins/fullscreen';\nimport rotate from 'lightgallery/plugins/rotate';\nimport { MatDialog, MatDialogConfig } from \"@angular/material/dialog\";\nimport { DatePipe } from '@angular/common';\nimport { MapAddressDataModel } from 'app/address/map-address/map-address-data-model.model';\nimport { LightGallery } from 'lightgallery/lightgallery';\nimport Swal from 'sweetalert2';\nimport { DeleteAttachmentInputModel, DeleteInputModel, DownloadFileInputModel, DownloadFileOutputModel } from 'app/Models/output-model';\nimport { NgbNav } from '@ng-bootstrap/ng-bootstrap';\nimport { Router } from '@angular/router';\nimport video from 'lightgallery/plugins/video';\nimport lgvideo from 'lightgallery/plugins/video';\nimport lgVideo from 'lightgallery/plugins/video';\nimport Zoom from 'lightgallery/plugins/zoom';\nimport vimeoThumbnail from 'lightgallery/plugins/vimeoThumbnail'\nimport { GeneralService } from 'app/Services/general.service';\nimport { SelectSyncFileManagerComponent } from 'app/sync-file-manager/select-sync-file-manager/select-sync-file-manager.component';\n@Component({\n selector: 'app-add-school',\n templateUrl: './add-school.component.html',\n styleUrls: ['./add-school.component.scss']\n})\nexport class AddSchoolComponent implements OnInit, AfterContentInit {\n @ViewChild('notes') notes :ElementRef;\n @ViewChild('addressTag') addressTag: TextBoxComponent;\n @ViewChild('SchoolGallery') lightGallery!: LightGallery;\n @ViewChild('fileInput') fileInput;\n @ViewChild('nav') nav: NgbNav;\n public loading = false;\n public submitted = false;\n currentAppLanguage: any;\n public coreConfig: any;\n private _unsubscribeAll: Subject;\n public error = '';\n dialogTitle: string;\n public PlaceholderState;\n public PlaceholderCountry;\n public PlaceholderRegion;\n public frmSchool: FormGroup;\n public IsForEdit: boolean = false;\n public IsForAbandon: boolean = false;\n date: Date = new Date();\n public maxToDate: Date = new Date();\n public maxFromDate: Date = new Date();\n public DocumentList: SchoolDocumentListOutputModel[] = [];\n public DocumentList1: SchoolDocumentListOutputModel[] = [];\n public deleteDocumentsInputModel: Array = [];\n public downloadFileInputModel: DownloadFileInputModel;\n private needRefresh = false;\n private subSaveSchool$?: Subscription;\n private subDownloadSchoolAtt$?: Subscription;\n private subDeleteSchoolAtt$?: Subscription;\n private subDeleteSchool$?: Subscription;\n private subStateList$?: Subscription;\n private subCountryList$?: Subscription;\n public pageAdvancedEllipses = 1;\n public pagesNumber;\n page=0;\n deleteInputModel: DeleteInputModel = new DeleteInputModel();\n GalleryItems: any = [];\n GalleryItems1: any = [];\n schoolLoadDataOutputModel$: Observable;\n schoolLoadDataOutputModel: SchoolLoadDataOutputModel = new SchoolLoadDataOutputModel();\n userSchool: TblUserSchools;\n uploaderWarning:boolean=false;\n forgotuploadWarning:boolean=false;\n _data: number = 0;\n _ImageUrlAPI: string = Constant.API + 'api/UserSchool/UploadUserSchoolDocuments';\n //_FolderPath: string = '/Schools/';\n public uploader: FileUploader = new FileUploader({\n url: this._ImageUrlAPI,\n isHTML5: true,\n method: \"PUT\",\n itemAlias: \"MultiFileUploaderSchool\",\n disableMultipart: false, // 'DisableMultipart' must be 'true' for formatDataFunction to be called.\n formatDataFunction: (item: FileItem) => item._file,\n formatDataFunctionIsAsync: false,\n maxFileSize: 1 * 1024 * 1024 * 1024,\n //Notes: do not add headers here.\n authToken: `Bearer ` + this.authenticationService.currentUserValue.Token,\n allowedFileType: [\"image\", \"tiff\", \"bmp\", \"png\", \"jpg\", \"jpeg\", \"pdf\", \"video\", \"mp4\", \"mpeg\", \"mov\", \"avi\", \"ogv\", \"webm\", \"flv\"] //\"video\", \"mp4\", \"mpeg\", \"mov\", \"avi\", \"ogv\", \"webm\", \"flv\" ,\"doc\", \"docx\", \"xls\", \"xlsx\", \"ppt\",\n });\n galleryRefresh:LightGallery;\n settings = {\n counter: false,\n appendSubHtmlTo: '.lg-toolbar',\n commentBox: true,\n lgVideo: true,\n download: false,\n thumbnail: true,\n slideVideo: true,\n pager:false,\n autoplayFirstVideo: false,\n autoplayVideoOnSlide:false,\n plugins: [Zoom, thumbNail, autoPlay, fullScreen, rotate, lgvideo, lgVideo, video, vimeoThumbnail] //share,comment (commented for the future use)\n };\n //thumbnailDataURL: string | null = null;\n \n public tab = 1;\n UserSchoolDocument: number[];\n cache: { [key: string]: string } = {};\n infoTooltip: string;\n todateRequired:boolean=true;\n dateformat: string;\n uploadCount=0;\n timeformat: string;\n dateformat1: string;\n constructor(\n private _formBuilder: FormBuilder,\n private _toastrService: CustomToastrService,\n private dialogRef: MatDialogRef,\n private globalService: GlobalService,\n private encrDecr: EncrDecrService,\n private dialog: MatDialog,\n private authenticationService: AuthenticationService,\n private _coreTranslationService: CoreTranslationService,\n private _coreConfigService: CoreConfigService,\n private loadingScreenService: LoadingScreenService,\n private datepipe: DatePipe,\n private generalService : GeneralService,\n private _router: Router,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) {\n this._coreTranslationService.translate(english, french, german, portuguese, gujarati, hindi);\n this._unsubscribeAll = new Subject();\n this._data = data;\n this.dateformat=this.globalService.getDateFormat().toUpperCase();\n this.dateformat1=this.globalService.getDateFormat();\n this.timeformat = this.globalService.getTimeFormat();\n }\n\n ngAfterContentInit(): void {\n setTimeout(() => {\n if (this.addressTag)\n this.addressTag.textBox.nativeElement.focus();\n if (this.notes)\n this.notes.nativeElement.focus();\n }, 500);\n }\n\n ngAfterViewChecked(): void {\n if (this.needRefresh) {\n if (this.lightGallery) {\n this.galleryRefresh.refresh();\n }\n this.needRefresh = false;\n }\n }\n onBeforeClose = async (detail) => {\n this.galleryRefresh.refresh();\n }\n onInitGallery = async (detail) => {\n detail.instance.settings.licenseKey = this.authenticationService.currentUserValue.Parameter.LightGalleryLicenseKey\n this.lightGallery = detail.instance;\n this.galleryRefresh = detail.instance;\n const customButton = ``;\n const tagButton = ``;\n const customHelpButton = ``;\n //const refreshButton = ``\n const $toolbar = this.lightGallery.$toolbar;\n $toolbar.append(customButton);\n $toolbar.append(tagButton);\n $toolbar.append(customHelpButton);\n //$toolbar.append(refreshButton);\n document.getElementById(\"lg-custom-button-delete\").addEventListener(\"click\", async () => {\n const idname = detail.instance.galleryItems[detail.instance.index];\n await this.onDeleteDocument(idname.alt);\n let galleryItems1 = JSON.parse(JSON.stringify(detail.instance.galleryItems));\n const updatedGalleryItems = galleryItems1.filter((item, index) => index !== detail.instance.index);\n detail.instance.updateSlides(updatedGalleryItems, Math.max(detail.instance.index - 1, 0));\n detail.instance.slidesUpdated = true\n let slidesUpdated = false;\n });\n document.getElementById(\"lg-custom-button-download\").addEventListener(\"click\", () => {\n const downloadDocument: SchoolDocumentListOutputModel = new SchoolDocumentListOutputModel;\n const idname = detail.instance.galleryItems[detail.instance.index];\n // var urlWithoutClass = idname.src.split('?');\n // downloadDocument.DocumentPath = urlWithoutClass[0];\n if(idname.src){\n downloadDocument.DocumentPath = idname.src;}\n else if(idname.video){\n downloadDocument.DocumentPath = JSON.parse(idname.video).source[0].src;\n }\n downloadDocument.DocumentId = idname.alt;\n //console.log(downloadDocument)\n this.onDownloadDocument(downloadDocument)\n });\n document.getElementById(\"lg-custom-button-help\").addEventListener(\"click\", () => {\n this.supportFunction();\n });\n // document.getElementById(\"lg-custom-button-refresh\").addEventListener(\"click\", () => {\n // detail.instance.refresh();\n // });\n };\n\n onInitGallery1 = async (detail) => {\n detail.instance.settings.licenseKey = this.authenticationService.currentUserValue.Parameter.LightGalleryLicenseKey\n this.lightGallery = detail.instance;\n this.galleryRefresh = detail.instance;\n const customButton = ``;\n const tagButton = ``;\n const customHelpButton = ``;\n //const refreshButton = ``\n const $toolbar = this.lightGallery.$toolbar;\n $toolbar.append(customButton);\n $toolbar.append(tagButton);\n $toolbar.append(customHelpButton);\n //$toolbar.append(refreshButton);\n document.getElementById(\"lg-custom-button-delete1\").addEventListener(\"click\", async () => {\n const idname = detail.instance.galleryItems[detail.instance.index];\n await this.onDeleteDocument(idname.alt);\n let galleryItems1 = JSON.parse(JSON.stringify(detail.instance.galleryItems));\n const updatedGalleryItems = galleryItems1.filter((item, index) => index !== detail.instance.index);\n detail.instance.updateSlides(updatedGalleryItems, Math.max(detail.instance.index - 1, 0));\n detail.instance.slidesUpdated = true\n let slidesUpdated = false;\n });\n document.getElementById(\"lg-custom-button-download1\").addEventListener(\"click\", () => {\n const downloadDocument: SchoolDocumentListOutputModel = new SchoolDocumentListOutputModel;\n const idname = detail.instance.galleryItems[detail.instance.index];\n // var urlWithoutClass = idname.src.split('?');\n // downloadDocument.DocumentPath = urlWithoutClass[0];\n if(idname.src){\n downloadDocument.DocumentPath = idname.src;}\n else if(idname.video){\n downloadDocument.DocumentPath = JSON.parse(idname.video).source[0].src;\n }\n downloadDocument.DocumentId = idname.alt;\n this.onDownloadDocument(downloadDocument)\n });\n document.getElementById(\"lg-custom-button-help1\").addEventListener(\"click\", () => {\n this.supportFunction();\n });\n // document.getElementById(\"lg-custom-button-refresh\").addEventListener(\"click\", () => {\n // detail.instance.refresh();\n // });\n };\n\n\n\n supportFunction() {\n\n Swal.fire({\n title: \"Help!\",\n text: \"Information about the icons in the Light Gallery.\",\n imageUrl: 'assets/images/pages/raw-icon-labels.png',\n showCancelButton: false,\n confirmButtonColor: '#7367F0',\n //cancelButtonColor: '#E42728',\n confirmButtonText: \"Okay\",\n cancelButtonText: this.currentAppLanguage.data.SCHOOL.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n\n })\n\n }\n\n ngOnInit(): void {\n this.userSchool = new TblUserSchools();\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n this.currentAppLanguage = this.GetCurrentLanguageJsonObject(this.coreConfig.app.appLanguage);\n this.infoTooltip= this.currentAppLanguage.data.SCHOOL.INFO_TEXT;\n this.dialogTitle = this.currentAppLanguage.data.SCHOOL.DIALOG_TITLE_ADD_SCHOOL;\n this.frmSchool = this._formBuilder.group({\n AddressTag: ['', Validators.required],\n SchoolName: ['', Validators.required],\n EducationReceived: ['', Validators.required],\n Address1: ['', Validators.required],\n Address2: [''],\n Address3: [''],\n AddressTown: ['', Validators.required],\n StateId: [, Validators.required],\n AddressPostCode: ['', Validators.required],\n CountryId: [, Validators.required],\n RegionId: [, Validators.required],\n CurrentSchoolYn: [],\n SchoolFromDate: [, Validators.required],\n SchoolToDate: [],\n Notes: [],\n \n });\n //console.log('this._data');\n //console.log(this._data);\n if (typeof this._data !== 'undefined') {\n if (this._data > 0) { //Note: API is being called to load region list in add a new address.\n this.IsForEdit = true;\n this.dialogTitle = this.currentAppLanguage.data.SCHOOL.DIALOG_TITLE_EDIT_SCHOOL;\n }\n const path = 'api/UserSchool/GetUserSchoolLoadData';\n //let response: Observable;\n var input = {\n recordId: this._data,\n docYN:false\n }\n this.schoolLoadDataOutputModel$ = this.globalService.PostDataById(input, path)\n .pipe(\n map((data) => {\n if (data.status == Status.Success) {\n this.schoolLoadDataOutputModel = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, data.data)));\n if (this.schoolLoadDataOutputModel.SchoolDocumentList) {\n this.schoolLoadDataOutputModel.SchoolDocumentList.forEach(async (doc) => {\n if (doc.DocumentSubType.toLocaleLowerCase() == \"documents\") {\n this.DocumentList.push(doc);\n }\n else if (doc.DocumentSubType.toLocaleLowerCase() == \"images\" || \"videos\") {\n await this.AddItemToGallery(doc.DocumentId, doc.DocumentPath, doc.DocumentOldName, doc.Size, doc.DocumentSubType,doc.CreatedDate, doc.CreatedTime);\n this.needRefresh = true;\n }\n });\n }\n if (this.schoolLoadDataOutputModel.UserSchool) {\n this.userSchool = this.schoolLoadDataOutputModel.UserSchool;\n this.frmSchool.setValue({\n Address1: this.userSchool.Address1,\n Address2: this.userSchool.Address2,\n Address3: this.userSchool.Address3,\n SchoolFromDate: E.ConvertToDate(this.userSchool.SchoolFromDate),\n SchoolToDate: E.ConvertToDate(this.userSchool.SchoolToDate),\n AddressTag: this.userSchool.AddressTag,\n SchoolName: this.userSchool.SchoolName,\n AddressPostCode: this.userSchool.AddressPostCode,\n AddressTown: this.userSchool.AddressTown,\n RegionId: this.userSchool.RegionId,\n CountryId: this.userSchool.CountryId,\n StateId: this.userSchool.StateId,\n EducationReceived: this.userSchool.EducationReceived,\n Notes: this.userSchool.Notes,\n CurrentSchoolYn: this.userSchool.CurrentSchoolYn,\n });\n // this.toggleSelection(this.userSchool.CurrentSchoolYn)\n if (this.userSchool.CountryId) {\n this.frmSchool.get('CountryId').enable();\n }\n if (this.userSchool.StateId) {\n this.frmSchool.get('StateId').enable();\n }\n }\n // console.log(this.userSchool);\n return this.schoolLoadDataOutputModel;\n }\n else {\n this._toastrService.Error(E.ConvertToString(data.message), Constant.ErrorToastrTitle);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n //this.loadingScreenService.stopLoading();\n }\n ));\n //}, 500);\n }\n this.PlaceholderRegion = this.currentAppLanguage.data.SCHOOL.PLACEHOLDER_REGION;\n this.PlaceholderCountry = this.currentAppLanguage.data.SCHOOL.PLACEHOLDER_COUNTRY;\n this.PlaceholderState = this.currentAppLanguage.data.SCHOOL.PLACEHOLDER_STATE;\n this.frmSchool.get('CountryId').disable();\n this.frmSchool.get('RegionId').disable();\n\n this.uploader.onAfterAddingFile = (file: any) => {\n if((this.uploader.queue.length>0) && (this.uploader.isUploading==false)){\n this.forgotuploadWarning=true;}\n file.withCredentials = false;\n };\n this.uploader.onBuildItemForm = (fileItem: any, form: any) => {\n fileItem.withCredentials = false;\n };\n this.uploader.onBeforeUploadItem = (fileItem) => {\n this.loadingScreenService.startLoading();\n this.uploader.setOptions({\n headers: [\n { name: 'Access-Control-Allow-Origin', value: \"*\" },\n { name: 'FileSize', value: fileItem.file.size },\n { name: 'UserDetailsID', value: E.ConvertToString(this.authenticationService.currentUserValue.UserDetailsId) },\n { name: 'UserSchoolID', value: E.ConvertToString(this._data) }]\n });\n //this.uploader.setOptions({ url: fileItem.url + fileItem.file.name });\n return fileItem;\n };\n // this.uploader.onCompleteItem = (item: any, response: any, status: any, headers: any) => {\n // alert('File uploaded');\n // };\n this.uploader.response.subscribe(async result => {\n if (result) {\n this.loadingScreenService.startLoading()\n let _result = JSON.parse(result);\n if(this.uploader.progress!=100){\n this.uploaderWarning=true;\n this.loadingScreenService.startLoading();\n }else if(this.uploader.progress==100){\n this.uploaderWarning=false;\n this.forgotuploadWarning=false;\n // this.uploadCount = 0;\n this.loadingScreenService.stopLoading();\n }\n if (_result.status == Status.Success) {\n this._toastrService.Success(\"File Uploaded Successfully\")\n this.uploadCount = this.uploadCount+1;\n let _SchoolDocument = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, _result.data));\n // console.log('_SchoolDocument');\n // console.log(_SchoolDocument);\n if (_SchoolDocument.DocumentSubType.toLocaleLowerCase() == \"documents\") {\n this.DocumentList.push(_SchoolDocument);\n this.DocumentList1.push(_SchoolDocument);\n }\n else if (_SchoolDocument.DocumentSubType.toLocaleLowerCase() == \"images\" || \"videos\") {\n await this.AddItemToGallery(_SchoolDocument.DocumentId, _SchoolDocument.DocumentPath, _SchoolDocument.DocumentOldName, _SchoolDocument.Size, _SchoolDocument.DocumentSubType,_SchoolDocument.CreatedDate, _SchoolDocument.CreatedTime);\n await this.AddItemToGallery1(_SchoolDocument.DocumentId, _SchoolDocument.DocumentPath, _SchoolDocument.DocumentOldName, _SchoolDocument.Size, _SchoolDocument.DocumentSubType,_SchoolDocument.CreatedDate, _SchoolDocument.CreatedTime);\n this.needRefresh = true;\n }\n }\n else if (_result.status == Status.StorageFull) {\n this.loadingScreenService.stopLoading();\n this.uploader.cancelAll();\n this.uploader.clearQueue()\n Swal.fire({\n title: \"Storage Full\",\n text: _result.message,\n icon: 'error',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: \"Buy More Storage\",\n cancelButtonText: this.currentAppLanguage.data.SCHOOL.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n })\n .then(\n (async (result) => {\n if (result.value) {\n //this.uploader.clearQueue();\n this.dialogRef.close(true);\n this._router.navigate(['/pages/pricing'])\n }\n })\n );\n\n }\n }\n // this.loadingScreenService.stopLoading();\n });\n\n this.dialogRef.keydownEvents().subscribe(event => {\n if (event.key.toLocaleLowerCase() === \"escape\") {\n this.onCancelClick();\n }\n });\n }\n\n loadPage(event,filetype){\n // this.savePosition();\n this.pageAdvancedEllipses\n this.getAttachmentList(filetype,event)\n // setTimeout(() => this.restorePosition(), 0);\n }\n\n getAttachmentList(FileType?,page?) {\n this.GalleryItems=[]\n this.DocumentList = [];\n //this.needRefresh = true;\n if(page)\n this.page = page\n var getMyAttachmentsInputModel = {\n RecordId: this._data,\n Page:this.page,\n Pagesize:20,\n FileType:FileType,\n // QuickPostType:QuickPostType.Public,\n GetMetaDataYN:false\n }\n this.loadingScreenService.startLoading();\n this.generalService.GetUserSchoolDocumentsById(getMyAttachmentsInputModel).subscribe(async result => {\n if (result) {\n if (result.status == Status.Success) {\n let _attachmentlist = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n // console.log(_attachmentlist)\n if (_attachmentlist) {\n _attachmentlist.forEach(async(doc) => {\n if (doc.DocumentSubType.toLocaleLowerCase() == \"documents\") {\n this.DocumentList.push(doc);\n }\n else if (doc.DocumentSubType.toLocaleLowerCase() == \"images\" || \"videos\") {\n await this.AddItemToGallery(doc.DocumentId, doc.DocumentPath, doc.DocumentOldName, doc.Size, doc.DocumentSubType,doc.CreatedDate, doc.CreatedTime);\n this.needRefresh = true;\n }\n if(_attachmentlist[0]?.TotalNumberOfRecords>0)\n this.pagesNumber=_attachmentlist[0]?.TotalNumberOfRecords;\n });\n } \n this.loadingScreenService.stopLoading();\n }\n else {\n this.loadingScreenService.stopLoading();\n this._toastrService.Error(result.Message, Constant.ErrorToastrTitle);\n }\n }\n });\n }\n\n checkQueueLength(queuLength){\n console.log(queuLength)\n if((queuLength>0) && (this.uploader.isUploading==false)){\n this.forgotuploadWarning=true;}\n else if(queuLength==0)\n {this.forgotuploadWarning=false;\n this.uploaderWarning=false;\n }\n }\n onFileSelected(event){\n //console.log(event)\n this.uploader.uploadAll();\n }\n async AddItemToGallery1(_id: number, _url: string, documentname: string, documentsize: string, filetype: string,CreatedDate:string, CreatedTime:string): Promise {\n const loadingItem = {\n id: _id,\n size: documentsize,\n src: _url,\n data: await this.generateVideoData(_url),\n thumb: 'https://noosom1sg.b-cdn.net/NoosomAssets/Images/noosomads/Logo-3-1.gif', // Placeholder or loading indicator for the thumbnail\n subHtml: documentname, documentsize,\n type: filetype,\n name: documentname,\n createdDate:CreatedDate,\n createdTime:CreatedTime\n };\n \n this.GalleryItems1.push(loadingItem);\n let thumb = this.cache[_url]; // Check if thumbnail is already in cache\n \n if (!thumb) {\n thumb = await this.generateThumbnailFromVideoURL(_url, filetype);\n this.cache[_url] = thumb; // Save the thumbnail to cache\n }\n \n const galleryItem = {\n id: _id,\n size: documentsize,\n src: _url,\n data: await this.generateVideoData(_url),\n thumb: thumb,\n subHtml: documentname, documentsize,\n type: filetype,\n name: documentname,\n createdDate:CreatedDate,\n createdTime:CreatedTime\n };\n const index = this.GalleryItems1.findIndex(item => item.id === _id);\n this.GalleryItems1[index] = galleryItem;\n // console.log(this.attachmentlist)\n } \n\n async AddItemToGallery(_id: number, _url: string, documentname: string, documentsize: string, filetype: string,CreatedDate:string, CreatedTime:string): Promise {\n const loadingItem = {\n id: _id,\n size: documentsize,\n src: _url,\n data: await this.generateVideoData(_url),\n thumb: 'https://noosom1sg.b-cdn.net/NoosomAssets/Images/noosomads/Logo-3-1.gif', // Placeholder or loading indicator for the thumbnail\n subHtml: documentname, documentsize,\n type: filetype,\n name: documentname,\n createdDate:CreatedDate,\n createdTime:CreatedTime\n };\n \n this.GalleryItems.push(loadingItem);\n let thumb = this.cache[_url]; // Check if thumbnail is already in cache\n \n if (!thumb) {\n thumb = await this.generateThumbnailFromVideoURL(_url, filetype);\n this.cache[_url] = thumb; // Save the thumbnail to cache\n }\n \n const galleryItem = {\n id: _id,\n size:documentsize,\n src: _url,\n data: await this.generateVideoData(_url),\n thumb: thumb,\n subHtml: documentname, documentsize,\n type: filetype,\n name: documentname,\n createdDate:CreatedDate,\n createdTime:CreatedTime\n };\n const index = this.GalleryItems.findIndex(item => item.id === _id);\n this.GalleryItems[index] = galleryItem;\n // console.log(this.attachmentlist)\n }\n \n \n async generateThumbnailFromVideoURL(videoURL: string, type: string): Promise {\n if (type === \"Videos\") {\n return new Promise((resolve, reject) => {\n const video = document.createElement('video');\n video.crossOrigin = 'anonymous'; // Enable cross-origin for video\n video.src = videoURL;\n \n video.addEventListener('loadedmetadata', () => {\n video.currentTime = 10.5; // Adjust as needed\n \n video.addEventListener('seeked', () => {\n const canvas = document.createElement('canvas');\n canvas.width = video.videoWidth;\n canvas.height = video.videoHeight;\n \n const ctx = canvas.getContext('2d');\n ctx.drawImage(video, 0, 0, canvas.width, canvas.height);\n \n // Draw a play icon in the center of the canvas\n const playIconSize = 250; // Adjust the size as needed\n ctx.fillStyle = 'rgba(255, 255, 255, 0.7)';\n ctx.beginPath();\n ctx.moveTo(canvas.width / 2 - playIconSize / 2, canvas.height / 2 - playIconSize / 2);\n ctx.lineTo(canvas.width / 2 + playIconSize / 2, canvas.height / 2);\n ctx.lineTo(canvas.width / 2 - playIconSize / 2, canvas.height / 2 + playIconSize / 2);\n ctx.closePath();\n ctx.fill();\n \n // Resolve with the data URL of the canvas\n resolve(canvas.toDataURL('image/png'));\n \n // Clean up\n canvas.remove();\n video.remove();\n });\n \n video.addEventListener('error', (error) => {\n resolve(\"assets/images/pages/Cannot_play.png\")\n // reject(`Error loading video: ${error.message}`);\n });\n });\n \n video.addEventListener('error', (error) => {\n resolve(\"assets/images/pages/Cannot_play.png\")\n // reject(`Error loading video metadata: ${error.message}`);\n });\n \n // Load the video\n video.load();\n });\n }\n }\n \n async generateVideoData(src): Promise {\n const videoData = {\n source: [{ src: src, type: 'video/mp4' }],\n attributes: { preload: true, controls: true }\n };\n return JSON.stringify(videoData);\n }\n\n onTabActive(tabNumber: number) {\n if(tabNumber==1){this.infoTooltip= this.currentAppLanguage.data.SCHOOL.INFO_TEXT;}\n if(tabNumber==2){\n this.infoTooltip=this.currentAppLanguage.data.SCHOOL.INFO_TEXT4;\n setTimeout(() => {\n if (this.notes)\n this.notes.nativeElement.focus();\n },500)\n }\n else if(tabNumber==3){this.infoTooltip= this.currentAppLanguage.data.SCHOOL.INFO_TEXT1;}\n else if(tabNumber==4){this.infoTooltip= this.currentAppLanguage.data.SCHOOL.INFO_TEXT2;\n this.getAttachmentList('Images');\n }\n else if(tabNumber==5){this.infoTooltip= this.currentAppLanguage.data.SCHOOL.INFO_TEXT3;\n this.getAttachmentList('Documents');\n }\n this.tab = tabNumber;\n }\n\n // toggleSelection(event){\n // if(event==true){\n // setTimeout(() => {\n // this.frmSchool.get('SchoolToDate').setValue(null)\n // this.frmSchool.get('SchoolToDate').setErrors(null)\n // //console.log(this.frmSchool.get('SchoolToDate'))\n // this.todateRequired=false;\n // }, 100);\n \n // }\n // else {\n // this.frmSchool.get('SchoolToDate').setErrors({ 'required': true })\n // this.todateRequired=true;\n // }\n // }\n\n onSubmit(tabs: boolean) {\n\n if (typeof this.userSchool.Latitude === 'undefined' || typeof this.userSchool.Longitude === 'undefined' || this.userSchool.Latitude == null || this.userSchool.Longitude == null) {\n this._toastrService.Warning(this.currentAppLanguage.data.SCHOOL.WARNING_MESSAGE_SELECT_LOCATION, Constant.WarningToastrTitle);\n this.onSearchOnMapClick();\n return;\n }\n\n if(this.uploaderWarning){\n Swal.fire({\n title: 'Warning',\n text: 'Your documents or files are still uploading. Please note that any remaining files will not be uploaded or will be terminated if you proceed to submit the form. Are you sure you want to continue?',\n icon: 'warning',\n showCancelButton: true,\n confirmButtonText: 'Continue',\n cancelButtonText: 'Cancel',\n customClass: {\n confirmButton: 'btn btn-danger',\n cancelButton: 'btn btn-success'\n }\n }).then((result) => {\n if (result.isConfirmed) {\n this.uploaderWarning=false;\n this.onSubmit(tabs)\n }\n else{\n this.nav.select(3);\n }\n });\n return;\n }\n if(this.forgotuploadWarning){\n Swal.fire({\n title: 'Warning',\n text: 'You have some documents or files to upload. Please note that all your files will not be uploaded or will be terminated if you proceed to submit the form. Are you sure you want to submit the form?',\n icon: 'warning',\n showCancelButton: true,\n confirmButtonText: 'Continue',\n cancelButtonText: 'Cancel',\n customClass: {\n confirmButton: 'btn btn-danger',\n cancelButton: 'btn btn-success'\n }\n }).then((result) => {\n if (result.isConfirmed) {\n this.forgotuploadWarning=false;\n this.onSubmit(tabs)\n }\n else{\n this.nav.select(3);\n }\n });\n return;\n }\n\n this.submitted = true;\n if (this.frmSchool.invalid) {\n return;\n }\n this.submitted = false;\n if (this.userSchool == null) {\n this.userSchool = new TblUserSchools();\n }\n this.userSchool.AddressTag = this.frmSchool.get('AddressTag').value;\n this.userSchool.SchoolName = this.frmSchool.get('SchoolName').value;\n this.userSchool.EducationReceived = this.frmSchool.get('EducationReceived').value;\n this.userSchool.Address1 = this.frmSchool.get('Address1').value;\n this.userSchool.Address2 = this.frmSchool.get('Address2').value;\n this.userSchool.Address3 = this.frmSchool.get('Address3').value;\n this.userSchool.AddressTown = this.frmSchool.get('AddressTown').value;\n this.userSchool.AddressPostCode = this.frmSchool.get('AddressPostCode').value;\n this.userSchool.RegionId = this.frmSchool.get('RegionId').value;\n //console.log(this.frmAddress.get('AddressToDate').value);\n this.userSchool.CountryId = this.frmSchool.get('CountryId').value;\n this.userSchool.StateId = this.frmSchool.get('StateId').value;\n this.userSchool.Notes = this.frmSchool.get('Notes').value;\n this.userSchool.SchoolFromDate = E.GetDateStringOnly(this.frmSchool.get('SchoolFromDate').value);\n this.userSchool.SchoolToDate = E.GetDateStringOnly(this.frmSchool.get('SchoolToDate').value);\n this.userSchool.UserDetailsId = this.authenticationService.currentUserValue.UserDetailsId;\n if (this.frmSchool.get('CurrentSchoolYn').value)\n this.userSchool.CurrentSchoolYn = this.frmSchool.get('CurrentSchoolYn').value;\n else\n this.userSchool.CurrentSchoolYn = false;\n if (this.frmSchool.get('CountryId').value) {\n this.userSchool.AddressCounty = this.schoolLoadDataOutputModel.CountryList.filter(c => c.CountryId == this.frmSchool.get('CountryId').value)[0].CountryName;\n }\n if (E.ConvertToNumber(this.userSchool.UserSchoolId) == 0 && this.IsForEdit == false) {\n this.userSchool.CreatedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.userSchool.CreatedDate = E.GetTodayDateStringOnly();\n this.userSchool.CreatedTime = E.GetTodayTimeStringOnly();\n this.userSchool.ChangedDate = E.GetTodayDateStringOnly();\n this.userSchool.ChangedTime = E.GetTodayTimeStringOnly();\n }\n else {\n this.userSchool.ChangedBy = this.authenticationService.currentUserValue.UserDetailsId;\n this.userSchool.ChangedDate = E.GetTodayDateStringOnly();\n this.userSchool.ChangedTime = E.GetTodayTimeStringOnly();\n }\n if (this.tab <= 2 || this.IsForEdit) {\n\n //this.loadingScreenService.startLoading();\n const path = 'api/UserSchool/CreateUpdateUserSchool';\n this.subSaveSchool$ = this.globalService.PostDataById(this.userSchool, path).subscribe(\n (result) => {\n\n //this.loadingScreenService.stopLoading();\n var message = \"\";\n // console.log('result');\n // console.log(result);\n if (result.status == Status.RecordAdded) {\n message = this.currentAppLanguage.data.SCHOOL.TOAST_MESSAGE_SCHOOL_ADDED_SUCCESSFULLY;\n this.tab = this.tab + 1;\n this.nav.select(this.tab)\n if(this.tab==2){\n setTimeout(() => {\n // console.log(this.notes)\n if (this.notes)\n this.notes.nativeElement.focus();\n },500)\n }\n const jsonString = this.encrDecr.get(Constant.EncrDecrKey, result.data);\n const parsedObject = JSON.parse(jsonString);\n this._data = parsedObject.Data.UserSchoolId\n this.userSchool.UserSchoolId = parsedObject.Data.UserSchoolId\n this.IsForAbandon = true;\n }\n else if (result.status == Status.RecordUpdated) {\n message = this.currentAppLanguage.data.SCHOOL.TOAST_MESSAGE_SCHOOL_UPDATED_SUCCESSFULLY;\n if (!tabs) {\n this.tab = this.tab + 1\n this.nav.select(this.tab)\n }\n }\n if (message.length > 0) {\n this._toastrService.Success(message, Constant.SuccessToastrTitle);\n if ((this.tab == 1) || tabs) {\n this.dialogRef.close(true);\n this.frmSchool.reset();\n this.frmSchool.patchValue({\n SchoolFromDate: new Date(),\n SchoolToDate: new Date()\n });\n }\n (this.frmSchool.get('AddressTag')).nativeElement.focus();\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n\n //this.loadingScreenService.stopLoading();\n }\n );\n }\n else if (this.tab >= 2 && this.tab <= 5) {\n this.tab = this.tab + 1;\n this.nav.select(this.tab)\n if (tabs) {\n this.dialogRef.close(true);\n this.frmSchool.reset();\n }\n }\n }\n\n async onDownloadAllDocument() {\n for (let index = 0; index < this.DocumentList.length; index++) {\n const _doc = this.DocumentList[index];\n var _res = await this.DownloadMySchoolDocument(_doc, true);\n // console.log('_res');\n // console.log(_res);\n if (_res) {\n if ((index + 1) === this.DocumentList.length) {\n this._toastrService.Success('Downloaded All Successfully.', Constant.SuccessToastrTitle);\n }\n } else {\n break;\n }\n }\n }\n\n async onDownloadDocument(document: SchoolDocumentListOutputModel) {\n if (document) {\n await this.DownloadMySchoolDocument(document);\n }\n }\n\n async DownloadMySchoolDocument(Document: SchoolDocumentListOutputModel, IsDownloadAll = false) {\n //console.log('DeleteMyAddressDocument');\n this.loadingScreenService.startLoading();\n if (typeof Document === 'undefined' || Document == null) {\n return false;\n }\n this.downloadFileInputModel = {\n DownloadID: Document.DocumentId,\n FilePath: Document.DocumentPath,\n UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId\n };\n // console.log(this.downloadFileInputModel)\n let promise = new Promise((resolve, reject) => {\n var Result: boolean = false;\n const path = 'api/UserSchool/DownloadUserSchoolDocuments';\n this.subDownloadSchoolAtt$ = this.globalService.PostDataById(this.downloadFileInputModel, path).subscribe(\n (result) => {\n this.loadingScreenService.stopLoading();\n // console.log('result');\n // console.log(result.status);\n // console.log(Status.Success);\n if (result.status == Status.Success) {\n let _downloaded = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)));\n var sampleArr = this.globalService.base64ToArrayBuffer(E.ConvertToString(_downloaded.FileBase64String));\n this.globalService.saveByteArray(_downloaded.FileName, sampleArr, _downloaded.FileMimeType);\n if (IsDownloadAll === false)\n this._toastrService.Success('Downloaded Successfully.', Constant.SuccessToastrTitle);\n //console.log(this.DocumentList);\n Result = true;\n }\n else {\n this._toastrService.Error(result.message, Constant.ErrorToastrTitle);\n Result = false;\n }\n resolve(Result);\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n this.loadingScreenService.stopLoading();\n resolve(Result);\n }\n );\n });\n return await promise;\n }\n\n async OnSchoolDeleteClick() {\n //console.log('OnAddressDeleteClick');\n Swal.fire({\n title: this.currentAppLanguage.data.SCHOOL.SWEET_ALERT_TITLE_SCHOOL_TEXT,\n text: this.currentAppLanguage.data.SCHOOL.SWEET_ALERT_TEXT,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: this.currentAppLanguage.data.SCHOOL.SWEET_ALERT_CONFIRM_BUTTON_TEXT,\n cancelButtonText: this.currentAppLanguage.data.SCHOOL.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n })\n .then(\n (async (result) => {\n if (result.value) {\n const UserSchoolId = this._data\n const a = await this.DeleteMySchool(UserSchoolId);\n }\n })\n );\n }\n\n async DeleteMySchool(UserSchoolId: number) {\n this.loadingScreenService.startLoading();\n this.deleteInputModel = {\n DeleteID: UserSchoolId,\n UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId\n }\n let promise = new Promise((resolve, reject) => {\n var Result: boolean;\n const path = 'api/UserSchool/DeleteUserSchool';\n this.subDeleteSchool$ = this.globalService.PostDataById(this.deleteInputModel, path).subscribe(\n (data) => {\n this.loadingScreenService.stopLoading();\n var result = JSON.parse(JSON.stringify(data));\n if (result.status == Status.Success) {\n Swal.fire({\n icon: 'success',\n title: 'Deleted!',\n text: E.ConvertToString(result.message),\n customClass: {\n confirmButton: 'btn btn-success'\n }\n });\n this.dialogRef.close(true);\n this.frmSchool.reset();\n Result = true;\n }\n else {\n this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n Result = false;\n }\n resolve(Result);\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n this.loadingScreenService.stopLoading();\n }\n );\n });\n return await promise;\n }\n\n async onDeleteAllDocument() {\n let UserSchoolDocumentIds: number[] = [];\n if (this.DocumentList) {\n this.DocumentList.forEach(_doc => {\n UserSchoolDocumentIds.push(_doc.DocumentId);\n });\n if (UserSchoolDocumentIds.length > 0) {\n Swal.fire({\n title: this.currentAppLanguage.data.SCHOOL.SWEET_ALERT_TITLE_ALL_ADDRESS_DOCUMENT_TEXT,\n text: this.currentAppLanguage.data.SCHOOL.SWEET_ALERT_TEXT,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: this.currentAppLanguage.data.SCHOOL.SWEET_ALERT_CONFIRM_BUTTON_TEXT,\n cancelButtonText: this.currentAppLanguage.data.SCHOOL.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n })\n .then(\n (async (result) => {\n if (result.value) {\n const _res = await this.DeleteMySchoolDocument(UserSchoolDocumentIds);\n }\n })\n );\n }\n }\n }\n\n // async onDeleteDocument(userschoolDocumentId: number) {\n // let UserSchoolDocumentIds: number[] = [];\n // if (userschoolDocumentId) {\n // UserSchoolDocumentIds.push(userschoolDocumentId);\n // Swal.fire({\n // title: this.currentAppLanguage.data.SCHOOL.SWEET_ALERT_TITLE_ADDRESS_DOCUMENT_TEXT,\n // text: this.currentAppLanguage.data.SCHOOL.SWEET_ALERT_TEXT,\n // icon: 'warning',\n // showCancelButton: true,\n // confirmButtonColor: '#7367F0',\n // cancelButtonColor: '#E42728',\n // confirmButtonText: this.currentAppLanguage.data.SCHOOL.SWEET_ALERT_CONFIRM_BUTTON_TEXT,\n // cancelButtonText: this.currentAppLanguage.data.SCHOOL.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n // customClass: {\n // confirmButton: 'btn btn-primary',\n // cancelButton: 'btn btn-danger ml-1'\n // }\n // })\n // .then(\n // (async (result) => {\n // if (result.value) {\n // const a = await this.DeleteMySchoolDocument(UserSchoolDocumentIds);\n // }\n // })\n // );\n // }\n // }\n // async DeleteMySchoolDocument(UserSchoolDocumentIds: Array) {\n // //console.log('DeleteMyAddressDocument');\n // this.loadingScreenService.startLoading();\n // if (UserSchoolDocumentIds.length < 1) {\n // return false;\n // }\n // this.deleteDocumentsInputModel = [];\n // UserSchoolDocumentIds.forEach(userschoolDocumentId => {\n // this.deleteDocumentsInputModel.push({\n // DeleteID: userschoolDocumentId,\n // UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId\n // });\n // });\n // let promise = new Promise((resolve, reject) => {\n // var Result: boolean;\n // const path = 'api/UserSchool/DeleteUserSchoolDocuments';\n // this.subDeleteSchoolAtt$ = this.globalService.PostDataById(this.deleteDocumentsInputModel, path).subscribe(\n // (data) => {\n // this.loadingScreenService.stopLoading();\n // //console.log(data);\n // var result = JSON.parse(JSON.stringify(data));\n // //console.log(result);\n // if (result.status == Status.Success) {\n // Swal.fire({\n // icon: 'success',\n // title: 'Deleted!',\n // text: E.ConvertToString(result.message),\n // customClass: {\n // confirmButton: 'btn btn-success'\n // }\n // });\n // this.DocumentList = this.DocumentList.filter(x => !UserSchoolDocumentIds.includes(x.UserSchoolDocumentId));\n // const indexToRemove: number = this.GalleryItems.findIndex(item => item.id == UserSchoolDocumentIds);\n // if (indexToRemove !== -1) {\n // this.GalleryItems.splice(indexToRemove, 1);\n // }\n // Result = true;\n // }\n // else {\n // this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n // Result = false;\n // }\n // resolve(Result);\n // },\n // (error) => {\n // this._toastrService.Error(error, Constant.ErrorToastrTitle);\n // this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n // this.loadingScreenService.stopLoading();\n // }\n // );\n // });\n // return await promise;\n // }\n\n async onDeleteDocument(userschoolDocumentId: number) {\n if (!userschoolDocumentId) {\n return;\n }\n \n try {\n await this.showConfirmationDialog();\n const result = await this.DeleteMySchoolDocument([userschoolDocumentId]);\n \n if (result) {\n // Next line of code after both function1 and function2 have completed\n }\n } catch (error) {\n }\n }\n \n showConfirmationDialog(): Promise {\n return new Promise((resolve) => {\n Swal.fire({\n title: this.currentAppLanguage.data.SCHOOL.SWEET_ALERT_TITLE_ADDRESS_DOCUMENT_TEXT,\n text: this.currentAppLanguage.data.SCHOOL.SWEET_ALERT_TEXT,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: this.currentAppLanguage.data.SCHOOL.SWEET_ALERT_CONFIRM_UNLINK_BUTTON_TEXT,\n cancelButtonText: this.currentAppLanguage.data.SCHOOL.SWEET_ALERT_CANCEL_BUTTON_TEXT,\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1',\n },\n }).then((result) => {\n if (result.value) {\n resolve();\n }\n });\n });\n }\n \n async DeleteMySchoolDocument(UserSchoolDocumentIds: Array): Promise {\n this.loadingScreenService.startLoading();\n \n try {\n if (UserSchoolDocumentIds.length < 1) {\n return false;\n }\n \n this.deleteDocumentsInputModel = [];\n this.UserSchoolDocument = UserSchoolDocumentIds\n UserSchoolDocumentIds.forEach((userschoolDocumentId) => {\n this.deleteDocumentsInputModel.push({\n DeleteID: userschoolDocumentId,\n UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId,\n RecordID: this._data\n });\n });\n \n const result = await this.postDataAndHandleResponse();\n \n return result;\n } catch (error) {\n console.error('An error occurred:', error);\n return false;\n } finally {\n this.loadingScreenService.stopLoading();\n }\n }\n \n private postDataAndHandleResponse(): Promise {\n return new Promise((resolve) => {\n const path = 'api/UserSchool/DeleteUserSchoolDocuments';\n this.subDeleteSchoolAtt$ = this.globalService.PostDataById(this.deleteDocumentsInputModel, path).subscribe(\n (data) => {\n const result = JSON.parse(JSON.stringify(data));\n \n if (result.status === Status.Success) {\n // Handle success\n this.handleSuccess(result);\n resolve(true);\n } else {\n // Handle failure\n this.handleFailure(result);\n resolve(false);\n }\n },\n (error) => {\n // Handle network error\n this.handleNetworkError(error);\n resolve(false);\n }\n );\n });\n }\n \n private handleSuccess(result: any): void {\n Swal.fire({\n icon: 'success',\n title: 'Deleted!',\n text: E.ConvertToString(result.message).replace('deleted','unlinked'),\n customClass: {\n confirmButton: 'btn btn-success',\n },\n });\n \n // Modify this part as needed\n this.DocumentList = this.DocumentList.filter((x) => !this.UserSchoolDocument.includes(x.DocumentId));\n this.DocumentList1 = this.DocumentList1.filter((x) => !this.UserSchoolDocument.includes(x.DocumentId));\n const indexToRemove: number = this.GalleryItems.findIndex((item) => item.id == this.UserSchoolDocument);\n if (indexToRemove !== -1) {\n this.GalleryItems.splice(indexToRemove, 1);\n }\n const indexToRemovenew: number = this.GalleryItems1.findIndex((item) => item.id == this.UserSchoolDocument);\n if (indexToRemovenew !== -1) {\n this.GalleryItems1.splice(indexToRemovenew, 1);\n }\n }\n \n private handleFailure(result: any): void {\n this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n }\n \n private handleNetworkError(error: any): void {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n }\n \n\n\n onComingSoon() {\n this._toastrService.Info(this.currentAppLanguage.data.SCHOOL.INFO_MESSAGE_COMING_SOON, Constant.InfoToastrTitle);\n }\n onCancelClick() {\n this.dialogRef.close(false);\n }\n\n onSearchOnMapClick() {\n if (E.ConvertToString(this.frmSchool.get('Address1').value) != '' && E.ConvertToString(this.frmSchool.get('AddressTown').value) != ''\n && E.ConvertToString(this.frmSchool.get('AddressPostCode').value) != '') {\n this.openDialogMapAddress()\n\n }\n else {\n this._toastrService.Error(\"The required fields are empty\", Constant.ErrorToastrTitle);\n }\n }\n\n onStateChange(event) {\n if (event != null) {\n this.PlaceholderCountry = \"\";\n //this.loadingScreenService.startLoading();\n const path = 'api/State/GetCountryRegionId';\n var list = this.globalService.PostDataAnonymous(event, path).subscribe(\n (data) => {\n //this.loadingScreenService.stopLoading();\n var result = JSON.parse(data._body);\n if (result.status == Status.Success) {\n // console.log(JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data)))\n var countryRegion = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n this.frmSchool.get('CountryId').setValue(countryRegion?.CountryId);\n this.frmSchool.get('RegionId').setValue(countryRegion?.RegionId);\n // this.familyMemberLoadDataOutputModel.StateList = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n // if (this.familyMemberLoadDataOutputModel.StateList != null) {\n // this.frmFamily.get('StateId').enable();\n // }\n }\n },\n (error) => {\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n //this.loadingScreenService.stopLoading();\n }\n );\n }\n else {\n this.PlaceholderCountry = this.currentAppLanguage.data.SCHOOL.PLACEHOLDER_STATE;\n this.frmSchool.get('RegionId').setValue(null);\n this.PlaceholderRegion = this.currentAppLanguage.data.SCHOOL.PLACEHOLDER_REGION;\n this.frmSchool.get('RegionId').disable();\n this.frmSchool.get('CountryId').setValue(null);\n this.PlaceholderCountry = this.currentAppLanguage.data.SCHOOL.PLACEHOLDER_COUNTRY;\n this.frmSchool.get('CountryId').disable();\n }\n }\n\n GetMapSearchString(): string {\n let result = '';\n if (this.frmSchool.get('Address1').value)\n result += (this.frmSchool.get('Address1').value + ', ');\n if (this.frmSchool.get('AddressTown').value)\n result += (this.frmSchool.get('AddressTown').value + ', ');\n if (this.frmSchool.get('AddressPostCode').value)\n result += (this.frmSchool.get('AddressPostCode').value);\n return result;\n }\n\n openDialogMapAddress() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.autoFocus = false;\n dialogConfig.width = \"70%\"\n dialogConfig.height = \"55%\";\n dialogConfig.data = new MapAddressDataModel(MapModalType.SearchString, this.GetMapSearchString());\n const dialogRef: MatDialogRef = this.dialog.open(MapAddressComponent, dialogConfig);\n dialogRef.componentInstance.IsDraggable = true;\n dialogRef.componentInstance.IsSaveButtonVisible = true;\n dialogRef.componentInstance.IsSearchOnMap = true;\n dialogRef.afterClosed().subscribe(\n result => {\n // console.log('Map closed');\n // console.log(result);\n if (result) {\n if (E.ConvertToString(result.event) == 'SearchOnMap' && result.data) {\n this.userSchool.Latitude = result.data.lat;\n this.userSchool.Longitude = result.data.long;\n }\n }\n // this.loadData();\n }\n );\n }\n\n OnSchoolToDateChange(event) {\n // console.log('OnSchoolToDateChange');\n // console.log(this.maxFromDate);\n // console.log(this.frmSchool.get('AddressToDate').value);\n let datefrom = this.frmSchool.get('SchoolFromDate').value;\n let dateto = this.frmSchool.get('SchoolToDate').value;\n if (datefrom && dateto) {\n if (datefrom.getTime() > dateto.getTime()) {\n this.frmSchool.get('SchoolFromDate').setValue(dateto);\n }\n }\n if (dateto)\n this.maxFromDate = dateto;\n }\n\n onCountryChange(event) {\n this.schoolLoadDataOutputModel.StateList = null;\n this.frmSchool.get('StateId').setValue(null);\n this.PlaceholderState = this.currentAppLanguage.data.SCHOOL.PLACEHOLDER_STATE;\n this.frmSchool.get('StateId').disable();\n if (event != null) {\n this.PlaceholderCountry = \"\";\n //this.loadingScreenService.startLoading();\n const path = 'api/State/GetStateList';\n this.subStateList$ = this.globalService.PostDataAnonymous(event, path).subscribe(\n (data) => {\n //this.loadingScreenService.stopLoading();\n var result = JSON.parse(data._body);\n if (result.status == Status.Success) {\n this.schoolLoadDataOutputModel.StateList = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n if (this.schoolLoadDataOutputModel.StateList != null) {\n this.frmSchool.get('StateId').enable();\n }\n }\n },\n (error) => {\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n //this.loadingScreenService.stopLoading();\n }\n );\n }\n else {\n this.PlaceholderCountry = this.currentAppLanguage.data.SCHOOL.PLACEHOLDER_COUNTRY;\n }\n }\n onRegionChange(event) {\n this.schoolLoadDataOutputModel.CountryList = null;\n this.frmSchool.get('CountryId').setValue(null);\n this.PlaceholderCountry = this.currentAppLanguage.data.SCHOOL.PLACEHOLDER_COUNTRY;\n this.frmSchool.get('CountryId').disable();\n if (event != null) {\n this.PlaceholderRegion = \"\";\n //this.loadingScreenService.startLoading();\n const path = 'api/Country/GetCountryList';\n this.subCountryList$ = this.globalService.PostDataAnonymous(event, path).subscribe(\n (data) => {\n //this.loadingScreenService.stopLoading();\n var result = JSON.parse(data._body);\n if (result.status == Status.Success) {\n this.schoolLoadDataOutputModel.CountryList = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n if (this.schoolLoadDataOutputModel.CountryList != null) {\n this.frmSchool.get('CountryId').enable();\n }\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n //this.loadingScreenService.stopLoading();\n }\n );\n }\n else {\n this.PlaceholderRegion = this.currentAppLanguage.data.SCHOOL.PLACEHOLDER_REGION;\n }\n }\n onCloseButtonClick() {\n this.dialogRef.close(false);\n }\n onBeforeSlide = (detail: BeforeSlideDetail): void => {\n const { index, prevIndex } = detail;\n // console.log(index, prevIndex);\n };\n GetCurrentLanguageJsonObject(currentAppLanguage) {\n var result;\n switch (currentAppLanguage) {\n case 'en':\n result = english;\n break;\n case 'in':\n result = gujarati;\n break;\n case 'hn':\n result = hindi;\n break;\n }\n return result;\n }\n get f() {\n return this.frmSchool.controls;\n }\n\n triggerFileUpload() {\n this.fileInput.nativeElement.click();\n }\n openFilemanager(){\n // using for old filemanager uploads\n // this.openDialog(UploadManagerComponent)\n var matdata = {\n RecordId : this._data,\n RecordType: RecordsType.School\n }\n this.openDialog(SelectSyncFileManagerComponent,matdata)\n }\n\n openDialog(component: any, _data: any = []) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = false;\n dialogConfig.width = \"66%\"\n dialogConfig.height=\"60%\"\n dialogConfig.position={\n top:\"10%\"\n }\n dialogConfig.data = _data;\n const dialogRef = this.dialog.open(component, dialogConfig);\n dialogRef.afterClosed().subscribe(\n data => {\n if(data){\n this.nav.select(4);\n this.getAttachmentList('Images');\n }\n }\n );\n }\n\n ngOnDestroy() {\n if (this.subSaveSchool$)\n this.subSaveSchool$.unsubscribe();\n if (this.subDownloadSchoolAtt$)\n this.subDownloadSchoolAtt$.unsubscribe();\n if (this.subDeleteSchoolAtt$)\n this.subDeleteSchoolAtt$.unsubscribe();\n if (this.subDeleteSchool$)\n this.subDeleteSchool$.unsubscribe();\n if (this.subStateList$)\n this.subStateList$.unsubscribe();\n if (this.subCountryList$)\n this.subCountryList$.unsubscribe();\n if (this.uploader && this.uploader.response)\n this.uploader.response.unsubscribe();\n }\n}\n","
    \n
    \n
    {{dialogTitle}} \n - {{userSchool?.SchoolName}} \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
      \n
    • \n {{'SCHOOL.TAB_HEADING_ADDRESS_DETAILS' | translate}}\n \n \n
      \n
      \n
      \n
      \n \n \n \n {{'SCHOOL.ERROR_MESSAGE_REQUIRED_ADDRESS_TAG'|translate}}\n {{'SCHOOL.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
      \n
      \n
      \n
      \n \n \n \n {{'SCHOOL.ERROR_MESSAGE_REQUIRED_SCHOOL_NAME'|translate}}\n {{'SCHOOL.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
      \n
      \n
      \n
      \n \n \n \n {{'SCHOOL.ERROR_MESSAGE_REQUIRED_EDUCATION_RECEIVED'|translate}}\n \n
      \n
      \n
      \n
      \n
      \n
      \n \n \n \n {{'SCHOOL.ERROR_MESSAGE_REQUIRED_ADDRESS1' | translate}}\n {{'SCHOOL.ERROR_MESSAGE_MAX_LENGTH_50' | translate}}\n \n
      \n
      \n\n
      \n
      \n \n \n \n {{'SCHOOL.ERROR_MESSAGE_MAX_LENGTH_50' | translate}}\n \n
      \n
      \n\n
      \n
      \n \n \n \n {{'SCHOOL.ERROR_MESSAGE_MAX_LENGTH_50' | translate}}\n \n
      \n
      \n
      \n
      \n
      \n
      \n \n \n \n {{'SCHOOL.ERROR_MESSAGE_REQUIRED_ADDRESS_TOWN'|translate}}\n {{'SCHOOL.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
      \n
      \n\n
      \n
      \n \n \n \n {{'SCHOOL.ERROR_MESSAGE_REQUIRED_ADDRESS_POST_CODE' |\n translate}}\n {{'SCHOOL.ERROR_MESSAGE_MAX_LENGTH_50'|translate}}\n \n
      \n
      \n
      \n \n
      \n
      \n
      \n \n
      \n
      \n \n \n \n {{'SCHOOL.ERROR_MESSAGE_REQUIRED_ADDRESS_STATE'|translate}}\n \n
      \n
      \n\n
      \n
      \n \n \n \n {{'SCHOOL.ERROR_MESSAGE_REQUIRED_COUNTRY' |\n translate}}\n \n
      \n
      \n
      \n
      \n \n \n \n {{'SCHOOL.ERROR_MESSAGE_REQUIRED_REGION' |\n translate}}\n \n
      \n
      \n \n
      \n
      \n
      \n \n \n
      \n
      \n
      \n
      \n
      \n \n
      \n \n
      \n \n
      \n
      \n \n {{'SCHOOL.ERROR_MESSAGE_REQUIRED_DATE_FROM'|translate}}\n \n
      \n
      \n
      \n
      \n \n
      \n \n
      \n \n
      \n
      \n \n {{'SCHOOL.ERROR_MESSAGE_REQUIRED_DATE_TO'|translate}}\n \n
      \n
      \n
      \n
      \n
      \n
    • \n
    • \n {{'SCHOOL.TAB_HEADING_NOTES'|translate}}\n \n \n
      \n \n
      \n \n
      \n
      \n
      \n
    • \n
    • \n {{'SCHOOL.TAB_HEADING_UPLOAD'|translate}}\n \n \n
      \n
      \n
      \n
      \n

      {{'SCHOOL.HEADING_TEXT_SELECT_IMAGES' | translate}}

      \n \n
      \n
      \n \n Browse\n \n \n \n
      \n \n
      \n \n \n
      \n
      \n
      \n
      {{'SCHOOL.TEXT_FILE_TYPES' | translate}}\n image, tiff, bmp, png, jpg, jpeg, pdf, mp4, mpeg, mov, avi, ogv, webm, 3gp, mpg, wmv, flv.\n
      \n
      \n
      \n \n
      \n
      \n
    • \n
    • \n {{'SCHOOL.TAB_HEADING_GALLERY'|translate}}\n \n \n \n \n 0\" [collectionSize]='pagesNumber' [pageSize]=\"20\" (pageChange)=\"loadPage($event,'Images')\" [(page)]=\"pageAdvancedEllipses\" [maxSize]=\"5\" [rotate]=\"true\"\n [boundaryLinks]=\"true\">\n Prev\n \n Next\n \n \n \n
    • \n
    • \n {{'SCHOOL.TAB_HEADING_DOCUMENTS'|translate}}\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
      {{'SCHOOL.COLUMN_HEADING_NAME' | translate}}{{'SCHOOL.COLUMN_HEADING_SIZE' | translate}}{{'SCHOOL.COLUMN_HEADING_DATE_CREATED' | translate}}{{'SCHOOL.COLUMN_HEADING_TYPE' | translate}}{{'SCHOOL.COLUMN_HEADING_ACTIONS' | translate}}
      \n {{document.DocumentOldName}}\n \n {{ document.Size }}\n \n {{document.FileCreatedDate | date: 'dd/MM/yyyy' }}\n \n {{ document.FileType }}\n \n \n \n \n
      \n
      \n 0\"\n [collectionSize]='pagesNumber' [pageSize]=\"20\" (pageChange)=\"loadPage($event,'Documents')\"\n [(page)]=\"pageAdvancedEllipses\" [maxSize]=\"5\" [rotate]=\"true\" [boundaryLinks]=\"true\">\n Prev\n \n Next\n \n \n
      \n \n \n
      \n
      \n
      \n
      \n
    • \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n","import { CountryListOutputModel } from \"app/Models/country-model.model\";\nimport { RegionListOutputModel } from \"app/Models/region-model.model\";\nimport { StateListOutputModel } from \"app/Models/state-model.model\";\n\nexport class TblUserSchools {\n UserSchoolId: number;\n UserDetailsId: number;\n RegionId: number;\n CountryId: number;\n StateId: number;\n SchoolName: string;\n EducationReceived: string;\n AddressTag: string;\n Address1: string;\n Address2: string;\n Address3: string;\n AddressTown: string;\n AddressCounty: string;\n AddressPostCode: string;\n CurrentSchoolYn:boolean;\n Latitude: number;\n Longitude: number;\n Country: number;\n SchoolFromDate: string;\n SchoolToDate: string;\n Notes: string;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n}\nexport class SchoolModel {\n UserSchoolId: number;\n UserDetailsId: number;\n RegionId: number;\n CountryId: number;\n StateId: number;\n SchoolName: string;\n FullAddress: string;\n EducationReceived: string;\n AddressTag: string;\n Address1: string;\n Address2: string;\n Address3: string;\n AddressTown: string;\n AddressState:string;\n AddressCountry: string;\n AddressPostCode: string;\n CurrentSchoolYn:boolean;\n //AddressState:string;\n Latitude: number;\n Longitude: number;\n Notes: string;\n //Country: number;\n SchoolFromDate: Date;\n SchoolToDate: Date;\n CreatedDate: Date;\n CreatedTime: Date;\n CreatedBy: number;\n ChangedDate: Date;\n ChangedTime: Date;\n ChangedBy: number;\n}\nexport class SchoolLoadDataOutputModel {\n UserSchool: TblUserSchools;\n CountryList: Array\n RegionList: Array;\n StateList: Array;\n SchoolDocumentList: Array;\n}\nexport class SchoolDocumentListOutputModel {\n DocumentId: number;\n UserSchoolDocumentId:number;\n UserDetailsId: number;\n UserSchoolId: number;\n DocumentName: string;\n DocumentOldName: string;\n DocumentPath: string;\n DocumentSubType: string;\n Size: string;\n DocumentType: string;\n CreatedDate: string;\n CreatedTime: string;\n CreatedBy: number;\n ChangedDate: string;\n ChangedTime: string;\n ChangedBy: number;\n}","import { Injectable } from '@angular/core';\nimport { Constant } from 'app/Classes/constant';\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\nimport * as moment from 'moment';\n\n@Injectable({\nprovidedIn: 'root'\n})\nexport class TimezoneService {\nprivate selectedTimeZoneOffset: number = null; // Default to UTC\n\nconstructor(private EncrDecr: EncrDecrService) {\nmoment.updateLocale(moment.locale(), {\nmeridiem: null, // Remove meridiem (AM/PM) information\n});\n}\n\ngetCurrentTime(): moment.Moment {\n// Get the current time in the set timezone offset\nreturn moment.utc().add(this.selectedTimeZoneOffset, 'minutes');\n}\n\n GetCurrentLocaleDateTimedefault(): Date {\n let value; let result;\n value = new Date().toLocaleString(\"en-GB\");\n let _momentvar = moment(value, 'DD/MM/YYYY, HH:mm:ss');\n let _moment = _momentvar.format('YYYY-MM-DDTHH:mm:ss.sssZ');\n result = new Date(_moment);\n return result;\n}\n\n// if (this.timeFormat) {\n// return this.timeFormat;\n// } else {\n// const storedFormat = localStorage.getItem('timeformat');\n// if (storedFormat) {\n// this.timeFormat = this.EncrDecr.get(Constant.EncrDecrKey, storedFormat);\n// } else {\n// this.timeFormat = 'HH:mm';\n// }\n// return this.timeFormat;\n// }\n\ngetFormattedCurrentTime(): string {\n// Return the current time formatted as a string\nif(this.selectedTimeZoneOffset !==null){\nreturn this.getCurrentTime().format('YYYY-MM-DD HH:mm:ss');\n}\nelse{\n const storedFormat = localStorage.getItem('timezonevalue');\n if(storedFormat){\n this.selectedTimeZoneOffset = Number(this.EncrDecr.get(Constant.EncrDecrKey, storedFormat))\n return this.getCurrentTime().format('YYYY-MM-DD HH:mm:ss');\n}\nelse{\n return this.GetCurrentLocaleDateTimedefault().toUTCString()\n}\n }\n}\n\n GetCurrentLocaleDateTime(): Date {\n let moment = new Date(this.getFormattedCurrentTime())\n return moment\n}\n\ngetTimezone(): string {\n// This returns the offset as a string, like \"UTC+02:00\"\nconst offsetHours = Math.floor(this.selectedTimeZoneOffset / 60);\nconst offsetMinutes = Math.abs(this.selectedTimeZoneOffset % 60);\nreturn `UTC${this.selectedTimeZoneOffset >= 0 ? '+' : ''}${offsetHours.toString().padStart(2, '0')}:${offsetMinutes.toString().padStart(2, '0')}`;\n}\n\nsetTimezone(displayName: string): void {\nif (displayName) {\nconst offset = this.extractOffset(displayName);\nif (offset !== null) {\n const timezonevalue = this.EncrDecr.set(Constant.EncrDecrKey, JSON.stringify(offset))\n localStorage.setItem('timezonevalue',timezonevalue)\nthis.selectedTimeZoneOffset = offset;\n} else {\nconsole.error(`Invalid timezone display name: ${displayName}`);\n}\n} else {\nconsole.error('Invalid timezone data provided');\n}\n}\n\nprivate extractOffset(displayName: string): number | null {\n// Pattern to extract UTC offset from the display name\nconst offsetPattern = /UTC([+-])(\\d{2}):?(\\d{2})/;\nconst match = displayName.match(offsetPattern);\nif (match) {\nconst sign = match[1] === '+' ? 1 : -1;\nconst hours = parseInt(match[2], 10);\nconst minutes = parseInt(match[3], 10);\nreturn sign * (hours * 60 + minutes);\n}\nreturn null;\n}\n}\n","import { ThrowStmt } from '@angular/compiler';\nimport { Component, ElementRef, Inject, Input, OnInit, Optional, ViewChild } from '@angular/core';\nimport { __core_private_testing_placeholder__ } from '@angular/core/testing';\nimport { Title } from '@angular/platform-browser';\nimport { AuthenticationService } from 'app/auth/service';\nimport { Constant } from 'app/Classes/constant';\nimport { RecordsType, Status } from 'app/enums';\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\nimport { GlobalService } from 'app/Services/global.service';\nimport { LoadingScreenService } from 'app/Services/loading-screen.service';\nimport { Observable, Subscription } from 'rxjs';\nimport { MyImageGalleryService } from 'app/my-image-gallery/my-image-gallery.service';\nimport { E } from 'assets/extensions/extensions';\nimport { FileData, FileManagerComponent, ToolbarItemModel, ToolBarItems } from '@syncfusion/ej2-angular-filemanager';\nimport { LightGallery } from 'lightgallery/lightgallery';\nimport Swal from 'sweetalert2';\nimport { CustomToastrService } from 'app/Services/custom-toastr.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { DeleteInputModel, DeleteMultipleInputModel, DownloadFileInputModel, DownloadFileOutputModel } from 'app/Models/output-model';\nimport { FileItem, FileUploader } from 'ng2-file-upload';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { Router } from '@angular/router';\nimport { FailureEventArgs } from '@syncfusion/ej2-filemanager';\nimport { TblUserFileManagerDocuments, TblUserFolders } from 'app/filemanager/filemanagermodel.model';\nimport fullScreen from 'lightgallery/plugins/fullscreen';\nimport rotate from 'lightgallery/plugins/rotate';\nimport lgZoom from 'lightgallery/plugins/zoom';\nimport thumbnail from 'lightgallery/plugins/thumbnail';\nimport autoPlay from 'lightgallery/plugins/autoplay';\nimport lgvideo from 'lightgallery/plugins/video';\nimport lgVideo from 'lightgallery/plugins/video';\nimport vimeoVideo from 'lightgallery/plugins/video';\nimport videoThumbnail from 'lightgallery/plugins/video';\nimport { WebSocketService } from 'app/Services/web-socket.service';\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';\nimport { FileManagerAllModule } from '@syncfusion/ej2-angular-filemanager';\nimport { registerLicense } from '@syncfusion/ej2-base';\nimport { DocumentLinkingInputModel } from 'app/quick-post/quick-post-model.model';\n@Component({\n selector: 'app-select-sync-file-manager',\n templateUrl: './select-sync-file-manager.component.html',\n styleUrls: ['./select-sync-file-manager.component.scss']\n})\nexport class SelectSyncFileManagerComponent implements OnInit {\n @ViewChild('advancedfilemanager')\n public fileManagerObj!: FileManagerComponent;\n @ViewChild('Gallery') lightGallery: LightGallery;\n @ViewChild('fileInput') fileInput: ElementRef;\n selectedFolderIds: number[] = [];\n selectedUploadIds = [];\n deleteInput: DeleteMultipleInputModel;\n filemanagerinputmodel: TblUserFolders;\n public attachmentlist: any = [];\n public attachmentlistimage: any = [];\n public needRefresh: boolean = false;\n _data: any;\n loading: boolean = false;\n cache: { [key: string]: string } = {};\n currentPath: string = \"/\";\n uploadCount = 0;\n private subDeleteSchoolAtt$?: Subscription;\n private subDownloadAddressAtt$?: Subscription;\n public downloadFileInputModel: DownloadFileInputModel;\n folders;\n error: string = \"\";\n galleryRefresh: LightGallery;\n backFlag: boolean = false;\n folderId: number;\n update: boolean = false;\n public fileData: FileData[];\n public _ImageUrlAPI: string = Constant.API + 'api/UserFileManager/UploadUserFileManagerDocuments';\n public uploader: FileUploader = new FileUploader({\n url: this._ImageUrlAPI,\n isHTML5: true,\n method: \"PUT\",\n itemAlias: \"MultiFileUploaderAddress\",\n disableMultipart: false, // 'DisableMultipart' must be 'true' for formatDataFunction to be called.\n formatDataFunction: (item: FileItem) => item._file,\n formatDataFunctionIsAsync: false,\n maxFileSize: 1 * 1024 * 1024 * 1024,\n authToken: `Bearer ` + this.authenticationService.currentUserValue.Token,\n allowedFileType: [\"image\", \"tiff\", \"bmp\", \"png\", \"jpg\", \"jpeg\", \"video\", \"mp4\", \"mpeg\", \"mov\", \"avi\", \"ogv\", \"webm\", \"flv\"] // \"doc\", \"docx\", \"xls\", \"xlsx\", \"ppt\",\"pdf\"\n });\n // public toolbarSettings = {\n // items: ['NewFolder', 'Upload', 'Delete', 'Rename', 'SortBy', 'Refresh'] as ToolBarItems[]\n // };\n settings: any = {\n counter: false,\n appendSubHtmlTo: '.lg-toolbar',\n commentBox: true,\n lgVideo: true,\n download: false,\n thumbnail: true,\n slideVideo: true,\n pager: false,\n autoplayFirstVideo: false,\n autoplayVideoOnSlide: false,\n plugins: [\n lgZoom,\n // pager,\n autoPlay,\n fullScreen,\n rotate,\n thumbnail,\n videoThumbnail,\n vimeoVideo,\n lgVideo,\n lgvideo,\n //share\n ] // comment, share (options are commented for future use)\n };\n public deleteDocumentsInputModel: Array = [];\n UserSchoolDocument: number[];\n public ajaxSettings: object = {\n url: `${Constant.API}api/UserFolder/GetUserFolderData`,\n getImageUrl: `api/UserFileManager/UploadUserFileManagerDocuments`,\n uploadUrl: `${Constant.API}api/UserFolder/CreateUpdateUserFolder`,\n downloadUrl: `${Constant.API}api/UserFolder/GetUserFolderData`\n };\n fileSettings;\n folderName;\n toolbarItems: [\n { name: '', prefixIcon: 'e-menu filemanagermenu', tooltipText: 'Toggele Menu' },\n // { name: 'NewFolder' },\n { name: 'SortBy' },\n { name: 'Refresh' },\n { name: 'Copy' },\n { name: 'Paste' },\n { name: 'Selection' },\n { name: 'View' },\n { name: '', align: 'Right', prefixIcon: 'e-show-hide-panel', tooltipText: 'Preview Pane' },\n ]\n public toolbarSettings: Object = {\n visible: true,\n items: [\n\n 'SortBy',\n 'Refresh',\n // 'Selection',\n 'View',\n // 'Details',\n // 'Rename',\n // 'Delete',\n // 'Download',\n 'SelectAll',\n 'UnSelectAll'\n // 'Navigation',\n // 'ItemView',\n // 'FullScreen'\n ]\n };\n\n public dragAndDropSettings = {\n targetId: 'fileManager', // Define the drop target for the drag event\n dropArea: '#customDropArea', // Optional: Create a custom drop area\n enableDrag: true, // Enable dragging\n enableDrop: true, // Enable dropping\n };\n\n public contextMenuSettings: Object = {\n file: ['Open' ],//'Details'\n folder: ['Open'],//'Details'\n layout: ['Open']//'Details'\n }\n paneYn: boolean = true;\n public hasBaseDropZoneOver: boolean = false;\n public pageAdvancedEllipses = 1;\n public pagesNumber;\n page = 0;\n constructor(private _title: Title,\n private globalService: GlobalService,\n private authenticationService: AuthenticationService,\n private encrDecr: EncrDecrService,\n private loadingScreenService: LoadingScreenService,\n public filemanagerService: MyImageGalleryService,\n private _toastrService: CustomToastrService,\n private toastr: ToastrService,\n private modalService: NgbModal,\n private _router: Router,\n private webSocketService: WebSocketService,\n private dialogRef: MatDialogRef,\n private dialog: MatDialog,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) {\n this.settings.licenseKey = this.authenticationService.currentUserValue.Parameter.LightGalleryLicenseKey;\n registerLicense('Ngo9BigBOggjHTQxAR8/V1NMaF1cXmhKYVJpR2Nbek52fldBal9WVAciSV9jS3tTdEVmW31beHRRQmZYVg==');\n this.folders = [\n {\n dateCreated: new Date('2023-11-15T19:02:02.3419426+05:30'),\n dateModified: new Date('2024-01-08T18:16:38.4384894+05:30'),\n filterPath: '',\n hasChild: true,\n isFile: false,\n name: 'File Manager',\n parentId: null,\n size: null,\n type: 'folder'\n }]\n this._data=data;\n }\n\n ngOnInit(): void {\n this.loadUserFolderData();\n //this.initializeFileManager();\n // const xhr = new XMLHttpRequest();\n // xhr.open('POST', `${Constant.API}api/UserFolder/GetUserFolderData`, true);\n\n // // Setting headers\n // xhr.setRequestHeader('Authorization', 'Bearer ' + this.authenticationService.currentUserValue.Token);\n // xhr.setRequestHeader('Content-Type', 'application/json');\n // xhr.setRequestHeader('UserDetailsID', this.authenticationService.currentUserValue.UserDetailsId.toString());\n\n // // Handling response\n // xhr.onreadystatechange = function () {\n // if (xhr.readyState === 4) {\n\n // }\n // };\n\n // // Adding a JSON-encoded request body\n // xhr.send(JSON.stringify({\n // RequestMessageString: this.encrDecr.get(Constant.EncrDecrKey, this.authenticationService.currentUserValue.UserDetailsId.toString())\n // }));\n this.fileData = [\n {\n dateCreated: new Date('2023-11-15T19:02:02.3419426+05:30'),\n dateModified: new Date('2024-01-08T18:16:38.4384894+05:30'),\n filterPath: '',\n hasChild: true,\n id: '0',\n isFile: false,\n name: 'Files',\n parentId: null,\n size: 1779448,\n type: 'folder',\n },\n {\n dateCreated: new Date('2023-11-15T19:02:02.3419426+05:30'),\n dateModified: new Date('2024-01-08T16:55:20.9464164+05:30'),\n filterPath: '',\n hasChild: false,\n id: '1',\n isFile: false,\n name: 'Documents',\n parentId: null,\n size: 680786,\n type: 'folder',\n },\n {\n dateCreated: new Date('2023-11-15T19:02:02.3419426+05:30'),\n dateModified: new Date('2024-01-08T16:55:20.9464164+05:30'),\n filterPath: '',\n hasChild: false,\n id: '2',\n isFile: false,\n name: 'Downloads',\n parentId: null,\n size: 6172,\n type: 'folder',\n },\n {\n dateCreated: new Date('2023-11-15T19:02:02.3419426+05:30'),\n dateModified: new Date('2024-01-08T16:55:20.9464164+05:30'),\n filterPath: '',\n hasChild: false,\n id: '3',\n isFile: false,\n name: 'Music',\n parentId: null,\n size: 20,\n type: 'folder',\n },\n {\n dateCreated: new Date('2023-11-15T19:02:02.3419426+05:30'),\n dateModified: new Date('2024-01-08T16:55:20.9464164+05:30'),\n filterPath: '',\n hasChild: true,\n id: '4',\n isFile: false,\n name: 'Pictures',\n parentId: null,\n size: 228465,\n type: 'folder',\n },\n {\n dateCreated: new Date('2023-11-15T19:02:02.3419426+05:30'),\n dateModified: new Date('2024-01-08T16:55:20.9464164+05:30'),\n filterPath: '',\n hasChild: false,\n id: '5',\n isFile: false,\n name: 'Videos',\n parentId: null,\n size: 20,\n type: 'folder',\n },\n {\n dateCreated: new Date('2023-11-15T19:02:02.3419426+05:30'),\n dateModified: new Date('2024-01-08T16:55:20.9464164+05:30'),\n filterPath: '\\\\Documents\\\\',\n hasChild: false,\n id: '6',\n isFile: true,\n name: 'EJ2_File_Manager',\n parentId: '1',\n size: 12403,\n type: '.docx',\n },\n {\n dateCreated: new Date('2023-11-15T19:02:02.3419426+05:30'),\n dateModified: new Date('2024-01-08T16:55:20.9464164+05:30'),\n filterPath: '\\\\Documents\\\\',\n hasChild: false,\n id: '7',\n isFile: true,\n name: 'EJ2_File_Manager',\n parentId: '1',\n size: 90099,\n type: '.pdf',\n },\n {\n dateCreated: new Date('2023-11-15T19:02:02.3419426+05:30'),\n dateModified: new Date('2024-01-08T16:55:20.9464164+05:30'),\n filterPath: '\\\\Documents\\\\',\n hasChild: false,\n id: '8',\n isFile: true,\n name: 'File_Manager_PPT',\n parentId: '1',\n size: 578010,\n type: '.pptx',\n },\n {\n dateCreated: new Date('2023-11-15T19:02:02.3419426+05:30'),\n dateModified: new Date('2024-01-08T16:55:20.9464164+05:30'),\n filterPath: '\\\\Documents\\\\',\n hasChild: false,\n id: '9',\n isFile: true,\n name: 'File_Manager',\n parentId: '1',\n size: 274,\n type: '.txt',\n },\n {\n dateCreated: new Date('2023-11-15T19:02:02.3419426+05:30'),\n dateModified: new Date('2024-01-08T16:55:20.9464164+05:30'),\n filterPath: '\\\\Downloads\\\\',\n hasChild: false,\n id: '10',\n isFile: true,\n name: 'Sample_Work_Sheet',\n parentId: '2',\n size: 6172,\n type: '.xlsx',\n },\n {\n dateCreated: new Date('2023-11-15T19:02:02.3419426+05:30'),\n dateModified: new Date('2024-01-08T16:55:20.9464164+05:30'),\n filterPath: '\\\\Music\\\\',\n hasChild: false,\n id: '11',\n isFile: true,\n name: 'Music',\n parentId: '3',\n size: 10,\n type: '.mp3',\n },\n {\n dateCreated: new Date('2023-11-15T19:02:02.3419426+05:30'),\n dateModified: new Date('2024-01-08T16:55:20.9464164+05:30'),\n filterPath: '\\\\Music\\\\',\n hasChild: false,\n id: '12',\n isFile: true,\n name: 'Sample_Music',\n parentId: '3',\n size: 10,\n type: '.mp3',\n },\n {\n dateCreated: new Date('2023-11-15T19:02:02.3419426+05:30'),\n dateModified: new Date('2024-01-08T16:55:20.9464164+05:30'),\n filterPath: '\\\\Videos\\\\',\n hasChild: false,\n id: '13',\n isFile: true,\n name: 'Demo_Video',\n parentId: '5',\n size: 10,\n type: '.mp4',\n },\n {\n dateCreated: new Date('2023-11-15T19:02:02.3419426+05:30'),\n dateModified: new Date('2024-01-08T16:55:20.9464164+05:30'),\n filterPath: '\\\\Videos\\\\',\n hasChild: false,\n id: '14',\n isFile: true,\n name: 'Sample_Video',\n parentId: '5',\n size: 10,\n type: '.mp4',\n },\n {\n dateCreated: new Date('2023-11-15T19:02:02.3419426+05:30'),\n dateModified: new Date('2024-01-08T16:55:20.9464164+05:30'),\n filterPath: '\\\\Pictures\\\\',\n hasChild: false,\n id: '15',\n isFile: false,\n name: 'Employees',\n parentId: '4',\n size: 237568,\n type: 'folder',\n },\n {\n dateCreated: new Date('2023-11-15T19:02:02.3419426+05:30'),\n dateModified: new Date('2024-01-08T16:55:20.9464164+05:30'),\n filterPath: '\\\\Pictures\\\\Employees\\\\',\n hasChild: false,\n id: '16',\n isFile: true,\n name: 'Albert',\n parentId: '15',\n size: 53248,\n type: '.png',\n imageUrl:\n 'https://ej2.syncfusion.com/demos/src/avatar/images/pic01.png',\n },\n {\n dateCreated: new Date('2023-11-15T19:02:02.3419426+05:30'),\n dateModified: new Date('2024-01-08T16:55:20.9464164+05:30'),\n filterPath: '\\\\Pictures\\\\Employees\\\\',\n hasChild: false,\n id: '17',\n isFile: true,\n name: 'Nancy',\n parentId: '15',\n size: 65536,\n type: '.png',\n imageUrl:\n 'https://ej2.syncfusion.com/demos/src/avatar/images/pic02.png',\n },\n {\n dateCreated: new Date('2023-11-15T19:02:02.3419426+05:30'),\n dateModified: new Date('2024-01-08T16:55:20.9464164+05:30'),\n filterPath: '\\\\Pictures\\\\Employees\\\\',\n hasChild: false,\n id: '18',\n isFile: true,\n name: 'Michael',\n parentId: '15',\n size: 69632,\n type: '.png',\n imageUrl:\n 'https://ej2.syncfusion.com/demos/src/avatar/images/pic03.png',\n },\n {\n dateCreated: new Date('2023-11-15T19:02:02.3419426+05:30'),\n dateModified: new Date('2024-01-08T16:55:20.9464164+05:30'),\n filterPath: '\\\\Pictures\\\\Employees\\\\',\n hasChild: false,\n id: '19',\n isFile: true,\n name: 'Robert',\n parentId: '15',\n size: 48951,\n type: '.png',\n imageUrl:\n 'https://ej2.syncfusion.com/demos/src/avatar/images/pic04.png',\n },\n ];\n this.manualUpload();\n }\n\n // sendMessage() {\n // const message = 'Hello Pushpraj!';\n // this.webSocketService.sendMessage(message);\n // }\n\n fileOverBase(event: boolean): void {\n if (event == true)\n this.hasBaseDropZoneOver = event;\n if (this.hasBaseDropZoneOver == false && this.uploader.queue.length > 0) {\n this.uploader.uploadAll();\n }\n }\n\n manualUpload() {\n this.uploader.onAfterAddingFile = (file: any) => {\n file.withCredentials = false;\n };\n this.uploader.onBuildItemForm = (fileItem: any, form: any) => {\n fileItem.withCredentials = false;\n };\n this.uploader.onBeforeUploadItem = (fileItem) => {\n this.loadingScreenService.startLoading();\n this.uploader.setOptions({\n headers: [\n { name: 'Access-Control-Allow-Origin', value: \"*\" },\n { name: 'FileSize', value: fileItem.file.size },\n { name: 'UserDetailsID', value: E.ConvertToString(this.authenticationService.currentUserValue.UserDetailsId) },\n { name: 'UserFolderID', value: E.ConvertToString(this.folderId) }]\n });\n return fileItem;\n };\n this.uploader.response.subscribe(async result => {\n if (result) {\n this.loadingScreenService.startLoading();\n if (this.uploader.progress == 100) {\n this.modalService.dismissAll();\n setTimeout(() => {\n this.uploader.clearQueue()\n }, 500);\n this.loadingScreenService.stopLoading();\n this.uploadCount = 0;\n this.GetUserFolderById();\n this._toastrService.Success('File Uploaded.', Constant.SuccessToastrTitle);\n }\n }\n if (result) {\n let _result = JSON.parse(result);\n this.loadingScreenService.startLoading();\n if (_result.status == Status.Success) {\n let _attachmentlist = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, _result.data))\n this.uploadCount = this.uploadCount + 1;\n // if (_attachmentlist) {\n // if(_attachmentlist.FileType.toLocaleLowerCase() === \"images\"){\n // const imageDocs = _attachmentlist\n // this.AddItemToGallery1(imageDocs.DocumentId, imageDocs.DocumentPath, imageDocs.DocumentOldName, imageDocs.Size, imageDocs.FileType,imageDocs.CreatedDate, imageDocs.CreatedTime)\n // }\n // else if(_attachmentlist.FileType.toLocaleLowerCase() === \"videos\"){\n // const videoDocs = _attachmentlist\n // this.AddItemToGallery(videoDocs.DocumentId, videoDocs.DocumentPath, videoDocs.DocumentOldName, videoDocs.Size, videoDocs.FileType,videoDocs.CreatedDate, videoDocs.CreatedTime)\n // }\n // this.loadingScreenService.stopLoading();\n // this.needRefresh = true;\n\n // }\n }\n else if (_result.status == Status.StorageFull) {\n // this.uploader.destroy();\n this.uploader.cancelAll();\n // this.uploader.removeFromQueue();\n // this.uploader.cancelItem()\n this.uploader.clearQueue()\n this.loadingScreenService.stopLoading();\n Swal.fire({\n title: \"Storage Full\",\n text: _result.message,\n icon: 'error',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: \"Buy More Storage\",\n cancelButtonText: \"Cancel\",\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n })\n .then(\n (async (result) => {\n if (result.value) {\n\n this._router.navigate(['/pages/pricing'])\n }\n })\n );\n\n }\n }\n });\n }\n\n\n ngAfterViewChecked(): void {\n if (this.needRefresh) {\n if (this.galleryRefresh) {\n this.galleryRefresh.refresh();\n }\n this.needRefresh = false;\n }\n }\n\n loadUserFolderData(): void {\n if (this.authenticationService.currentUserValue) {\n const UserDetailsID = this.authenticationService.currentUserValue.UserDetailsId.toString();\n this.loadingScreenService.startLoading();\n this.filemanagerService.GetUserFolderData(UserDetailsID).subscribe(\n (result) => {\n if (result.status === Status.Success) {\n const data = JSON.parse(this.encrDecr.get(Constant.EncrDecrKey, result.data));\n this.backFlag = false;\n this.attachmentlist = [];\n const defaultFolder = {\n dateCreated: new Date('2023-11-15T19:02:02.3419426+05:30'),\n dateModified: new Date('2024-01-08T18:16:38.4384894+05:30'),\n filterPath: '',\n hasChild: true,\n isFile: false,\n name: 'File Manager',\n parentId: null,\n size: null,\n type: 'folder'\n };\n this.folders = data.UserFolderListData.map((folder: any) => {\n return {\n ...folder,\n name: folder.UserFolderName,\n size: this.calculateTotalSizeInBytes(folder),\n hasChild: false,\n type: 'folder',\n isFile: false,\n dateModified: folder.ChangedDate\n };\n });\n this.folders.unshift(defaultFolder)\n this.loadingScreenService.stopLoading();\n }\n },\n (error) => {\n this.loadingScreenService.stopLoading();\n }\n );\n }\n }\n\n calculateTotalSizeInBytes(data): number {\n let totalSize = 0;\n if (data.TblUserFileManagerDocuments) {\n data.TblUserFileManagerDocuments.forEach(document => {\n totalSize += document.SizeInBytes || 0; // Add only if SizeInBytes exists\n });\n }\n return totalSize;\n }\n\n onFolderOpen(event: any) {\n const folderId = event.fileDetails.UserFolderId;\n this.currentPath = event.fileDetails.UserFolderName\n if (event.fileDetails.UserFolderName) {\n this.folderId = folderId;\n this.GetUserFolderById();\n this.paneYn = false;\n this.toolbarSettings = {\n visible: true,\n items: [\n 'Back',\n // 'Upload',\n 'SortBy',\n 'Refresh',\n // 'Delete',\n //'Download',\n 'SelectAll',\n 'UnSelectAll',\n 'View',\n // 'Details'\n ]\n };\n }\n else {\n this.openUploaderModal(event.fileDetails.DocumentId, 'lele')\n }\n }\n\n\n //-------------------------------------------------------------------------------------------------------Folder open end-----------------------------------------------------------------\n\n async onToolbarClick(args: any) {\n if (args.item.properties.id === 'filemanager_0_tb_upload') {\n args.cancel = true;\n if (this.folderId) {\n this.fileInput.nativeElement.click()\n }\n }\n if (args.item.properties.id === 'filemanager_0_tb_download') {\n args.cancel = true;\n if (args.fileDetails.length > 0) {\n args.fileDetails.forEach(element => {\n this.onDownloadDocument(element);\n });\n args.cancel = true;\n }\n }\n if (args.item.properties.id === 'filemanager_0_tb_delete') {\n args.cancel = true;\n this.selectedFolderIds = [];\n if (args.fileDetails[0].DocumentId) {\n args.fileDetails.forEach(element => {\n this.selectedFolderIds.push(element.DocumentId)\n });\n await this.onDeleteDocument(args.fileDetails[0].DocumentId);\n }\n else {\n args.fileDetails.forEach(element => {\n this.selectedFolderIds.push(element.UserFolderId)\n });\n await this.OnMultipleFolderDeleteClick();\n }\n }\n if (args.item.properties.id === 'filemanager_0_tb_newfolder') {\n }\n if (args.item.properties.id === 'filemanager_0_tb_rename') {\n const folderId = args.fileDetails[0].UserFolderId;\n this.folderId = folderId;\n }\n if (args.item.properties.id === \"filemanager_0_tb_back\") {\n this.backFlag = false;\n const files = this.fileManagerObj.getSelectedFiles() as SelectedFile[];\n this.selectedUploadIds = []; // Clear previous selection if needed\n\n files.forEach(file => {\n if (file.DocumentId) { // Check if DocumentId exists\n this.selectedUploadIds.push(file.DocumentId);\n }\n });\n if (this.selectedUploadIds.length >= 1) {\n this.backFlag = true;\n }\n if (this.backFlag) { \n Swal.fire({\n title: \"Some Selected Files\",\n text: 'You have some selected files, Are you sure to go back!',\n icon: 'error',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: \"Yes\",\n cancelButtonText: 'Cancel',\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n })\n .then(\n (async (result) => {\n if (result.value) {\n this.loadUserFolderData();\n this.paneYn = true;\n if (this.lightGallery) {\n this.lightGallery.galleryItems = [];\n this.galleryRefresh.galleryItems = [];\n }\n this.toolbarSettings = {\n visible: true,\n items: [\n // 'NewFolder',\n 'SortBy',\n 'Refresh',\n // 'Rename',\n // 'Delete',\n 'SelectAll',\n 'UnSelectAll',\n 'View',\n // 'Details'\n ]\n };\n }\n })\n );\n }\n else {\n this.loadUserFolderData();\n this.paneYn = true;\n if (this.lightGallery) {\n this.lightGallery.galleryItems = [];\n this.galleryRefresh.galleryItems = [];\n }\n this.toolbarSettings = {\n visible: true,\n items: [\n // 'NewFolder',\n 'SortBy',\n 'Refresh',\n // 'Rename',\n // 'Delete',\n 'SelectAll',\n 'View',\n // 'Details'\n ]\n };\n }\n\n }\n if (args.item.properties.id === \"filemanager_0_tb_refresh\") {\n // console.log(args)\n args.cancel = true;\n if (args.fileDetails[0].DocumentId) {\n // this.GetUserFolderById();\n\n }\n // else { this.loadUserFolderData(); }\n }\n else if (args.item.properties.id === \"filemanager_0_tb_unselectall\") {\n this.unselectAllFiles();\n }\n else if (args.item.properties.text === \"UnSelectAll\") {\n this.unselectAllFiles();\n }\n }\n\n //--------------------------------------------------------------------------toolbar click ----------------------------------------------------------------------------------------\n\n onFileRemove(args): void {\n // Add your custom logic here\n alert('Files/Folders deleted: ' + args.name);\n }\n\n async onMenuClick(args: any): Promise {\n if (args.item.properties.id === 'filemanager_0_cm_upload') {\n args.cancel = true;\n if (this.folderId) {\n this.fileInput.nativeElement.click();\n }\n // this.customUploadHandler(); // Trigger custom upload logic\n }\n if (args.item.properties.id === 'filemanager_0_cm_download') {\n args.cancel = true;\n if (args.fileDetails.length > 0) {\n args.fileDetails.forEach(element => {\n this.onDownloadDocument(element);\n });\n args.cancel = true;\n }\n }\n if (args.item.properties.id === 'filemanager_0_cm_delete') {\n args.cancel = true;\n if (args.fileDetails[0].DocumentId)\n await this.onDeleteDocument(args.fileDetails[0].DocumentId);\n else {\n args.fileDetails.forEach(element => {\n this.selectedFolderIds.push(element.UserFolderId)\n });\n await this.OnMultipleFolderDeleteClick();\n }\n //args.cancel = true; \n }\n if (args.item.properties.id === 'filemanager_0_cm_newfolder') {\n }\n if (args.item.properties.id === 'filemanager_0_cm_rename') {\n const folderId = args.fileDetails[0].UserFolderId;\n this.folderId = folderId;\n }\n if (args.item.properties.id === \"filemanager_0_cm_refresh\") {\n console.log(args)\n args.cancel = true;\n if (args.fileDetails[0].DocumentId) {\n this.GetUserFolderById();\n\n }\n else { this.loadUserFolderData(); }\n }\n }\n\n //---------------------------------------------------------------------Menu click end ---------------------------------------------------------------------------------------\n\n onFileCreated(args) {\n // Triggered after the folder is created\n if (args.status === 'success') {\n alert(\"Folder has been created successfully!\");\n } else {\n console.error(\"Error creating folder:\", args.error);\n }\n }\n\n openUploaderUpload() {\n this.uploader.uploadAll();\n }\n\n loadPage(event, filetype) {\n // this.savePosition();\n this.pageAdvancedEllipses\n // this.getAttachmentList(filetype,event)\n this.GetUserFolderById(event)\n // setTimeout(() => this.restorePosition(), 0);\n }\n\n GetUserFolderById(page?) {\n this.loadingScreenService.startLoading();\n this.attachmentlist = []\n this.page = page\n var getMyAttachmentsInputModel = {\n RecordId: this.folderId,\n Page: this.page,\n Pagesize: 80,\n FileType: 'Images',\n // QuickPostType:QuickPostType.Public,\n GetMetaDataYN: false\n }\n\n this.filemanagerService.GetUserFilesByFolderId(getMyAttachmentsInputModel).subscribe(async (result) => {\n if (result.status == Status.Success) {\n let data = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)));\n let _attachmentlist = data;\n this.loadingScreenService.stopLoading();\n if (_attachmentlist[0]?.TotalNumberOfRecords > 0)\n this.pagesNumber = _attachmentlist[0]?.TotalNumberOfRecords;\n this.loadLightGallery(_attachmentlist)\n const defaultFolder = {\n dateCreated: new Date('2023-11-15T19:02:02.3419426+05:30'),\n dateModified: new Date('2024-01-08T18:16:38.4384894+05:30'),\n filterPath: '',\n hasChild: true,\n isFile: false,\n name: this.currentPath ? this.currentPath : 'File Manager',\n parentId: null,\n size: null,\n type: 'folder'\n };\n this.folders = _attachmentlist.map((folder: any) => {\n return {\n ...folder,\n name: folder.DocumentOldName,\n size: folder.SizeInBytes,\n isFile: true,\n hasChild: false,\n dateModified: folder.CreatedDate,\n filterPath: folder.UserFolderId,\n imageUrl: folder.DocumentPath,\n url: folder.DocumentPath,\n type: this.extractType('.' + folder.DocumentPath),\n // parentId:folder.UserFolderId+'p',\n };\n });\n this.folders.unshift(defaultFolder)\n }\n this.loadingScreenService.stopLoading();\n },\n );\n }\n\n extractType(geturl) {\n const url = geturl;\n const extension = url.split('.').pop(); // Get the part after the last '.'\n return extension\n }\n\n async loadLightGallery(_attachmentlist) {\n // if(this.galleryRefresh){\n // this.galleryRefresh.init();\n // }\n // if (_attachmentlist) {\n // const imageDocs = _attachmentlist.filter(doc => doc.FileType.toLocaleLowerCase() === \"images\")\n // const videoDocs = _attachmentlist.filter(doc => doc.FileType.toLocaleLowerCase() === \"videos\")\n // const imagePromises = imageDocs.map( doc =>\n // this.AddItemToGallery1(doc.DocumentId, doc.DocumentPath, doc.DocumentOldName, doc.Size, doc.FileType,doc.CreatedDate, doc.CreatedTime)\n // );\n // await Promise.all(imagePromises);\n // const videoPromises = videoDocs.map( doc =>\n // this.AddItemToGallery(doc.DocumentId, doc.DocumentPath, doc.DocumentOldName, doc.Size, doc.FileType,doc.CreatedDate, doc.CreatedTime)\n // );\n\n // await Promise.all(videoPromises);\n // this.needRefresh = true;\n\n if (_attachmentlist) {\n _attachmentlist.forEach(async (doc) => {\n if (doc.DocumentSubType.toLocaleLowerCase() == \"documents\") {\n //this.DocumentList.push(doc);\n }\n else if (doc.DocumentSubType.toLocaleLowerCase() == \"images\" || \"videos\") {\n await this.AddItemToGallery(doc.DocumentId, doc.DocumentPath, doc.DocumentOldName, doc.Size, doc.DocumentSubType, doc.CreatedDate, doc.CreatedTime);\n this.needRefresh = true;\n }\n });\n\n }\n }\n\n unselectAllFiles(): void {\n if (this.fileManagerObj) {\n this.fileManagerObj.clearSelection(); // Clears all selected files or folders\n } else {\n }\n }\n\n\n\n formatFolderData(data: any) {\n return data.map((folder: any) => {\n return {\n name: folder.UserFolderName, // Folder name\n type: 'folder', // Folder type\n hasChild: true, // Check if there are documents inside\n size: 10, // No size for folders\n dateModified: folder.ChangedDate, // Use the last modified date\n id: folder.UserFolderId // Folder ID (optional but helpful for your context)\n };\n });\n }\n onFileManagerCreated() {\n // let fileManager = document.querySelector('#advancedfilemanager') as any;\n // if (fileManager) {\n // // Navigate to the root or any specific folder\n // fileManager.navigateTo('');\n // }\n }\n\n initializeFileManager(): void {\n if (this.authenticationService.currentUserValue) {\n const UserDetailsID = this.authenticationService.currentUserValue.UserDetailsId;\n this.ajaxSettings = {\n url: `${Constant.API}api/UserFolder/GetUserFolderData`,\n beforeSend: (args: any) => {\n args.ajaxSettings.beforeSend = (xhr: XMLHttpRequest) => {\n xhr.setRequestHeader('Authorization', 'Bearer ' + this.authenticationService.currentUserValue.Token);\n xhr.setRequestHeader('Content-Type', 'application/json');\n xhr.setRequestHeader('UserDetailsID', this.authenticationService.currentUserValue.UserDetailsId.toString());\n };\n args.ajaxSettings.data = JSON.stringify({\n RequestMessageString: this.encrDecr.get(Constant.EncrDecrKey, UserDetailsID.toString()) // Encrypt UserDetailsID as needed\n });\n }\n };\n }\n }\n\n openUploaderModal(item, content) {\n setTimeout(() => {\n const index = this.attachmentlist.findIndex((el) => el.id === item);\n if (this.galleryRefresh)\n this.galleryRefresh.openGallery(index);\n }, 0);\n }\n\n refreshFileManager() {\n this.fileManagerObj.refreshFiles();\n }\n\n // async AddItemToGallery1(_id: number, _url: string, documentname: string, documentsize: string, filetype: string,CreatedDate:string, CreatedTime:string): Promise {\n // this.attachmentlistimage = [\n // ...this.attachmentlistimage,\n // {\n // id: _id,\n // size: documentsize,\n // src: _url,\n // data: documentname,\n // thumb: _url,\n // subHtml: documentname, documentsize,\n // type: filetype,\n // name: documentname,\n // createdDate:CreatedDate,\n // createdTime:CreatedTime\n // }\n // ];\n // this.needRefresh=true;\n // }\n\n async AddItemToGallery(_id: number, _url: string, documentname: string, documentsize: string, filetype: string, CreatedDate: string, CreatedTime: string): Promise {\n const loadingItem = {\n id: _id,\n size: documentsize,\n src: _url,\n data: await this.generateVideoData(_url),\n thumb: 'https://noosom1sg.b-cdn.net/NoosomAssets/Images/noosomads/Logo-3-1.gif',\n subHtml: documentname, documentsize,\n type: filetype,\n name: documentname,\n createdDate: CreatedDate,\n createdTime: CreatedTime\n };\n this.attachmentlist.push(loadingItem);\n let thumb = this.cache[_url]; // Check if thumbnail is already in cache\n\n if (!thumb) {\n thumb = await this.generateThumbnailFromVideoURL(_url, filetype);\n this.cache[_url] = thumb; // Save the thumbnail to cache\n }\n\n const galleryItem = {\n id: _id,\n size: documentsize,\n src: _url,\n data: await this.generateVideoData(_url),\n thumb: thumb,\n subHtml: documentname, documentsize,\n type: filetype,\n name: documentname,\n createdDate: CreatedDate,\n createdTime: CreatedTime\n };\n const index = this.attachmentlist.findIndex(item => item.id === _id);\n this.attachmentlist[index] = galleryItem;\n }\n\n\n async generateThumbnailFromVideoURL(videoURL: string, type: string): Promise {\n if (type === 'Videos') {\n return new Promise((resolve, reject) => {\n const video = document.createElement('video');\n video.crossOrigin = 'anonymous'; // Enable cross-origin for video\n video.src = videoURL;\n\n video.addEventListener('loadedmetadata', () => {\n video.currentTime = 10.5; // Adjust as needed\n\n video.addEventListener('seeked', () => {\n const canvas = document.createElement('canvas');\n const scaleFactor = 0.5; // Adjust the scale factor as needed\n canvas.width = video.videoWidth * scaleFactor;\n canvas.height = video.videoHeight * scaleFactor;\n\n const ctx = canvas.getContext('2d');\n ctx.drawImage(video, 0, 0, canvas.width, canvas.height);\n\n // Draw a play icon in the center of the canvas\n const playIconSize = 125; // Adjust the size as needed\n ctx.fillStyle = 'rgba(255, 255, 255, 0.7)';\n ctx.beginPath();\n ctx.moveTo(canvas.width / 2 - playIconSize / 2, canvas.height / 2 - playIconSize / 2);\n ctx.lineTo(canvas.width / 2 + playIconSize / 2, canvas.height / 2);\n ctx.lineTo(canvas.width / 2 - playIconSize / 2, canvas.height / 2 + playIconSize / 2);\n ctx.closePath();\n ctx.fill();\n\n // Resolve with the data URL of the canvas\n resolve(canvas.toDataURL('image/jpeg', 0.5)); // Adjust quality parameter as needed\n this.loading = false;\n // this.needRefresh=true;\n this.loadingScreenService.stopLoading();\n // Clean up\n canvas.remove();\n video.remove();\n });\n\n video.addEventListener('error', (error) => {\n resolve('assets/images/pages/Cannot_play.png');\n this.loading = false;\n this.loadingScreenService.stopLoading();\n // reject(`Error loading video: ${error.message}`);\n });\n });\n\n video.addEventListener('error', (error) => {\n resolve('assets/images/pages/Cannot_play.png');\n // reject(`Error loading video metadata: ${error.message}`);\n this.loading = false;\n this.loadingScreenService.stopLoading();\n });\n\n // Load the video\n video.load();\n });\n }\n return Promise.resolve(''); // Return a default value for non-video types\n }\n\n\n async generateVideoData(src): Promise {\n const videoData = {\n source: [{ src: src, type: 'video/mp4' }],\n attributes: { preload: false, controls: false }\n };\n return JSON.stringify(videoData);\n }\n\n onInitGallery = (detail): void => {\n this.lightGallery = detail.instance;\n this.galleryRefresh = detail.instance;\n const customHelpButton = ``;\n const customDownloadButton = ``;\n const customDeleteButton = ``;\n const $toolbar = this.lightGallery.$toolbar;\n $toolbar.append(customHelpButton);\n $toolbar.append(customDeleteButton);\n $toolbar.append(customDownloadButton);\n document.getElementById(\"lg-custom-button-help\").addEventListener(\"click\", () => {\n this.supportFunction();\n });\n document.getElementById(\"lg-custom-button-delete\").addEventListener(\"click\", async () => {\n const idname = detail.instance.galleryItems[detail.instance.index];\n await this.onDeleteDocument(idname.alt)\n let galleryItems1 = JSON.parse(JSON.stringify(detail.instance.galleryItems));\n const updatedGalleryItems = galleryItems1.filter((item, id) => id !== detail.instance.index);\n detail.instance.updateSlides(updatedGalleryItems, Math.max(detail.instance.index - 1, 0));\n detail.instance.slidesUpdated = true\n let slidesUpdated = false;\n //detail.instance.refresh();\n })\n document.getElementById(\"lg-custom-button-download\").addEventListener(\"click\", () => {\n var idname = detail.instance.galleryItems[detail.instance.index];\n\n var downloadDocument2: TblUserFileManagerDocuments = new TblUserFileManagerDocuments;\n if (idname.src) {\n downloadDocument2.DocumentPath = idname.src;\n }\n else if (idname.video) {\n downloadDocument2.DocumentPath = JSON.parse(idname.video).source[0].src;\n }\n downloadDocument2.DocumentId = idname.alt;\n this.onDownloadDocument(downloadDocument2)\n });\n };\n\n async onDownloadDocument(document) {\n if (document) {\n await this.DownloadMyAddressDocument(document);\n }\n }\n async DownloadMyAddressDocument(Document, IsDownloadAll = false) {\n this.loadingScreenService.startLoading();\n if (typeof Document === 'undefined' || Document == null) {\n return false;\n }\n this.downloadFileInputModel = {\n DownloadID: Document.DocumentId,\n FilePath: Document.DocumentPath,\n UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId\n };\n let promise = new Promise((resolve, reject) => {\n var Result: boolean = false;\n var path = 'api/UserFileManager/DownloadUserFileManagerDocuments';\n this.subDownloadAddressAtt$ = this.globalService.PostDataById(this.downloadFileInputModel, path).subscribe(\n (result) => {\n this.loadingScreenService.stopLoading();\n if (result.status == Status.Success) {\n let _downloaded = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)));\n var sampleArr = this.globalService.base64ToArrayBuffer(E.ConvertToString(_downloaded.FileBase64String));\n this.globalService.saveByteArray(_downloaded.FileName, sampleArr, _downloaded.FileMimeType);\n if (IsDownloadAll === false)\n this._toastrService.Success('Downloaded Successfully.', Constant.SuccessToastrTitle);\n Result = true;\n }\n else {\n this._toastrService.Error(result.message, Constant.ErrorToastrTitle);\n Result = false;\n }\n resolve(Result);\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n this.error = 'Connection Refused';\n this.loadingScreenService.stopLoading();\n resolve(Result);\n }\n );\n });\n return await promise;\n }\n\n async onDeleteDocument(userschoolDocumentId: number) {\n if (!userschoolDocumentId) {\n return;\n }\n\n try {\n await this.showConfirmationDialog();\n const result = await this.DeleteMySchoolDocument([userschoolDocumentId]);\n\n if (result) {\n // Next line of code after both function1 and function2 have completed\n }\n } catch (error) {\n }\n }\n\n showConfirmationDialog(): Promise {\n return new Promise((resolve) => {\n Swal.fire({\n title: 'Are you sure, you want to delete this Document?',\n text: \"You won't be able to undo this!\",\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: 'Yes, delete it!',\n cancelButtonText: 'Cancel',\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1',\n },\n }).then((result) => {\n if (result.value) {\n resolve();\n }\n });\n });\n }\n\n async DeleteMySchoolDocument(UserSchoolDocumentIds: Array): Promise {\n this.loadingScreenService.startLoading();\n if (this.selectedFolderIds.length > 0) {\n UserSchoolDocumentIds = this.selectedFolderIds;\n }\n try {\n if (UserSchoolDocumentIds.length < 1) {\n return false;\n }\n\n this.deleteDocumentsInputModel = [];\n this.UserSchoolDocument = UserSchoolDocumentIds\n UserSchoolDocumentIds.forEach((userschoolDocumentId) => {\n this.deleteDocumentsInputModel.push({\n DeleteID: userschoolDocumentId,\n UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId,\n });\n });\n\n const result = await this.postDataAndHandleResponse();\n\n return result;\n } catch (error) {\n console.error('An error occurred:', error);\n return false;\n } finally {\n this.loadingScreenService.stopLoading();\n }\n }\n\n private postDataAndHandleResponse(): Promise {\n return new Promise((resolve) => {\n const path = 'api/UserFolder/DeleteUserFolderDocuments';\n this.subDeleteSchoolAtt$ = this.globalService.PostDataById(this.deleteDocumentsInputModel, path).subscribe(\n (data) => {\n const result = JSON.parse(JSON.stringify(data));\n\n if (result.status === Status.Success) {\n // Handle success\n this.handleSuccess(result);\n this.GetUserFolderById()\n resolve(true);\n } else {\n // Handle failure\n this.handleFailure(result);\n resolve(false);\n }\n },\n (error) => {\n // Handle network error\n this.handleNetworkError(error);\n resolve(false);\n }\n );\n });\n }\n\n private handleSuccess(result: any): void {\n Swal.fire({\n icon: 'success',\n title: 'Deleted!',\n text: E.ConvertToString(result.message),\n customClass: {\n confirmButton: 'btn btn-success',\n },\n });\n\n // if(this.dataType==\"Videos\"){\n // const indexToRemove: number = this.attachmentlist.findIndex((item) => item.id == this.UserSchoolDocument);\n // if (indexToRemove !== -1) {\n // this.attachmentlist.splice(indexToRemove, 1);\n // }\n // const indexToRemovenew: number = this.attachmentlist.findIndex((item) => item.id == this.UserSchoolDocument);\n // if (indexToRemove !== -1) {\n // this.attachmentlist.splice(indexToRemovenew, 1);\n // }}\n // else if(this.dataType==\"Images\"){\n // const indexToRemove: number = this.attachmentlistimage.findIndex((item) => item.id == this.UserSchoolDocument);\n // if (indexToRemove !== -1) {\n // this.attachmentlistimage.splice(indexToRemove, 1);\n // }\n // const indexToRemovenew: number = this.attachmentlistimage.findIndex((item) => item.id == this.UserSchoolDocument);\n // if (indexToRemove !== -1) {\n // this.attachmentlistimage.splice(indexToRemovenew, 1);\n // }\n // }\n }\n\n private handleFailure(result: any): void {\n if (result.message == \"Files couldn't delete, Linked with other forms.\") {\n this._toastrService.Error(result.message, Constant.ErrorToastrTitle);\n }\n else {\n this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n }\n }\n\n private handleNetworkError(error: any): void {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n // this.error = this.currentAppLanguage.data.COMMON.ERROR_MESSAGE_CONNECTIONREFUSED;\n }\n\n // onTabActive(data){\n // this.dataType=data\n // }\n\n\n supportFunction() {\n\n Swal.fire({\n title: \"Help!\",\n text: \"Information about the icons in the Light Gallery.\",\n imageUrl: 'assets/images/pages/view-only-custom.png',\n showCancelButton: false,\n confirmButtonColor: '#7367F0',\n //cancelButtonColor: '#E42728',\n confirmButtonText: \"Okay\",\n cancelButtonText: \"Cancel\",\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n\n })\n }\n\n onFailure(args) {\n args.cancel = true;\n }\n\n // Fetch folder contents when a folder is expanded in the navigation pane\n onFolderExpand(args: any) {\n if (this.fileManagerObj)\n this.fileManagerObj.root = \"'/'\"\n if (args.data && args.data.hasChild) {\n // const folderId = args.data.id; // Get the folder ID or path from args.data\n // this.fetchFolderContents(folderId);\n }\n }\n\n async OnMultipleFolderDeleteClick() {\n Swal.fire({\n title: 'Are you sure, you want to delete this Folder and all the attachments associated with it?',\n text: \"You won't be able to undo this!\",\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#7367F0',\n cancelButtonColor: '#E42728',\n confirmButtonText: 'Yes, delete it!',\n cancelButtonText: 'Cancel',\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n })\n .then(\n (async (result) => {\n if (result.value) {\n const a = await this.DeleteMultipleFolder();\n }\n })\n );\n }\n\n async DeleteMultipleFolder() {\n this.loadingScreenService.startLoading();\n var deleteid = this.selectedFolderIds\n this.deleteInput = {\n DeleteIDs: deleteid,\n UserDetailsID: this.authenticationService.currentUserValue.UserDetailsId\n }\n let promise = new Promise((resolve, reject) => {\n var Result: boolean;\n let response: Observable;\n this.filemanagerService.DeleteUserFolder(this.deleteInput)\n .subscribe(\n (data) => {\n this.loadingScreenService.stopLoading();\n var result = JSON.parse(JSON.stringify(data));\n if (result.status == Status.Success) {\n Swal.fire({\n icon: 'success',\n title: 'Deleted!',\n text: E.ConvertToString(result.message),\n customClass: {\n confirmButton: 'btn btn-success'\n }\n });\n this.loadUserFolderData();\n // this.folderTitle= this.currentAppLanguage.data.FILEMANAGER.LABEL_CREATE_FOLDER\n // this.selectedFolderIds = [];\n Result = true;\n }\n else {\n this._toastrService.Error('An Error Occurred – Please Contact your Administrator.', Constant.ErrorToastrTitle);\n Result = false;\n }\n resolve(Result);\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = 'Could not connect with server.';\n this.loadingScreenService.stopLoading();\n }\n );\n });\n return await promise;\n }\n\n popUpClose(args) {\n if (args.popupName === \"Error\") {\n args.cancel = true;\n \n }\n if (args.popupName == 'Create Folder') {\n this.folderName = args.folderName;\n this.CreateUpdateUserFolder();\n }\n if (args.name == 'folderCreate') {\n this.folderName = args.folderName;\n this.CreateUpdateUserFolder();\n }\n if (args.name == 'rename') {\n this.update = true;\n this.folderName = args.newName;\n this.CreateUpdateUserFolder();\n }\n if (args.popupName === \"Upload\") {\n args.cancel = true;\n\n }\n if (args.popupName === \"Image Preview\") {\n args.cancel = true;\n }\n }\n\n onNavigate(args) {\n // Handle navigation event here\n\n // Perform actions based on the new path, such as fetching data, updating UI, etc.\n }\n\n\n CreateUpdateUserFolder() {\n // if(this.folderName.length>20){\n // this.maxlength=true;\n // this.Required=false;\n // return;\n // }\n // else if(!this.folderName){\n // this.Required=true;\n // this.maxlength=false;\n // return;\n // }\n\n\n if (this.update) {\n this.filemanagerinputmodel = {\n UserFolderId: this.folderId,\n UserFolderName: this.folderName,\n UserDetailsId: this.authenticationService.currentUserValue.UserDetailsId,\n CreatedDate: E.GetTodayDateStringOnly(),\n CreatedTime: E.GetTodayTimeStringOnly(),\n ChangedDate: E.GetTodayDateStringOnly(),\n ChangedTime: E.GetTodayTimeStringOnly(),\n ActiveYn: true\n }\n }\n else if (!this.update) {\n this.filemanagerinputmodel = new TblUserFolders();\n this.filemanagerinputmodel = {\n UserFolderId: 0,\n UserFolderName: this.folderName,\n UserDetailsId: this.authenticationService.currentUserValue.UserDetailsId\n }\n }\n if (this.authenticationService.currentUserValue && this.folderName) {\n this.loadingScreenService.startLoading();\n let response: Observable;\n this.filemanagerService.CreateUpdateUserFolder(this.filemanagerinputmodel)\n .subscribe(\n (result) => {\n if (result.status == Status.RecordAdded) {\n let data = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)));\n this.modalService.dismissAll();\n this.update = false;\n this.loadingScreenService.stopLoading();\n setTimeout(() => {\n let msg = 'Folder Added successfully.';\n this._toastrService.Success(msg, Constant.SuccessToastrTitle);\n this.loadUserFolderData();\n }, 500);\n }\n else if (result.status == Status.RecordUpdated) {\n let data = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)));\n this.modalService.dismissAll();\n this.loadingScreenService.stopLoading();\n this.update = false;\n setTimeout(() => {\n let msg = 'Folder Updated successfully.';\n this._toastrService.Success(msg, Constant.SuccessToastrTitle);\n this.loadUserFolderData();\n }, 500);\n }\n else if (result.status == Status.Error) {\n let data = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)));\n this.loadingScreenService.stopLoading();\n this.update = false;\n setTimeout(() => {\n this._toastrService.Error(result.message, Constant.ErrorToastrTitle);\n this.loadUserFolderData();\n }, 500);\n }\n else { this.loadingScreenService.stopLoading(); }\n },\n );\n }\n }\n\n onCloseButtonClick() {\n this.dialogRef.close(false);\n }\n\n\n //--------------------------------------------------------------folder create -------------------------------------------------------------------------------------\n\n onFileSelection(args: any) {\n // console.log(args, '------------------file selection');\n }\n onFileSelect(args: any) {\n // console.log(args, '-----------------------file select');\n }\n updateDoc() {\n const files = this.fileManagerObj.getSelectedFiles() as SelectedFile[];\n this.selectedUploadIds = []; // Clear previous selection if needed\n\n files.forEach(file => {\n if (file.DocumentId) { // Check if DocumentId exists\n this.selectedUploadIds.push(file.DocumentId);\n }\n });\n if (this.selectedUploadIds.length < 1) {\n /// no files selected \n this._toastrService.Error('No File selected!', Constant.ErrorToastrTitle);\n }\n else if (this.selectedUploadIds.length >= 1) {\n this.backFlag = true;\n var getMyAttachmentsInputModel:DocumentLinkingInputModel = {\n RecordId: this._data.RecordId,\n DocumentIds: this.selectedUploadIds,\n UserDetailsId: this.authenticationService.currentUserValue.UserDetailsId,\n RecordType:this._data.RecordType\n }\n this.documentLinked(getMyAttachmentsInputModel);\n }\n\n }\n\n documentLinked(id){\n this.loadingScreenService.startLoading();\n this.filemanagerService.CreateUpdateDocumentLinks(id).subscribe(async (result) => {\n if (result.status == Status.Success) {\n //let data = JSON.parse((this.encrDecr.get(Constant.EncrDecrKey, result.data)));\n this.dialogRef.close(true);\n this.loadingScreenService.stopLoading();\n }\n this.loadingScreenService.stopLoading();\n },\n );\n }\n\n}\ninterface SelectedFile {\n DocumentId: number;\n // Add other properties as needed\n}\n","\n\n\n\n\n\n
    \n
    Noosom File Manager \n \n
    \n
    \n \n \n \n
    \n0\" [collectionSize]='pagesNumber'\n[pageSize]=\"80\" (pageChange)=\"loadPage($event,'Images')\" [(page)]=\"pageAdvancedEllipses\"\n[maxSize]=\"5\" [rotate]=\"true\" [boundaryLinks]=\"true\">\nPrev\n\nNext\n\n\n\n\n\n\n \n
    ","import { Injectable } from '@angular/core';\nimport { ChangeEmailAddressInputModel, ChangeMobileNumberInputModel, ChangePasswordInputModel, TblUserBillingAddress,UpdateProfileDetailsModel, UserBillingAddressLoadDataInputModel, VerifyMobileNumberInputModel,SubscriptionHistoryModel, DeleteMyAccountInputModel } from './profile/profile.modal'\nimport { GlobalService } from 'app/Services/global.service';\nimport { UpdateProfilePictureInputModel } from 'app/about-me/about-me-model.model';\nimport { VerifyEmailAddressInputModel } from 'app/Models/email-model.model';\nimport { GetStorageStatisticsInputModel } from 'app/home/home-model.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserProfileService {\n\n constructor(private globalService: GlobalService) { }\n\n ChangePassword(changePasswordInputModel: ChangePasswordInputModel) {\n const path = 'api/Account/ChangePassword';\n return this.globalService.PostDataById(changePasswordInputModel, path);\n }\n\n ResetProfile(updateProfilePictureInputModel: UpdateProfilePictureInputModel) {\n const path = 'api/AboutMe/ResetProfilePicture';\n return this.globalService.PostDataById(updateProfilePictureInputModel, path);\n }\n\n ResetCoverPicture(updateProfilePictureInputModel) {\n const path = 'api/AboutMe/ResetCoverPicture';\n return this.globalService.PostDataById(updateProfilePictureInputModel, path);\n }\n\n UpdateProfileDetails(updateProfileDetailsModel:UpdateProfileDetailsModel){\n const path = 'api/Account/UpdateProfileDetails';\n return this.globalService.PostDataById(updateProfileDetailsModel, path);\n }\n\n ChangeEmailAddress(changeEmailAddressInputModel:ChangeEmailAddressInputModel){\n const path = 'api/Account/ChangeEmailAddress';\n return this.globalService.PostDataById(changeEmailAddressInputModel, path);\n }\n\n VerifyNewEmailAddress(verifyEmailAddressInputModel :VerifyEmailAddressInputModel ){\n const path = 'api/Account/VerifyNewEmailAddress';\n return this.globalService.PostDataById(verifyEmailAddressInputModel , path);\n }\n\n ChangeMobileNumber(changeMobileNumberInputModel :ChangeMobileNumberInputModel ){ //get otp\n const path = 'api/Account/ChangeMobileNumber';\n return this.globalService.PostDataById(changeMobileNumberInputModel , path);\n }\n VerifyNewMobileNumber(verifyMobileNumberInputModel :VerifyMobileNumberInputModel ){ //confirm otp\n const path = 'api/Account/VerifyNewMobileNumber';\n return this.globalService.PostDataById(verifyMobileNumberInputModel , path);\n } \n\n GetProfileDetailsLoadData(data:number){\n const path = 'api/Account/GetProfileDetailsLoadData'; \n return this.globalService.PostDataById(data, path);\n }\n\n GetUserBillingAddressLoadData(userBillingAddressLoadDataInputModel:UserBillingAddressLoadDataInputModel){\n const path = 'api/Account/GetUserBillingAddressLoadData'; \n return this.globalService.PostDataById(userBillingAddressLoadDataInputModel, path);\n }\n\n CreateUpdateUserBillingAddresses(tblUserBillingAddress:TblUserBillingAddress){\n const path = 'api/Account/CreateUpdateUserBillingAddresses'; \n return this.globalService.PostDataById(tblUserBillingAddress, path);\n }\n\n GetSubscriptionHistory(data:number){\n const path = 'api/Subscription/GetSubscriptionHistory'; \n return this.globalService.PostDataById(data, path);\n }\n\n GetStorageStatistics(_data: GetStorageStatisticsInputModel) {\n const path = 'api/Home/GetStorageStatistics'\n return this.globalService.PostDataById(_data, path);\n }\n\n GetNoosomStorageDetails(_UserDetailsId: number) {\n const path = 'api/Home/GetNoosomStorageDetails'\n return this.globalService.PostDataById(_UserDetailsId, path);\n }\n\n DeleteMyAccount(deleteMyAccountInputModel:DeleteMyAccountInputModel){\n const path = 'api/Account/DeleteMyAccount'\n return this.globalService.PostDataById(deleteMyAccountInputModel,path);\n }\n\n DownloadUserInvoicePdf(data:number){\n const path = 'api/Invoice/DownloadUserInvoicePdf'\n return this.globalService.PostDataById(data,path);\n }\n\n RememberMeForDays(data){\n const path = 'api/Account/RememberMeForDays'\n return this.globalService.PostDataById(data,path);\n }\n}\n","import { DatePipe, formatDate } from \"@angular/common\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport moment from \"moment\";\r\n\r\n@Injectable()\r\nexport class E {\r\n public static _datepipe: DatePipe;\r\n constructor(private datepipe: DatePipe) {\r\n\r\n }\r\n\r\n public static ConvertToString(value?: any): string {\r\n //debugger;\r\n if (typeof (value) === 'undefined')\r\n return '';\r\n else if (value === null)\r\n return '';\r\n else\r\n return String(value);\r\n }\r\n public static ConvertToNumber(value?: any): number {\r\n //debugger;\r\n if (typeof (value) === 'undefined')\r\n return 0;\r\n else if (value === null)\r\n return 0;\r\n else\r\n return Number(value);\r\n }\r\n public static ConvertToBoolean(value?: any): boolean {\r\n //debugger;\r\n if (typeof (value) === 'undefined')\r\n return false;\r\n else if (value === null)\r\n return false;\r\n else\r\n return Boolean(value);\r\n }\r\n public static ConvertToDate(value?: any): Date | undefined | null {\r\n //debugger;\r\n if (typeof (value) === 'undefined')\r\n return value;\r\n else if (value === null)\r\n return value;\r\n else\r\n return new Date(value);\r\n }\r\n public static DateOnly(value?: Date): Date {\r\n //debugger;\r\n if (typeof (value) === 'undefined')\r\n return new Date();\r\n else if (value === null)\r\n return new Date();\r\n else {\r\n return new Date(value.getFullYear(), value.getMonth(), value.getDate());\r\n }\r\n }\r\n public static TimeOnly(value?: Date): Date {\r\n //debugger;\r\n if (typeof (value) === 'undefined')\r\n return new Date();\r\n else if (value === null)\r\n return new Date();\r\n else {\r\n return new Date(1900, 0, 1, value.getHours(), value.getMinutes(), value.getSeconds());\r\n }\r\n }\r\n public static GetDateStringOnly(value?: Date): string {\r\n //console.log('GetDateStringOnly');\r\n let result = '';\r\n if (typeof (value) === 'undefined')\r\n return '';\r\n else if (value === null)\r\n return '';\r\n //console.log(value);\r\n value = this.DateOnly(value);\r\n //console.log(value);\r\n value = new Date(moment(value).utcOffset(0, true).format());\r\n //console.log(value);\r\n result = value.toJSON(); //value.toLocaleString(); //2019-08-01T00:00:00-07:00\r\n //console.log(result);\r\n return result;\r\n }\r\n public static GetTimeStringOnly(value?: Date): string {\r\n //console.log('GetTimeStringOnly');\r\n let result = '';\r\n if (typeof (value) === 'undefined')\r\n return '';\r\n else if (value === null)\r\n return '';\r\n //console.log(value);\r\n value = this.TimeOnly(value);\r\n //console.log(value);\r\n value = new Date(moment(value).utcOffset(0, true).format());\r\n //console.log(value);\r\n result = value.toJSON(); //value.toLocaleString();\r\n //console.log(result);\r\n return result;\r\n }\r\n public static GetTodayDateStringOnly(): string {\r\n //console.log('GetTodayDateOnly');\r\n let value = new Date(); let result = '';\r\n //console.log(value);\r\n value = this.DateOnly(value);\r\n //console.log(value);\r\n value = new Date(moment(value).utcOffset(0, true).format());\r\n //console.log(value);\r\n result = value.toJSON();\r\n //console.log(result);\r\n return result;\r\n }\r\n public static GetTodayTimeStringOnly(): string {\r\n //console.log('GetTodayTimeOnly');\r\n let value = new Date(); let result = '';\r\n //console.log(value);\r\n value = this.TimeOnly(value);\r\n //console.log(value);\r\n value = new Date(moment(value).utcOffset(0, true).format());\r\n //console.log(value);\r\n result = value.toJSON(); //value.toLocaleString();\r\n //console.log(result);\r\n return result;\r\n }\r\n public static GetCurrentLocaleDateTime(): Date {\r\n //console.log('GetCurrentDateTime');\r\n let value; let result;\r\n //console.log(value);\r\n value = new Date().toLocaleString(\"en-GB\");\r\n //console.log(result);\r\n let _momentvar = moment(value, 'DD/MM/YYYY, HH:mm:ss');\r\n //console.log(_momentvar);\r\n let _moment = _momentvar.format('YYYY-MM-DDTHH:mm:ss.sssZ');\r\n //console.log(_moment);\r\n result = new Date(_moment);\r\n //console.log(result);\r\n return result;\r\n }\r\n public static GetMinDateWithTime(hours: number, minutes: number, seconds = 0): Date {\r\n let _date = new Date(1900, 0, 1, hours, minutes, seconds + 10);\r\n return new Date(moment(_date).utcOffset(0, true).format());\r\n }\r\n public static CombineDateAndTime(_date: Date, _time: Date) {\r\n let date = new Date(_date); let time = new Date(_time);\r\n let result = new Date(date.getFullYear(), date.getMonth(), date.getDate(), time.getHours(), time.getMinutes(), time.getSeconds());\r\n //console.log(result);\r\n return result.toISOString();\r\n }\r\n public static AddMinutesToDateTime(dt: Date, minutes: number) {\r\n return new Date(dt.getTime() + minutes * 60000);\r\n }\r\n // public static GetLocalDate(StrDate: string): Date | null {\r\n // if (typeof (StrDate) === 'undefined')\r\n // return null;\r\n // else if (StrDate === null)\r\n // return null;\r\n // else {\r\n // var tempDate: Date = new Date(StrDate);\r\n // var Year: number = tempDate.getFullYear();\r\n // var Month: number = tempDate.getMonth();\r\n // var Days: number = tempDate.getDate();\r\n // var Hours: number = tempDate.getHours();\r\n // var Minutes: number = tempDate.getMinutes()\r\n // var Seconds: number = tempDate.getMilliseconds();\r\n // var OffSetMin: number = (new Date().getTimezoneOffset());\r\n // var TotalMinutes: number = (+Minutes) + (+OffSetMin) * -1;\r\n\r\n // var dateTemp = new Date();\r\n // dateTemp.setFullYear(Year);\r\n // dateTemp.setMonth(Month);\r\n // dateTemp.setDate(Days);\r\n // dateTemp.setHours(Hours);\r\n // dateTemp.setMinutes(TotalMinutes);\r\n // dateTemp.setSeconds(Seconds);\r\n // return dateTemp\r\n // }\r\n // }\r\n}","export const environment = {\n production: true,\n hmr: false,\n apiUrl: 'http://localhost:4000'\n};\n","export class accountSettingsFakeData {\n public static data = {\n accountSetting: {\n general: {\n avatar: 'assets/images/portrait/small/avatar-s-11.jpg',\n username: 'johndoe',\n fullName: 'John Doe',\n email: 'granger007@hogward.com',\n company: 'IBM Technology'\n },\n info: {\n bio: '',\n dob: null,\n country: 'USA',\n website: '',\n phone: '(+656) 254 2568'\n },\n social: {\n socialLinks: {\n twitter: 'https://www.twitter.com',\n facebook: '',\n google: '',\n linkedIn: 'https://www.linkedin.com',\n instagram: '',\n quora: ''\n },\n connections: {\n twitter: {\n profileImg: 'assets/images/avatars/11-small.png',\n id: '@johndoe'\n },\n google: {\n profileImg: 'assets/images/avatars/3-small.png',\n id: '@luraweber'\n },\n facebook: {},\n github: {}\n }\n },\n notification: {\n commentOnArticle: true,\n AnswerOnForm: true,\n followMe: false,\n newAnnouncements: true,\n productUpdates: true,\n blogDigest: false\n }\n }\n };\n}\n","export class BlogFakeData {\n public static data = {\n // blog list\n blogList: [\n {\n id: 1,\n img: 'assets/images/slider/02.jpg',\n title: 'The Best Features Coming to iOS and Web design',\n avatar: 'assets/images/portrait/small/avatar-s-7.jpg',\n username: 'Ghani Pradita',\n blogPosted: 'Jan 10, 2020',\n tags: ['Quote', 'Fashion'],\n blogText: 'Donut fruitcake soufflé apple pie candy canes jujubes croissant chocolate bar ice cream.',\n comment: 76\n },\n {\n id: 2,\n img: 'assets/images/slider/06.jpg',\n title: 'Latest Quirky Opening Sentence or Paragraph',\n avatar: 'assets/images/portrait/small/avatar-s-9.jpg',\n username: 'Jorge Griffin',\n blogPosted: 'Jan 10, 2020',\n tags: ['Gaming', 'Video'],\n blogText: 'Apple pie caramels lemon drops halvah liquorice carrot cake. Tiramisu brownie lemon drops.',\n comment: '2.1k'\n },\n {\n id: 3,\n img: 'assets/images/slider/04.jpg',\n title: 'Share an Amazing and Shocking Fact or Statistic',\n avatar: 'assets/images/portrait/small/avatar-s-3.jpg',\n username: 'Claudia Neal',\n blogPosted: 'Jan 10, 2020',\n tags: ['Gaming', 'Food'],\n blogText: 'Tiramisu jelly-o chupa chups tootsie roll donut wafer marshmallow cheesecake topping.',\n comment: 243\n },\n {\n id: 4,\n img: 'assets/images/slider/03.jpg',\n title: 'Withhold a Compelling Piece of Information',\n avatar: 'assets/images/portrait/small/avatar-s-14.jpg',\n username: 'Fred Boone',\n blogPosted: 'Jan 10, 2020',\n tags: ['Video'],\n blogText: 'Croissant apple pie lollipop gingerbread. Cookie jujubes chocolate cake icing cheesecake.',\n comment: 10\n },\n {\n id: 5,\n img: 'assets/images/slider/09.jpg',\n title: 'Unadvertised Bonus Opening: Share a Quote',\n avatar: 'assets/images/portrait/small/avatar-s-13.jpg',\n username: 'Billy French',\n blogPosted: 'Jan 10, 2020',\n tags: ['Quote', 'Fashion'],\n blogText: 'Muffin liquorice candy soufflé bear claw apple pie icing halvah. Pie marshmallow jelly.',\n comment: 319\n },\n {\n id: 6,\n img: 'assets/images/slider/10.jpg',\n title: 'Ships at a distance have Every Man’s Wish on Board',\n avatar: 'assets/images/portrait/small/avatar-s-13.jpg',\n username: 'Helena Hunt',\n blogPosted: 'Jan 10, 2020',\n tags: ['Fashion', 'Video'],\n blogText:\n 'A little personality goes a long way, especially on a business blog. So don’t be afraid to let loose.',\n comment: '1.5k'\n }\n ],\n\n // sidebar\n blogSidebar: {\n recentPosts: [\n {\n id: 7,\n img: 'assets/images/banner/banner-22.jpg',\n title: 'Why Should Forget Facebook?',\n postedAt: 'Jan 14 2020'\n },\n {\n id: 8,\n img: 'assets/images/banner/banner-27.jpg',\n title: 'Publish your passions, your way',\n postedAt: 'Mar 04 2020'\n },\n {\n id: 9,\n img: 'assets/images/banner/banner-39.jpg',\n title: 'The Best Ways to Retain More',\n postedAt: 'Feb 18 2020'\n },\n {\n id: 10,\n img: 'assets/images/banner/banner-35.jpg',\n title: 'Share a Shocking Fact or Statistic',\n postedAt: 'Oct 08 2020'\n }\n ],\n categories: [\n { category: 'Fashion', icon: 'watch' },\n { category: 'Food', icon: 'shopping-cart' },\n { category: 'Gaming', icon: 'command' },\n { category: 'Quote', icon: 'hash' },\n { category: 'Video', icon: 'video' }\n ]\n },\n\n // detail\n blogDetail: {\n blog: {\n img: 'assets/images/banner/banner-12.jpg',\n title: 'The Best Features Coming to iOS and Web design',\n avatar: 'assets/images/portrait/small/avatar-s-7.jpg',\n username: 'Ghani Pradita',\n postedAt: 'Jan 10, 2020',\n tags: ['Gaming', 'Video'],\n content: `

    Before you get into the nitty-gritty of coming up with a perfect title, start with a rough draft: your working title. What is that, exactly? A lot of people confuse working titles with topics. Let\\'s clear that Topics are very general and could yield several different blog posts. Think \"raising healthy kids,\" or \"kitchen storage.\" A writer might look at either of those topics and choose to take them in very, very different directions.A working title, on the other hand, is very specific and guides the creation of a single blog post. For example, from the topic \"raising healthy kids,\" you could derive the following working title See how different and specific each of those is? That\\'s what makes them working titles, instead of overarching topics.

    Unprecedented Challenge

    • -Preliminary thinking systems
    • -Bandwidth efficient
    • -Green space
    • -Social impact
    • -Thought partnership
    • -Fully ethical life
    `,\n comments: '1.91k',\n bookmarked: 139\n },\n comments: [\n {\n avatar: 'assets/images/portrait/small/avatar-s-9.jpg',\n username: 'Chad Alexander',\n commentedAt: 'May 24, 2020',\n commentText:\n 'A variation on the question technique above, the multiple-choice question great way to engage your reader.'\n }\n ]\n },\n\n // edit\n blogEdit: {\n avatar: 'assets/images/portrait/small/avatar-s-9.jpg',\n username: 'Chad Alexander',\n postedAt: 'May 24, 2020',\n blogTitle: 'The Best Features Coming to iOS and Web design',\n blogCategories: ['Fashion', 'Gaming', 'Food', 'Video', 'Quote'],\n slug: 'the-best-features-coming-to-ios-and-web-design',\n status: 'Published',\n blogText:\n '

    Cupcake ipsum dolor sit. Amet dessert donut candy chocolate bar cotton dessert candy chocolate. Candy muffin danish. Macaroon brownie jelly beans marzipan cheesecake oat cake. Carrot cake macaroon chocolate cake. Jelly brownie jelly. Marzipan pie sweet roll.


    Liquorice dragée cake chupa chups pie cotton candy jujubes bear claw sesame snaps. Fruitcake chupa chups chocolate bonbon lemon drops croissant caramels lemon drops. Candy jelly cake marshmallow jelly beans dragée macaroon. Gummies sugar plum fruitcake. Candy canes candy cupcake caramels cotton candy jujubes fruitcake.

    ',\n featuredImage: 'assets/images/slider/03.jpg'\n }\n };\n}\n","export class CalendarFakeData {\n public static events = [\n {\n id: 1,\n url: '',\n title: 'Design Review',\n start: new Date(),\n end: new Date(new Date().getTime() + 24 * 60 * 60 * 1000),\n allDay: false,\n calendar: 'Business',\n extendedProps: {}\n },\n {\n id: 2,\n url: '',\n title: 'Meeting With Client',\n start: new Date(new Date().getFullYear(), new Date().getMonth() + 1, -11),\n end: new Date(new Date().getFullYear(), new Date().getMonth() + 1, -10),\n allDay: true,\n calendar: 'Business',\n extendedProps: {}\n },\n {\n id: 3,\n url: '',\n title: 'Family Trip',\n allDay: true,\n start: new Date(new Date().getFullYear(), new Date().getMonth() + 1, -9),\n end: new Date(new Date().getFullYear(), new Date().getMonth() + 1, -7),\n calendar: 'Holiday',\n extendedProps: {}\n },\n {\n id: 4,\n url: 'https://www.pixinvent.com',\n title: 'URL event',\n start: new Date(new Date().getFullYear(), new Date().getMonth() + 1, -11),\n end: new Date(new Date().getFullYear(), new Date().getMonth() + 1, -10),\n allDay: true,\n calendar: 'Personal',\n extendedProps: {}\n },\n {\n id: 5,\n url: '',\n title: 'Dart Game?',\n start: new Date(new Date().getFullYear(), new Date().getMonth() + 1, -13),\n end: new Date(new Date().getFullYear(), new Date().getMonth() + 1, -12),\n allDay: true,\n calendar: 'ETC',\n extendedProps: {\n location: 'Chicago',\n description: 'on a Trip',\n addGuest: []\n }\n },\n {\n id: 6,\n url: '',\n title: 'Meditation',\n start: new Date(new Date().getFullYear(), new Date().getMonth() + 1, -13),\n end: new Date(new Date().getFullYear(), new Date().getMonth() + 1, -12),\n allDay: true,\n calendar: 'Personal',\n extendedProps: {}\n },\n {\n id: 7,\n url: '',\n title: 'Dinner',\n start: new Date(new Date().getFullYear(), new Date().getMonth() + 1, -13),\n end: new Date(new Date().getFullYear(), new Date().getMonth() + 1, -12),\n allDay: true,\n calendar: 'Family',\n extendedProps: {\n location: 'Moscow',\n description: 'The party club'\n }\n },\n {\n id: 8,\n url: '',\n title: 'Product Review',\n start: new Date(new Date().getFullYear(), new Date().getMonth() + 1, -13),\n end: new Date(new Date().getFullYear(), new Date().getMonth() + 1, -12),\n allDay: true,\n calendar: 'Business',\n extendedProps: {\n location: 'Japan',\n description: 'weekend Drive'\n }\n },\n {\n id: 9,\n url: '',\n title: 'Monthly Meeting',\n start:\n new Date().getMonth() === 11\n ? new Date(new Date().getFullYear() + 1, 0, 1)\n : new Date(new Date().getFullYear(), new Date().getMonth() + 1, 1),\n end:\n new Date().getMonth() === 11\n ? new Date(new Date().getFullYear() + 1, 0, 1)\n : new Date(new Date().getFullYear(), new Date().getMonth() + 1, 1),\n allDay: true,\n calendar: 'Business',\n extendedProps: {}\n },\n {\n id: 10,\n url: '',\n title: 'Monthly Checkup',\n start:\n new Date().getMonth() === 11\n ? new Date(new Date().getFullYear() - 1, 0, 1)\n : new Date(new Date().getFullYear(), new Date().getMonth() - 1, 1),\n end:\n new Date().getMonth() === 11\n ? new Date(new Date().getFullYear() - 1, 0, 1)\n : new Date(new Date().getFullYear(), new Date().getMonth() - 1, 1),\n allDay: true,\n calendar: 'Personal',\n extendedProps: {}\n }\n ];\n public static calendar = [\n { id: 1, filter: 'Business', color: 'primary', checked: true },\n { id: 2, filter: 'Holiday', color: 'success', checked: true },\n { id: 3, filter: 'Personal', color: 'danger', checked: true },\n { id: 4, filter: 'Family', color: 'warning', checked: true },\n { id: 5, filter: 'ETC', color: 'info', checked: true }\n ];\n}\n","export class CardAnalyticsData {\n public static data = {\n supportTracker: {\n series: [83],\n analyticsData: {\n tickets: 163,\n newTickets: 29,\n openTickets: 63,\n responseTime: '1d'\n }\n },\n avgSessions: {\n series: [\n {\n name: 'Sessions',\n data: [75, 125, 225, 175, 125, 75, 25]\n }\n ],\n analyticsData: {\n avgSessions: '2.7K',\n vsLastSevenDays: '+5.2%',\n goal: '$100000',\n goalProgressbar: 50,\n retention: '90%',\n retentionProgressbar: 60,\n users: '100K',\n usersProgressbar: 70,\n duration: '1yr',\n durationProgressbar: 90\n }\n },\n revenueReport: {\n earningExpenseChart: {\n series: [\n {\n name: 'Earning',\n data: [95, 177, 284, 256, 105, 63, 168, 218, 72]\n },\n {\n name: 'Expense',\n data: [-145, -80, -60, -180, -100, -60, -85, -75, -100]\n }\n ]\n },\n budgetChart: {\n series: [\n {\n data: [61, 48, 69, 52, 60, 40, 79, 60, 59, 43, 62]\n },\n {\n data: [20, 10, 30, 15, 23, 0, 25, 15, 20, 5, 27]\n }\n ]\n },\n analyticsData: {\n currentBudget: '$25,852',\n totalBudget: '56,800'\n }\n },\n goalOverview: {\n series: [83],\n analyticsData: {\n completed: '786,617',\n inProgress: '13,561'\n }\n },\n revenue: {\n series: [\n {\n name: 'This Month',\n data: [45000, 47000, 44800, 47500, 45500, 48000, 46500, 48600]\n },\n {\n name: 'Last Month',\n data: [46000, 48000, 45500, 46600, 44500, 46500, 45000, 47000]\n }\n ],\n analyticsData: {\n thisMonth: '86,589',\n lastMonth: '73,683'\n }\n },\n salesLastSixMonths: {\n series: [\n {\n name: 'Sales',\n data: [90, 50, 86, 40, 100, 20]\n },\n {\n name: 'Visit',\n data: [70, 75, 70, 76, 20, 85]\n }\n ]\n },\n sales: {\n series: [\n {\n name: 'Sales',\n data: [140, 180, 150, 205, 160, 295, 125, 255, 205, 305, 240, 295]\n }\n ],\n analyticsData: {\n totalSales: '12.84k'\n }\n },\n productOrders: {\n series: [70, 52, 26],\n analyticsData: {\n finished: 23043,\n pending: 14658,\n rejected: 4758\n }\n },\n sessionsByDevice: {\n series: [58.6, 34.9, 6.5],\n analyticsData: {\n desktop: {\n desktopPercentage: '58.6%',\n changePercentage: '2%'\n },\n mobile: {\n mobilePercentage: '34.9%',\n changePercentage: '8%'\n },\n tablet: {\n tabletPercentage: '6.5%',\n changePercentage: '-5%'\n }\n }\n },\n customers: {\n series: [690, 258, 149],\n analyticsData: {\n new: 690,\n returning: 258,\n referrals: 149\n }\n },\n earnings: {\n series: [53, 16, 31]\n }\n };\n}\n","export class CardStatisticsData {\n public static data = {\n ordersChart: {\n series: [\n {\n name: '2020',\n data: [45, 85, 65, 45, 65]\n }\n ],\n analyticsData: {\n orders: '2,76k'\n }\n },\n profitChart: {\n series: [\n {\n data: [0, 20, 5, 30, 15, 45]\n }\n ],\n analyticsData: {\n profit: '6,24k'\n }\n },\n statistics: {\n analyticsData: {\n sales: '230k',\n customers: '8.549k',\n products: '1.423k',\n revenue: '$9745'\n }\n },\n views: {\n analyticsData: {\n views: '36.9k'\n }\n },\n comments: {\n analyticsData: {\n comments: '12k'\n }\n },\n orders: {\n analyticsData: {\n orders: '97.8k'\n }\n },\n bookmarks: {\n analyticsData: {\n bookmarks: '26.8'\n }\n },\n reviews: {\n analyticsData: {\n reviews: '689'\n }\n },\n returns: {\n analyticsData: {\n returns: '2.1k'\n }\n },\n cpuUsage: {\n analyticsData: {\n cpuUsage: '86%'\n }\n },\n memoryUsage: {\n analyticsData: {\n memoryUsage: '1.2gb'\n }\n },\n downtimeRation: {\n analyticsData: {\n downtimeRation: '0.1%'\n }\n },\n issuesFound: {\n analyticsData: {\n issuesFound: '13'\n }\n },\n subscribers_gained: {\n series: [\n {\n name: 'Subscribers',\n data: [28, 40, 36, 52, 38, 60, 55]\n }\n ],\n analyticsData: {\n subscribers: '92.6k'\n }\n },\n revenueGenerated: {\n series: [\n {\n name: 'Revenue',\n data: [350, 275, 400, 300, 350, 300, 450]\n }\n ],\n analyticsData: {\n revenue: '97.5k'\n }\n },\n quarterlySales: {\n series: [\n {\n name: 'Sales',\n data: [10, 15, 7, 12, 3, 16]\n }\n ],\n analyticsData: {\n sales: '36%'\n }\n },\n ordersRecevied: {\n series: [\n {\n name: 'Orders',\n data: [10, 15, 8, 15, 7, 12, 8]\n }\n ],\n analyticsData: {\n orders: '97.5k'\n }\n },\n siteTraffic: {\n series: [\n {\n name: 'Traffic Rate',\n data: [150, 200, 125, 225, 200, 250]\n }\n ],\n analyticsData: {\n siteTraffic: '78.9k'\n }\n },\n activeUsers: {\n series: [\n {\n name: 'Active Users',\n data: [750, 1000, 900, 1250, 1000, 1200, 1100]\n }\n ],\n analyticsData: {\n activeUsers: '659.8k'\n }\n },\n newsletter: {\n series: [\n {\n name: 'Newsletter',\n data: [365, 390, 365, 400, 375, 400]\n }\n ],\n analyticsData: {\n newsletter: '28.7k'\n }\n }\n };\n}\n","export class ChatWidgetFakeData {\n public static data = {\n userProfile: {\n id: 11,\n avatar: 'assets/images/avatars/8.png',\n fullName: 'John Doe',\n role: 'admin',\n about:\n 'Dessert chocolate cake lemon drops jujubes. Biscuit cupcake ice cream bear claw brownie brownie marshmallow.',\n status: 'online',\n settings: {\n isTwoStepAuthVerificationEnabled: true,\n isNotificationsOn: false\n }\n },\n\n chatUser: {\n id: 1,\n fullName: 'Felecia Rower',\n role: 'Frontend Developer',\n about: 'Cake pie jelly jelly beans. Marzipan lemon drops halvah cake. Pudding cookie lemon drops icing',\n avatar: 'assets/images/avatars/1.png',\n status: 'offline'\n },\n\n chats: {\n id: 1,\n userId: 2,\n unseenMsgs: 0,\n chat: [\n {\n message: 'Hi',\n time: 'Mon Dec 10 2018 07:45:00 GMT+0000 (GMT)',\n senderId: 11\n },\n {\n message: 'Hello. How can I help You?',\n time: 'Mon Dec 11 2018 07:45:15 GMT+0000 (GMT)',\n senderId: 2\n },\n {\n message: 'Can I get details of my last transaction I made last month?',\n time: 'Mon Dec 11 2018 07:46:10 GMT+0000 (GMT)',\n senderId: 11\n },\n {\n message: 'We need to check if we can provide you such information.',\n time: 'Mon Dec 11 2018 07:45:15 GMT+0000 (GMT)',\n senderId: 2\n },\n {\n message: 'I will inform you as I get update on this.',\n time: 'Mon Dec 11 2018 07:46:15 GMT+0000 (GMT)',\n senderId: 2\n },\n {\n message: 'If it takes long you can mail me at my mail address.',\n time: 'dayBeforePreviousDay',\n senderId: 11\n }\n ]\n }\n };\n}\n","export class ChatFakeData {\n public static profileUser = {\n id: 11,\n avatar: 'assets/images/portrait/small/avatar-s-11.jpg',\n fullName: 'John Doe',\n role: 'admin',\n about:\n 'Dessert chocolate cake lemon drops jujubes. Biscuit cupcake ice cream bear claw brownie brownie marshmallow.',\n status: 'online',\n settings: {\n isTwoStepAuthVerificationEnabled: true,\n isNotificationsOn: false\n }\n };\n public static contacts = [\n {\n id: 1,\n fullName: 'Felecia Rower',\n role: 'Frontend Developer',\n about: 'Cake pie jelly jelly beans. Marzipan lemon drops halvah cake. Pudding cookie lemon drops icing',\n avatar: 'assets/images/avatars/1.png',\n status: 'offline'\n },\n {\n id: 2,\n fullName: 'Adalberto Granzin',\n role: 'UI/UX Designer',\n about:\n 'Toffee caramels jelly-o tart gummi bears cake I love ice cream lollipop. Sweet liquorice croissant candy danish dessert icing. Cake macaroon gingerbread toffee sweet.',\n avatar: 'assets/images/avatars/2.png',\n status: 'busy'\n },\n {\n id: 3,\n fullName: 'Joaquina Weisenborn',\n role: 'Town planner',\n about:\n 'Soufflé soufflé caramels sweet roll. Jelly lollipop sesame snaps bear claw jelly beans sugar plum sugar plum.',\n avatar: 'assets/images/avatars/3.png',\n status: 'busy'\n },\n {\n id: 4,\n fullName: 'Verla Morgano',\n role: 'Data scientist',\n about:\n 'Chupa chups candy canes chocolate bar marshmallow liquorice muffin. Lemon drops oat cake tart liquorice tart cookie. Jelly-o cookie tootsie roll halvah.',\n avatar: 'assets/images/avatars/4.png',\n status: 'online'\n },\n {\n id: 5,\n fullName: 'Margot Henschke',\n role: 'Dietitian',\n about: 'Cake pie jelly jelly beans. Marzipan lemon drops halvah cake. Pudding cookie lemon drops icing',\n avatar: 'assets/images/avatars/5.png',\n status: 'busy'\n },\n {\n id: 6,\n fullName: 'Sal Piggee',\n role: 'Marketing executive',\n about:\n 'Toffee caramels jelly-o tart gummi bears cake I love ice cream lollipop. Sweet liquorice croissant candy danish dessert icing. Cake macaroon gingerbread toffee sweet.',\n avatar: 'assets/images/avatars/6.png',\n status: 'online'\n },\n {\n id: 7,\n fullName: 'Miguel Guelff',\n role: 'Special educational needs teacher',\n about:\n 'Biscuit powder oat cake donut brownie ice cream I love soufflé. I love tootsie roll I love powder tootsie roll.',\n avatar: 'assets/images/avatars/7.png',\n status: 'online'\n },\n {\n id: 8,\n fullName: 'Mauro Elenbaas',\n role: 'Advertising copywriter',\n about:\n 'Bear claw ice cream lollipop gingerbread carrot cake. Brownie gummi bears chocolate muffin croissant jelly I love marzipan wafer.',\n avatar: 'assets/images/avatars/12.png',\n status: 'away'\n },\n {\n id: 9,\n fullName: 'Bridgett Omohundro',\n role: 'Designer, television/film set',\n about:\n 'Gummies gummi bears I love candy icing apple pie I love marzipan bear claw. I love tart biscuit I love candy canes pudding chupa chups liquorice croissant.',\n avatar: 'assets/images/avatars/9.png',\n status: 'offline'\n },\n {\n id: 10,\n fullName: 'Zenia Jacobs',\n role: 'Building surveyor',\n about: 'Cake pie jelly jelly beans. Marzipan lemon drops halvah cake. Pudding cookie lemon drops icing',\n avatar: 'assets/images/avatars/10.png',\n status: 'away'\n }\n ];\n\n public static chats = [\n {\n id: 1,\n userId: 2,\n unseenMsgs: 1,\n chat: [\n {\n message: 'Hi',\n time: 'Mon Dec 10 2018 07:45:00 GMT+0000 (GMT)',\n senderId: 11\n },\n {\n message: 'Hello. How can I help You?',\n time: 'Mon Dec 11 2018 07:45:15 GMT+0000 (GMT)',\n senderId: 2\n },\n {\n message: 'Can I get details of my last transaction I made last month?',\n time: 'Mon Dec 11 2018 07:46:10 GMT+0000 (GMT)',\n senderId: 11\n },\n {\n message: 'We need to check if we can provide you such information.',\n time: 'Mon Dec 11 2018 07:45:15 GMT+0000 (GMT)',\n senderId: 2\n },\n {\n message: 'I will inform you as I get update on this.',\n time: 'Mon Dec 11 2018 07:46:15 GMT+0000 (GMT)',\n senderId: 2\n },\n {\n message: 'If it takes long you can mail me at my mail address.',\n time: 'dayBeforePreviousDay',\n senderId: 11\n }\n ]\n },\n {\n id: 2,\n userId: 1,\n unseenMsgs: 0,\n chat: [\n {\n message: \"How can we help? We're here for you!\",\n time: 'Mon Dec 10 2018 07:45:00 GMT+0000 (GMT)',\n senderId: 11\n },\n {\n message: 'Hey John, I am looking for the best admin template. Could you please help me to find it out?',\n time: 'Mon Dec 10 2018 07:45:23 GMT+0000 (GMT)',\n senderId: 1\n },\n {\n message: 'It should be Bootstrap 4 compatible.',\n time: 'Mon Dec 10 2018 07:45:55 GMT+0000 (GMT)',\n senderId: 1\n },\n {\n message: 'Absolutely!',\n time: 'Mon Dec 10 2018 07:46:00 GMT+0000 (GMT)',\n senderId: 11\n },\n {\n message: 'Modern admin is the responsive bootstrap 4 admin template.!',\n time: 'Mon Dec 10 2018 07:46:05 GMT+0000 (GMT)',\n senderId: 11\n },\n {\n message: 'Looks clean and fresh UI.',\n time: 'Mon Dec 10 2018 07:46:23 GMT+0000 (GMT)',\n senderId: 1\n },\n {\n message: \"It's perfect for my next project.\",\n time: 'Mon Dec 10 2018 07:46:33 GMT+0000 (GMT)',\n senderId: 1\n },\n {\n message: 'How can I purchase it?',\n time: 'Mon Dec 10 2018 07:46:43 GMT+0000 (GMT)',\n senderId: 1\n },\n {\n message: 'Thanks, from ThemeForest.',\n time: 'Mon Dec 10 2018 07:46:53 GMT+0000 (GMT)',\n senderId: 11\n },\n {\n message: 'I will purchase it for sure. 👍',\n time: 'previousDay',\n senderId: 1\n }\n ]\n }\n ];\n}\n","export class DashboardFakeData {\n public static data = {\n subscribers_gained: {\n series: [\n {\n name: 'Subscribers',\n data: [28, 40, 36, 52, 38, 60, 55]\n }\n ],\n analyticsData: {\n subscribers: '92.6k'\n }\n },\n ordersRecevied: {\n series: [\n {\n name: 'Orders',\n data: [10, 15, 8, 15, 7, 12, 8]\n }\n ],\n analyticsData: {\n orders: '38.4k'\n }\n },\n avgSessions: {\n series: [\n {\n name: 'Sessions',\n data: [75, 125, 225, 175, 125, 75, 25]\n }\n ],\n analyticsData: {\n avgSessions: '2.7k',\n vsLastSevenDays: '+5.2%',\n goal: '$100000',\n goalProgressbar: 50,\n retention: '90%',\n retentionProgressbar: 60,\n users: '100k',\n usersProgressbar: 70,\n duration: '1yr',\n durationProgressbar: 90\n }\n },\n supportTracker: {\n series: [83],\n analyticsData: {\n tickets: 163,\n newTickets: 29,\n openTickets: 63,\n responseTime: '1d'\n }\n },\n salesLastSixMonths: {\n series: [\n {\n name: 'Sales',\n data: [90, 50, 86, 40, 100, 20]\n },\n {\n name: 'Visit',\n data: [70, 75, 70, 76, 20, 85]\n }\n ]\n },\n statistics: {\n analyticsData: {\n sales: '230k',\n customers: '8.549k',\n products: '1.423k',\n revenue: '$9745'\n }\n },\n ordersChart: {\n series: [\n {\n name: '2020',\n data: [45, 85, 65, 45, 65]\n }\n ],\n analyticsData: {\n orders: '2,76k'\n }\n },\n profitChart: {\n series: [\n {\n data: [0, 20, 5, 30, 15, 45]\n }\n ],\n analyticsData: {\n profit: '6,24k'\n }\n },\n revenueReport: {\n earningExpenseChart: {\n series: [\n {\n name: 'Earning',\n data: [95, 177, 284, 256, 105, 63, 168, 218, 72]\n },\n {\n name: 'Expense',\n data: [-145, -80, -60, -180, -100, -60, -85, -75, -100]\n }\n ]\n },\n budgetChart: {\n series: [\n {\n data: [61, 48, 69, 52, 60, 40, 79, 60, 59, 43, 62]\n },\n {\n data: [20, 10, 30, 15, 23, 0, 25, 15, 20, 5, 27]\n }\n ]\n },\n analyticsData: {\n currentBudget: '$25,852',\n totalBudget: '56,800'\n }\n },\n goalOverview: {\n series: [83],\n analyticsData: {\n completed: '786,617',\n inProgress: '13,561'\n }\n }\n };\n}\n","export class DatatableFakeData {\n public static rows = [\n {\n responsive_id: '',\n id: 1,\n avatar: 'avatar-s-10.jpg',\n full_name: \"Korrie O'Crevy\",\n post: 'Nuclear Power Engineer',\n email: 'kocrevy0@thetimes.co.uk',\n city: 'Krasnosilka',\n start_date: '09/23/2016',\n salary: '$23896.35',\n age: '61',\n experience: '1 Year',\n status: 2\n },\n {\n responsive_id: '',\n id: 2,\n avatar: 'avatar-s-1.jpg',\n full_name: 'Bailie Coulman',\n post: 'VP Quality Control',\n email: 'bcoulman1@yolasite.com',\n city: 'Hinigaran',\n start_date: '05/20/2018',\n salary: '$13633.69',\n age: '63',\n experience: '3 Years',\n status: 2\n },\n {\n responsive_id: '',\n id: 3,\n avatar: 'avatar-s-9.jpg',\n full_name: 'Stella Ganderton',\n post: 'Operator',\n email: 'sganderton2@tuttocitta.it',\n city: 'Golcowa',\n start_date: '03/24/2018',\n salary: '$13076.28',\n age: '66',\n experience: '6 Years',\n status: 5\n },\n {\n responsive_id: '',\n id: 4,\n avatar: 'avatar-s-10.jpg',\n full_name: 'Dorolice Crossman',\n post: 'Cost Accountant',\n email: 'dcrossman3@google.co.jp',\n city: 'Paquera',\n start_date: '12/03/2017',\n salary: '$12336.17',\n age: '22',\n experience: '2 Years',\n status: 2\n },\n {\n responsive_id: '',\n id: 5,\n avatar: '',\n full_name: 'Harmonia Nisius',\n post: 'Senior Cost Accountant',\n email: 'hnisius4@gnu.org',\n city: 'Lucan',\n start_date: '08/25/2017',\n salary: '$10909.52',\n age: '33',\n experience: '3 Years',\n status: 2\n },\n {\n responsive_id: '',\n id: 6,\n avatar: '',\n full_name: 'Genevra Honeywood',\n post: 'Geologist',\n email: 'ghoneywood5@narod.ru',\n city: 'Maofan',\n start_date: '06/01/2017',\n salary: '$17803.80',\n age: '61',\n experience: '1 Year',\n status: 1\n },\n {\n responsive_id: '',\n id: 7,\n avatar: '',\n full_name: 'Eileen Diehn',\n post: 'Environmental Specialist',\n email: 'ediehn6@163.com',\n city: 'Lampuyang',\n start_date: '10/15/2017',\n salary: '$18991.67',\n age: '59',\n experience: '9 Years',\n status: 3\n },\n {\n responsive_id: '',\n id: 8,\n avatar: 'avatar-s-9.jpg',\n full_name: 'Richardo Aldren',\n post: 'Senior Sales Associate',\n email: 'raldren7@mtv.com',\n city: 'Skoghall',\n start_date: '11/05/2016',\n salary: '$19230.13',\n age: '55',\n experience: '5 Years',\n status: 3\n },\n {\n responsive_id: '',\n id: 9,\n avatar: 'avatar-s-2.jpg',\n full_name: 'Allyson Moakler',\n post: 'Safety Technician',\n email: 'amoakler8@shareasale.com',\n city: 'Mogilany',\n start_date: '12/29/2018',\n salary: '$11677.32',\n age: '39',\n experience: '9 Years',\n status: 5\n },\n {\n responsive_id: '',\n id: 10,\n avatar: 'avatar-s-9.jpg',\n full_name: 'Merline Penhalewick',\n post: 'Junior Executive',\n email: 'mpenhalewick9@php.net',\n city: 'Kanuma',\n start_date: '04/19/2019',\n salary: '$15939.52',\n age: '23',\n experience: '3 Years',\n status: 2\n },\n {\n responsive_id: '',\n id: 11,\n avatar: '',\n full_name: 'De Falloon',\n post: 'Sales Representative',\n email: 'dfalloona@ifeng.com',\n city: 'Colima',\n start_date: '06/12/2018',\n salary: '$19252.12',\n age: '30',\n experience: '0 Year',\n status: 4\n },\n {\n responsive_id: '',\n id: 12,\n avatar: '',\n full_name: 'Cyrus Gornal',\n post: 'Senior Sales Associate',\n email: 'cgornalb@fda.gov',\n city: 'Boro Utara',\n start_date: '12/09/2017',\n salary: '$16745.47',\n age: '22',\n experience: '2 Years',\n status: 4\n },\n {\n responsive_id: '',\n id: 13,\n avatar: '',\n full_name: 'Tallou Balf',\n post: 'Staff Accountant',\n email: 'tbalfc@sina.com.cn',\n city: 'Siliana',\n start_date: '01/21/2016',\n salary: '$15488.53',\n age: '36',\n experience: '6 Years',\n status: 4\n },\n {\n responsive_id: '',\n id: 14,\n avatar: '',\n full_name: 'Othilia Extill',\n post: 'Associate Professor',\n email: 'oextilld@theatlantic.com',\n city: 'Brzyska',\n start_date: '02/01/2016',\n salary: '$18442.34',\n age: '43',\n experience: '3 Years',\n status: 2\n },\n {\n responsive_id: '',\n id: 15,\n avatar: '',\n full_name: 'Wilmar Bourton',\n post: 'Administrative Assistant',\n email: 'wbourtone@sakura.ne.jp',\n city: 'Bích Động',\n start_date: '04/25/2018',\n salary: '$13304.45',\n age: '19',\n experience: '9 Years',\n status: 5\n },\n {\n responsive_id: '',\n id: 16,\n avatar: 'avatar-s-4.jpg',\n full_name: 'Robinson Brazenor',\n post: 'General Manager',\n email: 'rbrazenorf@symantec.com',\n city: 'Gendiwu',\n start_date: '12/23/2017',\n salary: '$11953.08',\n age: '66',\n experience: '6 Years',\n status: 5\n },\n {\n responsive_id: '',\n id: 17,\n avatar: '',\n full_name: 'Nadia Bettenson',\n post: 'Environmental Tech',\n email: 'nbettensong@joomla.org',\n city: 'Chabařovice',\n start_date: '07/11/2018',\n salary: '$20484.44',\n age: '64',\n experience: '4 Years',\n status: 1\n },\n {\n responsive_id: '',\n id: 18,\n avatar: '',\n full_name: 'Titus Hayne',\n post: 'Web Designer',\n email: 'thayneh@kickstarter.com',\n city: 'Yangon',\n start_date: '05/25/2019',\n salary: '$16871.48',\n age: '59',\n experience: '9 Years',\n status: 1\n },\n {\n responsive_id: '',\n id: 19,\n avatar: 'avatar-s-5.jpg',\n full_name: 'Roxie Huck',\n post: 'Administrative Assistant',\n email: 'rhucki@ed.gov',\n city: 'Polýkastro',\n start_date: '04/04/2019',\n salary: '$19653.56',\n age: '41',\n experience: '1 Year',\n status: 4\n },\n {\n responsive_id: '',\n id: 20,\n avatar: 'avatar-s-7.jpg',\n full_name: 'Latashia Lewtey',\n post: 'Actuary',\n email: 'llewteyj@sun.com',\n city: 'Hougong',\n start_date: '08/03/2017',\n salary: '$18303.87',\n age: '35',\n experience: '5 Years',\n status: 1\n },\n {\n responsive_id: '',\n id: 21,\n avatar: '',\n full_name: 'Natalina Tyne',\n post: 'Software Engineer',\n email: 'ntynek@merriam-webster.com',\n city: 'Yanguan',\n start_date: '03/16/2019',\n salary: '$15256.40',\n age: '30',\n experience: '0 Year',\n status: 2\n },\n {\n responsive_id: '',\n id: 22,\n avatar: '',\n full_name: 'Faun Josefsen',\n post: 'Analog Circuit Design manager',\n email: 'fjosefsenl@samsung.com',\n city: 'Wengyang',\n start_date: '07/08/2017',\n salary: '$11209.16',\n age: '40',\n experience: '0 Year',\n status: 3\n },\n {\n responsive_id: '',\n id: 23,\n avatar: 'avatar-s-9.jpg',\n full_name: 'Rosmunda Steed',\n post: 'Assistant Media Planner',\n email: 'rsteedm@xing.com',\n city: 'Manzanares',\n start_date: '12/23/2017',\n salary: '$13778.34',\n age: '21',\n experience: '1 Year',\n status: 5\n },\n {\n responsive_id: '',\n id: 24,\n avatar: '',\n full_name: 'Scott Jiran',\n post: 'Graphic Designer',\n email: 'sjirann@simplemachines.org',\n city: 'Pinglin',\n start_date: '05/26/2016',\n salary: '$23081.71',\n age: '23',\n experience: '3 Years',\n status: 1\n },\n {\n responsive_id: '',\n id: 25,\n avatar: '',\n full_name: 'Carmita Medling',\n post: 'Accountant',\n email: 'cmedlingo@hp.com',\n city: 'Bourges',\n start_date: '07/31/2019',\n salary: '$13602.24',\n age: '47',\n experience: '7 Years',\n status: 3\n },\n {\n responsive_id: '',\n id: 26,\n avatar: 'avatar-s-2.jpg',\n full_name: 'Morgen Benes',\n post: 'Senior Sales Associate',\n email: 'mbenesp@ted.com',\n city: 'Cà Mau',\n start_date: '04/10/2016',\n salary: '$16969.63',\n age: '42',\n experience: '2 Years',\n status: 4\n },\n {\n responsive_id: '',\n id: 27,\n avatar: '',\n full_name: 'Onfroi Doughton',\n post: 'Civil Engineer',\n email: 'odoughtonq@aboutads.info',\n city: 'Utrecht (stad)',\n start_date: '09/29/2018',\n salary: '$23796.62',\n age: '28',\n experience: '8 Years',\n status: 3\n },\n {\n responsive_id: '',\n id: 28,\n avatar: '',\n full_name: 'Kliment McGinney',\n post: 'Chief Design Engineer',\n email: 'kmcginneyr@paginegialle.it',\n city: 'Xiaocheng',\n start_date: '07/09/2018',\n salary: '$24027.81',\n age: '28',\n experience: '8 Years',\n status: 4\n },\n {\n responsive_id: '',\n id: 29,\n avatar: '',\n full_name: 'Devin Bridgland',\n post: 'Tax Accountant',\n email: 'dbridglands@odnoklassniki.ru',\n city: 'Baoli',\n start_date: '07/17/2016',\n salary: '$13508.15',\n age: '48',\n experience: '8 Years',\n status: 3\n },\n {\n responsive_id: '',\n id: 30,\n avatar: 'avatar-s-6.jpg',\n full_name: 'Gilbert McFade',\n post: 'Biostatistician',\n email: 'gmcfadet@irs.gov',\n city: 'Deje',\n start_date: '08/28/2018',\n salary: '$21632.30',\n age: '20',\n experience: '0 Year',\n status: 2\n },\n {\n responsive_id: '',\n id: 31,\n avatar: '',\n full_name: 'Teressa Bleakman',\n post: 'Senior Editor',\n email: 'tbleakmanu@phpbb.com',\n city: 'Žebrák',\n start_date: '09/03/2016',\n salary: '$24875.41',\n age: '37',\n experience: '7 Years',\n status: 5\n },\n {\n responsive_id: '',\n id: 32,\n avatar: '',\n full_name: 'Marcelia Alleburton',\n post: 'Safety Technician',\n email: 'malleburtonv@amazon.com',\n city: 'Basail',\n start_date: '06/02/2016',\n salary: '$23888.98',\n age: '53',\n experience: '3 Years',\n status: 2\n },\n {\n responsive_id: '',\n id: 33,\n avatar: 'avatar-s-7.jpg',\n full_name: 'Aili De Coursey',\n post: 'Environmental Specialist',\n email: 'adew@etsy.com',\n city: 'Łazy',\n start_date: '09/30/2016',\n salary: '$14082.44',\n age: '27',\n experience: '7 Years',\n status: 5\n },\n {\n responsive_id: '',\n id: 34,\n avatar: 'avatar-s-6.jpg',\n full_name: 'Charlton Chatres',\n post: 'Analyst Programmer',\n email: 'cchatresx@goo.gl',\n city: 'Reguengos de Monsaraz',\n start_date: '04/07/2016',\n salary: '$21386.52',\n age: '22',\n experience: '2 Years',\n status: 3\n },\n {\n responsive_id: '',\n id: 35,\n avatar: 'avatar-s-1.jpg',\n full_name: 'Nat Hugonnet',\n post: 'Financial Advisor',\n email: 'nhugonnety@wufoo.com',\n city: 'Pimentel',\n start_date: '09/11/2019',\n salary: '$13835.97',\n age: '46',\n experience: '6 Years',\n status: 4\n },\n {\n responsive_id: '',\n id: 36,\n avatar: '',\n full_name: 'Lorine Hearsum',\n post: 'Payment Adjustment Coordinator',\n email: 'lhearsumz@google.co.uk',\n city: 'Shuiying',\n start_date: '03/05/2019',\n salary: '$22093.91',\n age: '47',\n experience: '7 Years',\n status: 4\n },\n {\n responsive_id: '',\n id: 37,\n avatar: 'avatar-s-8.jpg',\n full_name: 'Sheila-kathryn Haborn',\n post: 'Environmental Specialist',\n email: 'shaborn10@about.com',\n city: 'Lewolang',\n start_date: '11/10/2018',\n salary: '$24624.23',\n age: '51',\n experience: '1 Year',\n status: 3\n },\n {\n responsive_id: '',\n id: 38,\n avatar: 'avatar-s-3.jpg',\n full_name: 'Alma Harvatt',\n post: 'Administrative Assistant',\n email: 'aharvatt11@addtoany.com',\n city: 'Ulundi',\n start_date: '11/04/2016',\n salary: '$21782.82',\n age: '41',\n experience: '1 Year',\n status: 1\n },\n {\n responsive_id: '',\n id: 39,\n avatar: 'avatar-s-2.jpg',\n full_name: 'Beatrix Longland',\n post: 'VP Quality Control',\n email: 'blongland12@gizmodo.com',\n city: 'Damu',\n start_date: '07/18/2016',\n salary: '$22794.60',\n age: '62',\n experience: '2 Years',\n status: 2\n },\n {\n responsive_id: '',\n id: 40,\n avatar: 'avatar-s-4.jpg',\n full_name: 'Hammad Condell',\n post: 'Project Manager',\n email: 'hcondell13@tiny.cc',\n city: 'Bulung’ur',\n start_date: '11/04/2018',\n salary: '$10872.83',\n age: '37',\n experience: '7 Years',\n status: 4\n },\n {\n responsive_id: '',\n id: 41,\n avatar: '',\n full_name: 'Parker Bice',\n post: 'Technical Writer',\n email: 'pbice14@ameblo.jp',\n city: 'Shanlian',\n start_date: '03/02/2016',\n salary: '$17471.92',\n age: '65',\n experience: '5 Years',\n status: 5\n },\n {\n responsive_id: '',\n id: 42,\n avatar: '',\n full_name: 'Lowrance Orsi',\n post: 'Biostatistician',\n email: 'lorsi15@wp.com',\n city: 'Dengteke',\n start_date: '12/10/2018',\n salary: '$24719.51',\n age: '64',\n experience: '4 Years',\n status: 1\n },\n {\n responsive_id: '',\n id: 43,\n avatar: 'avatar-s-10.jpg',\n full_name: 'Ddene Chaplyn',\n post: 'Environmental Tech',\n email: 'dchaplyn16@nymag.com',\n city: 'Lattes',\n start_date: '01/23/2019',\n salary: '$11958.33',\n age: '38',\n experience: '8 Years',\n status: 2\n },\n {\n responsive_id: '',\n id: 44,\n avatar: '',\n full_name: 'Washington Bygraves',\n post: 'Human Resources Manager',\n email: 'wbygraves17@howstuffworks.com',\n city: 'Zlaté Hory',\n start_date: '09/07/2016',\n salary: '$10552.43',\n age: '37',\n experience: '7 Years',\n status: 1\n },\n {\n responsive_id: '',\n id: 45,\n avatar: 'avatar-s-7.jpg',\n full_name: 'Meghann Bodechon',\n post: 'Operator',\n email: 'mbodechon18@1und1.de',\n city: 'Itō',\n start_date: '07/23/2018',\n salary: '$23024.28',\n age: '61',\n experience: '1 Year',\n status: 4\n },\n {\n responsive_id: '',\n id: 46,\n avatar: 'avatar-s-1.jpg',\n full_name: 'Moshe De Ambrosis',\n post: 'Recruiting Manager',\n email: 'mde19@purevolume.com',\n city: 'San Diego',\n start_date: '02/10/2018',\n salary: '$10409.90',\n age: '47',\n experience: '7 Years',\n status: 5\n },\n {\n responsive_id: '',\n id: 47,\n avatar: 'avatar-s-5.jpg',\n full_name: 'Had Chatelot',\n post: 'Cost Accountant',\n email: 'hchatelot1a@usatoday.com',\n city: 'Mercedes',\n start_date: '11/23/2016',\n salary: '$11446.30',\n age: '64',\n experience: '4 Years',\n status: 4\n },\n {\n responsive_id: '',\n id: 48,\n avatar: '',\n full_name: 'Georgia McCrum',\n post: 'Registered Nurse',\n email: 'gmccrum1b@icio.us',\n city: 'Nggalak',\n start_date: '04/19/2018',\n salary: '$14002.31',\n age: '63',\n experience: '3 Years',\n status: 1\n },\n {\n responsive_id: '',\n id: 49,\n avatar: 'avatar-s-8.jpg',\n full_name: 'Krishnah Stilldale',\n post: 'VP Accounting',\n email: 'kstilldale1c@chronoengine.com',\n city: 'Slavs’ke',\n start_date: '03/18/2017',\n salary: '$10704.29',\n age: '56',\n experience: '6 Years',\n status: 1\n },\n {\n responsive_id: '',\n id: 50,\n avatar: 'avatar-s-4.jpg',\n full_name: 'Mario Umbert',\n post: 'Research Assistant',\n email: 'mumbert1d@digg.com',\n city: 'Chorotis',\n start_date: '05/13/2019',\n salary: '$21813.54',\n age: '43',\n experience: '3 Years',\n status: 1\n },\n {\n responsive_id: '',\n id: 51,\n avatar: '',\n full_name: 'Edvard Dixsee',\n post: 'Graphic Designer',\n email: 'edixsee1e@unblog.fr',\n city: 'Rancharia',\n start_date: '04/23/2019',\n salary: '$18053.11',\n age: '46',\n experience: '6 Years',\n status: 3\n },\n {\n responsive_id: '',\n id: 52,\n avatar: 'avatar-s-9.jpg',\n full_name: 'Tammie Davydoch',\n post: 'VP Quality Control',\n email: 'tdavydoch1f@examiner.com',\n city: 'Mamedkala',\n start_date: '04/19/2016',\n salary: '$17617.08',\n age: '47',\n experience: '7 Years',\n status: 3\n },\n {\n responsive_id: '',\n id: 53,\n avatar: '',\n full_name: 'Benito Rodolico',\n post: 'Safety Technician',\n email: 'brodolico1g@sciencedirect.com',\n city: 'Wonosobo',\n start_date: '10/06/2018',\n salary: '$18866.55',\n age: '21',\n experience: '1 Year',\n status: 5\n },\n {\n responsive_id: '',\n id: 54,\n avatar: '',\n full_name: 'Marco Pennings',\n post: 'Compensation Analyst',\n email: 'mpennings1h@bizjournals.com',\n city: 'Umag',\n start_date: '06/15/2017',\n salary: '$13722.18',\n age: '30',\n experience: '0 Year',\n status: 3\n },\n {\n responsive_id: '',\n id: 55,\n avatar: '',\n full_name: \"Tommie O'Corr\",\n post: 'Quality Engineer',\n email: 'tocorr1i@nyu.edu',\n city: 'Olhos de Água',\n start_date: '09/26/2018',\n salary: '$15228.80',\n age: '51',\n experience: '1 Year',\n status: 1\n },\n {\n responsive_id: '',\n id: 56,\n avatar: 'avatar-s-1.jpg',\n full_name: 'Cybill Poyle',\n post: 'Cost Accountant',\n email: 'cpoyle1j@amazon.com',\n city: 'Hamm',\n start_date: '01/03/2016',\n salary: '$13951.96',\n age: '29',\n experience: '9 Years',\n status: 1\n },\n {\n responsive_id: '',\n id: 57,\n avatar: 'avatar-s-6.jpg',\n full_name: 'Norry Stoller',\n post: 'Human Resources Manager',\n email: 'nstoller1k@noaa.gov',\n city: 'Ruukki',\n start_date: '02/04/2018',\n salary: '$15100.00',\n age: '27',\n experience: '7 Years',\n status: 4\n },\n {\n responsive_id: '',\n id: 58,\n avatar: '',\n full_name: 'Wendi Somerlie',\n post: 'Systems Administrator',\n email: 'wsomerlie1l@accuweather.com',\n city: 'Meicheng',\n start_date: '04/22/2016',\n salary: '$20023.52',\n age: '28',\n experience: '9 Years',\n status: 5\n },\n {\n responsive_id: '',\n id: 59,\n avatar: '',\n full_name: 'Ferdie Georgeon',\n post: 'Geologist',\n email: 'fgeorgeon1m@nhs.uk',\n city: 'Tanahbeureum',\n start_date: '04/08/2019',\n salary: '$12630.26',\n age: '28',\n experience: '1 Year',\n status: 2\n },\n {\n responsive_id: '',\n id: 60,\n avatar: '',\n full_name: 'Jules Auten',\n post: 'Desktop Support Technician',\n email: 'jauten1n@foxnews.com',\n city: 'Mojo',\n start_date: '08/13/2019',\n salary: '$13870.62',\n age: '48',\n experience: '5 Years',\n status: 4\n },\n {\n responsive_id: '',\n id: 61,\n avatar: 'avatar-s-3.jpg',\n full_name: 'Nichole Dacres',\n post: 'Mechanical Systems Engineer',\n email: 'ndacres1o@apache.org',\n city: 'Kimanuit',\n start_date: '11/06/2017',\n salary: '$18220.51',\n age: '20',\n experience: '0 Year',\n status: 3\n },\n {\n responsive_id: '',\n id: 62,\n avatar: 'avatar-s-1.jpg',\n full_name: 'Holly Edgworth',\n post: 'Junior Executive',\n email: 'hedgworth1p@craigslist.org',\n city: 'Pedreira',\n start_date: '08/05/2017',\n salary: '$13999.88',\n age: '37',\n experience: '0 Year',\n status: 5\n },\n {\n responsive_id: '',\n id: 63,\n avatar: 'avatar-s-9.jpg',\n full_name: 'Henriette Croft',\n post: 'Food Chemist',\n email: 'hcroft1q@desdev.cn',\n city: 'Taizhou',\n start_date: '09/12/2019',\n salary: '$11049.79',\n age: '53',\n experience: '1 Year',\n status: 5\n },\n {\n responsive_id: '',\n id: 64,\n avatar: '',\n full_name: 'Annetta Glozman',\n post: 'Staff Accountant',\n email: 'aglozman1r@storify.com',\n city: 'Pendawanbaru',\n start_date: '08/25/2017',\n salary: '$10745.32',\n age: '27',\n experience: '3 Years',\n status: 5\n },\n {\n responsive_id: '',\n id: 65,\n avatar: '',\n full_name: 'Cletis Cervantes',\n post: 'Health Coach',\n email: 'ccervantes1s@de.vu',\n city: 'Solnechnyy',\n start_date: '05/24/2018',\n salary: '$24769.08',\n age: '22',\n experience: '7 Years',\n status: 1\n },\n {\n responsive_id: '',\n id: 66,\n avatar: 'avatar-s-9.jpg',\n full_name: 'Christos Kiley',\n post: 'Geologist',\n email: 'ckiley1t@buzzfeed.com',\n city: 'El Bolsón',\n start_date: '02/27/2019',\n salary: '$16053.15',\n age: '46',\n experience: '2 Years',\n status: 1\n },\n {\n responsive_id: '',\n id: 67,\n avatar: 'avatar-s-7.jpg',\n full_name: 'Silvain Siebert',\n post: 'VP Sales',\n email: 'ssiebert1u@domainmarket.com',\n city: 'Cadiz',\n start_date: '09/23/2017',\n salary: '$23347.17',\n age: '47',\n experience: '8 Years',\n status: 5\n },\n {\n responsive_id: '',\n id: 68,\n avatar: '',\n full_name: 'Sharla Ibberson',\n post: 'Payment Adjustment Coordinator',\n email: 'sibberson1v@virginia.edu',\n city: 'Lamam',\n start_date: '11/01/2016',\n salary: '$15658.40',\n age: '51',\n experience: '8 Years',\n status: 1\n },\n {\n responsive_id: '',\n id: 69,\n avatar: 'avatar-s-7.jpg',\n full_name: 'Ripley Rentcome',\n post: 'Physical Therapy Assistant',\n email: 'rrentcome1w@youtu.be',\n city: 'Dashkawka',\n start_date: '07/15/2018',\n salary: '$15396.66',\n age: '41',\n experience: '8 Years',\n status: 2\n },\n {\n responsive_id: '',\n id: 70,\n avatar: '',\n full_name: 'Chrisse Birrane',\n post: 'Chemical Engineer',\n email: 'cbirrane1x@google.com.br',\n city: 'Las Toscas',\n start_date: '05/22/2016',\n salary: '$15823.40',\n age: '62',\n experience: '0 Year',\n status: 5\n },\n {\n responsive_id: '',\n id: 71,\n avatar: '',\n full_name: 'Georges Tesyro',\n post: 'Human Resources Manager',\n email: 'gtesyro1y@last.fm',\n city: 'Gabao',\n start_date: '01/27/2019',\n salary: '$19051.25',\n age: '37',\n experience: '7 Years',\n status: 1\n },\n {\n responsive_id: '',\n id: 72,\n avatar: '',\n full_name: 'Bondon Hazard',\n post: 'Geological Engineer',\n email: 'bhazard1z@over-blog.com',\n city: 'Llano de Piedra',\n start_date: '01/17/2019',\n salary: '$11632.84',\n age: '65',\n experience: '3 Years',\n status: 4\n },\n {\n responsive_id: '',\n id: 73,\n avatar: 'avatar-s-5.jpg',\n full_name: 'Aliza MacElholm',\n post: 'VP Sales',\n email: 'amacelholm20@printfriendly.com',\n city: 'Sosnovyy Bor',\n start_date: '11/17/2017',\n salary: '$16741.31',\n age: '64',\n experience: '7 Years',\n status: 2\n },\n {\n responsive_id: '',\n id: 74,\n avatar: 'avatar-s-2.jpg',\n full_name: 'Lucas Witherdon',\n post: 'Senior Quality Engineer',\n email: 'lwitherdon21@storify.com',\n city: 'Staré Křečany',\n start_date: '09/26/2016',\n salary: '$19387.76',\n age: '38',\n experience: '2 Years',\n status: 3\n },\n {\n responsive_id: '',\n id: 75,\n avatar: '',\n full_name: 'Pegeen Peasegod',\n post: 'Web Designer',\n email: 'ppeasegod22@slideshare.net',\n city: 'Keda',\n start_date: '05/21/2016',\n salary: '$24014.04',\n age: '59',\n experience: '6 Years',\n status: 3\n },\n {\n responsive_id: '',\n id: 76,\n avatar: '',\n full_name: 'Elyn Watkinson',\n post: 'Structural Analysis Engineer',\n email: 'ewatkinson23@blogspot.com',\n city: 'Osan',\n start_date: '09/30/2016',\n salary: '$14493.51',\n age: '55',\n experience: '7 Years',\n status: 1\n },\n {\n responsive_id: '',\n id: 77,\n avatar: 'avatar-s-10.jpg',\n full_name: 'Babb Skirving',\n post: 'Analyst Programmer',\n email: 'bskirving24@cbsnews.com',\n city: 'Balky',\n start_date: '09/27/2016',\n salary: '$24733.28',\n age: '39',\n experience: '1 Year',\n status: 4\n },\n {\n responsive_id: '',\n id: 78,\n avatar: '',\n full_name: 'Shelli Ondracek',\n post: 'Financial Advisor',\n email: 'sondracek25@plala.or.jp',\n city: 'Aoluguya Ewenke Minzu',\n start_date: '03/28/2016',\n salary: '$21922.17',\n age: '23',\n experience: '1 Year',\n status: 3\n },\n {\n responsive_id: '',\n id: 79,\n avatar: 'avatar-s-9.jpg',\n full_name: 'Stanislaw Melloy',\n post: 'Sales Associate',\n email: 'smelloy26@fastcompany.com',\n city: 'Funafuti',\n start_date: '04/13/2017',\n salary: '$16944.42',\n age: '30',\n experience: '2 Years',\n status: 2\n },\n {\n responsive_id: '',\n id: 80,\n avatar: '',\n full_name: 'Seamus Eisikovitsh',\n post: 'Legal Assistant',\n email: 'seisikovitsh27@usgs.gov',\n city: 'Cangkringan',\n start_date: '05/28/2018',\n salary: '$21963.69',\n age: '22',\n experience: '7 Years',\n status: 1\n },\n {\n responsive_id: '',\n id: 81,\n avatar: 'avatar-s-2.jpg',\n full_name: 'Tammie Wattins',\n post: 'Web Designer',\n email: 'twattins28@statcounter.com',\n city: 'Xilin',\n start_date: '08/07/2018',\n salary: '$16049.93',\n age: '36',\n experience: '5 Years',\n status: 2\n },\n {\n responsive_id: '',\n id: 82,\n avatar: 'avatar-s-8.jpg',\n full_name: 'Aila Quailadis',\n post: 'Technical Writer',\n email: 'aquail29@prlog.org',\n city: 'Shuangchahe',\n start_date: '02/11/2018',\n salary: '$24137.29',\n age: '43',\n experience: '4 Years',\n status: 4\n },\n {\n responsive_id: '',\n id: 83,\n avatar: '',\n full_name: 'Myrvyn Gilogly',\n post: 'Research Associate',\n email: 'mgilogly2a@elpais.com',\n city: 'Prince Rupert',\n start_date: '05/13/2018',\n salary: '$10089.96',\n age: '19',\n experience: '8 Years',\n status: 4\n },\n {\n responsive_id: '',\n id: 84,\n avatar: 'avatar-s-5.jpg',\n full_name: 'Hanna Langthorne',\n post: 'Analyst Programmer',\n email: 'hlangthorne2b@stumbleupon.com',\n city: 'Guaynabo',\n start_date: '11/11/2018',\n salary: '$14227.10',\n age: '21',\n experience: '7 Years',\n status: 3\n },\n {\n responsive_id: '',\n id: 85,\n avatar: '',\n full_name: 'Ruby Gimblet',\n post: 'Registered Nurse',\n email: 'rgimblet2c@1688.com',\n city: 'Nanyulinxi',\n start_date: '03/28/2016',\n salary: '$19562.59',\n age: '30',\n experience: '1 Year',\n status: 2\n },\n {\n responsive_id: '',\n id: 86,\n avatar: 'avatar-s-4.jpg',\n full_name: 'Louis Paszak',\n post: 'Programmer',\n email: 'lpaszak2d@behance.net',\n city: 'Chiscas',\n start_date: '04/25/2016',\n salary: '$17178.86',\n age: '51',\n experience: '7 Years',\n status: 5\n },\n {\n responsive_id: '',\n id: 87,\n avatar: '',\n full_name: 'Glennie Riolfi',\n post: 'Computer Systems Analyst',\n email: 'griolfi2e@drupal.org',\n city: 'Taung',\n start_date: '06/18/2018',\n salary: '$15089.83',\n age: '29',\n experience: '4 Years',\n status: 3\n },\n {\n responsive_id: '',\n id: 88,\n avatar: '',\n full_name: 'Jemimah Morgan',\n post: 'Staff Accountant',\n email: 'jmorgan2f@nifty.com',\n city: 'La Esperanza',\n start_date: '01/17/2016',\n salary: '$18330.72',\n age: '27',\n experience: '3 Years',\n status: 1\n },\n {\n responsive_id: '',\n id: 89,\n avatar: 'avatar-s-10.jpg',\n full_name: 'Talya Brandon',\n post: 'Food Chemist',\n email: 'tbrandon2g@ucoz.com',\n city: 'Zaječar',\n start_date: '10/08/2018',\n salary: '$16284.64',\n age: '28',\n experience: '6 Years',\n status: 1\n },\n {\n responsive_id: '',\n id: 90,\n avatar: 'avatar-s-6.jpg',\n full_name: 'Renate Shay',\n post: 'Recruiter',\n email: 'rshay2h@tumblr.com',\n city: 'Pueblo Viejo',\n start_date: '03/15/2017',\n salary: '$18523.75',\n age: '28',\n experience: '3 Years',\n status: 1\n },\n {\n responsive_id: '',\n id: 91,\n avatar: '',\n full_name: 'Julianne Bartosik',\n post: 'Senior Cost Accountant',\n email: 'jbartosik2i@state.gov',\n city: 'Botlhapatlou',\n start_date: '02/06/2017',\n salary: '$17607.66',\n age: '48',\n experience: '6 Years',\n status: 3\n },\n {\n responsive_id: '',\n id: 92,\n avatar: 'avatar-s-3.jpg',\n full_name: 'Yvonne Emberton',\n post: 'Recruiter',\n email: 'yemberton2j@blog.com',\n city: 'Nagcarlan',\n start_date: '02/13/2017',\n salary: '$17550.18',\n age: '20',\n experience: '1 Year',\n status: 4\n },\n {\n responsive_id: '',\n id: 93,\n avatar: 'avatar-s-8.jpg',\n full_name: 'Danya Faichnie',\n post: 'Social Worker',\n email: 'dfaichnie2k@weather.com',\n city: 'Taling',\n start_date: '07/29/2019',\n salary: '$18469.35',\n age: '37',\n experience: '3 Years',\n status: 4\n },\n {\n responsive_id: '',\n id: 94,\n avatar: '',\n full_name: 'Ronica Hasted',\n post: 'Software Consultant',\n email: 'rhasted2l@hexun.com',\n city: 'Gangkou',\n start_date: '07/04/2019',\n salary: '$24866.66',\n age: '53',\n experience: '7 Years',\n status: 4\n },\n {\n responsive_id: '',\n id: 95,\n avatar: 'avatar-s-2.jpg',\n full_name: 'Edwina Ebsworth',\n post: 'Human Resources Assistant',\n email: 'eebsworth2m@sbwire.com',\n city: 'Puzi',\n start_date: '09/27/2018',\n salary: '$19586.23',\n age: '27',\n experience: '2 Years',\n status: 1\n },\n {\n responsive_id: '',\n id: 96,\n avatar: '',\n full_name: 'Alaric Beslier',\n post: 'Tax Accountant',\n email: 'abeslier2n@zimbio.com',\n city: 'Ocucaje',\n start_date: '04/16/2017',\n salary: '$19366.53',\n age: '22',\n experience: '8 Years',\n status: 4\n },\n {\n responsive_id: '',\n id: 97,\n avatar: '',\n full_name: 'Reina Peckett',\n post: 'Quality Control Specialist',\n email: 'rpeckett2o@timesonline.co.uk',\n city: 'Anyang',\n start_date: '05/20/2018',\n salary: '$16619.40',\n age: '46',\n experience: '8 Years',\n status: 4\n },\n {\n responsive_id: '',\n id: 98,\n avatar: 'avatar-s-7.jpg',\n full_name: 'Olivette Gudgin',\n post: 'Paralegal',\n email: 'ogudgin2p@gizmodo.com',\n city: 'Fujinomiya',\n start_date: '04/09/2019',\n salary: '$15211.60',\n age: '47',\n experience: '8 Years',\n status: 2\n },\n {\n responsive_id: '',\n id: 99,\n avatar: 'avatar-s-10.jpg',\n full_name: 'Evangelina Carnock',\n post: 'Cost Accountant',\n email: 'ecarnock2q@washington.edu',\n city: 'Doushaguan',\n start_date: '01/26/2017',\n salary: '$23704.82',\n age: '51',\n experience: '0 Year',\n status: 4\n },\n {\n responsive_id: '',\n id: 100,\n avatar: '',\n full_name: 'Glyn Giacoppo',\n post: 'Software Test Engineer',\n email: 'ggiacoppo2r@apache.org',\n city: 'Butha-Buthe',\n start_date: '04/15/2017',\n salary: '$24973.48',\n age: '41',\n experience: '7 Years',\n status: 2\n }\n ];\n}\n","export class EcommerceFakeData {\n public static products = [\n {\n id: 1,\n name: 'VicTsing Wireless Mouse,',\n slug: 'vic-tsing-wireless-mouse-1',\n description:\n 'After thousands of samples of palm data, we designed this ergonomic mouse. The laptop mouse has a streamlined arc and thumb rest to help reduce the stress caused by prolonged use of the laptop mouse.',\n brand: 'VicTsing',\n price: 10.99,\n image: 'assets/images/pages/eCommerce/27.png',\n hasFreeShipping: true,\n rating: 3\n },\n {\n id: 2,\n name: 'Bose Frames Tenor - Rectangular Polarized, Bluetooth Audio Sunglasses',\n slug: 'bose-frames-tenor-rectangular-polarized-bluetooth-audio-sunglasses-2',\n description:\n 'Redesigned for luxury — Thoughtfully refined and strikingly elegant, the latest Bose sunglasses blend enhanced features and designs for an elevated way to listen',\n brand: 'Bose',\n price: 249.0,\n image: 'assets/images/pages/eCommerce/26.png',\n hasFreeShipping: false,\n rating: 4\n },\n {\n id: 3,\n name: 'Willful Smart Watch for Men Women 2020,',\n slug: 'willful-smart-watch-for-men-women-2020-3',\n description:\n 'Are you looking for a smart watch, which can not only easily keep tracking of your steps, calories, heart rate and sleep quality, but also keep you informed of incoming calls.',\n brand: 'Willful',\n price: 29.99,\n image: 'assets/images/pages/eCommerce/25.png',\n hasFreeShipping: true,\n rating: 5\n },\n {\n id: 4,\n name: 'Ronyes Unisex College Bag Bookbags for Women',\n slug: 'ronyes-unisex-college-bag-bookbags-for-women-4',\n description:\n 'Made of high quality water-resistant material, padded and adjustable shoulder straps, external USB with built-in charging cable offers a convenient charging',\n brand: 'Ronyes',\n price: 23.99,\n image: 'assets/images/pages/eCommerce/24.png',\n hasFreeShipping: true,\n rating: 2\n },\n {\n id: 5,\n name: 'Toshiba Canvio Advance 2TB Portable External Hard Drive',\n slug: 'toshiba-canvio-advance-2-tb-portable-external-hard-drive-5',\n description: 'Up to 3TB of storage capacity to store your growing files and content',\n brand: 'Toshiba',\n price: 69.99,\n image: 'assets/images/pages/eCommerce/23.png',\n hasFreeShipping: true,\n rating: 2\n },\n {\n id: 6,\n name: 'Tile Pro - High Performance Bluetooth Tracker',\n slug: 'tile-pro-high-performance-bluetooth-tracker-6',\n description:\n 'FIND KEYS, BAGS & MORE -- Pro is our high-performance finder ideal for keys, backpacks, luggage or any other items you want to keep track of. The easy-to-use finder and free app work with iOS and Android.',\n brand: 'Tile',\n price: 29.99,\n image: 'assets/images/pages/eCommerce/22.png',\n hasFreeShipping: false,\n rating: 4\n },\n {\n id: 7,\n name: 'Bugani M90 Portable Bluetooth Speaker',\n slug: 'bugani-m90-portable-bluetooth-speaker-7',\n description:\n 'Bluetooth Speakers-The M90 Bluetooth speaker uses the latest Bluetooth 5.0 technology and the latest Bluetooth ATS chip, Connecting over Bluetooth in seconds to iPhone, iPad, Smart-phones, Tablets, Windows, and other Bluetooth devices.',\n brand: 'Bugani',\n price: 56.0,\n image: 'assets/images/pages/eCommerce/21.png',\n hasFreeShipping: false,\n rating: 3\n },\n {\n id: 8,\n name: 'PlayStation 4 Console',\n slug: 'play-station-4-console-8',\n description:\n 'All the greatest, games, TV, music and more. Connect with your friends to broadcast and celebrate your epic moments at the press of the Share button to Twitch, YouTube, Facebook and Twitter.',\n brand: 'Sony',\n price: 339.95,\n image: 'assets/images/pages/eCommerce/20.png',\n hasFreeShipping: false,\n rating: 4\n },\n {\n id: 9,\n name: 'Giotto 32oz Leakproof BPA Free Drinking Water',\n slug: 'giotto-32oz-leakproof-bpa-free-drinking-water-9',\n description:\n 'With unique inspirational quote and time markers on it,this water bottle is great for measuring your daily intake of water,reminding you stay hydrated and drink enough water throughout the day.A must have for any fitness goals including weight loss,appetite control and overall health.',\n brand: '3M',\n price: 16.99,\n image: 'assets/images/pages/eCommerce/19.png',\n hasFreeShipping: true,\n rating: 4\n },\n {\n id: 10,\n name: 'Oculus Quest All-in-one VR',\n slug: 'oculus-quest-all-in-one-vr-10',\n description:\n 'All-in-one VR: No PC. No wires. No limits. Oculus quest is an all-in-one gaming system built for virtual reality. Now you can play almost anywhere with just a VR headset and controllers. Oculus touch controllers: arm yourself with the award-winning Oculus touch controllers. Your slashes, throws and grab appear in VR with intuitive, realistic Precision, transporting your hands and gestures right into the game',\n brand: 'Oculus',\n price: 645.0,\n image: 'assets/images/pages/eCommerce/18.png',\n hasFreeShipping: false,\n rating: 1\n },\n {\n id: 11,\n name: 'Handbags for Women Large Designer bag',\n slug: 'handbags-for-women-large-designer-bag-11',\n description:\n 'Classic Hobo Purse: Top zipper closure, with 2 side zipper pockets design and elegant tassels decoration, fashionable and practical handbags for women, perfect for shopping, dating, travel and business',\n brand: 'Hobo',\n price: 39.99,\n image: 'assets/images/pages/eCommerce/17.png',\n hasFreeShipping: true,\n rating: 3\n },\n {\n id: 12,\n name: 'Adidas Mens Tech Response Shoes',\n slug: 'adidas-mens-tech-response-shoes-12',\n description:\n 'Comfort + performance. Designed with materials that are durable, lightweight and extremely comfortable. Core performance delivers the perfect mix of fit, style and all-around performance.',\n brand: 'Adidas',\n price: 54.59,\n image: 'assets/images/pages/eCommerce/16.png',\n hasFreeShipping: false,\n rating: 5\n },\n {\n id: 13,\n name: 'Laptop Bag',\n slug: 'laptop-bag-13',\n description:\n 'TSA FRIENDLY- A separate DIGI SMART compartment can hold 15.6 inch Laptop as well as 15 inch, 14 inch Macbook, 12.9 inch iPad, and tech accessories like charger for quick TSA checkpoint when traveling',\n brand: 'TAS',\n price: 29.99,\n image: 'assets/images/pages/eCommerce/15.png',\n hasFreeShipping: true,\n rating: 5\n },\n {\n id: 14,\n name: 'Wireless Charger 5W Max',\n slug: 'wireless-charger-5-w-max-14',\n description:\n 'Charge with case: transmits charging power directly through protective cases. Rubber/plastic/TPU cases under 5 mm thickness . Do not use any magnetic and metal attachments or cards, or it will prevent charging.',\n brand: '3M',\n price: 10.83,\n image: 'assets/images/pages/eCommerce/14.png',\n hasFreeShipping: true,\n rating: 3\n },\n {\n id: 15,\n name: 'Vankyo leisure 3 mini projector',\n slug: '3-m-filtrete-vacuum-belt-for-select-hoover-t-series-upright-vacuums-15',\n description:\n 'SUPERIOR VIEWING EXPERIENCE: Supporting 1920x1080 resolution, VANKYO Leisure 3 projector is powered by MStar Advanced Color Engine, which is ideal for home entertainment. 2020 upgraded LED lighting provides a superior viewing experience for you.',\n brand: 'Vankyo Store',\n price: 99.99,\n image: 'assets/images/pages/eCommerce/13.png',\n hasFreeShipping: true,\n rating: 2\n },\n {\n id: 16,\n name: 'New Apple iPad Pro',\n slug: '3-m-hoover-y-z-pet-micro-allergen-vacuum-bag-for-select-hoover-vacuums-3-pack-16',\n description:\n 'Up to 10 hours of surfing the web on Wi‑Fi, watching video, or listening to music. Up to 9 hours of surfing the web using cellular data network, Compatible with Smart Keyboard Folio and Bluetooth keyboards',\n brand: 'Apple',\n price: 799.99,\n image: 'assets/images/pages/eCommerce/12.png',\n hasFreeShipping: false,\n rating: 3\n },\n {\n id: 17,\n name: 'Nike Air Max',\n slug: '72-9301-speaker-wire-harness-adapter-for-most-plymouth-dodge-and-mitsubishi-vehicles-multi-17',\n description:\n 'With a bold application of colorblocking inspired by modern art styles, the Nike Air Max 270 React sneaker is constructed with layers of lightweight material to achieve its artful look and comfortable feel.',\n brand: 'Nike',\n price: 81.99,\n image: 'assets/images/pages/eCommerce/11.png',\n hasFreeShipping: true,\n rating: 5\n },\n {\n id: 18,\n name: 'Logitech K380 Wireless Keyboard',\n slug: 'acer-11-6-chromebook-intel-celeron-2-gb-memory-16-gb-e-mmc-flash-memory-moonstone-white-18',\n description:\n 'Logitech K380 Bluetooth Wireless Keyboard gives you the comfort and convenience of desktop typing on your smartphone, and tablet. It is a wireless keyboard that connects to all Bluetooth wireless devices that support external keyboards. Take this compact, lightweight, Bluetooth keyboard anywhere in your home. Type wherever you like, on any compatible computer, phone or tablet.',\n brand: 'Logitech',\n price: 81.99,\n image: 'assets/images/pages/eCommerce/10.png',\n hasFreeShipping: false,\n rating: 4\n },\n {\n id: 19,\n name: 'OnePlus 7 Pro ',\n slug: 'one-plus-7-pro-19',\n brand: 'Philips',\n price: 14.99,\n image: 'assets/images/pages/eCommerce/9.png',\n hasFreeShipping: false,\n rating: 4,\n description: `The OnePlus 7 Pro features a brand new design, with a glass back and front and curved sides. The phone feels\n very premium but’s it’s also very heavy. The Nebula Blue variant looks slick but it’s quite slippery, which\n makes single-handed use a real challenge. It has a massive 6.67-inch ‘Fluid AMOLED’ display with a QHD+\n resolution, 90Hz refresh rate and support for HDR 10+ content. The display produces vivid colours, deep blacks\n and has good viewing angles.`\n },\n {\n id: 20,\n name: 'Sony 4K Ultra HD LED TV ',\n slug: 'sony-4-k-ultra-hd-led-tv-20',\n brand: 'Apple',\n price: 7999.99,\n image: 'assets/images/pages/eCommerce/8.png',\n hasFreeShipping: false,\n rating: 5,\n description: `Sony 4K Ultra HD LED TV has 4K HDR Support. The TV provides clear visuals and provides distinct sound quality\n and an immersive experience. This TV has Yes HDMI ports & Yes USB ports. Connectivity options included are HDMI.\n You can connect various gadgets such as your laptop using the HDMI port. The TV comes with a 1 Year warranty.`\n },\n {\n id: 21,\n name: 'Google - Google Home - White/Slate fabric',\n slug: 'google-google-home-white-slate-fabric-21',\n brand: 'Google',\n price: 129.29,\n image: 'assets/images/pages/eCommerce/7.png',\n hasFreeShipping: true,\n rating: 4,\n description: `Simplify your everyday life with the Google Home, a voice-activated speaker powered by the Google Assistant. Use\n voice commands to enjoy music, get answers from Google and manage everyday tasks. Google Home is compatible with\n Android and iOS operating systems, and can control compatible smart devices such as Chromecast or Nest.`\n },\n {\n id: 22,\n name: 'Switch Pro Controller',\n slug: 'switch-pro-controller-22',\n brand: 'Sharp',\n price: 429.99,\n image: 'assets/images/pages/eCommerce/6.png',\n hasFreeShipping: false,\n rating: 3,\n description: `The Nintendo Switch Pro Controller is one of the priciest \"baseline\" controllers in the current console\n generation, but it's also sturdy, feels good to play with, has an excellent direction pad, and features\n impressive motion sensors and vibration systems. On top of all of that, it uses Bluetooth, so you don't need an\n adapter to use it with your PC.`\n },\n {\n id: 23,\n name: 'Apple - MacBook Air® (Latest Model) - 13.3\" Display - Silver',\n slug: 'apple-mac-book-air-latest-model-13-3-display-silver-23',\n brand: 'Apple',\n price: 999.99,\n image: 'assets/images/pages/eCommerce/5.png',\n hasFreeShipping: false,\n rating: 4,\n description: `MacBook Air is a thin, lightweight laptop from Apple. MacBook Air features up to 8GB of memory, a\n fifth-generation Intel Core processor, Thunderbolt 2, great built-in apps, and all-day battery life.1 Its thin,\n light, and durable enough to take everywhere you go-and powerful enough to do everything once you get there,\n better.`\n },\n {\n id: 24,\n name: 'OneOdio A71 Wired Headphones',\n slug: 'one-odio-a71-wired-headphones-24',\n brand: 'OneOdio',\n price: 49.99,\n image: 'assets/images/pages/eCommerce/4.png',\n hasFreeShipping: true,\n rating: 3,\n description: `Omnidirectional detachable boom mic upgrades the headphones into a professional headset for gaming, business,\n podcasting and taking calls on the go. Better pick up your voice. Control most electric devices through voice\n activation, or schedule a ride with Uber and order a pizza. OneOdio A71 Wired Headphones voice-controlled device\n turns any home into a smart device on a smartphone or tablet.`\n },\n {\n id: 25,\n name: 'Apple iMac 27-inch',\n slug: 'apple-i-mac-27-inch-25',\n brand: 'Apple',\n price: 999.99,\n image: 'assets/images/pages/eCommerce/3.png',\n hasFreeShipping: true,\n rating: 4,\n description: `The all-in-one for all. If you can dream it, you can do it on iMac. It’s beautifully & incredibly intuitive and\n packed with tools that let you take any idea to the next level. And the new 27-inch model elevates the\n experience in way, with faster processors and graphics, expanded memory and storage, enhanced audio and video\n capabilities, and an even more stunning Retina 5K display. It’s the desktop that does it all — better and faster\n than ever.`\n },\n {\n id: 26,\n name: 'Apple iPhone 11 (64GB, Black)',\n slug: 'apple-i-phone-11-64-gb-black-26',\n brand: 'Apple',\n price: 669.99,\n image: 'assets/images/pages/eCommerce/2.png',\n hasFreeShipping: true,\n rating: 5,\n description: `The Apple iPhone 11 is a great smartphone, which was loaded with a lot of quality features. It comes with a\n waterproof and dustproof body which is the key attraction of the device. The excellent set of cameras offer\n excellent images as well as capable of recording crisp videos. However, expandable storage and a fingerprint\n scanner would have made it a perfect option to go for around this price range.`\n },\n {\n id: 27,\n name: 'Apple Watch Series 5',\n slug: 'apple-watch-series-5-27',\n brand: 'Apple',\n price: 339.99,\n image: 'assets/images/pages/eCommerce/1.png',\n hasFreeShipping: true,\n rating: 4,\n description: `On Retina display that never sleeps, so it’s easy to see the time and other important information, without\n raising or tapping the display. New location features, from a built-in compass to current elevation, help users\n better navigate their day, while international emergency calling1 allows customers to call emergency services\n directly from Apple Watch in over 150 countries, even without iPhone nearby. Apple Watch Series 5 is available\n in a wider range of materials, including aluminium, stainless steel, ceramic and an all-new titanium.`\n }\n ];\n\n public static relatedProducts = [\n {\n id: 3,\n name: 'Willful Smart Watch for Men Women 2020,',\n slug: 'willful-smart-watch-for-men-women-2020-3',\n description:\n 'Are you looking for a smart watch, which can not only easily keep tracking of your steps, calories, heart rate and sleep quality, but also keep you informed of incoming calls.',\n brand: 'Willful',\n price: 29.99,\n image: 'assets/images/pages/eCommerce/25.png',\n hasFreeShipping: true,\n rating: 5\n },\n {\n id: 4,\n name: 'Ronyes Unisex College Bag Bookbags for Women',\n slug: 'ronyes-unisex-college-bag-bookbags-for-women-4',\n description:\n 'Made of high quality water-resistant material, padded and adjustable shoulder straps, external USB with built-in charging cable offers a convenient charging',\n brand: 'Ronyes',\n price: 23.99,\n image: 'assets/images/pages/eCommerce/24.png',\n hasFreeShipping: true,\n rating: 2\n },\n {\n id: 5,\n name: 'Toshiba Canvio Advance 2TB Portable External Hard Drive',\n slug: 'toshiba-canvio-advance-2-tb-portable-external-hard-drive-5',\n description: 'Up to 3TB of storage capacity to store your growing files and content',\n brand: 'Toshiba',\n price: 69.99,\n image: 'assets/images/pages/eCommerce/23.png',\n hasFreeShipping: true,\n rating: 2\n },\n {\n id: 6,\n name: 'Tile Pro - High Performance Bluetooth Tracker',\n slug: 'tile-pro-high-performance-bluetooth-tracker-6',\n description:\n 'FIND KEYS, BAGS & MORE -- Pro is our high-performance finder ideal for keys, backpacks, luggage or any other items you want to keep track of. The easy-to-use finder and free app work with iOS and Android.',\n brand: 'Tile',\n price: 29.99,\n image: 'assets/images/pages/eCommerce/22.png',\n hasFreeShipping: false,\n rating: 4\n },\n {\n id: 7,\n name: 'Bugani M90 Portable Bluetooth Speaker',\n slug: 'bugani-m90-portable-bluetooth-speaker-7',\n description:\n 'Bluetooth Speakers-The M90 Bluetooth speaker uses the latest Bluetooth 5.0 technology and the latest Bluetooth ATS chip, Connecting over Bluetooth in seconds to iPhone, iPad, Smart-phones, Tablets, Windows, and other Bluetooth devices.',\n brand: 'Bugani',\n price: 56.0,\n image: 'assets/images/pages/eCommerce/21.png',\n hasFreeShipping: false,\n rating: 3\n },\n {\n id: 8,\n name: 'PlayStation 4 Console',\n slug: 'play-station-4-console-8',\n description:\n 'All the greatest, games, TV, music and more. Connect with your friends to broadcast and celebrate your epic moments at the press of the Share button to Twitch, YouTube, Facebook and Twitter.',\n brand: 'Sony',\n price: 339.95,\n image: 'assets/images/pages/eCommerce/20.png',\n hasFreeShipping: false,\n rating: 4\n }\n ];\n\n public static userWishlist = [\n { id: 0, productId: 26 },\n { id: 1, productId: 23 },\n { id: 2, productId: 11 },\n { id: 3, productId: 10 },\n { id: 4, productId: 5 },\n { id: 5, productId: 8 },\n { id: 6, productId: 9 },\n { id: 7, productId: 13 },\n { id: 8, productId: 17 }\n ];\n public static userCart = [\n { id: 0, productId: 27, qty: 1 },\n { id: 1, productId: 21, qty: 1 },\n { id: 2, productId: 26, qty: 1 },\n { id: 3, productId: 25, qty: 1 },\n { id: 4, productId: 23, qty: 1 }\n ];\n}\n","export class EmailFakeData {\n public static emails = [\n {\n id: 1,\n from: {\n email: 'tommys@mail.com',\n name: 'Tommy Sicilia',\n avatar: 'assets/images/avatars/1.png'\n },\n to: [\n {\n name: 'me',\n email: 'johndoe@mail.com'\n }\n ],\n subject: 'Theme Update',\n cc: [],\n bcc: [],\n message:\n '

    Hi John,

    Biscuit lemon drops marshmallow. Cotton candy marshmallow bear claw. Dragée tiramisu cookie cotton candy. Carrot cake sweet roll I love macaroon wafer jelly soufflé I love dragée. Jujubes jelly I love carrot cake topping I love. Sweet candy I love chupa chups dragée. Tart I love gummies. Chocolate bar carrot cake candy wafer candy canes oat cake I love. Sesame snaps icing pudding sweet roll marshmallow. Cupcake brownie sweet roll chocolate bar I love gummies. Biscuit biscuit macaroon sesame snaps macaroon icing I love soufflé caramels. Apple pie candy jelly. I love icing gummi bears jelly-o pie muffin apple pie.

    Marshmallow halvah brownie cake marzipan ice cream marshmallow. I love lollipop toffee croissant liquorice wafer muffin. Lollipop jelly beans caramels lollipop tootsie roll pudding pie macaroon tootsie roll. Oat cake jujubes gummies cake cake powder cupcake soufflé muffin. Chocolate caramels muffin tart. Jelly beans caramels dessert cotton candy liquorice chocolate cake. Chupa chups muffin bear claw I love. Biscuit jujubes soufflé tart caramels pie sugar plum. Croissant jelly beans cake. Ice cream chocolate liquorice dessert cookie chocolate cake. Powder tart sweet roll macaroon croissant. Sweet tootsie roll macaroon gummi bears macaroon. Gingerbread cake tart.

    Regrads,

    Kristeen Sicilia

    ',\n attachments: [\n {\n fileName: 'log.txt',\n thumbnail: 'assets/images/icons/txt.png',\n url: '',\n size: '5mb'\n },\n {\n fileName: 'performance.xls',\n thumbnail: 'assets/images/icons/xls.png',\n url: '',\n size: '10mb'\n }\n ],\n isStarred: false,\n labels: ['private'],\n time: 'Mon Dec 10 2018 07:46:00 GMT+0000 (GMT)',\n replies: [],\n folder: 'inbox',\n isRead: true\n },\n {\n id: 2,\n from: {\n email: 'tressag@mail.com',\n name: 'Tressa Gass',\n avatar: 'assets/images/avatars/2.png'\n },\n to: [\n {\n name: 'me',\n email: 'johndoe@mail.com'\n }\n ],\n subject: 'Company Report',\n cc: ['vrushankbrahmshatriya@mail.com'],\n bcc: ['menka@mail.com'],\n message:\n '

    Hello John,

    Chocolate bar chupa chups sweet roll chocolate muffin macaroon liquorice tart. Carrot cake topping jelly-o cupcake sweet apple pie jelly I love. Chocolate cake I love dessert carrot cake tootsie roll chocolate I love. Tootsie roll pie marzipan sesame snaps. Lemon drops cake I love chocolate I love. Cheesecake croissant croissant cheesecake tootsie roll chocolate cake caramels. I love I love cake jelly. Pastry jelly beans I love I love. I love tootsie roll gummies toffee I love cookie cookie. Brownie tart croissant.

    I love jelly pie. Croissant jelly beans lemon drops oat cake. Cupcake carrot cake ice cream cake cookie jelly-o fruitcake jelly macaroon. Biscuit muffin cupcake chocolate bar lollipop danish.

    Ice cream I love I love lemon drops cotton candy macaroon. Jujubes soufflé oat cake sweet roll bear claw cotton candy cookie toffee tootsie roll. Danish sesame snaps sesame snaps cookie jelly danish chocolate bar.

    Fruitcake pastry bear claw chocolate cookie. Biscuit icing bear claw. Sweet roll liquorice jelly-o muffin toffee I love wafer. Candy pastry halvah. Pie pastry candy canes tart. Fruitcake I love liquorice icing sweet roll macaroon. I love ice cream jelly-o biscuit brownie marzipan topping pudding sesame snaps. Chupa chups brownie brownie cotton candy sugar plum toffee. Tiramisu tootsie roll gingerbread biscuit I love ice cream brownie sesame snaps. I love croissant I love I love brownie pie marshmallow.

    Regrads

    Tressa Gass

    ',\n attachments: [],\n isStarred: true,\n labels: ['company', 'private'],\n time: 'Mon Dec 10 2018 07:55:00 GMT+0000 (GMT)',\n replies: [],\n folder: 'inbox',\n isRead: true\n },\n {\n id: 3,\n from: {\n email: 'hettiem@mail.com',\n name: 'Hettie Mcerlean',\n avatar: 'assets/images/avatars/3.png'\n },\n to: [\n {\n name: 'me',\n email: 'johndoe@mail.com'\n },\n {\n name: 'Pixinvent',\n email: 'hello@pixinvent.net'\n }\n ],\n subject: 'Order Delivered',\n cc: [],\n bcc: [],\n message:\n '

    Hello John,

    Chocolate bar chupa chups sweet roll chocolate muffin macaroon liquorice tart. Carrot cake topping jelly-o cupcake sweet apple pie jelly I love. Chocolate cake I love dessert carrot cake tootsie roll chocolate I love. Tootsie roll pie marzipan sesame snaps. Lemon drops cake I love chocolate I love. Cheesecake croissant croissant cheesecake tootsie roll chocolate cake caramels. I love I love cake jelly. Pastry jelly beans I love I love. I love tootsie roll gummies toffee I love cookie cookie. Brownie tart croissant.

    I love jelly pie. Croissant jelly beans lemon drops oat cake. Cupcake carrot cake ice cream cake cookie jelly-o fruitcake jelly macaroon. Biscuit muffin cupcake chocolate bar lollipop danish.

    Ice cream I love I love lemon drops cotton candy macaroon. Jujubes soufflé oat cake sweet roll bear claw cotton candy cookie toffee tootsie roll. Danish sesame snaps sesame snaps cookie jelly danish chocolate bar.

    Fruitcake pastry bear claw chocolate cookie. Biscuit icing bear claw. Sweet roll liquorice jelly-o muffin toffee I love wafer. Candy pastry halvah. Pie pastry candy canes tart. Fruitcake I love liquorice icing sweet roll macaroon. I love ice cream jelly-o biscuit brownie marzipan topping pudding sesame snaps. Chupa chups brownie brownie cotton candy sugar plum toffee. Tiramisu tootsie roll gingerbread biscuit I love ice cream brownie sesame snaps. I love croissant I love I love brownie pie marshmallow.

    Regrads

    Hettie Mcerlean

    ',\n attachments: [],\n isStarred: false,\n labels: ['company'],\n time: 'Mon Dec 10 2018 08:35:00 GMT+0000 (GMT)',\n replies: [],\n folder: 'spam',\n isRead: true\n },\n {\n id: 4,\n from: {\n email: 'louettae@mail.com',\n name: 'Louetta Esses',\n avatar: 'assets/images/avatars/4.png'\n },\n to: [\n {\n name: 'me',\n email: 'johndoe@mail.com'\n }\n ],\n subject: 'Waterfall Model Update',\n cc: [],\n bcc: [],\n message:\n '

    Hi John,

    Biscuit lemon drops marshmallow. Cotton candy marshmallow bear claw. Dragée tiramisu cookie cotton candy. Carrot cake sweet roll I love macaroon wafer jelly soufflé I love dragée. Jujubes jelly I love carrot cake topping I love. Sweet candy I love chupa chups dragée. Tart I love gummies. Chocolate bar carrot cake candy wafer candy canes oat cake I love. Sesame snaps icing pudding sweet roll marshmallow. Cupcake brownie sweet roll chocolate bar I love gummies. Biscuit biscuit macaroon sesame snaps macaroon icing I love soufflé caramels. Apple pie candy jelly. I love icing gummi bears jelly-o pie muffin apple pie.

    Marshmallow halvah brownie cake marzipan ice cream marshmallow. I love lollipop toffee croissant liquorice wafer muffin. Lollipop jelly beans caramels lollipop tootsie roll pudding pie macaroon tootsie roll. Oat cake jujubes gummies cake cake powder cupcake soufflé muffin. Chocolate caramels muffin tart. Jelly beans caramels dessert cotton candy liquorice chocolate cake. Chupa chups muffin bear claw I love. Biscuit jujubes soufflé tart caramels pie sugar plum. Croissant jelly beans cake. Ice cream chocolate liquorice dessert cookie chocolate cake. Powder tart sweet roll macaroon croissant. Sweet tootsie roll macaroon gummi bears macaroon. Gingerbread cake tart.

    Regrads,

    Kristeen Sicilia

    ',\n attachments: [\n {\n fileName: 'report.doc',\n thumbnail: 'assets/images/icons/doc.png',\n url: '',\n size: '32mb'\n }\n ],\n isStarred: false,\n labels: ['important'],\n time: 'Mon Dec 11 2018 09:04:10 GMT+0000 (GMT)',\n replies: [],\n folder: 'inbox',\n isRead: true\n },\n {\n id: 5,\n from: {\n email: 'bposvner0@zdnet.com',\n name: 'Bobbie Posvner',\n avatar: 'assets/images/avatars/11.png'\n },\n to: [\n {\n name: 'me',\n email: 'johndoe@dot.gov'\n }\n ],\n subject: 'Re-contextualized zero administration toolset',\n cc: [],\n bcc: [],\n message:\n '

    Hello John,

    Epiboly henbill hemichorea composedness resequent hearthpenny racialization freeboard Reboulia Albuginaceae Violales Trisagion resinlike plumlet insalubrious Urocoptis Orthoceratidae ogmic plateaux reinsist preconsumption rattener venipuncture Rhadamanthine

    perversely corpusculated theophoric uncemented weiring myolipoma gudesire dramatics trichomaphyte adventitious video polychaete glossorrhaphy bestially zoospore nonnotional sawbones unprejudiciable wali collaborative coppled shammish manless predisorder

    ',\n attachments: [],\n isStarred: true,\n labels: ['private'],\n time: 'Tue Dec 12 2018 11:55:00 GMT+0000 (GMT)',\n replies: [],\n folder: 'spam',\n isRead: true\n },\n {\n id: 6,\n from: {\n email: 'rgilder1@illinois.edu',\n name: 'Rebecca Gilder',\n avatar: 'assets/images/avatars/6.png'\n },\n to: [\n {\n name: 'me',\n email: 'johndoe@google.co.uk'\n }\n ],\n subject: 'Integrated bi-directional help-desk',\n cc: [],\n bcc: [],\n message:\n '

    Hello John,

    irretraceably indestructibility sisi fiddle pyretic Gerbera vocable hoped Chartreux thinglet whister fetiferous Guhayna overloud yuca suggestibly atmiatrics serioludicrous prehaustorium androgenic betulin chiropterite sprittail atrochal

    stopper acinaceous bandcutter unprostituted undependableness Saffarid parasympathetic dishonorer embryogeny overscrupulous deicidal Tapuya roupily devotee alfet sophiologic hydrobromide onlook preverb Dottore primitial frostlike overbig Monocyclica

    ',\n attachments: [],\n isStarred: false,\n labels: ['personal'],\n time: 'Thu Dec 13 2018 08:25:00 GMT+0000 (GMT)',\n replies: [],\n folder: 'trash',\n isRead: true\n },\n {\n id: 7,\n from: {\n email: 'swilby2@yandex.ru',\n name: 'Shawn Wilby',\n avatar: 'assets/images/avatars/1.png'\n },\n to: [\n {\n name: 'me',\n email: 'johndoe@altervista.org'\n }\n ],\n subject: 'Devolved regional product',\n cc: [],\n bcc: [],\n message:\n '

    Hello John,

    scalpellum unisometrical emend esotrope gether separatical passionwise cringe flawful annotinous jiboa thrombotic essoinment successional backrope oligohemia gitaligenin formulaic bradycinesia paralgesic eumycetic receptoral eyrie yearly

    atomistical semischolastic clour discardment pseudelytron cheson path Bennet Herat pinchem Tho extravagantly shaking procidence flocker amidoketone gyric Moi petrolific clink immunization estrepement spalder poitrail

    ',\n attachments: [],\n isStarred: false,\n labels: ['company'],\n time: 'Fri Dec 14 2018 04:49:23 GMT+0000 (GMT)',\n replies: [],\n folder: 'draft',\n isRead: true\n },\n {\n id: 8,\n from: {\n email: 'wmannering3@mozilla.org',\n name: 'Waldemar Mannering',\n avatar: 'assets/images/avatars/11.png'\n },\n to: [\n {\n name: 'me',\n email: 'johndoe@sciencedaily.com'\n }\n ],\n subject: 'Quality-focused methodical flexibility',\n cc: [],\n bcc: [],\n message:\n '

    Hi John,

    wartproof ketoheptose incomplicate hyomental organal supermaterial monogene sophister nizamate rightle multifilament phloroglucic overvehement boatloading derelictly probudgeting archantiquary unknighted pallograph Volcanalia Jacobitiana ethyl neth Jugatae

    noumenalize irredential energeia phlebotomist galp dactylitis unparticipated solepiece demure metarhyolite toboggan unpleased perilaryngeal binoxalate rabbitry atomic duali dihexahedron Pseudogryphus boomboat obelisk undreaded unadmired podometer

    ',\n attachments: [],\n isStarred: false,\n labels: ['private'],\n time: 'Tue Dec 15 2018 11:02:28 GMT+0000 (GMT)',\n replies: [],\n folder: 'inbox',\n isRead: false\n },\n {\n id: 9,\n from: {\n email: 'hfrostdyke4@scientificamerican.com',\n name: 'Heath Frostdyke',\n avatar: 'assets/images/avatars/9.png'\n },\n to: [\n {\n name: 'me',\n email: 'johndoe@weibo.com'\n }\n ],\n subject: 'Secured optimal algorithm',\n cc: [],\n bcc: [],\n message:\n '

    Hello John,

    prefertility volumetrical subdivision Alpinist hypostomous foreyard lede knuckling Agade viking protometallic unsting palaeobiologist trierarchic bigheartedness Slartibartfast tabitude popadam idioplasm fabulous arsenite cingle backhandedness denizenship

    argo trickish dependingly unhouseled aegeriid ophthalmophlebotomy crazy freedwoman unspinsterlike clinical epistemologically hermodactyl humbugger misogynist plunder Sabbathly tabule feckless cerite porringer benumb duograph propatagian pressman

    ',\n attachments: [],\n isStarred: true,\n labels: ['personal'],\n time: 'Tue Jan 01 2018 18:31:19 GMT+0000 (GMT)',\n replies: [],\n folder: 'trash',\n isRead: false\n },\n {\n id: 10,\n from: {\n email: 'pjentzsch5@tamu.edu',\n name: 'Paulita Jentzsch',\n avatar: 'assets/images/avatars/7.png'\n },\n to: [\n {\n name: 'me',\n email: 'johndoe@skype.com'\n }\n ],\n subject: 'Profound user-facing frame',\n cc: [],\n bcc: [],\n message:\n '

    Hello John,

    unstintedly septifarious prevalid implicative esere Kedarite Nekkar encampment Issedones Saururus Turkize Tshi misengrave lamnid benzamine rigidulous octonion hydrophilous coxalgic nasturtium epileptogenic biporose undenominationalism widu

    melioration pager infiltrate plouky tribesmanship transudate heinous exhibitionistic klendusic lienocele tractate unemotioned castigate selenate appealable Palladianism chloracetate penna moellon detector halcyon amidofluorid damascene hollaite

    ',\n attachments: [\n {\n fileName: 'UtNulla.xls',\n thumbnail: 'assets/images/icons/xls.png',\n url: '',\n size: '1mb'\n }\n ],\n isStarred: true,\n labels: ['important'],\n time: 'Tue Jan 03 2018 08:05:33 GMT+0000 (GMT)',\n replies: [],\n folder: 'draft',\n isRead: false\n },\n {\n id: 11,\n from: {\n email: 'lminghetti6@yale.edu',\n name: 'Lowell Minghetti',\n avatar: 'assets/images/avatars/4.png'\n },\n to: [\n {\n name: 'me',\n email: 'johndoe@fda.gov'\n }\n ],\n subject: 'Reactive full-range encryption',\n cc: [],\n bcc: [],\n message:\n '

    Hi John,

    Jaime stadimeter reshearer adfix exaristate herby chrysomonad ostentous Abrahamic Marsipobranchii skil linguodental relaster restbalk enhorror glycerizine foremelt difficultness Ostreidae Euphues panduriform howler Finmark primordality

    semicurvilinear skeet sociogenetic dicephalism ghalva ethnicon katagenesis tasklike triachenium abuser henbane strubbly streetway Ramaism besetting saccos enzymically wickiup inopulent poetship Miranda hemianesthesia sphericle oariopathy

    ',\n attachments: [\n {\n fileName: 'ElementumLigula.js',\n thumbnail: 'assets/images/icons/js.png',\n url: '',\n size: '29mb'\n }\n ],\n isStarred: false,\n labels: ['company'],\n time: 'Tue Jan 03 2018 01:05:20 GMT+0000 (GMT)',\n replies: [],\n folder: 'trash',\n isRead: true\n },\n {\n id: 12,\n from: {\n email: 'efinessy7@sbwire.com',\n name: 'Eugenie Finessy',\n avatar: 'assets/images/avatars/2.png'\n },\n to: [\n {\n name: 'me',\n email: 'johndoe@odnoklassniki.ru'\n }\n ],\n subject: 'Polarised holistic protocol',\n cc: [],\n bcc: [],\n message:\n '

    Hello John,

    nonmotile generale punctated humanify escharine unlatch alrighty unshepherding standstill upcrane unilobular prefrontal primate fluviatic premundane tritocone compaternity dolina phonautographic cobby corse neurohypnotic cyrtopia wreathy

    slanderousness Lemosi myxochondroma haemogram electrothermostat piperonyl spital reappeal pyopneumothorax Yunca eyoty forecourse extensive kickout germanization vigilant Criophoros muss aortostenosis Berchta phonophotoscopic precorrespondence rigidist castling

    ',\n attachments: [],\n isStarred: false,\n labels: ['personal'],\n time: 'Tue Jan 04 2018 21:26:54 GMT+0000 (GMT)',\n replies: [],\n folder: 'sent',\n isRead: true\n },\n {\n id: 13,\n from: {\n email: 'tmckeurton8@163.com',\n name: 'Tadio McKeurton',\n avatar: 'assets/images/avatars/10.png'\n },\n to: [\n {\n name: 'me',\n email: 'johndoe@nifty.com'\n }\n ],\n subject: 'Down-sized transitional intranet',\n cc: [],\n bcc: [],\n message:\n '

    Hey John,

    calcimine gramineal nonfreezable interradial setula undertakable Abranchiata ultrasystematic spectroelectric Astarte Abraham bedsite enantiopathia exlex precoincident thiocarbamic mesenteriform daturism thioantimoniate tripudiate unsultry predynastic benzidino doxasticon

    overstale confessory glossed jane smoodger modernization Dehkan progymnospermic gangliectomy volumenometry Paulinistically tippy Gelfomino hive preredemption coccygine horrendous unintrusted plainer interrelatedly tearer arrojadite incircumspectly yokemating

    ',\n attachments: [],\n isStarred: false,\n labels: ['important'],\n time: 'Tue Jan 05 2018 19:00:00 GMT+0000 (GMT)',\n replies: [],\n folder: 'draft',\n isRead: true\n },\n {\n id: 14,\n from: {\n email: 'ebegg9@wikia.com',\n name: 'Eb Begg',\n avatar: 'assets/images/avatars/12.png'\n },\n to: [\n {\n name: 'me',\n email: 'johndoe@51.la'\n }\n ],\n subject: 'Organized value-added model',\n cc: [],\n bcc: [],\n message:\n '

    Hello Sir,

    Lituola restrengthen bathofloric manciple decaffeinize Debby aciliated eatage proscribe prejurisdiction buttle quacky hyposecretion indemonstrableness schelling lymphopathy consumptivity nonappointment filminess spumiform erotogenicity equestrianize boneflower interlardation

    allocate ponzite cote guilder tuff strind blamefully cocaine monstrously apocalyptically sublanate cherubimical oligoplasmia Miltonian hydrazyl unbeset statured Unami Cordeau strouthiocamelian geitjie larigo sociometry align

    ',\n attachments: [],\n isStarred: false,\n labels: ['company'],\n time: 'Tue Jan 06 2018 23:12:13 GMT+0000 (GMT)',\n replies: [],\n folder: 'inbox',\n isRead: true\n },\n {\n id: 15,\n from: {\n email: 'mspata@sina.com.cn',\n name: 'Modestine Spat',\n avatar: 'assets/images/avatars/9.png'\n },\n to: [\n {\n name: 'me',\n email: 'johndoe@oracle.com'\n }\n ],\n subject: 'Profound systemic alliance 🎉 🎊',\n cc: [],\n bcc: [],\n message:\n '

    Hey John,

    Parthenopean logeion chipwood tonsilitic cockleshell substance Stilbum dismayed tape Alderamin Phororhacos bridewain zoonomia lujaurite printline extraction weanedness charterless splitmouth bindoree unfit philological Pythonissa scintillescent

    cinchonism sabbaton thyrocricoid dissuasively schematograph immerse pristane stimulability unreligion uncomplemental uteritis nef bavenite Hachiman teleutosorus anterolateral infirmate Nahani Hyla barile farthing crea venesector Cirrostomi

    ',\n attachments: [],\n isStarred: false,\n labels: ['company'],\n time: 'Tue Jan 07 2018 12:25:03 GMT+0000 (GMT)',\n replies: [],\n folder: 'inbox',\n isRead: false\n },\n {\n id: 16,\n from: {\n email: 'cprandob@rambler.ru',\n name: 'Chase Prando',\n avatar: 'assets/images/avatars/2.png'\n },\n to: [\n {\n name: 'me',\n email: 'johndoe@vistaprint.com'\n }\n ],\n subject: 'Centralized intermediate instruction set',\n cc: [],\n bcc: [],\n message:\n '

    Respected Sir,

    drainman merman pleurosteal slatted serenader Tantalus slodder cachalot guerdon flannelflower digestibility priggish loa monocarbide endive rented kelep pangamous gummata siris stockproof butlerism polycrystalline begetter

    rack unpaining beglue astucious yardstick laniflorous tetrachloride avidious Biblicistic clival myosinogen antilobium unamiability unperforate Elaphurus wrapping deformity revocative kovil unwainscoted councilmanic saccharobiose federalize procellous

    ',\n attachments: [],\n isStarred: false,\n labels: ['company'],\n time: 'Tue Jan 08 2018 00:36:40 GMT+0000 (GMT)',\n replies: [],\n folder: 'sent',\n isRead: true\n },\n {\n id: 17,\n from: {\n email: 'nbartlesc@merriam-webster.com',\n name: 'Normand Bartles',\n avatar: 'assets/images/avatars/9.png'\n },\n to: [\n {\n name: 'me',\n email: 'johndoe@si.edu'\n }\n ],\n subject: 'Re-contextualized leading edge projection',\n cc: [],\n bcc: [],\n message:\n '

    Hello John,

    orpine anidiomatic protoreptilian lacklusterness macromastia obstetricate Phaneroglossa tripleness laxatively hypophloeous ocellate sinoauricular porch lignitic miche strinkle hyperthyreosis tugui Alascan unrailroaded Cypriote vesuvian gradative hardener

    forthink Locarno wattlework Nordicist formoxime demipriest medrick Lomentaria lucible Canossa Manatus anaplasty Spirochaete bonus overgown Amurru Skupshtina opisthorchiasis preworthy Brodie shortchange Nikko Gaviae crosscut

    ',\n attachments: [],\n isStarred: false,\n labels: ['personal'],\n time: 'Tue Jan 09 2018 22:06:50 GMT+0000 (GMT)',\n replies: [],\n folder: 'spam',\n isRead: true\n },\n {\n id: 18,\n from: {\n email: 'rgennd@dedecms.com',\n name: 'Robin Genn',\n avatar: 'assets/images/avatars/6.png'\n },\n to: [\n {\n name: 'me',\n email: 'johndoe@about.com'\n }\n ],\n subject: 'Team-oriented system-worthy intranet',\n cc: [],\n bcc: [],\n message:\n '

    Hi John,

    balsamation teachableness enarthrodia dentilation superguarantee Yuapin schedulize antarctically biocoenotic unspottedly stinter admonitorily uncollatedness umquhile grayhead dephase stopgap evenglow photogenically desmacyte rink osiered specking ratwa

    hospitize epithymetical montage rhapsodical Ninja superdramatist westerner clubionid haustellate Saltator rodding ophthalmomalacia concupiscibleness tingle hyperuresis Trigoniidae rearousal sanctimonial Munychia counterpaned exhibitable communer triadism Janiform

    ',\n attachments: [],\n isStarred: true,\n labels: ['personal'],\n time: 'Tue Jan 10 2018 01:51:24 GMT+0000 (GMT)',\n replies: [],\n folder: 'spam',\n isRead: true\n },\n {\n id: 19,\n from: {\n email: 'eramelote@webeden.co.uk',\n name: 'Emmalynn Ramelot',\n avatar: 'assets/images/avatars/8.png'\n },\n to: [\n {\n name: 'me',\n email: 'johndoe@tinypic.com'\n }\n ],\n subject: 'Phased eco-centric architecture',\n cc: [],\n bcc: [],\n message:\n '

    Hey John,

    hightoby Maja vindicatorship unglobe poduran bronchodilatation uncontorted underwarden cyclometric orgiacs tigerhearted upscale curatize Scylliorhinidae slick unisolated nanocephalous cuirassier heartwise Venusian titanitic requirement antirestoration toluido

    Trematosaurus procreant ethos pessimistic antiselene pisk Amphipneusta anconad Corchorus unswabbed sizable Balanites sardonical shovelbill trammeler carpetwork rhexis remade myelinated right bounteous unsin retroduction Montanist

    ',\n attachments: [],\n isStarred: true,\n labels: ['personal'],\n time: 'Tue Jan 11 2018 14:25:46 GMT+0000 (GMT)',\n replies: [],\n folder: 'spam',\n isRead: false\n },\n {\n id: 20,\n from: {\n email: 'pcuzenf@mediafire.com',\n name: 'Penni Cuzen',\n avatar: 'assets/images/avatars/9.png'\n },\n to: [\n {\n name: 'me',\n email: 'johndoe@google.es'\n }\n ],\n subject: 'Future-proofed motivating support',\n cc: [],\n bcc: [],\n message:\n '

    Hello John,

    yonder secessionalist astringer Ovangangela overcumber supracaecal scutulate Aglaonema Pakawan citril unsubducted cavernal multivalve ladify Cichorium supplication flexion cricothyroidean picaro locally etiogenic timeously scalpeen sapropel

    agglutinative hyperideation Flamandize antipragmatic wincer brachyphalangia forenotion Angloman ornamentation merch revulsed windingly tristate orgic sateless orseilline Anchietea pilferer aroid counselor forevermore kulmet maladventure haruspice

    ',\n attachments: [\n {\n fileName: 'Augue.js',\n thumbnail: 'assets/images/icons/js.png',\n url: '',\n size: '4mb'\n }\n ],\n isStarred: false,\n labels: ['private'],\n time: 'Tue Jan 12 2018 04:16:10 GMT+0000 (GMT)',\n replies: [],\n folder: 'spam',\n isRead: false\n },\n {\n id: 21,\n from: {\n email: 'abaldersong@utexas.edu',\n name: 'Ardis Balderson',\n avatar: 'assets/images/avatars/12.png'\n },\n to: [\n {\n name: 'me',\n email: 'johndoe@ow.ly'\n }\n ],\n subject: 'Focused impactful open system 📷 😃',\n cc: [],\n bcc: [],\n message:\n '

    Hey John,

    bah kivu decrete epanorthotic unnotched Argyroneta nonius veratrine preimaginary saunders demidolmen Chaldaic allusiveness lorriker unworshipping ribaldish tableman hendiadys outwrest unendeavored fulfillment scientifical Pianokoto Chelonia

    Freudian sperate unchary hyperneurotic phlogiston duodecahedron unflown Paguridea catena disrelishable Stygian paleopsychology cantoris phosphoritic disconcord fruited inblow somewhatly ilioperoneal forrard palfrey Satyrinae outfreeman melebiose

    ',\n attachments: [],\n isStarred: true,\n labels: ['company'],\n time: new Date(new Date().getTime() - 7 * 60 * 60 * 1000),\n replies: [],\n folder: 'inbox',\n isRead: false\n },\n {\n id: 22,\n from: {\n email: 'dmallallh@ask.com',\n name: 'Dagmar Mallall',\n avatar: 'assets/images/avatars/8.png'\n },\n to: [\n {\n name: 'me',\n email: 'johndoe@furl.net'\n }\n ],\n subject: 'Function-based local productivity 💻',\n cc: [],\n bcc: [],\n message:\n '

    Dear Consumer,

    gibbed preconceptual passionwort Goanese confluence ungnaw aubepine coadjacency Romipetal isochronic convener overinsistently psammophyte colpenchyma unlogic instinctivist motorcab wellhole receptacle sinistrocular avifaunal decagram paramountness samhita

    sphincterismus Aunjetitz vagabondage parallelotropism unreceipted io wheretoever semivolcanic Chlamydomonadidae spittlestaff spermatogenic Sephardi berrigan lowly grotesquerie Pentameridae unsuccessive archlexicographer Stephanian reimpatriate untossed beth ventriloquial dedicational

    ',\n attachments: [],\n isStarred: false,\n labels: ['company'],\n time: new Date(new Date().getTime() - 5 * 20 * 60 * 1000),\n replies: [],\n folder: 'draft',\n isRead: false\n },\n {\n id: 23,\n from: {\n email: 'nmacgaughyi@aol.com',\n name: 'Nada MacGaughy',\n avatar: 'assets/images/avatars/3.png'\n },\n to: [\n {\n name: 'me',\n email: 'johndoe@cnet.com'\n }\n ],\n subject: 'Compatible object-oriented policy ',\n cc: [],\n bcc: [],\n message:\n '

    Hello John,

    miraculous pirijiri meekheartedness superoxygenation Elric paries epideictical Prajapati reassign stridlins spoach overreadily abusion sailmaking illiterately septangularness retinene Hler exceptionary ferberite possessionalist piperide Oschophoria beau

    abnormalize yearnfulness Janiculum sixhaend abstemiousness uterogestation orchestrina gallotannin muckment melanoblast supercivilization inclusionist electroosmotically immatchable stomatoplastic satinity hydrogen unexorable quinamidine milksopism fascinating ratsbane endocline Zolaist

    ',\n attachments: [\n {\n fileName: 'Leo.xls',\n thumbnail: 'assets/images/icons/xls.png',\n url: '',\n size: '33mb'\n }\n ],\n isStarred: false,\n labels: ['private'],\n time: new Date(new Date().getTime() - 2 * 60 * 60 * 1000),\n replies: [],\n folder: 'trash',\n isRead: false\n },\n {\n id: 24,\n from: {\n email: 'douldcottj@yellowpages.com',\n name: 'Dalila Ouldcott',\n avatar: 'assets/images/avatars/1.png'\n },\n to: [\n {\n name: 'me',\n email: 'johndoe@github.io'\n }\n ],\n subject: 'User-friendly value-added application 😊',\n cc: [],\n bcc: [],\n message:\n '

    Hey John,

    wellish laminable ineunt popshop catalyte prismatize campimetrical lentisk excluding portlet coccinellid impestation Bangash Lollardist perameloid procerebrum presume cashmerette washbasin nainsook Odontolcae Alea holcodont welted

    cibarious terrifical uploop naphthaleneacetic containable nonsailor Zwinglian blighty benchful guar porch fallectomy building coinvolve eidolism warmth unclericalize seismographic recongeal ethanethial clog regicidal regainment legific

    ',\n attachments: [\n {\n fileName: 'example.doc',\n thumbnail: 'assets/images/icons/doc.png',\n url: '',\n size: '21mb'\n }\n ],\n isStarred: false,\n labels: ['personal'],\n time: new Date(new Date().getTime() - 1 * 30 * 60 * 1000),\n replies: [\n {\n id: 25,\n from: {\n email: 'johndoe@mail.com',\n name: 'John Doe',\n avatar: 'assets/images/avatars/11.png'\n },\n to: [\n {\n name: 'me',\n email: 'hettiem@mail.com'\n }\n ],\n subject: '🎯 Focused impactful open system',\n cc: [],\n bcc: [],\n message:\n '

    Hello Hettie,

    Marshmallow cookie jelly liquorice. Powder macaroon cake pastry biscuit. Cotton candy cotton candy jelly chocolate bar. Sesame snaps candy gummi bears cake cookie jujubes. Sweet I love sweet roll. Sesame snaps I love marzipan. Jelly powder tootsie roll. Marshmallow pudding cookie fruitcake liquorice powder. I love I love cookie chupa chups fruitcake ice cream I love biscuit I love. Tiramisu apple pie candy canes cookie gummies. Donut toffee bear claw topping jelly-o. Cupcake icing muffin. Cookie brownie wafer pie sweet. Icing sesame snaps halvah toffee marshmallow lemon drops jelly.

    Tiramisu candy canes powder. Powder chocolate bar halvah liquorice cake I love danish. Cake wafer apple pie. Bear claw fruitcake I love marzipan dessert marzipan lollipop. Halvah gingerbread jelly chupa chups tiramisu I love wafer gummi bears. Candy powder caramels candy gummies. Tart tart cupcake brownie. Bear claw gummies toffee. Tiramisu donut cake chocolate bar. Halvah chocolate bar donut jelly-o. Icing candy brownie chocolate. Pastry bear claw halvah gummies chocolate bar chocolate. Apple pie danish wafer I love biscuit.

    Regrads,

    John Doe

    ',\n attachments: [],\n isStarred: false,\n labels: [],\n time: 'Mon Dec 10 2018 10:56:00 GMT+0000 (GMT)',\n replies: [],\n folder: 'inbox',\n isRead: false\n },\n {\n id: 26,\n from: {\n email: 'hettiem@mail.com',\n name: 'Hettie Mcerlean',\n avatar: 'assets/images/avatars/3.png'\n },\n to: [\n {\n name: 'me',\n email: 'johndoe@mail.com'\n }\n ],\n subject: 'Profound systemic alliance 🎉 🎊',\n cc: [],\n bcc: [],\n message:\n '

    Oat cake tart danish jelly beans brownie I love. Liquorice I love lollipop chocolate cake carrot cake toffee. Tart muffin candy canes croissant sugar plum lollipop. Macaroon cheesecake marshmallow powder sweet roll bonbon candy apple pie candy canes.

    Regrads,

    Hettie Mcerlean

    ',\n attachments: [],\n isStarred: false,\n labels: [],\n time: 'Mon Dec 10 2018 11:25:00 GMT+0000 (GMT)',\n replies: [],\n folder: 'inbox',\n isRead: false\n }\n ],\n folder: 'inbox',\n isRead: true\n }\n ];\n\n public static folders = [\n {\n id: 0,\n handle: 'inbox',\n title: 'Inbox',\n icon: 'mail'\n },\n {\n id: 1,\n handle: 'sent',\n title: 'Sent',\n icon: 'send'\n },\n {\n id: 2,\n handle: 'draft',\n title: 'Draft',\n icon: 'edit-2'\n },\n {\n id: 3,\n handle: 'spam',\n title: 'Spam',\n icon: 'info'\n },\n {\n id: 4,\n handle: 'trash',\n title: 'Trash',\n icon: 'trash'\n }\n ];\n\n public static labels = [\n {\n id: 0,\n handle: 'personal',\n title: 'Personal',\n color: 'bullet-success'\n },\n {\n id: 1,\n handle: 'company',\n title: 'Company',\n color: 'bullet-primary'\n },\n {\n id: 2,\n handle: 'important',\n title: 'Important',\n color: 'bullet-warning'\n },\n {\n id: 3,\n handle: 'private',\n title: 'Private',\n color: 'bullet-danger'\n }\n ];\n}\n","export class FAQFakeData {\n public static data = {\n payment: {\n icon: 'credit-card',\n title: 'Payment',\n subtitle: 'Which license do I need?',\n qandA: [\n {\n question: 'Does my subscription automatically renew?',\n ans:\n 'Pastry pudding cookie toffee bonbon jujubes jujubes powder topping. Jelly beans gummi bears sweet roll bonbon muffin liquorice. Wafer lollipop sesame snaps. Brownie macaroon cookie muffin cupcake candy caramels tiramisu. Oat cake chocolate cake sweet jelly-o brownie biscuit marzipan. Jujubes donut marzipan chocolate bar. Jujubes sugar plum jelly beans tiramisu icing cheesecake.'\n },\n {\n question: 'Can I store the item on an intranet so everyone has access?',\n ans:\n 'Sweet pie candy jelly. Sesame snaps biscuit sugar plum. Sweet roll topping fruitcake. Caramels liquorice biscuit ice cream fruitcake cotton candy tart. Donut caramels gingerbread jelly-o gingerbread pudding. Gummi bears pastry marshmallow candy canes pie. Pie apple pie carrot cake.'\n },\n {\n question: 'What does non-exclusive mean?',\n ans:\n 'Tart gummies dragée lollipop fruitcake pastry oat cake. Cookie jelly jelly macaroon icing jelly beans soufflé cake sweet. Macaroon sesame snaps cheesecake tart cake sugar plum. Dessert jelly-o sweet muffin chocolate candy pie tootsie roll marzipan.'\n },\n {\n question: 'Is the Regular License the same thing as an editorial license?',\n ans:\n 'Cheesecake muffin cupcake dragée lemon drops tiramisu cake gummies chocolate cake. Marshmallow tart croissant. Tart dessert tiramisu marzipan lollipop lemon drops. Cake bonbon bonbon gummi bears topping jelly beans brownie jujubes muffin. Donut croissant jelly-o cake marzipan. Liquorice marzipan cookie wafer tootsie roll. Tootsie roll sweet cupcake.'\n },\n {\n question: 'Which license do I need for an end product that is only accessible to paying users?',\n ans:\n 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.'\n },\n {\n question: 'Which license do I need to use an item in a commercial?',\n ans:\n 'At tempor commodo ullamcorper a lacus vestibulum. Ultrices neque ornare aenean euismod. Dui vivamus arcu felis bibendum. Turpis in eu mi bibendum neque egestas congue. Nullam ac tortor vitae purus faucibus ornare suspendisse sed.'\n },\n {\n question: 'Can I re-distribute an item? What about under an Extended License?',\n ans:\n 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Euismod lacinia at quis risus sed vulputate odio ut enim. Dictum at tempor commodo ullamcorper a lacus vestibulum.'\n }\n ]\n },\n delivery: {\n icon: 'shopping-bag',\n title: 'Delivery',\n subtitle: 'Which license do I need?',\n qandA: [\n {\n question: 'Where has my order reached?',\n ans:\n 'Pastry pudding cookie toffee bonbon jujubes jujubes powder topping. Jelly beans gummi bears sweet roll bonbon muffin liquorice. Wafer lollipop sesame snaps. Brownie macaroon cookie muffin cupcake candy caramels tiramisu. Oat cake chocolate cake sweet jelly-o brownie biscuit marzipan. Jujubes donut marzipan chocolate bar. Jujubes sugar plum jelly beans tiramisu icing cheesecake.'\n },\n {\n question:\n 'The shipment status shows that it has been returned/cancelled. What does it mean and who do I contact?',\n ans:\n 'Sweet pie candy jelly. Sesame snaps biscuit sugar plum. Sweet roll topping fruitcake. Caramels liquorice biscuit ice cream fruitcake cotton candy tart. Donut caramels gingerbread jelly-o gingerbread pudding. Gummi bears pastry marshmallow candy canes pie. Pie apple pie carrot cake.'\n },\n {\n question: 'What if my shipment is marked as lost?',\n ans:\n 'Tart gummies dragée lollipop fruitcake pastry oat cake. Cookie jelly jelly macaroon icing jelly beans soufflé cake sweet. Macaroon sesame snaps cheesecake tart cake sugar plum. Dessert jelly-o sweet muffin chocolate candy pie tootsie roll marzipan.'\n },\n {\n question: 'My shipment status shows that it’s out for delivery. By when will I receive it?',\n ans:\n 'Cheesecake muffin cupcake dragée lemon drops tiramisu cake gummies chocolate cake. Marshmallow tart croissant. Tart dessert tiramisu marzipan lollipop lemon drops. Cake bonbon bonbon gummi bears topping jelly beans brownie jujubes muffin. Donut croissant jelly-o cake marzipan. Liquorice marzipan cookie wafer tootsie roll. Tootsie roll sweet cupcake.'\n },\n {\n question: 'What do I need to do to get the shipment delivered within a specific timeframe?',\n ans:\n 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.'\n }\n ]\n },\n cancellationReturn: {\n icon: 'refresh-cw',\n title: 'Cancellation & Return',\n subtitle: 'Which license do I need?',\n qandA: [\n {\n question: 'Can my security guard or neighbour receive my shipment if I am not available?',\n ans:\n 'Pastry pudding cookie toffee bonbon jujubes jujubes powder topping. Jelly beans gummi bears sweet roll bonbon muffin liquorice. Wafer lollipop sesame snaps. Brownie macaroon cookie muffin cupcake candy caramels tiramisu. Oat cake chocolate cake sweet jelly-o brownie biscuit marzipan. Jujubes donut marzipan chocolate bar. Jujubes sugar plum jelly beans tiramisu icing cheesecake.'\n },\n {\n question: 'How can I get the contact number of my delivery agent?',\n ans:\n 'Sweet pie candy jelly. Sesame snaps biscuit sugar plum. Sweet roll topping fruitcake. Caramels liquorice biscuit ice cream fruitcake cotton candy tart. Donut caramels gingerbread jelly-o gingerbread pudding. Gummi bears pastry marshmallow candy canes pie. Pie apple pie carrot cake.'\n },\n {\n question: 'How can I cancel my shipment?',\n ans:\n 'Tart gummies dragée lollipop fruitcake pastry oat cake. Cookie jelly jelly macaroon icing jelly beans soufflé cake sweet. Macaroon sesame snaps cheesecake tart cake sugar plum. Dessert jelly-o sweet muffin chocolate candy pie tootsie roll marzipan.'\n },\n {\n question: 'I have received a defective/damaged product. What do I do?',\n ans:\n 'Cheesecake muffin cupcake dragée lemon drops tiramisu cake gummies chocolate cake. Marshmallow tart croissant. Tart dessert tiramisu marzipan lollipop lemon drops. Cake bonbon bonbon gummi bears topping jelly beans brownie jujubes muffin. Donut croissant jelly-o cake marzipan. Liquorice marzipan cookie wafer tootsie roll. Tootsie roll sweet cupcake.'\n },\n {\n question: 'How do I change my delivery address?',\n ans:\n 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.'\n },\n {\n question: 'What documents do I need to carry for self-collection of my shipment?',\n ans:\n 'At tempor commodo ullamcorper a lacus vestibulum. Ultrices neque ornare aenean euismod. Dui vivamus arcu felis bibendum. Turpis in eu mi bibendum neque egestas congue. Nullam ac tortor vitae purus faucibus ornare suspendisse sed. Commodo viverra maecenas accumsan lacus vel facilisis volutpat est velit. Tortor consequat id porta nibh. Id aliquet lectus proin nibh nisl condimentum id venenatis a. Faucibus nisl tincidunt eget nullam non nisi. Enim nunc faucibus a pellentesque. Pellentesque diam volutpat commodo sed egestas egestas fringilla phasellus. Nec nam aliquam sem et tortor consequat id. Fringilla est ullamcorper eget nulla facilisi. Morbi tristique senectus et netus et.'\n },\n {\n question: 'What are the timings for self-collecting shipments from the Delhivery Branch?',\n ans:\n 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Euismod lacinia at quis risus sed vulputate odio ut enim. Dictum at tempor commodo ullamcorper a lacus vestibulum.'\n }\n ]\n },\n myOrders: {\n icon: 'package',\n title: 'My Orders',\n subtitle: 'Which license do I need?',\n qandA: [\n {\n question: 'Can I avail of an open delivery?',\n ans:\n 'Pastry pudding cookie toffee bonbon jujubes jujubes powder topping. Jelly beans gummi bears sweet roll bonbon muffin liquorice. Wafer lollipop sesame snaps. Brownie macaroon cookie muffin cupcake candy caramels tiramisu. Oat cake chocolate cake sweet jelly-o brownie biscuit marzipan. Jujubes donut marzipan chocolate bar. Jujubes sugar plum jelly beans tiramisu icing cheesecake.'\n },\n {\n question: 'I haven’t received the refund of my returned shipment. What do I do?',\n ans:\n 'Sweet pie candy jelly. Sesame snaps biscuit sugar plum. Sweet roll topping fruitcake. Caramels liquorice biscuit ice cream fruitcake cotton candy tart. Donut caramels gingerbread jelly-o gingerbread pudding. Gummi bears pastry marshmallow candy canes pie. Pie apple pie carrot cake.'\n },\n {\n question: 'How can I ship my order to an international location?',\n ans:\n 'Tart gummies dragée lollipop fruitcake pastry oat cake. Cookie jelly jelly macaroon icing jelly beans soufflé cake sweet. Macaroon sesame snaps cheesecake tart cake sugar plum. Dessert jelly-o sweet muffin chocolate candy pie tootsie roll marzipan.'\n },\n {\n question: 'I missed the delivery of my order today. What should I do?',\n ans:\n 'Cheesecake muffin cupcake dragée lemon drops tiramisu cake gummies chocolate cake. Marshmallow tart croissant. Tart dessert tiramisu marzipan lollipop lemon drops. Cake bonbon bonbon gummi bears topping jelly beans brownie jujubes muffin. Donut croissant jelly-o cake marzipan. Liquorice marzipan cookie wafer tootsie roll. Tootsie roll sweet cupcake.'\n },\n {\n question: 'The delivery of my order is delayed. What should I do?',\n ans:\n 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.'\n }\n ]\n },\n productServices: {\n icon: 'settings',\n title: 'Product & Services',\n subtitle: 'Which license do I need?',\n qandA: [\n {\n question: 'How can I register a complaint against the courier executive who came to deliver my order?',\n ans:\n 'Pastry pudding cookie toffee bonbon jujubes jujubes powder topping. Jelly beans gummi bears sweet roll bonbon muffin liquorice. Wafer lollipop sesame snaps. Brownie macaroon cookie muffin cupcake candy caramels tiramisu. Oat cake chocolate cake sweet jelly-o brownie biscuit marzipan. Jujubes donut marzipan chocolate bar. Jujubes sugar plum jelly beans tiramisu icing cheesecake.'\n },\n {\n question: 'The status for my shipment shows as ‘not picked up’. What do I do?',\n ans:\n 'Sweet pie candy jelly. Sesame snaps biscuit sugar plum. Sweet roll topping fruitcake. Caramels liquorice biscuit ice cream fruitcake cotton candy tart. Donut caramels gingerbread jelly-o gingerbread pudding. Gummi bears pastry marshmallow candy canes pie. Pie apple pie carrot cake.'\n },\n {\n question: 'How can I get a proof of delivery for my shipment?',\n ans:\n 'Tart gummies dragée lollipop fruitcake pastry oat cake. Cookie jelly jelly macaroon icing jelly beans soufflé cake sweet. Macaroon sesame snaps cheesecake tart cake sugar plum. Dessert jelly-o sweet muffin chocolate candy pie tootsie roll marzipan.'\n },\n {\n question: 'How can I avail your services?',\n ans:\n 'Cheesecake muffin cupcake dragée lemon drops tiramisu cake gummies chocolate cake. Marshmallow tart croissant. Tart dessert tiramisu marzipan lollipop lemon drops. Cake bonbon bonbon gummi bears topping jelly beans brownie jujubes muffin. Donut croissant jelly-o cake marzipan. Liquorice marzipan cookie wafer tootsie roll. Tootsie roll sweet cupcake.'\n }\n ]\n }\n };\n}\n","export class InvoiceFakeData {\n public static invoices = [\n {\n id: 4987,\n issuedDate: '13 Dec 2019',\n client: {\n address: '7777 Mendez Plains',\n company: 'Hall-Robbins PLC',\n companyEmail: 'don85@johnson.com',\n country: 'United States of America',\n contact: '(616) 865-4180',\n name: 'Jordan Stevenson'\n },\n service: 'Software Development',\n total: 3428,\n avatar: '',\n invoiceStatus: 'Paid',\n balance: '$724',\n dueDate: '23 Apr 2019'\n },\n {\n id: 4988,\n issuedDate: '17 Jul 2019',\n client: {\n address: '04033 Wesley Wall Apt. 961',\n company: 'Mccann LLC and Sons',\n companyEmail: 'brenda49@taylor.info',\n country: 'Haiti',\n contact: '(226) 204-8287',\n name: 'Stephanie Burns'\n },\n service: 'UI/UX Design & Development',\n total: 5219,\n avatar: 'assets/images/avatars/10-small.png',\n invoiceStatus: 'Downloaded',\n balance: 0,\n dueDate: '15 Dec 2019'\n },\n {\n id: 4989,\n issuedDate: '19 Oct 2019',\n client: {\n address: '5345 Robert Squares',\n company: 'Leonard-Garcia and Sons',\n companyEmail: 'smithtiffany@powers.com',\n country: 'Denmark',\n contact: '(955) 676-1076',\n name: 'Tony Herrera'\n },\n service: 'Unlimited Extended License',\n total: 3719,\n avatar: 'assets/images/avatars/1-small.png',\n invoiceStatus: 'Paid',\n balance: 0,\n dueDate: '03 Nov 2019'\n },\n {\n id: 4990,\n issuedDate: '06 Mar 2020',\n client: {\n address: '19022 Clark Parks Suite 149',\n company: 'Smith, Miller and Henry LLC',\n companyEmail: 'mejiageorge@lee-perez.com',\n country: 'Cambodia',\n contact: '(832) 323-6914',\n name: 'Kevin Patton'\n },\n service: 'Software Development',\n total: 4749,\n avatar: 'assets/images/avatars/9-small.png',\n invoiceStatus: 'Sent',\n balance: 0,\n dueDate: '11 Feb 2020'\n },\n {\n id: 4991,\n issuedDate: '08 Feb 2020',\n client: {\n address: '8534 Saunders Hill Apt. 583',\n company: 'Garcia-Cameron and Sons',\n companyEmail: 'brandon07@pierce.com',\n country: 'Martinique',\n contact: '(970) 982-3353',\n name: 'Mrs. Julie Donovan MD'\n },\n service: 'UI/UX Design & Development',\n total: 4056,\n avatar: 'assets/images/avatars/10-small.png',\n invoiceStatus: 'Draft',\n balance: '$815',\n dueDate: '30 Jun 2019'\n },\n {\n id: 4992,\n issuedDate: '26 Aug 2019',\n client: {\n address: '661 Perez Run Apt. 778',\n company: 'Burnett-Young PLC',\n companyEmail: 'guerrerobrandy@beasley-harper.com',\n country: 'Botswana',\n contact: '(511) 938-9617',\n name: 'Amanda Phillips'\n },\n service: 'UI/UX Design & Development',\n total: 2771,\n avatar: '',\n invoiceStatus: 'Paid',\n balance: 0,\n dueDate: '24 Jun 2019'\n },\n {\n id: 4993,\n issuedDate: '17 Sep 2019',\n client: {\n address: '074 Long Union',\n company: 'Wilson-Lee LLC',\n companyEmail: 'williamshenry@moon-smith.com',\n country: 'Montserrat',\n contact: '(504) 859-2893',\n name: 'Christina Collier'\n },\n service: 'UI/UX Design & Development',\n total: 2713,\n avatar: '',\n invoiceStatus: 'Draft',\n balance: '$407',\n dueDate: '22 Nov 2019'\n },\n {\n id: 4994,\n issuedDate: '11 Feb 2020',\n client: {\n address: '5225 Ford Cape Apt. 840',\n company: 'Schwartz, Henry and Rhodes Group',\n companyEmail: 'margaretharvey@russell-murray.com',\n country: 'Oman',\n contact: '(758) 403-7718',\n name: 'David Flores'\n },\n service: 'Template Customization',\n total: 4309,\n avatar: 'assets/images/avatars/9-small.png',\n invoiceStatus: 'Paid',\n balance: '-$205',\n dueDate: '10 Feb 2020'\n },\n {\n id: 4995,\n issuedDate: '26 Jan 2020',\n client: {\n address: '23717 James Club Suite 277',\n company: 'Henderson-Holder PLC',\n companyEmail: 'dianarodriguez@villegas.com',\n country: 'Cambodia',\n contact: '(292) 873-8254',\n name: 'Valerie Perez'\n },\n service: 'Software Development',\n total: 3367,\n avatar: 'assets/images/avatars/2-small.png',\n invoiceStatus: 'Downloaded',\n balance: 0,\n dueDate: '24 Dec 2019'\n },\n {\n id: 4996,\n issuedDate: '15 Jan 2020',\n client: {\n address: '4528 Myers Gateway',\n company: 'Page-Wise PLC',\n companyEmail: 'bwilson@norris-brock.com',\n country: 'Guam',\n contact: '(956) 803-2008',\n name: 'Susan Dickerson'\n },\n service: 'Software Development',\n total: 4776,\n avatar: 'assets/images/avatars/9-small.png',\n invoiceStatus: 'Downloaded',\n balance: '$305',\n dueDate: '02 Jun 2019'\n },\n {\n id: 4997,\n issuedDate: '27 Sep 2019',\n client: {\n address: '4234 Mills Club Suite 107',\n company: 'Turner PLC Inc',\n companyEmail: 'markcampbell@bell.info',\n country: 'United States Virgin Islands',\n contact: '(716) 962-8635',\n name: 'Kelly Smith'\n },\n service: 'Unlimited Extended License',\n total: 3789,\n avatar: 'assets/images/avatars/4-small.png',\n invoiceStatus: 'Partial Payment',\n balance: '$666',\n dueDate: '18 Mar 2020'\n },\n {\n id: 4998,\n issuedDate: '31 Jul 2019',\n client: {\n address: '476 Keith Meadow',\n company: 'Levine-Dorsey PLC',\n companyEmail: 'mary61@rosario.com',\n country: 'Syrian Arab Republic',\n contact: '(523) 449-0782',\n name: 'Jamie Jones'\n },\n service: 'Unlimited Extended License',\n total: 5200,\n avatar: 'assets/images/avatars/5-small.png',\n invoiceStatus: 'Partial Payment',\n balance: 0,\n dueDate: '17 Jan 2020'\n },\n {\n id: 4999,\n issuedDate: '14 Feb 2020',\n client: {\n address: '56381 Ashley Village Apt. 332',\n company: 'Hall, Thompson and Ramirez LLC',\n companyEmail: 'sean22@cook.com',\n country: 'Ukraine',\n contact: '(583) 470-8356',\n name: 'Ruben Garcia'\n },\n service: 'Software Development',\n total: 4558,\n avatar: 'assets/images/avatars/7-small.png',\n invoiceStatus: 'Paid',\n balance: 0,\n dueDate: '01 Oct 2019'\n },\n {\n id: 5000,\n issuedDate: '21 May 2019',\n client: {\n address: '6946 Gregory Plaza Apt. 310',\n company: 'Lambert-Thomas Group',\n companyEmail: 'mccoymatthew@lopez-jenkins.net',\n country: 'Vanuatu',\n contact: '(366) 906-6467',\n name: 'Ryan Meyer'\n },\n service: 'Template Customization',\n total: 3503,\n avatar: 'assets/images/avatars/9-small.png',\n invoiceStatus: 'Paid',\n balance: 0,\n dueDate: '22 May 2019'\n },\n {\n id: 5001,\n issuedDate: '30 Jun 2019',\n client: {\n address: '64351 Andrew Lights',\n company: 'Gregory-Haynes PLC',\n companyEmail: 'novakshannon@mccarty-murillo.com',\n country: 'Romania',\n contact: '(320) 616-3915',\n name: 'Valerie Valdez'\n },\n service: 'Unlimited Extended License',\n total: 5285,\n avatar: 'assets/images/avatars/2-small.png',\n invoiceStatus: 'Partial Payment',\n balance: '-$202',\n dueDate: '02 Aug 2019'\n },\n {\n id: 5002,\n issuedDate: '21 Jun 2019',\n client: {\n address: '5702 Sarah Heights',\n company: 'Wright-Schmidt LLC',\n companyEmail: 'smithrachel@davis-rose.net',\n country: 'Costa Rica',\n contact: '(435) 899-1963',\n name: 'Melissa Wheeler'\n },\n service: 'UI/UX Design & Development',\n total: 3668,\n avatar: 'assets/images/avatars/6-small.png',\n invoiceStatus: 'Downloaded',\n balance: '$731',\n dueDate: '15 Dec 2019'\n },\n {\n id: 5003,\n issuedDate: '30 Dec 2019',\n client: {\n address: '668 Robert Flats',\n company: 'Russell-Abbott Ltd',\n companyEmail: 'scott96@mejia.net',\n country: 'Congo',\n contact: '(254) 399-4728',\n name: 'Alan Jimenez'\n },\n service: 'Unlimited Extended License',\n total: 4372,\n avatar: '',\n invoiceStatus: 'Sent',\n balance: '-$344',\n dueDate: '17 Sep 2019'\n },\n {\n id: 5004,\n issuedDate: '27 May 2019',\n client: {\n address: '55642 Chang Extensions Suite 373',\n company: 'Williams LLC Inc',\n companyEmail: 'cramirez@ross-bass.biz',\n country: 'Saint Pierre and Miquelon',\n contact: '(648) 500-4338',\n name: 'Jennifer Morris'\n },\n service: 'Template Customization',\n total: 3198,\n avatar: 'assets/images/avatars/7-small.png',\n invoiceStatus: 'Partial Payment',\n balance: '-$253',\n dueDate: '16 Aug 2019'\n },\n {\n id: 5005,\n issuedDate: '30 Jul 2019',\n client: {\n address: '56694 Eric Orchard',\n company: 'Hudson, Bell and Phillips PLC',\n companyEmail: 'arielberg@wolfe-smith.com',\n country: 'Uruguay',\n contact: '(896) 544-3796',\n name: 'Timothy Stevenson'\n },\n service: 'Unlimited Extended License',\n total: 5293,\n avatar: '',\n invoiceStatus: 'Past Due',\n balance: 0,\n dueDate: '01 Aug 2019'\n },\n {\n id: 5006,\n issuedDate: '10 Jun 2019',\n client: {\n address: '3727 Emma Island Suite 879',\n company: 'Berry, Gonzalez and Heath Inc',\n companyEmail: 'yrobinson@nichols.com',\n country: 'Israel',\n contact: '(236) 784-5142',\n name: 'Erik Hayden'\n },\n service: 'Template Customization',\n total: 5612,\n avatar: 'assets/images/avatars/6-small.png',\n invoiceStatus: 'Downloaded',\n balance: '$883',\n dueDate: '12 Apr 2019'\n },\n {\n id: 5007,\n issuedDate: '01 Feb 2020',\n client: {\n address: '953 Miller Common Suite 580',\n company: 'Martinez, Fuller and Chavez and Sons',\n companyEmail: 'tatejennifer@allen.net',\n country: 'Cook Islands',\n contact: '(436) 717-2419',\n name: 'Katherine Kennedy'\n },\n service: 'Software Development',\n total: 2230,\n avatar: 'assets/images/avatars/1-small.png',\n invoiceStatus: 'Sent',\n balance: 0,\n dueDate: '19 Nov 2019'\n },\n {\n id: 5008,\n issuedDate: '22 Mar 2020',\n client: {\n address: '808 Sullivan Street Apt. 135',\n company: 'Wilson and Sons LLC',\n companyEmail: 'gdurham@lee.com',\n country: 'Nepal',\n contact: '(489) 946-3041',\n name: 'Monica Fuller'\n },\n service: 'Unlimited Extended License',\n total: 2032,\n avatar: 'assets/images/avatars/8-small.png',\n invoiceStatus: 'Partial Payment',\n balance: 0,\n dueDate: '30 Nov 2019'\n },\n {\n id: 5009,\n issuedDate: '30 Nov 2019',\n client: {\n address: '25135 Christopher Creek',\n company: 'Hawkins, Johnston and Mcguire PLC',\n companyEmail: 'jenny96@lawrence-thompson.com',\n country: 'Kiribati',\n contact: '(274) 246-3725',\n name: 'Stacey Carter'\n },\n service: 'UI/UX Design & Development',\n total: 3128,\n avatar: 'assets/images/avatars/3-small.png',\n invoiceStatus: 'Paid',\n balance: 0,\n dueDate: '10 Sep 2019'\n },\n {\n id: 5010,\n issuedDate: '06 Jan 2020',\n client: {\n address: '81285 Rebecca Estates Suite 046',\n company: 'Huynh-Mills and Sons',\n companyEmail: 'jgutierrez@jackson.com',\n country: 'Swaziland',\n contact: '(258) 211-5970',\n name: 'Chad Davis'\n },\n service: 'Software Development',\n total: 2060,\n avatar: 'assets/images/avatars/2-small.png',\n invoiceStatus: 'Downloaded',\n balance: 0,\n dueDate: '08 Dec 2019'\n },\n {\n id: 5011,\n issuedDate: '01 Jun 2019',\n client: {\n address: '3102 Briggs Dale Suite 118',\n company: 'Jones-Cooley and Sons',\n companyEmail: 'hunter14@jones.com',\n country: 'Congo',\n contact: '(593) 965-4100',\n name: 'Chris Reyes'\n },\n service: 'UI/UX Design & Development',\n total: 4077,\n avatar: '',\n invoiceStatus: 'Draft',\n balance: 0,\n dueDate: '01 Feb 2020'\n },\n {\n id: 5012,\n issuedDate: '30 Oct 2019',\n client: {\n address: '811 Jill Skyway',\n company: 'Jones PLC Ltd',\n companyEmail: 'pricetodd@johnson-jenkins.com',\n country: 'Brazil',\n contact: '(585) 829-2603',\n name: 'Laurie Summers'\n },\n service: 'Template Customization',\n total: 2872,\n avatar: 'assets/images/avatars/4-small.png',\n invoiceStatus: 'Partial Payment',\n balance: 0,\n dueDate: '18 Oct 2019'\n },\n {\n id: 5013,\n issuedDate: '05 Feb 2020',\n client: {\n address: '2223 Brandon Inlet Suite 597',\n company: 'Jordan, Gomez and Ross Group',\n companyEmail: 'perrydavid@chapman-rogers.com',\n country: 'Congo',\n contact: '(527) 351-5517',\n name: 'Lindsay Wilson'\n },\n service: 'Software Development',\n total: 3740,\n avatar: 'assets/images/avatars/10-small.png',\n invoiceStatus: 'Draft',\n balance: 0,\n dueDate: '01 Nov 2019'\n },\n {\n id: 5014,\n issuedDate: '01 Dec 2019',\n client: {\n address: '08724 Barry Causeway',\n company: 'Gonzalez, Moody and Glover LLC',\n companyEmail: 'leahgriffin@carpenter.com',\n country: 'Equatorial Guinea',\n contact: '(628) 903-0132',\n name: 'Jenna Castro'\n },\n service: 'Unlimited Extended License',\n total: 3623,\n avatar: '',\n invoiceStatus: 'Downloaded',\n balance: 0,\n dueDate: '23 Sep 2019'\n },\n {\n id: 5015,\n issuedDate: '16 Apr 2019',\n client: {\n address: '073 Holt Ramp Apt. 755',\n company: 'Ashley-Pacheco Ltd',\n companyEmail: 'esparzadaniel@allen.com',\n country: 'Seychelles',\n contact: '(847) 396-9904',\n name: 'Wendy Weber'\n },\n service: 'Software Development',\n total: 2477,\n avatar: 'assets/images/avatars/7-small.png',\n invoiceStatus: 'Draft',\n balance: 0,\n dueDate: '01 Apr 2019'\n },\n {\n id: 5016,\n issuedDate: '24 Jan 2020',\n client: {\n address: '984 Sherry Trail Apt. 953',\n company: 'Berry PLC Group',\n companyEmail: 'todd34@owens-morgan.com',\n country: 'Ireland',\n contact: '(852) 249-4539',\n name: 'April Yates'\n },\n service: 'Unlimited Extended License',\n total: 3904,\n avatar: '',\n invoiceStatus: 'Paid',\n balance: '$951',\n dueDate: '30 Sep 2019'\n },\n {\n id: 5017,\n issuedDate: '24 Feb 2020',\n client: {\n address: '093 Jonathan Camp Suite 953',\n company: 'Allen Group Ltd',\n companyEmail: 'roydavid@bailey.com',\n country: 'Netherlands',\n contact: '(917) 984-2232',\n name: 'Daniel Marshall PhD'\n },\n service: 'UI/UX Design & Development',\n total: 3102,\n avatar: 'assets/images/avatars/1-small.png',\n invoiceStatus: 'Partial Payment',\n balance: '-$153',\n dueDate: '25 Aug 2019'\n },\n {\n id: 5018,\n issuedDate: '29 Feb 2020',\n client: {\n address: '4735 Kristie Islands Apt. 259',\n company: 'Chapman-Schneider LLC',\n companyEmail: 'baldwinjoel@washington.com',\n country: 'Cocos (Keeling) Islands',\n contact: '(670) 409-3703',\n name: 'Randy Rich'\n },\n service: 'UI/UX Design & Development',\n total: 2483,\n avatar: 'assets/images/avatars/5-small.png',\n invoiceStatus: 'Draft',\n balance: 0,\n dueDate: '10 Jul 2019'\n },\n {\n id: 5019,\n issuedDate: '07 Aug 2019',\n client: {\n address: '92218 Andrew Radial',\n company: 'Mcclure, Hernandez and Simon Ltd',\n companyEmail: 'psmith@morris.info',\n country: 'Macao',\n contact: '(646) 263-0257',\n name: 'Mrs. Jodi Chapman'\n },\n service: 'Unlimited Extended License',\n total: 2825,\n avatar: 'assets/images/avatars/8-small.png',\n invoiceStatus: 'Partial Payment',\n balance: '-$459',\n dueDate: '14 Oct 2019'\n },\n {\n id: 5020,\n issuedDate: '10 May 2019',\n client: {\n address: '2342 Michelle Valley',\n company: 'Hamilton PLC and Sons',\n companyEmail: 'lori06@morse.com',\n country: 'Somalia',\n contact: '(751) 213-4288',\n name: 'Steven Myers'\n },\n service: 'Unlimited Extended License',\n total: 2029,\n avatar: 'assets/images/avatars/4-small.png',\n invoiceStatus: 'Past Due',\n balance: 0,\n dueDate: '28 Mar 2019'\n },\n {\n id: 5021,\n issuedDate: '02 Apr 2019',\n client: {\n address: '16039 Brittany Terrace Apt. 128',\n company: 'Silva-Reeves LLC',\n companyEmail: 'zpearson@miller.com',\n country: 'Slovakia (Slovak Republic)',\n contact: '(655) 649-7872',\n name: 'Charles Alexander'\n },\n service: 'Software Development',\n total: 3208,\n avatar: '',\n invoiceStatus: 'Sent',\n balance: 0,\n dueDate: '06 Sep 2019'\n },\n {\n id: 5022,\n issuedDate: '02 May 2019',\n client: {\n address: '37856 Olsen Lakes Apt. 852',\n company: 'Solis LLC Ltd',\n companyEmail: 'strongpenny@young.net',\n country: 'Brazil',\n contact: '(402) 935-0735',\n name: 'Elizabeth Jones'\n },\n service: 'Software Development',\n total: 3077,\n avatar: '',\n invoiceStatus: 'Sent',\n balance: 0,\n dueDate: '09 May 2019'\n },\n {\n id: 5023,\n issuedDate: '23 Mar 2020',\n client: {\n address: '11489 Griffin Plaza Apt. 927',\n company: 'Munoz-Peters and Sons',\n companyEmail: 'carrietorres@acosta.com',\n country: 'Argentina',\n contact: '(915) 448-6271',\n name: 'Heidi Walton'\n },\n service: 'Software Development',\n total: 5578,\n avatar: 'assets/images/avatars/9-small.png',\n invoiceStatus: 'Draft',\n balance: 0,\n dueDate: '23 Jul 2019'\n },\n {\n id: 5024,\n issuedDate: '28 Sep 2019',\n client: {\n address: '276 Michael Gardens Apt. 004',\n company: 'Shea, Velez and Garcia LLC',\n companyEmail: 'zjohnson@nichols-powers.com',\n country: 'Philippines',\n contact: '(817) 700-2984',\n name: 'Christopher Allen'\n },\n service: 'Software Development',\n total: 2787,\n avatar: 'assets/images/avatars/1-small.png',\n invoiceStatus: 'Partial Payment',\n balance: 0,\n dueDate: '25 Sep 2019'\n },\n {\n id: 5025,\n issuedDate: '21 Feb 2020',\n client: {\n address: '633 Bell Well Apt. 057',\n company: 'Adams, Simmons and Brown Group',\n companyEmail: 'kayla09@thomas.com',\n country: 'Martinique',\n contact: '(266) 611-9482',\n name: 'Joseph Oliver'\n },\n service: 'UI/UX Design & Development',\n total: 5591,\n avatar: '',\n invoiceStatus: 'Downloaded',\n balance: 0,\n dueDate: '07 Jun 2019'\n },\n {\n id: 5026,\n issuedDate: '24 May 2019',\n client: {\n address: '1068 Lopez Fall',\n company: 'Williams-Lawrence and Sons',\n companyEmail: 'melvindavis@allen.info',\n country: 'Mexico',\n contact: '(739) 745-9728',\n name: 'Megan Roberts'\n },\n service: 'Template Customization',\n total: 2783,\n avatar: 'assets/images/avatars/6-small.png',\n invoiceStatus: 'Draft',\n balance: 0,\n dueDate: '22 Oct 2019'\n },\n {\n id: 5027,\n issuedDate: '13 Jan 2020',\n client: {\n address: '86691 Mackenzie Light Suite 568',\n company: 'Deleon Inc LLC',\n companyEmail: 'gjordan@fernandez-coleman.com',\n country: 'Costa Rica',\n contact: '(682) 804-6506',\n name: 'Mary Garcia'\n },\n service: 'Template Customization',\n total: 2719,\n avatar: '',\n invoiceStatus: 'Sent',\n balance: 0,\n dueDate: '04 Feb 2020'\n },\n {\n id: 5028,\n issuedDate: '18 May 2019',\n client: {\n address: '86580 Sarah Bridge',\n company: 'Farmer, Johnson and Anderson Group',\n companyEmail: 'robertscott@garcia.com',\n country: 'Cameroon',\n contact: '(775) 366-0411',\n name: 'Crystal Mays'\n },\n service: 'Template Customization',\n total: 3325,\n avatar: '',\n invoiceStatus: 'Paid',\n balance: '$361',\n dueDate: '02 Mar 2020'\n },\n {\n id: 5029,\n issuedDate: '29 Oct 2019',\n client: {\n address: '49709 Edwin Ports Apt. 353',\n company: 'Sherman-Johnson PLC',\n companyEmail: 'desiree61@kelly.com',\n country: 'Macedonia',\n contact: '(510) 536-6029',\n name: 'Nicholas Tanner'\n },\n service: 'Template Customization',\n total: 3851,\n avatar: '',\n invoiceStatus: 'Paid',\n balance: 0,\n dueDate: '25 Aug 2019'\n },\n {\n id: 5030,\n issuedDate: '07 Apr 2019',\n client: {\n address: '3856 Mathis Squares Apt. 584',\n company: 'Byrd LLC PLC',\n companyEmail: 'jeffrey25@martinez-hodge.com',\n country: 'Congo',\n contact: '(253) 230-4657',\n name: 'Mr. Justin Richardson'\n },\n service: 'Template Customization',\n total: 5565,\n avatar: '',\n invoiceStatus: 'Draft',\n balance: 0,\n dueDate: '06 Mar 2020'\n },\n {\n id: 5031,\n issuedDate: '21 Aug 2019',\n client: {\n address: '141 Adrian Ridge Suite 550',\n company: 'Stone-Zimmerman Group',\n companyEmail: 'john77@anderson.net',\n country: 'Falkland Islands (Malvinas)',\n contact: '(612) 546-3485',\n name: 'Jennifer Summers'\n },\n service: 'Template Customization',\n total: 3313,\n avatar: 'assets/images/avatars/3-small.png',\n invoiceStatus: 'Partial Payment',\n balance: 0,\n dueDate: '09 Jun 2019'\n },\n {\n id: 5032,\n issuedDate: '31 May 2019',\n client: {\n address: '01871 Kristy Square',\n company: 'Yang, Hansen and Hart PLC',\n companyEmail: 'ywagner@jones.com',\n country: 'Germany',\n contact: '(203) 601-8603',\n name: 'Richard Payne'\n },\n service: 'Template Customization',\n total: 5181,\n avatar: '',\n invoiceStatus: 'Past Due',\n balance: 0,\n dueDate: '22 Oct 2019'\n },\n {\n id: 5033,\n issuedDate: '12 Jul 2019',\n client: {\n address: '075 Smith Views',\n company: 'Jenkins-Rosales Inc',\n companyEmail: 'calvin07@joseph-edwards.org',\n country: 'Colombia',\n contact: '(895) 401-4255',\n name: 'Lori Wells'\n },\n service: 'Template Customization',\n total: 2869,\n avatar: 'assets/images/avatars/1-small.png',\n invoiceStatus: 'Partial Payment',\n balance: 0,\n dueDate: '22 Mar 2020'\n },\n {\n id: 5034,\n issuedDate: '10 Jul 2019',\n client: {\n address: '2577 Pearson Overpass Apt. 314',\n company: 'Mason-Reed PLC',\n companyEmail: 'eric47@george-castillo.com',\n country: 'Paraguay',\n contact: '(602) 336-9806',\n name: 'Tammy Sanchez'\n },\n service: 'Unlimited Extended License',\n total: 4836,\n avatar: '',\n invoiceStatus: 'Paid',\n balance: 0,\n dueDate: '22 Oct 2019'\n },\n {\n id: 5035,\n issuedDate: '20 Jul 2019',\n client: {\n address: '1770 Sandra Mountains Suite 636',\n company: 'Foster-Pham PLC',\n companyEmail: 'jamesjoel@chapman.net',\n country: 'Western Sahara',\n contact: '(936) 550-1638',\n name: 'Dana Carey'\n },\n service: 'UI/UX Design & Development',\n total: 4263,\n avatar: '',\n invoiceStatus: 'Draft',\n balance: '$762',\n dueDate: '12 Jun 2019'\n },\n {\n id: 5036,\n issuedDate: '19 Apr 2019',\n client: {\n address: '78083 Laura Pines',\n company: 'Richardson and Sons LLC',\n companyEmail: 'pwillis@cross.org',\n country: 'Bhutan',\n contact: '(687) 660-2473',\n name: 'Andrew Burns'\n },\n service: 'Unlimited Extended License',\n total: 3171,\n avatar: 'assets/images/avatars/9-small.png',\n invoiceStatus: 'Paid',\n balance: '-$205',\n dueDate: '25 Sep 2019'\n }\n ];\n}\n","export class KBFakeData {\n public static data = {\n // knowledge base\n knowledgeBase: [\n {\n id: 1,\n category: 'sales-automation',\n img: 'assets/images/illustration/sales.svg',\n title: 'Sales Automation',\n desc: 'There is perhaps no better demonstration of the folly of image of our tiny world.'\n },\n {\n id: 2,\n category: 'marketing-automation',\n img: 'assets/images/illustration/marketing.svg',\n title: 'Marketing Automation',\n desc: 'Look again at that dot. That’s here. That’s home. That’s us. On it everyone you love.'\n },\n {\n id: 3,\n category: 'api-questions',\n img: 'assets/images/illustration/api.svg',\n title: 'API Questions',\n desc: 'every hero and coward, every creator and destroyer of civilization.'\n },\n {\n id: 4,\n category: 'personalization',\n img: 'assets/images/illustration/personalization.svg',\n title: 'Personalization',\n desc: 'It has been said that astronomy is a humbling and character experience.'\n },\n {\n id: 5,\n category: 'email-marketing',\n img: 'assets/images/illustration/email.svg',\n title: 'Email Marketing',\n desc: 'There is perhaps no better demonstration of the folly of human conceits.'\n },\n {\n id: 6,\n category: 'demand-generation',\n img: 'assets/images/illustration/demand.svg',\n title: 'Demand Generation',\n desc: 'Competent means we will never take anything for granted.'\n }\n ],\n categoryData: [\n {\n id: 0,\n title: 'Account Settings',\n icon: 'settings',\n iconColor: 'text-primary',\n questions: [\n {\n id: 0,\n question: 'How Secure Is My Password?',\n slug: 'how-secure-is-my-password'\n },\n {\n id: 1,\n question: 'Can I Change My Username?',\n slug: 'can-i-change-my-username'\n },\n {\n id: 2,\n question: 'Where Can I Upload My Avatar?',\n slug: 'where-can-i-upload-my-avatar'\n },\n {\n id: 3,\n question: 'How Do I Change My Timezone?',\n slug: 'how-do-i-change-my-timezone'\n },\n {\n id: 4,\n question: 'How Do I Change My Password?',\n slug: 'how-do-i-change-my-password'\n }\n ]\n },\n {\n id: 1,\n title: 'API Questions',\n icon: 'link',\n iconColor: 'text-success',\n questions: [\n {\n id: 0,\n question: 'What Technologies Are Used?',\n slug: 'what-technologies-are-used'\n },\n {\n id: 1,\n question: 'What Are The API Limits?',\n slug: 'what-are-the-api-limits'\n },\n {\n id: 2,\n question: 'Why Was My Application Rejected?',\n slug: 'why-was-my-application-rejected'\n },\n {\n id: 3,\n question: 'Where can I find the documentation?',\n slug: 'where-can-i-find-the-documentation'\n },\n {\n id: 4,\n question: 'How Do I Get An API Key?',\n slug: 'how-do-i-get-an-api-key'\n }\n ]\n },\n {\n id: 2,\n title: 'Billing',\n icon: 'file-text',\n iconColor: 'text-danger',\n questions: [\n {\n id: 0,\n question: 'Can I Contact A Salés Rep?',\n slug: 'can-i-contact-a-salés-rep'\n },\n {\n id: 1,\n question: 'Do I Need To Pay VAT?',\n slug: 'do-i-needto-pay-vat'\n },\n {\n id: 2,\n question: 'Can I Get A Refund?',\n slug: 'can-i-get-a-refund'\n },\n {\n id: 3,\n question: 'Difference Annual & Monthly Billing',\n slug: 'difference-annual-monthly-billing'\n },\n {\n id: 4,\n question: 'What Happens If The Price Increases?',\n slug: 'what-happens-if-the-price-increases?'\n }\n ]\n },\n {\n id: 3,\n title: 'Copyright & Legal',\n icon: 'lock',\n iconColor: 'text-warning',\n questions: [\n {\n id: 0,\n question: 'How Do I Contact Legal?',\n slug: 'how-do-i-contact-legal'\n },\n {\n id: 1,\n question: 'Where Are Your Offices Located?',\n slug: 'where-are-your-offices-located'\n },\n {\n id: 2,\n question: 'Who Owns The Copyright On Text?',\n slug: 'who-owns-the-copyright-on-text'\n },\n {\n id: 3,\n question: 'Our Content Policy',\n slug: 'our-content-policy'\n },\n {\n id: 4,\n question: 'How Do I File A DMCA?',\n slug: 'how-do-i-file-a-dmca'\n }\n ]\n },\n {\n id: 4,\n title: 'Mobile Apps',\n icon: 'smartphone',\n iconColor: 'text-info',\n questions: [\n {\n id: 0,\n question: 'How Do I Download The Android App?',\n slug: 'how-do-i-download-the-android-app'\n },\n {\n id: 1,\n question: 'How To Download Our iPad App',\n slug: 'how-to-download-our-ipad-app'\n },\n {\n id: 2,\n question: 'Where Can I Upload My Avatar?',\n slug: 'where-can-i-upload-my-avatar'\n },\n {\n id: 3,\n question: 'Can I Use My Android Phone?',\n slug: 'can-i-use-my-android-phone'\n },\n {\n id: 4,\n question: 'Is There An iOS App?',\n slug: 'is-there-an-ios-app'\n }\n ]\n },\n {\n id: 5,\n title: 'Using KnowHow',\n icon: 'info',\n iconColor: '',\n questions: [\n {\n id: 0,\n question: 'Customization',\n slug: 'customization'\n },\n {\n id: 1,\n question: 'Upgrading',\n slug: 'upgrading'\n },\n {\n id: 2,\n question: 'Customizing Your Theme',\n slug: 'customizing-your-theme'\n },\n {\n id: 3,\n question: 'Upgrading Your Theme',\n slug: 'upgrading-your-theme'\n }\n ]\n }\n ],\n questionData: {\n title: 'Why Was My Developer Application Rejected?',\n lastUpdated: '10 Dec 2018',\n relatedQuestions: [\n {\n id: 0,\n question: 'How Secure Is My Password?'\n },\n {\n id: 1,\n question: 'Can I Change My Username?'\n },\n {\n id: 2,\n question: 'Where Can I Upload My Avatar?'\n },\n {\n id: 3,\n question: 'How Do I Change My Timezone?'\n },\n {\n id: 4,\n question: 'How Do I Change My Password?'\n }\n ],\n content: `

    It has been said that astronomy is a humbling and character-building experience. There is perhaps no better demonstration of the folly of human conceits than this distant image of our tiny world. To me, it underscores our responsibility to deal more kindly with one another, and to preserve and cherish the pale blue dot, the only home we’ve ever known. The Earth is a very small stage in a vast cosmic arena. Think of the rivers of blood spilled by all those generals and emperors so that, in glory and triumph, they could become the momentary masters of a fraction of a dot. Think of the endless cruelties visited by the inhabitants of one corner of this pixel on the scarcely distinguishable inhabitants of some other corner, how frequent their misunderstandings, how eager they are to kill one another, how fervent their hatreds.

    Houston

    that may have seemed like a very long final phase. The auto targeting was taking us right into a … crater, with a large number of big boulders and rocks … and it required … flying manually over the rock field to find a reasonably good area.

    `\n }\n };\n}\n","export class NotificationsFakeData {\n public static data = {\n messages: [\n {\n image: 'assets/images/portrait/small/avatar-s-15.jpg',\n heading: 'Congratulation Sam 🎉 winner!',\n text: 'Won the monthly best seller badge.'\n },\n {\n image: 'assets/images/portrait/small/avatar-s-3.jpg',\n heading: 'New message received',\n text: 'You have 10 unread messages'\n },\n {\n image: 'assets/images/portrait/small/avatar-s-12.jpg',\n heading: 'Revised Order 👋 checkout',\n text: 'MD Inc. order updated'\n }\n ],\n systemMessages: [\n {\n icon: 'x',\n heading: 'Server down registered',\n text: 'USA Server is down due to hight CPU usage'\n },\n {\n icon: 'check',\n heading: 'Sales report generated',\n text: 'Last month sales report generated'\n },\n {\n icon: 'alert-triangle',\n heading: 'High memory usage',\n text: 'BLR Server using high memory'\n }\n ],\n system: true\n };\n}\n","export class PricingFakeData {\n public static data = {\n pricing: {\n basicPlan: {\n title: 'Basic',\n img: 'assets/images/illustration/Pot1.svg',\n subtitle: 'A simple start for everyone',\n monthlyPrice: 0,\n yearlyPlan: {\n perMonth: 0,\n totalAnual: 0\n },\n planBenefits: [\n '100 responses a month',\n 'Unlimited forms and surveys',\n 'Unlimited fields',\n 'Basic form creation tools',\n 'Up to 2 subdomains'\n ],\n popular: false\n },\n standardPlan: {\n title: 'Standard',\n img: 'assets/images/illustration/Pot2.svg',\n subtitle: 'For small to medium businesses',\n monthlyPrice: 49,\n yearlyPlan: {\n perMonth: 40,\n totalAnual: 480\n },\n planBenefits: [\n 'Unlimited responses',\n 'Unlimited forms and surveys',\n 'Instagram profile page',\n 'Google Docs integration',\n 'Custom “Thank you” page'\n ],\n popular: true\n },\n enterprisePlan: {\n title: 'Enterprise',\n img: 'assets/images/illustration/Pot3.svg',\n subtitle: 'Solution for big organizations',\n monthlyPrice: 99,\n yearlyPlan: {\n perMonth: 80,\n totalAnual: 960\n },\n planBenefits: [\n 'PayPal payments',\n 'Logic Jumps',\n 'File upload with 5GB storage',\n 'Custom domain support',\n 'Stripe integration'\n ],\n popular: false\n },\n qandA: [\n {\n question: 'Does my subscription automatically renew?',\n ans:\n 'Pastry pudding cookie toffee bonbon jujubes jujubes powder topping. Jelly beans gummi bears sweet roll bonbon muffin liquorice. Wafer lollipop sesame snaps. Brownie macaroon cookie muffin cupcake candy caramels tiramisu. Oat cake chocolate cake sweet jelly-o brownie biscuit marzipan. Jujubes donut marzipan chocolate bar. Jujubes sugar plum jelly beans tiramisu icing cheesecake.'\n },\n {\n question: 'Can I store the item on an intranet so everyone has access?',\n ans:\n 'Tiramisu marshmallow dessert halvah bonbon cake gingerbread. Jelly beans chocolate pie powder. Dessert pudding chocolate cake bonbon bear claw cotton candy cheesecake. Biscuit fruitcake macaroon carrot cake. Chocolate cake bear claw muffin chupa chups pudding.'\n },\n {\n question: 'Am I allowed to modify the item that I purchased?',\n ans:\n 'Tart gummies dragée lollipop fruitcake pastry oat cake. Cookie jelly jelly macaroon icing jelly beans soufflé cake sweet. Macaroon sesame snaps cheesecake tart cake sugar plum. Dessert jelly-o sweet muffin chocolate candy pie tootsie roll marzipan. Carrot cake marshmallow pastry. Bonbon biscuit pastry topping toffee dessert gummies. Topping apple pie pie croissant cotton candy dessert tiramisu.'\n }\n ]\n }\n };\n}\n","export class ProfileFakeData {\n public static data = {\n profileData: {\n header: {\n avatar: 'assets/images/portrait/small/avatar-s-2.jpg',\n username: 'Kitty Allanson',\n designation: 'UI/UX Designer',\n coverImg: 'assets/images/profile/user-uploads/timeline.jpg'\n },\n userAbout: {\n about: 'Tart I love sugar plum I love oat cake. Sweet ⭐️ roll caramels I love jujubes. Topping cake wafer.',\n joined: 'November 15, 2015',\n lives: 'New York, USA',\n email: 'bucketful@fiendhead.org',\n website: 'www.pixinvent.com'\n },\n suggestedPages: [\n {\n avatar: 'assets/images/avatars/12-small.png',\n username: 'Peter Reed',\n subtitle: 'Company',\n favorite: false\n },\n {\n avatar: 'assets/images/avatars/1-small.png',\n username: 'Harriett Adkins',\n subtitle: 'Company',\n favorite: false\n },\n {\n avatar: 'assets/images/avatars/10-small.png',\n username: 'Juan Weaver',\n subtitle: 'Company',\n favorite: false\n },\n {\n avatar: 'assets/images/avatars/3-small.png',\n username: 'Claudia Chandler',\n subtitle: 'Company',\n favorite: false\n },\n {\n avatar: 'assets/images/avatars/5-small.png',\n username: 'Earl Briggs',\n subtitle: 'Company',\n favorite: true\n },\n {\n avatar: 'assets/images/avatars/6-small.png',\n username: 'Jonathan Lyons',\n subtitle: 'Beauty Store',\n favorite: false\n }\n ],\n twitterFeeds: [\n {\n imgUrl: 'assets/images/avatars/5-small.png',\n title: 'Gertrude Stevens',\n id: '@tiana59 ',\n tags: '#design #fasion',\n desc: 'I love cookie chupa chups sweet tart apple pie ⭐️ chocolate bar.',\n favorite: false\n },\n {\n imgUrl: 'assets/images/avatars/12-small.png',\n title: 'Lura Jones',\n id: '@tiana59 ',\n tags: '#vuejs #code #coffeez',\n desc: 'Halvah I love powder jelly I love cheesecake cotton candy. 😍',\n favorite: true\n },\n {\n imgUrl: 'assets/images/avatars/1-small.png',\n title: 'Norman Gross',\n id: '@tiana59 ',\n tags: '#sketch #uiux #figma',\n desc: 'Candy jelly beans powder brownie biscuit. Jelly marzipan oat cake cake.',\n favorite: false\n }\n ],\n post: [\n {\n avatar: 'assets/images/portrait/small/avatar-s-18.jpg',\n username: 'Leeanna Alvord',\n postTime: '12 Dec 2018 at 1:16 AM',\n postText:\n 'Wonderful Machine· A well-written bio allows viewers to get to know a photographer beyond the work. This can make the difference when presenting to clients who are looking for the perfect fit.',\n postImg: 'assets/images/profile/post-media/2.jpg',\n likes: '1.25k',\n youLiked: true,\n comments: '1.25k',\n share: '1.25k',\n likedUsers: [\n { avatar: 'assets/images/portrait/small/avatar-s-1.jpg', username: 'Trine Lynes' },\n { avatar: 'assets/images/portrait/small/avatar-s-2.jpg', username: 'Lilian Nenes' },\n { avatar: 'assets/images/portrait/small/avatar-s-3.jpg', username: 'Alberto Glotzbach' },\n { avatar: 'assets/images/portrait/small/avatar-s-5.jpg', username: 'George Nordic' },\n { avatar: 'assets/images/portrait/small/avatar-s-4.jpg', username: 'Vinnie Mostowy' }\n ],\n likedCount: 140,\n detailedComments: [\n {\n avatar: 'assets/images/portrait/small/avatar-s-6.jpg',\n username: 'Kitty Allanson',\n comment: 'Easy & smart fuzzy search🕵🏻 functionality which enables users to search quickly.',\n commentsLikes: 34,\n youLiked: false\n },\n {\n avatar: 'assets/images/portrait/small/avatar-s-8.jpg',\n username: 'Jackey Potter',\n comment: 'Unlimited color🖌 options allows you to set your application color as per your branding 🤪.',\n commentsLikes: 61,\n youLiked: true\n }\n ]\n },\n {\n avatar: 'assets/images/portrait/small/avatar-s-22.jpg',\n username: 'Rosa Walters',\n postTime: '11 Dec 2019 at 1:16 AM',\n postText:\n 'Wonderful Machine· A well-written bio allows viewers to get to know a photographer beyond the work. This can make the difference when presenting to clients who are looking for the perfect fit.',\n postImg: 'assets/images/profile/post-media/25.jpg',\n likes: '1.25k',\n youLiked: true,\n comments: '1.25k',\n share: '1.25k',\n likedUsers: [\n { avatar: 'assets/images/portrait/small/avatar-s-1.jpg', username: 'Trine Lynes' },\n { avatar: 'assets/images/portrait/small/avatar-s-2.jpg', username: 'Lilian Nenes' },\n { avatar: 'assets/images/portrait/small/avatar-s-3.jpg', username: 'Alberto Glotzbach' },\n { avatar: 'assets/images/portrait/small/avatar-s-5.jpg', username: 'George Nordic' },\n { avatar: 'assets/images/portrait/small/avatar-s-4.jpg', username: 'Vinnie Mostowy' }\n ],\n likedCount: 271,\n detailedComments: [\n {\n avatar: 'assets/images/portrait/small/avatar-s-3.jpg',\n username: 'Kitty Allanson',\n comment: 'Easy & smart fuzzy search🕵🏻 functionality which enables users to search quickly.',\n commentsLikes: 34,\n youLiked: false\n }\n ]\n },\n {\n avatar: 'assets/images/portrait/small/avatar-s-15.jpg',\n username: 'Charles Watson',\n postTime: '12 Dec 2019 at 1:16 AM',\n postText:\n 'Wonderful Machine· A well-written bio allows viewers to get to know a photographer beyond the work. This can make the difference when presenting to clients who are looking for the perfect fit.',\n postVid: 'https://www.youtube.com/embed/6stlCkUDG_s',\n likes: '1.25k ',\n youLiked: true,\n comments: '1.25k',\n share: '1.25k',\n likedUsers: [\n { avatar: 'assets/images/portrait/small/avatar-s-1.jpg', username: 'Trine Lynes' },\n { avatar: 'assets/images/portrait/small/avatar-s-2.jpg', username: 'Lilian Nenes' },\n { avatar: 'assets/images/portrait/small/avatar-s-3.jpg', username: 'Alberto Glotzbach' },\n { avatar: 'assets/images/portrait/small/avatar-s-5.jpg', username: 'George Nordic' },\n { avatar: 'assets/images/portrait/small/avatar-s-4.jpg', username: 'Vinnie Mostowy' }\n ],\n likedCount: 264,\n detailedComments: [\n {\n avatar: 'assets/images/portrait/small/avatar-s-3.jpg',\n username: 'Kitty Allanson',\n comment: 'Easy & smart fuzzy search🕵🏻 functionality which enables users to search quickly.',\n commentsLikes: 34,\n youLiked: false\n }\n ]\n }\n ],\n latestPhotos: [\n { img: 'assets/images/profile/user-uploads/user-13.jpg' },\n { img: 'assets/images/profile/user-uploads/user-02.jpg' },\n { img: 'assets/images/profile/user-uploads/user-03.jpg' },\n { img: 'assets/images/profile/user-uploads/user-04.jpg' },\n { img: 'assets/images/profile/user-uploads/user-05.jpg' },\n { img: 'assets/images/profile/user-uploads/user-06.jpg' },\n { img: 'assets/images/profile/user-uploads/user-07.jpg' },\n { img: 'assets/images/profile/user-uploads/user-08.jpg' },\n { img: 'assets/images/profile/user-uploads/user-09.jpg' }\n ],\n suggestions: [\n {\n avatar: 'assets/images/portrait/small/avatar-s-9.jpg',\n name: 'Peter Reed',\n mutualFriend: '6 Mutual Friends'\n },\n {\n avatar: 'assets/images/portrait/small/avatar-s-6.jpg',\n name: 'Harriett Adkins',\n mutualFriend: '3 Mutual Friends'\n },\n {\n avatar: 'assets/images/portrait/small/avatar-s-7.jpg',\n name: 'Juan Weaver',\n mutualFriend: '1 Mutual Friends'\n },\n {\n avatar: 'assets/images/portrait/small/avatar-s-8.jpg',\n name: 'Claudia Chandler',\n mutualFriend: '16 Mutual Friends'\n },\n {\n avatar: 'assets/images/portrait/small/avatar-s-1.jpg',\n name: 'Earl Briggs',\n mutualFriend: '4 Mutual Friends'\n },\n {\n avatar: 'assets/images/portrait/small/avatar-s-10.jpg',\n name: 'Jonathan Lyons',\n mutualFriend: '25 Mutual Friends'\n }\n ],\n polls: [\n {\n name: 'RDJ',\n result: '82%',\n votedUser: [\n { img: 'assets/images/portrait/small/avatar-s-12.jpg', username: 'Tonia Seabold' },\n { img: 'assets/images/portrait/small/avatar-s-5.jpg', username: 'Carissa Dolle' },\n { img: 'assets/images/portrait/small/avatar-s-9.jpg', username: 'Kelle Herrick' },\n { img: 'assets/images/portrait/small/avatar-s-10.jpg', username: 'Len Bregantini' },\n { img: 'assets/images/portrait/small/avatar-s-11.jpg', username: 'John Doe' }\n ]\n },\n {\n name: 'Chris Hemswort',\n result: '67%',\n votedUser: [\n { img: 'assets/images/portrait/small/avatar-s-9.jpg', username: 'Tonia Seabold' },\n { img: 'assets/images/portrait/small/avatar-s-1.jpg', username: 'Carissa Dolle' },\n { img: 'assets/images/portrait/small/avatar-s-8.jpg', username: 'Jonathan Lyons' }\n ]\n }\n ]\n }\n };\n}\n","export class SearchFakeData {\n public static search = [\n {\n groupTitle: 'Pages',\n searchLimit: 4,\n bookmarkLimit: 6,\n data: [\n {\n id: 1,\n target: 'calendar',\n isBookmarked: true,\n title: 'Calendar',\n icon: 'calendar',\n link: 'My-diary-planner'\n },\n {\n id: 2,\n target: 'file-plus',\n isBookmarked: true,\n title: 'File Manager',\n icon: 'file-plus',\n link: 'syncfilemanager'\n },\n // {\n // id: 3,\n // target: 'globe',\n // isBookmarked: true,\n // title: 'Trackers',\n // icon: 'globe',\n // link: '/'\n // },\n // {\n // id: 4,\n // target: 'upload-cloud',\n // isBookmarked: true,\n // title: 'Upload',\n // icon: 'upload-cloud',\n // link: 'Utilities'\n // }\n // {\n // id: 0,\n // target: 'analyticsDash',\n // isBookmarked: false,\n // title: 'Analytics Dashboard',\n // icon: 'home',\n // link: '/dashboard/analytics'\n // },\n // {\n // id: 1,\n // target: 'eCommerceDash',\n // isBookmarked: false,\n // title: 'eCommerce Dashboard',\n // icon: 'home',\n // link: '/'\n // },\n // {\n // id: 2,\n // target: 'email',\n // isBookmarked: true,\n // title: 'Email',\n // icon: 'mail',\n // link: '/apps/email'\n // },\n // {\n // id: 3,\n // target: 'chat',\n // isBookmarked: true,\n // title: 'Chat',\n // icon: 'message-square',\n // link: '/apps/chat'\n // },\n // {\n // id: 4,\n // target: 'todo',\n // isBookmarked: true,\n // title: 'Todo',\n // icon: 'check-square',\n // link: '/apps/todo'\n // },\n // {\n // id: 5,\n // target: 'calendar',\n // isBookmarked: true,\n // title: 'Calendar',\n // icon: 'calendar',\n // link: '/apps/calendar'\n // },\n // {\n // id: 6,\n // target: 'invoiceList',\n // isBookmarked: false,\n // title: 'Invoice List',\n // icon: 'list',\n // link: '/apps/invoice/list'\n // },\n // {\n // id: 7,\n // target: 'invoicePreview',\n // isBookmarked: false,\n // title: 'Invoice Preview',\n // icon: 'file-text',\n // link: '/apps/invoice/preview/4987'\n // },\n // {\n // id: 8,\n // target: 'invoiceEdit',\n // isBookmarked: false,\n // title: 'Invoice Edit',\n // icon: 'edit',\n // link: '/apps/invoice/edit/4987'\n // },\n // {\n // id: 9,\n // target: 'invoiceAdd',\n // isBookmarked: false,\n // title: 'Invoice Add',\n // icon: 'plus',\n // link: '/apps/invoice/add'\n // },\n // {\n // id: 10,\n // target: 'shop',\n // isBookmarked: false,\n // title: 'Shop Ecommerce',\n // icon: 'shopping-cart',\n // link: '/apps/e-commerce/shop'\n // },\n // {\n // id: 11,\n // target: 'detail',\n // isBookmarked: false,\n // title: 'Product Detail',\n // icon: 'circle',\n // link: '/apps/e-commerce/details/27'\n // },\n // {\n // id: 12,\n // target: 'wishList',\n // isBookmarked: false,\n // title: 'Wish List',\n // icon: 'heart',\n // link: '/apps/e-commerce/wishlist'\n // },\n // {\n // id: 13,\n // target: 'checkout',\n // isBookmarked: false,\n // title: 'Checkout',\n // icon: 'credit-card',\n // link: '/apps/e-commerce/checkout'\n // },\n // {\n // id: 14,\n // target: 'userList',\n // isBookmarked: false,\n // title: 'User List',\n // icon: 'user',\n // link: '/apps/user/user-list'\n // },\n // {\n // id: 15,\n // target: 'userView',\n // isBookmarked: false,\n // title: 'User View',\n // icon: 'user',\n // link: '/apps/user/user-view/2'\n // },\n // {\n // id: 16,\n // target: 'userEdit',\n // isBookmarked: false,\n // title: 'User Edit',\n // icon: 'user',\n // link: '/apps/user/user-edit/2'\n // },\n // {\n // id: 17,\n // target: 'login-v1',\n // isBookmarked: false,\n // title: 'Login v1 Page',\n // icon: 'user-plus',\n // link: '/pages/authentication/login-v1'\n // },\n // {\n // id: 18,\n // target: 'login-v2',\n // isBookmarked: false,\n // title: 'Login v2 Page',\n // icon: 'user-plus',\n // link: '/pages/authentication/login-v2'\n // },\n // {\n // id: 19,\n // target: 'register-v1',\n // isBookmarked: false,\n // title: 'Register v1 Page',\n // icon: 'user-plus',\n // link: '/pages/authentication/register-v1'\n // },\n // {\n // id: 20,\n // target: 'register-v2',\n // isBookmarked: false,\n // title: 'Register v2 Page',\n // icon: 'user-plus',\n // link: '/pages/authentication/register-v2'\n // },\n // {\n // id: 21,\n // target: 'forgotPassword-v1',\n // isBookmarked: false,\n // title: 'Forgot Password v1 Page',\n // icon: 'trending-up',\n // link: '/pages/authentication/forgot-password-v1'\n // },\n // {\n // id: 22,\n // target: 'forgotPassword-v2',\n // isBookmarked: false,\n // title: 'Forgot Password v2 Page',\n // icon: 'trending-up',\n // link: '/pages/authentication/forgot-password-v2'\n // },\n // {\n // id: 23,\n // target: 'resetPassword-v1',\n // isBookmarked: false,\n // title: 'Reset Password v1 Page',\n // icon: 'trending-up',\n // link: '/pages/authentication/reset-password-v1'\n // },\n // {\n // id: 24,\n // target: 'lock-screen',\n // isBookmarked: false,\n // title: 'Lock Screen',\n // icon: 'trending-up',\n // link: '/pages/authentication/lock-screen'\n // },\n // {\n // id: 25,\n // target: 'accountSettings',\n // isBookmarked: false,\n // title: 'Account Settings',\n // icon: 'settings',\n // link: '/pages/account-settings'\n // },\n // {\n // id: 26,\n // target: 'profile',\n // isBookmarked: false,\n // title: 'Profile Page',\n // icon: 'users',\n // link: '/pages/profile',\n // collapsed: true\n // },\n // {\n // id: 27,\n // target: 'faq',\n // isBookmarked: false,\n // title: 'FAQ Page',\n // icon: 'zap',\n // link: '/pages/faq'\n // },\n // {\n // id: 28,\n // target: 'knowledgeBase',\n // isBookmarked: false,\n // title: 'Knowledge Base Page',\n // icon: 'align-left',\n // link: '/pages/knowledge-base'\n // },\n\n // {\n // id: 29,\n // target: 'pricing',\n // isBookmarked: false,\n // title: 'Pricing',\n // icon: 'dollar-sign',\n // link: '/pages/pricing'\n // },\n\n // {\n // id: 30,\n // target: 'blogList',\n // isBookmarked: false,\n // title: 'Blog List',\n // icon: 'list',\n // link: '/pages/blog-list'\n // },\n // {\n // id: 31,\n // target: 'blogDetail',\n // isBookmarked: false,\n // title: 'Blog Details',\n // icon: 'file-text',\n // link: '/pages/blog-details/1'\n // },\n // {\n // id: 32,\n // target: 'blogEdit',\n // isBookmarked: false,\n // title: 'Blog Edit',\n // icon: 'edit',\n // link: '/pages/blog-edit'\n // },\n\n // {\n // id: 33,\n // target: 'comingSoon',\n // isBookmarked: false,\n // title: 'Coming Soon Page',\n // icon: 'watch',\n // link: '/miscellaneous/coming-soon'\n // },\n\n // {\n // id: 34,\n // target: 'notAuthorized',\n // isBookmarked: false,\n // title: 'Not Authorized Page',\n // icon: 'user-x',\n // link: '/miscellaneous/not-authorized'\n // },\n // {\n // id: 35,\n // target: 'maintenance',\n // isBookmarked: false,\n // title: 'Maintenance Page',\n // icon: 'aperture',\n // link: '/miscellaneous/maintenance'\n // },\n // {\n // id: 36,\n // target: 'error',\n // isBookmarked: false,\n // title: 'Error',\n // icon: 'alert-triangle',\n // link: '/miscellaneous/error'\n // },\n // {\n // id: 37,\n // target: 'typography',\n // isBookmarked: false,\n // title: 'Typography',\n // icon: 'type',\n // link: 'ui/content/typography'\n // },\n // {\n // id: 38,\n // target: 'colors',\n // isBookmarked: false,\n // title: 'Colors',\n // icon: 'feather',\n // link: '/ui/colors'\n // },\n // {\n // id: 39,\n // target: 'feather',\n // isBookmarked: false,\n // title: 'Feather Icons',\n // icon: 'feather',\n // link: '/ui/icons/feather'\n // },\n // {\n // id: 40,\n // target: 'basic',\n // isBookmarked: false,\n // title: 'Card Basic',\n // icon: 'square',\n // link: '/ui/card/card-basic'\n // },\n // {\n // id: 41,\n // target: 'cardAdvance',\n // isBookmarked: false,\n // title: 'Card Advance',\n // icon: 'tablet',\n // link: '/ui/card/advance'\n // },\n // {\n // id: 42,\n // target: 'cardStatistics',\n // isBookmarked: false,\n // title: 'Card Statistics',\n // icon: 'tablet',\n // link: '/ui/card/statistics'\n // },\n // {\n // id: 43,\n // target: 'CardAnalytics',\n // isBookmarked: false,\n // title: 'Card Analytics',\n // icon: 'bar-chart-2',\n // link: '/ui/card/analytics'\n // },\n // {\n // id: 44,\n // target: 'cardActions',\n // isBookmarked: false,\n // title: 'Card Actions',\n // icon: 'air-play',\n // link: '/ui/card/actions'\n // },\n // {\n // id: 45,\n // target: 'alerts',\n // isBookmarked: false,\n // title: 'Alerts',\n // icon: 'info',\n // link: '/components/alerts'\n // },\n // {\n // id: 46,\n // target: 'ratings',\n // isBookmarked: false,\n // title: 'Ratings',\n // icon: 'star',\n // link: '/components/ratings'\n // },\n // {\n // id: 47,\n // target: 'avatar',\n // isBookmarked: false,\n // title: 'Avatar',\n // icon: 'user',\n // link: '/components/avatar'\n // },\n // {\n // id: 48,\n // target: 'badges',\n // isBookmarked: false,\n // title: 'Badges',\n // icon: 'circle',\n // link: '/components/badges'\n // },\n // {\n // id: 49,\n // target: 'breadCrumbs',\n // isBookmarked: false,\n // title: 'Breadcrumbs',\n // icon: 'more-horizontal',\n // link: '/components/breadcrumbs'\n // },\n // {\n // id: 50,\n // target: 'buttons',\n // isBookmarked: false,\n // title: 'Buttons',\n // icon: 'inbox',\n // link: '/components/buttons'\n // },\n // {\n // id: 51,\n // target: 'carousel',\n // isBookmarked: false,\n // title: 'Carousel',\n // icon: 'map',\n // link: '/components/carousel'\n // },\n // {\n // id: 52,\n // target: 'collapse',\n // isBookmarked: false,\n // title: 'Collapse',\n // icon: 'minimize',\n // link: '/components/collapse'\n // },\n // {\n // id: 53,\n // target: 'divider',\n // isBookmarked: false,\n // title: 'Divider',\n // icon: 'minus',\n // link: '/components/divider'\n // },\n // {\n // id: 54,\n // target: 'dropDowns',\n // isBookmarked: false,\n // title: 'Dropdowns',\n // icon: 'inbox',\n // link: '/components/dropdowns'\n // },\n // {\n // id: 55,\n // target: 'listGroup',\n // isBookmarked: false,\n // title: 'List Group',\n // icon: 'layers',\n // link: '/components/list-group'\n // },\n // {\n // id: 56,\n // target: 'mediaObjects',\n // isBookmarked: false,\n // title: 'Media Objects',\n // icon: 'image',\n // link: '/components/media-objects'\n // },\n // {\n // id: 57,\n // target: 'modals',\n // isBookmarked: false,\n // title: 'Modals',\n // icon: 'maximize-2',\n // link: '/components/modals'\n // },\n // {\n // id: 58,\n // target: 'navsComponent',\n // isBookmarked: false,\n // title: 'Navs',\n // icon: 'more-vertical',\n // link: '/components/navs'\n // },\n // {\n // id: 59,\n // target: 'pagination',\n // isBookmarked: false,\n // title: 'Pagination',\n // icon: 'chevrons-right',\n // link: '/components/pagination'\n // },\n // {\n // id: 60,\n // target: 'pillBadges',\n // isBookmarked: false,\n // title: 'Pill Badges',\n // icon: 'circle',\n // link: '/components/pill-badges'\n // },\n // {\n // id: 61,\n // target: 'pillsComponent',\n // isBookmarked: false,\n // title: 'Pills Component',\n // icon: 'toggle-right',\n // link: '/components/pills'\n // },\n // {\n // id: 62,\n // target: 'popovers',\n // isBookmarked: false,\n // title: 'Popovers',\n // icon: 'message-circle',\n // link: '/components/popovers'\n // },\n // {\n // id: 63,\n // target: 'progress',\n // isBookmarked: false,\n // title: 'Progress',\n // icon: 'server',\n // link: '/components/progress'\n // },\n // {\n // id: 64,\n // target: 'spinner',\n // isBookmarked: false,\n // title: 'Spinner',\n // icon: 'sun',\n // link: '/components/spinner'\n // },\n // {\n // id: 65,\n // target: 'tabsComponent',\n // isBookmarked: false,\n // title: 'Tabs',\n // icon: 'server',\n // link: '/components/tabs'\n // },\n // {\n // id: 66,\n // target: 'timeline',\n // isBookmarked: false,\n // title: 'Timeline',\n // icon: 'more-vertical',\n // link: '/components/timeline'\n // },\n // {\n // id: 67,\n // target: 'toasts',\n // isBookmarked: false,\n // title: 'Toasts',\n // icon: 'triangle',\n // link: '/components/toasts'\n // },\n // {\n // id: 68,\n // target: 'tooltips',\n // isBookmarked: false,\n // title: 'Tooltips',\n // icon: 'message-circle',\n // link: '/components/tooltips'\n // },\n // {\n // id: 69,\n // target: 'sweetAlert',\n // isBookmarked: false,\n // title: 'Sweet Alerts',\n // icon: 'alert-triangle',\n // link: '/extensions/sweet-alerts'\n // },\n // {\n // id: 70,\n // target: 'blockui',\n // isBookmarked: false,\n // title: 'BlockUI',\n // icon: 'loader',\n // link: '/extensions/blockui'\n // },\n // {\n // id: 71,\n // target: 'toastr',\n // isBookmarked: false,\n // title: 'Toastr',\n // icon: 'credit-card',\n // link: '/extensions/toastr'\n // },\n // {\n // id: 72,\n // target: 'slider',\n // isBookmarked: false,\n // title: 'Slider',\n // icon: 'sliders',\n // link: '/extensions/noui-slider'\n // },\n // {\n // id: 73,\n // target: 'drag_&_drop',\n // isBookmarked: false,\n // title: 'Drag & Drop',\n // icon: 'move',\n // link: '/extensions/drag-drop'\n // },\n // {\n // id: 74,\n // target: 'tour',\n // isBookmarked: false,\n // title: 'Tour',\n // icon: 'airplay',\n // link: '/extensions/tour'\n // },\n // {\n // id: 75,\n // target: 'clipBoard',\n // isBookmarked: false,\n // title: 'Clipboard',\n // icon: 'clipboard',\n // link: '/extensions/clipboard'\n // },\n // {\n // id: 76,\n // target: 'mediaPlayer',\n // isBookmarked: false,\n // title: 'Media Player',\n // icon: 'film',\n // link: '/extensions/media-player'\n // },\n // {\n // id: 77,\n // target: 'contentMenu',\n // isBookmarked: false,\n // title: 'Context Menu',\n // icon: 'menu',\n // link: '/extensions/context-menu'\n // },\n // {\n // id: 78,\n // target: 'swiper',\n // isBookmarked: false,\n // title: 'Swiper',\n // icon: 'smartphone',\n // link: '/extensions/swiper'\n // },\n // {\n // id: 79,\n // target: 'tree-view',\n // isBookmarked: false,\n // title: 'Tree View',\n // icon: 'star',\n // link: '/extensions/tree-view'\n // },\n // {\n // id: 80,\n // target: 'i18n',\n // isBookmarked: false,\n // title: 'I18n',\n // icon: 'globe',\n // link: '/extensions/i18n'\n // },\n // {\n // id: 81,\n // target: 'input',\n // isBookmarked: false,\n // title: 'Input',\n // icon: 'server',\n // link: '/forms/form-elements/input'\n // },\n // {\n // id: 82,\n // target: 'inputGroup',\n // isBookmarked: false,\n // title: 'Input Group',\n // icon: 'package',\n // link: '/forms/form-elements/input-groups'\n // },\n // {\n // id: 83,\n // target: 'inputMask',\n // isBookmarked: false,\n // title: 'Input Mask',\n // icon: 'copy',\n // link: '/forms/form-elements/input-mask'\n // },\n // {\n // id: 84,\n // target: 'textarea',\n // isBookmarked: false,\n // title: 'Textarea',\n // icon: 'edit-2',\n // link: '/forms/form-elements/textarea'\n // },\n // {\n // id: 85,\n // target: 'checkbox',\n // isBookmarked: false,\n // title: 'Checkbox',\n // icon: 'check-square',\n // link: '/forms/form-elements/checkbox'\n // },\n // {\n // id: 86,\n // target: 'radio',\n // isBookmarked: false,\n // title: 'Radio',\n // icon: 'stop-circle',\n // link: '/forms/form-elements/radio'\n // },\n // {\n // id: 87,\n // target: 'switch',\n // isBookmarked: false,\n // title: 'Switch',\n // icon: 'toggle-left',\n // link: '/forms/form-elements/switch'\n // },\n // {\n // id: 88,\n // target: 'select',\n // isBookmarked: false,\n // title: 'Select',\n // icon: 'server',\n // link: '/forms/form-elements/select'\n // },\n // {\n // id: 89,\n // target: 'numberInput',\n // isBookmarked: false,\n // title: 'Number Input',\n // icon: 'plus',\n // link: '/forms/form-elements/number-input'\n // },\n // {\n // id: 90,\n // target: 'fileUploader',\n // isBookmarked: false,\n // title: 'File Uploader',\n // icon: 'upload',\n // link: '/forms/form-elements/file-uploader'\n // },\n // {\n // id: 91,\n // target: 'quillEditor',\n // isBookmarked: false,\n // title: 'Quill Editor',\n // icon: 'type',\n // link: '/forms/form-elements/quill-editor'\n // },\n // {\n // id: 108,\n // target: 'flatPicker',\n // isBookmarked: false,\n // title: 'Flatpicker',\n // icon: 'calendar',\n // link: '/forms/form-elements/flatpickr'\n // },\n // {\n // id: 92,\n // target: 'date_&_timePicker',\n // isBookmarked: false,\n // title: 'Date & Time Picker',\n // icon: 'calendar',\n // link: '/forms/form-elements/date-time-picker'\n // },\n // {\n // id: 93,\n // target: 'formLayouts',\n // isBookmarked: false,\n // title: 'Form Layouts',\n // icon: 'layout',\n // link: '/forms/form-layout'\n // },\n // {\n // id: 94,\n // target: 'wizard',\n // isBookmarked: false,\n // title: 'Form Wizard',\n // icon: 'sliders',\n // link: '/forms/form-wizard'\n // },\n // {\n // id: 95,\n // target: 'form-validation',\n // isBookmarked: false,\n // title: 'Form Validation',\n // icon: 'thumbs-up',\n // link: '/forms/form-validation'\n // },\n // {\n // id: 96,\n // target: 'form-repeater',\n // isBookmarked: false,\n // title: 'Form Repeater',\n // icon: 'rotate-cw',\n // link: '/forms/form-repeater'\n // },\n // {\n // id: 97,\n // target: 'tables-table',\n // isBookmarked: false,\n // title: 'Table',\n // icon: 'grid',\n // link: '/tables/table'\n // },\n // {\n // id: 98,\n // target: 'tables-datatable',\n // isBookmarked: false,\n // title: 'DataTables',\n // icon: 'grid',\n // link: '/tables/datatables'\n // },\n // {\n // id: 99,\n // target: 'apex',\n // isBookmarked: false,\n // title: 'Apex Charts',\n // icon: 'bar-chart',\n // link: '/charts-and-maps/apex'\n // },\n // {\n // id: 100,\n // target: 'chartJs',\n // isBookmarked: false,\n // title: 'ChartJS',\n // icon: 'activity',\n // link: '/charts-and-maps/chartjs'\n // },\n // {\n // id: 101,\n // target: 'google-maps',\n // isBookmarked: false,\n // title: 'Google Maps',\n // icon: 'map',\n // link: '/charts-and-maps/google-maps'\n // },\n // {\n // id: 102,\n // target: 'accordion',\n // isBookmarked: false,\n // title: 'Accordion',\n // icon: 'minimize',\n // link: '/components/accordion'\n // },\n // {\n // id: 103,\n // target: 'layout-collapsed-menu',\n // isBookmarked: false,\n // title: 'Collapsed Menu',\n // icon: 'layout',\n // link: '/ui/page-layouts/collapsed-menu'\n // },\n // {\n // id: 104,\n // target: 'layout-boxed',\n // isBookmarked: false,\n // title: 'Boxed Layout',\n // icon: 'layout',\n // link: '/ui/page-layouts/boxed-layout'\n // },\n // {\n // id: 105,\n // target: 'layout-without-menu',\n // isBookmarked: false,\n // title: 'Without Menu',\n // icon: 'layout',\n // link: '/ui/page-layouts/without-menu'\n // },\n // {\n // id: 106,\n // target: 'layout-empty',\n // isBookmarked: false,\n // title: 'Layout Empty',\n // icon: 'layout',\n // link: '/ui/page-layouts/layout-empty'\n // },\n // {\n // id: 107,\n // target: 'layout-blank',\n // isBookmarked: false,\n // title: 'Layout Blank',\n // icon: 'layout',\n // link: '/ui/page-layouts/layout-blank'\n // }\n ]\n },\n {\n groupTitle: 'Files',\n searchLimit: 4,\n data: [\n {\n title: 'Passport Image',\n by: 'Oliver Queen',\n size: '52kb',\n file: 'assets/images/icons/jpg.png'\n },\n {\n title: 'Parenting Guide',\n by: 'Alfred Pennyworth',\n size: '2.3mb',\n file: 'assets/images/icons/doc.png'\n },\n {\n title: 'Class Notes',\n by: 'Barry Allen',\n size: '30kb',\n file: 'assets/images/icons/doc.png'\n },\n {\n title: 'Class Attendance',\n by: 'Walter White',\n size: '52mb',\n file: 'assets/images/icons/xls.png'\n }\n ]\n },\n {\n groupTitle: 'Contacts',\n searchLimit: 4,\n data: [\n {\n title: 'Mia Davis',\n email: 'miadavis@teleworm.us',\n img: 'assets/images/portrait/small/avatar-s-8.jpg',\n date: '01/03/2020'\n },\n {\n title: 'Norris Carrière',\n email: 'NorrisCarriere@rhyta.com',\n img: 'assets/images/portrait/small/avatar-s-3.jpg',\n date: '07/03/2020'\n },\n {\n title: 'Charlotte Gordon',\n email: 'CharlotteGordon@jourrapide.com',\n img: 'assets/images/portrait/small/avatar-s-26.jpg',\n date: '14/03/2020'\n },\n {\n title: 'Robert Nash',\n email: 'RobertNash@dayrep.com',\n img: 'assets/images/portrait/small/avatar-s-25.jpg',\n date: '21/03/2020'\n }\n ]\n }\n ];\n}\n","export class TodoFakeData {\n public static tasks = [\n {\n id: 1,\n title: 'Entire change break our wife wide it daughter mention member.',\n dueDate: '2020-11-25',\n description:\n '

    Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.

    ',\n assignee: {\n fullName: 'Jacob Ramirez',\n avatar: 'assets/images/avatars/12.png'\n },\n tags: ['update'],\n completed: false,\n deleted: false,\n important: false\n },\n {\n id: 2,\n title: 'Citizen stand administration step agency century.',\n dueDate: '2020-12-14',\n description:\n '

    Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.

    ',\n assignee: {\n fullName: 'Andrew Anderson',\n avatar: ''\n },\n tags: ['team', 'medium'],\n completed: true,\n deleted: false,\n important: false\n },\n {\n id: 3,\n title: 'Meet Jane and ask for coffee ❤️',\n dueDate: '2020-11-25',\n description:\n '

    Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.

    ',\n assignee: {\n fullName: 'Benjamin Jacobs',\n avatar: ''\n },\n tags: ['high'],\n completed: false,\n deleted: false,\n important: false\n },\n {\n id: 4,\n title: 'Answer the support tickets and close completed tickets. ',\n dueDate: '2020-11-20',\n description:\n '

    Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.

    ',\n assignee: {\n fullName: 'Curtis Schmidt',\n avatar: 'assets/images/avatars/9.png'\n },\n tags: ['medium'],\n completed: false,\n deleted: false,\n important: true\n },\n {\n id: 5,\n title: 'Test functionality of apps developed by dev team for enhancements. ',\n dueDate: '2020-12-06',\n description:\n '

    Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.

    ',\n assignee: {\n fullName: 'Katherine Perkins',\n avatar: 'assets/images/avatars/9.png'\n },\n tags: ['medium'],\n completed: true,\n deleted: false,\n important: true\n },\n {\n id: 6,\n title: 'Conduct a mini awareness meeting regarding health care. ',\n dueDate: '2020-12-06',\n description:\n '

    Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.

    ',\n assignee: {\n fullName: 'David Murphy',\n avatar: ''\n },\n tags: ['high', 'medium'],\n completed: true,\n deleted: true,\n important: false\n },\n {\n id: 7,\n title: 'Plan new dashboard design with design team for Google app store. ',\n dueDate: '2020-12-05',\n description:\n '

    Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.

    ',\n assignee: {\n fullName: 'Karina Miller',\n avatar: 'assets/images/avatars/1.png'\n },\n tags: ['medium'],\n completed: false,\n deleted: false,\n important: true\n },\n {\n id: 8,\n title: 'Pick up Nats from her school and drop at dance class😁 ',\n dueDate: '2020-12-08',\n description:\n '

    Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.

    ',\n assignee: {\n fullName: 'Thomas Moses',\n avatar: 'assets/images/avatars/7.png'\n },\n tags: ['low', 'medium'],\n completed: false,\n deleted: false,\n important: false\n },\n {\n id: 9,\n title: 'Finish documentation and make it live',\n dueDate: '2020-11-25',\n description:\n '

    Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.

    ',\n assignee: {\n fullName: 'Angel Morrow',\n avatar: ''\n },\n tags: ['high', 'update'],\n completed: false,\n deleted: true,\n important: false\n },\n {\n id: 10,\n title: 'List out all the SEO resources and send it to new SEO team. ',\n dueDate: '2020-12-09',\n description:\n '

    Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.

    ',\n assignee: {\n fullName: 'Karen Carrillo',\n avatar: ''\n },\n tags: ['low'],\n completed: true,\n deleted: false,\n important: false\n },\n {\n id: 11,\n title: 'Refactor Code and fix the bugs and test it on server ',\n dueDate: '2020-12-01',\n description:\n '

    Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.

    ',\n assignee: {\n fullName: 'Timothy Brewer',\n avatar: 'assets/images/avatars/1.png'\n },\n tags: ['low'],\n completed: true,\n deleted: false,\n important: true\n },\n {\n id: 12,\n title: 'Reminder to mail clients for holidays',\n dueDate: '2020-12-09',\n description:\n '

    Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.

    ',\n assignee: {\n fullName: 'Brian Barry',\n avatar: ''\n },\n tags: ['team'],\n completed: false,\n deleted: false,\n important: false\n },\n {\n id: 13,\n title: \"Submit quotation for Abid's ecommerce website and admin project\",\n dueDate: '2020-12-01',\n description:\n '

    Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.

    ',\n assignee: {\n fullName: 'Joshua Golden',\n avatar: 'assets/images/avatars/5.png'\n },\n tags: ['team'],\n completed: false,\n deleted: false,\n important: false\n },\n {\n id: 14,\n title: 'Send PPT with real-time reports',\n dueDate: '2020-11-29',\n description:\n '

    Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.

    ',\n assignee: {\n fullName: 'Paula Hammond',\n avatar: 'assets/images/avatars/5.png'\n },\n tags: ['medium'],\n completed: true,\n deleted: false,\n important: true\n },\n {\n id: 15,\n title: 'Skype Tommy for project status & report',\n dueDate: '2020-11-29',\n description:\n '

    Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.

    ',\n assignee: {\n fullName: 'Tyler Garcia',\n avatar: ''\n },\n tags: ['medium'],\n completed: false,\n deleted: false,\n important: false\n },\n {\n id: 16,\n title: 'Hire 5 new Fresher or Experienced, frontend and backend developers ',\n dueDate: '2020-12-12',\n description:\n '

    Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.

    ',\n assignee: {\n fullName: 'Darlene Shields',\n avatar: 'assets/images/avatars/1.png'\n },\n tags: ['low'],\n completed: true,\n deleted: false,\n important: false\n },\n {\n id: 17,\n title: 'Plan a party for development team 🎁',\n dueDate: '2020-12-04',\n description:\n '

    Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.

    ',\n assignee: {\n fullName: 'Destiny Michael',\n avatar: ''\n },\n tags: ['medium', 'low'],\n completed: false,\n deleted: false,\n important: false\n },\n {\n id: 18,\n title: 'Fix Responsiveness for new structure 💻',\n dueDate: '2020-11-18',\n description:\n '

    Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.

    ',\n assignee: {\n fullName: 'Danielle Anderson',\n avatar: 'assets/images/avatars/12.png'\n },\n tags: ['low'],\n completed: false,\n deleted: false,\n important: true\n }\n ];\n\n public static assignee = [\n { fullName: 'Jacob Ramirez', avatar: 'assets/images/portrait/small/avatar-s-3.jpg' },\n { fullName: 'Andrew Anderson', avatar: 'assets/images/portrait/small/avatar-s-1.jpg' },\n { fullName: 'Benjamin Jacobs', avatar: 'assets/images/portrait/small/avatar-s-4.jpg' },\n { fullName: 'Curtis Schmidt', avatar: 'assets/images/portrait/small/avatar-s-6.jpg' },\n { fullName: 'Katherine Perkins', avatar: 'assets/images/portrait/small/avatar-s-2.jpg' },\n { fullName: 'David Murphy', avatar: 'assets/images/portrait/small/avatar-s-11.jpg' },\n { fullName: 'Karina Miller', avatar: 'assets/images/portrait/small/avatar-s-2.jpg' },\n { fullName: 'Thomas Moses', avatar: 'assets/images/portrait/small/avatar-s-1.jpg' },\n { fullName: 'Angel Morrow', avatar: 'assets/images/portrait/small/avatar-s-6.jpg' },\n { fullName: 'Karen Carrillo', avatar: 'assets/images/portrait/small/avatar-s-3.jpg' },\n { fullName: 'Timothy Brewer', avatar: 'assets/images/portrait/small/avatar-s-11.jpg' },\n { fullName: 'Brian Barry', avatar: 'assets/images/portrait/small/avatar-s-4.jpg' },\n { fullName: 'Joshua Golden', avatar: 'assets/images/portrait/small/avatar-s-11.jpg' },\n { fullName: 'Paula Hammond', avatar: 'assets/images/portrait/small/avatar-s-3.jpg' },\n { fullName: 'Tyler Garcia', avatar: 'assets/images/portrait/small/avatar-s-11.jpg' },\n { fullName: 'Darlene Shields', avatar: 'assets/images/portrait/small/avatar-s-4.jpg' },\n { fullName: 'Destiny Michael', avatar: 'assets/images/portrait/small/avatar-s-11.jpg' },\n { fullName: 'Danielle Anderson', avatar: 'assets/images/portrait/small/avatar-s-2.jpg' }\n ];\n\n public static filters = [\n {\n id: 0,\n handle: 'all',\n title: 'My Task',\n icon: 'mail'\n },\n {\n id: 1,\n handle: 'important',\n title: 'Important',\n icon: 'star'\n },\n {\n id: 2,\n handle: 'completed',\n title: 'Completed',\n icon: 'check'\n },\n {\n id: 3,\n handle: 'deleted',\n title: 'Deleted',\n icon: 'trash'\n }\n ];\n\n public static tags = [\n {\n id: 0,\n handle: 'team',\n title: 'Team',\n color: 'bullet-primary'\n },\n {\n id: 1,\n handle: 'low',\n title: 'Low',\n color: 'bullet-success'\n },\n {\n id: 2,\n handle: 'medium',\n title: 'Medium',\n color: 'bullet-warning'\n },\n {\n id: 3,\n handle: 'high',\n title: 'High',\n color: 'bullet-danger'\n },\n {\n id: 3,\n handle: 'update',\n title: 'Update',\n color: 'bullet-info'\n }\n ];\n}\n","export class UsersFakeData {\n public static users = [\n {\n id: 1,\n fullName: 'Galen Slixby',\n company: 'Yotz PVT LTD',\n role: 'Editor',\n username: 'gslixby0',\n country: 'El Salvador',\n contact: '(479) 232-9151',\n email: 'gslixby0@abc.net.au',\n currentPlan: 'Enterprise',\n status: 'inactive',\n avatar: ''\n },\n {\n id: 2,\n fullName: 'Halsey Redmore',\n company: 'Skinder PVT LTD',\n role: 'Author',\n username: 'hredmore1',\n country: 'Albania',\n contact: '(472) 607-9137',\n email: 'hredmore1@imgur.com',\n currentPlan: 'Team',\n status: 'pending',\n avatar: 'assets/images/avatars/10.png'\n },\n {\n id: 3,\n fullName: 'Marjory Sicely',\n company: 'Oozz PVT LTD',\n role: 'Maintainer',\n username: 'msicely2',\n country: 'Russia',\n contact: '(321) 264-4599',\n email: 'msicely2@who.int',\n currentPlan: 'Enterprise',\n status: 'active',\n avatar: 'assets/images/avatars/1.png'\n },\n {\n id: 4,\n fullName: 'Cyrill Risby',\n company: 'Oozz PVT LTD',\n role: 'Maintainer',\n username: 'crisby3',\n country: 'China',\n contact: '(923) 690-6806',\n email: 'crisby3@wordpress.com',\n currentPlan: 'Team',\n status: 'inactive',\n avatar: 'assets/images/avatars/9.png'\n },\n {\n id: 5,\n fullName: 'Maggy Hurran',\n company: 'Aimbo PVT LTD',\n role: 'Subscriber',\n username: 'mhurran4',\n country: 'Pakistan',\n contact: '(669) 914-1078',\n email: 'mhurran4@yahoo.co.jp',\n currentPlan: 'Enterprise',\n status: 'pending',\n avatar: 'assets/images/avatars/10.png'\n },\n {\n id: 6,\n fullName: 'Silvain Halstead',\n company: 'Jaxbean PVT LTD',\n role: 'Author',\n username: 'shalstead5',\n country: 'China',\n contact: '(958) 973-3093',\n email: 'shalstead5@shinystat.com',\n currentPlan: 'Company',\n status: 'active',\n avatar: ''\n },\n {\n id: 7,\n fullName: 'Breena Gallemore',\n company: 'Jazzy PVT LTD',\n role: 'Subscriber',\n username: 'bgallemore6',\n country: 'Canada',\n contact: '(825) 977-8152',\n email: 'bgallemore6@boston.com',\n currentPlan: 'Company',\n status: 'pending',\n avatar: ''\n },\n {\n id: 8,\n fullName: 'Kathryne Liger',\n company: 'Pixoboo PVT LTD',\n role: 'Author',\n username: 'kliger7',\n country: 'France',\n contact: '(187) 440-0934',\n email: 'kliger7@vinaora.com',\n currentPlan: 'Enterprise',\n status: 'pending',\n avatar: 'assets/images/avatars/9.png'\n },\n {\n id: 9,\n fullName: 'Franz Scotfurth',\n company: 'Tekfly PVT LTD',\n role: 'Subscriber',\n username: 'fscotfurth8',\n country: 'China',\n contact: '(978) 146-5443',\n email: 'fscotfurth8@dailymotion.com',\n currentPlan: 'Team',\n status: 'pending',\n avatar: 'assets/images/avatars/2.png'\n },\n {\n id: 10,\n fullName: 'Jillene Bellany',\n company: 'Gigashots PVT LTD',\n role: 'Maintainer',\n username: 'jbellany9',\n country: 'Jamaica',\n contact: '(589) 284-6732',\n email: 'jbellany9@kickstarter.com',\n currentPlan: 'Company',\n status: 'inactive',\n avatar: 'assets/images/avatars/9.png'\n },\n {\n id: 11,\n fullName: 'Jonah Wharlton',\n company: 'Eare PVT LTD',\n role: 'Subscriber',\n username: 'jwharltona',\n country: 'United States',\n contact: '(176) 532-6824',\n email: 'jwharltona@oakley.com',\n currentPlan: 'Team',\n status: 'inactive',\n avatar: 'assets/images/avatars/4.png'\n },\n {\n id: 12,\n fullName: 'Seth Hallam',\n company: 'Yakitri PVT LTD',\n role: 'Subscriber',\n username: 'shallamb',\n country: 'Peru',\n contact: '(234) 464-0600',\n email: 'shallamb@hugedomains.com',\n currentPlan: 'Team',\n status: 'pending',\n avatar: 'assets/images/avatars/5.png'\n },\n {\n id: 13,\n fullName: 'Yoko Pottie',\n company: 'Leenti PVT LTD',\n role: 'Subscriber',\n username: 'ypottiec',\n country: 'Philippines',\n contact: '(907) 284-5083',\n email: 'ypottiec@privacy.gov.au',\n currentPlan: 'Basic',\n status: 'inactive',\n avatar: 'assets/images/avatars/7.png'\n },\n {\n id: 14,\n fullName: 'Maximilianus Krause',\n company: 'Digitube PVT LTD',\n role: 'Author',\n username: 'mkraused',\n country: 'Democratic Republic of the Congo',\n contact: '(167) 135-7392',\n email: 'mkraused@stanford.edu',\n currentPlan: 'Team',\n status: 'active',\n avatar: 'assets/images/avatars/9.png'\n },\n {\n id: 15,\n fullName: 'Zsazsa McCleverty',\n company: 'Kaymbo PVT LTD',\n role: 'Maintainer',\n username: 'zmcclevertye',\n country: 'France',\n contact: '(317) 409-6565',\n email: 'zmcclevertye@soundcloud.com',\n currentPlan: 'Enterprise',\n status: 'active',\n avatar: 'assets/images/avatars/2.png'\n },\n {\n id: 16,\n fullName: 'Bentlee Emblin',\n company: 'Yambee PVT LTD',\n role: 'Author',\n username: 'bemblinf',\n country: 'Spain',\n contact: '(590) 606-1056',\n email: 'bemblinf@wired.com',\n currentPlan: 'Company',\n status: 'active',\n avatar: 'assets/images/avatars/6.png'\n },\n {\n id: 17,\n fullName: 'Brockie Myles',\n company: 'Wikivu PVT LTD',\n role: 'Maintainer',\n username: 'bmylesg',\n country: 'Poland',\n contact: '(553) 225-9905',\n email: 'bmylesg@amazon.com',\n currentPlan: 'Basic',\n status: 'active',\n avatar: ''\n },\n {\n id: 18,\n fullName: 'Bertha Biner',\n company: 'Twinte PVT LTD',\n role: 'Editor',\n username: 'bbinerh',\n country: 'Yemen',\n contact: '(901) 916-9287',\n email: 'bbinerh@mozilla.com',\n currentPlan: 'Team',\n status: 'active',\n avatar: 'assets/images/avatars/7.png'\n },\n {\n id: 19,\n fullName: 'Travus Bruntjen',\n company: 'Cogidoo PVT LTD',\n role: 'Admin',\n username: 'tbruntjeni',\n country: 'France',\n contact: '(524) 586-6057',\n email: 'tbruntjeni@sitemeter.com',\n currentPlan: 'Enterprise',\n status: 'active',\n avatar: ''\n },\n {\n id: 20,\n fullName: 'Wesley Burland',\n company: 'Bubblemix PVT LTD',\n role: 'Editor',\n username: 'wburlandj',\n country: 'Honduras',\n contact: '(569) 683-1292',\n email: 'wburlandj@uiuc.edu',\n currentPlan: 'Team',\n status: 'inactive',\n avatar: 'assets/images/avatars/6.png'\n },\n {\n id: 21,\n fullName: 'Stu Delamaine',\n company: 'Oyoloo PVT LTD',\n role: 'Author',\n username: 'sdelamainek',\n country: 'South Africa',\n contact: '(829) 537-0057',\n email: 'sdelamainek@who.int',\n currentPlan: 'Basic',\n status: 'pending',\n avatar: 'assets/images/avatars/1.png'\n },\n {\n id: 22,\n fullName: 'Jameson Lyster',\n company: 'Quaxo PVT LTD',\n role: 'Editor',\n username: 'jlysterl',\n country: 'Ukraine',\n contact: '(593) 624-0222',\n email: 'jlysterl@guardian.co.uk',\n currentPlan: 'Company',\n status: 'inactive',\n avatar: 'assets/images/avatars/8.png'\n },\n {\n id: 23,\n fullName: 'Kare Skitterel',\n company: 'Ainyx PVT LTD',\n role: 'Maintainer',\n username: 'kskitterelm',\n country: 'Poland',\n contact: '(254) 845-4107',\n email: 'kskitterelm@washingtonpost.com',\n currentPlan: 'Basic',\n status: 'pending',\n avatar: 'assets/images/avatars/3.png'\n },\n {\n id: 24,\n fullName: 'Cleavland Hatherleigh',\n company: 'Flipopia PVT LTD',\n role: 'Admin',\n username: 'chatherleighn',\n country: 'Brazil',\n contact: '(700) 783-7498',\n email: 'chatherleighn@washington.edu',\n currentPlan: 'Team',\n status: 'pending',\n avatar: 'assets/images/avatars/2.png'\n },\n {\n id: 25,\n fullName: 'Adeline Micco',\n company: 'Topicware PVT LTD',\n role: 'Admin',\n username: 'amiccoo',\n country: 'France',\n contact: '(227) 598-1841',\n email: 'amiccoo@whitehouse.gov',\n currentPlan: 'Enterprise',\n status: 'pending',\n avatar: ''\n },\n {\n id: 26,\n fullName: 'Hugh Hasson',\n company: 'Skinix PVT LTD',\n role: 'Admin',\n username: 'hhassonp',\n country: 'China',\n contact: '(582) 516-1324',\n email: 'hhassonp@bizjournals.com',\n currentPlan: 'Basic',\n status: 'inactive',\n avatar: 'assets/images/avatars/4.png'\n },\n {\n id: 27,\n fullName: 'Germain Jacombs',\n company: 'Youopia PVT LTD',\n role: 'Editor',\n username: 'gjacombsq',\n country: 'Zambia',\n contact: '(137) 467-5393',\n email: 'gjacombsq@jigsy.com',\n currentPlan: 'Enterprise',\n status: 'active',\n avatar: 'assets/images/avatars/10.png'\n },\n {\n id: 28,\n fullName: 'Bree Kilday',\n company: 'Jetpulse PVT LTD',\n role: 'Maintainer',\n username: 'bkildayr',\n country: 'Portugal',\n contact: '(412) 476-0854',\n email: 'bkildayr@mashable.com',\n currentPlan: 'Team',\n status: 'active',\n avatar: ''\n },\n {\n id: 29,\n fullName: 'Candice Pinyon',\n company: 'Kare PVT LTD',\n role: 'Maintainer',\n username: 'cpinyons',\n country: 'Sweden',\n contact: '(170) 683-1520',\n email: 'cpinyons@behance.net',\n currentPlan: 'Team',\n status: 'active',\n avatar: 'assets/images/avatars/7.png'\n },\n {\n id: 30,\n fullName: 'Isabel Mallindine',\n company: 'Voomm PVT LTD',\n role: 'Subscriber',\n username: 'imallindinet',\n country: 'Slovenia',\n contact: '(332) 803-1983',\n email: 'imallindinet@shinystat.com',\n currentPlan: 'Team',\n status: 'pending',\n avatar: ''\n },\n {\n id: 31,\n fullName: 'Gwendolyn Meineken',\n company: 'Oyondu PVT LTD',\n role: 'Admin',\n username: 'gmeinekenu',\n country: 'Moldova',\n contact: '(551) 379-7460',\n email: 'gmeinekenu@hc360.com',\n currentPlan: 'Basic',\n status: 'pending',\n avatar: 'assets/images/avatars/1.png'\n },\n {\n id: 32,\n fullName: 'Rafaellle Snowball',\n company: 'Fivespan PVT LTD',\n role: 'Editor',\n username: 'rsnowballv',\n country: 'Philippines',\n contact: '(974) 829-0911',\n email: 'rsnowballv@indiegogo.com',\n currentPlan: 'Basic',\n status: 'pending',\n avatar: 'assets/images/avatars/5.png'\n },\n {\n id: 33,\n fullName: 'Rochette Emer',\n company: 'Thoughtworks PVT LTD',\n role: 'Admin',\n username: 'remerw',\n country: 'North Korea',\n contact: '(841) 889-3339',\n email: 'remerw@blogtalkradio.com',\n currentPlan: 'Basic',\n status: 'active',\n avatar: 'assets/images/avatars/8.png'\n },\n {\n id: 34,\n fullName: 'Ophelie Fibbens',\n company: 'Jaxbean PVT LTD',\n role: 'Subscriber',\n username: 'ofibbensx',\n country: 'Indonesia',\n contact: '(764) 885-7351',\n email: 'ofibbensx@booking.com',\n currentPlan: 'Company',\n status: 'active',\n avatar: 'assets/images/avatars/4.png'\n },\n {\n id: 35,\n fullName: 'Stephen MacGilfoyle',\n company: 'Browseblab PVT LTD',\n role: 'Maintainer',\n username: 'smacgilfoyley',\n country: 'Japan',\n contact: '(350) 589-8520',\n email: 'smacgilfoyley@bigcartel.com',\n currentPlan: 'Company',\n status: 'pending',\n avatar: ''\n },\n {\n id: 36,\n fullName: 'Bradan Rosebotham',\n company: 'Agivu PVT LTD',\n role: 'Subscriber',\n username: 'brosebothamz',\n country: 'Belarus',\n contact: '(882) 933-2180',\n email: 'brosebothamz@tripadvisor.com',\n currentPlan: 'Team',\n status: 'inactive',\n avatar: ''\n },\n {\n id: 37,\n fullName: 'Skip Hebblethwaite',\n company: 'Katz PVT LTD',\n role: 'Admin',\n username: 'shebblethwaite10',\n country: 'Canada',\n contact: '(610) 343-1024',\n email: 'shebblethwaite10@arizona.edu',\n currentPlan: 'Company',\n status: 'inactive',\n avatar: 'assets/images/avatars/9.png'\n },\n {\n id: 38,\n fullName: 'Moritz Piccard',\n company: 'Twitternation PVT LTD',\n role: 'Maintainer',\n username: 'mpiccard11',\n country: 'Croatia',\n contact: '(365) 277-2986',\n email: 'mpiccard11@vimeo.com',\n currentPlan: 'Enterprise',\n status: 'inactive',\n avatar: 'assets/images/avatars/1.png'\n },\n {\n id: 39,\n fullName: 'Tyne Widmore',\n company: 'Yombu PVT LTD',\n role: 'Subscriber',\n username: 'twidmore12',\n country: 'Finland',\n contact: '(531) 731-0928',\n email: 'twidmore12@bravesites.com',\n currentPlan: 'Team',\n status: 'pending',\n avatar: ''\n },\n {\n id: 40,\n fullName: 'Florenza Desporte',\n company: 'Kamba PVT LTD',\n role: 'Author',\n username: 'fdesporte13',\n country: 'Ukraine',\n contact: '(312) 104-2638',\n email: 'fdesporte13@omniture.com',\n currentPlan: 'Company',\n status: 'active',\n avatar: 'assets/images/avatars/6.png'\n },\n {\n id: 41,\n fullName: 'Edwina Baldetti',\n company: 'Dazzlesphere PVT LTD',\n role: 'Maintainer',\n username: 'ebaldetti14',\n country: 'Haiti',\n contact: '(315) 329-3578',\n email: 'ebaldetti14@theguardian.com',\n currentPlan: 'Team',\n status: 'pending',\n avatar: ''\n },\n {\n id: 42,\n fullName: 'Benedetto Rossiter',\n company: 'Mybuzz PVT LTD',\n role: 'Editor',\n username: 'brossiter15',\n country: 'Indonesia',\n contact: '(323) 175-6741',\n email: 'brossiter15@craigslist.org',\n currentPlan: 'Team',\n status: 'inactive',\n avatar: ''\n },\n {\n id: 43,\n fullName: 'Micaela McNirlan',\n company: 'Tambee PVT LTD',\n role: 'Admin',\n username: 'mmcnirlan16',\n country: 'Indonesia',\n contact: '(242) 952-0916',\n email: 'mmcnirlan16@hc360.com',\n currentPlan: 'Basic',\n status: 'inactive',\n avatar: ''\n },\n {\n id: 44,\n fullName: 'Vladamir Koschek',\n company: 'Centimia PVT LTD',\n role: 'Author',\n username: 'vkoschek17',\n country: 'Guatemala',\n contact: '(531) 758-8335',\n email: 'vkoschek17@abc.net.au',\n currentPlan: 'Team',\n status: 'active',\n avatar: ''\n },\n {\n id: 45,\n fullName: 'Corrie Perot',\n company: 'Flipopia PVT LTD',\n role: 'Subscriber',\n username: 'cperot18',\n country: 'China',\n contact: '(659) 385-6808',\n email: 'cperot18@goo.ne.jp',\n currentPlan: 'Team',\n status: 'pending',\n avatar: 'assets/images/avatars/3.png'\n },\n {\n id: 46,\n fullName: 'Saunder Offner',\n company: 'Skalith PVT LTD',\n role: 'Maintainer',\n username: 'soffner19',\n country: 'Poland',\n contact: '(200) 586-2264',\n email: 'soffner19@mac.com',\n currentPlan: 'Enterprise',\n status: 'pending',\n avatar: ''\n },\n {\n id: 47,\n fullName: 'Karena Courtliff',\n company: 'Feedfire PVT LTD',\n role: 'Admin',\n username: 'kcourtliff1a',\n country: 'China',\n contact: '(478) 199-0020',\n email: 'kcourtliff1a@bbc.co.uk',\n currentPlan: 'Basic',\n status: 'active',\n avatar: 'assets/images/avatars/1.png'\n },\n {\n id: 48,\n fullName: 'Onfre Wind',\n company: 'Thoughtmix PVT LTD',\n role: 'Admin',\n username: 'owind1b',\n country: 'Ukraine',\n contact: '(344) 262-7270',\n email: 'owind1b@yandex.ru',\n currentPlan: 'Basic',\n status: 'pending',\n avatar: ''\n },\n {\n id: 49,\n fullName: 'Paulie Durber',\n company: 'Babbleblab PVT LTD',\n role: 'Subscriber',\n username: 'pdurber1c',\n country: 'Sweden',\n contact: '(694) 676-1275',\n email: 'pdurber1c@gov.uk',\n currentPlan: 'Team',\n status: 'inactive',\n avatar: ''\n },\n {\n id: 50,\n fullName: 'Beverlie Krabbe',\n company: 'Kaymbo PVT LTD',\n role: 'Editor',\n username: 'bkrabbe1d',\n country: 'China',\n contact: '(397) 294-5153',\n email: 'bkrabbe1d@home.pl',\n currentPlan: 'Company',\n status: 'active',\n avatar: 'assets/images/avatars/9.png'\n }\n ];\n}\n","import { InMemoryDbService } from 'angular-in-memory-web-api';\n\nimport { accountSettingsFakeData } from '@fake-db/account-settings.data';\nimport { BlogFakeData } from '@fake-db/blog.data';\nimport { CalendarFakeData } from '@fake-db/calendar.data';\nimport { CardAnalyticsData } from '@fake-db/card-analytics.data';\nimport { CardStatisticsData } from '@fake-db/card-statistics.data';\nimport { ChatWidgetFakeData } from '@fake-db/chat-widget.data';\nimport { ChatFakeData } from '@fake-db/chat.data';\nimport { DashboardFakeData } from '@fake-db/dashboard.data';\nimport { DatatableFakeData } from '@fake-db/datatables';\nimport { EcommerceFakeData } from '@fake-db/ecommerce.data';\nimport { EmailFakeData } from '@fake-db/email.data';\nimport { FAQFakeData } from '@fake-db/faq.data';\nimport { InvoiceFakeData } from '@fake-db/invoice.data';\nimport { KBFakeData } from '@fake-db/knowledge-base.data';\nimport { NotificationsFakeData } from '@fake-db/notifications.data';\nimport { PricingFakeData } from '@fake-db/pricing.data';\nimport { ProfileFakeData } from '@fake-db/profile.data';\nimport { SearchFakeData } from '@fake-db/search.data';\nimport { TodoFakeData } from '@fake-db/todo.data';\nimport { UsersFakeData } from '@fake-db/users.data';\n\nexport class FakeDbService implements InMemoryDbService {\n createDb(): any {\n return {\n // Data-table\n 'datatable-rows': DatatableFakeData.rows,\n\n // Account Settings\n 'account-settings-data': accountSettingsFakeData.data,\n\n // Knowledge Base\n 'knowledge-base-data': KBFakeData.data,\n\n // Faq\n 'faq-data': FAQFakeData.data,\n\n // Pricing\n 'pricing-data': PricingFakeData.data,\n\n // Blog\n 'blog-data': BlogFakeData.data,\n\n // Profile\n 'profile-data': ProfileFakeData.data,\n\n // Card Statistics\n 'card-statistics-data': CardStatisticsData.data,\n\n // Card Analytics\n 'card-analytics-data': CardAnalyticsData.data,\n\n // Users\n 'users-data': UsersFakeData.users,\n\n // Invoice\n 'invoice-data': InvoiceFakeData.invoices,\n\n // Todo\n 'todos-data': TodoFakeData.tasks,\n 'todos-assignee': TodoFakeData.assignee,\n 'todos-filters': TodoFakeData.filters,\n 'todos-tags': TodoFakeData.tags,\n\n // Email\n 'emails-data': EmailFakeData.emails,\n 'email-folders': EmailFakeData.folders,\n 'email-labels': EmailFakeData.labels,\n\n // E-Commerce\n 'ecommerce-products': EcommerceFakeData.products,\n 'ecommerce-relatedProducts': EcommerceFakeData.relatedProducts,\n 'ecommerce-userWishlist': EcommerceFakeData.userWishlist,\n 'ecommerce-userCart': EcommerceFakeData.userCart,\n\n // Chat\n 'chat-profileUser': ChatFakeData.profileUser,\n 'chat-contacts': ChatFakeData.contacts,\n 'chat-chats': ChatFakeData.chats,\n\n // Chat Widget\n 'chat-widget-data': ChatWidgetFakeData.data,\n\n // Calendar\n 'calendar-events': CalendarFakeData.events,\n 'calendar-filter': CalendarFakeData.calendar,\n\n // Search\n 'search-data': SearchFakeData.search,\n\n // Notifications\n 'notifications-data': NotificationsFakeData.data,\n\n // Dashboard\n 'dashboard-data': DashboardFakeData.data\n };\n }\n}\n","import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\n\nimport { CORE_CUSTOM_CONFIG } from '@core/services/config.service';\n\n@NgModule()\nexport class CoreModule {\n constructor(@Optional() @SkipSelf() parentModule: CoreModule) {\n if (parentModule) {\n throw new Error('Import CoreModule in the AppModule only');\n }\n }\n\n static forRoot(config): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n {\n provide: CORE_CUSTOM_CONFIG,\n useValue: config\n }\n ]\n };\n }\n}\n","import { CoreConfig } from '@core/types';\n\n/**\n * Default App Config\n *\n * ? TIP:\n *\n * Change app config based on your preferences.\n * You can also change them on each component basis. i.e `app/main/pages/authentication/auth-login-v1/auth-login-v1.component.ts`\n *\n * ! IMPORTANT: If the enableLocalStorage option is true then make sure you clear the browser local storage(https://developers.google.com/web/tools/chrome-devtools/storage/localstorage#delete).\n * ! Otherwise, it will not take the below config changes and use stored config from local storage.\n *\n */\n\n// prettier-ignore\nexport const coreConfig: CoreConfig = {\n app: {\n appName : 'Noosom', // App Name\n appTitle : 'Noosom', // App Title\n appLogoImage: 'assets/images/logo/logo.png', // App Logo\n appLanguage : 'en', // App Default Language (en, fr, de, pt etc..)\n },\n layout: {\n skin : 'default', // default, dark, bordered, semi-dark\n type : 'vertical', // vertical, horizontal\n animation : 'fadeIn', // fadeInLeft, zoomIn , fadeIn, none\n menu : {\n hidden : false, // Boolean: true, false\n collapsed : false, // Boolean: true, false\n },\n // ? For horizontal menu, navbar type will work for navMenu type\n navbar: {\n hidden : false, // Boolean: true, false\n type : 'floating-nav', // navbar-static-top, fixed-top, floating-nav, d-none\n background : 'navbar-light', // navbar-light. navbar-dark\n customBackgroundColor: true, // Boolean: true, false\n backgroundColor : '' // BS color i.e bg-primary, bg-success\n },\n footer: {\n hidden : false, // Boolean: true, false\n type : 'footer-static', // footer-static, footer-sticky, d-none\n background : 'footer-light', // footer-light. footer-dark\n customBackgroundColor: false, // Boolean: true, false\n backgroundColor : '' // BS color i.e bg-primary, bg-success\n },\n enableLocalStorage: true,\n customizer : true, // Boolean: true, false (Enable theme customizer)\n scrollTop : true, // Boolean: true, false (Enable scroll to top button)\n buyNow : true // Boolean: true, false (Set false in real project, For demo purpose only)\n }\n}\n","import { CoreMenu } from '@core/types';\nimport { Constant } from 'app/Classes/constant';\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\nimport { User } from 'app/auth/models';\nimport { AuthenticationService } from 'app/auth/service';\nimport { NoosomPlans, NoosomCategoryID } from 'app/enums';\nconst encrDecrService: EncrDecrService = new EncrDecrService();\nvar templcstg = JSON.parse(encrDecrService.get(Constant.EncrDecrKey, localStorage.getItem('lcstrg')))\nif (templcstg) {\n var plan = templcstg?.NoosomPlan;\n var userCategory = templcstg?.userCategory\n}\n// var plan:number=parseInt(encrDecrService.get(Constant.EncrDecrKey,localStorage.getItem('NoosomPlan')))\n// var userCategory:number=parseInt(encrDecrService.get(Constant.EncrDecrKey,localStorage.getItem('userCategory')))\n//? DOC: http://localhost:7777/demo/vuexy-angular-admin-dashboard-template/documentation/guide/development/navigation-menus.html#interface\nexport const menu: CoreMenu[] = [\n //Dashboard\n // {\n // id: 'dashboard',\n // title: 'Dashboard',\n // translate: 'MENU.DASHBOARD.COLLAPSIBLE',\n // type: 'collapsible',\n // // role: ['Admin'], //? To hide collapsible based on user role\n // icon: 'home',\n // badge: {\n // title: '2',\n // translate: 'MENU.DASHBOARD.BADGE',\n // classes: 'badge-light-warning badge-pill'\n // },\n // children: [\n // {\n // id: 'analytics',\n // title: 'Analytics',\n // translate: 'MENU.DASHBOARD.ANALYTICS',\n // type: 'item',\n // role: ['Admin'], //? To set multiple role: ['Admin', 'Client']\n // icon: 'circle',\n // url: 'dashboard/analytics'\n // },\n // {\n // // If role is not assigned will be display to all\n // id: 'ecommerce',\n // title: 'eCommerce',\n // translate: 'MENU.DASHBOARD.ECOMMERCE',\n // type: 'item',\n // icon: 'circle',\n // url: 'dashboard/ecommerce'\n // }\n // ]\n // }\n\n\n\n {\n id: 'home',\n title: 'Home',\n translate: 'MENU.APPS.HOME',\n type: 'item',\n icon: 'home',\n url: 'home'\n },\n {\n id: 'about-me',\n title: 'About Me',\n translate: 'MENU.APPS.ABOUT_ME',\n type: 'item',\n icon: 'user',\n url: 'about-me'\n },\n {\n id: 'My-diary-planner',\n title: 'My Diary Planner',\n translate: templcstg?.DiaryOrJournal ? templcstg?.DiaryOrJournal == 2 ? 'MENU.APPS.HEADING_TEXT_JOURNAL'\n : 'MENU.APPS.HEADING_TEXT_DIARY' : encrDecrService.get(Constant.EncrDecrKey, sessionStorage.getItem('DiaryJournal')) == '2' ? 'MENU.APPS.HEADING_TEXT_JOURNAL'\n : 'MENU.APPS.HEADING_TEXT_DIARY',\n type: 'collapsible',\n icon: 'book-open',\n children: [\n {\n id: 'Calendar View',\n title: 'Calendar View',\n translate: 'MENU.APPS.CALENDAR_VIEW',\n type: 'item',\n icon: 'circle',\n url: 'My-diary-planner',\n },\n {\n id: 'All Diary Entries',\n title: 'All Diary Entries',\n translate: templcstg?.DiaryOrJournal ? templcstg?.DiaryOrJournal == 2 ? 'MENU.APPS.ALL_JOURNAL_ENTRIES'\n : 'MENU.APPS.ALL_DIARY_ENTRIES' : encrDecrService.get(Constant.EncrDecrKey, sessionStorage.getItem('DiaryJournal')) == '2' ? 'MENU.APPS.ALL_JOURNAL_ENTRIES'\n : 'MENU.APPS.ALL_DIARY_ENTRIES',\n type: 'item',\n icon: 'circle',\n url: 'quickpost-list'\n },\n {\n id: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'Diary View' : null,\n title: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'Diary View' : null,\n translate: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? templcstg?.DiaryOrJournal ? templcstg?.DiaryOrJournal == 2 ? 'MENU.APPS.JOURNAL_VIEW'\n : 'MENU.APPS.DIARY_VIEW' : encrDecrService.get(Constant.EncrDecrKey, sessionStorage.getItem('DiaryJournal')) == '2' ? 'MENU.APPS.JOURNAL_VIEW'\n : 'MENU.APPS.DIARY_VIEW' : null,\n type: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'item' : null,\n icon: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'circle' : null,\n url: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'diary-view' : null\n },\n {\n id: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'paperback-view' : null,\n title: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'Paperback View' : null,\n translate: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'MENU.APPS.PAPERBACK_VIEW' : null,\n type: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'item' : null,\n icon: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'circle' : null,\n url: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'paperback' : null\n },\n {\n id: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'todo' : null,\n title: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'To-Do' : null,\n translate: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'MENU.APPS.TODO' : null,\n type: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'item' : null,\n icon: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'circle' : null,\n url: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'apps/todo/all' : null\n },\n ]\n },\n {\n id: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'map-view' : null,\n title: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'My Life Journey on Map' : null,\n translate: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'MENU.APPS.MY_JOURNEY_ON_MAP' : null,\n // title: 'Import Data',\n type: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'item' : null,\n icon: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'tabler-map-2' : null,\n url: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'map-view' : null\n },\n {\n id: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'My Pastimes & Hobbies' : null,\n title: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'My Pastimes & Hobbies' : null,\n translate: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'MENU.APPS.MY_PASTIMES' : null,\n type: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'item' : null,\n icon: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'heart' : null,\n url: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'mypastimes' : null\n },\n {\n id: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'my-blog' : null,\n title: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'My Blog' : null,\n translate: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'MENU.APPS.MY_BLOG' : null,\n type: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'item' : null,\n icon: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'globe' : null,\n url: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'blog' : null\n },\n // {\n // id: (plan == NoosomPlans.Noosom_Free_Forever && userCategory == NoosomCategoryID.User) ? 'shared' : null,\n // title: (plan == NoosomPlans.Noosom_Free_Forever && userCategory == NoosomCategoryID.User) ? 'shared' : null,\n // translate: (plan == NoosomPlans.Noosom_Free_Forever && userCategory == NoosomCategoryID.User) ? 'MENU.APPS.SHARED' : null,\n // type: (plan == NoosomPlans.Noosom_Free_Forever && userCategory == NoosomCategoryID.User) ? 'item' : null,\n // icon: (plan == NoosomPlans.Noosom_Free_Forever && userCategory == NoosomCategoryID.User) ? 'globe' : null,\n // url: (plan == NoosomPlans.Noosom_Free_Forever && userCategory == NoosomCategoryID.User) ? 'shared' : null\n // },\n {\n id: 'my-full-diary',\n title: 'My Image Gallery',\n translate: 'MENU.APPS.MY_IMAGE_GALLERY',\n // title: 'My Full Diary',\n type: 'collapsible',\n icon: 'image',\n children: [\n {\n id: 'my-full-diary',\n title: 'My Image Gallery',\n translate: 'MENU.APPS.MY_IMAGE_GALLERY_SUB',\n type: 'item',\n icon: 'circle',\n url: 'my-image-gallery',\n },\n // {\n // id: 'filemanager',\n // title: 'File Manager',\n // translate: 'MENU.APPS.FILEMANAGER',\n // type: 'item',\n // icon: 'circle',\n // url: 'filemanager'\n // },\n {\n id: 'Newfilemanager',\n title: 'File Manager',\n translate: 'MENU.APPS.FILEMANAGER',\n type: 'item',\n icon: 'circle',\n url: 'syncfilemanager'\n },\n ],\n },\n {\n id: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'My life Story' : null,\n title: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'My life Story' : null,\n translate: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'MENU.APPS.MY_LIFE_STORY' : null,\n type: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'item' : null,\n icon: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'tabler-notebook' : null,\n url: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'mylifestory' : null\n },\n {\n id: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'Me on the Web' : null,\n title: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'Me on the Web' : null,\n translate: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'MENU.APPS.ME_ON_WEB' : null,\n type: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'item' : null,\n icon: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'tabler-globe' : null,\n url: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'me-on-web' : null\n },\n {\n id: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'My Lists' : null,\n title: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'My Lists' : null,\n translate: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'MENU.APPS.HEADING_MY_LISTS' : null,\n type: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'collapsible' : null,\n icon: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'list' : null,\n children: [\n {\n id: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'list view' : null,\n title: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'Journal Entry' : null,\n translate: templcstg?.DiaryOrJournal ? templcstg?.DiaryOrJournal == 2 ? 'MENU.APPS.ALL_JOURNAL_ENTRIES'\n : 'MENU.APPS.ALL_DIARY_ENTRIES' : encrDecrService.get(Constant.EncrDecrKey, sessionStorage.getItem('DiaryJournal')) == '2' ? 'MENU.APPS.ALL_JOURNAL_ENTRIES'\n : 'MENU.APPS.ALL_DIARY_ENTRIES',\n type: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'item' : null,\n icon: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'circle' : null,\n url: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'mylist/diaryEntries' : null\n },\n {\n id: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'My Awards' : null,\n title: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'My Awards' : null,\n translate: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'MENU.APPS.HEADING_MY_AWARDS' : null,\n type: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'item' : null,\n icon: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'circle' : null,\n url: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'mylist/awards' : null\n },\n {\n id: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'My Achievement' : null,\n title: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'My Achievement' : null,\n translate: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'MENU.APPS.HEADING_MY_ACHIEVEMENT' : null,\n type: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'item' : null,\n icon: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'circle' : null,\n url: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'mylist/achievement' : null\n },\n {\n id: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'My Jobs' : null,\n title: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'My Jobs' : null,\n translate: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'MENU.APPS.HEADING_MY_JOBS' : null,\n type: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'item' : null,\n icon: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'circle' : null,\n url: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'mylist/jobs' : null\n },\n {\n id: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'My Families' : null,\n title: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'My Families' : null,\n translate: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'MENU.APPS.HEADING_MY_FAMILIES' : null,\n type: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'item' : null,\n icon: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'circle' : null,\n url: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'mylist/families' : null\n },\n {\n id: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'My Friends' : null,\n title: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'My Friends' : null,\n translate: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'MENU.APPS.HEADING_MY_FRIENDS' : null,\n type: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'item' : null,\n icon: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'circle' : null,\n url: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'mylist/friends' : null\n },\n {\n id: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'My Pastimes & Hobbies' : null,\n title: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'My Pastimes & Hobbies' : null,\n translate: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'MENU.APPS.MY_PASTIMES' : null,\n type: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'item' : null,\n icon: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'circle' : null,\n url: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'mylist/pastime' : null\n },\n {\n id: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'Me on the Web' : null,\n title: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'Me on the Web' : null,\n translate: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'MENU.APPS.ME_ON_WEB' : null,\n type: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'item' : null,\n icon: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'circle' : null,\n url: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'mylist/meonweb' : null\n },\n {\n id: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'My Legals' : null,\n title: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'My Legals' : null,\n translate: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'MENU.APPS.MY_LEGALS' : null,\n type: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'item' : null,\n icon: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'circle' : null,\n url: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'mylist/legals' : null\n }\n ]\n },\n {\n id: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'My Legals' : null,\n title: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'My Legals' : null,\n translate: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'MENU.APPS.MY_LEGALS' : null,\n type: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'item' : null,\n icon: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'briefcase' : null,\n url: (plan == NoosomPlans.Premium_1 || userCategory == NoosomCategoryID.Test) ? 'legals' : null\n },\n {\n id: 'Utilities',\n title: 'Utilities',\n translate: 'MENU.APPS.UTILITIES',\n // title: 'Import Data',\n type: 'item',\n icon: 'tool',\n url: 'Utilities'\n },\n {\n id: 'premium-1',\n title: 'Premium-1 Demo',\n translate: 'MENU.APPS.PREMIUM',\n // externalUrl:true,\n openInNewTab: true,\n // title: 'Import Data',\n type: 'item',\n icon: 'film',\n url: 'experiments/view'\n // url: 'https://noosom.com/interactive-demo-premium-1/'\n },\n\n\n\n\n\n\n\n\n\n\n\n // Apps & Pages\n\n // {\n // id: 'apps',\n // type: 'section',\n // title: 'Apps & Pages',\n // translate: 'MENU.APPS.SECTION',\n // icon: 'package',\n // children: [\n // {\n // id: 'email',\n // title: 'Email',\n // translate: 'MENU.APPS.EMAIL',\n // type: 'item',\n // icon: 'mail',\n // url: 'apps/email'\n // },\n // {\n // id: 'chat',\n // title: 'Chat',\n // translate: 'MENU.APPS.CHAT',\n // type: 'item',\n // icon: 'message-square',\n // url: 'apps/chat'\n // },\n // {\n // id: 'todo',\n // title: 'Todo',\n // translate: 'MENU.APPS.TODO',\n // type: 'item',\n // icon: 'check-square',\n // url: 'apps/todo'\n // },\n // {\n // id: 'calendar',\n // title: 'Calendar',\n // translate: 'MENU.APPS.CALENDAR',\n // type: 'item',\n // icon: 'calendar',\n // url: 'apps/calendar'\n // },\n // {\n // id: 'pages',\n // title: 'Pages',\n // translate: 'MENU.PAGES.SECTION',\n // type: 'collapsible',\n // icon: 'file-text',\n // children: [\n // {\n // id: 'authentication',\n // title: 'Authentication',\n // translate: 'MENU.PAGES.AUTH.COLLAPSIBLE',\n // type: 'collapsible',\n // icon: 'circle',\n // children: [\n // {\n // id: 'login-v1',\n // title: 'Login V1',\n // translate: 'MENU.PAGES.AUTH.LOGIN1',\n // type: 'item',\n // url: 'pages/authentication/login-v1',\n // openInNewTab: true\n // },\n // {\n // id: 'login-v2',\n // title: 'Login V2',\n // translate: 'MENU.PAGES.AUTH.LOGIN2',\n // type: 'item',\n // url: 'pages/authentication/login-v2',\n // openInNewTab: true\n // },\n // {\n // id: 'register-v1',\n // title: 'Register V1',\n // translate: 'MENU.PAGES.AUTH.REGISTER1',\n // type: 'item',\n // url: 'pages/authentication/register-v1',\n // openInNewTab: true\n // },\n // {\n // id: 'register-v2',\n // title: 'Register V2',\n // translate: 'MENU.PAGES.AUTH.REGISTER2',\n // type: 'item',\n // url: 'pages/authentication/register-v2',\n // openInNewTab: true\n // },\n // {\n // id: 'forgot-password-v1',\n // title: 'Forgot Password V1',\n // translate: 'MENU.PAGES.AUTH.FORGOTPASSWORD1',\n // type: 'item',\n // url: 'pages/authentication/forgot-password-v1',\n // openInNewTab: true\n // },\n // {\n // id: 'forgot-password-v2',\n // title: 'Forgot Password V2',\n // translate: 'MENU.PAGES.AUTH.FORGOTPASSWORD2',\n // type: 'item',\n // url: 'pages/authentication/forgot-password-v2',\n // openInNewTab: true\n // },\n // {\n // id: 'reset-password-v1',\n // title: 'Reset Password V1',\n // translate: 'MENU.PAGES.AUTH.RESETPASSWORD1',\n // type: 'item',\n // url: 'pages/authentication/reset-password-v1',\n // openInNewTab: true\n // },\n // {\n // id: 'reset-password-v2',\n // title: 'Reset Password V2',\n // translate: 'MENU.PAGES.AUTH.RESETPASSWORD2',\n // type: 'item',\n // url: 'pages/authentication/reset-password-v2',\n // openInNewTab: true\n // }\n // ]\n // },\n // {\n // id: 'account-settings',\n // title: 'Account Settings',\n // translate: 'MENU.PAGES.ACCOUNTSETTINGS',\n // type: 'item',\n // icon: 'circle',\n // url: 'pages/account-settings'\n // },\n // {\n // id: 'profile',\n // title: 'Profile',\n // translate: 'MENU.PAGES.PROFILE',\n // type: 'item',\n // icon: 'circle',\n // url: 'pages/profile'\n // // collapsed: true\n // },\n // {\n // id: 'faq',\n // title: 'FAQ',\n // translate: 'MENU.PAGES.FAQ',\n // type: 'item',\n // icon: 'circle',\n // url: 'pages/faq'\n // },\n // {\n // id: 'knowledgeBase',\n // title: 'Knowledge Base',\n // translate: 'MENU.PAGES.KB',\n // type: 'item',\n // icon: 'circle',\n // url: 'pages/knowledge-base'\n // },\n // {\n // id: 'pricing',\n // title: 'Pricing',\n // translate: 'MENU.PAGES.PRICING',\n // type: 'item',\n // icon: 'circle',\n // url: 'pages/pricing'\n // },\n\n // {\n // id: 'blog',\n // title: 'Blog',\n // translate: 'MENU.PAGES.BLOG.COLLAPSIBLE',\n // type: 'collapsible',\n // icon: 'circle',\n // children: [\n // {\n // id: 'blog-list',\n // title: 'List',\n // translate: 'MENU.PAGES.BLOG.LIST',\n // type: 'item',\n // url: 'pages/blog-list'\n // },\n // {\n // id: 'blog-details',\n // title: 'Detail',\n // translate: 'MENU.PAGES.BLOG.DETAILS',\n // type: 'item',\n // url: 'pages/blog-details'\n // },\n // {\n // id: 'blog-edit',\n // title: 'Edit',\n // translate: 'MENU.PAGES.BLOG.EDIT',\n // type: 'item',\n // url: 'pages/blog-edit'\n // }\n // ]\n // },\n\n // {\n // id: 'mail-template',\n // title: 'Mail Template',\n // translate: 'MENU.PAGES.MAIL.COLLAPSIBLE',\n // type: 'collapsible',\n // icon: 'circle',\n // children: [\n // {\n // id: 'mail-welcome',\n // title: 'Welcome',\n // translate: 'MENU.PAGES.MAIL.WELCOME',\n // type: 'item',\n // url: 'https://pixinvent.com/demo/vuexy-mail-template/mail-welcome.html',\n // externalUrl: true,\n // openInNewTab: true\n // },\n // {\n // id: 'mail-reset',\n // title: 'Reset Password',\n // translate: 'MENU.PAGES.MAIL.RESET',\n // type: 'item',\n // url: 'https://pixinvent.com/demo/vuexy-mail-template/mail-reset-password.html',\n // externalUrl: true,\n // openInNewTab: true\n // },\n // {\n // id: 'mail-verify',\n // title: 'Verify',\n // translate: 'MENU.PAGES.MAIL.VERIFY',\n // type: 'item',\n // url: 'https://pixinvent.com/demo/vuexy-mail-template/mail-verify-email.html',\n // externalUrl: true,\n // openInNewTab: true\n // },\n // {\n // id: 'mail-deactivate',\n // title: 'Deactivate',\n // translate: 'MENU.PAGES.MAIL.DEACTIVATE',\n // type: 'item',\n // url: 'https://pixinvent.com/demo/vuexy-mail-template/mail-deactivate-account.html',\n // externalUrl: true,\n // openInNewTab: true\n // },\n // {\n // id: 'mail-invoice',\n // title: 'Invoice',\n // translate: 'MENU.PAGES.MAIL.INVOICE',\n // type: 'item',\n // url: 'https://pixinvent.com/demo/vuexy-mail-template/mail-invoice.html',\n // externalUrl: true,\n // openInNewTab: true\n // },\n // {\n // id: 'mail-promotional',\n // title: 'Promotional',\n // translate: 'MENU.PAGES.MAIL.PROMOTIONAL',\n // type: 'item',\n // url: 'https://pixinvent.com/demo/vuexy-mail-template/mail-promotional.html',\n // externalUrl: true,\n // openInNewTab: true\n // }\n // ]\n // },\n\n // {\n // id: 'miscellaneous',\n // title: 'Miscellaneous',\n // translate: 'MENU.PAGES.MISC.COLLAPSIBLE',\n // type: 'collapsible',\n // icon: 'circle',\n // children: [\n // {\n // id: 'misc-comingsoon',\n // title: 'Coming Soon',\n // translate: 'MENU.PAGES.MISC.COMINGSOON',\n // type: 'item',\n // url: 'pages/miscellaneous/coming-soon',\n // openInNewTab: true\n // },\n\n // {\n // id: 'misc-not-authorized',\n // title: 'Not Authorized',\n // translate: 'MENU.PAGES.MISC.NOTAUTH',\n // type: 'item',\n // url: 'pages/miscellaneous/not-authorized',\n // openInNewTab: true\n // },\n // {\n // id: 'maintenance',\n // title: 'Maintenance',\n // translate: 'MENU.PAGES.MISC.MAINTENANCE',\n // type: 'item',\n // url: 'pages/miscellaneous/maintenance',\n // openInNewTab: true\n // },\n // {\n // id: 'error',\n // title: 'Error',\n // translate: 'MENU.PAGES.MISC.ERROR',\n // type: 'item',\n // url: 'pages/miscellaneous/error',\n // openInNewTab: true\n // }\n // ]\n // }\n // ]\n // },\n // {\n // id: 'invoice',\n // title: 'Invoice',\n // translate: 'MENU.APPS.INVOICE.COLLAPSIBLE',\n // type: 'collapsible',\n // icon: 'file-text',\n // children: [\n // {\n // id: 'invoice-list',\n // title: 'List',\n // translate: 'MENU.APPS.INVOICE.LIST',\n // type: 'item',\n // icon: 'circle',\n // url: 'apps/invoice/list'\n // },\n // {\n // id: 'invoicePreview',\n // title: 'Preview',\n // translate: 'MENU.APPS.INVOICE.PREVIEW',\n // type: 'item',\n // icon: 'circle',\n // url: 'apps/invoice/preview'\n // },\n // {\n // id: 'invoiceEdit',\n // title: 'Edit',\n // translate: 'MENU.APPS.INVOICE.EDIT',\n // type: 'item',\n // icon: 'circle',\n // url: 'apps/invoice/edit'\n // },\n // {\n // id: 'invoiceAdd',\n // title: 'Add',\n // translate: 'MENU.APPS.INVOICE.ADD',\n // type: 'item',\n // icon: 'circle',\n // url: 'apps/invoice/add'\n // }\n // ]\n // },\n // {\n // id: 'e-commerce',\n // title: 'eCommerce',\n // translate: 'MENU.APPS.ECOMMERCE.COLLAPSIBLE',\n // type: 'collapsible',\n // icon: 'shopping-cart',\n // children: [\n // {\n // id: 'shop',\n // title: 'Shop',\n // translate: 'MENU.APPS.ECOMMERCE.SHOP',\n // type: 'item',\n // icon: 'circle',\n // url: 'apps/e-commerce/shop'\n // },\n // {\n // id: 'details',\n // title: 'Details',\n // translate: 'MENU.APPS.ECOMMERCE.DETAIL',\n // type: 'item',\n // icon: 'circle',\n // url: 'apps/e-commerce/details'\n // },\n // {\n // id: 'wishList',\n // title: 'Wish List',\n // translate: 'MENU.APPS.ECOMMERCE.WISHLIST',\n // type: 'item',\n // icon: 'circle',\n // url: 'apps/e-commerce/wishlist'\n // },\n // {\n // id: 'checkout',\n // title: 'Checkout',\n // translate: 'MENU.APPS.ECOMMERCE.CHECKOUT',\n // type: 'item',\n // icon: 'circle',\n // url: 'apps/e-commerce/checkout'\n // }\n // ]\n // },\n // {\n // id: 'users',\n // title: 'User',\n // translate: 'MENU.APPS.USER.COLLAPSIBLE',\n // type: 'collapsible',\n // icon: 'user',\n // children: [\n // {\n // id: 'list',\n // title: 'List',\n // translate: 'MENU.APPS.USER.LIST',\n // type: 'item',\n // icon: 'circle',\n // url: 'apps/user/user-list'\n // },\n // {\n // id: 'view',\n // title: 'View',\n // translate: 'MENU.APPS.USER.VIEW',\n // type: 'item',\n // icon: 'circle',\n // url: 'apps/user/user-view'\n // },\n // {\n // id: 'edit',\n // title: 'Edit',\n // translate: 'MENU.APPS.USER.EDIT',\n // type: 'item',\n // icon: 'circle',\n // url: 'apps/user/user-edit'\n // }\n // ]\n // }\n // ]\n // },\n // User Interface\n // {\n // id: 'user-interface',\n // type: 'section',\n // title: 'User Interface',\n // translate: 'MENU.UI.SECTION',\n // icon: 'layers',\n // children: [\n // {\n // id: 'typography',\n // title: 'Typography',\n // translate: 'MENU.UI.TYPOGRAPHY',\n // type: 'item',\n // icon: 'type',\n // url: 'ui/content/typography'\n // },\n // {\n // id: 'colors',\n // title: 'Colors',\n // translate: 'MENU.UI.COLORS',\n // type: 'item',\n // icon: 'droplet',\n // url: 'ui/colors'\n // },\n // {\n // id: 'feather',\n // title: 'Feather',\n // translate: 'MENU.UI.FEATHER',\n // type: 'item',\n // icon: 'eye',\n // url: 'ui/icons/feather'\n // },\n // {\n // id: 'cards',\n // title: 'Cards',\n // translate: 'MENU.UI.CARDS.COLLAPSIBLE',\n // type: 'collapsible',\n // icon: 'credit-card',\n // badge: {\n // title: 'New',\n // translate: 'MENU.UI.CARDS.BADGE',\n // classes: 'badge-light-success badge-pill'\n // },\n // children: [\n // {\n // id: 'card-basic',\n // title: 'Basic',\n // translate: 'MENU.UI.CARDS.BASIC',\n // type: 'item',\n // icon: 'circle',\n // url: 'ui/card/card-basic'\n // },\n // {\n // id: 'card-advance',\n // title: 'Advance',\n // translate: 'MENU.UI.CARDS.ADVANCE',\n // type: 'item',\n // icon: 'circle',\n // url: 'ui/card/advance'\n // },\n // {\n // id: 'card-statistics',\n // title: 'Statistics',\n // translate: 'MENU.UI.CARDS.STATISTICS',\n // type: 'item',\n // icon: 'circle',\n // url: 'ui/card/statistics'\n // },\n // {\n // id: 'Card-analytics',\n // title: 'Analytics',\n // translate: 'MENU.UI.CARDS.ANALYTICS',\n // type: 'item',\n // icon: 'circle',\n // url: 'ui/card/analytics'\n // },\n // {\n // id: 'card-actions',\n // title: 'Actions',\n // translate: 'MENU.UI.CARDS.ACTIONS',\n // type: 'item',\n // icon: 'circle',\n // url: 'ui/card/actions'\n // }\n // ]\n // },\n // {\n // id: 'components',\n // title: 'Components',\n // translate: 'MENU.UI.COMPONENTS.COLLAPSIBLE',\n // type: 'collapsible',\n // icon: 'archive',\n // children: [\n // {\n // id: 'components-alerts',\n // title: 'Alerts',\n // translate: 'MENU.UI.COMPONENTS.ALERTS',\n // type: 'item',\n // icon: 'circle',\n // url: 'components/alerts'\n // },\n // {\n // id: 'components-avatar',\n // title: 'Avatar',\n // translate: 'MENU.UI.COMPONENTS.AVATAR',\n // type: 'item',\n // icon: 'circle',\n // url: 'components/avatar'\n // },\n // {\n // id: 'components-badges',\n // title: 'Badges',\n // translate: 'MENU.UI.COMPONENTS.BADGES',\n // type: 'item',\n // icon: 'circle',\n // url: 'components/badges'\n // },\n // {\n // id: 'components-breadcrumbs',\n // title: 'Breadcrumbs',\n // translate: 'MENU.UI.COMPONENTS.BREADCRUMBS',\n // type: 'item',\n // icon: 'circle',\n // url: 'components/breadcrumbs'\n // },\n // {\n // id: 'components-buttons',\n // title: 'Buttons',\n // translate: 'MENU.UI.COMPONENTS.BUTTONS',\n // type: 'item',\n // icon: 'circle',\n // url: 'components/buttons'\n // },\n // {\n // id: 'components-carousel',\n // title: 'Carousel',\n // translate: 'MENU.UI.COMPONENTS.CAROUSEL',\n // type: 'item',\n // icon: 'circle',\n // url: 'components/carousel'\n // },\n // {\n // id: 'components-collapse',\n // title: 'Collapse',\n // translate: 'MENU.UI.COMPONENTS.COLLAPSE',\n // type: 'item',\n // icon: 'circle',\n // url: 'components/collapse'\n // },\n // {\n // id: 'components-divider',\n // title: 'Divider',\n // translate: 'MENU.UI.COMPONENTS.DIVIDER',\n // type: 'item',\n // icon: 'circle',\n // url: 'components/divider'\n // },\n // {\n // id: 'components-drop-downs',\n // title: 'Dropdowns',\n // translate: 'MENU.UI.COMPONENTS.DROPDOWNS',\n // type: 'item',\n // icon: 'circle',\n // url: 'components/dropdowns'\n // },\n // {\n // id: 'components-list-group',\n // title: 'List Group',\n // translate: 'MENU.UI.COMPONENTS.GROUP',\n // type: 'item',\n // icon: 'circle',\n // url: 'components/list-group'\n // },\n // {\n // id: 'components-media-objects',\n // title: 'Media Objects',\n // translate: 'MENU.UI.COMPONENTS.OBJECTS',\n // type: 'item',\n // icon: 'circle',\n // url: 'components/media-objects'\n // },\n // {\n // id: 'components-modals',\n // title: 'Modals',\n // translate: 'MENU.UI.COMPONENTS.MODALS',\n // type: 'item',\n // icon: 'circle',\n // url: 'components/modals'\n // },\n // {\n // id: 'components-navs',\n // title: 'Navs',\n // translate: 'MENU.UI.COMPONENTS.COMPONENT',\n // type: 'item',\n // icon: 'circle',\n // url: 'components/navs'\n // },\n // {\n // id: 'components-pagination',\n // title: 'Pagination',\n // translate: 'MENU.UI.COMPONENTS.PAGINATION',\n // type: 'item',\n // icon: 'circle',\n // url: 'components/pagination'\n // },\n // {\n // id: 'components-pill-badges',\n // title: 'Pill Badges',\n // translate: 'MENU.UI.COMPONENTS.PBADGES',\n // type: 'item',\n // icon: 'circle',\n // url: 'components/pill-badges'\n // },\n // {\n // id: 'components-pills',\n // title: 'Pills',\n // translate: 'MENU.UI.COMPONENTS.PILLS',\n // type: 'item',\n // icon: 'circle',\n // url: 'components/pills'\n // },\n // {\n // id: 'components-popovers',\n // title: 'Popovers',\n // translate: 'MENU.UI.COMPONENTS.POPOVERS',\n // type: 'item',\n // icon: 'circle',\n // url: 'components/popovers'\n // },\n // {\n // id: 'components-progress',\n // title: 'Progress',\n // translate: 'MENU.UI.COMPONENTS.PROGRESS',\n // type: 'item',\n // icon: 'circle',\n // url: 'components/progress'\n // },\n // {\n // id: 'components-ratings',\n // title: 'Ratings',\n // translate: 'MENU.UI.COMPONENTS.RATINGS',\n // type: 'item',\n // icon: 'circle',\n // url: 'components/ratings'\n // },\n // {\n // id: 'components-spinner',\n // title: 'Spinner',\n // translate: 'MENU.UI.COMPONENTS.SPINNER',\n // type: 'item',\n // icon: 'circle',\n // url: 'components/spinner'\n // },\n // {\n // id: 'components-tabs',\n // title: 'Tabs',\n // translate: 'MENU.UI.COMPONENTS.TABS',\n // type: 'item',\n // icon: 'circle',\n // url: 'components/tabs'\n // },\n // {\n // id: 'components-timeline',\n // title: 'Timeline',\n // translate: 'MENU.UI.COMPONENTS.TIMELINE',\n // type: 'item',\n // icon: 'circle',\n // url: 'components/timeline'\n // },\n // {\n // id: 'components-toasts',\n // title: 'Toasts',\n // translate: 'MENU.UI.COMPONENTS.TOASTS',\n // type: 'item',\n // icon: 'circle',\n // url: 'components/toasts'\n // },\n // {\n // id: 'components-tooltips',\n // title: 'Tooltips',\n // translate: 'MENU.UI.COMPONENTS.TOOLTIPS',\n // type: 'item',\n // icon: 'circle',\n // url: 'components/tooltips'\n // }\n // ]\n // },\n // {\n // id: 'extensions',\n // title: 'Extension',\n // translate: 'MENU.UI.EX.COLLAPSIBLE',\n // type: 'collapsible',\n // icon: 'plus-circle',\n // children: [\n // {\n // id: 'ex-sweet-alerts',\n // title: 'Sweet Alerts',\n // translate: 'MENU.UI.EX.SWEET_ALERTS',\n // icon: 'circle',\n // type: 'item',\n // url: '/extensions/sweet-alerts'\n // },\n // {\n // id: 'ex-blockui',\n // title: 'BlockUI',\n // translate: 'MENU.UI.EX.BLOCKUI',\n // icon: 'circle',\n // type: 'item',\n // url: 'extensions/blockui'\n // },\n // {\n // id: 'ex-toastr',\n // title: 'Toastr',\n // translate: 'MENU.UI.EX.TOASTER',\n // icon: 'circle',\n // type: 'item',\n // url: 'extensions/toastr'\n // },\n // {\n // id: 'ex-noui-slider',\n // title: 'Slider',\n // translate: 'MENU.UI.EX.SLIDER',\n // icon: 'circle',\n // type: 'item',\n // url: '/extensions/noui-slider'\n // },\n // {\n // id: 'ex-drag-drop',\n // title: 'Drag & Drop',\n // translate: 'MENU.UI.EX.DRAGDROP',\n // icon: 'circle',\n // type: 'item',\n // url: 'extensions/drag-drop'\n // },\n // {\n // id: 'ex-tour',\n // title: 'Tour',\n // translate: 'MENU.UI.EX.TOUR',\n // icon: 'circle',\n // type: 'item',\n // url: 'extensions/tour'\n // },\n // {\n // id: 'ex-clip-board',\n // title: 'Clipboard',\n // translate: 'MENU.UI.EX.CLIPBOARD',\n // icon: 'circle',\n // type: 'item',\n // url: 'extensions/clipboard'\n // },\n // {\n // id: 'ex-media-player',\n // title: 'Media Player',\n // translate: 'MENU.UI.EX.MEDIAPLAYER',\n // icon: 'circle',\n // type: 'item',\n // url: 'extensions/media-player'\n // },\n // {\n // id: 'ex-content-menu',\n // title: 'Context Menu',\n // translate: 'MENU.UI.EX.CONTEXTMENU',\n // icon: 'circle',\n // type: 'item',\n // url: 'extensions/context-menu'\n // },\n // {\n // id: 'ex-swiper',\n // title: 'Swiper',\n // translate: 'MENU.UI.EX.SWIPER',\n // icon: 'circle',\n // type: 'item',\n // url: 'extensions/swiper'\n // },\n // {\n // id: 'ex-tree-view',\n // title: 'Tree View',\n // translate: 'MENU.UI.EX.TREEVIEW',\n // icon: 'circle',\n // type: 'item',\n // url: 'extensions/tree-view'\n // },\n // {\n // id: 'i18n',\n // title: 'I18n',\n // translate: 'MENU.UI.EX.I18N',\n // icon: 'circle',\n // type: 'item',\n // url: '/extensions/i18n'\n // }\n // ]\n // },\n // {\n // id: 'page-layouts',\n // title: 'Page Layouts',\n // translate: 'MENU.UI.LAYOUTS.COLLAPSIBLE',\n // type: 'collapsible',\n // icon: 'layout',\n // children: [\n // {\n // id: 'layout-collapsed-menu',\n // title: 'Collapsed Menu',\n // translate: 'MENU.UI.LAYOUTS.COLLAPSED_MENU',\n // icon: 'circle',\n // type: 'item',\n // url: 'ui/page-layouts/collapsed-menu'\n // },\n // {\n // id: 'layout-boxed',\n // title: 'Boxed Layout',\n // translate: 'MENU.UI.LAYOUTS.BOXED_LAYOUT',\n // icon: 'circle',\n // type: 'item',\n // url: 'ui/page-layouts/boxed-layout'\n // },\n // {\n // id: 'layout-without-menu',\n // title: 'Without Menu',\n // translate: 'MENU.UI.LAYOUTS.WITHOUT_MENU',\n // icon: 'circle',\n // type: 'item',\n // url: 'ui/page-layouts/without-menu'\n // },\n // {\n // id: 'layout-empty',\n // title: 'Layout Empty',\n // translate: 'MENU.UI.LAYOUTS.LAYOUT_EMPTY',\n // icon: 'circle',\n // type: 'item',\n // url: 'ui/page-layouts/layout-empty'\n // },\n // {\n // id: 'layout-blank',\n // title: 'Layout Blank',\n // translate: 'MENU.UI.LAYOUTS.LAYOUT_BLANK',\n // icon: 'circle',\n // type: 'item',\n // url: 'ui/page-layouts/layout-blank'\n // }\n // ]\n // }\n // ]\n // },\n\n // Forms & Tables\n\n // {\n // id: 'forms-table',\n // type: 'section',\n // title: 'Forms & Tables',\n // translate: 'MENU.FT.SECTION',\n // icon: 'file-text',\n // children: [\n // {\n // id: 'form-elements',\n // title: 'Form Elements',\n // translate: 'MENU.FT.ELEMENT.COLLAPSIBLE',\n // type: 'collapsible',\n // icon: 'copy',\n // children: [\n // {\n // id: 'form-elements-input',\n // title: 'Input',\n // translate: 'MENU.FT.ELEMENT.INPUT',\n // type: 'item',\n // icon: 'circle',\n // url: 'forms/form-elements/input'\n // },\n // {\n // id: 'form-elements-inputgroups',\n // title: 'Input Groups',\n // translate: 'MENU.FT.ELEMENT.INPUTGROUPS',\n // type: 'item',\n // icon: 'circle',\n // url: 'forms/form-elements/input-groups'\n // },\n // {\n // id: 'form-elements-inputmask',\n // title: 'Input Mask',\n // translate: 'MENU.FT.ELEMENT.INPUTMASK',\n // type: 'item',\n // icon: 'circle',\n // url: 'forms/form-elements/input-mask'\n // },\n // {\n // id: 'form-elements-textarea',\n // title: 'Textarea',\n // translate: 'MENU.FT.ELEMENT.TEXTAREA',\n // type: 'item',\n // icon: 'circle',\n // url: 'forms/form-elements/textarea'\n // },\n // {\n // id: 'form-elements-checkbox',\n // title: 'Checkbox',\n // translate: 'MENU.FT.ELEMENT.CHECKBOX',\n // type: 'item',\n // icon: 'circle',\n // url: 'forms/form-elements/checkbox'\n // },\n // {\n // id: 'form-elements-radio',\n // title: 'Radio',\n // translate: 'MENU.FT.ELEMENT.RADIO',\n // type: 'item',\n // icon: 'circle',\n // url: 'forms/form-elements/radio'\n // },\n // {\n // id: 'form-elements-switch',\n // title: 'Switch',\n // translate: 'MENU.FT.ELEMENT.SWITCH',\n // type: 'item',\n // icon: 'circle',\n // url: 'forms/form-elements/switch'\n // },\n // {\n // id: 'form-elements-select',\n // title: 'Select',\n // translate: 'MENU.FT.ELEMENT.SELECT',\n // type: 'item',\n // icon: 'circle',\n // url: 'forms/form-elements/select'\n // },\n // {\n // id: 'form-elements-numberInput',\n // title: 'Number Input',\n // translate: 'MENU.FT.ELEMENT.NUMBERINPUT',\n // type: 'item',\n // icon: 'circle',\n // url: 'forms/form-elements/number-input'\n // },\n // {\n // id: 'form-elements-file-uploader',\n // title: 'File Uploader',\n // translate: 'MENU.FT.ELEMENT.FILEUPLOADER',\n // icon: 'circle',\n // type: 'item',\n // url: 'forms/form-elements/file-uploader'\n // },\n // {\n // id: 'form-elements-quill-editor',\n // title: 'Quill Editor',\n // translate: 'MENU.FT.ELEMENT.QUILLEDITOR',\n // icon: 'circle',\n // type: 'item',\n // url: 'forms/form-elements/quill-editor'\n // },\n // {\n // id: 'form-elements-flatpicker',\n // title: 'Flatpicker',\n // translate: 'MENU.FT.ELEMENT.FLATPICKER',\n // type: 'item',\n // icon: 'circle',\n // url: 'forms/form-elements/flatpickr'\n // },\n // {\n // id: 'form-elements-date-time-icker',\n // title: 'Date & Time Picker',\n // translate: 'MENU.FT.ELEMENT.DATETIMEPICKER',\n // type: 'item',\n // icon: 'circle',\n // url: 'forms/form-elements/date-time-picker'\n // }\n // ]\n // },\n // {\n // id: 'form-layouts',\n // title: 'Form Layouts',\n // translate: 'MENU.FT.LAYOUTS',\n // type: 'item',\n // icon: 'box',\n // url: 'forms/form-layout'\n // },\n // {\n // id: 'form-wizard',\n // title: 'Form Wizard',\n // translate: 'MENU.FT.WIZARD',\n // type: 'item',\n // icon: 'package',\n // url: 'forms/form-wizard'\n // },\n // {\n // id: 'form-validation',\n // title: 'Form Validations',\n // translate: 'MENU.FT.VALIDATION',\n // type: 'item',\n // icon: 'check-circle',\n // url: 'forms/form-validation'\n // },\n // {\n // id: 'form-repeater',\n // title: 'Form Repeater',\n // translate: 'MENU.FT.REPEATER',\n // type: 'item',\n // icon: 'rotate-cw',\n // url: 'forms/form-repeater'\n // },\n // {\n // id: 'tables-table',\n // title: 'Table',\n // translate: 'MENU.FT.TABLE',\n // type: 'item',\n // icon: 'server',\n // url: 'tables/table'\n // },\n // {\n // id: 'tables-datatable',\n // title: 'DataTables',\n // translate: 'MENU.FT.DATATABLES',\n // type: 'item',\n // icon: 'grid',\n // url: 'tables/datatables'\n // }\n // ]\n // },\n\n // Charts & Maps\n\n // {\n // id: 'charts-maps',\n // type: 'section',\n // title: 'Charts & Maps',\n // translate: 'MENU.CM.SECTION',\n // icon: 'bar-chart-2',\n // children: [\n // {\n // id: 'charts',\n // title: 'Charts',\n // translate: 'MENU.CM.CHARTS.COLLAPSIBLE',\n // type: 'collapsible',\n // icon: 'pie-chart',\n // badge: {\n // title: '2',\n // translate: 'MENU.CM.CHARTS.BADGE',\n // classes: 'badge-light-danger badge-pill'\n // },\n // children: [\n // {\n // id: 'apex',\n // title: 'Apex',\n // translate: 'MENU.CM.CHARTS.APEX',\n // type: 'item',\n // icon: 'circle',\n // url: 'charts-and-maps/apex'\n // },\n // {\n // id: 'chartJs',\n // title: 'ChartJS',\n // translate: 'MENU.CM.CHARTS.CHARTJS',\n // type: 'item',\n // icon: 'circle',\n // url: 'charts-and-maps/chartjs'\n // }\n // ]\n // },\n // {\n // id: 'google-maps',\n // title: 'Google Maps',\n // translate: 'MENU.CM.MAPS',\n // icon: 'map',\n // type: 'item',\n // url: 'charts-and-maps/google-maps'\n // }\n // ]\n // },\n\n // Others\n\n // {\n // id: 'others',\n // type: 'section',\n // title: 'Others',\n // translate: 'MENU.OTHERS.SECTION',\n // icon: 'box',\n // children: [\n // {\n // id: 'menu-levels',\n // title: 'Menu Levels',\n // translate: 'MENU.OTHERS.LEVELS.COLLAPSIBLE',\n // icon: 'menu',\n // type: 'collapsible',\n // children: [\n // {\n // id: 'second-level',\n // title: 'Second Level',\n // translate: 'MENU.OTHERS.LEVELS.SECOND',\n // icon: 'circle',\n // type: 'item',\n // url: '#'\n // },\n // {\n // id: 'second-level1',\n // title: 'Second Level',\n // translate: 'MENU.OTHERS.LEVELS.SECOND1.COLLAPSIBLE',\n // icon: 'circle',\n // type: 'collapsible',\n // children: [\n // {\n // id: 'third-level',\n // title: 'Third Level',\n // translate: 'MENU.OTHERS.LEVELS.SECOND1.THIRD',\n // type: 'item',\n // url: '#'\n // },\n // {\n // id: 'third-level1',\n // title: 'Third Level',\n // translate: 'MENU.OTHERS.LEVELS.SECOND1.THIRD1',\n // type: 'item',\n // url: '#'\n // }\n // ]\n // }\n // ]\n // },\n // {\n // id: 'disabled-menu',\n // title: 'Disabled Menu',\n // translate: 'MENU.OTHERS.DISABLED',\n // icon: 'eye-off',\n // type: 'item',\n // url: '#',\n // disabled: true\n // },\n // {\n // id: 'documentation',\n // title: 'Documentation',\n // translate: 'MENU.OTHERS.DOCUMENTATION',\n // icon: 'file-text',\n // type: 'item',\n // url: 'https://pixinvent.com/demo/vuexy-angular-admin-dashboard-template/documentation',\n // externalUrl: true,\n // openInNewTab: true\n // },\n // {\n // id: 'raise-support',\n // title: 'Raise Support',\n // translate: 'MENU.OTHERS.SUPPORT',\n // icon: 'life-buoy',\n // type: 'item',\n // url: 'https://pixinvent.ticksy.com/',\n // externalUrl: true,\n // openInNewTab: true\n // }\n // ]\n // }\n];\n","export const locale = {\n lang: 'en',\n data: {\n MENU: {\n DASHBOARD: {\n COLLAPSIBLE: 'Dashboards',\n BADGE: '2',\n ANALYTICS: 'Analytics',\n ECOMMERCE: 'eCommerce'\n },\n APPS: {\n SECTION: 'Apps & Pages',\n EMAIL: 'Email',\n CHAT: 'Chat',\n TODO: 'To-Do',\n CALENDAR: 'Calendar',\n HOME:'Home',\n ABOUT_ME:'About Me',\n CALENDAR_VIEW:'Calendar View',\n ALL_DIARY_ENTRIES:'All Diary Entries',\n ALL_JOURNAL_ENTRIES:'All Journal Entries',\n DIARY_VIEW:'Diary Views',\n JOURNAL_VIEW:'Journal Views',\n PAPERBACK_VIEW:'Paperback View',\n ME_ON_WEB:'Me on the Web',\n MY_DIARY_PLANNER:'My Diary Planner',\n MY_BLOG:'My Blog & Shared',\n SHARED:'Shared',\n MY_PASTIMES:'My Pastimes & Hobbies',\n MY_LIFE_STORY:'My Life Story',\n MY_IMAGE_GALLERY:'Images & Files',\n MY_IMAGE_GALLERY_SUB:'My Image Gallery',\n MY_LEGALS:'My Legals',\n MY_JOURNEY_ON_MAP:'My Life Journey on a Map',\n HEADING_TEXT_DIARY:'My Diary Planner',\n HEADING_TEXT_JOURNAL:'My Journal Planner',\n HEADING_MY_LISTS:'My Lists',\n HEADING_MY_AWARDS:'My Awards',\n HEADING_MY_ACHIEVEMENT:'My Achievements',\n HEADING_MY_JOBS:'My Jobs',\n HEADING_MY_FAMILIES:'My Families',\n HEADING_MY_FRIENDS:'My Friends',\n FILEMANAGER:'File Manager',\n UTILITIES:'Utilities',\n PREMIUM:'Premium-1 Demo',\n INVOICE: {\n COLLAPSIBLE: 'Invoice',\n LIST: 'List',\n PREVIEW: 'Preview',\n EDIT: 'Edit',\n ADD: 'Add'\n },\n ECOMMERCE: {\n COLLAPSIBLE: 'eCommerce',\n SHOP: 'Shop',\n DETAIL: 'Details',\n WISHLIST: 'Wish List',\n CHECKOUT: 'Checkout'\n },\n USER: {\n COLLAPSIBLE: 'User',\n LIST: 'List',\n VIEW: 'View',\n EDIT: 'Edit'\n }\n },\n PAGES: {\n SECTION: 'Pages',\n AUTH: {\n COLLAPSIBLE: 'Authentication',\n LOGIN1: 'Login V1',\n LOGIN2: 'Login V2',\n REGISTER1: 'Register V1',\n REGISTER2: 'Register V2',\n FORGOTPASSWORD1: 'Forgot Password V1',\n FORGOTPASSWORD2: 'Forgot Password V2',\n RESETPASSWORD1: 'Reset Password V1',\n RESETPASSWORD2: 'Reset Password V2'\n },\n ACCOUNTSETTINGS: 'Account Settings',\n PROFILE: 'Profile',\n FAQ: 'FAQ',\n KB: 'Knowledge Base',\n PRICING: 'Pricing',\n BLOG: {\n COLLAPSIBLE: 'Blog',\n LIST: 'List',\n DETAILS: 'Details',\n EDIT: 'Edit'\n },\n MAIL: {\n COLLAPSIBLE: 'Mail Template',\n WELCOME: 'Welcome',\n RESET: 'Reset Password',\n VERIFY: 'Verify',\n DEACTIVATE: 'Deactivate',\n INVOICE: 'Invoice',\n PROMOTIONAL: 'Promotional'\n },\n MISC: {\n COLLAPSIBLE: 'Miscellaneous',\n COMINGSOON: 'Coming Soon',\n NOTAUTH: 'Not Authorized',\n MAINTENANCE: 'Maintenance',\n ERROR: 'Error'\n }\n },\n UI: {\n SECTION: 'User Interface',\n TYPOGRAPHY: 'Typography',\n COLORS: 'Colors',\n FEATHER: 'Feather',\n CARDS: {\n COLLAPSIBLE: 'Cards',\n BADGE: 'New',\n BASIC: 'Basic',\n ADVANCE: 'Advance',\n STATISTICS: 'Statistics',\n ANALYTICS: 'Analytics',\n ACTIONS: 'Actions'\n },\n COMPONENTS: {\n COLLAPSIBLE: 'Components',\n ALERTS: 'Alerts',\n AVATAR: 'Avatar',\n BADGES: 'Badges',\n BREADCRUMBS: 'Breadcrumbs',\n BUTTONS: 'Buttons',\n CAROUSEL: 'Carousel',\n COLLAPSE: 'Collapse',\n DIVIDER: 'Divider',\n DROPDOWNS: 'Dropdowns',\n GROUP: 'List Group',\n OBJECTS: 'Media Objects',\n MODALS: 'Modals',\n COMPONENT: 'Navs',\n PAGINATION: 'Pagination',\n PBADGES: 'Pill Badges',\n PILLS: 'Pills',\n POPOVERS: 'Popovers',\n PROGRESS: 'Progress',\n RATINGS: 'Ratings',\n SPINNER: 'Spinner',\n TABS: 'Tabs',\n TIMELINE: 'Timeline',\n TOASTS: 'Toasts',\n TOOLTIPS: 'Tooltips'\n },\n EX: {\n COLLAPSIBLE: 'Extension',\n SWEET_ALERTS: 'Sweet Alerts',\n BLOCKUI: 'BlockUI',\n TOASTER: 'Toastr',\n SLIDER: 'Slider',\n DRAGDROP: 'Drag & Drop',\n TOUR: 'Tour',\n CLIPBOARD: 'Clipboard',\n MEDIAPLAYER: 'Media Player',\n CONTEXTMENU: 'Context Menu',\n SWIPER: 'Swiper',\n TREEVIEW: 'Tree View',\n I18N: 'I18n'\n },\n LAYOUTS: {\n COLLAPSIBLE: 'Page Layouts',\n COLLAPSED_MENU: 'Collapsed Menu',\n BOXED_LAYOUT: 'Boxed Layout',\n WITHOUT_MENU: 'Without Menu',\n LAYOUT_EMPTY: 'Layout Empty',\n LAYOUT_BLANK: 'Layout Blank'\n }\n },\n FT: {\n SECTION: 'Forms & Tables',\n ELEMENT: {\n COLLAPSIBLE: 'Form Elements',\n INPUT: 'Input',\n INPUTGROUPS: 'Input Groups',\n INPUTMASK: 'Input Mask',\n TEXTAREA: 'Textarea',\n CHECKBOX: 'Checkbox',\n RADIO: 'Radio',\n SWITCH: 'Switch',\n SELECT: 'Select',\n NUMBERINPUT: 'Number Input',\n FILEUPLOADER: 'File Uploader',\n QUILLEDITOR: 'Quill Editor',\n FLATPICKER: 'Flatpicker',\n DATETIMEPICKER: 'Date & Time Picker'\n },\n LAYOUTS: 'Form Layouts',\n WIZARD: 'Form Wizard',\n VALIDATION: 'Form Validations',\n REPEATER: 'Form Repeater',\n TABLE: 'Table',\n DATATABLES: 'DataTables'\n },\n CM: {\n SECTION: 'Charts & Maps',\n CHARTS: {\n COLLAPSIBLE: 'Charts',\n BADGE: '2',\n APEX: 'Apex',\n CHARTJS: 'ChartJS'\n },\n MAPS: 'Google Maps'\n },\n OTHERS: {\n SECTION: 'Others',\n LEVELS: {\n COLLAPSIBLE: 'Menu Levels',\n SECOND: 'Second Level',\n SECOND1: {\n COLLAPSIBLE: 'Second Level',\n THIRD: 'Third Level',\n THIRD1: 'Third Level'\n }\n },\n DISABLED: 'Disabled Menu',\n DOCUMENTATION: 'Documentation',\n SUPPORT: 'Raise Support'\n }\n }\n }\n};\n","export const locale = {\r\n lang: 'hn',\r\n data: {\r\n MENU: {\r\n DASHBOARD: {\r\n COLLAPSIBLE: 'Dashboards',\r\n BADGE: '2',\r\n ANALYTICS: 'Analytics',\r\n ECOMMERCE: 'eCommerce'\r\n },\r\n APPS: {\r\n SECTION: 'Apps & Pages',\r\n EMAIL: 'Email',\r\n CHAT: 'Chat',\r\n TODO: 'करने के लिए',\r\n CALENDAR: 'Calendar',\r\n ALL_DIARY_ENTRIES: 'सभी डायरी एंट्री',\r\n ALL_JOURNAL_ENTRIES:'सभी जर्नल एंट्री',\r\n CALENDAR_VIEW: 'कैलेंडर दृश्य',\r\n HOME: 'होम',\r\n ABOUT_ME: 'मेरे बारे में',\r\n DIARY_VIEW: 'डायरी दृश्य',\r\n JOURNAL_VIEW: 'जर्नल दृश्य', \r\n MY_DIARY_PLANNER: 'मेरी डायरी योजनाकार',\r\n MY_LIFE_STORY:'मेरी जीवन कहानी',\r\n MY_BLOG: 'मेरा ब्लॉग और साझा किया गया',\r\n SHARED: 'साझा',\r\n ME_ON_WEB:'वेब पर मैं',\r\n PAPERBACK_VIEW:'पेपरबैक दृष्टिकोण',\r\n MY_IMAGE_GALLERY: 'छवियां और फ़ाइलें',\r\n MY_IMAGE_GALLERY_SUB: 'छवियां और फ़ाइलें',\r\n HEADING_TEXT_DIARY: 'मेरी डायरी योजनाकार',\r\n MY_JOURNEY_ON_MAP:'मानचित्र पर मेरी जीवन यात्रा',\r\n HEADING_TEXT_JOURNAL: 'मेरी जर्नल योजनाकार',\r\n HEADING_MY_LISTS:'मेरी सूचियाँ',\r\n HEADING_MY_AWARDS: 'मेरे पुरस्कार',\r\n HEADING_MY_ACHIEVEMENT: 'मेरी उपलब्धि',\r\n MY_PASTIMES:'मेरे शौक और रुचियाँ',\r\n MY_LEGALS:'मेरे कानूनी',\r\n HEADING_MY_JOBS:'मेरे काम',\r\n HEADING_MY_FAMILIES:'मेरे परिवार',\r\n HEADING_MY_FRIENDS:'मेरे मित्र',\r\n FILEMANAGER: 'फ़ाइल प्रबंधक',\r\n UTILITIES: 'उपयोगिताओं',\r\n PREMIUM:'प्रीमियम-1 डेमो',\r\n INVOICE: {\r\n COLLAPSIBLE: 'Invoice',\r\n LIST: 'List',\r\n PREVIEW: 'Preview',\r\n EDIT: 'Edit',\r\n ADD: 'Add'\r\n },\r\n ECOMMERCE: {\r\n COLLAPSIBLE: 'eCommerce',\r\n SHOP: 'Shop',\r\n DETAIL: 'Details',\r\n WISHLIST: 'Wish List',\r\n CHECKOUT: 'Checkout'\r\n },\r\n USER: {\r\n COLLAPSIBLE: 'User',\r\n LIST: 'List',\r\n VIEW: 'View',\r\n EDIT: 'Edit'\r\n }\r\n },\r\n PAGES: {\r\n SECTION: 'Pages',\r\n AUTH: {\r\n COLLAPSIBLE: 'Authentication',\r\n LOGIN1: 'Login V1',\r\n LOGIN2: 'Login V2',\r\n REGISTER1: 'Register V1',\r\n REGISTER2: 'Register V2',\r\n FORGOTPASSWORD1: 'Forgot Password V1',\r\n FORGOTPASSWORD2: 'Forgot Password V2',\r\n RESETPASSWORD1: 'Reset Password V1',\r\n RESETPASSWORD2: 'Reset Password V2'\r\n },\r\n ACCOUNTSETTINGS: 'Account Settings',\r\n PROFILE: 'Profile',\r\n FAQ: 'FAQ',\r\n KB: 'Knowledge Base',\r\n PRICING: 'Pricing',\r\n BLOG: {\r\n COLLAPSIBLE: 'Blog',\r\n LIST: 'List',\r\n DETAILS: 'Details',\r\n EDIT: 'Edit'\r\n },\r\n MAIL: {\r\n COLLAPSIBLE: 'Mail Template',\r\n WELCOME: 'Welcome',\r\n RESET: 'Reset Password',\r\n VERIFY: 'Verify',\r\n DEACTIVATE: 'Deactivate',\r\n INVOICE: 'Invoice',\r\n PROMOTIONAL: 'Promotional'\r\n },\r\n MISC: {\r\n COLLAPSIBLE: 'Miscellaneous',\r\n COMINGSOON: 'Coming Soon',\r\n NOTAUTH: 'Not Authorized',\r\n MAINTENANCE: 'Maintenance',\r\n ERROR: 'Error'\r\n }\r\n },\r\n UI: {\r\n SECTION: 'User Interface',\r\n TYPOGRAPHY: 'Typography',\r\n COLORS: 'Colors',\r\n FEATHER: 'Feather',\r\n CARDS: {\r\n COLLAPSIBLE: 'Cards',\r\n BADGE: 'New',\r\n BASIC: 'Basic',\r\n ADVANCE: 'Advance',\r\n STATISTICS: 'Statistics',\r\n ANALYTICS: 'Analytics',\r\n ACTIONS: 'Actions'\r\n },\r\n COMPONENTS: {\r\n COLLAPSIBLE: 'Components',\r\n ALERTS: 'Alerts',\r\n AVATAR: 'Avatar',\r\n BADGES: 'Badges',\r\n BREADCRUMBS: 'Breadcrumbs',\r\n BUTTONS: 'Buttons',\r\n CAROUSEL: 'Carousel',\r\n COLLAPSE: 'Collapse',\r\n DIVIDER: 'Divider',\r\n DROPDOWNS: 'Dropdowns',\r\n GROUP: 'List Group',\r\n OBJECTS: 'Media Objects',\r\n MODALS: 'Modals',\r\n COMPONENT: 'Navs',\r\n PAGINATION: 'Pagination',\r\n PBADGES: 'Pill Badges',\r\n PILLS: 'Pills',\r\n POPOVERS: 'Popovers',\r\n PROGRESS: 'Progress',\r\n RATINGS: 'Ratings',\r\n SPINNER: 'Spinner',\r\n TABS: 'Tabs',\r\n TIMELINE: 'Timeline',\r\n TOASTS: 'Toasts',\r\n TOOLTIPS: 'Tooltips'\r\n },\r\n EX: {\r\n COLLAPSIBLE: 'Extension',\r\n SWEET_ALERTS: 'Sweet Alerts',\r\n BLOCKUI: 'BlockUI',\r\n TOASTER: 'Toastr',\r\n SLIDER: 'Slider',\r\n DRAGDROP: 'Drag & Drop',\r\n TOUR: 'Tour',\r\n CLIPBOARD: 'Clipboard',\r\n MEDIAPLAYER: 'Media Player',\r\n CONTEXTMENU: 'Context Menu',\r\n SWIPER: 'Swiper',\r\n TREEVIEW: 'Tree View',\r\n I18N: 'I18n'\r\n },\r\n LAYOUTS: {\r\n COLLAPSIBLE: 'Page Layouts',\r\n COLLAPSED_MENU: 'Collapsed Menu',\r\n BOXED_LAYOUT: 'Boxed Layout',\r\n WITHOUT_MENU: 'Without Menu',\r\n LAYOUT_EMPTY: 'Layout Empty',\r\n LAYOUT_BLANK: 'Layout Blank'\r\n }\r\n },\r\n FT: {\r\n SECTION: 'Forms & Tables',\r\n ELEMENT: {\r\n COLLAPSIBLE: 'Form Elements',\r\n INPUT: 'Input',\r\n INPUTGROUPS: 'Input Groups',\r\n INPUTMASK: 'Input Mask',\r\n TEXTAREA: 'Textarea',\r\n CHECKBOX: 'Checkbox',\r\n RADIO: 'Radio',\r\n SWITCH: 'Switch',\r\n SELECT: 'Select',\r\n NUMBERINPUT: 'Number Input',\r\n FILEUPLOADER: 'File Uploader',\r\n QUILLEDITOR: 'Quill Editor',\r\n FLATPICKER: 'Flatpicker',\r\n DATETIMEPICKER: 'Date & Time Picker'\r\n },\r\n LAYOUTS: 'Form Layouts',\r\n WIZARD: 'Form Wizard',\r\n VALIDATION: 'Form Validations',\r\n REPEATER: 'Form Repeater',\r\n TABLE: 'Table',\r\n DATATABLES: 'DataTables'\r\n },\r\n CM: {\r\n SECTION: 'Charts & Maps',\r\n CHARTS: {\r\n COLLAPSIBLE: 'Charts',\r\n BADGE: '2',\r\n APEX: 'Apex',\r\n CHARTJS: 'ChartJS'\r\n },\r\n MAPS: 'Google Maps'\r\n },\r\n OTHERS: {\r\n SECTION: 'Others',\r\n LEVELS: {\r\n COLLAPSIBLE: 'Menu Levels',\r\n SECOND: 'Second Level',\r\n SECOND1: {\r\n COLLAPSIBLE: 'Second Level',\r\n THIRD: 'Third Level',\r\n THIRD1: 'Third Level'\r\n }\r\n },\r\n DISABLED: 'Disabled Menu',\r\n DOCUMENTATION: 'Documentation',\r\n SUPPORT: 'Raise Support'\r\n }\r\n }\r\n }\r\n};\r\n","export const locale = {\n lang: 'fr',\n data: {\n MENU: {\n DASHBOARD: {\n COLLAPSIBLE: 'Tableaux de bord',\n BADGE: '2',\n ANALYTICS: 'Analytique',\n ECOMMERCE: 'commerce électronique'\n },\n APPS: {\n SECTION: 'Applications et pages',\n EMAIL: 'E-mail',\n CHAT: 'Discuter',\n TODO: 'À faire',\n CALENDAR: 'Calendrier',\n INVOICE: {\n COLLAPSIBLE: \"Facture d'achat\",\n LIST: 'Lister',\n PREVIEW: 'Aperçu',\n EDIT: 'Éditer',\n ADD: 'Ajouter'\n },\n ECOMMERCE: {\n COLLAPSIBLE: 'commerce électronique',\n SHOP: 'Magasin',\n DETAIL: 'Des détails',\n WISHLIST: 'Liste de souhaits',\n CHECKOUT: 'Vérifier'\n },\n USER: {\n COLLAPSIBLE: 'Utilisateur',\n LIST: 'Lister',\n VIEW: 'Vue',\n EDIT: 'Éditer'\n }\n },\n PAGES: {\n SECTION: 'Des pages',\n AUTH: {\n COLLAPSIBLE: 'Authentification',\n LOGIN1: 'Connexion V1',\n LOGIN2: 'Connexion V2',\n REGISTER1: 'Enregistrer V1',\n REGISTER2: \"S'inscrire V2\",\n FORGOTPASSWORD1: 'Mot de passe oublié V1',\n FORGOTPASSWORD2: 'Mot de passe oublié V2',\n RESETPASSWORD1: 'Réinitialiser le mot de passe V1',\n RESETPASSWORD2: 'Réinitialiser le mot de passe V2'\n },\n ACCOUNTSETTINGS: 'Paramètres du compte',\n PROFILE: 'Profil',\n FAQ: 'FAQ',\n KB: 'Base de connaissances',\n PRICING: 'Tarification',\n BLOG: {\n COLLAPSIBLE: 'Blog',\n LIST: 'Lister',\n DETAILS: 'Des détails',\n EDIT: 'Éditer'\n },\n MAIL: {\n COLLAPSIBLE: 'Modèle de courrier',\n WELCOME: 'Bienvenue',\n RESET: 'réinitialiser le mot de passe',\n VERIFY: 'Vérifier',\n DEACTIVATE: 'Désactiver',\n INVOICE: \"Facture d'achat\",\n PROMOTIONAL: 'Promotionnel'\n },\n MISC: {\n COLLAPSIBLE: 'Divers',\n COMINGSOON: 'Arrive bientôt',\n NOTAUTH: 'Pas autorisé',\n MAINTENANCE: 'Maintenance',\n ERROR: 'Erreur'\n }\n },\n UI: {\n SECTION: 'Interface utilisateur',\n TYPOGRAPHY: 'Typographie',\n COLORS: 'Couleurs',\n FEATHER: 'Plume',\n CARDS: {\n COLLAPSIBLE: 'Cartes',\n BADGE: 'Nouveau',\n BASIC: 'De base',\n ADVANCE: 'Avance',\n STATISTICS: 'Statistiques',\n ANALYTICS: 'Analytique',\n ACTIONS: 'Actions'\n },\n COMPONENTS: {\n COLLAPSIBLE: 'Composants',\n ALERTS: 'Alertes',\n AVATAR: 'Avatar',\n BADGES: 'Badges',\n BREADCRUMBS: 'Chapelure',\n BUTTONS: 'Boutons',\n CAROUSEL: 'Carrousel',\n COLLAPSE: \"S'effondrer\",\n DIVIDER: 'Diviseur',\n DROPDOWNS: 'Listes déroulantes',\n GROUP: 'Groupe de listes',\n OBJECTS: 'Objets multimédias',\n MODALS: 'Modaux',\n COMPONENT: 'Navs',\n PAGINATION: 'Pagination',\n PBADGES: 'Badges de pilules',\n PILLS: 'Pilules',\n POPOVERS: 'popovers',\n PROGRESS: 'Le progrès',\n RATINGS: 'Évaluations',\n SPINNER: 'Fileur',\n TABS: 'Onglets',\n TIMELINE: 'Chronologie',\n TOASTS: 'Toasts',\n TOOLTIPS: 'Info-bulles'\n },\n EX: {\n COLLAPSIBLE: 'Extension',\n SWEET_ALERTS: 'Alertes douces',\n BLOCKUI: 'BlockUI',\n TOASTER: 'Toastr',\n SLIDER: 'Glissière',\n DRAGDROP: 'Glisser-déposer',\n TOUR: 'Tour',\n CLIPBOARD: 'Presse-papiers',\n MEDIAPLAYER: 'Lecteur multimédia',\n CONTEXTMENU: 'Menu contextuel',\n SWIPER: 'Swiper',\n TREEVIEW: 'Vue arborescente',\n I18N: 'I18n'\n },\n LAYOUTS: {\n COLLAPSIBLE: 'Mises en page',\n COLLAPSED_MENU: 'Menu réduit',\n BOXED_LAYOUT: 'Disposition encadrée',\n WITHOUT_MENU: 'Sans menu',\n LAYOUT_EMPTY: 'Disposition vide',\n LAYOUT_BLANK: 'Mise en page vierge'\n }\n },\n FT: {\n SECTION: 'Formulaires et tableaux',\n ELEMENT: {\n COLLAPSIBLE: 'Éléments de formulaire',\n INPUT: 'Saisir',\n INPUTGROUPS: \"Groupes d'entrée\",\n INPUTMASK: 'Masque de saisie',\n TEXTAREA: 'Textarea',\n CHECKBOX: 'Case à cocher',\n RADIO: 'Radio',\n SWITCH: 'Changer',\n SELECT: 'Sélectionner',\n NUMBERINPUT: 'Entrée numérique',\n FILEUPLOADER: 'Téléchargeur de fichiers',\n QUILLEDITOR: 'Éditeur de plumes',\n FLATPICKER: 'Flatpicker',\n DATETIMEPICKER: \"Sélecteur de date et d'heure\"\n },\n LAYOUTS: 'Dispositions de formulaire',\n WIZARD: 'Assistant de formulaire',\n VALIDATION: 'Validations de formulaire',\n REPEATER: 'Répéteur de formulaire',\n TABLE: 'Table',\n DATATABLES: 'DataTables'\n },\n CM: {\n SECTION: 'Graphiques et cartes',\n CHARTS: {\n COLLAPSIBLE: 'Graphiques',\n BADGE: '2',\n APEX: 'Sommet',\n CHARTJS: 'GraphiqueJS'\n },\n MAPS: 'Google Maps'\n },\n OTHERS: {\n SECTION: 'Autres',\n LEVELS: {\n COLLAPSIBLE: 'Niveaux de menu',\n SECOND: 'Deuxième niveau',\n SECOND1: {\n COLLAPSIBLE: 'Deuxième niveau',\n THIRD: 'Troisième niveau',\n THIRD1: 'Troisième niveau'\n }\n },\n DISABLED: 'Menu désactivé',\n DOCUMENTATION: 'Documentation',\n SUPPORT: 'Augmenter le soutien'\n }\n }\n }\n};\n","export const locale = {\n lang: 'de',\n data: {\n MENU: {\n DASHBOARD: {\n COLLAPSIBLE: 'Dashboards',\n BADGE: '2',\n ANALYTICS: 'Analytik',\n ECOMMERCE: 'E-Commerce'\n },\n APPS: {\n SECTION: 'Apps & Seiten',\n EMAIL: 'Email',\n CHAT: 'Plaudern',\n TODO: 'Machen',\n CALENDAR: 'Kalender',\n INVOICE: {\n COLLAPSIBLE: 'Rechnung',\n LIST: 'Liste',\n PREVIEW: 'Vorschau',\n EDIT: 'Bearbeiten',\n ADD: 'Hinzufügen'\n },\n ECOMMERCE: {\n COLLAPSIBLE: 'E-Commerce',\n SHOP: 'Geschäft',\n DETAIL: 'Einzelheiten',\n WISHLIST: 'Wunschzettel',\n CHECKOUT: 'Überprüfen'\n },\n USER: {\n COLLAPSIBLE: 'Nutzer',\n LIST: 'Liste',\n VIEW: 'Aussicht',\n EDIT: 'Bearbeiten'\n }\n },\n PAGES: {\n SECTION: 'Seiten',\n AUTH: {\n COLLAPSIBLE: 'Authentifizierung',\n LOGIN1: 'Login V1',\n LOGIN2: 'Login V2',\n REGISTER1: 'Register V1',\n REGISTER2: 'Register V2',\n FORGOTPASSWORD1: 'Passwort vergessen V1',\n FORGOTPASSWORD2: 'Passwort vergessen V2',\n RESETPASSWORD1: 'Passwort zurücksetzen V1',\n RESETPASSWORD2: 'Passwort zurücksetzen V2'\n },\n ACCOUNTSETTINGS: 'Kontoeinstellungen',\n PROFILE: 'Profil',\n FAQ: 'FAQ',\n KB: 'Wissensbasis',\n PRICING: 'Preisgestaltung',\n BLOG: {\n COLLAPSIBLE: 'Blog',\n LIST: 'Liste',\n DETAILS: 'Einzelheiten',\n EDIT: 'Bearbeiten'\n },\n MAIL: {\n COLLAPSIBLE: 'Mail-Vorlage',\n WELCOME: 'Herzlich willkommen',\n RESET: 'Passwort zurücksetzen',\n VERIFY: 'Überprüfen',\n DEACTIVATE: 'Deaktivieren',\n INVOICE: 'Rechnung',\n PROMOTIONAL: 'Werbung'\n },\n MISC: {\n COLLAPSIBLE: 'Verschiedenes',\n COMINGSOON: 'Kommt bald',\n NOTAUTH: 'Nicht genehmigt',\n MAINTENANCE: 'Instandhaltung',\n ERROR: 'Error'\n }\n },\n UI: {\n SECTION: 'Benutzeroberfläche',\n TYPOGRAPHY: 'Typografie',\n COLORS: 'Farben',\n FEATHER: 'Feder',\n CARDS: {\n COLLAPSIBLE: 'Karten',\n BADGE: 'Neu',\n BASIC: 'Basic',\n ADVANCE: 'Voraus',\n STATISTICS: 'Statistiken',\n ANALYTICS: 'Analytik',\n ACTIONS: 'Aktionen'\n },\n COMPONENTS: {\n COLLAPSIBLE: 'Komponenten',\n ALERTS: 'Warnungen',\n AVATAR: 'Benutzerbild',\n BADGES: 'Abzeichen',\n BREADCRUMBS: 'Semmelbrösel',\n BUTTONS: 'Tasten',\n CAROUSEL: 'Karussell',\n COLLAPSE: 'Zusammenbruch',\n DIVIDER: 'Teiler',\n DROPDOWNS: 'Dropdowns',\n GROUP: 'Listengruppe',\n OBJECTS: 'Medienobjekte',\n MODALS: 'Modale',\n COMPONENT: 'Navs',\n PAGINATION: 'Seitennummerierung',\n PBADGES: 'Pillenabzeichen',\n PILLS: 'Pillen',\n POPOVERS: 'Popovers',\n PROGRESS: 'Fortschritt',\n RATINGS: 'Bewertungen',\n SPINNER: 'Spinner',\n TABS: 'Tabs',\n TIMELINE: 'Zeitleiste',\n TOASTS: 'Toast',\n TOOLTIPS: 'Tooltips'\n },\n EX: {\n COLLAPSIBLE: 'Erweiterung',\n SWEET_ALERTS: 'Süße Warnungen',\n BLOCKUI: 'BlockUI',\n TOASTER: 'Toastr',\n SLIDER: 'Schieberegler',\n DRAGDROP: 'Ziehen und loslassen',\n TOUR: 'Tour',\n CLIPBOARD: 'Zwischenablage',\n MEDIAPLAYER: 'Media Player',\n CONTEXTMENU: 'Kontextmenü',\n SWIPER: 'Swiper',\n TREEVIEW: 'Baumsicht',\n I18N: 'I18n'\n },\n LAYOUTS: {\n COLLAPSIBLE: 'Seitenlayouts',\n COLLAPSED_MENU: 'Reduziertes Menü',\n BOXED_LAYOUT: 'Boxed Layout',\n WITHOUT_MENU: 'Ohne Menü',\n LAYOUT_EMPTY: 'Layout leer',\n LAYOUT_BLANK: 'Layout leer'\n }\n },\n FT: {\n SECTION: 'Formulare & Tabellen',\n ELEMENT: {\n COLLAPSIBLE: 'Formularelemente',\n INPUT: 'Eingang',\n INPUTGROUPS: 'Eingabegruppen',\n INPUTMASK: 'Eingabemaske',\n TEXTAREA: 'Textbereich',\n CHECKBOX: 'Kontrollkästchen',\n RADIO: 'Radio',\n SWITCH: 'Schalter',\n SELECT: 'Wählen',\n NUMBERINPUT: 'Zahleneingabe',\n FILEUPLOADER: 'Datei-Uploader',\n QUILLEDITOR: 'Federkiel-Editor',\n FLATPICKER: 'Flatpicker',\n DATETIMEPICKER: 'Datums- und Zeitauswahl'\n },\n LAYOUTS: 'Formularlayouts',\n WIZARD: 'Formzauberer',\n VALIDATION: 'Formularvalidierungen',\n REPEATER: 'Form Repeater',\n TABLE: 'Tabelle',\n DATATABLES: 'DataTables'\n },\n CM: {\n SECTION: 'Diagramme & Karten',\n CHARTS: {\n COLLAPSIBLE: 'Diagramme',\n BADGE: '2',\n APEX: 'Apex',\n CHARTJS: 'ChartJS'\n },\n MAPS: 'Google Maps'\n },\n OTHERS: {\n SECTION: 'Andere',\n LEVELS: {\n COLLAPSIBLE: 'Menüebenen',\n SECOND: 'Zweites Level',\n SECOND1: {\n COLLAPSIBLE: 'Zweites Level',\n THIRD: 'Drittes Level',\n THIRD1: 'Drittes Level'\n }\n },\n DISABLED: 'Deaktiviertes Menü',\n DOCUMENTATION: 'Dokumentation',\n SUPPORT: 'Unterstützung erhöhen'\n }\n }\n }\n};\n","export const locale = {\n lang: 'pt',\n data: {\n MENU: {\n DASHBOARD: {\n COLLAPSIBLE: 'Dashboards',\n BADGE: '2',\n ANALYTICS: 'Analytics',\n ECOMMERCE: 'comércio eletrônico'\n },\n APPS: {\n SECTION: 'Aplicativos e páginas',\n EMAIL: 'O email',\n CHAT: 'Bate-papo',\n TODO: 'Façam',\n CALENDAR: 'Calendário',\n INVOICE: {\n COLLAPSIBLE: 'Fatura',\n LIST: 'Lista',\n PREVIEW: 'Antevisão',\n EDIT: 'Editar',\n ADD: 'Adicionar'\n },\n ECOMMERCE: {\n COLLAPSIBLE: 'comércio eletrônico',\n SHOP: 'Comprar',\n DETAIL: 'Detalhes',\n WISHLIST: 'Lista de Desejos',\n CHECKOUT: 'Confira'\n },\n USER: {\n COLLAPSIBLE: 'Do utilizador',\n LIST: 'Lista',\n VIEW: 'Visualizar',\n EDIT: 'Editar'\n }\n },\n PAGES: {\n SECTION: 'Páginas',\n AUTH: {\n COLLAPSIBLE: 'Autenticação',\n LOGIN1: 'Login V1',\n LOGIN2: 'Login V2',\n REGISTER1: 'Registrar V1',\n REGISTER2: 'Registrar V2',\n FORGOTPASSWORD1: 'Esqueci a senha V1',\n FORGOTPASSWORD2: 'Esqueci a senha V2',\n RESETPASSWORD1: 'Redefinir senha V1',\n RESETPASSWORD2: 'Redefinir senha V2'\n },\n ACCOUNTSETTINGS: 'Configurações de Conta',\n PROFILE: 'Perfil',\n FAQ: 'Perguntas frequentes',\n KB: 'Base de Conhecimento',\n PRICING: 'Preços',\n BLOG: {\n COLLAPSIBLE: 'Blog',\n LIST: 'Lista',\n DETAILS: 'Detalhes',\n EDIT: 'Editar'\n },\n MAIL: {\n COLLAPSIBLE: 'Modelo de Correio',\n WELCOME: 'Receber',\n RESET: 'Redefinir senha',\n VERIFY: 'Verificar',\n DEACTIVATE: 'Desativar',\n INVOICE: 'Fatura',\n PROMOTIONAL: 'Promocional'\n },\n MISC: {\n COLLAPSIBLE: 'Diversos',\n COMINGSOON: 'Em breve',\n NOTAUTH: 'Não autorizado',\n MAINTENANCE: 'Manutenção',\n ERROR: 'Erro'\n }\n },\n UI: {\n SECTION: 'Interface de usuário',\n TYPOGRAPHY: 'Tipografia',\n COLORS: 'Cores',\n FEATHER: 'Pena',\n CARDS: {\n COLLAPSIBLE: 'Cartas',\n BADGE: 'Novo',\n BASIC: 'Básico',\n ADVANCE: 'Avançar',\n STATISTICS: 'Estatisticas',\n ANALYTICS: 'Analytics',\n ACTIONS: 'Ações'\n },\n COMPONENTS: {\n COLLAPSIBLE: 'Componentes',\n ALERTS: 'Alertas',\n AVATAR: 'Avatar',\n BADGES: 'Distintivos',\n BREADCRUMBS: 'Migalhas de pão',\n BUTTONS: 'Botões',\n CAROUSEL: 'Carrossel',\n COLLAPSE: 'Colapso',\n DIVIDER: 'Divisor',\n DROPDOWNS: 'Dropdowns',\n GROUP: 'Grupo de Lista',\n OBJECTS: 'Objetos de mídia',\n MODALS: 'Modais',\n COMPONENT: 'Navs',\n PAGINATION: 'Paginação',\n PBADGES: 'Emblemas de comprimidos',\n PILLS: 'Pílulas',\n POPOVERS: 'Popovers',\n PROGRESS: 'Progresso',\n RATINGS: 'Avaliações',\n SPINNER: 'Spinner',\n TABS: 'Abas',\n TIMELINE: 'Linha do tempo',\n TOASTS: 'Torradas',\n TOOLTIPS: 'Dicas de ferramentas'\n },\n EX: {\n COLLAPSIBLE: 'Extensão',\n SWEET_ALERTS: 'Sweet Alerts',\n BLOCKUI: 'BlockUI',\n TOASTER: 'Toastr',\n SLIDER: 'Slider',\n DRAGDROP: 'Arraste e solte',\n TOUR: 'Percorrer',\n CLIPBOARD: 'Prancheta',\n MEDIAPLAYER: 'Reprodutor de mídia',\n CONTEXTMENU: 'Menu contextual',\n SWIPER: 'Swiper',\n TREEVIEW: 'Tree View',\n I18N: 'I18n'\n },\n LAYOUTS: {\n COLLAPSIBLE: 'Layouts de página',\n COLLAPSED_MENU: 'Menu recolhido',\n BOXED_LAYOUT: 'Layout em caixa',\n WITHOUT_MENU: 'Sem Menu',\n LAYOUT_EMPTY: 'Layout Vazio',\n LAYOUT_BLANK: 'Layout em branco'\n }\n },\n FT: {\n SECTION: 'Formulários e tabelas',\n ELEMENT: {\n COLLAPSIBLE: 'Elementos de Formulário',\n INPUT: 'Entrada',\n INPUTGROUPS: 'Grupos de entrada',\n INPUTMASK: 'Máscara de entrada',\n TEXTAREA: 'Textarea',\n CHECKBOX: 'Caixa de seleção',\n RADIO: 'Rádio',\n SWITCH: 'Interruptor',\n SELECT: 'Selecione',\n NUMBERINPUT: 'Número de entrada',\n FILEUPLOADER: 'Uploader de arquivos',\n QUILLEDITOR: 'Editor de pena',\n FLATPICKER: 'Flatpicker',\n DATETIMEPICKER: 'Selecionador de data e hora'\n },\n LAYOUTS: 'Layouts de formulário',\n WIZARD: 'Assistente de Formulários',\n VALIDATION: 'Validações de formulário',\n REPEATER: 'Repetidor de Formulário',\n TABLE: 'Mesa',\n DATATABLES: 'DataTables'\n },\n CM: {\n SECTION: 'Cartas e mapas',\n CHARTS: {\n COLLAPSIBLE: 'Gráficos',\n BADGE: '2',\n APEX: 'Ápice',\n CHARTJS: 'ChartJS'\n },\n MAPS: 'Google Maps'\n },\n OTHERS: {\n SECTION: 'Outros',\n LEVELS: {\n COLLAPSIBLE: 'Níveis de Menu',\n SECOND: 'Segundo nível',\n SECOND1: {\n COLLAPSIBLE: 'Segundo nível',\n THIRD: 'Terceiro nivel',\n THIRD1: 'Terceiro nivel'\n }\n },\n DISABLED: 'Menu Desabilitado',\n DOCUMENTATION: 'Documentação',\n SUPPORT: 'Levante o Suporte'\n }\n }\n }\n};\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\n\nimport { AuthenticationService } from 'app/auth/service';\nimport { User } from 'app/auth/models';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CoreMenuService {\n currentUser: User;\n onItemCollapsed: Subject;\n onItemCollapseToggled: Subject;\n\n // Private\n private _onMenuRegistered: BehaviorSubject;\n private _onMenuUnregistered: BehaviorSubject;\n private _onMenuChanged: BehaviorSubject;\n private _currentMenuKey: string;\n private _registry: { [key: string]: any } = {};\n\n /**\n * Constructor\n *\n * @param {Router} _router\n * @param {AuthenticationService} _authenticationService\n */\n constructor(private _router: Router, private _authenticationService: AuthenticationService) {\n this._authenticationService.currentUser.subscribe(x => (this.currentUser = x));\n\n // Set defaults\n this.onItemCollapsed = new Subject();\n this.onItemCollapseToggled = new Subject();\n\n // Set private defaults\n this._currentMenuKey = null;\n this._onMenuRegistered = new BehaviorSubject(null);\n this._onMenuUnregistered = new BehaviorSubject(null);\n this._onMenuChanged = new BehaviorSubject(null);\n }\n\n // Accessors\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * onMenuRegistered\n *\n * @returns {Observable}\n */\n get onMenuRegistered(): Observable {\n return this._onMenuRegistered.asObservable();\n }\n\n /**\n * onMenuUnregistered\n *\n * @returns {Observable}\n */\n get onMenuUnregistered(): Observable {\n return this._onMenuUnregistered.asObservable();\n }\n\n /**\n * onMenuChanged\n *\n * @returns {Observable}\n */\n get onMenuChanged(): Observable {\n return this._onMenuChanged.asObservable();\n }\n\n // Public methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Register the provided menu with the provided key\n *\n * @param key\n * @param menu\n */\n register(key, menu): void {\n // Confirm if the key already used\n if (this._registry[key]) {\n console.error(`Menu with the key '${key}' already exists. Either unregister it first or use a unique key.`);\n\n return;\n }\n\n // Add to registry\n this._registry[key] = menu;\n\n // Notify subject\n this._onMenuRegistered.next([key, menu]);\n }\n\n /**\n * Unregister the menu from the registry\n *\n * @param key\n */\n unregister(key): void {\n // Confirm if the menu exists\n if (!this._registry[key]) {\n console.warn(`Menu with the key '${key}' doesn't exist in the registry.`);\n }\n\n // Unregister sidebar\n delete this._registry[key];\n\n // Notify subject\n this._onMenuUnregistered.next(key);\n }\n\n /**\n * Get menu from registry by key\n *\n * @param key\n * @returns {any}\n */\n getMenu(key): any {\n // Confirm if the menu exists\n if (!this._registry[key]) {\n console.warn(`Menu with the key '${key}' doesn't exist in the registry.`);\n\n return;\n }\n\n // Return sidebar\n return this._registry[key];\n }\n\n /**\n * Get current menu\n *\n * @returns {any}\n */\n getCurrentMenu(): any {\n if (!this._currentMenuKey) {\n console.warn(`The current menu is not set.`);\n\n return;\n }\n return this.getMenu(this._currentMenuKey);\n }\n\n /**\n * Set menu with the key as the current menu\n *\n * @param key\n */\n setCurrentMenu(key): void {\n // Confirm if the sidebar exists\n if (!this._registry[key]) {\n console.warn(`Menu with the key '${key}' doesn't exist in the registry.`);\n\n return;\n }\n\n // Set current menu key\n this._currentMenuKey = key;\n\n // Notify subject\n this._onMenuChanged.next(key);\n }\n}\n","import { trigger, transition, style, query, group, animateChild, animate, keyframes } from '@angular/animations';\n\n// Animation: FadeInLeft\nexport const fadeInLeft = trigger('fadeInLeft', [\n transition('* => *', [\n query(\n ':enter, :leave',\n style({ position: 'absolute', left: 0, width: '100%', paddingRight: '2rem', paddingLeft: '2rem', opacity: 0 }),\n {\n optional: true\n }\n ),\n query(':enter', style({ transform: 'translateX(-100%)', opacity: 0 }), { optional: true }),\n\n group([\n query(\n ':leave',\n [\n style({ transform: 'translateX(0%)' }),\n animate('600ms ease', style({ opacity: 1, transform: 'translateX(100%)' }))\n ],\n { optional: true }\n ),\n query(':enter', [animate('800ms ease', style({ opacity: 1, transform: 'translateX(0%)' })), animateChild()], {\n optional: true\n })\n ])\n ])\n]);\n\n// Animation: ZoomIn\nexport const zoomIn = trigger('zoomIn', [\n transition('* <=> *', [\n query(\n ':enter, :leave',\n [\n style({\n position: 'absolute',\n left: 0,\n width: '100%',\n paddingRight: '2rem',\n paddingLeft: '2rem',\n opacity: 0,\n transform: 'scale(0.5) translateY(-20%)'\n })\n ],\n { optional: true }\n ),\n query(\n ':enter',\n [\n animate(\n '400ms ease',\n style({ opacity: 1, paddingRight: '2rem', paddingLeft: '2rem', transform: 'scale(1) translateY(0)' })\n )\n ],\n {\n optional: true\n }\n )\n ])\n]);\n\n// Animation: FadeIn\nexport const fadeIn = trigger('fadeIn', [\n transition('* <=> *', [\n query(\n ':enter, :leave',\n [\n style({\n position: 'absolute',\n left: 0,\n width: '100%',\n paddingRight: '2rem',\n paddingLeft: '2rem',\n opacity: 0\n })\n ],\n { optional: true }\n ),\n query(':enter', [animate('500ms ease', style({ opacity: 1, paddingRight: '2rem', paddingLeft: '2rem' }))], {\n optional: true\n })\n ])\n]);\n","import { Component, ViewEncapsulation } from '@angular/core';\nimport { CoreConfigService } from '@core/services/config.service';\nimport { fadeInLeft, zoomIn, fadeIn } from '@core/animations/core.animation';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n@Component({\n selector: 'content',\n templateUrl: './content.component.html',\n encapsulation: ViewEncapsulation.None,\n animations: [fadeInLeft, zoomIn, fadeIn]\n})\nexport class ContentComponent {\n public coreConfig: any;\n public animate;\n\n // Private\n private _unsubscribeAll: Subject;\n\n /**\n * Constructor\n *\n * @param {CoreConfigService} _coreConfigService\n *\n */\n constructor(private _coreConfigService: CoreConfigService) {\n // Set the private defaults\n this._unsubscribeAll = new Subject();\n }\n\n /**\n * Fade In Left Animation\n *\n * @param outlet\n */\n fadeInLeft(outlet) {\n if (this.animate === 'fadeInLeft') {\n return outlet.activatedRouteData.animation;\n }\n return null;\n }\n\n /**\n * Zoom In Animation\n *\n * @param outlet\n */\n zoomIn(outlet) {\n if (this.animate === 'zoomIn') {\n return outlet.activatedRouteData.animation;\n }\n return null;\n }\n\n /**\n * Fade In Animation\n *\n * @param outlet\n */\n fadeIn(outlet) {\n if (this.animate === 'fadeIn') {\n return outlet.activatedRouteData.animation;\n }\n return null;\n }\n\n // Lifecycle Hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On Init\n */\n ngOnInit(): void {\n // Subscribe config change\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n this.animate = this.coreConfig.layout.animation;\n });\n }\n}\n","\n
    \n \n
    \n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'en',\n data: {\n COMMON:{\n CONTROL_LABEL_EMAIL_ADDRESS:'Email Address',\n PLACEHOLDER_EMAIL_ADDRESS:'Type here...',\n PLACEHOLDER_TYPE_HERE:'Type here...',\n PLACEHOLDER_MOBILE_NUMBER:'0123456789',\n BUTTON_TEXT_SAVE_CHANGES:'Save Changes',\n ERROR_MESSAGE_REQUIRED_EMAIL_ADDRESS:'The email is required!',\n ERROR_MESSAGE_INVALID_EMAIL:'Please enter your email address in format:\\nyourname@example.com',\n ERROR_MESSAGE_CONNECTIONREFUSED:'Could not connect with server.',\n COMMON_STATUS:\n [\n {ErrorCode:Status.UserNotFound,ErrorMessage:'User could not be found.'}\n ],\n },\n MENU:{\n CONTROL_LABEL_VERSION:'Version',\n CONTROL_LABEL_UPDATED_ON:'Updated On',\n CONTROL_LABEL_SUPPORT:'Support',\n CONTROL_LABEL_FEEDBACK:'Feedback',\n CONTROL_LABEL_MY_CART:'My Cart',\n CONTROL_LABEL_ITEMS:'Items',\n CONTROL_LABEL_CHECKOUT:'Checkout',\n TOOLTIP_TEXT_BUTTON_VERSION:'Version',\n TOOLTIP_TEXT_BUTTON_UPDATED_ON:'Updated On',\n TOOLTIP_TEXT_BUTTON_SUPPORT:'Support',\n TOOLTIP_TEXT_BUTTON_FEEDBACK:'Feedback',\n TOOLTIP_TEXT_LANGUAGE:'Language',\n TOOLTIP_TEXT_TOGGLE_SKIN:'Toggle Skin',\n TOOLTIP_TEXT_NOTIFICATION:'Notification',\n TOOLTIP_TEXT_CART:'My Cart',\n TOOLTIP_TEXT_MANAGER:'File Manager',\n TOOLTIP_TEXT_USER:'User',\n CALENDAR:'Calendar',\n UPLOAD:'Upload',\n ADD_JOURNAL_ENTRY:'Add a Journal Entry',\n ADD_DIARY_ENTRY:'Add a Diary Entry'\n },\n NAVBAR:{\n CONTROL_LABEL_MY_NOOSOM_PROFILE:'My Noosom Profile',\n CONTROL_LABEL_SETTINGS:'Settings',\n CONTROL_LABEL_PRICING:'Pricing',\n CONTROL_LABEL_GIVE_FEEDBACK:'Give Feedback',\n CONTROL_LABEL_SUPPORT:'Support / FAQ',\n CONTROL_LABEL_LOGOUT:'Logout',\n CONTROL_LABEL_SEARCH:'Search'\n },\n }\n};\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'fr',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Impossible de se connecter au serveur.'\n },\n SIGNIN: {\n WELCOME_TEXT: 'Bienvenue à Noosom',\n MOTIVATION_BADGE_SIGNIN:'Connectez-vous et commencez l\\'aventure',\n CONTROL_LABEL_EMAIL:'Adresse e-mail',\n CONTROL_LABEL_PASSWORD:'Mot de passe',\n CONTROL_LABEL_REMEMBERME:'Souviens-toi de moi',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Mot de passe oublié?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Créer un compte',\n TEXT_NEWONPLATFORM:'Nouveau sur notre plateforme ?',\n BUTTON_TEXT_LOGIN:'Connexion',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Vous avez réussi à vous connecter en tant qu\\'utilisateur {0} à Noosom. Vous pouvez maintenant commencer à explorer. Prendre plaisir! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Bienvenue, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'Le champ email est!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Le champ mot de passe est!',\n ERROR_MESSAGE_INVALID_EMAIL:'L\\'e-mail doit être une adresse e-mail valide',\n ERROR_MESSAGE_NOATTEMPTS:'Nom d\\'utilisateur ou mot de passe invalide. Il ne vous reste plus aucune tentative.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Votre adresse e-mail n\\'est pas vérifiée.
    vérifiez d\\'abord votre adresse e-mail.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Vôtre compte a été bloqué.'},\n {ErrorCode:0,ErrorMessage:'Connexion réussie.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Nom d\\'utilisateur ou mot de passe invalide.
    Il vous reste {0} tentatives.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administratrice'},{titlle:'Client',value:'Cliente'},{title:'User',value:'Utilisatrice'}]\n },\n SIGNUP:\n {\n MOTIVATION_BADGE_SIGNUP:'Inscrivez-vous et commencez l\\'aventure',\n STEPPER_TITLE_ACCOUNT:'Compte',\n STEPPER_SUB_TITLE_ACCOUNT:'Saisissez votre nom d\\'utilisateur',\n STEPPER_TITLE_PERSONAL:'Personnelle',\n STEPPER_SUB_TITLE_PERSONAL:'Entrez les informations',\n HEADING_ACCOUNT:'Information sur le compte',\n HEADING_PERSONAL:'Renseignements personnels',\n HEADING_SELECTPLAN:'Sélectionnez le plan',\n CONTROL_LABEL_USERID:'ID utilisateur Noosom',\n CONTROL_LABEL_EMAILADDRESS:'Adresse e-mail',\n CONTROL_LABEL_PASSWORD:'Mot de passe',\n CONTROL_LABEL_CONFIRMPASSWORD:'Confirmer votre mot de passe',\n CONTROL_LABEL_REGION:'Votre région',\n CONTROL_LABEL_HOMECOUNTRY:'Votre pays',\n CONTROL_LABEL_FIRSTNAME:'Prénom',\n CONTROL_LABEL_MIDDLENAME:'Deuxième nom',\n CONTROL_LABEL_LASTNAME:'Nom de famille',\n CONTROL_LABEL_BIRTHDATE:'Date de naissance',\n CONTROL_LABEL_MOBILENO:'Mobile Non',\n CONTROL_LABEL_SELECTPLAN:'Gratuit pour l\\'instant, ou achetez plus tard.',\n PLACEHOLDER_TYPEHERE:'Écrivez ici...',\n PLACEHOLDER_PASSWORD:'Mot de passe',\n PLACEHOLDER_REGION:'Choisissez une région',\n PLACEHOLDER_COUNTRY:'Choisissez le pays',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Précédente',\n BUTTON_TEXT_NEXT:'Prochaine',\n BUTTON_TEXT_SUBMIT:'Soumettre',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Vos données seront stockées',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'dans la région sélectionnée',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'Sélectionnez le pays',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Compte créé avec succès.',\n ERROR_MESSAGE_REQUIRED_USERID:'Le champ nom d\\'utilisateur est!',\n ERROR_MESSAGE_EXISTED_USERID:'Ce nom d\\'utilisateur a été pris. Veuillez en essayer un autre.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'Le champ adresse e-mail est!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Cette adresse e-mail a été prise. Veuillez en essayer un autre.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Le champ mot de passe est!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Doit contenir au moins un chiffre, une lettre majuscule et minuscule et un minimum de 8 caractères ou plus.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'Le mot de passe répété doit correspondre.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'Le champ de confirmation du mot de passe est!',\n ERROR_MESSAGE_REQUIRED_REGION:'Le champ région est!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'Le champ du pays',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'Le champ prénom est!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'Le champ du deuxième prénom est!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'Le champ nom de famille est!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'Le champ date de naissance est!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'Le mobile aucun champ n\\'est requis!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Veuillez sélectionner l\\'option de forfait gratuit!'\n }\n }\n};\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'de',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Es konnte keine Verbindung zum Server hergestellt werden.'\n },\n SIGNIN: {\n MOTIVATION_BADGE_SIGNIN:'Melden Sie sich an und starten Sie das Abenteuer',\n WELCOME_TEXT: 'Willkommen bei Noosom',\n CONTROL_LABEL_EMAIL:'E-Mail-Addresse',\n CONTROL_LABEL_PASSWORD:'Passwort',\n CONTROL_LABEL_REMEMBERME:'Erinnere dich an mich',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Haben Sie Ihr Passwort vergessen?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Ein Konto erstellen',\n TEXT_NEWONPLATFORM:'Neu auf unserer Plattform?',\n BUTTON_TEXT_LOGIN:'Anmeldung',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Sie haben sich erfolgreich als {0}-Benutzer bei Noosom angemeldet. Jetzt können Sie mit der Erkundung beginnen. Genießen! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Willkommen, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'Das E-Mail-Feld ist!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Das Passwortfeld ist!',\n ERROR_MESSAGE_INVALID_EMAIL:'E-Mail muss eine gültige E-Mail-Adresse sein',\n ERROR_MESSAGE_NOATTEMPTS:'Ungültiger Benutzername oder ungültiges Passwort.
    Sie haben keine weiteren Versuche mehr.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Ihre E-Mail-Adresse wurde nicht verifiziert.
    überprüfen Sie zuerst Ihre E-Mail-Adresse.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Dein Account wurde gesperrt.'},\n {ErrorCode:0,ErrorMessage:'Eingeloggt erfolgreich.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Ungültiger Benutzername oder ungültiges Passwort. Sie haben noch {0} Versuche.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administratorin'},{titlle:'Client',value:'Klientin'},{title:'User',value:'Benutzer'}]\n },\n SIGNUP:\n {\n MOTIVATION_BADGE_SIGNUP:'Melden Sie sich an und starten Sie das Abenteuer',\n STEPPER_TITLE_ACCOUNT:'Konto',\n STEPPER_SUB_TITLE_ACCOUNT:'Benutzernamen eingeben',\n STEPPER_TITLE_PERSONAL:'persönlich',\n STEPPER_SUB_TITLE_PERSONAL:'Information eingeben',\n HEADING_ACCOUNT:'Kontoinformationen',\n HEADING_PERSONAL:'Persönliche Informationen',\n HEADING_SELECTPLAN:'Plan auswählen',\n CONTROL_LABEL_USERID:'Noosom-Benutzer-ID',\n CONTROL_LABEL_EMAILADDRESS:'E-Mail-Addresse',\n CONTROL_LABEL_PASSWORD:'Passwort',\n CONTROL_LABEL_CONFIRMPASSWORD:'Bestätigen Sie Ihr Passwort',\n CONTROL_LABEL_REGION:'Ihre Region',\n CONTROL_LABEL_HOMECOUNTRY:'Ihr land',\n CONTROL_LABEL_FIRSTNAME:'Vorname',\n CONTROL_LABEL_MIDDLENAME:'Zweiter Vorname',\n CONTROL_LABEL_LASTNAME:'Nachname',\n CONTROL_LABEL_BIRTHDATE:'Geburtsdatum',\n CONTROL_LABEL_MOBILENO:'Handy-Nr',\n CONTROL_LABEL_SELECTPLAN:'Jetzt für immer kostenlos oder später kaufen.',\n PLACEHOLDER_TYPEHERE:'Geben Sie hier ein ...',\n PLACEHOLDER_PASSWORD:'Passwort',\n PLACEHOLDER_REGION:'Region wählen',\n PLACEHOLDER_COUNTRY:'Land auswählen',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Vorherige',\n BUTTON_TEXT_NEXT:'Nächste',\n BUTTON_TEXT_SUBMIT:'Einreichen',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Ihre Daten werden gespeichert',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'in der ausgewählten Region',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'land auswählen',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Konto erfolgreich erstellt.',\n ERROR_MESSAGE_REQUIRED_USERID:'Das Feld „Benutzername“ ist! Das Feld „E-Mail“ ist',\n ERROR_MESSAGE_EXISTED_USERID:'Dieser Benutzername wurde vergeben. Bitte versuchen Sie es mit einem anderen.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'Das Feld für die E-Mail-Adresse ist!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Diese E-Mail-Adresse wurde übernommen. Bitte versuchen Sie es mit einem anderen.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'Das Passwortfeld ist!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Muss mindestens eine Zahl, einen Groß- und Kleinbuchstaben und mindestens 8 Zeichen enthalten.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'Passwort wiederholen muss übereinstimmen.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'Das Feld Passwort bestätigen ist!',\n ERROR_MESSAGE_REQUIRED_REGION:'Das Regionsfeld ist!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'Das Feld land ist!',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'Das Vornamensfeld ist!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'Das Feld für den zweiten Vornamen ist!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'Das Feld Nachname ist!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'Das Feld Geburtsdatum ist!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'Das Handy ist kein Pflichtfeld!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Bitte wählen Sie die kostenlose Planoption!',\n }\n }\n};\n","import { Status } from \"app/enums\";\n\nexport const locale = {\n lang: 'pt',\n data: {\n COMMON:{\n ERROR_MESSAGE_CONNECTIONREFUSED:'Não foi possível conectar com o servidor'\n },\n SIGNIN: {\n WELCOME_TEXT: 'Bem-vindo ao Noosom',\n MOTIVATION_BADGE_SIGNIN:'Faça login e comece a aventura',\n CONTROL_LABEL_EMAIL:'Endereço de email',\n CONTROL_LABEL_PASSWORD:'Senha',\n CONTROL_LABEL_REMEMBERME:'Lembre de mim',\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\n LINK_TEXT_LABEL_FORGOTPASSWORD:'Esqueceu sua senha?',\n LINK_TEXT_LABEL_CREATEACCOUNT:'Crie a sua conta aqui',\n TEXT_NEWONPLATFORM:'Novo em nossa plataforma?',\n BUTTON_TEXT_LOGIN:'Conecte-se',\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'Você fez login com sucesso como um usuário {0} no Noosom. Agora você pode começar a explorar. Apreciar! 🎉',\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 Bem-vindo, {0}!',\n ERROR_MESSAGE_REQUIRED_EMAIL:'O campo de e-mail!',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'O campo de senha!',\n ERROR_MESSAGE_INVALID_EMAIL:'O e-mail deve ser um endereço de e-mail válido',\n ERROR_MESSAGE_NOATTEMPTS:'Nome de usuário ou senha inválidos. Não há tentativas restantes.',\n LOGIN_STATUS:\n [\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'Seu endereço de e-mail não foi verificado.
    primeiro varie seu endereço de e-mail.'},\n {ErrorCode:Status.AccountLocked,ErrorMessage:'Sua conta foi bloqueada.'},\n {ErrorCode:0,ErrorMessage:'Logado com sucesso.'},\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'Nome de usuário ou senha inválidos.
    Você tem {0} tentativas restantes.'}\n ],\n DIGITS:[1,2,3,4],\n ROLES:[{title:'Admin',value:'Administrador'},{titlle:'Client',value:'Cliente'},{title:'User',value:'Do utilizador'}]\n },\n SIGNUP:\n {\n STEPPER_TITLE_ACCOUNT:'Conta',\n STEPPER_SUB_TITLE_ACCOUNT:'Insira nome de usuário',\n STEPPER_TITLE_PERSONAL:'Pessoal',\n STEPPER_SUB_TITLE_PERSONAL:'Insira as informações',\n HEADING_ACCOUNT:'Informação da conta',\n HEADING_PERSONAL:'Informação pessoal',\n HEADING_SELECTPLAN:'Selecione o plano',\n CONTROL_LABEL_USERID:'ID de usuário Noosom',\n CONTROL_LABEL_EMAILADDRESS:'Endereço de email',\n CONTROL_LABEL_PASSWORD:'Senha',\n CONTROL_LABEL_CONFIRMPASSWORD:'Confirme sua senha',\n CONTROL_LABEL_REGION:'Sua região',\n CONTROL_LABEL_HOMECOUNTRY:'Seu país de',\n CONTROL_LABEL_FIRSTNAME:'Primeiro nome',\n CONTROL_LABEL_MIDDLENAME:'Nome do meio',\n CONTROL_LABEL_LASTNAME:'Sobrenome',\n CONTROL_LABEL_BIRTHDATE:'Data de nascimento',\n CONTROL_LABEL_MOBILENO:'Celular não',\n CONTROL_LABEL_SELECTPLAN:'Grátis para sempre por agora, ou compre mais tarde.',\n PLACEHOLDER_TYPEHERE:'Digite aqui...',\n PLACEHOLDER_PASSWORD:'Senha',\n PLACEHOLDER_REGION:'Selecione a região',\n PLACEHOLDER_COUNTRY:'Selecione o pais',\n PLACEHOLDER_TELEPHONENUMBER:'0123456789',\n BUTTON_TEXT_PREVIOUS:'Anterior',\n BUTTON_TEXT_NEXT:'Próxima',\n BUTTON_TEXT_SUBMIT:'Enviar',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'Seus dados serão armazenados',\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'na região selecionada',\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'Selecione o país de',\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'Conta criada com sucesso.',\n ERROR_MESSAGE_REQUIRED_USERID:'O campo de nome de usuário!',\n ERROR_MESSAGE_EXISTED_USERID:'Esse nome de usuário foi usado. Por favor, tente outro.',\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'O campo de endereço de e-mail!',\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'Esse endereço de e-mail foi usado. Por favor, tente outro.',\n ERROR_MESSAGE_REQUIRED_PASSWORD:'O campo de senha!',\n ERROR_MESSAGE_INVALID_PASSWORD:'Deve conter pelo menos um número, uma letra maiúscula e uma minúscula e um mínimo de 8 ou mais caracteres.',\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'A senha repetida deve corresponder.',\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'O campo de confirmação de senha!',\n ERROR_MESSAGE_REQUIRED_REGION:'O campo região!',\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'O campo do país de!',\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'O campo de nome!',\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'O campo de nome do meio!',\n ERROR_MESSAGE_REQUIRED_LASTNAME:'O campo sobrenome!',\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'O campo data de nascimento!',\n ERROR_MESSAGE_REQUIRED_MOBILENO:'O celular nenhum campo!',\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'Selecione a opção de plano gratuito!'\n }\n }\n};\n","import { Status } from \"app/enums\";\r\n\r\nexport const locale = {\r\n lang: 'gj',\r\n data: {\r\n COMMON:{\r\n ERROR_MESSAGE_CONNECTIONREFUSED:'સર્વર સાથે કનેક્ટ કરી શકાયું નથી'\r\n },\r\n SIGNIN: {\r\n WELCOME_TEXT: 'નૂસોમ માં આપનું સ્વાગત છે',\r\n MOTIVATION_BADGE_SIGNIN:'સાઇન ઇન કરો અને સાહસ શરૂ કરો',\r\n CONTROL_LABEL_EMAIL:'ઈ - મેઈલ સરનામું',\r\n CONTROL_LABEL_PASSWORD:'પાસવર્ડ',\r\n CONTROL_LABEL_REMEMBERME:'મને યાદ રાખો',\r\n PLACEHOLDER_EMAIL:'johndoe@gmail.com',\r\n LINK_TEXT_LABEL_FORGOTPASSWORD:'તમારો પાસવર્ડ ભૂલી ગયા છો?',\r\n LINK_TEXT_LABEL_CREATEACCOUNT:'એક ખાતુ બનાવો',\r\n TEXT_NEWONPLATFORM:'અમારા પ્લેટફોર્મ પર નવા છો?',\r\n BUTTON_TEXT_LOGIN:'પ્રવેશ કરો',\r\n TOAST_MESSAGE_SUCCESSFULLOGINMESSAGE:'તમે Noosom માં {0} વપરાશકર્તા તરીકે સફળતાપૂર્વક લૉગ ઇન કર્યું છે. હવે તમે અન્વેષણ કરવાનું શરૂ કરી શકો છો. આનંદ માણો! 🎉',\r\n TOAST_MESSAGE_SUCCESSFULLOGINWELCOMETEXT:'👋 સ્વાગત છે, {0}!',\r\n ERROR_MESSAGE_REQUIRED_EMAIL:'ઈમેલ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_PASSWORD:'પાસવર્ડ આવશ્યક છે!',\r\n ERROR_MESSAGE_INVALID_EMAIL:'ઇમેઇલ એક માન્ય ઇમેઇલ સરનામું હોવું આવશ્યક છે',\r\n ERROR_MESSAGE_NOATTEMPTS:'અમાન્ય વપરાશકર્તાનામ અથવા પાસવર્ડ. તમારી પાસે કોઈ પ્રયાસો બાકી નથી.',\r\n LOGIN_STATUS:\r\n [\r\n {ErrorCode:Status.EmailNotVarified,ErrorMessage:'તમારું ઇમેઇલ સરનામું ચકાસાયેલ નથી.
    પહેલા તમારું ઇમેઇલ સરનામું બદલો.'},\r\n {ErrorCode:Status.AccountLocked,ErrorMessage:'તમારું એકાઉન્ટ લોક કરી દેવામાં આવ્યું છે.'},\r\n {ErrorCode:0,ErrorMessage:'લૉગ-ઇન સફળ.'},\r\n {ErrorCode:Status.InvalidCredential,ErrorMessage:'અમાન્ય વપરાશકર્તાનામ અથવા પાસવર્ડ.
    તમારી પાસે {0} પ્રયાસો બાકી છે.'}\r\n ],\r\n DIGITS:[\"૧\",\"૨\",\"૩\",\"૪\"],\r\n ROLES:[{title:'Admin',value:'એડમિન'},{titlle:'Client',value:'ક્લાયન્ટ'},{title:'User',value:'વપરાશકર્તા'}]\r\n },\r\n SIGNUP:\r\n {\r\n MOTIVATION_BADGE_SIGNUP:'સાઇન અપ કરો અને સાહસ શરૂ કરો',\r\n STEPPER_TITLE_ACCOUNT:'એકાઉન્ટ',\r\n STEPPER_SUB_TITLE_ACCOUNT:'વપરાશકર્તા નામ દાખલ કરો',\r\n STEPPER_TITLE_PERSONAL:'અંગત',\r\n STEPPER_SUB_TITLE_PERSONAL:'માહિતી દાખલ કરો',\r\n HEADING_ACCOUNT:'ખાતાની માહિતી',\r\n HEADING_PERSONAL:'વ્યક્તિગત માહિતી',\r\n HEADING_SELECTPLAN:'પ્લાન પસંદ કરો',\r\n CONTROL_LABEL_USERID:'નૂસોમ વપરાશકર્તા આઈડી',\r\n CONTROL_LABEL_EMAILADDRESS:'ઈ - મેઈલ સરનામું',\r\n CONTROL_LABEL_PASSWORD:'પાસવર્ડ',\r\n CONTROL_LABEL_CONFIRMPASSWORD:'તમારા પાસવર્ડની ખાતરી કરો',\r\n CONTROL_LABEL_REGION:'તમારો પ્રદેશ',\r\n CONTROL_LABEL_HOMECOUNTRY:'તમારો દેશ',\r\n CONTROL_LABEL_FIRSTNAME:'પ્રથમ નામ',\r\n CONTROL_LABEL_MIDDLENAME:'પિતાનું નામ',\r\n CONTROL_LABEL_LASTNAME:'છેલ્લું નામ',\r\n CONTROL_LABEL_BIRTHDATE:'જન્મ તારીખ',\r\n CONTROL_LABEL_MOBILENO:'મોબાઈલ નમ્બર',\r\n CONTROL_LABEL_SELECTPLAN:'હમણાં માટે હંમેશ માટે મફત, અથવા પછીથી ખરીદો.',\r\n PLACEHOLDER_TYPEHERE:'અહી લખો...',\r\n PLACEHOLDER_PASSWORD:'પાસવર્ડ',\r\n PLACEHOLDER_REGION:'પ્રદેશ પસંદ કરો',\r\n PLACEHOLDER_COUNTRY:'દેશ પસંદ કરો',\r\n PLACEHOLDER_TELEPHONENUMBER:'૦૧૨૩૪૫૬૭૮૯',\r\n BUTTON_TEXT_PREVIOUS:'અગાઉના',\r\n BUTTON_TEXT_NEXT:'આગળ',\r\n BUTTON_TEXT_SUBMIT:'સબમિટ કરો',\r\n TOOLTIPTEXT_CONTROL_LABEL_REGION_1:'તમારો ડેટા પસંદ કરેલ પ્રદેશમાં',\r\n TOOLTIPTEXT_CONTROL_LABEL_REGION_2:'સંગ્રહિત કરવામાં આવશે',\r\n TOOLTIPTEXT_CONTROL_LABEL_HOMECOUNTRY:'દેશ પસંદ કરો',\r\n TOAST_MESSAGE_SUCCESSFULSIGNUP:'એકાઉન્ટ સફળતાપૂર્વક બનાવ્યું.',\r\n ERROR_MESSAGE_REQUIRED_USERID:'યુઝરનેમ આવશ્યક છે!',\r\n ERROR_MESSAGE_EXISTED_USERID:'તે વપરાશકર્તા નામ લેવામાં આવ્યું છે. કૃપા કરીને બીજો પ્રયાસ કરો.',\r\n ERROR_MESSAGE_REQUIRED_EMAILADDRESS:'ઈમેલ એડ્રેસ ફીલ્ડ છે!',\r\n ERROR_MESSAGE_EXISTED_EMAILADDRESS:'તે ઈમેલ એડ્રેસ લેવામાં આવ્યું છે. કૃપા કરીને બીજો પ્રયાસ કરો.',\r\n ERROR_MESSAGE_REQUIRED_PASSWORD:'પાસવર્ડ ફીલ્ડ છે!',\r\n ERROR_MESSAGE_INVALID_PASSWORD:'ઓછામાં ઓછા એક નંબર, એક અપરકેસ અને લોઅરકેસ અક્ષર અને ઓછામાં ઓછા 8 અથવા વધુ અક્ષરો હોવા જોઈએ.',\r\n ERROR_MESSAGE_MISMATCHED_PASSWORD:'પુનરાવર્તિત પાસવર્ડ મેળ ખાતો હોવો જોઈએ.',\r\n ERROR_MESSAGE_REQUIRED_CONFIRMPASSWORD:'કન્ફર્મ પાસવર્ડ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_REGION:'પ્રદેશ ક્ષેત્ર આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_HOMECOUNTRY:'દેશ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_FIRSTNAME:'પ્રથમ નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_MIDDLENAME:'મધ્યમ નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_LASTNAME:'છેલ્લું નામ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_BIRTHDATE:'જન્મ તારીખ આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_MOBILENO:'મોબાઇલ નંબર આવશ્યક છે!',\r\n ERROR_MESSAGE_REQUIRED_SELECTPLAN:'કૃપા કરીને ફ્રી પ્લાન વિકલ્પ પસંદ કરો!'\r\n }\r\n }\r\n };\r\n ","import { Status } from \"app/enums\";\r\n\r\nexport const locale = {\r\n lang: 'hn',\r\n data: {\r\n COMMON: {\r\n CONTROL_LABEL_EMAIL_ADDRESS: 'ईमेल पता',\r\n PLACEHOLDER_EMAIL_ADDRESS: 'यहाँ लिखो...',\r\n PLACEHOLDER_TYPE_HERE: 'यहाँ लिखो...',\r\n PLACEHOLDER_MOBILE_NUMBER: '०१२३४५६७८९',\r\n BUTTON_TEXT_SAVE_CHANGES: 'परिवर्तनों को सुरक्षित करें',\r\n ERROR_MESSAGE_REQUIRED_EMAIL_ADDRESS: 'ईमेल की आवश्यकता है!',\r\n ERROR_MESSAGE_INVALID_EMAIL: 'कृपया अपना ईमेल पता प्रारूप में दर्ज करें:\\nyourname@example.com',\r\n ERROR_MESSAGE_CONNECTIONREFUSED: 'सर्वर से कनेक्ट नहीं हो सका.',\r\n COMMON_STATUS:\r\n [\r\n { ErrorCode: Status.UserNotFound, ErrorMessage: 'उपयोगकर्ता नहीं मिल सका।' }\r\n ],\r\n },\r\n MENU: {\r\n CONTROL_LABEL_VERSION: 'रूपांतर',\r\n CONTROL_LABEL_UPDATED_ON: 'अपडेट किया गया',\r\n CONTROL_LABEL_SUPPORT: 'सपोर्ट',\r\n CONTROL_LABEL_FEEDBACK: 'प्रतिपुष्टि',\r\n CONTROL_LABEL_MY_CART: 'मेरा कार्ट',\r\n CONTROL_LABEL_ITEMS: 'आइटम्स',\r\n CONTROL_LABEL_CHECKOUT: 'चेकआउट',\r\n TOOLTIP_TEXT_BUTTON_VERSION: 'रूपांतर',\r\n TOOLTIP_TEXT_BUTTON_UPDATED_ON: 'अपडेट किया गया',\r\n TOOLTIP_TEXT_BUTTON_SUPPORT: 'सपोर्ट',\r\n TOOLTIP_TEXT_BUTTON_FEEDBACK: 'प्रतिपुष्टि',\r\n TOOLTIP_TEXT_LANGUAGE: 'भाषा',\r\n TOOLTIP_TEXT_TOGGLE_SKIN: 'स्किन टॉगल करें',\r\n TOOLTIP_TEXT_NOTIFICATION: 'सूचना',\r\n TOOLTIP_TEXT_CART: 'मेरा कार्ट',\r\n TOOLTIP_TEXT_MANAGER: 'फ़ाइल प्रबंधक',\r\n TOOLTIP_TEXT_USER: 'उपयोगकर्ता',\r\n CALENDAR: 'कैलेंडर',\r\n UPLOAD: 'अपलोड',\r\n ADD_JOURNAL_ENTRY: 'एक जर्नल एंट्री जोड़ें',\r\n ADD_DIARY_ENTRY: 'एक डायरी एंट्री जोड़ें'\r\n },\r\n NAVBAR: {\r\n CONTROL_LABEL_MY_NOOSOM_PROFILE: 'मेरी नुसम प्रोफाइल',\r\n CONTROL_LABEL_SETTINGS: 'सेटिंग',\r\n CONTROL_LABEL_PRICING: 'मूल्य निर्धारण',\r\n CONTROL_LABEL_GIVE_FEEDBACK: 'प्रतिक्रिया दें',\r\n CONTROL_LABEL_SUPPORT: 'सहयोग / सामान्य प्रश्न',\r\n CONTROL_LABEL_LOGOUT: 'लॉग आउट',\r\n CONTROL_LABEL_SEARCH: 'खोजें'\r\n },\r\n }\r\n};\r\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { SearchInputModel } from 'app/home/home-model.model';\nimport { GlobalService } from 'app/Services/global.service';\n\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SearchService {\n // Public\n public search = '';\n public apiData = [];\n public onApiDataChange: BehaviorSubject;\n public onIsBookmarkOpenChange: BehaviorSubject;\n\n /**\n *\n * @param {HttpClient} _httpClient\n */\n constructor(private _httpClient: HttpClient, public globalService:GlobalService) {\n this.onApiDataChange = new BehaviorSubject('');\n this.onIsBookmarkOpenChange = new BehaviorSubject(false);\n this.getSearchData();\n }\n\n /**\n * Get Search Data\n */\n getSearchData(): Promise {\n return new Promise((resolve, reject) => {\n this._httpClient.get('api/search-data').subscribe((response: any) => {\n this.apiData = response;\n this.onApiDataChange.next(this.apiData);\n resolve(this.apiData);\n }, reject);\n });\n }\n GlobalSearch(_data: SearchInputModel) {\n const path = 'api/Home/GlobalSearch'\n return this.globalService.PostDataById(_data, path);\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Router } from '@angular/router';\nimport { Component, ElementRef, HostListener, Inject, OnInit, Pipe, PipeTransform, ViewChild } from '@angular/core';\n\nimport { SearchService } from 'app/layout/components/navbar/navbar-search/search.service';\nimport { NoosomCategoryID, NoosomPlans, RecordsType, Status } from 'app/enums';\nimport { Constant } from 'app/Classes/constant';\nimport { CustomToastrService } from 'app/Services/custom-toastr.service';\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\nimport { E } from 'assets/extensions/extensions';\nimport { locale as english } from 'app/layout/components/menu/i18n/en';\nimport { locale as french } from 'app/layout/components/menu/i18n/fr';\nimport { locale as german } from 'app/layout/components/menu/i18n/de';\nimport { locale as portuguese } from 'app/layout/components/menu/i18n/pt';\nimport { locale as gujarati } from 'app/layout/components/menu/i18n/gj';\nimport { locale as hindi } from 'app/layout/components/menu/i18n/hn';\nimport { CoreTranslationService } from '@core/services/translation.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { SearchInputModel } from 'app/home/home-model.model';\nimport { AuthenticationService } from 'app/auth/service';\nimport { MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';\nimport { AddAddressComponent } from 'app/address/add-address/add-address.component';\nimport { AddSchoolComponent } from 'app/school/add-school/add-school.component';\nimport { AddInsuranceComponent } from 'app/insurance/add-insurance/add-insurance.component';\nimport { AddProfessionalComponent } from 'app/about-me/professional/add-professional/add-professional.component';\nimport { MyMedicationComponent } from 'app/about-me/my-medication/my-medication.component';\nimport { MyVaccinationComponent } from 'app/about-me/my-vaccination/my-vaccination.component';\nimport { AwardComponent } from 'app/about-me/award/award.component';\nimport { MyAchievementComponent } from 'app/about-me/my-achievement/my-achievement.component';\nimport { JobsComponent } from 'app/about-me/jobs/jobs.component';\nimport { FriendsComponent } from 'app/about-me/friends/friends.component';\nimport { OwnFamilyComponent } from 'app/about-me/own-family/own-family.component';\nimport { WebEntryComponent } from 'app/me-on-web/web-entry/web-entry.component';\nimport { MyHobbiesComponent } from 'app/mypastimes/my-hobbies/my-hobbies.component';\nimport { MyPastimesComponent } from 'app/mypastimes/my-pastimes/my-pastimes.component';\nimport { UploadComponent } from 'app/quick-post/upload/upload.component';\nimport { QuickPostComponent } from 'app/quick-post/quick-post/quick-post.component';\nimport { storage } from 'app/auth/models';\nimport { GlobalService } from 'app/Services/global.service';\nimport { LegalsdocumentComponent } from 'app/legals/legalsdocument/legalsdocument.component';\nimport { LoadingScreenService } from 'app/Services/loading-screen.service';\nimport { LightGallery } from 'lightgallery/lightgallery';\nimport Swal from 'sweetalert2';\nimport { BeforeSlideDetail } from 'lightgallery/lg-events';\nimport lgZoom from 'lightgallery/plugins/zoom';\nimport thumbNail from 'lightgallery/plugins/thumbnail';\nimport pager from 'lightgallery/plugins/pager';\nimport share from 'lightgallery/plugins/share';\nimport autoPlay from 'lightgallery/plugins/autoplay';\nimport fullScreen from 'lightgallery/plugins/fullscreen';\n// import comment from 'lightgallery/plugins/comment';\nimport rotate from 'lightgallery/plugins/rotate';\nimport lgThumbnail from 'lightgallery/plugins/thumbnail';\nimport lgvideo from 'lightgallery/plugins/video';\nimport vimeoVideo from 'lightgallery/plugins/video';\nimport videoThumbnail from 'lightgallery/plugins/video';\nimport lgVideo from 'lightgallery/plugins/video';\nimport { debounceTime, distinctUntilChanged, takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { CoreConfigService } from '@core/services/config.service';\n@Component({\n selector: 'app-navbar-search',\n templateUrl: './navbar-search.component.html',\n styleUrls: ['./search.scss'],\n})\nexport class NavbarSearchComponent implements OnInit {\n // Public\n @ViewChild('AddressGallery')lightGallery: LightGallery;\n searchText: string = '';\n searchSubject: Subject = new Subject();\n public openSearchRef = false;\n public activeIndex = 0;\n public apiData;\n public pages = [];\n public files = [];\n public contacts = [];\n public pageSearchLimit;\n public RecordsType = RecordsType;\n public dropdown: { key: string, value: number }[] = [];\n public selectedEnums: number[] = [];\n public error = '';\n public attachmentlistimage: any = [];\n settings = {\n counter: false,\n appendSubHtmlTo: '.lg-toolbar',\n commentBox: true,\n lgVideo: true,\n download: false,\n thumbnail: false,\n slideVideo: true,\n autoplayFirstVideo: false,\n autoplayVideoOnSlide:false,\n plugins: [lgZoom, thumbNail, autoPlay, fullScreen, rotate, videoThumbnail,\n vimeoVideo,\n lgVideo,\n lgvideo,] //,comment (commented for the future use)\n };\n private needRefresh = false;\n galleryRefresh:LightGallery;\n cache: { [key: string]: string } = {};\n isDropdownOpen = false;\n plan: number;\n userCategory: number;\n btnNameJorD: string;\n dateformat: string;\n templcstg:storage = JSON.parse(this._encryptDecryptService.get(Constant.EncrDecrKey, localStorage.getItem('lcstrg'))) \n // Decorators\n @ViewChild('openSearch') private _inputElement: ElementRef;\n @ViewChild('pageList') private _pageListElement: ElementRef;\n\n @HostListener('keydown.escape') fn() {\n this.removeOverlay();\n this.openSearchRef = false;\n this.searchText = '';\n }\n private _unsubscribeAll: Subject;\n public coreConfig: any;\n currentAppLanguage: any;\n @HostListener('document:click', ['$event']) clickout(event) {\n // console.log(event)\n // if (event.target.className === 'content-overlay') {\n if (event.target.className === 'app-content content') {\n this.removeOverlay();\n this.openSearchRef = false;\n this.searchText = '';\n }\n }\n\n // @HostListener('document:dblclick', ['$event'])\n // onDoubleClickOutside(event: MouseEvent) {\n // // if (this.openSearchRef && !this.searchArea.nativeElement.contains(event.target)) {\n // // this.toggleSearch();\n // // }\n // // console.log('abc')\n // // this.removeOverlay();\n // // this.openSearchRef = false;\n // // this.searchText = '';\n // if (this.openSearchRef === true) {\n // this.toggleSearch();}\n // }\n\n /**\n *\n * @param document\n * @param router\n * @param _searchService\n */\n constructor(\n @Inject(DOCUMENT) private document,\n private _elementRef: ElementRef,\n private router: Router,\n public _searchService: SearchService,\n private _toastrService: CustomToastrService,\n public _encryptDecryptService: EncrDecrService,\n public _authenticationService:AuthenticationService,\n public globalService: GlobalService,\n private dialog: MatDialog,\n private loadingScreenService:LoadingScreenService,\n private _translateService: TranslateService,\n private _coreTranslationService: CoreTranslationService,\n private _coreConfigService: CoreConfigService\n ) {\n if(this.templcstg){\n this.plan = this.templcstg.NoosomPlan\n this.userCategory = this.templcstg.userCategory\n if(this.templcstg.DiaryOrJournal == '2'){\n this.btnNameJorD= 'Journal';\n }\n else{\n this.btnNameJorD= 'Diary';\n }\n }\n else if(this._authenticationService?.currentUserValue?.NoosomTypeId === 2){\n this.btnNameJorD= 'Journal';\n }\n else{\n this.btnNameJorD= 'Diary';\n }\n this._unsubscribeAll = new Subject();\n this._coreTranslationService.translate(english, french, german, portuguese, gujarati, hindi);\n this._translateService.onLangChange.subscribe(lang => {\n // console.log('lang');\n // console.log(lang.lang);\n setTimeout(() => {\n let _LangJsonObj = this.GetCurrentLanguageJsonObject(lang.lang);\n if (_LangJsonObj)\n this.currentAppLanguage = _LangJsonObj;\n }, 100);\n })\n\n this.dateformat=this.globalService.getDateFormat();\n // this.dropdown = Object.keys(RecordsType)\n // .filter(key => isNaN(Number(key)))\n // .map(key => ({ key, value: RecordsType[key as keyof typeof RecordsType] }));\n\n let additionalIds: number[] = [0,1,2,3,4,5,6,7,8,9,10,11,12]; // You can set this to the IDs you want to inject when the condition is false\n\n// Check the condition\nif (this.plan === NoosomPlans.Premium_1 || this.userCategory === NoosomCategoryID.Test) {\n // Your original dropdown mapping logic\n this.dropdown = Object.keys(RecordsType)\n .filter(key => isNaN(Number(key)))\n .map(key => ({ key, value: RecordsType[key as keyof typeof RecordsType] }));\n} else {\n // Provide specific IDs to inject\n const specificKeys = Object.keys(RecordsType)\n .filter(key => additionalIds.includes(RecordsType[key as keyof typeof RecordsType]))\n .filter(key => isNaN(Number(key))) // If you want to retain the non-numeric keys\n .map(key => ({ key, value: RecordsType[key as keyof typeof RecordsType] }));\n \n // Combine with additional logic if needed\n this.dropdown = specificKeys;\n}\n//console.log(this.dropdown)\n \n // Select all enums by default, except \"All\" (id = 0)\n this.selectAllEnums();\n this.setupSearchListener();\n }\n\n // Public Methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Next Active Match\n */\n nextActiveMatch() {\n this.activeIndex = this.activeIndex < this.pageSearchLimit - 1 ? ++this.activeIndex : this.activeIndex;\n }\n\n /**\n * Previous Active Match\n */\n prevActiveMatch() {\n this.activeIndex = this.activeIndex > 0 ? --this.activeIndex : 0;\n }\n\n /**\n * Remove Overlay\n */\n removeOverlay() {\n this.document.querySelector('.app-content').classList.remove('show-overlay');\n }\n\n toggleDropdown() {\n this.isDropdownOpen = !this.isDropdownOpen;\n }\n\n onCheckboxChange(event: any, enumValue: number) {\n if (enumValue === this.RecordsType.All) {\n if (event.target.checked) {\n this.selectAllEnums();\n } else {\n this.clearAllEnums();\n }\n } else {\n if (event.target.checked) {\n this.selectedEnums.push(enumValue);\n } else {\n const index = this.selectedEnums.indexOf(enumValue);\n if (index > -1) {\n this.selectedEnums.splice(index, 1);\n }\n }\n\n // If all items are deselected manually, also deselect \"All\"\n if (this.selectedEnums.length === this.dropdown.length - 1 && !event.target.checked) {\n this.clearAllEnums();\n }\n }\n //(this.selectedEnums);\n }\n\n selectAllEnums() {\n this.selectedEnums = this.dropdown\n .map(item => item.value)\n .filter(value => value !== this.RecordsType.All);\n // console.log(this.selectedEnums)\n }\n\n clearAllEnums() {\n this.selectedEnums = [];\n }\n\n isEnumSelected(enumValue: number): boolean {\n return this.selectedEnums.includes(enumValue);\n }\n // getSelectedEnums() {\n // return this.selectedEnums;\n // }\n\n /**\n * Auto Suggestion\n *\n * @param event\n */\n autoSuggestion(event) {\n if (38 === event.keyCode) {\n return this.prevActiveMatch();\n }\n if (40 === event.keyCode) {\n return this.nextActiveMatch();\n }\n if (13 === event.keyCode) {\n // Navigate to activeIndex\n // ! Todo: Improve this code\n let current_item = this._pageListElement.nativeElement.getElementsByClassName('current_item');\n current_item[0]?.children[0].click();\n }\n }\n\n /**\n * Toggle Search\n */\n toggleSearch() {\n this._searchService.onIsBookmarkOpenChange.next(false);\n this.removeOverlay();\n this.openSearchRef = !this.openSearchRef;\n this.activeIndex = 0;\n setTimeout(() => {\n this._inputElement.nativeElement.focus();\n });\n\n if (this.openSearchRef === false) {\n this.document.querySelector('.app-content').classList.remove('show-overlay');\n this.searchText = '';\n }\n }\n\n\n /**\n * Search Update\n *\n * @param event\n */\n // searchUpdate(event) {\n // const val = event.target.value.toLowerCase();\n // if (val !== '') {\n // this.document.querySelector('.app-content').classList.add('show-overlay');\n // } else {\n // this.document.querySelector('.app-content').classList.remove('show-overlay');\n // }\n // this.autoSuggestion(event);\n // }\n setupSearchListener() {\n this.searchSubject\n .pipe(\n debounceTime(300), // Adjust this value to control the delay\n distinctUntilChanged() // Only trigger if the input has actually changed\n )\n .subscribe((searchText) => {\n if (searchText.length >= 3) {\n this.callSearchAPI();\n }\n });\n }\n\n searchUpdate(event: KeyboardEvent) {\n this.searchSubject.next(this.searchText);\n }\n\n callSearchAPI() {\n if (this.searchText !== '' && this.searchText !== null) {\n this.files = [];\n const data: SearchInputModel = {\n UserDetailsId: this._authenticationService.currentUserValue.UserDetailsId,\n SearchString: this.searchText,\n NoosomPlanID: this._authenticationService.currentUserValue.NoosomCategoryEnumId,\n };\n this.loadingScreenService.startLoading();\n this._searchService.GlobalSearch(data).subscribe(\n (result) => {\n let message = '';\n let errormessage = '';\n if (result.status === Status.Success) {\n const carousel = JSON.parse(this._encryptDecryptService.get(Constant.EncrDecrKey, result.data));\n this.files = carousel.Data;\n this.loadingScreenService.stopLoading();\n } else {\n errormessage = E.ConvertToString(result.message);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n }\n );\n }\n }\n\n\n openEditForm(data){\n // console.log(data)\n if(data.TableName=='dbo.tblUserAddresses'){this.openDialog(AddAddressComponent, data?.UserAddressID);}\n else if(data.TableName=='dbo.tblUserSchools'){this.openDialog(AddSchoolComponent, data?.UserSchoolID);}\n else if(data.TableName=='dbo.tblUserInsurances'){this.openDialog(AddInsuranceComponent, data?.UserInsuranceID);}\n else if(data.TableName=='dbo.tblUserHealthProviders'){this.openDialog(AddProfessionalComponent, data?.UserHealthProviderID);}\n else if(data.TableName=='dbo.tblUserMedications'){this.openDialog(MyMedicationComponent, data?.UserMedicationID);}\n else if(data.TableName=='dbo.tblUserVaccinations'){this.openDialog(MyVaccinationComponent, data?.UserVaccinationID);}\n else if(data.TableName=='dbo.tblUserAwards'){this.openDialog(AwardComponent, data?.UserAwardID);}\n else if(data.TableName=='dbo.tblUserAchievements'){this.openDialog(MyAchievementComponent, data?.UserAchievementID);}\n else if(data.TableName=='dbo.tblUserJobs'){this.openDialog(JobsComponent, data?.UserJobID);}\n else if(data.TableName=='dbo.tblUserFriends'){this.openDialog(FriendsComponent, data?.UserFriendID);}\n else if(data.TableName=='dbo.tblUserFamilyMembers'){this.openDialog(OwnFamilyComponent, data?.UserFamilyMemberID);}\n else if(data.TableName=='dbo.tblUserQuickPosts'){this.AddQuickPost1(data?.UserQuickPostID)}\n else if(data.TableName=='dbo.tblUserLifeStory'){this.router.navigate(['/mylifestory'])}\n else if(data.TableName=='dbo.tblUserMeOnWeb'){this.openDialog(WebEntryComponent, data?.UserMeOnWebID);}\n else if(data.TableName=='dbo.tblUserPastimes'){this.openDialog(MyPastimesComponent, data?.UserPastimeID);}\n else if(data.TableName=='dbo.tblUserHobbies'){this.openDialog(MyHobbiesComponent, data?.UserHobbyID);}\n else if(data.TableName=='dbo.tblUserLegals'){this.openDialog(LegalsdocumentComponent, data?.UserLegalID);}\n else{this.openLightGallery(data)}\n }\n\n AddQuickPost1(id) {\n if ((this.plan == NoosomPlans.Premium_1)||(this.userCategory == NoosomCategoryID.Test)) {\n this.openDialogTrackerComponent(id);\n }\n else {\n this.openDialog(QuickPostComponent, id);\n }\n }\n\n openDialogTrackerComponent(_data: any = []) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = false;\n if (window.innerWidth < 768) {\n dialogConfig.width = \"100%\"; // Mobile devices\n dialogConfig.panelClass = 'mobile-dialog'; // Custom class for mobile\n } else if (window.innerWidth < 1024) {\n dialogConfig.width = \"80%\"; // Tablets\n dialogConfig.panelClass = 'tablet-dialog'; // Custom class for tablets\n } else {\n dialogConfig.width = \"66%\"; // Desktops\n }\n dialogConfig.data = _data\n const dialogRef: MatDialogRef = this.dialog.open(UploadComponent, dialogConfig);\n dialogRef.afterClosed().subscribe(\n data => {\n if(data){\n }\n }\n );\n }\n\n\n openDialog(component: any, _data: any = []) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.autoFocus = false;\n dialogConfig.width = this.isMobileScreen() ? '100%' : '60%';\n //dialogConfig.height = \"80%\";\n dialogConfig.data = _data;\n const dialogRef = this.dialog.open(component, dialogConfig);\n dialogRef.afterClosed().subscribe(\n data => {\n if (data != null && data != 'undefined' && data != false) {\n // this.addGridColumns();\n // this.LoadAboutMeData();\n // setTimeout(() => {\n // this.onAboutMeTabActive();\n // }, 400);\n }\n }\n );\n }\n\n private isMobileScreen(): boolean {\n return window.innerWidth <= 767; // You can adjust this value as per your requirements\n }\n\n // Lifecycle Hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On init\n */\n ngOnInit(): void {\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n this.currentAppLanguage = this.GetCurrentLanguageJsonObject(this.coreConfig.app.appLanguage);\n\n this._searchService.onApiDataChange.subscribe(res => {\n this.apiData = res;\n this.pages = this.apiData[0].data;\n this.pageSearchLimit = this.apiData[0].searchLimit;\n // this.files = this.apiData[1].data;\n this.contacts = this.apiData[2].data;\n });\n\n if(this.templcstg){\n // this.plan = this.templcstg.NoosomPlan\n // this.userCategory = this.templcstg.userCategory\n if(this.templcstg.DiaryOrJournal == '2'){\n this.btnNameJorD= 'Journal';\n }\n else{\n this.btnNameJorD= 'Diary';\n }\n }\n else if(this._authenticationService?.currentUserValue?.NoosomTypeId === 2){\n this.btnNameJorD= 'Journal';\n }\n else{\n this.btnNameJorD= 'Diary';\n }\n }\n\n\n\n\n openLightGallery(params){\n if(params){\n if(params.FileType == 'Documents'){\n window.open(params.DocumentPath, '_blank');\n }\n else{\n this.attachmentlistimage=[]\n \n this.AddItemToGallery(params.DocumentID, params.DocumentPath, params.DocumentOldName,params.Size ,params.DocumentSubType);\n this.needRefresh = true;\n }\n }\n}\n\n async AddItemToGallery(_id: number, _url: string, documentname: string, documentsize: string, filetype: string): Promise {\n const loadingItem = {\n id: _id,\n size: '280-100',\n src: _url,\n data: await this.generateVideoData(_url),\n thumb: 'https://noosom1sg.b-cdn.net/NoosomAssets/Images/noosomads/Logo-3-1.gif', // Placeholder or loading indicator for the thumbnail\n subHtml: documentname, documentsize,\n type: filetype,\n };\n \n this.attachmentlistimage.push(loadingItem);\n let thumb = this.cache[_url]; // Check if thumbnail is already in cache\n \n if (!thumb) {\n thumb = await this.generateThumbnailFromVideoURL(_url, filetype);\n this.cache[_url] = thumb; // Save the thumbnail to cache\n }\n \n const galleryItem = {\n id: _id,\n size: '280-100',\n src: _url,\n data: await this.generateVideoData(_url),\n thumb: thumb,\n subHtml: documentname, documentsize,\n type: filetype,\n };\n const index = this.attachmentlistimage.findIndex(item => item.id == _id);\n this.attachmentlistimage[index] = galleryItem;\n if(this.attachmentlistimage){\n setTimeout(() => {\n const index = this.attachmentlistimage.findIndex((el) => el.id === _id);\n if(this.galleryRefresh){\n this.galleryRefresh.openGallery(index);}\n }, 50); }\n }\n \n \n async generateThumbnailFromVideoURL(videoURL: string, type: string): Promise {\n if (type === \"Videos\") {\n return new Promise((resolve, reject) => {\n const video = document.createElement('video');\n video.crossOrigin = 'anonymous'; // Enable cross-origin for video\n video.src = videoURL;\n \n video.addEventListener('loadedmetadata', () => {\n video.currentTime = 10.5; // Adjust as needed\n \n video.addEventListener('seeked', () => {\n const canvas = document.createElement('canvas');\n canvas.width = video.videoWidth;\n canvas.height = video.videoHeight;\n \n const ctx = canvas.getContext('2d');\n ctx.drawImage(video, 0, 0, canvas.width, canvas.height);\n \n // Draw a play icon in the center of the canvas\n const playIconSize = 250; // Adjust the size as needed\n ctx.fillStyle = 'rgba(255, 255, 255, 0.7)';\n ctx.beginPath();\n ctx.moveTo(canvas.width / 2 - playIconSize / 2, canvas.height / 2 - playIconSize / 2);\n ctx.lineTo(canvas.width / 2 + playIconSize / 2, canvas.height / 2);\n ctx.lineTo(canvas.width / 2 - playIconSize / 2, canvas.height / 2 + playIconSize / 2);\n ctx.closePath();\n ctx.fill();\n \n // Resolve with the data URL of the canvas\n resolve(canvas.toDataURL('image/png'));\n \n // Clean up\n canvas.remove();\n video.remove();\n });\n \n video.addEventListener('error', (error) => {\n resolve(\"assets/images/pages/Cannot_play.png\")\n // reject(`Error loading video: ${error.message}`);\n });\n });\n \n video.addEventListener('error', (error) => {\n resolve(\"assets/images/pages/Cannot_play.png\")\n // reject(`Error loading video metadata: ${error.message}`);\n });\n \n // Load the video\n video.load();\n });\n }\n }\n \n async generateVideoData(src): Promise {\n const videoData = {\n source: [{ src: src, type: 'video/mp4' }],\n attributes: { preload: true, controls: true }\n };\n return JSON.stringify(videoData);\n }\n\n \n ngAfterViewChecked(): void {\n if (this.needRefresh) {\n \n // if (this.lightGallery){ \n this.galleryRefresh.refresh();\n \n if(this.galleryRefresh.galleryItems.length>1){\n const lastItem = this.galleryRefresh.galleryItems.slice(-1);\n this.galleryRefresh.galleryItems = lastItem;\n }\n // }\n this.needRefresh = false;\n }\n }\n \n \n \n onInitGallery = (detail) => {\n this.lightGallery = detail.instance;\n this.galleryRefresh = detail.instance;\n this.galleryRefresh.settings.licenseKey=this._authenticationService.currentUserValue.Parameter.LightGalleryLicenseKey;\n // console.log(this.galleryRefresh)\n const customHelpButton = ``;\n const $toolbar = this.lightGallery.$toolbar;\n \n $toolbar.append(customHelpButton);\n \n \n \n this.document.getElementById(\"lg-custom-button-help\").addEventListener(\"click\", () => {\n this.supportFunction();\n });\n \n };\n supportFunction() {\n \n Swal.fire({\n title: \"Help!\",\n text: \"Information about the icons in the Light Gallery.\",\n imageUrl: 'assets/images/pages/raw-icon-labels.png',\n showCancelButton: false,\n confirmButtonColor: '#7367F0',\n //cancelButtonColor: '#E42728',\n confirmButtonText: \"Okay\",\n cancelButtonText: \"cancel\",\n customClass: {\n confirmButton: 'btn btn-primary',\n cancelButton: 'btn btn-danger ml-1'\n }\n \n })\n \n }\n\n GetCurrentLanguageJsonObject(currentAppLanguage) {\n var result;\n switch (currentAppLanguage) {\n case 'en':\n result = english;\n break;\n case 'in':\n result = gujarati;\n break;\n case 'hn':\n result = hindi;\n break;\n }\n return result;\n }\n \n}\n@Pipe({\n name: 'replace'\n})\nexport class ReplacePipe implements PipeTransform {\n\n transform(value: string, searchValue: string, replaceValue: string): string {\n if (!value || !searchValue || replaceValue === undefined) {\n return value;\n }\n return value.split(searchValue).join(replaceValue);\n }\n\n}\n\n@Pipe({\n name: 'formatTableName'\n})\nexport class FormatTableNamePipe implements PipeTransform {\n\n transform(value: string): string {\n if (!value) return value; // Return the input if it's null or undefined\n\n // Remove the prefix \"dbo.tblUser\"\n const cleaned = value.replace('dbo.tblUser', '');\n\n // Use regex to insert space before each capital letter\n const formatted = cleaned.replace(/([A-Z])/g, ' $1').trim();\n\n return formatted;\n }\n\n}\n\n\n@Pipe({\n name: 'truncate'\n})\nexport class TruncatePipe implements PipeTransform {\n\n transform(value: string, limit: number = 20, completeWords: boolean = false, ellipsis: string = '...'): string {\n if (!value) return '';\n \n if (completeWords) {\n limit = value.substr(0, limit).lastIndexOf(' ');\n }\n \n return value.length > limit ? value.substr(0, limit) + ellipsis : value;\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
      Item Title
      \n
      Section
      \n
      Type
      \n
      Date Created
      \n
      Size
      \n
      Actions
      \n
    • \n \n \n
    • \n
      {{ file?.Title }} {{ file?.AddressTag }} {{ file?.SchoolName }} {{ file?.InsuranceName }} {{ file?.Speciality }} {{ file?.MedicationName }} {{ file?.VaccinationName }} {{ file?.DocumentOldName | truncate:55 }}\n {{ file?.PastimeName }} {{ file?.EntryName }} {{ file?.Tagline}} {{ file?.LegalDocumentName }} {{ file?.Employer}} {{ file?.HobbyName }} {{ file?.FirstName}} {{ file?.AwardName}} {{ file?.AchievementName}}
      \n
      {{ file.TableName| formatTableName | replace:'Quick Posts':btnNameJorD | replace:'dbo.tbl Documents':'Attachments'}}
      \n
      {{ file?.DocumentSubType || 'Form' }}
      \n
      {{ file.CreatedDate |date:dateformat }}
      \n
      {{ file.Size}}
      \n
      \n \n
      \n
    • \n
      \n\n
      \n 0\" #AddressGallery [settings]=\"settings\" [onInit]=\"onInitGallery\">\n {{item.id}}

      \"\n className=\"gallery-item\">\n \n
      \n
      \n
      \n \n \n \n
    • \n \n
      \n \n No results found.\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","import { DOCUMENT } from '@angular/common';\nimport { Component, ElementRef, HostListener, Inject, OnInit, ViewChild } from '@angular/core';\n\nimport { SearchService } from 'app/layout/components/navbar/navbar-search/search.service';\nimport { locale as english } from 'app/layout/components/menu/i18n/en';\nimport { locale as french } from 'app/layout/components/menu/i18n/fr';\nimport { locale as german } from 'app/layout/components/menu/i18n/de';\nimport { locale as portuguese } from 'app/layout/components/menu/i18n/pt';\nimport { locale as gujarati } from 'app/layout/components/menu/i18n/gj';\nimport { locale as hindi } from 'app/layout/components/menu/i18n/hn';\nimport { CoreTranslationService } from '@core/services/translation.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { id } from '@swimlane/ngx-datatable';\nimport { CoreConfigService } from '@core/services/config.service';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { QuickPostComponent } from 'app/quick-post/quick-post/quick-post.component';\nimport {QuickpostlistService} from 'app/quickpost-list/quickpostlist.service'\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\nimport { Constant } from 'app/Classes/constant';\n@Component({\n selector: 'app-navbar-bookmark',\n templateUrl: './navbar-bookmark.component.html'\n})\nexport class NavbarBookmarkComponent implements OnInit {\n // Public\n public bookmarkText = '';\n public openBookmarkRef = false;\n public activeIndex = 0;\n public apiData;\n public pages = [];\n public bookmarkSearchLimit;\n public bookmarkedItems;\n tooltiptranslate;\n private _unsubscribeAll: Subject;\n public coreConfig: any;\n currentAppLanguage: any;\n templcstg = JSON.parse(this._encryptDecryptService.get(Constant.EncrDecrKey, localStorage.getItem('lcstrg'))) \n // Decorator\n @ViewChild('openBookmark') private _bookmarkElement: ElementRef;\n @HostListener('keydown.escape') fn() {\n this.removeOverlay();\n this.openBookmarkRef = false;\n this.bookmarkText = '';\n }\n @HostListener('document:click', ['$event']) clickout(event) {\n // Close Bookmark if Clicked on Overlay\n if (event.target.className === 'content-overlay') {\n this.removeOverlay();\n this.openBookmarkRef = false;\n this.bookmarkText = '';\n }\n\n // Close Bookmark if clicked Outside of Container\n if (!(event.target.nodeName === 'INPUT') && this.openBookmarkRef === true) {\n this.removeOverlay();\n this.openBookmarkRef = false;\n this.bookmarkText = '';\n }\n }\n\n /**\n *\n * @param document\n * @param _searchService\n */\n constructor(@Inject(DOCUMENT) private document, public _searchService: SearchService,private dialog: MatDialog,private quickpostlistService: QuickpostlistService,\n private _coreTranslationService: CoreTranslationService,private _coreConfigService: CoreConfigService,\n private _translateService: TranslateService, private _encryptDecryptService:EncrDecrService) {\n this._unsubscribeAll = new Subject();\n this._coreTranslationService.translate(english, french, german, portuguese, gujarati, hindi);\n this._translateService.onLangChange.subscribe(lang => {\n // console.log('lang');\n // console.log(lang.lang);\n setTimeout(() => {\n let _LangJsonObj = this.GetCurrentLanguageJsonObject(lang.lang);\n if (_LangJsonObj)\n this.currentAppLanguage = _LangJsonObj;\n }, 100);\n })\n }\n\n // Public Methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Add Bookmark\n *\n * @param id\n */\n addBookmark(id) {\n const index = this.pages.findIndex(object => {\n return object.id === id;\n });\n this.pages[index].isBookmarked = true;\n\n this.bookmarkedItems.push(this.pages[index]);\n }\n\n /**\n * Remove Bookmark\n *\n * @param id\n */\n removeBookmark(id) {\n const index = this.bookmarkedItems.findIndex(object => {\n return object.id === id;\n });\n this.bookmarkedItems[index].isBookmarked = false;\n this.bookmarkedItems.splice(index, 1);\n }\n\n /**\n * Open Bookmark\n */\n openBookmark() {\n this.openBookmarkRef = true;\n this._searchService.onIsBookmarkOpenChange.next(this.openBookmarkRef);\n }\n\n /**\n * Close Bookmark\n */\n closeBookmark() {\n this.openBookmarkRef = false;\n this._searchService.onIsBookmarkOpenChange.next(this.openBookmarkRef);\n }\n\n /**\n * Remove Overlay\n */\n removeOverlay() {\n this.document.querySelector('.app-content').classList.remove('show-overlay');\n }\n\n /**\n * Next Active Match\n */\n nextActiveMatch() {\n this.activeIndex = this.activeIndex < this.bookmarkSearchLimit - 1 ? ++this.activeIndex : this.activeIndex;\n }\n\n /**\n * Previous Active Match\n */\n prevActiveMatch() {\n this.activeIndex = this.activeIndex > 0 ? --this.activeIndex : 0;\n }\n\n /**\n * Auto Suggestion\n *\n * @param event\n */\n autoSuggestion(event) {\n if (38 === event.keyCode) {\n return this.prevActiveMatch();\n }\n if (40 === event.keyCode) {\n return this.nextActiveMatch();\n }\n }\n\n /**\n * Toggle Bookmark\n *\n * @param id\n */\n toggleBookmark(id) {\n const index = this.pages.findIndex(object => {\n return object.id === id;\n });\n if (this.pages[index].isBookmarked === true) {\n this.removeBookmark(id);\n } else {\n this.addBookmark(id);\n }\n }\n\n /**\n * Toggle Bookmark Popup\n */\n toggleBookmarkPopup() {\n setTimeout(() => {\n if (this.openBookmarkRef === false) {\n this.openBookmark();\n } else {\n this.closeBookmark();\n }\n setTimeout(() => {\n this._bookmarkElement.nativeElement.focus();\n }, 0);\n }, 0);\n }\n\n convertors(id){\n const indexArray=[\n {id:1,data:this.currentAppLanguage.data.MENU.CALENDAR},\n {id:2,data:this.currentAppLanguage.data.MENU.TOOLTIP_TEXT_MANAGER},\n {id:3,data: this.templcstg?.DiaryOrJournal ? this.templcstg?.DiaryOrJournal == 2 ? this.currentAppLanguage.data.MENU.ADD_JOURNAL_ENTRY\n : this.currentAppLanguage.data.MENU.ADD_DIARY_ENTRY : this._encryptDecryptService.get(Constant.EncrDecrKey,sessionStorage.getItem('DiaryJournal')) == '2' ? this.currentAppLanguage.data.MENU.ADD_JOURNAL_ENTRY\n : this.currentAppLanguage.data.MENU.ADD_DIARY_ENTRY},\n {id:4,data:this.currentAppLanguage.data.MENU.UPLOAD} \n ]\n this.tooltiptranslate=indexArray.filter(item => item.id === id)\n return this.tooltiptranslate.map(item => item.data);\n }\n\n openDialog(id){\n if(id==3){\n setTimeout(() => {\n this.openDialogs(QuickPostComponent, 0)\n}, 500);\n }\n }\n\n openDialogs(component: any, _data: any = []) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = false;\n dialogConfig.width = this.isMobileScreen() ? '100%' : '66%'; \n // dialogConfig.height = \"80%\";\n //dialogConfig.position = { top: '2%' };\n dialogConfig.data = _data;\n const dialogRef = this.dialog.open(component, dialogConfig);\n dialogRef.afterClosed().subscribe(\n data => {\n if(data)\n this.quickpostlistService.setGridRefresh(true);\n }\n );\n }\n private isMobileScreen(): boolean {\n return window.innerWidth <= 767; // You can adjust this value as per your requirements\n }\n\n /**\n * Update Bookmark\n *\n * @param event\n */\n bookmarkUpdate(event) {\n const val = event.target.value.toLowerCase();\n if (val !== '') {\n this.document.querySelector('.app-content').classList.add('show-overlay');\n } else {\n this.document.querySelector('.app-content').classList.remove('show-overlay');\n }\n this.autoSuggestion(event);\n }\n\n // Lifecycle Hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On init\n */\n ngOnInit(): void {\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n this.currentAppLanguage = this.GetCurrentLanguageJsonObject(this.coreConfig.app.appLanguage);\n this._searchService.onApiDataChange.subscribe(res => {\n this.apiData = res;\n this.pages = this.apiData[0].data;\n this.bookmarkedItems = this.pages.filter(page => page.isBookmarked === true);\n this.bookmarkSearchLimit = this.apiData[0].bookmarkLimit;\n });\n this._searchService.onIsBookmarkOpenChange.subscribe(res => {\n this.openBookmarkRef = res;\n });\n }\n GetCurrentLanguageJsonObject(currentAppLanguage) {\n var result;\n switch (currentAppLanguage) {\n case 'en':\n result = english;\n break;\n case 'in':\n result = gujarati;\n break;\n case 'hn':\n result = hindi;\n break;\n }\n return result;\n }\n}\n","
  • \n {{ products?.length }}\n \n \n
  • \n
    \n

    {{'MENU.CONTROL_LABEL_MY_CART' | translate}}

    \n
    {{ products.length }} {{'MENU.CONTROL_LABEL_ITEMS' | translate}}
    \n
    \n
  • \n \n\n \n
  • \n \n \n
    \n \"donuts\"\n
    \n \n
    \n

    \n {{\n product.NoosomPricingPlanName\n }}\n

    \n {{product?.NoosomPlanId == 1 ? 'STORAGE' : 'PLANS'}}\n
    \n \n

    {{currencySymbol}}{{ product.BasePricePerYear }}

    \n
    \n
    \n
    \n
    \n \n \n
  • \n \n\n \n
  • \n
    0\" class=\"d-flex justify-content-between mb-1\">\n

    Total:

    \n

    {{currencySymbol}}{{totalAmount}}

    \n
    \n \n
  • \n \n \n\n","import { Component, OnInit, ViewChild } from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { locale as english } from 'app/layout/components/menu/i18n/en';\nimport { locale as french } from 'app/layout/components/menu/i18n/fr';\nimport { locale as german } from 'app/layout/components/menu/i18n/de';\nimport { locale as portuguese } from 'app/layout/components/menu/i18n/pt';\nimport { locale as gujarati } from 'app/layout/components/menu/i18n/gj';\nimport { locale as hindi } from 'app/layout/components/menu/i18n/hn';\nimport { CoreTranslationService } from '@core/services/translation.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { EcommerceService } from 'app/main/apps/ecommerce/ecommerce.service';\nimport { GeneralService } from 'app/Services/general.service';\nimport { AuthenticationService } from 'app/auth/service';\nimport { Constant } from 'app/Classes/constant';\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\nimport { Router } from '@angular/router';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\ninterface CardItem {\n value: number;\n titlename: string;\n}\n@Component({\n selector: 'app-navbar-cart',\n templateUrl: './navbar-cart.component.html',\n styleUrls: ['./navbar-cart.scss'],\n})\nexport class NavbarCartComponent implements OnInit {\n // Public\n @ViewChild('dropdown') dropdown: NgbDropdown;\n public products: any[] = []; // Define products as an array\n public cartList = [];\n public cartListLength = 0;\n currentAppLanguage: any;\n cartItems: any[] = [];\n currencySymbol;\n // Private\n private _unsubscribeAll: Subject;\n totalAmount: any;\n storagePlan\n noosomPlan\n\n /**\n *\n * @param {EcommerceService} _ecommerceService\n */\n constructor(public _ecommerceService: EcommerceService, private generalService:GeneralService, \n private authenticationService:AuthenticationService,private router: Router,private encrDecr: EncrDecrService,\n private _coreTranslationService: CoreTranslationService,\n private _translateService: TranslateService,)\n {\n this._unsubscribeAll = new Subject();\n this._coreTranslationService.translate(english, french, german, portuguese, gujarati, hindi);\n this._translateService.onLangChange.subscribe(lang => {\n // console.log('lang');\n // console.log(lang.lang);\n setTimeout(() => {\n let _LangJsonObj = this.GetCurrentLanguageJsonObject(lang.lang);\n if (_LangJsonObj)\n this.currentAppLanguage = _LangJsonObj;\n }, 100);\n })\n }\n\n // Public Methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Remove From Cart\n *\n * @param product\n */\n removeFromCart(product) {\n if (product.isInCart === true) {\n this._ecommerceService.removeFromCart(product.id).then(res => {\n product.isInCart = false;\n });\n }\n }\n\n removeItemFromCart(item: any): void {\n // const itemIndex = this.products.findIndex((cartItem) => {\n // if (cartItem.brand === 'PLANS' ) {\n // this.generalService.removeItem(item.price);\n // return cartItem.price === item.price;\n // } else if (cartItem.brand === 'STORAGE') {\n // const items:CardItem[]=[\n // {\n // value :cartItem.price,\n // titlename:cartItem.name\n // }];\n // // items:[\n // // {\n // // value :cartItem.price,\n // // titlename:cartItem.name\n // // }]\n \n // // console.log(items)\n // this.generalService.removeItem(items);\n // return cartItem.name === item.titlename && cartItem.price === item.value;\n // }\n // return false;\n // });\n this.generalService.removefromCart(item);\n }\n\n callData(){\n console.log(this.products)\n }\n\n // upgradePlan(NoosomPlanId, NoosomPricingPlanId) {\n\n // var data = {\n // NoosomPlanId: NoosomPlanId,\n // NoosomPricingPlanId: NoosomPricingPlanId\n // }\n // var Param = this.encrDecr.set(Constant.EncrDecrKey, JSON.stringify(data));\n // this.router.navigate(['/apps/invoice/InvoiceAddComponent'], { queryParams: { data: Param } });\n // }\n\n upgradePlan() {\n this.dropdown.close();\n const queryParams: any = { };\n \n // Add storage plan data to query parameters if storage plans exist\n if (this.storagePlan && this.storagePlan.length > 0) {\n const storagePlanData = this.storagePlan.map(plan => ({\n NoosomPlanId: plan.NoosomPlanId,\n NoosomPricingPlanId: plan.NoosomPricingPlanId\n }));\n const storagePlanParam = this.encrDecr.set(Constant.EncrDecrKey, JSON.stringify(storagePlanData));\n queryParams.storageData = storagePlanParam; // Differentiating with 'storageData'\n }\n \n // Add Noosom plan data to query parameters if Noosom plans exist\n if (this.noosomPlan && this.noosomPlan.length > 0) {\n const noosomPlanData = this.noosomPlan.map(plan => ({\n NoosomPlanId: plan.NoosomPlanId,\n NoosomPricingPlanId: plan.NoosomPricingPlanId\n }));\n const noosomPlanParam = this.encrDecr.set(Constant.EncrDecrKey, JSON.stringify(noosomPlanData));\n queryParams.planData = noosomPlanParam; // Differentiating with 'planData'\n }\n \n // Navigate with the prepared query parameters\n this.router.navigate(['/apps/invoice/InvoiceAddComponent'], { queryParams: queryParams });\n }\n \n \n \n\n // Lifecycle Hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On init\n */\n ngOnInit(): void {\n \n this._ecommerceService.getProducts();\n\n this._ecommerceService.getCartList();\n\n // this.generalService.selectedItems$.subscribe((items) => {\n // this.products=[];\n // if(items.length>0)\n // this.products=items;\n // });\n this.generalService.selectedItems$.subscribe((items) => {\n this.products = [];\n this.storagePlan = [];\n this.noosomPlan = [];\n this.totalAmount = 0; // Initialize the totalAmount\n \n if (items.length > 0) {\n this.products = items;\n this.totalAmount = items.reduce((total, item) => {\n return total + (item.BasePricePerYear || 0);\n }, 0);\n \n // Separate the items based on the NoosomPlanId\n items.forEach(item => {\n if (item.NoosomPlanId === 1) {\n this.storagePlan.push(item); // Add to storagePlans if NoosomPlanId is 1\n } else {\n this.noosomPlan.push(item); // Add to noosomPlans otherwise\n }\n });\n }\n });\n \n \n\n if(this.authenticationService.currentUserValue){\n this.currencySymbol = this.authenticationService.currentUserValue.CurrencySymbol\n }\n \n // this._ecommerceService.onCartListChange.pipe(takeUntil(this._unsubscribeAll)).subscribe(res => {\n // this.cartList = res;\n // this.cartListLength = this.cartList.length;\n // });\n\n\n // this._ecommerceService.onProductListChange.pipe(takeUntil(this._unsubscribeAll)).subscribe(res => {\n // this.products = res;\n\n // if (this.products.length) {\n // this.products.forEach(product => {\n // product.isInCart = this.cartList.findIndex(p => p.productId === product.id) > -1;\n // });\n // }\n // });\n }\n\n // callData() {\n \n // }\n GetCurrentLanguageJsonObject(currentAppLanguage) {\n var result;\n switch (currentAppLanguage) {\n case 'en':\n result = english;\n break;\n case 'in':\n result = gujarati;\n break;\n case 'hn':\n result = hindi;\n break;\n }\n return result;\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { GlobalService } from 'app/Services/global.service';\n\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NotificationsService {\n // Public\n public apiData = [];\n public onApiDataChange: BehaviorSubject;\n\n /**\n *\n * @param {HttpClient} _httpClient\n */\n constructor(private _httpClient: HttpClient,private globalService: GlobalService) {\n this.onApiDataChange = new BehaviorSubject('');\n this.getNotificationsData();\n }\n\n /**\n * Get Notifications Data\n */\n getNotificationsData(): Promise {\n return new Promise((resolve, reject) => {\n this._httpClient.get('api/notifications-data').subscribe((response: any) => {\n this.apiData = response;\n this.onApiDataChange.next(this.apiData);\n resolve(this.apiData);\n }, reject);\n });\n }\n\n GetUserConnectionRequests(data){\n const path = 'api/UserConnectionRequest/GetUserConnectionRequestListAppWeb';\n return this.globalService.PostDataById(data,path);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { locale as english } from 'app/layout/components/menu/i18n/en';\nimport { locale as french } from 'app/layout/components/menu/i18n/fr';\nimport { locale as german } from 'app/layout/components/menu/i18n/de';\nimport { locale as portuguese } from 'app/layout/components/menu/i18n/pt';\nimport { locale as gujarati } from 'app/layout/components/menu/i18n/gj';\nimport { locale as hindi } from 'app/layout/components/menu/i18n/hn';\nimport { CoreTranslationService } from '@core/services/translation.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService } from 'app/layout/components/navbar/navbar-notification/notifications.service';\nimport { Constant } from 'app/Classes/constant';\nimport { RelationType, Status } from 'app/enums';\nimport { Observable } from 'rxjs';\nimport { E } from 'assets/extensions/extensions';\nimport { CustomToastrService } from 'app/Services/custom-toastr.service';\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\nimport { AuthenticationService } from 'app/auth/service/authentication.service';\nimport { LoadingScreenService } from 'app/Services/loading-screen.service';\nimport { GlobalService } from 'app/Services/global.service';\nimport { Router } from '@angular/router';\nimport { FriendsService } from 'app/about-me/friends/friends.service';\nimport { OwnFamilyService } from 'app/about-me/own-family/own-family.service';\nimport { FamilyMemberLoadDataOutputModel, FriendLoadDataOutputModel, TblUserFamilyMembers, TblUserFriends } from 'app/about-me/about-me-model.model';\nimport { MessagingService } from 'app/Services/messaging.service';\n\n// Interface\ninterface notification {\n messages: [];\n systemMessages: [];\n system: Boolean;\n}\n\n@Component({\n selector: 'app-navbar-notification',\n templateUrl: './navbar-notification.component.html',\n styleUrls: ['./navbar-notification.scss'],\n})\nexport class NavbarNotificationComponent implements OnInit {\n // Public\n public notifications: notification;\n public notification\n currentAppLanguage: any;\n public error = '';\n public loading = false;\n requestModel: any[]=[];\n userFriend:TblUserFriends;\n friendLoadDataOutputModel:FriendLoadDataOutputModel;\n userFamily:TblUserFamilyMembers;\n familyMemberLoadDataOutputModel:FamilyMemberLoadDataOutputModel;\n friendFamilydata: any;\n message: any;\n private intervalId: any;\n /**\n *\n * @param {NotificationsService} _notificationsService\n */\n constructor(private _notificationsService: NotificationsService,\n private _coreTranslationService: CoreTranslationService,\n private _translateService: TranslateService,\n private _toastrService: CustomToastrService,\n private _router: Router,\n private _authenticationService: AuthenticationService,\n private globalService: GlobalService,\n private loadingScreenService: LoadingScreenService,\n public friendService:FriendsService,\n public familyService: OwnFamilyService,\n private _encryptDecryptService: EncrDecrService,\n private messagingService: MessagingService,\n ) { this._coreTranslationService.translate(english, french, german, portuguese, gujarati, hindi);\n this._translateService.onLangChange.subscribe(lang => {\n // console.log('lang');\n // console.log(lang.lang);\n setTimeout(() => {\n let _LangJsonObj = this.GetCurrentLanguageJsonObject(lang.lang);\n if (_LangJsonObj)\n this.currentAppLanguage = _LangJsonObj;\n }, 100);\n })}\n\n // Lifecycle Hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On init\n */\n ngOnInit(): void {\n this._notificationsService.onApiDataChange.subscribe(res => {\n this.notifications = res;\n\n });\n\n this.getnotification();\n if (navigator.serviceWorker) {\n navigator.serviceWorker.addEventListener('message', (event) => {\n if (event.data && event.data.type === 'NEW_PUSH_NOTIFICATION') {\n this.getnotification();\n // this.handleNewNotification(event.data.payload); // Trigger the method when a notification arrives\n }\n });\n }\n// this.startRefreshing();\n }\n\n // ngOnDestroy(): void {\n // this.stopRefreshing();\n // }\n\n // startRefreshing(): void {\n // this.getnotification();\n // this.intervalId = setInterval(() => {\n // this.getnotification();\n // }, 10000); // 10 seconds\n // }\n\n // stopRefreshing(): void {\n // clearInterval(this.intervalId);\n // }\n\n getnotification(){\n if(this._authenticationService.currentUserValue){\n var inputModel = {\n UserDetailsId: this._authenticationService.currentUserValue.UserDetailsId,\n ReceiverUserDetailsId:this._authenticationService.currentUserValue.UserDetailsId\n };\n this.GetUserConnectionRequests(inputModel)\n }\n }\n\n GetUserConnectionRequests(inputModel) {\n this.loadingScreenService.startLoading();\n let response: Observable;\n this._notificationsService.GetUserConnectionRequests(inputModel)\n .subscribe(\n (result) => {\n this.loading = false;\n this.loadingScreenService.stopLoading();\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.Success) {\n var connectionRequestData = JSON.parse((this._encryptDecryptService.get(Constant.EncrDecrKey, result.data)))\n this.notification = connectionRequestData;\n // console.log(this.notification)\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n },\n (error) => {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n }\n\n updateConnection(model,status){\n var connectionType = model\n this.loadingScreenService.startLoading();\n if(connectionType?.UserFamilyMemberId){\n this.requestModel.push({\n UserConnectionRequestId:connectionType?.UserConnectionRequestId,\n UserDetailsId:connectionType?.UserDetailsId,\n UserFamilyMemberId:connectionType?.UserFamilyMemberId,\n UserFriendId:null,\n ConnectionRequestStatusId:status,\n receiverUserDetailsId:connectionType?.ReceiverUserDetailsId,\n CreatedDate : E.GetTodayDateStringOnly(),\n CreatedTime : E.GetTodayTimeStringOnly(),\n CreatedBy : connectionType?.UserDetailsId,\n ChangedDate : E.GetTodayDateStringOnly(),\n ChangedTime : E.GetTodayTimeStringOnly(),\n ChangedBy : connectionType?.UserDetailsId\n })\n this.getUserRelationByType(model.EmailAddress,RelationType.Families)\n }\n else if(connectionType?.UserFriendId){\n this.requestModel.push({\n UserConnectionRequestId:connectionType?.UserConnectionRequestId,\n UserDetailsId:connectionType?.UserDetailsId,\n UserFamilyMemberId:null,\n UserFriendId:connectionType?.UserFriendId,\n ConnectionRequestStatusId:status,\n receiverUserDetailsId:connectionType?.ReceiverUserDetailsId,\n CreatedDate : E.GetTodayDateStringOnly(),\n CreatedTime : E.GetTodayTimeStringOnly(),\n CreatedBy : connectionType?.UserDetailsId,\n ChangedDate : E.GetTodayDateStringOnly(),\n ChangedTime : E.GetTodayTimeStringOnly(),\n ChangedBy : connectionType?.UserDetailsId\n })\n this.getUserRelationByType(model.EmailAddress,RelationType.Friends)\n }\n // console.log(this.requestModel)\n setTimeout(() => {\n this.loadingScreenService.startLoading();\n const path = 'api/UserConnectionRequest/CreateUpdateUserConnectionRequest'\n let response: Observable;\n response = this.globalService.PostDataAnonymous(this.requestModel[0], path);\n response.subscribe(\n async (data) => {\n // console.log(data)\n var _data = JSON.parse(data._body)\n // console.log(_data, JSON.parse((this._encryptDecryptService.get(Constant.EncrDecrKey, _data.data))))\n this.loadingScreenService.stopLoading();\n if (_data.status == Status.RecordAdded) {\n // console.log(JSON.parse((this._encryptDecryptService.get(Constant.EncrDecrKey, _data.data))))\n this._toastrService.Success(\"Request Action Completed !\", Constant.SuccessToastrTitle);\n if(status==3){\n if(connectionType?.UserFamilyMemberId){\n await this.setCreateUpdateFamily(model,status);\n }\n else if(connectionType?.UserFriendId){\n await this.setCreateUpdateFriend(model,status);\n }}\n if(status==4){\n if(this._authenticationService.currentUserValue){\n var inputModel = {\n UserDetailsId: this._authenticationService.currentUserValue.UserDetailsId,\n ReceiverUserDetailsId:this._authenticationService.currentUserValue.UserDetailsId\n };\n this.GetUserConnectionRequests(inputModel);}\n }\n }\n else if (_data.status == Status.RecordUpdated) {\n this._toastrService.Success(\"Request Action Completed !\", Constant.SuccessToastrTitle);\n if(status==3){\n if(connectionType?.UserFamilyMemberId){\n await this.setCreateUpdateFamily(model,status);\n }\n else if(connectionType?.UserFriendId){\n await this.setCreateUpdateFriend(model,status);\n }}\n if(status==4){\n \n if(this._authenticationService.currentUserValue){\n var inputModel = {\n UserDetailsId: this._authenticationService.currentUserValue.UserDetailsId,\n ReceiverUserDetailsId:this._authenticationService.currentUserValue.UserDetailsId\n };\n this.GetUserConnectionRequests(inputModel);}\n }\n }\n else if(_data.status == Status.Error){\n // this._toastrService.Warning(_data.message, Constant.WarningToastrTitle);\n setTimeout(() => {\n this._router.navigate(['/pages/miscellaneous/linkused']);\n }, 1000);\n }\n },\n (error) => {\n // this._toastrService.Error(error, Constant.ErrorToastrTitle);\n // this.error = error;\n this.loadingScreenService.stopLoading();\n }\n );\n }, 500);\n }\n\n callUpdateFunction(model,status){\n this.requestModel=[];\n var connectionType = model\n if(connectionType?.UserFamilyMemberId){\n this.userFamily = new TblUserFamilyMembers();\n this.updateConnection(model,status)\n }\n else if(connectionType?.UserFriendId){\n this.userFriend= new TblUserFriends();\n this.updateConnection(model,status)\n }\n }\n\n // getFriendLoadData(model,status){\n // this.loadingScreenService.startLoading();\n // // console.log(this.achievementsLoadDataInputModel);\n // let response: Observable;\n // this.friendService.GetUserFriendLoadData(model?.UserFriendId)\n // .subscribe(\n // (data) => {\n // this.loadingScreenService.stopLoading();\n // if (data.status == Status.Success) {\n // this.friendLoadDataOutputModel = JSON.parse((this._encryptDecryptService.get(Constant.EncrDecrKey, data.data)));\n // // console.log(this.friendLoadDataOutputModel)\n // if (this.friendLoadDataOutputModel.UserFriend) {\n // this.userFriend = this.friendLoadDataOutputModel.UserFriend;\n // this.userFriend.ConnectionRequestStatusId = status;\n // console.log(this.userFriend)\n // this.updateConnection(model,status);\n // }\n // }\n // else {\n // this._toastrService.Error(E.ConvertToString(data.message), Constant.ErrorToastrTitle);\n // }\n // },\n // (error) => {\n // this.error = error;\n // this.loadingScreenService.stopLoading();\n // }\n // );\n // }\n\n // getFamilyLoadData(model, status){\n // this.loadingScreenService.startLoading();\n // let response: Observable;\n // this.familyService.GetUserFamilyMemberLoadData(model?.UserFamilyMemberId)\n // .subscribe(\n // (data) => {\n // this.loadingScreenService.stopLoading();\n // if (data.status == Status.Success) {\n // this.familyMemberLoadDataOutputModel = JSON.parse((this._encryptDecryptService.get(Constant.EncrDecrKey, data.data)));\n // //console.log(this.familyMemberLoadDataOutputModel)\n // if (this.familyMemberLoadDataOutputModel.UserFamilyMember) {\n // this.userFamily = this.familyMemberLoadDataOutputModel.UserFamilyMember;\n // this.userFamily.ConnectionRequestStatusId = status;\n // this.updateConnection(model,status);\n // }\n // }\n // else {\n // this._toastrService.Error(E.ConvertToString(data.message), Constant.ErrorToastrTitle);\n // }\n // },\n // (error) => {\n // this._toastrService.Error(E.ConvertToString(error), Constant.ErrorToastrTitle);\n // this.error = error;\n // this.loadingScreenService.stopLoading();\n // }\n // );\n // }\n\n getUserRelationByType(email,relation){\n var requestData={\n UserDetailsId:this._authenticationService.currentUserValue.UserDetailsId,\n EmailAddress:email,\n relationType:relation\n }\n if(relation == RelationType.Friends){this.friendFamilydata = new TblUserFriends();}\n else if(relation == RelationType.Families){this.friendFamilydata = new TblUserFamilyMembers();}\n setTimeout(() => {\n this.loadingScreenService.startLoading();\n // console.log(requestData)\n const path = 'api/UserConnectionRequest/GetUserRelationByType'\n let response: Observable;\n response = this.globalService.PostDataAnonymous(requestData, path);\n response.subscribe(\n async (data) => {\n // console.log(data)\n var _data = JSON.parse(data._body)\n this.friendFamilydata = JSON.parse((this._encryptDecryptService.get(Constant.EncrDecrKey, _data.data)))\n this.loadingScreenService.stopLoading();\n },\n (error) => {\n // this._toastrService.Error(error, Constant.ErrorToastrTitle);\n // this.error = error;\n this.loadingScreenService.stopLoading();\n }\n );\n }, 500);\n }\n\n setCreateUpdateFriend(model,status){\n if (this.friendFamilydata == null) {\n this.userFriend = new TblUserFriends();\n }\n\n if(this.friendFamilydata){\n this.userFriend = this.friendFamilydata;\n }\n else{\n this.userFriend.FirstName = model.UserFriendFirstName;\n this.userFriend.LastName = model.UserFriendLastName;\n this.userFriend.EmailAddress = model.EmailAddress;}\n this.userFriend.CreatedBy = this._authenticationService.currentUserValue.UserDetailsId;\n this.userFriend.ConnectionRequestStatusId = 3\n this.userFriend.CreatedDate = E.GetTodayDateStringOnly();\n this.userFriend.CreatedTime = E.GetTodayTimeStringOnly();\n this.userFriend.ChangedDate = E.GetTodayDateStringOnly();\n this.userFriend.ChangedTime = E.GetTodayTimeStringOnly();\n this.userFriend.UserDetailsId = this._authenticationService.currentUserValue.UserDetailsId;\n this.userFriend.ChangedBy = this._authenticationService.currentUserValue.UserDetailsId;\n this.loading = true;\n this.loadingScreenService.startLoading();\n let response: Observable;\n //console.log(this.userFriend)\n this.friendService.CreateUpdateUserFriend(this.userFriend)\n .subscribe(\n (result) => {\n this.loading = false;\n this.loadingScreenService.stopLoading();\n var message = \"\"; var errormessage = \"\";\n if (result.status == Status.RecordAdded) {\n if(this._authenticationService.currentUserValue){\n var inputModel = {\n UserDetailsId: this._authenticationService.currentUserValue.UserDetailsId,\n ReceiverUserDetailsId:this._authenticationService.currentUserValue.UserDetailsId\n };\n this.GetUserConnectionRequests(inputModel);\n this.friendService.setGridRefresh(true);\n }\n }\n else if (result.status == Status.RecordUpdated) {\n if(this._authenticationService.currentUserValue){\n var inputModel = {\n UserDetailsId: this._authenticationService.currentUserValue.UserDetailsId,\n ReceiverUserDetailsId:this._authenticationService.currentUserValue.UserDetailsId\n };\n this.GetUserConnectionRequests(inputModel);\n this.friendService.setGridRefresh(true);\n }\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n },\n (error) => {\n this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n }\n\n setCreateUpdateFamily(model,status){\n if (this.friendFamilydata == null) {\n this.userFamily = new TblUserFamilyMembers();\n }\n if(this.friendFamilydata){\n this.userFamily = this.friendFamilydata;\n }else{\n this.userFamily.FirstName = model.UserFamilyMemberFirstName;\n this.userFamily.LastName = model.UserFamilyMemberLastName;\n this.userFamily.EmailAddress = model.EmailAddress;\n this.userFamily.FamilyMemberTypeId = model.UserFamilyMemberType;}\n this.userFamily.CreatedBy = this._authenticationService.currentUserValue.UserDetailsId;;\n this.userFamily.ConnectionRequestStatusId = 3\n this.userFamily.CreatedDate = E.GetTodayDateStringOnly();\n this.userFamily.CreatedTime = E.GetTodayTimeStringOnly();\n this.userFamily.ChangedDate = E.GetTodayDateStringOnly();\n this.userFamily.ChangedTime = E.GetTodayTimeStringOnly();\n this.userFamily.UserDetailsId = this._authenticationService.currentUserValue.UserDetailsId;;\n this.userFamily.ChangedBy = this._authenticationService.currentUserValue.UserDetailsId;;\n this.loadingScreenService.startLoading();\n let response: Observable;\n //console.log(this.userFamily)\n this.familyService.CreateUpdateUserFamilyMember(this.userFamily)\n .subscribe(\n (result) => {\n this.loading = false;\n this.loadingScreenService.stopLoading();\n var message = \"\"; var errormessage = \"\";\n // console.log(result)\n if (result.status == Status.RecordAdded) {\n if(this._authenticationService.currentUserValue){\n var inputModel = {\n UserDetailsId: this._authenticationService.currentUserValue.UserDetailsId,\n ReceiverUserDetailsId:this._authenticationService.currentUserValue.UserDetailsId\n };\n this.GetUserConnectionRequests(inputModel);\n this.familyService.setGridRefresh(true);\n }\n }\n else if (result.status == Status.RecordUpdated) {\n if(this._authenticationService.currentUserValue){\n var inputModel = {\n UserDetailsId: this._authenticationService.currentUserValue.UserDetailsId,\n ReceiverUserDetailsId:this._authenticationService.currentUserValue.UserDetailsId\n };\n this.GetUserConnectionRequests(inputModel);\n this.familyService.setGridRefresh(true);\n }\n }\n else {\n errormessage = E.ConvertToString(result.message);\n }\n },\n (error) => {\n this.error = error;\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n );\n }\n \n GetCurrentLanguageJsonObject(currentAppLanguage) {\n var result;\n switch (currentAppLanguage) {\n case 'en':\n result = english;\n break;\n case 'in':\n result = gujarati;\n break;\n case 'hn':\n result = hindi;\n break;\n }\n return result;\n }\n}\n","
  • \n {{\n notification?.length\n }}\n \n \n
  • \n
    \n

    Notifications

    \n
    \n {{ notification?.length }} New\n
    \n
    \n
  • \n \n\n \n \n
  • \n \n
    \n
    \n
    \n
    {{ message.UserFamilyMemberFullName ? (message.UserFamilyMemberFullName |initials) : (message.UserFriendFullName |initials)}}
    \n
    \n
    \n
    \n

    {{ message.UserFamilyMemberFullName ? message.UserFamilyMemberFullName : message.UserFriendFullName }}

    \n {{ message.UserFamilyMemberFullName ? \"You got a Connection request from your Family Member\" : \"You got a Connection request from your Friend\" }}\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n
  • \n \n
  • \n \n
    \n \n No results found.\n
    \n
  • \n \n \n\n \n \n \n \n\n","import { Component, OnDestroy, OnInit, HostBinding, HostListener, ViewEncapsulation } from '@angular/core';\nimport { MediaObserver } from '@angular/flex-layout';\nimport * as _ from 'lodash';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AuthenticationService } from 'app/auth/service';\nimport { CoreSidebarService } from '@core/components/core-sidebar/core-sidebar.service';\nimport { CoreConfigService } from '@core/services/config.service';\nimport { CoreMediaService } from '@core/services/media.service';\nimport { User } from 'app/auth/models';\nimport { Router } from '@angular/router';\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\nimport { Constant } from 'app/Classes/constant';\nimport { locale as english } from 'app/layout/components/menu/i18n/en';\nimport { locale as french } from 'app/layout/components/menu/i18n/fr';\nimport { locale as german } from 'app/layout/components/menu/i18n/de';\nimport { locale as portuguese } from 'app/layout/components/menu/i18n/pt';\nimport { locale as gujarati } from 'app/layout/components/menu/i18n/gj';\nimport { locale as hindi } from 'app/layout/components/menu/i18n/hn';\nimport { CoreTranslationService } from '@core/services/translation.service';\nimport { E } from 'assets/extensions/extensions';\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { LoadingScreenService } from 'app/Services/loading-screen.service';\n\n@Component({\n selector: 'app-navbar',\n templateUrl: './navbar.component.html',\n styleUrls: ['./navbar.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\n\nexport class NavbarComponent implements OnInit, OnDestroy {\n public horizontalMenu: boolean;\n public hiddenMenu: boolean;\n\n public coreConfig: any;\n public currentSkin: string;\n public prevSkin: string;\n\n public currentUser: User;\n\n public languageOptions: any;\n public navigation: any;\n public selectedLanguage: any;\n _ProfilePictureUrl: string = Constant.DefaultProfilePictureURL;\n\n @HostBinding('class.fixed-top')\n public isFixed = false;\n\n @HostBinding('class.navbar-static-style-on-scroll')\n public windowScrolled = false;\n\n // Add .navbar-static-style-on-scroll on scroll using HostListener & HostBinding\n @HostListener('window:scroll', [])\n onWindowScroll() {\n if (\n (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop > 100) &&\n this.coreConfig.layout.navbar.type == 'navbar-static-top' &&\n this.coreConfig.layout.type == 'horizontal'\n ) {\n this.windowScrolled = true;\n } else if (\n (this.windowScrolled && window.pageYOffset) ||\n document.documentElement.scrollTop ||\n document.body.scrollTop < 10\n ) {\n this.windowScrolled = false;\n }\n }\n\n // Private\n private _unsubscribeAll: Subject;\n\n /**\n * Constructor\n *\n * @param {Router} _router\n * @param {AuthenticationService} _authenticationService\n * @param {CoreConfigService} _coreConfigService\n * @param {CoreSidebarService} _coreSidebarService\n * @param {CoreMediaService} _coreMediaService\n * @param {MediaObserver} _mediaObserver\n * @param {TranslateService} _translateService\n */\n constructor(\n private _router: Router,\n private _authenticationService: AuthenticationService,\n private _coreConfigService: CoreConfigService,\n private _coreMediaService: CoreMediaService,\n private _coreSidebarService: CoreSidebarService,\n private _mediaObserver: MediaObserver,\n public _translateService: TranslateService,\n private _encryptDecryptService: EncrDecrService,\n private _coreTranslationService: CoreTranslationService,\n private loadingScreenService:LoadingScreenService\n ) {\n this._authenticationService.currentUser.subscribe(x => (this.currentUser = x));\n this._coreTranslationService.translate(english, french, german, portuguese, gujarati, hindi);\n this.languageOptions = {\n en: {\n title: 'English',\n flag: 'gb'\n },\n fr: {\n title: 'French',\n flag: 'fr'\n },\n de: {\n title: 'German',\n flag: 'de'\n },\n pt: {\n title: 'Portuguese',\n flag: 'pt'\n },\n gj: {\n title: 'Gujarati',\n flag: 'in'\n },\n hn: {\n title: 'Hindi',\n flag: 'in'\n }\n };\n\n // Set the private defaults\n this._unsubscribeAll = new Subject();\n }\n\n // Public Methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Toggle sidebar open\n *\n * @param key\n */\n toggleSidebar(key): void {\n this._coreSidebarService.getSidebarRegistry(key).toggleOpen();\n }\n\n /**\n * Set the language\n *\n * @param language\n */\n setLanguage(language): void {\n // Set the selected language for the navbar on change\n this.selectedLanguage = language;\n\n // Use the selected language id for translations\n this._translateService.use(language);\n\n this._coreConfigService.setConfig({ app: { appLanguage: language } }, { emitEvent: true });\n this._authenticationService.currentAppLanguage = language;\n }\n\n /**\n * Toggle Dark Skin\n */\n toggleDarkSkin() {\n // Get the current skin\n this._coreConfigService\n .getConfig()\n .pipe(takeUntil(this._unsubscribeAll))\n .subscribe(config => {\n this.currentSkin = config.layout.skin;\n });\n\n // Toggle Dark skin with prevSkin skin\n this.prevSkin = localStorage.getItem('prevSkin');\n\n if (this.currentSkin === 'dark') {\n this._coreConfigService.setConfig(\n { layout: { skin: this.prevSkin ? this.prevSkin : 'default' } },\n { emitEvent: true }\n );\n } else {\n localStorage.setItem('prevSkin', this.currentSkin);\n this._coreConfigService.setConfig({ layout: { skin: 'dark' } }, { emitEvent: true });\n }\n }\n\n /**\n * Logout method\n */\n async logout() {\n this.loadingScreenService.startLoading();\n await this._authenticationService.logout();\n this.loadingScreenService.stopLoading();\n this._router.navigate(['/pages/authentication/login-v2']);\n }\n\n // Lifecycle Hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On init\n */\n ngOnInit(): void {\n\n // get the currentUser details from localStorage\n this.currentUser = JSON.parse(this._encryptDecryptService.get(Constant.EncrDecrKey, localStorage.getItem('currentUser')));\n\n // console.log('_user');\n // console.log(_user);\n if (this.currentUser) {\n this._ProfilePictureUrl = E.ConvertToString(this.currentUser.ProfileImagePath);\n if (this._ProfilePictureUrl == \"\") {\n this._ProfilePictureUrl = Constant.DefaultProfilePictureURL;\n }\n }\n // console.log(this._ProfilePictureUrl);\n\n // Subscribe to the config changes\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n this.horizontalMenu = config.layout.type === 'horizontal';\n this.hiddenMenu = config.layout.menu.hidden === true;\n this.currentSkin = config.layout.skin;\n\n // Fix: for vertical layout if default navbar fixed-top than set isFixed = true\n if (this.coreConfig.layout.type === 'vertical') {\n setTimeout(() => {\n if (this.coreConfig.layout.navbar.type === 'fixed-top') {\n this.isFixed = true;\n }\n }, 0);\n }\n });\n\n // Horizontal Layout Only: Add class fixed-top to navbar below large screen\n if (this.coreConfig.layout.type == 'horizontal') {\n // On every media(screen) change\n this._coreMediaService.onMediaUpdate.pipe(takeUntil(this._unsubscribeAll)).subscribe(() => {\n const isFixedTop = this._mediaObserver.isActive('bs-gt-xl');\n if (isFixedTop) {\n this.isFixed = false;\n } else {\n this.isFixed = true;\n }\n });\n }\n\n // Set the selected language from default languageOptions\n this.selectedLanguage = _.find(this.languageOptions, {\n id: this._translateService.currentLang\n });\n }\n\n /**\n * On destroy\n */\n ngOnDestroy(): void {\n // Unsubscribe from all subscriptions\n this._unsubscribeAll.next();\n this._unsubscribeAll.complete();\n }\n}\n\n@Pipe({\n name: 'customFilter'\n})\nexport class CustomFilterPipe implements PipeTransform {\n transform(array: string[]): string[] {\n // Apply your custom filtering logic here\n return array.filter(item => item === 'en' || item === 'hn');\n }\n}\n","\n\n","export class VersionHistoryModel {\n}\nexport class CurrentVersionOutputModel\n{\n CurrentVersionNumber:number;\n LastVersionUpdateDate:Date;\n}","\n {{ item.title }}\n \n \n\n","import { Component, Input } from '@angular/core';\n\nimport { CoreMenuItem } from '@core/types';\n\n@Component({\n selector: '[core-menu-vertical-section]',\n templateUrl: './section.component.html'\n})\nexport class CoreMenuVerticalSectionComponent {\n @Input()\n item: CoreMenuItem;\n}\n","\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n {{ item.title }}\n \n \n {{ item.badge.title }}\n \n \n \n\n","import { Component, Input } from '@angular/core';\nimport * as TablerIcons from 'angular-tabler-icons/icons';\nimport { CoreMenuItem } from '@core/types';\n\n@Component({\n selector: '[core-menu-vertical-item]',\n templateUrl: './item.component.html',\n // styles: [`\n // ::ng-deep .my-custom-class .tooltip-inner {\n // z-index: 999 !important;\n // transform:translateY(-10%) !important;\n // }\n // `]\n})\nexport class CoreMenuVerticalItemComponent {\n @Input()\n item: CoreMenuItem;\n tablerIcons = {};\n tablerIconStyle = 'display: inline-block; vertical-align: middle; margin-right:15px';\n\n constructor() {\n // Preload Tabler Icons as SVG strings\n for (const [key, value] of Object.entries(TablerIcons)) {\n if (typeof value === 'function') {\n this.tablerIcons[key] = (value as any).toSvg();\n }\n }\n }\n\n isTablerIcon(icon: string): boolean {\n return icon.startsWith('tabler-');\n }\n\n getTablerIconName(icon: string): string {\n return icon.replace('tabler-', '');\n }\n}\n","\n \n \n \n \n\n \n \n \n {{ item.title }}\n \n {{ item.badge.title }}\n \n \n\n \n
      \n \n \n \n \n \n \n \n \n
    \n
    \n","import { ChangeDetectorRef, Component, HostBinding, Input, OnDestroy, OnInit } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\n\nimport { Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\n\nimport { CoreMenuItem } from '@core/types';\nimport { CoreMenuService } from 'app/core-menu/core-menu.service';\n\nimport { User } from 'app/auth/models';\n\n@Component({\n selector: '[core-menu-vertical-collapsible]',\n templateUrl: './collapsible.component.html'\n})\nexport class CoreMenuVerticalCollapsibleComponent implements OnInit, OnDestroy {\n currentUser: User;\n\n @Input()\n item: CoreMenuItem;\n\n @HostBinding('class.open')\n public isOpen = false;\n\n // Private\n private _unsubscribeAll: Subject;\n\n /**\n * Constructor\n *\n * @param {Router} _router\n * @param {CoreMenuService} _coreMenuService\n * @param {ChangeDetectorRef} _changeDetectorRef\n */\n constructor(\n private _router: Router,\n private _coreMenuService: CoreMenuService,\n private _changeDetectorRef: ChangeDetectorRef\n ) {\n // Set the private defaults\n this._unsubscribeAll = new Subject();\n }\n\n // Lifecycle hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On init\n */\n ngOnInit(): void {\n // Listen for router events and expand\n this._router.events\n .pipe(\n filter(event => event instanceof NavigationEnd),\n takeUntil(this._unsubscribeAll)\n )\n .subscribe((event: NavigationEnd) => {\n // Confirm if the urlAfterRedirects can be found in one of the children of this item\n if (this.confirmUrlInChildren(this.item, event.urlAfterRedirects)) {\n this.expand();\n } else {\n this.collapse();\n }\n });\n\n // Subscribe to the current menu changes\n this._coreMenuService.onMenuChanged.pipe(takeUntil(this._unsubscribeAll)).subscribe(() => {\n this.currentUser = this._coreMenuService.currentUser;\n });\n\n // Listen for collapsing of any menu item\n this._coreMenuService.onItemCollapsed.pipe(takeUntil(this._unsubscribeAll)).subscribe(clickedItem => {\n if (clickedItem && clickedItem.children) {\n // Check if the clicked item is one of the children of this item\n if (this.confirmItemInChildren(this.item, clickedItem)) {\n return;\n }\n\n // Check if the url can be found in one of the children of this item\n if (this.confirmUrlInChildren(this.item, this._router.url)) {\n return;\n }\n\n // If the clicked item is not this item, collapse...\n if (this.item !== clickedItem) {\n this.collapse();\n }\n }\n });\n\n // Check if the url can be found in one of the children of this item\n // Required for onInit case (i.e switching theme customizer menu layout)\n if (this.confirmUrlInChildren(this.item, this._router.url)) {\n this.expand();\n } else {\n this.collapse();\n }\n }\n\n /**\n * On destroy\n */\n ngOnDestroy(): void {\n // Unsubscribe from all subscriptions\n this._unsubscribeAll.next();\n this._unsubscribeAll.complete();\n }\n\n // Public methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Toggle collapse\n *\n * @param e\n */\n toggleOpen(e): void {\n e.preventDefault();\n\n this.isOpen = !this.isOpen;\n\n // Menu collapse toggled...\n this._coreMenuService.onItemCollapsed.next(this.item);\n this._coreMenuService.onItemCollapseToggled.next();\n }\n\n /**\n * Expand the collapsible menu\n */\n expand(): void {\n if (this.isOpen) {\n return;\n }\n\n this.isOpen = true;\n\n // Mark for check\n this._changeDetectorRef.markForCheck();\n\n this._coreMenuService.onItemCollapseToggled.next();\n }\n\n /**\n * Collapse the collapsible menu\n */\n collapse(): void {\n if (!this.isOpen) {\n return;\n }\n\n this.isOpen = false;\n\n // Mark for check\n this._changeDetectorRef.markForCheck();\n\n this._coreMenuService.onItemCollapseToggled.next();\n }\n\n /**\n * Confirms if the provided url can be found in one of the given parent's children\n *\n * @param parent\n * @param url\n * @returns {boolean}\n */\n confirmUrlInChildren(parent, url): boolean {\n const children = parent.children;\n\n // Return false if parent don't have any children\n if (!children) {\n return false;\n }\n\n // Loop all the children\n for (const child of children) {\n // If children has child (Sub to sub item url)\n if (child.children) {\n // Call function again with child\n if (this.confirmUrlInChildren(child, url)) {\n return true;\n }\n }\n\n // If child.url is same as provided url\n if (child.url === url || url.includes(child.url)) {\n return true;\n }\n }\n\n return false;\n }\n\n /**\n * Check if the provided parent has the provided item in one of its children\n *\n * @param parent\n * @param item\n * @returns {boolean}\n */\n confirmItemInChildren(parent, item): boolean {\n const children = parent.children;\n\n // Return false if parent don't have any children\n if (!children) {\n return false;\n }\n\n // Return true parent has the provided item in one of its children\n if (children.indexOf(item) > -1) {\n return true;\n }\n\n for (const child of children) {\n if (child.children) {\n // Call function again with child (for sub to sub item)\n if (this.confirmItemInChildren(child, item)) {\n return true;\n }\n }\n }\n\n return false;\n }\n}\n","\n \n \n \n \n\n \n \n \n \n\n \n \n {{ item.title }}\n \n\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: '[core-menu-horizontal-item]',\n templateUrl: './item.component.html'\n})\nexport class CoreMenuHorizontalItemComponent {\n @Input()\n item: any;\n}\n","\n \n \n \n \n\n \n \n \n {{ item.title }}\n \n\n \n
      \n \n \n \n \n \n \n \n \n
    \n
    \n","import { Component, HostListener, HostBinding, ElementRef, Input, OnDestroy, OnInit } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\n\nimport { Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\n\nimport { CoreConfigService } from '@core/services/config.service';\nimport { CoreMenuService } from 'app/core-menu/core-menu.service';\n\nimport { User } from 'app/auth/models';\n\n@Component({\n selector: '[core-menu-horizontal-collapsible]',\n templateUrl: './collapsible.component.html'\n})\nexport class CoreMenuHorizontalCollapsibleComponent implements OnInit, OnDestroy {\n coreConfig: any;\n currentUser: User;\n isShow = false;\n\n // Conditionally add the active classes if UrlInChildren\n @HostBinding('class.active')\n @HostBinding('class.open')\n @HostBinding('class.sidebar-group-active')\n public isActive = false;\n\n @Input()\n item: any;\n\n // Private\n private _unsubscribeAll: Subject;\n\n /**\n * Constructor\n *\n * @param {Router} _router\n * @param {CoreConfigService} _coreConfigService\n * @param {CoreMenuService} _coreMenuService\n */\n constructor(\n private el: ElementRef,\n private _router: Router,\n private _coreConfigService: CoreConfigService,\n private _coreMenuService: CoreMenuService\n ) {\n // Set the private defaults\n this._unsubscribeAll = new Subject();\n }\n\n // Lifecycle hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On init\n */\n ngOnInit(): void {\n // Subscribe to config changes\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n\n // Subscribe to the current menu changes\n this._coreMenuService.onMenuChanged.pipe(takeUntil(this._unsubscribeAll)).subscribe(() => {\n this.currentUser = this._coreMenuService.currentUser;\n });\n\n // Listen for router events and expand\n this._router.events\n .pipe(\n filter(event => event instanceof NavigationEnd),\n takeUntil(this._unsubscribeAll)\n )\n .subscribe((event: NavigationEnd) => {\n // Confirm if the urlAfterRedirects can be found in one of the children of this item\n if (this.confirmUrlInChildren(this.item, event.urlAfterRedirects)) {\n this.isActive = true;\n } else {\n this.isActive = false;\n }\n });\n\n // Check if the url can be found in one of the children of this item\n // Required for onInit case (i.e switching theme customizer menu layout)\n if (this.confirmUrlInChildren(this.item, this._router.url)) {\n this.isActive = true;\n } else {\n this.isActive = false;\n }\n }\n\n /**\n * On destroy\n */\n ngOnDestroy(): void {\n // Unsubscribe from all subscriptions\n this._unsubscribeAll.next();\n this._unsubscribeAll.complete();\n }\n\n // Public methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Open\n */\n @HostListener('mouseenter')\n show(): void {\n this.isShow = true;\n this.setSubMenuProp();\n }\n\n /**\n * Close\n */\n @HostListener('mouseleave')\n hide(): void {\n this.isShow = false;\n }\n\n /**\n * Set sub-menu properties based on screen size\n *\n */\n setSubMenuProp(): void {\n setTimeout(() => {\n let nativeElement = this.el.nativeElement,\n nativeElementChildren = this.el.nativeElement.children[1];\n // If element has sub menu\n if (nativeElement.classList.contains('dropdown-submenu')) {\n const innerHeight = window.innerHeight,\n dropdownTop = nativeElementChildren.getBoundingClientRect().top,\n dropdownLeft = nativeElementChildren.getBoundingClientRect().left,\n dropdownHeight = nativeElementChildren.scrollHeight,\n dropdownWidth = nativeElementChildren.scrollWidth;\n\n //Set sub-menu height\n if (innerHeight - dropdownTop - dropdownHeight - 28 < 1) {\n let maxHeight = innerHeight - dropdownTop - 25;\n nativeElementChildren.setAttribute(\n 'style',\n 'overflow-y: auto; overflow-x: hidden; max-height : ' + maxHeight + 'px'\n );\n }\n\n // Open sub-menu on left based on screen size (To avoid opn sub-menu outside of the screen)\n if (dropdownLeft + dropdownWidth - (window.innerWidth - 16) >= 0) {\n nativeElementChildren.parentElement.classList.add('openLeft');\n }\n }\n });\n }\n\n /**\n * Confirms if the provided url can be found in one of the given parent's children\n *\n * @param parent\n * @param url\n * @returns {boolean}\n */\n confirmUrlInChildren(parent, url): boolean {\n const children = parent.children;\n\n // Return false if parent don't have any children\n if (!children) {\n return false;\n }\n\n // Loop all the children\n for (const child of children) {\n // If children has child (Sub to sub item url)\n if (child.children) {\n // Call function again with child\n if (this.confirmUrlInChildren(child, url)) {\n return true;\n }\n }\n\n // If child.url is same as provided url\n if (child.url === url || url.includes(child.url)) {\n return true;\n }\n }\n\n return false;\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 \n \n \n\n \n \n \n\n\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { CoreMenuService } from './core-menu.service';\n\n@Component({\n selector: '[core-menunew]',\n templateUrl: './core-menu.component.html',\n styleUrls: ['./core-menu.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CoreMenuComponent1 implements OnInit {\n currentUser: any;\n\n @Input()\n layout = 'vertical';\n\n @Input()\n menu: any;\n\n // Private\n private _unsubscribeAll: Subject;\n\n /**\n *\n * @param {ChangeDetectorRef} _changeDetectorRef\n * @param {CoreMenuService} _coreMenuService\n */\n constructor(private _changeDetectorRef: ChangeDetectorRef, private _coreMenuService: CoreMenuService) {\n // Set the private defaults\n this._unsubscribeAll = new Subject();\n }\n\n // Lifecycle hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On init\n */\n ngOnInit(): void {\n // Set the menu either from the input or from the service\n this.menu = this.menu || this._coreMenuService.getCurrentMenu();\n\n // Subscribe to the current menu changes\n this._coreMenuService.onMenuChanged.pipe(takeUntil(this._unsubscribeAll)).subscribe(() => {\n this.currentUser = this._coreMenuService.currentUser;\n\n // Load menu\n this.menu = this._coreMenuService.getCurrentMenu();\n this._changeDetectorRef.markForCheck();\n });\n }\n}\n","\n
    \n \n
    \n\n\n\n
    \n\n\n
    \n
      \n
      \n
      \n
      \n
      \n
      \n \"brand \n

      \n {{'MENU.CONTROL_LABEL_VERSION'|translate}} {{currentVersionOutputModel.CurrentVersionNumber}}
      \n {{'MENU.CONTROL_LABEL_UPDATED_ON'|translate}}: {{currentVersionOutputModel.LastVersionUpdateDate |date:dateformat}}\n

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

      \n \n {{'MENU.CONTROL_LABEL_SUPPORT'|translate}}\n

      \n

      \n \n {{'MENU.CONTROL_LABEL_FEEDBACK'|translate}}\n

      \n
      \n
      \n
      \n \n \n \n
      \n
      \n","import { Component, OnInit, OnDestroy, ViewChild, HostListener, ViewEncapsulation } from '@angular/core';\nimport { Router, NavigationEnd } from '@angular/router';\n\nimport { Subject } from 'rxjs';\nimport { take, takeUntil, filter } from 'rxjs/operators';\nimport { PerfectScrollbarDirective } from 'ngx-perfect-scrollbar';\n\nimport { CoreConfigService } from '@core/services/config.service';\nimport { CoreMenuService } from 'app/core-menu/core-menu.service';\nimport { CoreSidebarService } from '@core/components/core-sidebar/core-sidebar.service';\nimport { CurrentVersionOutputModel } from 'app/Models/version-history-model.model';\nimport { Constant } from 'app/Classes/constant';\nimport { EncrDecrService } from 'app/Services/encr-decr.service';\nimport { locale as english } from 'app/layout/components/menu/i18n/en';\nimport { locale as french } from 'app/layout/components/menu/i18n/fr';\nimport { locale as german } from 'app/layout/components/menu/i18n/de';\nimport { locale as portuguese } from 'app/layout/components/menu/i18n/pt';\nimport { locale as gujarati } from 'app/layout/components/menu/i18n/gj';\nimport { locale as hindi } from 'app/layout/components/menu/i18n/hn';\nimport { CoreTranslationService } from '@core/services/translation.service';\nimport { GlobalService } from 'app/Services/global.service';\n\n@Component({\n selector: 'vertical-menu',\n templateUrl: './vertical-menu.component.html',\n styleUrls: ['./vertical-menu.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class VerticalMenuComponent implements OnInit, OnDestroy {\n coreConfig: any;\n menu: any;\n isCollapsed: boolean;\n isScrolled: boolean = false;\n currentVersionOutputModel:CurrentVersionOutputModel=new CurrentVersionOutputModel();\n // Private\n private _unsubscribeAll: Subject;\n dateformat: any;\n\n /**\n * Constructor\n *\n * @param {CoreConfigService} _coreConfigService\n * @param {CoreMenuService} _coreMenuService\n * @param {CoreSidebarService} _coreSidebarService\n * @param {Router} _router\n */\n constructor(\n private _coreConfigService: CoreConfigService,\n private _coreMenuService: CoreMenuService,\n private _coreSidebarService: CoreSidebarService,\n private _router: Router,\n private _encrDecrService: EncrDecrService,\n private _coreTranslationService: CoreTranslationService,\n private globalService: GlobalService\n ) {\n // Set the private defaults\n this._unsubscribeAll = new Subject();\n this._coreTranslationService.translate(english, french, german, portuguese, gujarati, hindi);\n this.dateformat=this.globalService.getDateFormat();\n }\n\n @ViewChild(PerfectScrollbarDirective, { static: false }) directiveRef?: PerfectScrollbarDirective;\n\n // Lifecycle Hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On Init\n */\n ngOnInit(): void {\n // Subscribe config change\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n\n this.isCollapsed = this._coreSidebarService.getSidebarRegistry('menu').collapsed;\n\n // Close the menu on router NavigationEnd (Required for small screen to close the menu on select)\n this._router.events\n .pipe(\n filter(event => event instanceof NavigationEnd),\n takeUntil(this._unsubscribeAll)\n )\n .subscribe(() => {\n if (this._coreSidebarService.getSidebarRegistry('menu')) {\n this._coreSidebarService.getSidebarRegistry('menu').close();\n }\n });\n\n // scroll to active on navigation end\n this._router.events\n .pipe(\n filter(event => event instanceof NavigationEnd),\n take(1)\n )\n .subscribe(() => {\n setTimeout(() => {\n this.directiveRef.scrollToElement('.navigation .active', -180, 500);\n });\n });\n\n // Get current menu\n this._coreMenuService.onMenuChanged\n .pipe(\n filter(value => value !== null),\n takeUntil(this._unsubscribeAll)\n )\n .subscribe(() => {\n this.menu = this._coreMenuService.getCurrentMenu();\n });\n //console.log('Vertical comp CALLED:');\n if(sessionStorage.getItem(\"Version\")!=null)\n {\n this.currentVersionOutputModel=JSON.parse(this._encrDecrService.get(Constant.EncrDecrKey, sessionStorage.getItem(\"Version\")));\n }\n }\n\n /**\n * On Destroy\n */\n ngOnDestroy(): void {\n // Unsubscribe from all subscriptions\n this._unsubscribeAll.next();\n this._unsubscribeAll.complete();\n }\n\n // Public Methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On Sidebar scroll set isScrolled as true\n */\n onSidebarScroll(): void {\n if (this.directiveRef.position(true).y > '3') {\n this.isScrolled = true;\n } else {\n this.isScrolled = false;\n }\n }\n\n /**\n * Toggle sidebar expanded status\n */\n toggleSidebar(): void {\n this._coreSidebarService.getSidebarRegistry('menu').toggleOpen();\n }\n\n /**\n * Toggle sidebar collapsed status\n */\n toggleSidebarCollapsible(): void {\n // Get the current menu state\n this._coreConfigService\n .getConfig()\n .pipe(takeUntil(this._unsubscribeAll))\n .subscribe(config => {\n this.isCollapsed = config.layout.menu.collapsed;\n });\n if (this.isCollapsed) {\n this._coreConfigService.setConfig({ layout: { menu: { collapsed: false } } }, { emitEvent: true });\n } else {\n this._coreConfigService.setConfig({ layout: { menu: { collapsed: true } } }, { emitEvent: true });\n }\n }\n}\n","import { Component, OnInit, OnDestroy, ViewEncapsulation } from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil, filter } from 'rxjs/operators';\n\nimport { CoreConfigService } from '@core/services/config.service';\nimport { CoreMenuService } from 'app/core-menu/core-menu.service';\nimport { CoreSidebarService } from '@core/components/core-sidebar/core-sidebar.service';\n\n@Component({\n selector: 'horizontal-menu',\n templateUrl: './horizontal-menu.component.html',\n styleUrls: ['./horizontal-menu.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class HorizontalMenuComponent implements OnInit, OnDestroy {\n coreConfig: any;\n menu: any;\n\n // Private\n private _unsubscribeAll: Subject;\n\n /**\n * Constructor\n *\n * @param {CoreConfigService} _coreConfigService\n * @param {CoreMenuService} _coreMenuService\n * @param {CoreSidebarService} _coreSidebarService\n */\n constructor(\n private _coreConfigService: CoreConfigService,\n private _coreMenuService: CoreMenuService,\n private _coreSidebarService: CoreSidebarService\n ) {\n // Set the private defaults\n this._unsubscribeAll = new Subject();\n }\n\n // Lifecycle Hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On Init\n */\n ngOnInit(): void {\n // Subscribe config change\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n\n // Get current menu\n this._coreMenuService.onMenuChanged\n .pipe(\n filter(value => value !== null),\n takeUntil(this._unsubscribeAll)\n )\n .subscribe(() => {\n this.menu = this._coreMenuService.getCurrentMenu();\n });\n }\n\n /**\n * On Destroy\n */\n ngOnDestroy(): void {\n // Unsubscribe from all subscriptions\n this._unsubscribeAll.next();\n this._unsubscribeAll.complete();\n }\n}\n","\n
      \n
        \n
        \n\n","\n\n \n\n\n\n\n\n \n\n\n","import { Component, ElementRef, Input, Renderer2, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'app-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class MenuComponent {\n private _menuType: string;\n\n /**\n * Constructor\n *\n * @param {ElementRef} _elementRef\n * @param {Renderer2} _renderer\n */\n constructor(private _elementRef: ElementRef, private _renderer: Renderer2) {\n // Set the default menu\n this._menuType = 'vertical-menu';\n }\n\n // Accessors\n // -----------------------------------------------------------------------------------------------------\n\n //Get the menu type\n get menuType(): string {\n return this._menuType;\n }\n\n @Input()\n //Set the menu type to the native element\n set menuType(value: string) {\n // Remove the old class name from native element\n this._renderer.removeClass(this._elementRef.nativeElement, this.menuType);\n\n // Store the menuType value\n this._menuType = value;\n\n // Add the new class name from native element\n this._renderer.addClass(this._elementRef.nativeElement, value);\n }\n}\n","import { Component, OnInit, Inject, HostListener } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n@Component({\n selector: 'app-scroll-top',\n templateUrl: './scroll-top.component.html',\n styleUrls: ['./scroll-top.component.scss']\n})\nexport class ScrollTopComponent implements OnInit {\n windowScrolled: boolean;\n topOffset: number = 150; // Top offset to display scroll to top button\n\n constructor(@Inject(DOCUMENT) private document: Document) {}\n\n @HostListener('window:scroll', [])\n onWindowScroll() {\n if (\n window.pageYOffset > this.topOffset ||\n document.documentElement.scrollTop > this.topOffset ||\n document.body.scrollTop > this.topOffset\n ) {\n this.windowScrolled = true;\n } else if (\n (this.windowScrolled && window.pageYOffset) ||\n document.documentElement.scrollTop ||\n document.body.scrollTop < 10\n ) {\n this.windowScrolled = false;\n }\n }\n\n scrollToTop() {\n (function smoothscroll() {\n var currentScroll = document.documentElement.scrollTop || document.body.scrollTop;\n\n if (currentScroll > 0) {\n window.requestAnimationFrame(smoothscroll);\n window.scrollTo(0, currentScroll - currentScroll / 8);\n }\n })();\n }\n\n ngOnInit() {}\n}\n","\n\n \n\n","\n

        \n \n COPYRIGHT © {{ year }}\n Noosom Web\n , All rights Reserved\n \n \n

        \n\n\n\n\n\n\n","import { OnInit, OnDestroy, Component } from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { CoreConfigService } from '@core/services/config.service';\n\n@Component({\n selector: 'footer',\n templateUrl: './footer.component.html'\n})\nexport class FooterComponent implements OnInit, OnDestroy {\n public coreConfig: any;\n public year: number = new Date().getFullYear();\n\n // Private\n private _unsubscribeAll: Subject;\n\n /**\n * Constructor\n *\n * @param {CoreConfigService} _coreConfigService\n */\n constructor(public _coreConfigService: CoreConfigService) {\n // Set the private defaults\n this._unsubscribeAll = new Subject();\n }\n\n // Lifecycle hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On init\n */\n ngOnInit(): void {\n // Subscribe to config changes\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n }\n\n /**\n * On destroy\n */\n ngOnDestroy(): void {\n // Unsubscribe from all subscriptions\n this._unsubscribeAll.next();\n this._unsubscribeAll.complete();\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\n\n\n\n\n \n\n\n","import { Component, OnDestroy, OnInit, ViewEncapsulation, ElementRef, Renderer2, RendererStyleFlags2 } from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { CoreConfigService } from '@core/services/config.service';\nimport { Router, NavigationEnd, NavigationError, NavigationStart } from '@angular/router';\nimport { AuthenticationService } from 'app/auth/service';\nimport { GlobalService } from 'app/Services/global.service';\n@Component({\n selector: 'vertical-layout',\n templateUrl: './vertical-layout.component.html',\n styleUrls: ['./vertical-layout.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class VerticalLayoutComponent implements OnInit, OnDestroy {\n coreConfig: any;\n\n // Private\n private _unsubscribeAll: Subject;\n\n /**\n * Constructor\n *\n * @param {CoreConfigService} _coreConfigService\n */\n constructor(private _coreConfigService: CoreConfigService, private _elementRef: ElementRef,private router: Router,private renderer: Renderer2,private _authenticationService: AuthenticationService,private globalService:GlobalService) {\n // Set the private defaults\n this._unsubscribeAll = new Subject();\n // this.router.events.subscribe(event => {\n // if (event instanceof NavigationStart) {\n // console.log('Navigation started');\n // } else if (event instanceof NavigationEnd) {\n // console.log('Navigation ended successfully');\n // } else if (event instanceof NavigationError) {\n // console.error('Navigation error:', event.error);\n // }\n // });\n }\n\n // Lifecycle Hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On init\n */\n ngOnInit(): void {\n // Subscribe to config changes\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n // console.log(this.router)\n this.router.events.subscribe(event => {\n if (event instanceof NavigationEnd) {\n this.adjustAppContentPadding();\n }\n });\n }\n ngAfterViewInit(){\n this.adjustAppContentPadding();\n }\n adjustAppContentPadding() {\n const appContentElement = document.querySelector('.app-content');\n if (appContentElement && this._authenticationService.currentUserValue) {\n // this.renderer.setStyle(appContentElement, 'padding', '6.75rem 2rem 0', RendererStyleFlags2.Important);\n // \n setTimeout(() => {\n this.renderer.setStyle(appContentElement, 'padding', '6.75rem 2rem 0', RendererStyleFlags2.Important); \n }, 500);}\n \n // console.log(appContentElement)\n}\n\n \n /**\n * On destroy\n */\n ngOnDestroy(): void {\n // Unsubscribe from all subscriptions\n this._unsubscribeAll.next();\n this._unsubscribeAll.complete();\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 \n \n \n \n
        \n
        \n\n\n\n\n \n\n\n","import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { CoreConfigService } from '@core/services/config.service';\n\n@Component({\n selector: 'horizontal-layout',\n templateUrl: './horizontal-layout.component.html',\n styleUrls: ['./horizontal-layout.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class HorizontalLayoutComponent implements OnInit, OnDestroy {\n coreConfig: any;\n\n // Private\n private _unsubscribeAll: Subject;\n\n /**\n * Constructor\n *\n * @param {CoreConfigService} _coreConfigService\n */\n constructor(private _coreConfigService: CoreConfigService) {\n // Set the private defaults\n this._unsubscribeAll = new Subject();\n }\n\n // Lifecycle Hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On init\n */\n ngOnInit(): void {\n // Subscribe to config changes\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n }\n\n /**\n * On destroy\n */\n ngOnDestroy(): void {\n // Unsubscribe from all subscriptions\n this._unsubscribeAll.next();\n this._unsubscribeAll.complete();\n }\n}\n","
        \n \n
        \n

        Theme Customizer

        \n

        Customize & Preview in Real Time

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

        Skin

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

        Route Transition

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

        Menu Collapsed

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

        Menu Hidden

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

        Navbar Color

        \n
          \n \n \n \n \n \n \n \n \n
        \n
        \n \n
        \n \n Navbar Type\n

        \n

        Menu Type

        \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 { Component, OnInit, OnDestroy, ViewEncapsulation } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { CoreConfigService } from '@core/services/config.service';\nimport { CoreSidebarService } from '@core/components/core-sidebar/core-sidebar.service';\n@Component({\n selector: 'app-theme-customiser',\n templateUrl: './theme-customiser.component.html',\n styleUrls: ['./theme-customiser.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class ThemeCustomiserComponent implements OnInit {\n navbarColorValue: string;\n coreConfig: any;\n form: FormGroup;\n\n // Private\n private _unsubscribeAll: Subject;\n\n /**\n * Constructor\n\n * @param {FormBuilder} _formBuilder\n * @param {CoreConfigService} _coreConfigService\n * @param {CoreSidebarService} _coreSidebarService\n * */\n constructor(\n private _formBuilder: FormBuilder,\n private _coreConfigService: CoreConfigService,\n private _coreSidebarService: CoreSidebarService\n ) {\n // Set the private defaults\n this._unsubscribeAll = new Subject();\n }\n\n // Lifecycle hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On init\n */\n ngOnInit(): void {\n // Build theme config form\n this.form = this._formBuilder.group({\n app: this._formBuilder.group({\n appName: new FormControl(),\n appTitle: new FormControl(),\n appLogoImage: new FormControl(),\n appLanguage: new FormControl()\n }),\n layout: this._formBuilder.group({\n skin: new FormControl(),\n type: new FormControl(),\n animation: new FormControl(),\n menu: this._formBuilder.group({\n hidden: new FormControl(),\n collapsed: new FormControl()\n }),\n navbar: this._formBuilder.group({\n hidden: new FormControl(),\n type: new FormControl(),\n background: new FormControl(),\n customBackgroundColor: new FormControl(),\n backgroundColor: new FormControl()\n }),\n footer: this._formBuilder.group({\n hidden: new FormControl(),\n type: new FormControl(),\n background: new FormControl(),\n customBackgroundColor: new FormControl(),\n backgroundColor: new FormControl()\n }),\n enableLocalStorage: new FormControl(),\n customizer: new FormControl(),\n scrollTop: new FormControl(),\n buyNow: new FormControl()\n })\n });\n\n // Subscribe to the config changes\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n // Update config\n this.coreConfig = config;\n\n // Set the config form values\n this.form.setValue(config, { emitEvent: false });\n });\n\n // Subscribe to the form layout.type value changes\n this.form\n .get('layout.type')\n .valueChanges.pipe(takeUntil(this._unsubscribeAll))\n .subscribe(value => {\n this._resetFormValues(value);\n });\n\n // Subscribe to the form value changes\n this.form.valueChanges.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this._coreConfigService.config = config;\n });\n\n // Set navbar color\n this.navbarColor(this.form.get('layout.navbar.backgroundColor').value);\n }\n\n /**\n * On destroy\n */\n ngOnDestroy(): void {\n // Unsubscribe from all subscriptions\n this._unsubscribeAll.next();\n this._unsubscribeAll.complete();\n }\n\n // Private methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Reset form values based on the selected menu layout\n *\n * @param value\n * @private\n */\n private _resetFormValues(value): void {\n switch (value) {\n case 'vertical': {\n this.form.patchValue({\n layout: {\n // skin: 'default',\n animation: 'fadeIn',\n menu: {\n hidden: false,\n collapsed: false\n },\n navbar: {\n hidden: false,\n type: 'floating-nav',\n background: 'navbar-light',\n customBackgroundColor: true,\n backgroundColor: ''\n },\n footer: {\n hidden: false,\n type: 'footer-static',\n background: 'footer-light',\n customBackgroundColor: false,\n backgroundColor: 'bg-primary'\n }\n }\n });\n }\n case 'horizontal': {\n this.form.patchValue({\n layout: {\n // skin: 'default',\n animation: 'fadeIn',\n menu: {\n hidden: false,\n collapsed: false\n },\n navbar: {\n hidden: false,\n type: 'floating-nav',\n background: 'navbar-light',\n customBackgroundColor: true,\n backgroundColor: ''\n },\n footer: {\n hidden: false,\n type: 'footer-static',\n background: 'footer-light',\n customBackgroundColor: false,\n backgroundColor: 'bg-primary'\n }\n }\n });\n }\n }\n\n // Set navbar color\n this.navbarColor(this.form.get('layout.navbar.backgroundColor').value);\n }\n\n // Public methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Patch selected navbar color value to form\n *\n * @param value\n */\n navbarColor(value): void {\n this.navbarColorValue = value;\n this.form.patchValue({\n layout: { navbar: { customBackgroundColor: true, backgroundColor: this.navbarColorValue } }\n });\n }\n\n /**\n * Toggle sidebar open\n *\n * @param key\n */\n toggleSidebar(key): void {\n this._coreSidebarService.getSidebarRegistry(key).toggleOpen();\n }\n}\n","import { Component, Inject, OnDestroy, OnInit, ElementRef, Renderer2, HostListener } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { Title } from '@angular/platform-browser';\n\nimport { Observable, Subject, Subscription } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { TranslateService } from '@ngx-translate/core';\nimport * as Waves from 'node-waves';\n\nimport { CoreMenuService } from 'app/core-menu/core-menu.service';\nimport { CoreSidebarService } from '@core/components/core-sidebar/core-sidebar.service';\nimport { CoreConfigService } from '@core/services/config.service';\nimport { CoreLoadingScreenService } from '@core/services/loading-screen.service';\nimport { CoreTranslationService } from '@core/services/translation.service';\n\nimport { menu } from 'app/menu/menu';\nimport { locale as menuEnglish } from 'app/menu/i18n/en';\nimport { locale as menuHindi } from 'app/menu/i18n/hn';\nimport { locale as menuFrench } from 'app/menu/i18n/fr';\nimport { locale as menuGerman } from 'app/menu/i18n/de';\nimport { locale as menuPortuguese } from 'app/menu/i18n/pt';\nimport { AuthenticationService } from './auth/service/authentication.service';\nimport { Router } from '@angular/router';\nimport { GlobalService } from './Services/global.service';\nimport { ApplicationType, Enums, Status } from './enums';\nimport { CurrentVersionOutputModel } from './Models/version-history-model.model';\nimport { Constant } from './Classes/constant';\nimport { EncrDecrService } from './Services/encr-decr.service';\nimport { LoadingScreenService } from './Services/loading-screen.service';\nimport { UserDetailsInputModel } from './home/home-model.model';\nimport { CustomToastrService } from './Services/custom-toastr.service';\nimport { E } from 'assets/extensions/extensions';\nimport { HomeService } from './home/home/home.service';\nimport { storage, User } from './auth/models';\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent implements OnInit, OnDestroy {\n coreConfig: any;\n menu: any;\n defaultLanguage: 'en'; // This language will be used as a fallback when a translation isn't found in the current language\n appLanguage: 'en'; // Set application default language i.e fr\n currentVersionOutputModel: CurrentVersionOutputModel;\n loading;\n tmplt = `

        Loading...

        `\n loadingSubscription: Subscription;\n public error = '';\n // Private\n private _unsubscribeAll: Subject;\n\n /**\n * Constructor\n *\n * @param {DOCUMENT} document\n * @param {Title} _title\n * @param {Renderer2} _renderer\n * @param {ElementRef} _elementRef\n * @param {CoreConfigService} _coreConfigService\n * @param {CoreSidebarService} _coreSidebarService\n * @param {CoreLoadingScreenService} _coreLoadingScreenService\n * @param {CoreMenuService} _coreMenuService\n * @param {CoreTranslationService} _coreTranslationService\n * @param {TranslateService} _translateService\n */\n constructor(\n @Inject(DOCUMENT) private document: any,\n private _title: Title,\n private _renderer: Renderer2,\n private _elementRef: ElementRef,\n public _coreConfigService: CoreConfigService,\n private _coreSidebarService: CoreSidebarService,\n private _coreLoadingScreenService: CoreLoadingScreenService,\n private _coreMenuService: CoreMenuService,\n private _coreTranslationService: CoreTranslationService,\n private _translateService: TranslateService,\n private _authenticationService: AuthenticationService,\n private _router: Router,\n private _toastrService: CustomToastrService,\n public homeservice:HomeService,\n private _globalService: GlobalService,\n private _encrDecrService: EncrDecrService,\n private loadingScreenService: LoadingScreenService\n ) {\n // Get the application main menu\n this.menu = menu;\n\n // Register the menu to the menu service\n this._coreMenuService.register('main', this.menu);\n\n // Set the main menu as our current menu\n this._coreMenuService.setCurrentMenu('main');\n\n // Add languages to the translation service\n this._translateService.addLangs(['en', 'fr', 'de', 'pt']);\n\n // This language will be used as a fallback when a translation isn't found in the current language\n this._translateService.setDefaultLang('en');\n\n // Set the translations for the menu\n this._coreTranslationService.translate(menuEnglish, menuFrench, menuGerman, menuPortuguese, menuHindi);\n\n // Set the private defaults\n this._unsubscribeAll = new Subject();\n }\n\n pageReloaded: boolean = window.performance.getEntriesByType('navigation').map((nav) => (nav as any).type).includes('reload');\n\n @HostListener('window:beforeunload', ['$event'])\n beforeunloadHandler(event): void {\n //debugger;\n //console.log(this.pageReloaded);\n if (this.pageReloaded == false) { // The pageReloaded boolean we set earlier\n let tabCount = parseInt(this._encrDecrService.get(Constant.EncrDecrKey,localStorage.getItem('tabCount')));\n --tabCount;\n localStorage.setItem('tabCount', this._encrDecrService.set(Constant.EncrDecrKey,tabCount.toString()));\n //console.log('tabCount' + tabCount);\n if (tabCount <= 0) { //Commented by BM temporary to resolve issue.\n //confirmation to leave\n //event.preventDefault();\n //event.returnValue = '';\n\n //logout\n //this._authenticationService.logout();\n }\n }\n }\n @HostListener('window:onclose', ['$event'])\n closedWin(event): void {\n //console.log('onclose called.');\n localStorage.setItem('tabCount', this._encrDecrService.set(Constant.EncrDecrKey,\"0\"));\n }\n\n // Lifecycle hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On init\n */\n async ngOnInit(): Promise {\n // Init wave effect (Ripple effect)\n if(this._authenticationService.currentUserValue)\n { await this.loadUserFromDetailsId()};\n \n Waves.init();\n \n // Subscribe to config changes\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n // Set application default language.\n\n // Change application language? Read the ngxTranslate Fix\n\n // ? Use app-config.ts file to set default language\n const appLanguage = this.coreConfig.app.appLanguage || 'en';\n this._translateService.use(appLanguage);\n\n // ? OR\n // ? User the current browser lang if available, if undefined use 'en'\n // const browserLang = this._translateService.getBrowserLang();\n // this._translateService.use(browserLang.match(/en|fr|de|pt/) ? browserLang : 'en');\n\n /**\n * ! Fix : ngxTranslate\n * ----------------------------------------------------------------------------------------------------\n */\n\n /**\n *\n * Using different language than the default ('en') one i.e French?\n * In this case, you may find the issue where application is not properly translated when your app is initialized.\n *\n * It's due to ngxTranslate module and below is a fix for that.\n * Eventually we will move to the multi language implementation over to the Angular's core language service.\n *\n **/\n\n // Set the default language to 'en' and then back to 'fr'.\n\n setTimeout(() => {\n this._translateService.setDefaultLang('en');\n this._translateService.setDefaultLang(appLanguage);\n });\n\n /**\n * !Fix: ngxTranslate\n * ----------------------------------------------------------------------------------------------------\n */\n\n // Layout\n //--------\n\n // Remove default classes first\n this._elementRef.nativeElement.classList.remove(\n 'vertical-layout',\n 'vertical-menu-modern',\n 'horizontal-layout',\n 'horizontal-menu'\n );\n // Add class based on config options\n if (this.coreConfig.layout.type === 'vertical') {\n this._elementRef.nativeElement.classList.add('vertical-layout', 'vertical-menu-modern');\n } else if (this.coreConfig.layout.type === 'horizontal') {\n this._elementRef.nativeElement.classList.add('horizontal-layout', 'horizontal-menu');\n }\n\n // Navbar\n //--------\n\n // Remove default classes first\n this._elementRef.nativeElement.classList.remove(\n 'navbar-floating',\n 'navbar-static',\n 'navbar-sticky',\n 'navbar-hidden'\n );\n\n // Add class based on config options\n if (this.coreConfig.layout.navbar.type === 'navbar-static-top') {\n this._elementRef.nativeElement.classList.add('navbar-static');\n } else if (this.coreConfig.layout.navbar.type === 'fixed-top') {\n this._elementRef.nativeElement.classList.add('navbar-sticky');\n } else if (this.coreConfig.layout.navbar.type === 'floating-nav') {\n this._elementRef.nativeElement.classList.add('navbar-floating');\n } else {\n this._elementRef.nativeElement.classList.add('navbar-hidden');\n }\n\n // Footer\n //--------\n\n // Remove default classes first\n this._elementRef.nativeElement.classList.remove('footer-fixed', 'footer-static', 'footer-hidden');\n\n // Add class based on config options\n if (this.coreConfig.layout.footer.type === 'footer-sticky') {\n this._elementRef.nativeElement.classList.add('footer-fixed');\n } else if (this.coreConfig.layout.footer.type === 'footer-static') {\n this._elementRef.nativeElement.classList.add('footer-static');\n } else {\n this._elementRef.nativeElement.classList.add('footer-hidden');\n }\n\n // Blank layout\n if (\n this.coreConfig.layout.menu.hidden &&\n this.coreConfig.layout.navbar.hidden &&\n this.coreConfig.layout.footer.hidden\n ) {\n this._elementRef.nativeElement.classList.add('blank-page');\n // ! Fix: Transition issue while coming from blank page\n this._renderer.setAttribute(\n this._elementRef.nativeElement.getElementsByClassName('app-content')[0],\n 'style',\n 'transition:none'\n );\n } else {\n this._elementRef.nativeElement.classList.remove('blank-page');\n // ! Fix: Transition issue while coming from blank page\n setTimeout(() => {\n this._renderer.setAttribute(\n this._elementRef.nativeElement.getElementsByClassName('app-content')[0],\n 'style',\n 'transition:300ms ease all'\n );\n }, 0);\n // If navbar hidden\n if (this.coreConfig.layout.navbar.hidden) {\n this._elementRef.nativeElement.classList.add('navbar-hidden');\n }\n // Menu (Vertical menu hidden)\n if (this.coreConfig.layout.menu.hidden) {\n this._renderer.setAttribute(this._elementRef.nativeElement, 'data-col', '1-column');\n } else {\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'data-col');\n }\n // Footer\n if (this.coreConfig.layout.footer.hidden) {\n this._elementRef.nativeElement.classList.add('footer-hidden');\n }\n }\n\n // Skin Class (Adding to body as it requires highest priority)\n if (this.coreConfig.layout.skin !== '' && this.coreConfig.layout.skin !== undefined) {\n this.document.body.classList.remove('default-layout', 'bordered-layout', 'dark-layout', 'semi-dark-layout');\n this.document.body.classList.add(this.coreConfig.layout.skin + '-layout');\n }\n });\n\n //debugger;\n // We need to parse into integer since local storage can only\n // store strings.\n //console.log('ngOnInit called');\n //console.log(localStorage.getItem(\"tabCount\"));\n //console.log(parseInt(localStorage.getItem(\"tabCount\")));\n let tabCount = parseInt(this._encrDecrService.get(Constant.EncrDecrKey,localStorage.getItem(\"tabCount\"))); // Then we instantiate tabCount if it doesn't already exist\n //console.log(Number.isNaN(tabCount));\n //console.log(++tabCount);\n // OR Increment by 1 if it already exists\n if (this.pageReloaded == false)\n tabCount = Number.isNaN(tabCount) ? 1 : ++tabCount;\n\n // Set the count on local storage\n localStorage.setItem('tabCount', this._encrDecrService.set(Constant.EncrDecrKey,tabCount.toString()));\n //console.log('API CALLED:');\n\n let promise = new Promise((resolve, reject) => {\n var Result: boolean = false;\n // Set the application page title\n this._title.setTitle(this.coreConfig.app.appTitle);\n const path = 'api/VersionHistory/GetCurrentVersion';\n let response: Observable;\n response = this._globalService.PostDataAnonymous(ApplicationType.Web, path);\n response.subscribe(\n (data) => {\n //console.log(data);\n //console.log(data._body);\n var result = JSON.parse(data._body);\n //console.log('API result:');\n //console.log(result);\n //console.log(result.status);\n if (result.status == Status.Success) {\n this.currentVersionOutputModel = JSON.parse(this._encrDecrService.get(Constant.EncrDecrKey, result.data));\n sessionStorage.setItem(\"Version\", this._encrDecrService.set(Constant.EncrDecrKey, JSON.stringify(this.currentVersionOutputModel)));\n Result = true;\n resolve(Result)\n }\n },\n (error) => {\n }\n );\n });\n\n //console.log('API ENDED:');\n \n this.loadingSubscription = this.loadingScreenService.loadingStatus.subscribe((value) => {\n this.loading = value;\n });\n return await promise;\n }\n \n async mergeUsers(currentUser: User, newUser: User): Promise{\n const mergedUser: User = { ...currentUser };\n \n for (const key in newUser) {\n if (newUser.hasOwnProperty(key) && newUser[key] !== null) {\n mergedUser[key] = newUser[key];\n }\n }\n \n return mergedUser;\n }\n \n\n async loadUserFromDetailsId(): Promise {\n this.loadingScreenService.startLoading();\n\n const userDetailsInputModel: UserDetailsInputModel = {\n UserDetailsId: this._authenticationService.currentUserValue.UserDetailsId\n };\n\n try {\n const result = await this.homeservice.GetUserDetails(userDetailsInputModel).toPromise();\n \n this.loadingScreenService.stopLoading();\n \n if (result.status === Status.Success) {\n const user: User = JSON.parse(this._encrDecrService.get(Constant.EncrDecrKey, result.data));\n //console.log(user, 'user');\n \n const updatedUser: User = await this.mergeUsers(this._authenticationService.currentUserValue, user);\n this._authenticationService.SetUserSession(updatedUser, false);\n //console.log(user)\n var templcstg:storage = JSON.parse(this._encrDecrService.get(Constant.EncrDecrKey, localStorage.getItem('lcstrg')))\n templcstg.NoosomPlan=user.CurrentNoosomPlanId;\n templcstg.userCategory=user.NoosomCategoryEnumId;\n localStorage.setItem('lcstrg', this._encrDecrService.set(Constant.EncrDecrKey,JSON.stringify(templcstg)))\n this._globalService.User = updatedUser;\n } else {\n const errormessage = result.message;\n this._toastrService.Error(errormessage, Constant.ErrorToastrTitle);\n }\n } catch (error) {\n this._toastrService.Error(error, Constant.ErrorToastrTitle);\n this.error = error;\n } finally {\n this.loading = false;\n this.loadingScreenService.stopLoading();\n }\n }\n /**\n * On destroyitl\n */\n ngOnDestroy(): void {\n // Unsubscribe from all subscriptions\n this._unsubscribeAll.next();\n this._unsubscribeAll.complete();\n this.loadingSubscription.unsubscribe();\n }\n\n // Public methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Toggle sidebar open\n *\n * @param key\n */\n toggleSidebar(key): void {\n this._coreSidebarService.getSidebarRegistry(key).toggleOpen();\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
        \n\n
        \n\n\n\n\n \n \n \n \n\n\n\n","import { BREAKPOINT } from '@angular/flex-layout';\n\nconst BS_BREAKPOINTS = [\n { alias: 'bs-xs', overlapping: false, mediaQuery: '(max-width: 575.98px)', suffix: 'BsXs' },\n { alias: 'bs-sm', overlapping: false, mediaQuery: '(min-width: 576px) and (max-width: 767.98px)', suffix: 'BsSm' },\n { alias: 'bs-md', overlapping: false, mediaQuery: '(min-width: 768px) and (max-width: 991.98px)', suffix: 'BsMd' },\n { alias: 'bs-lg', overlapping: false, mediaQuery: '(min-width: 992px) and (max-width: 1199.98px)', suffix: 'BsLg' },\n { alias: 'bs-xl', overlapping: false, mediaQuery: '(min-width: 1200px)', suffix: 'BsXl' },\n\n { alias: 'bs-gt-sm', overlapping: false, mediaQuery: '(min-width: 576px)', suffix: 'BsGtSm' },\n { alias: 'bs-gt-md', overlapping: false, mediaQuery: '(min-width: 768px)', suffix: 'BsGtMd' },\n { alias: 'bs-gt-lg', overlapping: false, mediaQuery: '(min-width: 992px)', suffix: 'BsGtLg' },\n { alias: 'bs-gt-xl', overlapping: false, mediaQuery: '(min-width: 1200px)', suffix: 'BsGtXl' },\n\n { alias: 'bs-lt-sm', overlapping: false, mediaQuery: '(max-width: 575.98px)', suffix: 'BsLtSm' },\n { alias: 'bs-lt-md', overlapping: false, mediaQuery: '(max-width: 767.98px)', suffix: 'BsLtMd' },\n { alias: 'bs-lt-lg', overlapping: false, mediaQuery: '(max-width: 991.98px)', suffix: 'BsLtLg' },\n { alias: 'bs-lt-xl', overlapping: false, mediaQuery: '(max-width: 1199.98px)', suffix: 'BsLtXl' }\n];\n\nexport const CustomBreakPointsProvider = {\n provide: BREAKPOINT,\n useValue: BS_BREAKPOINTS,\n multi: true\n};\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\nimport {\n PerfectScrollbarConfigInterface,\n PerfectScrollbarModule,\n PERFECT_SCROLLBAR_CONFIG\n} from 'ngx-perfect-scrollbar';\n\nimport { CoreCommonModule } from '@core/common.module';\nimport { CoreTouchspinModule } from '@core/components/core-touchspin/core-touchspin.module';\n\nimport { CustomFilterPipe, NavbarComponent } from 'app/layout/components/navbar/navbar.component';\nimport { NavbarBookmarkComponent } from 'app/layout/components/navbar/navbar-bookmark/navbar-bookmark.component';\nimport { FormatTableNamePipe, NavbarSearchComponent, ReplacePipe, TruncatePipe } from 'app/layout/components/navbar/navbar-search/navbar-search.component';\nimport { NavbarCartComponent } from 'app/layout/components/navbar/navbar-cart/navbar-cart.component';\nimport { NavbarNotificationComponent } from 'app/layout/components/navbar/navbar-notification/navbar-notification.component';\nimport { IconsModule } from 'app/icons/icons.module';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { CommonModule } from '@angular/common';\nimport { LightgalleryModule } from 'lightgallery/angular/13';\nconst DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {\n suppressScrollX: true,\n wheelPropagation: false\n};\n\n@NgModule({\n declarations: [\n NavbarComponent,\n NavbarSearchComponent,\n NavbarBookmarkComponent,\n NavbarCartComponent,\n NavbarNotificationComponent,\n CustomFilterPipe,ReplacePipe,FormatTableNamePipe,TruncatePipe\n ],\n imports: [RouterModule, NgbModule, CoreCommonModule, PerfectScrollbarModule, CoreTouchspinModule, IconsModule,TranslateModule,NgSelectModule,\n CommonModule,LightgalleryModule],\n providers: [\n {\n provide: PERFECT_SCROLLBAR_CONFIG,\n useValue: DEFAULT_PERFECT_SCROLLBAR_CONFIG\n }\n ],\n exports: [NavbarComponent]\n})\nexport class NavbarModule { }\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { CoreCommonModule } from '@core/common.module';\n\nimport { ContentComponent } from 'app/layout/components/content/content.component';\n\n@NgModule({\n declarations: [ContentComponent],\n imports: [RouterModule, CoreCommonModule],\n exports: [ContentComponent]\n})\nexport class ContentModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\n\nimport { TranslateModule } from '@ngx-translate/core';\nimport { TablerIconsModule } from 'angular-tabler-icons';\nimport * as TablerIcons from 'angular-tabler-icons/icons';\nimport { CoreCommonModule } from '@core/common.module';\nimport { CoreMenuComponent1 } from './core-menu.component';\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\nimport { CoreMenuVerticalSectionComponent } from './vertical/section/section.component';\nimport { CoreMenuVerticalItemComponent } from './vertical/item/item.component';\nimport { CoreMenuVerticalCollapsibleComponent } from './vertical/collapsible/collapsible.component';\nimport { CoreMenuHorizontalItemComponent } from './horizontal/item/item.component';\nimport { CoreMenuHorizontalCollapsibleComponent } from './horizontal/collapsible/collapsible.component';\n\nCoreMenuVerticalSectionComponent;\nCoreMenuVerticalItemComponent;\nCoreMenuVerticalCollapsibleComponent;\n\n@NgModule({\n imports: [CommonModule, RouterModule, TranslateModule.forChild(), CoreCommonModule,NgbModule,TablerIconsModule.pick(TablerIcons)],\n exports: [CoreMenuComponent1],\n declarations: [\n CoreMenuComponent1,\n CoreMenuVerticalSectionComponent,\n CoreMenuVerticalItemComponent,\n CoreMenuVerticalCollapsibleComponent,\n CoreMenuHorizontalItemComponent,\n CoreMenuHorizontalCollapsibleComponent\n ]\n})\nexport class CoreMenuModulenew {}\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\nimport { PERFECT_SCROLLBAR_CONFIG } from 'ngx-perfect-scrollbar';\nimport { PerfectScrollbarConfigInterface } from 'ngx-perfect-scrollbar';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { CoreMenuModulenew } from 'app/core-menu/core-menu.module';\nimport { CoreMenuModule } from '@core/components';\nimport { CoreCommonModule } from '@core/common.module';\n\nimport { VerticalMenuComponent } from 'app/layout/components/menu/vertical-menu/vertical-menu.component';\n\nconst DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {\n suppressScrollX: true,\n wheelPropagation: false\n};\n@NgModule({\n declarations: [VerticalMenuComponent],\n imports: [CoreMenuModule,CoreMenuModulenew, CoreCommonModule, PerfectScrollbarModule, RouterModule, NgbModule,TranslateModule],\n providers: [\n {\n provide: PERFECT_SCROLLBAR_CONFIG,\n useValue: DEFAULT_PERFECT_SCROLLBAR_CONFIG\n }\n ],\n exports: [VerticalMenuComponent]\n})\nexport class VerticalMenuModule {}\n","import { NgModule } from '@angular/core';\n\nimport { CoreMenuModule } from '@core/components';\nimport { CoreCommonModule } from '@core/common.module';\nimport { CoreMenuModulenew } from 'app/core-menu/core-menu.module';\nimport { HorizontalMenuComponent } from 'app/layout/components/menu/horizontal-menu/horizontal-menu.component';\n\n@NgModule({\n declarations: [HorizontalMenuComponent],\n imports: [CoreMenuModule, CoreCommonModule,CoreMenuModulenew],\n exports: [HorizontalMenuComponent]\n})\nexport class HorizontalMenuModule {}\n","import { NgModule } from '@angular/core';\n\nimport { CoreCommonModule } from '@core/common.module';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { MenuComponent } from 'app/layout/components/menu/menu.component';\nimport { VerticalMenuModule } from 'app/layout/components/menu/vertical-menu/vertical-menu.module';\nimport { HorizontalMenuModule } from 'app/layout/components/menu/horizontal-menu/horizontal-menu.module';\n\n@NgModule({\n declarations: [MenuComponent],\n imports: [CoreCommonModule, VerticalMenuModule, HorizontalMenuModule,TranslateModule],\n exports: [MenuComponent]\n})\nexport class MenuModule {}\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { CoreCommonModule } from '@core/common.module';\n\nimport { FooterComponent } from 'app/layout/components/footer/footer.component';\nimport { ScrollTopComponent } from 'app/layout/components/footer/scroll-to-top/scroll-top.component';\n\n@NgModule({\n declarations: [FooterComponent, ScrollTopComponent],\n imports: [RouterModule, CoreCommonModule],\n exports: [FooterComponent]\n})\nexport class FooterModule {}\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { CoreCommonModule } from '@core/common.module';\nimport { CoreSidebarModule } from '@core/components';\n\nimport { NavbarModule } from 'app/layout/components/navbar/navbar.module';\nimport { ContentModule } from 'app/layout/components/content/content.module';\nimport { MenuModule } from 'app/layout/components/menu/menu.module';\nimport { FooterModule } from 'app/layout/components/footer/footer.module';\n\nimport { VerticalLayoutComponent } from 'app/layout/vertical/vertical-layout.component';\nimport { AppModule } from 'app/app.module';\n\n@NgModule({\n declarations: [VerticalLayoutComponent],\n imports: [RouterModule, CoreCommonModule, CoreSidebarModule, NavbarModule, MenuModule, ContentModule, FooterModule],\n exports: [VerticalLayoutComponent]\n})\nexport class VerticalLayoutModule {}\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { CoreSidebarModule } from '@core/components';\nimport { CoreCommonModule } from '@core/common.module';\n\nimport { NavbarModule } from 'app/layout/components/navbar/navbar.module';\nimport { ContentModule } from 'app/layout/components/content/content.module';\nimport { MenuModule } from 'app/layout/components/menu/menu.module';\nimport { FooterModule } from 'app/layout/components/footer/footer.module';\n\nimport { HorizontalLayoutComponent } from 'app/layout/horizontal/horizontal-layout.component';\n\n@NgModule({\n declarations: [HorizontalLayoutComponent],\n imports: [RouterModule, CoreCommonModule, CoreSidebarModule, NavbarModule, ContentModule, MenuModule, FooterModule],\n exports: [HorizontalLayoutComponent]\n})\nexport class HorizontalLayoutModule {}\n","import { NgModule } from '@angular/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\n\nimport { CustomBreakPointsProvider } from 'app/layout/custom-breakpoints';\nimport { VerticalLayoutModule } from 'app/layout/vertical/vertical-layout.module';\nimport { HorizontalLayoutModule } from 'app/layout/horizontal/horizontal-layout.module';\n\n@NgModule({\n imports: [FlexLayoutModule.withConfig({ disableDefaultBps: true }), VerticalLayoutModule, HorizontalLayoutModule],\n providers: [CustomBreakPointsProvider],\n exports: [VerticalLayoutModule, HorizontalLayoutModule]\n})\nexport class LayoutModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport {\n PerfectScrollbarConfigInterface,\n PerfectScrollbarModule,\n PERFECT_SCROLLBAR_CONFIG\n} from 'ngx-perfect-scrollbar';\n\nimport { CoreDirectivesModule } from '@core/directives/directives';\nimport { CoreSidebarModule } from '@core/components/core-sidebar/core-sidebar.module';\nimport { ThemeCustomiserComponent } from './theme-customiser/theme-customiser.component';\n\nconst DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {\n suppressScrollX: true,\n wheelPropagation: false\n};\n\n@NgModule({\n declarations: [\n ThemeCustomiserComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n FlexLayoutModule,\n PerfectScrollbarModule,\n CoreDirectivesModule,\n CoreSidebarModule\n ],\n providers: [\n {\n provide: PERFECT_SCROLLBAR_CONFIG,\n useValue: DEFAULT_PERFECT_SCROLLBAR_CONFIG\n }\n ],\n exports: [ThemeCustomiserComponent]\n})\nexport class ThemeCustomiserModule { }\n","import { APP_INITIALIZER, CUSTOM_ELEMENTS_SCHEMA, Injector, NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { RouterModule, Routes } from '@angular/router';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { HttpClient, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\n\nimport { HttpClientInMemoryWebApiModule } from 'angular-in-memory-web-api';\nimport { FakeDbService } from '@fake-db/fake-db.service';\n\nimport 'hammerjs';\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ToastrModule } from 'ngx-toastr';\nimport { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { ContextMenuModule } from '@ctrl/ngx-rightclick';\n\nimport { CoreModule } from '@core/core.module';\nimport { CoreCommonModule } from '@core/common.module';\nimport { CoreSidebarModule, CoreThemeCustomizerModule } from '@core/components';\nimport { CardSnippetModule } from '@core/components/card-snippet/card-snippet.module';\n\nimport { coreConfig } from 'app/app-config';\nimport { AuthGuard } from 'app/auth/helpers/auth.guards';\n// import { fakeBackendProvider } from 'app/auth/helpers'; // used to create fake backend\n import { ErrorInterceptor } from 'app/auth/helpers'; //JwtInterceptor,\nimport { AppComponent } from 'app/app.component';\nimport { LayoutModule } from 'app/layout/layout.module';\nimport { ContentHeaderModule } from 'app/layout/components/content-header/content-header.module';\n\nimport { ContextMenuComponent } from 'app/main/extensions/context-menu/context-menu.component';\nimport { AnimatedCustomContextMenuComponent } from './main/extensions/context-menu/custom-context-menu/animated-custom-context-menu/animated-custom-context-menu.component';\nimport { BasicCustomContextMenuComponent } from './main/extensions/context-menu/custom-context-menu/basic-custom-context-menu/basic-custom-context-menu.component';\nimport { SubMenuCustomContextMenuComponent } from './main/extensions/context-menu/custom-context-menu/sub-menu-custom-context-menu/sub-menu-custom-context-menu.component';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { HttpModule } from '@angular/http';\nimport { NgxLoadingModule,ngxLoadingAnimationTypes} from \"ngx-loading\";\nimport {TranslateHttpLoader} from '@ngx-translate/http-loader';\nimport { AgGridModule } from 'ag-grid-angular';\nimport { DatePipe } from '@angular/common';\nimport { QuillModule } from 'ngx-quill';\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\nimport { CalendarModule } from 'app/main/apps/calendar/calendar.module';\nimport { ThemeCustomiserModule } from './layout/components/theme-customiser/theme-customiser.module';\nimport { JobComponent } from './jobs/job/job.component';\nimport { CoreMenuModulenew } from './core-menu/core-menu.module';\nimport { FileManagerAllModule } from '@syncfusion/ej2-angular-filemanager';\nimport { AngularFireModule } from '@angular/fire';\nimport { AngularFireMessagingModule } from '@angular/fire/messaging';\nimport { environment } from '../environments/environment';\nconst appRoutes: Routes = [\n\n {\n path: 'about-me',\n loadChildren: () => import('./about-me/about-me.module').then(m => m.AboutMeModule),\n canActivate: [AuthGuard]\n },\n {\n path: 'blog',\n loadChildren: () => import('./blog/blog.module').then(m => m.BlogModule),\n canActivate: [AuthGuard]\n },\n // {\n // path: 'shared',\n // loadChildren: () => import('./shared/shared.module').then(m => m.SharedModule),\n // canActivate: [AuthGuard]\n // },\n {\n path: 'diary',\n loadChildren: () => import('./diary/diary.module').then(m => m.DiaryModule)\n },\n {\n path: 'home',\n loadChildren: () => import('./home/home.module').then(m => m.HomeModule),\n canActivate: [AuthGuard]\n },\n {\n path: 'Utilities',\n loadChildren: () => import('./import-data/import-data.module').then(m => m.ImportDataModule),\n canActivate: [AuthGuard]\n },\n {\n path: 'My-diary-planner',\n loadChildren: () => import('./planner-events/planner-events.module').then(m => m.PlannerEventsModule),\n canActivate: [AuthGuard]\n },\n {\n path: 'quickpost-list',\n loadChildren: () => import('./quickpost-list/quickpost-list.module').then(m => m.QuickpostListModule),\n canActivate: [AuthGuard]\n },\n {\n path: 'jobs',\n loadChildren: () => import('./jobs/jobs.module').then(m => m.JobsModule),\n canActivate: [AuthGuard]\n },\n // {\n // path: 'my-noosom-profile',\n // loadChildren: () => import('./my-noosom-profile/my-noosom-profile.module').then(m => m.MyNoosomProfileModule),\n // canActivate: [AuthGuard]\n // },\n {\n path: 'mylist',\n loadChildren: () => import('app/mylist/mylist.module').then(m => m.MylistModule),\n canActivate: [AuthGuard]\n },\n\n {\n path: 'user-profile',\n loadChildren: () => import('./user-profile/user-profile.module').then(m => m.UserProfileModule),\n canActivate: [AuthGuard]\n },\n {\n path: 'my-image-gallery',\n loadChildren: () => import('./my-image-gallery/my-image-gallery.module').then(m => m.MyImageGalleryModule),\n canActivate: [AuthGuard]\n },\n {\n path: 'user-settings',\n loadChildren: () => import('./user-settings/user-settings.module').then(m => m.UserSettingsModule),\n canActivate: [AuthGuard]\n },\n {\n path: 'filemanager',\n loadChildren: () => import('./filemanager/filemanager.module').then(m => m.FilemanagerModule),\n canActivate: [AuthGuard]\n },{\n path: 'syncfilemanager',\n loadChildren: () => import('./sync-file-manager/sync-file-manager.module').then(m => m.SyncFileManagerModule),\n canActivate: [AuthGuard]\n },\n {\n path: 'address',\n loadChildren: () => import('./address/address.module').then(m => m.AddressModule),\n canActivate: [AuthGuard]\n },\n {\n path: 'school',\n loadChildren: () => import('./school/school.module').then(m => m.SchoolModule),\n canActivate: [AuthGuard]\n },\n {\n path: 'paperback',\n loadChildren: () => import('./paperback-view/paperback-view.module').then(m => m.PaperbackViewModule),\n canActivate: [AuthGuard]\n },\n {\n path: 'apps',\n loadChildren: () => import('./main/apps/apps.module').then(m => m.AppsModule),\n canActivate: [AuthGuard]\n },\n {\n path: 'pages',\n loadChildren: () => import('./main/pages/pages.module').then(m => m.PagesModule)\n },\n {\n path: 'experiments',\n loadChildren: () => import('./experiments/experiments.module').then(e=>e.ExperimentsModule)\n },\n {\n path: 'extensions',\n loadChildren: () => import('./main/extensions/extensions.module').then(m => m.ExtensionsModule),\n canActivate: [AuthGuard]\n },\n {\n path: 'mypastimes',\n loadChildren: () => import('./mypastimes/mypastimes.module').then(m => m.MypastimesModule),\n canActivate: [AuthGuard]\n },\n {\n path: 'mylifestory',\n loadChildren: () => import('./my-life-story/my-life-story.module').then(m => m.MyLifeStoryModule),\n canActivate: [AuthGuard]\n },\n {\n path: 'me-on-web',\n loadChildren: () => import('./me-on-web/me-on-web.module').then(m => m.MeOnWebModule),\n canActivate: [AuthGuard]\n },\n {\n path: 'legals',\n loadChildren: () => import('./legals/legals.module').then(m => m.LegalsModule),\n canActivate: [AuthGuard]\n },\n {\n path: 'diary-view',\n loadChildren: () => import('./diary-view/diary-view.module').then(m => m.DiaryViewModule),\n canActivate: [AuthGuard]\n },\n {\n path: 'map-view',\n loadChildren: () => import('./angular-map/angular-map.module').then(m => m.AngularMapModule),\n canActivate: [AuthGuard]\n },\n {\n path: 'quick-post',\n loadChildren: () => import('./quick-post/quick-post.module').then(m => m.QuickPostModule),\n canActivate: [AuthGuard]\n },\n {\n path: 'jobs',\n loadChildren: () => import('./jobs/jobs.module').then(m => m.JobsModule),\n canActivate: [AuthGuard]\n },\n {\n path: 'todo',\n loadChildren: () => import('./to-do-list/to-do-list.module').then(m => m.ToDoListModule),\n canActivate: [AuthGuard]\n },\n {\n path: 'insurance',\n loadChildren: () => import('./insurance/insurance.module').then(m => m.InsuranceModule),\n canActivate: [AuthGuard]\n },\n {\n path: 'testapi',\n loadChildren: () => import('./test-api/test-api.module').then(m => m.TestAPIModule),\n canActivate: [AuthGuard]\n },\n {\n path: '',\n //redirectTo: 'home', //'/dashboard/ecommerce',\n redirectTo:'pages/authentication/login-v2',\n pathMatch: 'full'\n },\n {\n path: ':username',\n component: JobComponent\n },\n {\n path: '**',\n redirectTo: '/pages/miscellaneous/coming-soon' //Error 404 - Page not found\n },\n \n];\nexport function HttpLoaderFactory(http: HttpClient): TranslateHttpLoader {\n return new TranslateHttpLoader(http,'./assets/i18n/','.json');\n }\n\n@NgModule({\n declarations: [\n AppComponent,\n ContextMenuComponent,\n BasicCustomContextMenuComponent,\n AnimatedCustomContextMenuComponent,\n SubMenuCustomContextMenuComponent,\n ],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n FileManagerAllModule,\n HttpClientModule,\n NgSelectModule,\n HttpModule,\n HttpClientInMemoryWebApiModule.forRoot(FakeDbService, {\n delay: 0,\n passThruUnknownUrl: true\n }),\n RouterModule.forRoot(appRoutes, {\n scrollPositionRestoration: 'enabled', // Add options right here\n relativeLinkResolution: 'legacy',\n anchorScrolling: 'enabled'\n }),\n NgbModule,\n ToastrModule.forRoot(),\n TranslateModule.forRoot(\n {\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient]}\n }\n ),\n ContextMenuModule,\n CoreModule.forRoot(coreConfig),\n CoreCommonModule,\n CoreSidebarModule,\n CoreThemeCustomizerModule,\n CardSnippetModule,\n LayoutModule,\n ContentHeaderModule,\n AgGridModule,\n QuillModule.forRoot(),\n BsDatepickerModule.forRoot(),\n NgxLoadingModule.forRoot({animationType: ngxLoadingAnimationTypes.none}),\n CalendarModule,\n ThemeCustomiserModule,\n CoreMenuModulenew,\n ],\n schemas:[ CUSTOM_ELEMENTS_SCHEMA ],\n providers: [\n DatePipe,\n //{ provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true },\n { provide:HTTP_INTERCEPTORS,useClass: ErrorInterceptor, multi: true },\n\n // ! IMPORTANT: Provider used to create fake backend, comment while using real API\n //fakeBackendProvider\n ],\n entryComponents: [BasicCustomContextMenuComponent, AnimatedCustomContextMenuComponent],\n bootstrap: [AppComponent]\n})\nexport class AppModule {}\n\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n//enableProdMode(); //Our Change\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n\n\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.register('./firebase-messaging-sw.js')\n .then((registration) => {\n // console.log('Service Worker registered with scope:', registration.scope);\n })\n .catch((err) => {\n console.error('Service Worker registration failed:', err);\n });\n }","var map = {\n\t\"./af\": 58685,\n\t\"./af.js\": 58685,\n\t\"./ar\": 254,\n\t\"./ar-dz\": 4312,\n\t\"./ar-dz.js\": 4312,\n\t\"./ar-kw\": 32614,\n\t\"./ar-kw.js\": 32614,\n\t\"./ar-ly\": 18630,\n\t\"./ar-ly.js\": 18630,\n\t\"./ar-ma\": 28674,\n\t\"./ar-ma.js\": 28674,\n\t\"./ar-ps\": 46235,\n\t\"./ar-ps.js\": 46235,\n\t\"./ar-sa\": 49032,\n\t\"./ar-sa.js\": 49032,\n\t\"./ar-tn\": 24730,\n\t\"./ar-tn.js\": 24730,\n\t\"./ar.js\": 254,\n\t\"./az\": 53052,\n\t\"./az.js\": 53052,\n\t\"./be\": 60150,\n\t\"./be.js\": 60150,\n\t\"./bg\": 63069,\n\t\"./bg.js\": 63069,\n\t\"./bm\": 13466,\n\t\"./bm.js\": 13466,\n\t\"./bn\": 18516,\n\t\"./bn-bd\": 90557,\n\t\"./bn-bd.js\": 90557,\n\t\"./bn.js\": 18516,\n\t\"./bo\": 26273,\n\t\"./bo.js\": 26273,\n\t\"./br\": 9588,\n\t\"./br.js\": 9588,\n\t\"./bs\": 19815,\n\t\"./bs.js\": 19815,\n\t\"./ca\": 83331,\n\t\"./ca.js\": 83331,\n\t\"./cs\": 21320,\n\t\"./cs.js\": 21320,\n\t\"./cv\": 72219,\n\t\"./cv.js\": 72219,\n\t\"./cy\": 68266,\n\t\"./cy.js\": 68266,\n\t\"./da\": 66427,\n\t\"./da.js\": 66427,\n\t\"./de\": 67435,\n\t\"./de-at\": 52871,\n\t\"./de-at.js\": 52871,\n\t\"./de-ch\": 12994,\n\t\"./de-ch.js\": 12994,\n\t\"./de.js\": 67435,\n\t\"./dv\": 82357,\n\t\"./dv.js\": 82357,\n\t\"./el\": 95649,\n\t\"./el.js\": 95649,\n\t\"./en-au\": 59961,\n\t\"./en-au.js\": 59961,\n\t\"./en-ca\": 19878,\n\t\"./en-ca.js\": 19878,\n\t\"./en-gb\": 3924,\n\t\"./en-gb.js\": 3924,\n\t\"./en-ie\": 70864,\n\t\"./en-ie.js\": 70864,\n\t\"./en-il\": 91579,\n\t\"./en-il.js\": 91579,\n\t\"./en-in\": 30940,\n\t\"./en-in.js\": 30940,\n\t\"./en-nz\": 16181,\n\t\"./en-nz.js\": 16181,\n\t\"./en-sg\": 44301,\n\t\"./en-sg.js\": 44301,\n\t\"./eo\": 85291,\n\t\"./eo.js\": 85291,\n\t\"./es\": 54529,\n\t\"./es-do\": 53764,\n\t\"./es-do.js\": 53764,\n\t\"./es-mx\": 12584,\n\t\"./es-mx.js\": 12584,\n\t\"./es-us\": 63425,\n\t\"./es-us.js\": 63425,\n\t\"./es.js\": 54529,\n\t\"./et\": 35203,\n\t\"./et.js\": 35203,\n\t\"./eu\": 70678,\n\t\"./eu.js\": 70678,\n\t\"./fa\": 83483,\n\t\"./fa.js\": 83483,\n\t\"./fi\": 96262,\n\t\"./fi.js\": 96262,\n\t\"./fil\": 52521,\n\t\"./fil.js\": 52521,\n\t\"./fo\": 34555,\n\t\"./fo.js\": 34555,\n\t\"./fr\": 63131,\n\t\"./fr-ca\": 88239,\n\t\"./fr-ca.js\": 88239,\n\t\"./fr-ch\": 21702,\n\t\"./fr-ch.js\": 21702,\n\t\"./fr.js\": 63131,\n\t\"./fy\": 267,\n\t\"./fy.js\": 267,\n\t\"./ga\": 23821,\n\t\"./ga.js\": 23821,\n\t\"./gd\": 71753,\n\t\"./gd.js\": 71753,\n\t\"./gl\": 4074,\n\t\"./gl.js\": 4074,\n\t\"./gom-deva\": 92762,\n\t\"./gom-deva.js\": 92762,\n\t\"./gom-latn\": 5969,\n\t\"./gom-latn.js\": 5969,\n\t\"./gu\": 82809,\n\t\"./gu.js\": 82809,\n\t\"./he\": 45402,\n\t\"./he.js\": 45402,\n\t\"./hi\": 315,\n\t\"./hi.js\": 315,\n\t\"./hr\": 10410,\n\t\"./hr.js\": 10410,\n\t\"./hu\": 38288,\n\t\"./hu.js\": 38288,\n\t\"./hy-am\": 67928,\n\t\"./hy-am.js\": 67928,\n\t\"./id\": 71334,\n\t\"./id.js\": 71334,\n\t\"./is\": 86959,\n\t\"./is.js\": 86959,\n\t\"./it\": 34864,\n\t\"./it-ch\": 51124,\n\t\"./it-ch.js\": 51124,\n\t\"./it.js\": 34864,\n\t\"./ja\": 36141,\n\t\"./ja.js\": 36141,\n\t\"./jv\": 29187,\n\t\"./jv.js\": 29187,\n\t\"./ka\": 42136,\n\t\"./ka.js\": 42136,\n\t\"./kk\": 94332,\n\t\"./kk.js\": 94332,\n\t\"./km\": 18607,\n\t\"./km.js\": 18607,\n\t\"./kn\": 84305,\n\t\"./kn.js\": 84305,\n\t\"./ko\": 70234,\n\t\"./ko.js\": 70234,\n\t\"./ku\": 16003,\n\t\"./ku-kmr\": 19619,\n\t\"./ku-kmr.js\": 19619,\n\t\"./ku.js\": 16003,\n\t\"./ky\": 75061,\n\t\"./ky.js\": 75061,\n\t\"./lb\": 32786,\n\t\"./lb.js\": 32786,\n\t\"./lo\": 66183,\n\t\"./lo.js\": 66183,\n\t\"./lt\": 50029,\n\t\"./lt.js\": 50029,\n\t\"./lv\": 24169,\n\t\"./lv.js\": 24169,\n\t\"./me\": 68577,\n\t\"./me.js\": 68577,\n\t\"./mi\": 68177,\n\t\"./mi.js\": 68177,\n\t\"./mk\": 50337,\n\t\"./mk.js\": 50337,\n\t\"./ml\": 65260,\n\t\"./ml.js\": 65260,\n\t\"./mn\": 52325,\n\t\"./mn.js\": 52325,\n\t\"./mr\": 14695,\n\t\"./mr.js\": 14695,\n\t\"./ms\": 75334,\n\t\"./ms-my\": 37151,\n\t\"./ms-my.js\": 37151,\n\t\"./ms.js\": 75334,\n\t\"./mt\": 63570,\n\t\"./mt.js\": 63570,\n\t\"./my\": 97963,\n\t\"./my.js\": 97963,\n\t\"./nb\": 88028,\n\t\"./nb.js\": 88028,\n\t\"./ne\": 86638,\n\t\"./ne.js\": 86638,\n\t\"./nl\": 50302,\n\t\"./nl-be\": 66782,\n\t\"./nl-be.js\": 66782,\n\t\"./nl.js\": 50302,\n\t\"./nn\": 33501,\n\t\"./nn.js\": 33501,\n\t\"./oc-lnc\": 50563,\n\t\"./oc-lnc.js\": 50563,\n\t\"./pa-in\": 50869,\n\t\"./pa-in.js\": 50869,\n\t\"./pl\": 65302,\n\t\"./pl.js\": 65302,\n\t\"./pt\": 49687,\n\t\"./pt-br\": 74884,\n\t\"./pt-br.js\": 74884,\n\t\"./pt.js\": 49687,\n\t\"./ro\": 79107,\n\t\"./ro.js\": 79107,\n\t\"./ru\": 33627,\n\t\"./ru.js\": 33627,\n\t\"./sd\": 30355,\n\t\"./sd.js\": 30355,\n\t\"./se\": 83427,\n\t\"./se.js\": 83427,\n\t\"./si\": 11848,\n\t\"./si.js\": 11848,\n\t\"./sk\": 54590,\n\t\"./sk.js\": 54590,\n\t\"./sl\": 20184,\n\t\"./sl.js\": 20184,\n\t\"./sq\": 56361,\n\t\"./sq.js\": 56361,\n\t\"./sr\": 78965,\n\t\"./sr-cyrl\": 81287,\n\t\"./sr-cyrl.js\": 81287,\n\t\"./sr.js\": 78965,\n\t\"./ss\": 25456,\n\t\"./ss.js\": 25456,\n\t\"./sv\": 70451,\n\t\"./sv.js\": 70451,\n\t\"./sw\": 77558,\n\t\"./sw.js\": 77558,\n\t\"./ta\": 51356,\n\t\"./ta.js\": 51356,\n\t\"./te\": 73693,\n\t\"./te.js\": 73693,\n\t\"./tet\": 21243,\n\t\"./tet.js\": 21243,\n\t\"./tg\": 42500,\n\t\"./tg.js\": 42500,\n\t\"./th\": 55768,\n\t\"./th.js\": 55768,\n\t\"./tk\": 77761,\n\t\"./tk.js\": 77761,\n\t\"./tl-ph\": 35780,\n\t\"./tl-ph.js\": 35780,\n\t\"./tlh\": 29590,\n\t\"./tlh.js\": 29590,\n\t\"./tr\": 33807,\n\t\"./tr.js\": 33807,\n\t\"./tzl\": 93857,\n\t\"./tzl.js\": 93857,\n\t\"./tzm\": 60654,\n\t\"./tzm-latn\": 8806,\n\t\"./tzm-latn.js\": 8806,\n\t\"./tzm.js\": 60654,\n\t\"./ug-cn\": 30845,\n\t\"./ug-cn.js\": 30845,\n\t\"./uk\": 19232,\n\t\"./uk.js\": 19232,\n\t\"./ur\": 47052,\n\t\"./ur.js\": 47052,\n\t\"./uz\": 77967,\n\t\"./uz-latn\": 32233,\n\t\"./uz-latn.js\": 32233,\n\t\"./uz.js\": 77967,\n\t\"./vi\": 98615,\n\t\"./vi.js\": 98615,\n\t\"./x-pseudo\": 12320,\n\t\"./x-pseudo.js\": 12320,\n\t\"./yo\": 31313,\n\t\"./yo.js\": 31313,\n\t\"./zh-cn\": 64490,\n\t\"./zh-cn.js\": 64490,\n\t\"./zh-hk\": 55910,\n\t\"./zh-hk.js\": 55910,\n\t\"./zh-mo\": 98262,\n\t\"./zh-mo.js\": 98262,\n\t\"./zh-tw\": 44223,\n\t\"./zh-tw.js\": 44223\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;"]}