{"version":3,"sources":["webpack:///./node_modules/zone.js/dist/zone.js","webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/app.routes.ts","webpack:///./src/app/application/application.component.html","webpack:///./src/app/application/application.component.scss","webpack:///./src/app/application/application.component.ts","webpack:///./src/app/browser-update-template.html","webpack:///./src/app/corporate/beneficial-owners-form.template.html","webpack:///./src/app/corporate/beneficial-owners-form.template.ts","webpack:///./src/app/corporate/corporate.component.html","webpack:///./src/app/corporate/corporate.component.scss","webpack:///./src/app/corporate/corporate.component.ts","webpack:///./src/app/documents/documents.component.html","webpack:///./src/app/documents/documents.component.scss","webpack:///./src/app/documents/documents.component.ts","webpack:///./src/app/guards/auth.guard.ts","webpack:///./src/app/kyc/kyc-beneficiary.component.html","webpack:///./src/app/kyc/kyc-beneficiary.component.ts","webpack:///./src/app/kyc/kyc.component.html","webpack:///./src/app/kyc/kyc.component.scss","webpack:///./src/app/kyc/kyc.component.ts","webpack:///./src/app/landing/landing.component.html","webpack:///./src/app/landing/landing.component.scss","webpack:///./src/app/landing/landing.component.ts","webpack:///./src/app/loading-spinner/loading.component.html","webpack:///./src/app/loading-spinner/loading.component.scss","webpack:///./src/app/loading-spinner/loading.component.ts","webpack:///./src/app/loading-spinner/loading.service.ts","webpack:///./src/app/notification/notification.component.html","webpack:///./src/app/notification/notification.component.scss","webpack:///./src/app/notification/notification.component.ts","webpack:///./src/app/notification/notification.service.ts","webpack:///./src/app/shared/account.service.ts","webpack:///./src/app/shared/angular2-google-chart.directive.ts","webpack:///./src/app/shared/auth.service.ts","webpack:///./src/app/shared/backend.service.ts","webpack:///./src/app/shared/browser-versions.ts","webpack:///./src/app/shared/filter.service.ts","webpack:///./src/app/shared/orderby.service.ts","webpack:///./src/app/shared/pagination.component.ts","webpack:///./src/app/shared/pagination.service.ts","webpack:///./src/app/shared/search.service.ts","webpack:///./src/app/shared/utilities.service.ts","webpack:///./src/config.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,KAA4D;AAC7D,CAAC,SACW;AACZ,CAAC,qBAAqB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,kBAAkB;AACzD,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,0BAA0B;AACrD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,iEAAiE,+CAA+C,EAAE;AAClH;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT,4DAA4D,0CAA0C;AACtG;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,kBAAkB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA,uCAAuC,0BAA0B,EAAE;AACnE;AACA;AACA;AACA,wCAAwC,6DAA6D,EAAE;AACvG,uCAAuC,WAAW,EAAE;AACpD;AACA,kCAAkC,aAAa,EAAE;AACjD,oCAAoC,WAAW,EAAE;AACjD,gCAAgC,aAAa,EAAE;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,6BAA6B;AAC7B;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4HAA4H,wBAAwB,oCAAoC;AACxL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gFAAgF,sEAAsE;AACtJ;AACA;AACA,+BAA+B,kBAAkB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,oDAAoD;AAC5F;AACA;AACA;AACA;AACA;AACA,2BAA2B,mCAAmC;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,qEAAqE,gBAAgB;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,sCAAsC,MAAI;AAC1C;AACA;AACA,sCAAsC,MAAI;AAC1C;AACA;AACA,mFAAmF,kBAAkB;AACrG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,QAAQ,gBAAgB;AACnD;AACA;AACA;AACA;AACA,yBAAyB,0BAA0B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,mFAAmF,kBAAkB;AACrG;AACA;AACA;AACA;AACA,2BAA2B,QAAQ,gBAAgB;AACnD;AACA;AACA;AACA;AACA,yBAAyB,0BAA0B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uGAAuG;AACvG;AACA;AACA;AACA;AACA,UAAU,EAAE;AACZ;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,QAAQ;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,uBAAuB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,yBAAyB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,EAAE;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,EAAE;AACR;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,oCAAoC;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,sBAAsB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,sBAAsB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,0BAA0B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,sBAAsB;AAChE,qCAAqC,iBAAiB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,8BAA8B;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,0BAA0B;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,0BAA0B;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,iBAAiB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,wBAAwB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,wBAAwB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,kBAAkB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0FAA0F;AAC1F;AACA;AACA;AACA;AACA;AACA,UAAU,EAAE;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,EAAE;AACZ;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,EAAE;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,0BAA0B,EAAE;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,6BAA6B,EAAE;AACpF;AACA;AACA;AACA;AACA,8CAA8C,kDAAkD,EAAE;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,sDAAsD;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,0FAA0F;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,+BAA+B,EAAE;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE,gBAAgB;AACrF;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA,uBAAuB,uBAAuB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA,yCAAyC,6BAA6B;AACtE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,SAAS;AACT;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,sBAAsB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mFAAmF;AACnF;AACA;AACA;AACA,UAAU,EAAE;AACZ;AACA;AACA;AACA,mFAAmF;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA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","file":"main.js","sourcesContent":["/**\n* @license\n* Copyright Google Inc. All Rights Reserved.\n*\n* Use of this source code is governed by an MIT-style license that can be\n* found in the LICENSE file at https://angular.io/license\n*/\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(factory());\n}(this, (function () { 'use strict';\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar Zone$1 = (function (global) {\n var performance = global['performance'];\n function mark(name) {\n performance && performance['mark'] && performance['mark'](name);\n }\n function performanceMeasure(name, label) {\n performance && performance['measure'] && performance['measure'](name, label);\n }\n mark('Zone');\n var checkDuplicate = global[('__zone_symbol__forceDuplicateZoneCheck')] === true;\n if (global['Zone']) {\n // if global['Zone'] already exists (maybe zone.js was already loaded or\n // some other lib also registered a global object named Zone), we may need\n // to throw an error, but sometimes user may not want this error.\n // For example,\n // we have two web pages, page1 includes zone.js, page2 doesn't.\n // and the 1st time user load page1 and page2, everything work fine,\n // but when user load page2 again, error occurs because global['Zone'] already exists.\n // so we add a flag to let user choose whether to throw this error or not.\n // By default, if existing Zone is from zone.js, we will not throw the error.\n if (checkDuplicate || typeof global['Zone'].__symbol__ !== 'function') {\n throw new Error('Zone already loaded.');\n }\n else {\n return global['Zone'];\n }\n }\n var Zone = /** @class */ (function () {\n function Zone(parent, zoneSpec) {\n this._parent = parent;\n this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';\n this._properties = zoneSpec && zoneSpec.properties || {};\n this._zoneDelegate =\n new ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n }\n Zone.assertZonePatched = function () {\n if (global['Promise'] !== patches['ZoneAwarePromise']) {\n throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' +\n 'has been overwritten.\\n' +\n 'Most likely cause is that a Promise polyfill has been loaded ' +\n 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' +\n 'If you must load one, do so before loading zone.js.)');\n }\n };\n Object.defineProperty(Zone, \"root\", {\n get: function () {\n var zone = Zone.current;\n while (zone.parent) {\n zone = zone.parent;\n }\n return zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"current\", {\n get: function () {\n return _currentZoneFrame.zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"currentTask\", {\n get: function () {\n return _currentTask;\n },\n enumerable: true,\n configurable: true\n });\n Zone.__load_patch = function (name, fn) {\n if (patches.hasOwnProperty(name)) {\n if (checkDuplicate) {\n throw Error('Already loaded patch: ' + name);\n }\n }\n else if (!global['__Zone_disable_' + name]) {\n var perfName = 'Zone:' + name;\n mark(perfName);\n patches[name] = fn(global, Zone, _api);\n performanceMeasure(perfName, perfName);\n }\n };\n Object.defineProperty(Zone.prototype, \"parent\", {\n get: function () {\n return this._parent;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone.prototype, \"name\", {\n get: function () {\n return this._name;\n },\n enumerable: true,\n configurable: true\n });\n Zone.prototype.get = function (key) {\n var zone = this.getZoneWith(key);\n if (zone)\n return zone._properties[key];\n };\n Zone.prototype.getZoneWith = function (key) {\n var current = this;\n while (current) {\n if (current._properties.hasOwnProperty(key)) {\n return current;\n }\n current = current._parent;\n }\n return null;\n };\n Zone.prototype.fork = function (zoneSpec) {\n if (!zoneSpec)\n throw new Error('ZoneSpec required!');\n return this._zoneDelegate.fork(this, zoneSpec);\n };\n Zone.prototype.wrap = function (callback, source) {\n if (typeof callback !== 'function') {\n throw new Error('Expecting function got: ' + callback);\n }\n var _callback = this._zoneDelegate.intercept(this, callback, source);\n var zone = this;\n return function () {\n return zone.runGuarded(_callback, this, arguments, source);\n };\n };\n Zone.prototype.run = function (callback, applyThis, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runGuarded = function (callback, applyThis, applyArgs, source) {\n if (applyThis === void 0) { applyThis = null; }\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runTask = function (task, applyThis, applyArgs) {\n if (task.zone != this) {\n throw new Error('A task can only be run in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n }\n // https://github.com/angular/zone.js/issues/778, sometimes eventTask\n // will run in notScheduled(canceled) state, we should not try to\n // run such kind of task but just return\n if (task.state === notScheduled && (task.type === eventTask || task.type === macroTask)) {\n return;\n }\n var reEntryGuard = task.state != running;\n reEntryGuard && task._transitionTo(running, scheduled);\n task.runCount++;\n var previousTask = _currentTask;\n _currentTask = task;\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n if (task.type == macroTask && task.data && !task.data.isPeriodic) {\n task.cancelFn = undefined;\n }\n try {\n return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n // if the task's state is notScheduled or unknown, then it has already been cancelled\n // we should not reset the state to scheduled\n if (task.state !== notScheduled && task.state !== unknown) {\n if (task.type == eventTask || (task.data && task.data.isPeriodic)) {\n reEntryGuard && task._transitionTo(scheduled, running);\n }\n else {\n task.runCount = 0;\n this._updateTaskCount(task, -1);\n reEntryGuard &&\n task._transitionTo(notScheduled, running, notScheduled);\n }\n }\n _currentZoneFrame = _currentZoneFrame.parent;\n _currentTask = previousTask;\n }\n };\n Zone.prototype.scheduleTask = function (task) {\n if (task.zone && task.zone !== this) {\n // check if the task was rescheduled, the newZone\n // should not be the children of the original zone\n var newZone = this;\n while (newZone) {\n if (newZone === task.zone) {\n throw Error(\"can not reschedule task to \" + this.name + \" which is descendants of the original zone \" + task.zone.name);\n }\n newZone = newZone.parent;\n }\n }\n task._transitionTo(scheduling, notScheduled);\n var zoneDelegates = [];\n task._zoneDelegates = zoneDelegates;\n task._zone = this;\n try {\n task = this._zoneDelegate.scheduleTask(this, task);\n }\n catch (err) {\n // should set task's state to unknown when scheduleTask throw error\n // because the err may from reschedule, so the fromState maybe notScheduled\n task._transitionTo(unknown, scheduling, notScheduled);\n // TODO: @JiaLiPassion, should we check the result from handleError?\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n if (task._zoneDelegates === zoneDelegates) {\n // we have to check because internally the delegate can reschedule the task.\n this._updateTaskCount(task, 1);\n }\n if (task.state == scheduling) {\n task._transitionTo(scheduled, scheduling);\n }\n return task;\n };\n Zone.prototype.scheduleMicroTask = function (source, callback, data, customSchedule) {\n return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, undefined));\n };\n Zone.prototype.scheduleMacroTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.scheduleEventTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.cancelTask = function (task) {\n if (task.zone != this)\n throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n task._transitionTo(canceling, scheduled, running);\n try {\n this._zoneDelegate.cancelTask(this, task);\n }\n catch (err) {\n // if error occurs when cancelTask, transit the state to unknown\n task._transitionTo(unknown, canceling);\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n this._updateTaskCount(task, -1);\n task._transitionTo(notScheduled, canceling);\n task.runCount = 0;\n return task;\n };\n Zone.prototype._updateTaskCount = function (task, count) {\n var zoneDelegates = task._zoneDelegates;\n if (count == -1) {\n task._zoneDelegates = null;\n }\n for (var i = 0; i < zoneDelegates.length; i++) {\n zoneDelegates[i]._updateTaskCount(task.type, count);\n }\n };\n Zone.__symbol__ = __symbol__;\n return Zone;\n }());\n var DELEGATE_ZS = {\n name: '',\n onHasTask: function (delegate, _, target, hasTaskState) { return delegate.hasTask(target, hasTaskState); },\n onScheduleTask: function (delegate, _, target, task) {\n return delegate.scheduleTask(target, task);\n },\n onInvokeTask: function (delegate, _, target, task, applyThis, applyArgs) {\n return delegate.invokeTask(target, task, applyThis, applyArgs);\n },\n onCancelTask: function (delegate, _, target, task) { return delegate.cancelTask(target, task); }\n };\n var ZoneDelegate = /** @class */ (function () {\n function ZoneDelegate(zone, parentDelegate, zoneSpec) {\n this._taskCounts = { 'microTask': 0, 'macroTask': 0, 'eventTask': 0 };\n this.zone = zone;\n this._parentDelegate = parentDelegate;\n this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._forkCurrZone = zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate.zone);\n this._interceptZS =\n zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n this._interceptDlgt =\n zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n this._interceptCurrZone =\n zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate.zone);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt =\n zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._invokeCurrZone = zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate.zone);\n this._handleErrorZS =\n zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt =\n zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._handleErrorCurrZone =\n zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate.zone);\n this._scheduleTaskZS =\n zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt = zoneSpec &&\n (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._scheduleTaskCurrZone =\n zoneSpec && (zoneSpec.onScheduleTask ? this.zone : parentDelegate.zone);\n this._invokeTaskZS =\n zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n this._invokeTaskDlgt =\n zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n this._invokeTaskCurrZone =\n zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate.zone);\n this._cancelTaskZS =\n zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n this._cancelTaskDlgt =\n zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n this._cancelTaskCurrZone =\n zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate.zone);\n this._hasTaskZS = null;\n this._hasTaskDlgt = null;\n this._hasTaskDlgtOwner = null;\n this._hasTaskCurrZone = null;\n var zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;\n var parentHasTask = parentDelegate && parentDelegate._hasTaskZS;\n if (zoneSpecHasTask || parentHasTask) {\n // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such\n // a case all task related interceptors must go through this ZD. We can't short circuit it.\n this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS;\n this._hasTaskDlgt = parentDelegate;\n this._hasTaskDlgtOwner = this;\n this._hasTaskCurrZone = zone;\n if (!zoneSpec.onScheduleTask) {\n this._scheduleTaskZS = DELEGATE_ZS;\n this._scheduleTaskDlgt = parentDelegate;\n this._scheduleTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onInvokeTask) {\n this._invokeTaskZS = DELEGATE_ZS;\n this._invokeTaskDlgt = parentDelegate;\n this._invokeTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onCancelTask) {\n this._cancelTaskZS = DELEGATE_ZS;\n this._cancelTaskDlgt = parentDelegate;\n this._cancelTaskCurrZone = this.zone;\n }\n }\n }\n ZoneDelegate.prototype.fork = function (targetZone, zoneSpec) {\n return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) :\n new Zone(targetZone, zoneSpec);\n };\n ZoneDelegate.prototype.intercept = function (targetZone, callback, source) {\n return this._interceptZS ?\n this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) :\n callback;\n };\n ZoneDelegate.prototype.invoke = function (targetZone, callback, applyThis, applyArgs, source) {\n return this._invokeZS ? this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) :\n callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.handleError = function (targetZone, error) {\n return this._handleErrorZS ?\n this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) :\n true;\n };\n ZoneDelegate.prototype.scheduleTask = function (targetZone, task) {\n var returnTask = task;\n if (this._scheduleTaskZS) {\n if (this._hasTaskZS) {\n returnTask._zoneDelegates.push(this._hasTaskDlgtOwner);\n }\n returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n if (!returnTask)\n returnTask = task;\n }\n else {\n if (task.scheduleFn) {\n task.scheduleFn(task);\n }\n else if (task.type == microTask) {\n scheduleMicroTask(task);\n }\n else {\n throw new Error('Task is missing scheduleFn.');\n }\n }\n return returnTask;\n };\n ZoneDelegate.prototype.invokeTask = function (targetZone, task, applyThis, applyArgs) {\n return this._invokeTaskZS ? this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) :\n task.callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.cancelTask = function (targetZone, task) {\n var value;\n if (this._cancelTaskZS) {\n value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);\n }\n else {\n if (!task.cancelFn) {\n throw Error('Task is not cancelable');\n }\n value = task.cancelFn(task);\n }\n return value;\n };\n ZoneDelegate.prototype.hasTask = function (targetZone, isEmpty) {\n // hasTask should not throw error so other ZoneDelegate\n // can still trigger hasTask callback\n try {\n this._hasTaskZS &&\n this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n }\n catch (err) {\n this.handleError(targetZone, err);\n }\n };\n ZoneDelegate.prototype._updateTaskCount = function (type, count) {\n var counts = this._taskCounts;\n var prev = counts[type];\n var next = counts[type] = prev + count;\n if (next < 0) {\n throw new Error('More tasks executed then were scheduled.');\n }\n if (prev == 0 || next == 0) {\n var isEmpty = {\n microTask: counts['microTask'] > 0,\n macroTask: counts['macroTask'] > 0,\n eventTask: counts['eventTask'] > 0,\n change: type\n };\n this.hasTask(this.zone, isEmpty);\n }\n };\n return ZoneDelegate;\n }());\n var ZoneTask = /** @class */ (function () {\n function ZoneTask(type, source, callback, options, scheduleFn, cancelFn) {\n this._zone = null;\n this.runCount = 0;\n this._zoneDelegates = null;\n this._state = 'notScheduled';\n this.type = type;\n this.source = source;\n this.data = options;\n this.scheduleFn = scheduleFn;\n this.cancelFn = cancelFn;\n this.callback = callback;\n var self = this;\n // TODO: @JiaLiPassion options should have interface\n if (type === eventTask && options && options.useG) {\n this.invoke = ZoneTask.invokeTask;\n }\n else {\n this.invoke = function () {\n return ZoneTask.invokeTask.call(global, self, this, arguments);\n };\n }\n }\n ZoneTask.invokeTask = function (task, target, args) {\n if (!task) {\n task = this;\n }\n _numberOfNestedTaskFrames++;\n try {\n task.runCount++;\n return task.zone.runTask(task, target, args);\n }\n finally {\n if (_numberOfNestedTaskFrames == 1) {\n drainMicroTaskQueue();\n }\n _numberOfNestedTaskFrames--;\n }\n };\n Object.defineProperty(ZoneTask.prototype, \"zone\", {\n get: function () {\n return this._zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ZoneTask.prototype, \"state\", {\n get: function () {\n return this._state;\n },\n enumerable: true,\n configurable: true\n });\n ZoneTask.prototype.cancelScheduleRequest = function () {\n this._transitionTo(notScheduled, scheduling);\n };\n ZoneTask.prototype._transitionTo = function (toState, fromState1, fromState2) {\n if (this._state === fromState1 || this._state === fromState2) {\n this._state = toState;\n if (toState == notScheduled) {\n this._zoneDelegates = null;\n }\n }\n else {\n throw new Error(this.type + \" '\" + this.source + \"': can not transition to '\" + toState + \"', expecting state '\" + fromState1 + \"'\" + (fromState2 ? ' or \\'' + fromState2 + '\\'' : '') + \", was '\" + this._state + \"'.\");\n }\n };\n ZoneTask.prototype.toString = function () {\n if (this.data && typeof this.data.handleId !== 'undefined') {\n return this.data.handleId.toString();\n }\n else {\n return Object.prototype.toString.call(this);\n }\n };\n // add toJSON method to prevent cyclic error when\n // call JSON.stringify(zoneTask)\n ZoneTask.prototype.toJSON = function () {\n return {\n type: this.type,\n state: this.state,\n source: this.source,\n zone: this.zone.name,\n runCount: this.runCount\n };\n };\n return ZoneTask;\n }());\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// MICROTASK QUEUE\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var symbolSetTimeout = __symbol__('setTimeout');\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var _microTaskQueue = [];\n var _isDrainingMicrotaskQueue = false;\n var nativeMicroTaskQueuePromise;\n function scheduleMicroTask(task) {\n // if we are not running in any task, and there has not been anything scheduled\n // we must bootstrap the initial task creation by manually scheduling the drain\n if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) {\n // We are not running in Task, so we need to kickstart the microtask queue.\n if (!nativeMicroTaskQueuePromise) {\n if (global[symbolPromise]) {\n nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);\n }\n }\n if (nativeMicroTaskQueuePromise) {\n var nativeThen = nativeMicroTaskQueuePromise[symbolThen];\n if (!nativeThen) {\n // native Promise is not patchable, we need to use `then` directly\n // issue 1078\n nativeThen = nativeMicroTaskQueuePromise['then'];\n }\n nativeThen.call(nativeMicroTaskQueuePromise, drainMicroTaskQueue);\n }\n else {\n global[symbolSetTimeout](drainMicroTaskQueue, 0);\n }\n }\n task && _microTaskQueue.push(task);\n }\n function drainMicroTaskQueue() {\n if (!_isDrainingMicrotaskQueue) {\n _isDrainingMicrotaskQueue = true;\n while (_microTaskQueue.length) {\n var queue = _microTaskQueue;\n _microTaskQueue = [];\n for (var i = 0; i < queue.length; i++) {\n var task = queue[i];\n try {\n task.zone.runTask(task, null, null);\n }\n catch (error) {\n _api.onUnhandledError(error);\n }\n }\n }\n _api.microtaskDrainDone();\n _isDrainingMicrotaskQueue = false;\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// BOOTSTRAP\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var NO_ZONE = { name: 'NO ZONE' };\n var notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown';\n var microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask';\n var patches = {};\n var _api = {\n symbol: __symbol__,\n currentZoneFrame: function () { return _currentZoneFrame; },\n onUnhandledError: noop,\n microtaskDrainDone: noop,\n scheduleMicroTask: scheduleMicroTask,\n showUncaughtError: function () { return !Zone[__symbol__('ignoreConsoleErrorUncaughtError')]; },\n patchEventTarget: function () { return []; },\n patchOnProperties: noop,\n patchMethod: function () { return noop; },\n bindArguments: function () { return []; },\n patchThen: function () { return noop; },\n setNativePromise: function (NativePromise) {\n // sometimes NativePromise.resolve static function\n // is not ready yet, (such as core-js/es6.promise)\n // so we need to check here.\n if (NativePromise && typeof NativePromise.resolve === 'function') {\n nativeMicroTaskQueuePromise = NativePromise.resolve(0);\n }\n },\n };\n var _currentZoneFrame = { parent: null, zone: new Zone(null, null) };\n var _currentTask = null;\n var _numberOfNestedTaskFrames = 0;\n function noop() { }\n function __symbol__(name) {\n return '__zone_symbol__' + name;\n }\n performanceMeasure('Zone', 'Zone');\n return global['Zone'] = Zone;\n})(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);\n\nvar __values = (undefined && undefined.__values) || function (o) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\n if (m) return m.call(o);\n return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n};\nZone.__load_patch('ZoneAwarePromise', function (global, Zone, api) {\n var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n var ObjectDefineProperty = Object.defineProperty;\n function readableObjectToString(obj) {\n if (obj && obj.toString === Object.prototype.toString) {\n var className = obj.constructor && obj.constructor.name;\n return (className ? className : '') + ': ' + JSON.stringify(obj);\n }\n return obj ? obj.toString() : Object.prototype.toString.call(obj);\n }\n var __symbol__ = api.symbol;\n var _uncaughtPromiseErrors = [];\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var creationTrace = '__creationTrace__';\n api.onUnhandledError = function (e) {\n if (api.showUncaughtError()) {\n var rejection = e && e.rejection;\n if (rejection) {\n console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);\n }\n else {\n console.error(e);\n }\n }\n };\n api.microtaskDrainDone = function () {\n while (_uncaughtPromiseErrors.length) {\n var _loop_1 = function () {\n var uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(function () {\n throw uncaughtPromiseError;\n });\n }\n catch (error) {\n handleUnhandledRejection(error);\n }\n };\n while (_uncaughtPromiseErrors.length) {\n _loop_1();\n }\n }\n };\n var UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler');\n function handleUnhandledRejection(e) {\n api.onUnhandledError(e);\n try {\n var handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL];\n if (handler && typeof handler === 'function') {\n handler.call(this, e);\n }\n }\n catch (err) {\n }\n }\n function isThenable(value) {\n return value && value.then;\n }\n function forwardResolution(value) {\n return value;\n }\n function forwardRejection(rejection) {\n return ZoneAwarePromise.reject(rejection);\n }\n var symbolState = __symbol__('state');\n var symbolValue = __symbol__('value');\n var symbolFinally = __symbol__('finally');\n var symbolParentPromiseValue = __symbol__('parentPromiseValue');\n var symbolParentPromiseState = __symbol__('parentPromiseState');\n var source = 'Promise.then';\n var UNRESOLVED = null;\n var RESOLVED = true;\n var REJECTED = false;\n var REJECTED_NO_CATCH = 0;\n function makeResolver(promise, state) {\n return function (v) {\n try {\n resolvePromise(promise, state, v);\n }\n catch (err) {\n resolvePromise(promise, false, err);\n }\n // Do not return value or you will break the Promise spec.\n };\n }\n var once = function () {\n var wasCalled = false;\n return function wrapper(wrappedFunction) {\n return function () {\n if (wasCalled) {\n return;\n }\n wasCalled = true;\n wrappedFunction.apply(null, arguments);\n };\n };\n };\n var TYPE_ERROR = 'Promise resolved with itself';\n var CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace');\n // Promise Resolution\n function resolvePromise(promise, state, value) {\n var onceWrapper = once();\n if (promise === value) {\n throw new TypeError(TYPE_ERROR);\n }\n if (promise[symbolState] === UNRESOLVED) {\n // should only get value.then once based on promise spec.\n var then = null;\n try {\n if (typeof value === 'object' || typeof value === 'function') {\n then = value && value.then;\n }\n }\n catch (err) {\n onceWrapper(function () {\n resolvePromise(promise, false, err);\n })();\n return promise;\n }\n // if (value instanceof ZoneAwarePromise) {\n if (state !== REJECTED && value instanceof ZoneAwarePromise &&\n value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) &&\n value[symbolState] !== UNRESOLVED) {\n clearRejectedNoCatch(value);\n resolvePromise(promise, value[symbolState], value[symbolValue]);\n }\n else if (state !== REJECTED && typeof then === 'function') {\n try {\n then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)));\n }\n catch (err) {\n onceWrapper(function () {\n resolvePromise(promise, false, err);\n })();\n }\n }\n else {\n promise[symbolState] = state;\n var queue = promise[symbolValue];\n promise[symbolValue] = value;\n if (promise[symbolFinally] === symbolFinally) {\n // the promise is generated by Promise.prototype.finally\n if (state === RESOLVED) {\n // the state is resolved, should ignore the value\n // and use parent promise value\n promise[symbolState] = promise[symbolParentPromiseState];\n promise[symbolValue] = promise[symbolParentPromiseValue];\n }\n }\n // record task information in value when error occurs, so we can\n // do some additional work such as render longStackTrace\n if (state === REJECTED && value instanceof Error) {\n // check if longStackTraceZone is here\n var trace = Zone.currentTask && Zone.currentTask.data &&\n Zone.currentTask.data[creationTrace];\n if (trace) {\n // only keep the long stack trace into error when in longStackTraceZone\n ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, { configurable: true, enumerable: false, writable: true, value: trace });\n }\n }\n for (var i = 0; i < queue.length;) {\n scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n }\n if (queue.length == 0 && state == REJECTED) {\n promise[symbolState] = REJECTED_NO_CATCH;\n try {\n // try to print more readable error log\n throw new Error('Uncaught (in promise): ' + readableObjectToString(value) +\n (value && value.stack ? '\\n' + value.stack : ''));\n }\n catch (err) {\n var error_1 = err;\n error_1.rejection = value;\n error_1.promise = promise;\n error_1.zone = Zone.current;\n error_1.task = Zone.currentTask;\n _uncaughtPromiseErrors.push(error_1);\n api.scheduleMicroTask(); // to make sure that it is running\n }\n }\n }\n }\n // Resolving an already resolved promise is a noop.\n return promise;\n }\n var REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler');\n function clearRejectedNoCatch(promise) {\n if (promise[symbolState] === REJECTED_NO_CATCH) {\n // if the promise is rejected no catch status\n // and queue.length > 0, means there is a error handler\n // here to handle the rejected promise, we should trigger\n // windows.rejectionhandled eventHandler or nodejs rejectionHandled\n // eventHandler\n try {\n var handler = Zone[REJECTION_HANDLED_HANDLER];\n if (handler && typeof handler === 'function') {\n handler.call(this, { rejection: promise[symbolValue], promise: promise });\n }\n }\n catch (err) {\n }\n promise[symbolState] = REJECTED;\n for (var i = 0; i < _uncaughtPromiseErrors.length; i++) {\n if (promise === _uncaughtPromiseErrors[i].promise) {\n _uncaughtPromiseErrors.splice(i, 1);\n }\n }\n }\n }\n function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n clearRejectedNoCatch(promise);\n var promiseState = promise[symbolState];\n var delegate = promiseState ?\n (typeof onFulfilled === 'function') ? onFulfilled : forwardResolution :\n (typeof onRejected === 'function') ? onRejected : forwardRejection;\n zone.scheduleMicroTask(source, function () {\n try {\n var parentPromiseValue = promise[symbolValue];\n var isFinallyPromise = chainPromise && symbolFinally === chainPromise[symbolFinally];\n if (isFinallyPromise) {\n // if the promise is generated from finally call, keep parent promise's state and value\n chainPromise[symbolParentPromiseValue] = parentPromiseValue;\n chainPromise[symbolParentPromiseState] = promiseState;\n }\n // should not pass value to finally callback\n var value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ?\n [] :\n [parentPromiseValue]);\n resolvePromise(chainPromise, true, value);\n }\n catch (error) {\n // if error occurs, should always return this error\n resolvePromise(chainPromise, false, error);\n }\n }, chainPromise);\n }\n var ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';\n var ZoneAwarePromise = /** @class */ (function () {\n function ZoneAwarePromise(executor) {\n var promise = this;\n if (!(promise instanceof ZoneAwarePromise)) {\n throw new Error('Must be an instanceof Promise.');\n }\n promise[symbolState] = UNRESOLVED;\n promise[symbolValue] = []; // queue;\n try {\n executor && executor(makeResolver(promise, RESOLVED), makeResolver(promise, REJECTED));\n }\n catch (error) {\n resolvePromise(promise, false, error);\n }\n }\n ZoneAwarePromise.toString = function () {\n return ZONE_AWARE_PROMISE_TO_STRING;\n };\n ZoneAwarePromise.resolve = function (value) {\n return resolvePromise(new this(null), RESOLVED, value);\n };\n ZoneAwarePromise.reject = function (error) {\n return resolvePromise(new this(null), REJECTED, error);\n };\n ZoneAwarePromise.race = function (values) {\n var e_1, _a;\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n function onResolve(value) {\n promise && (promise = null || resolve(value));\n }\n function onReject(error) {\n promise && (promise = null || reject(error));\n }\n try {\n for (var values_1 = __values(values), values_1_1 = values_1.next(); !values_1_1.done; values_1_1 = values_1.next()) {\n var value = values_1_1.value;\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (values_1_1 && !values_1_1.done && (_a = values_1.return)) _a.call(values_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return promise;\n };\n ZoneAwarePromise.all = function (values) {\n var e_2, _a;\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n // Start at 2 to prevent prematurely resolving if .then is called immediately.\n var unresolvedCount = 2;\n var valueIndex = 0;\n var resolvedValues = [];\n var _loop_2 = function (value) {\n if (!isThenable(value)) {\n value = this_1.resolve(value);\n }\n var curValueIndex = valueIndex;\n value.then(function (value) {\n resolvedValues[curValueIndex] = value;\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }, reject);\n unresolvedCount++;\n valueIndex++;\n };\n var this_1 = this;\n try {\n for (var values_2 = __values(values), values_2_1 = values_2.next(); !values_2_1.done; values_2_1 = values_2.next()) {\n var value = values_2_1.value;\n _loop_2(value);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (values_2_1 && !values_2_1.done && (_a = values_2.return)) _a.call(values_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n // Make the unresolvedCount zero-based again.\n unresolvedCount -= 2;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n return promise;\n };\n ZoneAwarePromise.prototype.then = function (onFulfilled, onRejected) {\n var chainPromise = new this.constructor(null);\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n }\n return chainPromise;\n };\n ZoneAwarePromise.prototype.catch = function (onRejected) {\n return this.then(null, onRejected);\n };\n ZoneAwarePromise.prototype.finally = function (onFinally) {\n var chainPromise = new this.constructor(null);\n chainPromise[symbolFinally] = symbolFinally;\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFinally, onFinally);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally);\n }\n return chainPromise;\n };\n return ZoneAwarePromise;\n }());\n // Protect against aggressive optimizers dropping seemingly unused properties.\n // E.g. Closure Compiler in advanced mode.\n ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;\n ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;\n ZoneAwarePromise['race'] = ZoneAwarePromise.race;\n ZoneAwarePromise['all'] = ZoneAwarePromise.all;\n var NativePromise = global[symbolPromise] = global['Promise'];\n var ZONE_AWARE_PROMISE = Zone.__symbol__('ZoneAwarePromise');\n var desc = ObjectGetOwnPropertyDescriptor(global, 'Promise');\n if (!desc || desc.configurable) {\n desc && delete desc.writable;\n desc && delete desc.value;\n if (!desc) {\n desc = { configurable: true, enumerable: true };\n }\n desc.get = function () {\n // if we already set ZoneAwarePromise, use patched one\n // otherwise return native one.\n return global[ZONE_AWARE_PROMISE] ? global[ZONE_AWARE_PROMISE] : global[symbolPromise];\n };\n desc.set = function (NewNativePromise) {\n if (NewNativePromise === ZoneAwarePromise) {\n // if the NewNativePromise is ZoneAwarePromise\n // save to global\n global[ZONE_AWARE_PROMISE] = NewNativePromise;\n }\n else {\n // if the NewNativePromise is not ZoneAwarePromise\n // for example: after load zone.js, some library just\n // set es6-promise to global, if we set it to global\n // directly, assertZonePatched will fail and angular\n // will not loaded, so we just set the NewNativePromise\n // to global[symbolPromise], so the result is just like\n // we load ES6 Promise before zone.js\n global[symbolPromise] = NewNativePromise;\n if (!NewNativePromise.prototype[symbolThen]) {\n patchThen(NewNativePromise);\n }\n api.setNativePromise(NewNativePromise);\n }\n };\n ObjectDefineProperty(global, 'Promise', desc);\n }\n global['Promise'] = ZoneAwarePromise;\n var symbolThenPatched = __symbol__('thenPatched');\n function patchThen(Ctor) {\n var proto = Ctor.prototype;\n var prop = ObjectGetOwnPropertyDescriptor(proto, 'then');\n if (prop && (prop.writable === false || !prop.configurable)) {\n // check Ctor.prototype.then propertyDescriptor is writable or not\n // in meteor env, writable is false, we should ignore such case\n return;\n }\n var originalThen = proto.then;\n // Keep a reference to the original method.\n proto[symbolThen] = originalThen;\n Ctor.prototype.then = function (onResolve, onReject) {\n var _this = this;\n var wrapped = new ZoneAwarePromise(function (resolve, reject) {\n originalThen.call(_this, resolve, reject);\n });\n return wrapped.then(onResolve, onReject);\n };\n Ctor[symbolThenPatched] = true;\n }\n api.patchThen = patchThen;\n if (NativePromise) {\n patchThen(NativePromise);\n }\n // This is not part of public API, but it is useful for tests, so we expose it.\n Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;\n return ZoneAwarePromise;\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nZone.__load_patch('fetch', function (global, Zone, api) {\n var fetch = global['fetch'];\n var ZoneAwarePromise = global.Promise;\n var symbolThenPatched = api.symbol('thenPatched');\n var fetchTaskScheduling = api.symbol('fetchTaskScheduling');\n var fetchTaskAborting = api.symbol('fetchTaskAborting');\n if (typeof fetch !== 'function') {\n return;\n }\n var OriginalAbortController = global['AbortController'];\n var supportAbort = typeof OriginalAbortController === 'function';\n var abortNative = null;\n if (supportAbort) {\n global['AbortController'] = function () {\n var abortController = new OriginalAbortController();\n var signal = abortController.signal;\n signal.abortController = abortController;\n return abortController;\n };\n abortNative = api.patchMethod(OriginalAbortController.prototype, 'abort', function (delegate) { return function (self, args) {\n if (self.task) {\n return self.task.zone.cancelTask(self.task);\n }\n return delegate.apply(self, args);\n }; });\n }\n var placeholder = function () { };\n global['fetch'] = function () {\n var _this = this;\n var args = Array.prototype.slice.call(arguments);\n var options = args.length > 1 ? args[1] : null;\n var signal = options && options.signal;\n return new Promise(function (res, rej) {\n var task = Zone.current.scheduleMacroTask('fetch', placeholder, args, function () {\n var fetchPromise;\n var zone = Zone.current;\n try {\n zone[fetchTaskScheduling] = true;\n fetchPromise = fetch.apply(_this, args);\n }\n catch (error) {\n rej(error);\n return;\n }\n finally {\n zone[fetchTaskScheduling] = false;\n }\n if (!(fetchPromise instanceof ZoneAwarePromise)) {\n var ctor = fetchPromise.constructor;\n if (!ctor[symbolThenPatched]) {\n api.patchThen(ctor);\n }\n }\n fetchPromise.then(function (resource) {\n if (task.state !== 'notScheduled') {\n task.invoke();\n }\n res(resource);\n }, function (error) {\n if (task.state !== 'notScheduled') {\n task.invoke();\n }\n rej(error);\n });\n }, function () {\n if (!supportAbort) {\n rej('No AbortController supported, can not cancel fetch');\n return;\n }\n if (signal && signal.abortController && !signal.aborted &&\n typeof signal.abortController.abort === 'function' && abortNative) {\n try {\n Zone.current[fetchTaskAborting] = true;\n abortNative.call(signal.abortController);\n }\n finally {\n Zone.current[fetchTaskAborting] = false;\n }\n }\n else {\n rej('cancel fetch need a AbortController.signal');\n }\n });\n if (signal && signal.abortController) {\n signal.abortController.task = task;\n }\n });\n };\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Suppress closure compiler errors about unknown 'Zone' variable\n * @fileoverview\n * @suppress {undefinedVars,globalThis,missingRequire}\n */\n// issue #989, to reduce bundle size, use short name\n/** Object.getOwnPropertyDescriptor */\nvar ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n/** Object.defineProperty */\nvar ObjectDefineProperty = Object.defineProperty;\n/** Object.getPrototypeOf */\nvar ObjectGetPrototypeOf = Object.getPrototypeOf;\n/** Object.create */\nvar ObjectCreate = Object.create;\n/** Array.prototype.slice */\nvar ArraySlice = Array.prototype.slice;\n/** addEventListener string const */\nvar ADD_EVENT_LISTENER_STR = 'addEventListener';\n/** removeEventListener string const */\nvar REMOVE_EVENT_LISTENER_STR = 'removeEventListener';\n/** zoneSymbol addEventListener */\nvar ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR);\n/** zoneSymbol removeEventListener */\nvar ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR);\n/** true string const */\nvar TRUE_STR = 'true';\n/** false string const */\nvar FALSE_STR = 'false';\n/** __zone_symbol__ string const */\nvar ZONE_SYMBOL_PREFIX = '__zone_symbol__';\nfunction wrapWithCurrentZone(callback, source) {\n return Zone.current.wrap(callback, source);\n}\nfunction scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {\n return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);\n}\nvar zoneSymbol = Zone.__symbol__;\nvar isWindowExists = typeof window !== 'undefined';\nvar internalWindow = isWindowExists ? window : undefined;\nvar _global = isWindowExists && internalWindow || typeof self === 'object' && self || global;\nvar REMOVE_ATTRIBUTE = 'removeAttribute';\nvar NULL_ON_PROP_VALUE = [null];\nfunction bindArguments(args, source) {\n for (var i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'function') {\n args[i] = wrapWithCurrentZone(args[i], source + '_' + i);\n }\n }\n return args;\n}\nfunction patchPrototype(prototype, fnNames) {\n var source = prototype.constructor['name'];\n var _loop_1 = function (i) {\n var name_1 = fnNames[i];\n var delegate = prototype[name_1];\n if (delegate) {\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name_1);\n if (!isPropertyWritable(prototypeDesc)) {\n return \"continue\";\n }\n prototype[name_1] = (function (delegate) {\n var patched = function () {\n return delegate.apply(this, bindArguments(arguments, source + '.' + name_1));\n };\n attachOriginToPatched(patched, delegate);\n return patched;\n })(delegate);\n }\n };\n for (var i = 0; i < fnNames.length; i++) {\n _loop_1(i);\n }\n}\nfunction isPropertyWritable(propertyDesc) {\n if (!propertyDesc) {\n return true;\n }\n if (propertyDesc.writable === false) {\n return false;\n }\n return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined');\n}\nvar isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nvar isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]');\nvar isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']);\n// we are in electron of nw, so we are both browser and nodejs\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nvar isMix = typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]' && !isWebWorker &&\n !!(isWindowExists && internalWindow['HTMLElement']);\nvar zoneSymbolEventNames = {};\nvar wrapFn = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n var eventNameSymbol = zoneSymbolEventNames[event.type];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[event.type] = zoneSymbol('ON_PROPERTY' + event.type);\n }\n var target = this || event.target || _global;\n var listener = target[eventNameSymbol];\n var result;\n if (isBrowser && target === internalWindow && event.type === 'error') {\n // window.onerror have different signiture\n // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror#window.onerror\n // and onerror callback will prevent default when callback return true\n var errorEvent = event;\n result = listener &&\n listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error);\n if (result === true) {\n event.preventDefault();\n }\n }\n else {\n result = listener && listener.apply(this, arguments);\n if (result != undefined && !result) {\n event.preventDefault();\n }\n }\n return result;\n};\nfunction patchProperty(obj, prop, prototype) {\n var desc = ObjectGetOwnPropertyDescriptor(obj, prop);\n if (!desc && prototype) {\n // when patch window object, use prototype to check prop exist or not\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop);\n if (prototypeDesc) {\n desc = { enumerable: true, configurable: true };\n }\n }\n // if the descriptor not exists or is not configurable\n // just return\n if (!desc || !desc.configurable) {\n return;\n }\n var onPropPatchedSymbol = zoneSymbol('on' + prop + 'patched');\n if (obj.hasOwnProperty(onPropPatchedSymbol) && obj[onPropPatchedSymbol]) {\n return;\n }\n // A property descriptor cannot have getter/setter and be writable\n // deleting the writable and value properties avoids this error:\n //\n // TypeError: property descriptors must not specify a value or be writable when a\n // getter or setter has been specified\n delete desc.writable;\n delete desc.value;\n var originalDescGet = desc.get;\n var originalDescSet = desc.set;\n // substr(2) cuz 'onclick' -> 'click', etc\n var eventName = prop.substr(2);\n var eventNameSymbol = zoneSymbolEventNames[eventName];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[eventName] = zoneSymbol('ON_PROPERTY' + eventName);\n }\n desc.set = function (newValue) {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return;\n }\n var previousValue = target[eventNameSymbol];\n if (previousValue) {\n target.removeEventListener(eventName, wrapFn);\n }\n // issue #978, when onload handler was added before loading zone.js\n // we should remove it with originalDescSet\n if (originalDescSet) {\n originalDescSet.apply(target, NULL_ON_PROP_VALUE);\n }\n if (typeof newValue === 'function') {\n target[eventNameSymbol] = newValue;\n target.addEventListener(eventName, wrapFn, false);\n }\n else {\n target[eventNameSymbol] = null;\n }\n };\n // The getter would return undefined for unassigned properties but the default value of an\n // unassigned property is null\n desc.get = function () {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return null;\n }\n var listener = target[eventNameSymbol];\n if (listener) {\n return listener;\n }\n else if (originalDescGet) {\n // result will be null when use inline event attribute,\n // such as \n // because the onclick function is internal raw uncompiled handler\n // the onclick will be evaluated when first time event was triggered or\n // the property is accessed, https://github.com/angular/zone.js/issues/525\n // so we should use original native get to retrieve the handler\n var value = originalDescGet && originalDescGet.call(this);\n if (value) {\n desc.set.call(this, value);\n if (typeof target[REMOVE_ATTRIBUTE] === 'function') {\n target.removeAttribute(prop);\n }\n return value;\n }\n }\n return null;\n };\n ObjectDefineProperty(obj, prop, desc);\n obj[onPropPatchedSymbol] = true;\n}\nfunction patchOnProperties(obj, properties, prototype) {\n if (properties) {\n for (var i = 0; i < properties.length; i++) {\n patchProperty(obj, 'on' + properties[i], prototype);\n }\n }\n else {\n var onProperties = [];\n for (var prop in obj) {\n if (prop.substr(0, 2) == 'on') {\n onProperties.push(prop);\n }\n }\n for (var j = 0; j < onProperties.length; j++) {\n patchProperty(obj, onProperties[j], prototype);\n }\n }\n}\nvar originalInstanceKey = zoneSymbol('originalInstance');\n// wrap some native API on `window`\nfunction patchClass(className) {\n var OriginalClass = _global[className];\n if (!OriginalClass)\n return;\n // keep original class in global\n _global[zoneSymbol(className)] = OriginalClass;\n _global[className] = function () {\n var a = bindArguments(arguments, className);\n switch (a.length) {\n case 0:\n this[originalInstanceKey] = new OriginalClass();\n break;\n case 1:\n this[originalInstanceKey] = new OriginalClass(a[0]);\n break;\n case 2:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n break;\n case 3:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n break;\n case 4:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n break;\n default:\n throw new Error('Arg list too long.');\n }\n };\n // attach original delegate to patched function\n attachOriginToPatched(_global[className], OriginalClass);\n var instance = new OriginalClass(function () { });\n var prop;\n for (prop in instance) {\n // https://bugs.webkit.org/show_bug.cgi?id=44721\n if (className === 'XMLHttpRequest' && prop === 'responseBlob')\n continue;\n (function (prop) {\n if (typeof instance[prop] === 'function') {\n _global[className].prototype[prop] = function () {\n return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);\n };\n }\n else {\n ObjectDefineProperty(_global[className].prototype, prop, {\n set: function (fn) {\n if (typeof fn === 'function') {\n this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop);\n // keep callback in wrapped function so we can\n // use it in Function.prototype.toString to return\n // the native one.\n attachOriginToPatched(this[originalInstanceKey][prop], fn);\n }\n else {\n this[originalInstanceKey][prop] = fn;\n }\n },\n get: function () {\n return this[originalInstanceKey][prop];\n }\n });\n }\n }(prop));\n }\n for (prop in OriginalClass) {\n if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {\n _global[className][prop] = OriginalClass[prop];\n }\n }\n}\nfunction copySymbolProperties(src, dest) {\n if (typeof Object.getOwnPropertySymbols !== 'function') {\n return;\n }\n var symbols = Object.getOwnPropertySymbols(src);\n symbols.forEach(function (symbol) {\n var desc = Object.getOwnPropertyDescriptor(src, symbol);\n Object.defineProperty(dest, symbol, {\n get: function () {\n return src[symbol];\n },\n set: function (value) {\n if (desc && (!desc.writable || typeof desc.set !== 'function')) {\n // if src[symbol] is not writable or not have a setter, just return\n return;\n }\n src[symbol] = value;\n },\n enumerable: desc ? desc.enumerable : true,\n configurable: desc ? desc.configurable : true\n });\n });\n}\nvar shouldCopySymbolProperties = false;\n\nfunction patchMethod(target, name, patchFn) {\n var proto = target;\n while (proto && !proto.hasOwnProperty(name)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && target[name]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = target;\n }\n var delegateName = zoneSymbol(name);\n var delegate = null;\n if (proto && !(delegate = proto[delegateName])) {\n delegate = proto[delegateName] = proto[name];\n // check whether proto[name] is writable\n // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob\n var desc = proto && ObjectGetOwnPropertyDescriptor(proto, name);\n if (isPropertyWritable(desc)) {\n var patchDelegate_1 = patchFn(delegate, delegateName, name);\n proto[name] = function () {\n return patchDelegate_1(this, arguments);\n };\n attachOriginToPatched(proto[name], delegate);\n if (shouldCopySymbolProperties) {\n copySymbolProperties(delegate, proto[name]);\n }\n }\n }\n return delegate;\n}\n// TODO: @JiaLiPassion, support cancel task later if necessary\nfunction patchMacroTask(obj, funcName, metaCreator) {\n var setNative = null;\n function scheduleTask(task) {\n var data = task.data;\n data.args[data.cbIdx] = function () {\n task.invoke.apply(this, arguments);\n };\n setNative.apply(data.target, data.args);\n return task;\n }\n setNative = patchMethod(obj, funcName, function (delegate) { return function (self, args) {\n var meta = metaCreator(self, args);\n if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') {\n return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask);\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(self, args);\n }\n }; });\n}\n\nfunction attachOriginToPatched(patched, original) {\n patched[zoneSymbol('OriginalDelegate')] = original;\n}\nvar isDetectedIEOrEdge = false;\nvar ieOrEdge = false;\nfunction isIE() {\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) {\n return true;\n }\n }\n catch (error) {\n }\n return false;\n}\nfunction isIEOrEdge() {\n if (isDetectedIEOrEdge) {\n return ieOrEdge;\n }\n isDetectedIEOrEdge = true;\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {\n ieOrEdge = true;\n }\n return ieOrEdge;\n }\n catch (error) {\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// override Function.prototype.toString to make zone.js patched function\n// look like native function\nZone.__load_patch('toString', function (global) {\n // patch Func.prototype.toString to let them look like native\n var originalFunctionToString = Function.prototype.toString;\n var ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate');\n var PROMISE_SYMBOL = zoneSymbol('Promise');\n var ERROR_SYMBOL = zoneSymbol('Error');\n var newFunctionToString = function toString() {\n if (typeof this === 'function') {\n var originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];\n if (originalDelegate) {\n if (typeof originalDelegate === 'function') {\n return originalFunctionToString.apply(this[ORIGINAL_DELEGATE_SYMBOL], arguments);\n }\n else {\n return Object.prototype.toString.call(originalDelegate);\n }\n }\n if (this === Promise) {\n var nativePromise = global[PROMISE_SYMBOL];\n if (nativePromise) {\n return originalFunctionToString.apply(nativePromise, arguments);\n }\n }\n if (this === Error) {\n var nativeError = global[ERROR_SYMBOL];\n if (nativeError) {\n return originalFunctionToString.apply(nativeError, arguments);\n }\n }\n }\n return originalFunctionToString.apply(this, arguments);\n };\n newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString;\n Function.prototype.toString = newFunctionToString;\n // patch Object.prototype.toString to let them look like native\n var originalObjectToString = Object.prototype.toString;\n var PROMISE_OBJECT_TO_STRING = '[object Promise]';\n Object.prototype.toString = function () {\n if (this instanceof Promise) {\n return PROMISE_OBJECT_TO_STRING;\n }\n return originalObjectToString.apply(this, arguments);\n };\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nvar passiveSupported = false;\nif (typeof window !== 'undefined') {\n try {\n var options = Object.defineProperty({}, 'passive', {\n get: function () {\n passiveSupported = true;\n }\n });\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n}\n// an identifier to tell ZoneTask do not create a new invoke closure\nvar OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n useG: true\n};\nvar zoneSymbolEventNames$1 = {};\nvar globalSources = {};\nvar EVENT_NAME_SYMBOL_REGX = /^__zone_symbol__(\\w+)(true|false)$/;\nvar IMMEDIATE_PROPAGATION_SYMBOL = ('__zone_symbol__propagationStopped');\nfunction patchEventTarget(_global, apis, patchOptions) {\n var ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR;\n var REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR;\n var LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners';\n var REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || 'removeAllListeners';\n var zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER);\n var ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':';\n var PREPEND_EVENT_LISTENER = 'prependListener';\n var PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':';\n var invokeTask = function (task, target, event) {\n // for better performance, check isRemoved which is set\n // by removeEventListener\n if (task.isRemoved) {\n return;\n }\n var delegate = task.callback;\n if (typeof delegate === 'object' && delegate.handleEvent) {\n // create the bind version of handleEvent when invoke\n task.callback = function (event) { return delegate.handleEvent(event); };\n task.originalDelegate = delegate;\n }\n // invoke static task.invoke\n task.invoke(task, target, [event]);\n var options = task.options;\n if (options && typeof options === 'object' && options.once) {\n // if options.once is true, after invoke once remove listener here\n // only browser need to do this, nodejs eventEmitter will cal removeListener\n // inside EventEmitter.once\n var delegate_1 = task.originalDelegate ? task.originalDelegate : task.callback;\n target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate_1, options);\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = false\n var globalZoneAwareCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = this || event.target || _global;\n var tasks = target[zoneSymbolEventNames$1[event.type][FALSE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = true\n var globalZoneAwareCaptureCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = this || event.target || _global;\n var tasks = target[zoneSymbolEventNames$1[event.type][TRUE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n function patchEventTargetMethods(obj, patchOptions) {\n if (!obj) {\n return false;\n }\n var useGlobalCallback = true;\n if (patchOptions && patchOptions.useG !== undefined) {\n useGlobalCallback = patchOptions.useG;\n }\n var validateHandler = patchOptions && patchOptions.vh;\n var checkDuplicate = true;\n if (patchOptions && patchOptions.chkDup !== undefined) {\n checkDuplicate = patchOptions.chkDup;\n }\n var returnTarget = false;\n if (patchOptions && patchOptions.rt !== undefined) {\n returnTarget = patchOptions.rt;\n }\n var proto = obj;\n while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && obj[ADD_EVENT_LISTENER]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = obj;\n }\n if (!proto) {\n return false;\n }\n if (proto[zoneSymbolAddEventListener]) {\n return false;\n }\n var eventNameToString = patchOptions && patchOptions.eventNameToString;\n // a shared global taskData to pass data for scheduleEventTask\n // so we do not need to create a new object just for pass some data\n var taskData = {};\n var nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER];\n var nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] =\n proto[REMOVE_EVENT_LISTENER];\n var nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] =\n proto[LISTENERS_EVENT_LISTENER];\n var nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] =\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER];\n var nativePrependEventListener;\n if (patchOptions && patchOptions.prepend) {\n nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] =\n proto[patchOptions.prepend];\n }\n function checkIsPassive(task) {\n if (!passiveSupported && typeof taskData.options !== 'boolean' &&\n typeof taskData.options !== 'undefined' && taskData.options !== null) {\n // options is a non-null non-undefined object\n // passive is not supported\n // don't pass options as object\n // just pass capture as a boolean\n task.options = !!taskData.options.capture;\n taskData.options = task.options;\n }\n }\n var customScheduleGlobal = function (task) {\n // if there is already a task for the eventName + capture,\n // just return, because we use the shared globalZoneAwareCallback here.\n if (taskData.isExisting) {\n return;\n }\n checkIsPassive(task);\n return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options);\n };\n var customCancelGlobal = function (task) {\n // if task is not marked as isRemoved, this call is directly\n // from Zone.prototype.cancelTask, we should remove the task\n // from tasksList of target first\n if (!task.isRemoved) {\n var symbolEventNames = zoneSymbolEventNames$1[task.eventName];\n var symbolEventName = void 0;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && task.target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (existingTask === task) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n task.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n task.allRemoved = true;\n task.target[symbolEventName] = null;\n }\n break;\n }\n }\n }\n }\n // if all tasks for the eventName + capture have gone,\n // we will really remove the global event callback,\n // if not, return\n if (!task.allRemoved) {\n return;\n }\n return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options);\n };\n var customScheduleNonGlobal = function (task) {\n checkIsPassive(task);\n return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customSchedulePrepend = function (task) {\n return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customCancelNonGlobal = function (task) {\n return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options);\n };\n var customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;\n var customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;\n var compareTaskCallbackVsDelegate = function (task, delegate) {\n var typeOfDelegate = typeof delegate;\n return (typeOfDelegate === 'function' && task.callback === delegate) ||\n (typeOfDelegate === 'object' && task.originalDelegate === delegate);\n };\n var compare = (patchOptions && patchOptions.diff) ? patchOptions.diff : compareTaskCallbackVsDelegate;\n var blackListedEvents = Zone[Zone.__symbol__('BLACK_LISTED_EVENTS')];\n var makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget, prepend) {\n if (returnTarget === void 0) { returnTarget = false; }\n if (prepend === void 0) { prepend = false; }\n return function () {\n var target = this || _global;\n var eventName = arguments[0];\n var delegate = arguments[1];\n if (!delegate) {\n return nativeListener.apply(this, arguments);\n }\n if (isNode && eventName === 'uncaughtException') {\n // don't patch uncaughtException of nodejs to prevent endless loop\n return nativeListener.apply(this, arguments);\n }\n // don't create the bind delegate function for handleEvent\n // case here to improve addEventListener performance\n // we will create the bind delegate when invoke\n var isHandleEvent = false;\n if (typeof delegate !== 'function') {\n if (!delegate.handleEvent) {\n return nativeListener.apply(this, arguments);\n }\n isHandleEvent = true;\n }\n if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) {\n return;\n }\n var options = arguments[2];\n if (blackListedEvents) {\n // check black list\n for (var i = 0; i < blackListedEvents.length; i++) {\n if (eventName === blackListedEvents[i]) {\n return nativeListener.apply(this, arguments);\n }\n }\n }\n var capture;\n var once = false;\n if (options === undefined) {\n capture = false;\n }\n else if (options === true) {\n capture = true;\n }\n else if (options === false) {\n capture = false;\n }\n else {\n capture = options ? !!options.capture : false;\n once = options ? !!options.once : false;\n }\n var zone = Zone.current;\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n var symbolEventName;\n if (!symbolEventNames) {\n // the code is duplicate, but I just want to get some better performance\n var falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR;\n var trueEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames$1[eventName] = {};\n zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;\n symbolEventName = capture ? symbolCapture : symbol;\n }\n else {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = target[symbolEventName];\n var isExisting = false;\n if (existingTasks) {\n // already have task registered\n isExisting = true;\n if (checkDuplicate) {\n for (var i = 0; i < existingTasks.length; i++) {\n if (compare(existingTasks[i], delegate)) {\n // same callback, same capture, same event name, just return\n return;\n }\n }\n }\n }\n else {\n existingTasks = target[symbolEventName] = [];\n }\n var source;\n var constructorName = target.constructor['name'];\n var targetSource = globalSources[constructorName];\n if (targetSource) {\n source = targetSource[eventName];\n }\n if (!source) {\n source = constructorName + addSource +\n (eventNameToString ? eventNameToString(eventName) : eventName);\n }\n // do not create a new object as task.data to pass those things\n // just use the global shared one\n taskData.options = options;\n if (once) {\n // if addEventListener with once options, we don't pass it to\n // native addEventListener, instead we keep the once setting\n // and handle ourselves.\n taskData.options.once = false;\n }\n taskData.target = target;\n taskData.capture = capture;\n taskData.eventName = eventName;\n taskData.isExisting = isExisting;\n var data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : undefined;\n // keep taskData into data to allow onScheduleEventTask to access the task information\n if (data) {\n data.taskData = taskData;\n }\n var task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn);\n // should clear taskData.target to avoid memory leak\n // issue, https://github.com/angular/angular/issues/20442\n taskData.target = null;\n // need to clear up taskData because it is a global object\n if (data) {\n data.taskData = null;\n }\n // have to save those information to task in case\n // application may call task.zone.cancelTask() directly\n if (once) {\n options.once = true;\n }\n if (!(!passiveSupported && typeof task.options === 'boolean')) {\n // if not support passive, and we pass an option object\n // to addEventListener, we should save the options to task\n task.options = options;\n }\n task.target = target;\n task.capture = capture;\n task.eventName = eventName;\n if (isHandleEvent) {\n // save original delegate for compare to check duplicate\n task.originalDelegate = delegate;\n }\n if (!prepend) {\n existingTasks.push(task);\n }\n else {\n existingTasks.unshift(task);\n }\n if (returnTarget) {\n return target;\n }\n };\n };\n proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget);\n if (nativePrependEventListener) {\n proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true);\n }\n proto[REMOVE_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n var options = arguments[2];\n var capture;\n if (options === undefined) {\n capture = false;\n }\n else if (options === true) {\n capture = true;\n }\n else if (options === false) {\n capture = false;\n }\n else {\n capture = options ? !!options.capture : false;\n }\n var delegate = arguments[1];\n if (!delegate) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n if (validateHandler &&\n !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) {\n return;\n }\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n var symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (compare(existingTask, delegate)) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n existingTask.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n existingTask.allRemoved = true;\n target[symbolEventName] = null;\n }\n existingTask.zone.cancelTask(existingTask);\n if (returnTarget) {\n return target;\n }\n return;\n }\n }\n }\n // issue 930, didn't find the event name or callback\n // from zone kept existingTasks, the callback maybe\n // added outside of zone, we need to call native removeEventListener\n // to try to remove it.\n return nativeRemoveEventListener.apply(this, arguments);\n };\n proto[LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n var listeners = [];\n var tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : eventName);\n for (var i = 0; i < tasks.length; i++) {\n var task = tasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n listeners.push(delegate);\n }\n return listeners;\n };\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (!eventName) {\n var keys = Object.keys(target);\n for (var i = 0; i < keys.length; i++) {\n var prop = keys[i];\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n // in nodejs EventEmitter, removeListener event is\n // used for monitoring the removeListener call,\n // so just keep removeListener eventListener until\n // all other eventListeners are removed\n if (evtName && evtName !== 'removeListener') {\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName);\n }\n }\n // remove removeListener listener finally\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener');\n }\n else {\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n if (symbolEventNames) {\n var symbolEventName = symbolEventNames[FALSE_STR];\n var symbolCaptureEventName = symbolEventNames[TRUE_STR];\n var tasks = target[symbolEventName];\n var captureTasks = target[symbolCaptureEventName];\n if (tasks) {\n var removeTasks = tasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n if (captureTasks) {\n var removeTasks = captureTasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n }\n }\n if (returnTarget) {\n return this;\n }\n };\n // for native toString patch\n attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener);\n attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener);\n if (nativeRemoveAllListeners) {\n attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners);\n }\n if (nativeListeners) {\n attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners);\n }\n return true;\n }\n var results = [];\n for (var i = 0; i < apis.length; i++) {\n results[i] = patchEventTargetMethods(apis[i], patchOptions);\n }\n return results;\n}\nfunction findEventTasks(target, eventName) {\n var foundTasks = [];\n for (var prop in target) {\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n if (evtName && (!eventName || evtName === eventName)) {\n var tasks = target[prop];\n if (tasks) {\n for (var i = 0; i < tasks.length; i++) {\n foundTasks.push(tasks[i]);\n }\n }\n }\n }\n return foundTasks;\n}\nfunction patchEventPrototype(global, api) {\n var Event = global['Event'];\n if (Event && Event.prototype) {\n api.patchMethod(Event.prototype, 'stopImmediatePropagation', function (delegate) { return function (self, args) {\n self[IMMEDIATE_PROPAGATION_SYMBOL] = true;\n // we need to call the native stopImmediatePropagation\n // in case in some hybrid application, some part of\n // application will be controlled by zone, some are not\n delegate && delegate.apply(self, args);\n }; });\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nvar taskSymbol = zoneSymbol('zoneTask');\nfunction patchTimer(window, setName, cancelName, nameSuffix) {\n var setNative = null;\n var clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n var tasksByHandleId = {};\n function scheduleTask(task) {\n var data = task.data;\n function timer() {\n try {\n task.invoke.apply(this, arguments);\n }\n finally {\n // issue-934, task will be cancelled\n // even it is a periodic task such as\n // setInterval\n if (!(task.data && task.data.isPeriodic)) {\n if (typeof data.handleId === 'number') {\n // in non-nodejs env, we remove timerId\n // from local cache\n delete tasksByHandleId[data.handleId];\n }\n else if (data.handleId) {\n // Node returns complex objects as handleIds\n // we remove task reference from timer object\n data.handleId[taskSymbol] = null;\n }\n }\n }\n }\n data.args[0] = timer;\n data.handleId = setNative.apply(window, data.args);\n return task;\n }\n function clearTask(task) {\n return clearNative(task.data.handleId);\n }\n setNative =\n patchMethod(window, setName, function (delegate) { return function (self, args) {\n if (typeof args[0] === 'function') {\n var options = {\n isPeriodic: nameSuffix === 'Interval',\n delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 :\n undefined,\n args: args\n };\n var task = scheduleMacroTaskWithCurrentZone(setName, args[0], options, scheduleTask, clearTask);\n if (!task) {\n return task;\n }\n // Node.js must additionally support the ref and unref functions.\n var handle = task.data.handleId;\n if (typeof handle === 'number') {\n // for non nodejs env, we save handleId: task\n // mapping in local cache for clearTimeout\n tasksByHandleId[handle] = task;\n }\n else if (handle) {\n // for nodejs env, we save task\n // reference in timerId Object for clearTimeout\n handle[taskSymbol] = task;\n }\n // check whether handle is null, because some polyfill or browser\n // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame\n if (handle && handle.ref && handle.unref && typeof handle.ref === 'function' &&\n typeof handle.unref === 'function') {\n task.ref = handle.ref.bind(handle);\n task.unref = handle.unref.bind(handle);\n }\n if (typeof handle === 'number' || handle) {\n return handle;\n }\n return task;\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(window, args);\n }\n }; });\n clearNative =\n patchMethod(window, cancelName, function (delegate) { return function (self, args) {\n var id = args[0];\n var task;\n if (typeof id === 'number') {\n // non nodejs env.\n task = tasksByHandleId[id];\n }\n else {\n // nodejs env.\n task = id && id[taskSymbol];\n // other environments.\n if (!task) {\n task = id;\n }\n }\n if (task && typeof task.type === 'string') {\n if (task.state !== 'notScheduled' &&\n (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) {\n if (typeof id === 'number') {\n delete tasksByHandleId[id];\n }\n else if (id) {\n id[taskSymbol] = null;\n }\n // Do not cancel already canceled functions\n task.zone.cancelTask(task);\n }\n }\n else {\n // cause an error by calling it directly.\n delegate.apply(window, args);\n }\n }; });\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/*\n * This is necessary for Chrome and Chrome mobile, to enable\n * things like redefining `createdCallback` on an element.\n */\nvar _defineProperty = Object[zoneSymbol('defineProperty')] = Object.defineProperty;\nvar _getOwnPropertyDescriptor = Object[zoneSymbol('getOwnPropertyDescriptor')] =\n Object.getOwnPropertyDescriptor;\nvar _create = Object.create;\nvar unconfigurablesKey = zoneSymbol('unconfigurables');\nfunction propertyPatch() {\n Object.defineProperty = function (obj, prop, desc) {\n if (isUnconfigurable(obj, prop)) {\n throw new TypeError('Cannot assign to read only property \\'' + prop + '\\' of ' + obj);\n }\n var originalConfigurableFlag = desc.configurable;\n if (prop !== 'prototype') {\n desc = rewriteDescriptor(obj, prop, desc);\n }\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n };\n Object.defineProperties = function (obj, props) {\n Object.keys(props).forEach(function (prop) {\n Object.defineProperty(obj, prop, props[prop]);\n });\n return obj;\n };\n Object.create = function (obj, proto) {\n if (typeof proto === 'object' && !Object.isFrozen(proto)) {\n Object.keys(proto).forEach(function (prop) {\n proto[prop] = rewriteDescriptor(obj, prop, proto[prop]);\n });\n }\n return _create(obj, proto);\n };\n Object.getOwnPropertyDescriptor = function (obj, prop) {\n var desc = _getOwnPropertyDescriptor(obj, prop);\n if (desc && isUnconfigurable(obj, prop)) {\n desc.configurable = false;\n }\n return desc;\n };\n}\nfunction _redefineProperty(obj, prop, desc) {\n var originalConfigurableFlag = desc.configurable;\n desc = rewriteDescriptor(obj, prop, desc);\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n}\nfunction isUnconfigurable(obj, prop) {\n return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop];\n}\nfunction rewriteDescriptor(obj, prop, desc) {\n // issue-927, if the desc is frozen, don't try to change the desc\n if (!Object.isFrozen(desc)) {\n desc.configurable = true;\n }\n if (!desc.configurable) {\n // issue-927, if the obj is frozen, don't try to set the desc to obj\n if (!obj[unconfigurablesKey] && !Object.isFrozen(obj)) {\n _defineProperty(obj, unconfigurablesKey, { writable: true, value: {} });\n }\n if (obj[unconfigurablesKey]) {\n obj[unconfigurablesKey][prop] = true;\n }\n }\n return desc;\n}\nfunction _tryDefineProperty(obj, prop, desc, originalConfigurableFlag) {\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n if (desc.configurable) {\n // In case of errors, when the configurable flag was likely set by rewriteDescriptor(), let's\n // retry with the original flag value\n if (typeof originalConfigurableFlag == 'undefined') {\n delete desc.configurable;\n }\n else {\n desc.configurable = originalConfigurableFlag;\n }\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n var descJson = null;\n try {\n descJson = JSON.stringify(desc);\n }\n catch (error) {\n descJson = desc.toString();\n }\n console.log(\"Attempting to configure '\" + prop + \"' with descriptor '\" + descJson + \"' on object '\" + obj + \"' and got error, giving up: \" + error);\n }\n }\n else {\n throw error;\n }\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// we have to patch the instance since the proto is non-configurable\nfunction apply(api, _global) {\n var WS = _global.WebSocket;\n // On Safari window.EventTarget doesn't exist so need to patch WS add/removeEventListener\n // On older Chrome, no need since EventTarget was already patched\n if (!_global.EventTarget) {\n patchEventTarget(_global, [WS.prototype]);\n }\n _global.WebSocket = function (x, y) {\n var socket = arguments.length > 1 ? new WS(x, y) : new WS(x);\n var proxySocket;\n var proxySocketProto;\n // Safari 7.0 has non-configurable own 'onmessage' and friends properties on the socket instance\n var onmessageDesc = ObjectGetOwnPropertyDescriptor(socket, 'onmessage');\n if (onmessageDesc && onmessageDesc.configurable === false) {\n proxySocket = ObjectCreate(socket);\n // socket have own property descriptor 'onopen', 'onmessage', 'onclose', 'onerror'\n // but proxySocket not, so we will keep socket as prototype and pass it to\n // patchOnProperties method\n proxySocketProto = socket;\n [ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR, 'send', 'close'].forEach(function (propName) {\n proxySocket[propName] = function () {\n var args = ArraySlice.call(arguments);\n if (propName === ADD_EVENT_LISTENER_STR || propName === REMOVE_EVENT_LISTENER_STR) {\n var eventName = args.length > 0 ? args[0] : undefined;\n if (eventName) {\n var propertySymbol = Zone.__symbol__('ON_PROPERTY' + eventName);\n socket[propertySymbol] = proxySocket[propertySymbol];\n }\n }\n return socket[propName].apply(socket, args);\n };\n });\n }\n else {\n // we can patch the real socket\n proxySocket = socket;\n }\n patchOnProperties(proxySocket, ['close', 'error', 'message', 'open'], proxySocketProto);\n return proxySocket;\n };\n var globalWebSocket = _global['WebSocket'];\n for (var prop in WS) {\n globalWebSocket[prop] = WS[prop];\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {globalThis}\n */\nvar globalEventHandlersEventNames = [\n 'abort',\n 'animationcancel',\n 'animationend',\n 'animationiteration',\n 'auxclick',\n 'beforeinput',\n 'blur',\n 'cancel',\n 'canplay',\n 'canplaythrough',\n 'change',\n 'compositionstart',\n 'compositionupdate',\n 'compositionend',\n 'cuechange',\n 'click',\n 'close',\n 'contextmenu',\n 'curechange',\n 'dblclick',\n 'drag',\n 'dragend',\n 'dragenter',\n 'dragexit',\n 'dragleave',\n 'dragover',\n 'drop',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'focus',\n 'focusin',\n 'focusout',\n 'gotpointercapture',\n 'input',\n 'invalid',\n 'keydown',\n 'keypress',\n 'keyup',\n 'load',\n 'loadstart',\n 'loadeddata',\n 'loadedmetadata',\n 'lostpointercapture',\n 'mousedown',\n 'mouseenter',\n 'mouseleave',\n 'mousemove',\n 'mouseout',\n 'mouseover',\n 'mouseup',\n 'mousewheel',\n 'orientationchange',\n 'pause',\n 'play',\n 'playing',\n 'pointercancel',\n 'pointerdown',\n 'pointerenter',\n 'pointerleave',\n 'pointerlockchange',\n 'mozpointerlockchange',\n 'webkitpointerlockerchange',\n 'pointerlockerror',\n 'mozpointerlockerror',\n 'webkitpointerlockerror',\n 'pointermove',\n 'pointout',\n 'pointerover',\n 'pointerup',\n 'progress',\n 'ratechange',\n 'reset',\n 'resize',\n 'scroll',\n 'seeked',\n 'seeking',\n 'select',\n 'selectionchange',\n 'selectstart',\n 'show',\n 'sort',\n 'stalled',\n 'submit',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'touchcancel',\n 'touchmove',\n 'touchstart',\n 'touchend',\n 'transitioncancel',\n 'transitionend',\n 'waiting',\n 'wheel'\n];\nvar documentEventNames = [\n 'afterscriptexecute', 'beforescriptexecute', 'DOMContentLoaded', 'freeze', 'fullscreenchange',\n 'mozfullscreenchange', 'webkitfullscreenchange', 'msfullscreenchange', 'fullscreenerror',\n 'mozfullscreenerror', 'webkitfullscreenerror', 'msfullscreenerror', 'readystatechange',\n 'visibilitychange', 'resume'\n];\nvar windowEventNames = [\n 'absolutedeviceorientation',\n 'afterinput',\n 'afterprint',\n 'appinstalled',\n 'beforeinstallprompt',\n 'beforeprint',\n 'beforeunload',\n 'devicelight',\n 'devicemotion',\n 'deviceorientation',\n 'deviceorientationabsolute',\n 'deviceproximity',\n 'hashchange',\n 'languagechange',\n 'message',\n 'mozbeforepaint',\n 'offline',\n 'online',\n 'paint',\n 'pageshow',\n 'pagehide',\n 'popstate',\n 'rejectionhandled',\n 'storage',\n 'unhandledrejection',\n 'unload',\n 'userproximity',\n 'vrdisplyconnected',\n 'vrdisplaydisconnected',\n 'vrdisplaypresentchange'\n];\nvar htmlElementEventNames = [\n 'beforecopy', 'beforecut', 'beforepaste', 'copy', 'cut', 'paste', 'dragstart', 'loadend',\n 'animationstart', 'search', 'transitionrun', 'transitionstart', 'webkitanimationend',\n 'webkitanimationiteration', 'webkitanimationstart', 'webkittransitionend'\n];\nvar mediaElementEventNames = ['encrypted', 'waitingforkey', 'msneedkey', 'mozinterruptbegin', 'mozinterruptend'];\nvar ieElementEventNames = [\n 'activate',\n 'afterupdate',\n 'ariarequest',\n 'beforeactivate',\n 'beforedeactivate',\n 'beforeeditfocus',\n 'beforeupdate',\n 'cellchange',\n 'controlselect',\n 'dataavailable',\n 'datasetchanged',\n 'datasetcomplete',\n 'errorupdate',\n 'filterchange',\n 'layoutcomplete',\n 'losecapture',\n 'move',\n 'moveend',\n 'movestart',\n 'propertychange',\n 'resizeend',\n 'resizestart',\n 'rowenter',\n 'rowexit',\n 'rowsdelete',\n 'rowsinserted',\n 'command',\n 'compassneedscalibration',\n 'deactivate',\n 'help',\n 'mscontentzoom',\n 'msmanipulationstatechanged',\n 'msgesturechange',\n 'msgesturedoubletap',\n 'msgestureend',\n 'msgesturehold',\n 'msgesturestart',\n 'msgesturetap',\n 'msgotpointercapture',\n 'msinertiastart',\n 'mslostpointercapture',\n 'mspointercancel',\n 'mspointerdown',\n 'mspointerenter',\n 'mspointerhover',\n 'mspointerleave',\n 'mspointermove',\n 'mspointerout',\n 'mspointerover',\n 'mspointerup',\n 'pointerout',\n 'mssitemodejumplistitemremoved',\n 'msthumbnailclick',\n 'stop',\n 'storagecommit'\n];\nvar webglEventNames = ['webglcontextrestored', 'webglcontextlost', 'webglcontextcreationerror'];\nvar formEventNames = ['autocomplete', 'autocompleteerror'];\nvar detailEventNames = ['toggle'];\nvar frameEventNames = ['load'];\nvar frameSetEventNames = ['blur', 'error', 'focus', 'load', 'resize', 'scroll', 'messageerror'];\nvar marqueeEventNames = ['bounce', 'finish', 'start'];\nvar XMLHttpRequestEventNames = [\n 'loadstart', 'progress', 'abort', 'error', 'load', 'progress', 'timeout', 'loadend',\n 'readystatechange'\n];\nvar IDBIndexEventNames = ['upgradeneeded', 'complete', 'abort', 'success', 'error', 'blocked', 'versionchange', 'close'];\nvar websocketEventNames = ['close', 'error', 'open', 'message'];\nvar workerEventNames = ['error', 'message'];\nvar eventNames = globalEventHandlersEventNames.concat(webglEventNames, formEventNames, detailEventNames, documentEventNames, windowEventNames, htmlElementEventNames, ieElementEventNames);\nfunction filterProperties(target, onProperties, ignoreProperties) {\n if (!ignoreProperties || ignoreProperties.length === 0) {\n return onProperties;\n }\n var tip = ignoreProperties.filter(function (ip) { return ip.target === target; });\n if (!tip || tip.length === 0) {\n return onProperties;\n }\n var targetIgnoreProperties = tip[0].ignoreProperties;\n return onProperties.filter(function (op) { return targetIgnoreProperties.indexOf(op) === -1; });\n}\nfunction patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {\n // check whether target is available, sometimes target will be undefined\n // because different browser or some 3rd party plugin.\n if (!target) {\n return;\n }\n var filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n patchOnProperties(target, filteredProperties, prototype);\n}\nfunction propertyDescriptorPatch(api, _global) {\n if (isNode && !isMix) {\n return;\n }\n var supportsWebSocket = typeof WebSocket !== 'undefined';\n if (canPatchViaPropertyDescriptor()) {\n var ignoreProperties = _global['__Zone_ignore_on_properties'];\n // for browsers that we can patch the descriptor: Chrome & Firefox\n if (isBrowser) {\n var internalWindow = window;\n var ignoreErrorProperties = isIE ? [{ target: internalWindow, ignoreProperties: ['error'] }] : [];\n // in IE/Edge, onProp not exist in window object, but in WindowPrototype\n // so we need to pass WindowPrototype to check onProp exist or not\n patchFilteredProperties(internalWindow, eventNames.concat(['messageerror']), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(internalWindow));\n patchFilteredProperties(Document.prototype, eventNames, ignoreProperties);\n if (typeof internalWindow['SVGElement'] !== 'undefined') {\n patchFilteredProperties(internalWindow['SVGElement'].prototype, eventNames, ignoreProperties);\n }\n patchFilteredProperties(Element.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLElement.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLMediaElement.prototype, mediaElementEventNames, ignoreProperties);\n patchFilteredProperties(HTMLFrameSetElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLBodyElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLFrameElement.prototype, frameEventNames, ignoreProperties);\n patchFilteredProperties(HTMLIFrameElement.prototype, frameEventNames, ignoreProperties);\n var HTMLMarqueeElement_1 = internalWindow['HTMLMarqueeElement'];\n if (HTMLMarqueeElement_1) {\n patchFilteredProperties(HTMLMarqueeElement_1.prototype, marqueeEventNames, ignoreProperties);\n }\n var Worker_1 = internalWindow['Worker'];\n if (Worker_1) {\n patchFilteredProperties(Worker_1.prototype, workerEventNames, ignoreProperties);\n }\n }\n patchFilteredProperties(XMLHttpRequest.prototype, XMLHttpRequestEventNames, ignoreProperties);\n var XMLHttpRequestEventTarget_1 = _global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget_1) {\n patchFilteredProperties(XMLHttpRequestEventTarget_1 && XMLHttpRequestEventTarget_1.prototype, XMLHttpRequestEventNames, ignoreProperties);\n }\n if (typeof IDBIndex !== 'undefined') {\n patchFilteredProperties(IDBIndex.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBOpenDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBDatabase.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBTransaction.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBCursor.prototype, IDBIndexEventNames, ignoreProperties);\n }\n if (supportsWebSocket) {\n patchFilteredProperties(WebSocket.prototype, websocketEventNames, ignoreProperties);\n }\n }\n else {\n // Safari, Android browsers (Jelly Bean)\n patchViaCapturingAllTheEvents();\n patchClass('XMLHttpRequest');\n if (supportsWebSocket) {\n apply(api, _global);\n }\n }\n}\nfunction canPatchViaPropertyDescriptor() {\n if ((isBrowser || isMix) && !ObjectGetOwnPropertyDescriptor(HTMLElement.prototype, 'onclick') &&\n typeof Element !== 'undefined') {\n // WebKit https://bugs.webkit.org/show_bug.cgi?id=134364\n // IDL interface attributes are not configurable\n var desc = ObjectGetOwnPropertyDescriptor(Element.prototype, 'onclick');\n if (desc && !desc.configurable)\n return false;\n }\n var ON_READY_STATE_CHANGE = 'onreadystatechange';\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n var xhrDesc = ObjectGetOwnPropertyDescriptor(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE);\n // add enumerable and configurable here because in opera\n // by default XMLHttpRequest.prototype.onreadystatechange is undefined\n // without adding enumerable and configurable will cause onreadystatechange\n // non-configurable\n // and if XMLHttpRequest.prototype.onreadystatechange is undefined,\n // we should set a real desc instead a fake one\n if (xhrDesc) {\n ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {\n enumerable: true,\n configurable: true,\n get: function () {\n return true;\n }\n });\n var req = new XMLHttpRequest();\n var result = !!req.onreadystatechange;\n // restore original desc\n ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, xhrDesc || {});\n return result;\n }\n else {\n var SYMBOL_FAKE_ONREADYSTATECHANGE_1 = zoneSymbol('fake');\n ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {\n enumerable: true,\n configurable: true,\n get: function () {\n return this[SYMBOL_FAKE_ONREADYSTATECHANGE_1];\n },\n set: function (value) {\n this[SYMBOL_FAKE_ONREADYSTATECHANGE_1] = value;\n }\n });\n var req = new XMLHttpRequest();\n var detectFunc = function () { };\n req.onreadystatechange = detectFunc;\n var result = req[SYMBOL_FAKE_ONREADYSTATECHANGE_1] === detectFunc;\n req.onreadystatechange = null;\n return result;\n }\n}\nvar unboundKey = zoneSymbol('unbound');\n// Whenever any eventListener fires, we check the eventListener target and all parents\n// for `onwhatever` properties and replace them with zone-bound functions\n// - Chrome (for now)\nfunction patchViaCapturingAllTheEvents() {\n var _loop_1 = function (i) {\n var property = eventNames[i];\n var onproperty = 'on' + property;\n self.addEventListener(property, function (event) {\n var elt = event.target, bound, source;\n if (elt) {\n source = elt.constructor['name'] + '.' + onproperty;\n }\n else {\n source = 'unknown.' + onproperty;\n }\n while (elt) {\n if (elt[onproperty] && !elt[onproperty][unboundKey]) {\n bound = wrapWithCurrentZone(elt[onproperty], source);\n bound[unboundKey] = elt[onproperty];\n elt[onproperty] = bound;\n }\n elt = elt.parentElement;\n }\n }, true);\n };\n for (var i = 0; i < eventNames.length; i++) {\n _loop_1(i);\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction eventTargetPatch(_global, api) {\n var WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video';\n var NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket'\n .split(',');\n var EVENT_TARGET = 'EventTarget';\n var apis = [];\n var isWtf = _global['wtf'];\n var WTF_ISSUE_555_ARRAY = WTF_ISSUE_555.split(',');\n if (isWtf) {\n // Workaround for: https://github.com/google/tracing-framework/issues/555\n apis = WTF_ISSUE_555_ARRAY.map(function (v) { return 'HTML' + v + 'Element'; }).concat(NO_EVENT_TARGET);\n }\n else if (_global[EVENT_TARGET]) {\n apis.push(EVENT_TARGET);\n }\n else {\n // Note: EventTarget is not available in all browsers,\n // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget\n apis = NO_EVENT_TARGET;\n }\n var isDisableIECheck = _global['__Zone_disable_IE_check'] || false;\n var isEnableCrossContextCheck = _global['__Zone_enable_cross_context_check'] || false;\n var ieOrEdge = isIEOrEdge();\n var ADD_EVENT_LISTENER_SOURCE = '.addEventListener:';\n var FUNCTION_WRAPPER = '[object FunctionWrapper]';\n var BROWSER_TOOLS = 'function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }';\n // predefine all __zone_symbol__ + eventName + true/false string\n for (var i = 0; i < eventNames.length; i++) {\n var eventName = eventNames[i];\n var falseEventName = eventName + FALSE_STR;\n var trueEventName = eventName + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames$1[eventName] = {};\n zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;\n }\n // predefine all task.source string\n for (var i = 0; i < WTF_ISSUE_555.length; i++) {\n var target = WTF_ISSUE_555_ARRAY[i];\n var targets = globalSources[target] = {};\n for (var j = 0; j < eventNames.length; j++) {\n var eventName = eventNames[j];\n targets[eventName] = target + ADD_EVENT_LISTENER_SOURCE + eventName;\n }\n }\n var checkIEAndCrossContext = function (nativeDelegate, delegate, target, args) {\n if (!isDisableIECheck && ieOrEdge) {\n if (isEnableCrossContextCheck) {\n try {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n else {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n }\n else if (isEnableCrossContextCheck) {\n try {\n delegate.toString();\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n return true;\n };\n var apiTypes = [];\n for (var i = 0; i < apis.length; i++) {\n var type = _global[apis[i]];\n apiTypes.push(type && type.prototype);\n }\n // vh is validateHandler to check event handler\n // is valid or not(for security check)\n patchEventTarget(_global, apiTypes, { vh: checkIEAndCrossContext });\n api.patchEventTarget = patchEventTarget;\n return true;\n}\nfunction patchEvent(global, api) {\n patchEventPrototype(global, api);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction patchCallbacks(target, targetName, method, callbacks) {\n var symbol = Zone.__symbol__(method);\n if (target[symbol]) {\n return;\n }\n var nativeDelegate = target[symbol] = target[method];\n target[method] = function (name, opts, options) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n var source = targetName + \".\" + method + \"::\" + callback;\n var prototype = opts.prototype;\n if (prototype.hasOwnProperty(callback)) {\n var descriptor = ObjectGetOwnPropertyDescriptor(prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = wrapWithCurrentZone(descriptor.value, source);\n _redefineProperty(opts.prototype, callback, descriptor);\n }\n else if (prototype[callback]) {\n prototype[callback] = wrapWithCurrentZone(prototype[callback], source);\n }\n }\n else if (prototype[callback]) {\n prototype[callback] = wrapWithCurrentZone(prototype[callback], source);\n }\n });\n }\n return nativeDelegate.call(target, name, opts, options);\n };\n attachOriginToPatched(target[method], nativeDelegate);\n}\nfunction registerElementPatch(_global) {\n if ((!isBrowser && !isMix) || !('registerElement' in _global.document)) {\n return;\n }\n var callbacks = ['createdCallback', 'attachedCallback', 'detachedCallback', 'attributeChangedCallback'];\n patchCallbacks(document, 'Document', 'registerElement', callbacks);\n}\nfunction patchCustomElements(_global) {\n if ((!isBrowser && !isMix) || !('customElements' in _global)) {\n return;\n }\n var callbacks = ['connectedCallback', 'disconnectedCallback', 'adoptedCallback', 'attributeChangedCallback'];\n patchCallbacks(_global.customElements, 'customElements', 'define', callbacks);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nZone.__load_patch('util', function (global, Zone, api) {\n api.patchOnProperties = patchOnProperties;\n api.patchMethod = patchMethod;\n api.bindArguments = bindArguments;\n});\nZone.__load_patch('timers', function (global) {\n var set = 'set';\n var clear = 'clear';\n patchTimer(global, set, clear, 'Timeout');\n patchTimer(global, set, clear, 'Interval');\n patchTimer(global, set, clear, 'Immediate');\n});\nZone.__load_patch('requestAnimationFrame', function (global) {\n patchTimer(global, 'request', 'cancel', 'AnimationFrame');\n patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');\n patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\n});\nZone.__load_patch('blocking', function (global, Zone) {\n var blockingMethods = ['alert', 'prompt', 'confirm'];\n for (var i = 0; i < blockingMethods.length; i++) {\n var name_1 = blockingMethods[i];\n patchMethod(global, name_1, function (delegate, symbol, name) {\n return function (s, args) {\n return Zone.current.run(delegate, global, args, name);\n };\n });\n }\n});\nZone.__load_patch('EventTarget', function (global, Zone, api) {\n // load blackListEvents from global\n var SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');\n if (global[SYMBOL_BLACK_LISTED_EVENTS]) {\n Zone[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_BLACK_LISTED_EVENTS];\n }\n patchEvent(global, api);\n eventTargetPatch(global, api);\n // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener\n var XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {\n api.patchEventTarget(global, [XMLHttpRequestEventTarget.prototype]);\n }\n patchClass('MutationObserver');\n patchClass('WebKitMutationObserver');\n patchClass('IntersectionObserver');\n patchClass('FileReader');\n});\nZone.__load_patch('on_property', function (global, Zone, api) {\n propertyDescriptorPatch(api, global);\n propertyPatch();\n});\nZone.__load_patch('customElements', function (global, Zone, api) {\n registerElementPatch(global);\n patchCustomElements(global);\n});\nZone.__load_patch('canvas', function (global) {\n var HTMLCanvasElement = global['HTMLCanvasElement'];\n if (typeof HTMLCanvasElement !== 'undefined' && HTMLCanvasElement.prototype &&\n HTMLCanvasElement.prototype.toBlob) {\n patchMacroTask(HTMLCanvasElement.prototype, 'toBlob', function (self, args) {\n return { name: 'HTMLCanvasElement.toBlob', target: self, cbIdx: 0, args: args };\n });\n }\n});\nZone.__load_patch('XHR', function (global, Zone) {\n // Treat XMLHttpRequest as a macrotask.\n patchXHR(global);\n var XHR_TASK = zoneSymbol('xhrTask');\n var XHR_SYNC = zoneSymbol('xhrSync');\n var XHR_LISTENER = zoneSymbol('xhrListener');\n var XHR_SCHEDULED = zoneSymbol('xhrScheduled');\n var XHR_URL = zoneSymbol('xhrURL');\n var XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol('xhrErrorBeforeScheduled');\n function patchXHR(window) {\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n function findPendingTask(target) {\n return target[XHR_TASK];\n }\n var oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n var oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n if (!oriAddListener) {\n var XMLHttpRequestEventTarget_1 = window['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget_1) {\n var XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget_1.prototype;\n oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n }\n var READY_STATE_CHANGE = 'readystatechange';\n var SCHEDULED = 'scheduled';\n function scheduleTask(task) {\n var data = task.data;\n var target = data.target;\n target[XHR_SCHEDULED] = false;\n target[XHR_ERROR_BEFORE_SCHEDULED] = false;\n // remove existing event listener\n var listener = target[XHR_LISTENER];\n if (!oriAddListener) {\n oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n if (listener) {\n oriRemoveListener.call(target, READY_STATE_CHANGE, listener);\n }\n var newListener = target[XHR_LISTENER] = function () {\n if (target.readyState === target.DONE) {\n // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with\n // readyState=4 multiple times, so we need to check task state here\n if (!data.aborted && target[XHR_SCHEDULED] && task.state === SCHEDULED) {\n // check whether the xhr has registered onload listener\n // if that is the case, the task should invoke after all\n // onload listeners finish.\n var loadTasks = target['__zone_symbol__loadfalse'];\n if (loadTasks && loadTasks.length > 0) {\n var oriInvoke_1 = task.invoke;\n task.invoke = function () {\n // need to load the tasks again, because in other\n // load listener, they may remove themselves\n var loadTasks = target['__zone_symbol__loadfalse'];\n for (var i = 0; i < loadTasks.length; i++) {\n if (loadTasks[i] === task) {\n loadTasks.splice(i, 1);\n }\n }\n if (!data.aborted && task.state === SCHEDULED) {\n oriInvoke_1.call(task);\n }\n };\n loadTasks.push(task);\n }\n else {\n task.invoke();\n }\n }\n else if (!data.aborted && target[XHR_SCHEDULED] === false) {\n // error occurs when xhr.send()\n target[XHR_ERROR_BEFORE_SCHEDULED] = true;\n }\n }\n };\n oriAddListener.call(target, READY_STATE_CHANGE, newListener);\n var storedTask = target[XHR_TASK];\n if (!storedTask) {\n target[XHR_TASK] = task;\n }\n sendNative.apply(target, data.args);\n target[XHR_SCHEDULED] = true;\n return task;\n }\n function placeholderCallback() { }\n function clearTask(task) {\n var data = task.data;\n // Note - ideally, we would call data.target.removeEventListener here, but it's too late\n // to prevent it from firing. So instead, we store info for the event listener.\n data.aborted = true;\n return abortNative.apply(data.target, data.args);\n }\n var openNative = patchMethod(XMLHttpRequestPrototype, 'open', function () { return function (self, args) {\n self[XHR_SYNC] = args[2] == false;\n self[XHR_URL] = args[1];\n return openNative.apply(self, args);\n }; });\n var XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send';\n var fetchTaskAborting = zoneSymbol('fetchTaskAborting');\n var fetchTaskScheduling = zoneSymbol('fetchTaskScheduling');\n var sendNative = patchMethod(XMLHttpRequestPrototype, 'send', function () { return function (self, args) {\n if (Zone.current[fetchTaskScheduling] === true) {\n // a fetch is scheduling, so we are using xhr to polyfill fetch\n // and because we already schedule macroTask for fetch, we should\n // not schedule a macroTask for xhr again\n return sendNative.apply(self, args);\n }\n if (self[XHR_SYNC]) {\n // if the XHR is sync there is no task to schedule, just execute the code.\n return sendNative.apply(self, args);\n }\n else {\n var options = { target: self, url: self[XHR_URL], isPeriodic: false, args: args, aborted: false };\n var task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);\n if (self && self[XHR_ERROR_BEFORE_SCHEDULED] === true && !options.aborted &&\n task.state === SCHEDULED) {\n // xhr request throw error when send\n // we should invoke task instead of leaving a scheduled\n // pending macroTask\n task.invoke();\n }\n }\n }; });\n var abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', function () { return function (self, args) {\n var task = findPendingTask(self);\n if (task && typeof task.type == 'string') {\n // If the XHR has already completed, do nothing.\n // If the XHR has already been aborted, do nothing.\n // Fix #569, call abort multiple times before done will cause\n // macroTask task count be negative number\n if (task.cancelFn == null || (task.data && task.data.aborted)) {\n return;\n }\n task.zone.cancelTask(task);\n }\n else if (Zone.current[fetchTaskAborting] === true) {\n // the abort is called from fetch polyfill, we need to call native abort of XHR.\n return abortNative.apply(self, args);\n }\n // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no\n // task\n // to cancel. Do nothing.\n }; });\n }\n});\nZone.__load_patch('geolocation', function (global) {\n /// GEO_LOCATION\n if (global['navigator'] && global['navigator'].geolocation) {\n patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n }\n});\nZone.__load_patch('PromiseRejectionEvent', function (global, Zone) {\n // handle unhandled promise rejection\n function findPromiseRejectionHandler(evtName) {\n return function (e) {\n var eventTasks = findEventTasks(global, evtName);\n eventTasks.forEach(function (eventTask) {\n // windows has added unhandledrejection event listener\n // trigger the event listener\n var PromiseRejectionEvent = global['PromiseRejectionEvent'];\n if (PromiseRejectionEvent) {\n var evt = new PromiseRejectionEvent(evtName, { promise: e.promise, reason: e.rejection });\n eventTask.invoke(evt);\n }\n });\n };\n }\n if (global['PromiseRejectionEvent']) {\n Zone[zoneSymbol('unhandledPromiseRejectionHandler')] =\n findPromiseRejectionHandler('unhandledrejection');\n Zone[zoneSymbol('rejectionHandledHandler')] =\n findPromiseRejectionHandler('rejectionhandled');\n }\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n})));\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","import { Component, OnInit, OnDestroy, Renderer2 } from '@angular/core';\nimport { Router, NavigationEnd } from '@angular/router';\nimport { Location } from '@angular/common';\n\nimport { Subscription } from 'rxjs';\nimport { Observable } from 'rxjs/Observable';\n\nimport { DeviceDetectorService } from 'ngx-device-detector';\n\n//import { NavService } from './services/nav.service';\nimport { SearchService } from './shared/search.service';\n\nimport { LatestBrowserVersions } from './shared/browser-versions';\n\n\n@Component({\n selector: 'app-root',\n templateUrl: './browser-update-template.html',\n styles: [`.alert {margin-bottom: 0rem;}`]\n // templateUrl: './app.component.html',\n // styles: [`\n // :host {\n // min-height: 100%;\n // }\n // `]\n})\nexport class AppComponent implements OnInit {\n currentYear: number;\n modules;\n error: any;\n showHomeHeader: boolean = true;\n stickHomeHeader: boolean = false;\n routeSubscription: Subscription;\n deviceInfo: any;\n browserver: number;\n browsername: string;\n browserWarningOpen: boolean = false;\n IEbrowserWarningOpen: boolean = false;\n\n constructor(\n public location: Location,\n public router: Router,\n public renderer: Renderer2,\n public searchService: SearchService,\n private _deviceService: DeviceDetectorService,\n //public navService: NavService\n ) {\n this.checkBrowserVersion();\n //searchService.svcRenderer = renderer;\n }\n\n checkBrowserVersion() {\n //console.log(\"Entered into checkBrowserVersion method\");\n this.deviceInfo = this._deviceService.getDeviceInfo();\n this.browserver = parseInt(this.deviceInfo.browser_version);\n this.browsername = this.deviceInfo.browser;\n const isMobile = this._deviceService.isMobile();\n const isTablet = this._deviceService.isTablet();\n const isDesktopDevice = this._deviceService.isDesktop();\n\n //console.log(\"deviceInfo\"+this.deviceInfo+\"browserver\"+this.browserver+\"browsername\"+this.browsername + LatestBrowserVersions[this.browsername]);\n //console.log(isMobile, isTablet, isDesktopDevice);\n\n if (this.browsername == 'IE') {\n if (LatestBrowserVersions[this.browsername] - 1 >= this.browserver) {\n this.IEbrowserWarningOpen = true;\n }\n }\n else {\n if (LatestBrowserVersions[this.browsername] - 1 >= this.browserver) {\n this.browserWarningOpen = true;\n }\n }\n }\n\n ngOnInit() {\n this.routeSubscription = this.router.events\n // .filter(event => event instanceof NavigationEnd)\n .subscribe(event => {\n /*\n the homepage header/footer only really seem to apply to potential clients. this hides them on any 'admin' related route- we can also use this to swap it out for an 'admin-related' header if necessary\n */\n //this.showHomeHeader = !event['url'].includes('admin');\n this.stickHomeHeader = event['url'] !== '/';\n });\n this.currentYear = new Date().getFullYear();\n }\n\n ngOnDestroy() {\n if (this.routeSubscription) { this.routeSubscription.unsubscribe(); }\n }\n\n closeBrowserWarning() {\n this.browserWarningOpen = false;\n }\n closeIEBrowserWarning() {\n this.IEbrowserWarningOpen = false;\n }\n}\n","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { HttpClientModule } from '@angular/common/http';\nimport { CurrencyPipe } from '@angular/common';\nimport { HttpModule } from '@angular/http';\nimport { CommonModule } from '@angular/common';\nimport { FileUploadModule } from 'ng2-file-upload';\n\n\n//routing\nimport { routing } from './app.routes';\n\n//components\nimport { AppComponent } from './app.component';\n\nimport { LoadingComponent } from './loading-spinner/loading.component';\n\nimport { NotificationComponent } from './notification/notification.component';\nimport { PaginationComponent } from './shared/pagination.component';\n\n\n//import * as GoogleChart from 'angular2-google-chart/directives/angular2-google-chart.directive';\n\nimport {GoogleChart} from './shared/angular2-google-chart.directive';\n//services used by whole application\nimport { AccountService } from './shared/account.service';\nimport { AuthService } from './shared/auth.service';\nimport { BackendService } from './shared/backend.service';\nimport { FilterService } from './shared/filter.service';\nimport { LoadingService } from './loading-spinner/loading.service';\nimport { NotificationService } from './notification/notification.service';\nimport { OrderByService } from './shared/orderby.service';\nimport { PaginationService } from './shared/pagination.service';\nimport { SearchService } from './shared/search.service';\nimport { Utilities } from './shared/utilities.service';\n//import { NgxDatatableModule } from '@swimlane/ngx-datatable';\n//guards\nimport { AuthGuard } from './guards/auth.guard';\n\nimport {\n MatAutocompleteModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatChipsModule,\n MatDatepickerModule,\n MatDialogModule,\n MatExpansionModule,\n MatFormFieldModule,\n MatGridListModule,\n MatIconModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatPaginatorModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatSelectModule,\n MatSidenavModule,\n MatSliderModule,\n MatSlideToggleModule,\n MatSnackBarModule,\n MatSortModule,\n MatTableModule,\n MatTabsModule,\n MatToolbarModule,\n MatTooltipModule,\n MatStepperModule,\n } from '@angular/material';\n import {MatNativeDateModule, MatRippleModule} from '@angular/material';\n import {BrowserAnimationsModule} from '@angular/platform-browser/animations';\n import {LocationStrategy, HashLocationStrategy} from '@angular/common';\n\nimport { DeviceDetectorModule } from 'ngx-device-detector';\n\nimport { LandingComponent } from './landing/landing.component';\n//import { ApplicationComponent } from './application/application.component';\n//import { ApplicationComponent,AdditionalInformationComponent } from './application/application.component';\nimport { ApplicationComponent } from './application/application.component';\nimport { KycComponent } from './kyc/kyc.component';\nimport { DocumentsComponent } from './documents/documents.component';\nimport { CorporateComponent} from './corporate/corporate.component';\n// import { CorporateComponent,BeneficialOwnerDetails,CadditionalInformation,pepInformation} from './corporate/corporate.component';\n\nimport { BeneficialOwnersForm} from './corporate/beneficial-owners-form.template';\nimport { KycBeneficiaryComponent } from './kyc/kyc-beneficiary.component';\n\n\n@NgModule({\n declarations: [\n AppComponent,\n LoadingComponent,\n NotificationComponent,\n PaginationComponent,\n GoogleChart,\n LandingComponent,\n ApplicationComponent,\n KycComponent,\n DocumentsComponent,\n CorporateComponent,\n \n BeneficialOwnersForm,\n KycBeneficiaryComponent\n \n ],\n imports: [\n BrowserModule,CommonModule,\n BrowserAnimationsModule,\n FormsModule,\n ReactiveFormsModule,\n HttpClientModule,\n routing,\n HttpModule,\n \n // BrowserAnimationsModule,\n FormsModule,\n ReactiveFormsModule,\n routing,\n \n //SharedModule,\n // NgxDatatableModule,\n MatAutocompleteModule, // Material modules starts here\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatChipsModule,\n MatTableModule,\n MatDatepickerModule,\n MatDialogModule,\n MatExpansionModule,\n MatFormFieldModule,\n MatGridListModule,\n MatIconModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatPaginatorModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatRippleModule,\n MatSelectModule,\n MatSidenavModule,\n MatSlideToggleModule,\n MatSliderModule,\n MatSnackBarModule,\n MatSortModule,\n MatStepperModule,\n MatTabsModule,\n MatToolbarModule,\n MatTooltipModule,\n MatNativeDateModule, \n DeviceDetectorModule.forRoot(),\n FileUploadModule,\n \n ],\n entryComponents: [AppComponent],\n providers: [\n AccountService,\n AuthGuard,\n AuthService,\n BackendService,\n CurrencyPipe,\n FilterService,\n LoadingService,\n NotificationService,\n OrderByService,\n PaginationService,\n SearchService,\n Utilities\n \n // {provide: LocationStrategy, useClass: HashLocationStrategy},\n \n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { Routes, RouterModule, PreloadAllModules } from '@angular/router';\r\nimport { NgModule } from '@angular/core';\r\nimport { AuthGuard } from './guards/auth.guard';\r\nimport { Utilities } from './shared/utilities.service';\r\nimport { LandingComponent } from './landing/landing.component';\r\n//import { ApplicationComponent, AdditionalInformationComponent } from './application/application.component';\r\nimport { ApplicationComponent } from './application/application.component';\r\nimport { KycComponent } from './kyc/kyc.component';\r\nimport { DocumentsComponent } from './documents/documents.component';\r\nimport { CorporateComponent} from './corporate/corporate.component';\r\n\r\nconst routes: Routes = [\r\n \r\n {\r\n path:'',\r\n component:LandingComponent\r\n },\r\n {\r\n path:'Individual-Application',\r\n component:ApplicationComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n // {\r\n // path:'Individual/AdditionalInformation',\r\n // component:AdditionalInformationComponent\r\n // },\r\n {\r\n path:'Corporate-Application',\r\n component:CorporateComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n // {\r\n // path:'Corporate/BeneficialOwnerDetails',\r\n // component:BeneficialOwnerDetails\r\n // },\r\n // {\r\n // path:'Corporate/AdditionalInformation',\r\n // component:CadditionalInformation\r\n // },\r\n // {\r\n // path:'Corporate/PepInformation',\r\n // component:pepInformation\r\n // },\r\n \r\n\r\n {\r\n path:'kyc',\r\n component:KycComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path:'documents',\r\n component:DocumentsComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n// {\r\n// path:'beneficial-owners-design-mockup',\r\n// component:BeneficialOwnersDesignMockup\r\n// },\r\n];\r\n\r\nexport const routing = RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules });\r\n \r\n\r\n","module.exports = \"
\\n
\\n
\\n \\\"St\\n
\\n
\\n
\\n
\\n
\\n\\n \\n Name\\n *\\n \\n \\n \\n \\n \\n\\n \\n Name\\n *\\n \\n \\n \\n \\n \\n\\n
\\n \\n Nationality\\n *\\n \\n \\n \\n {{item}} \\n \\n \\n \\n \\n \\n\\n \\n Nationality\\n *\\n \\n \\n \\n {{item}}\\n \\n \\n \\n \\n \\n\\n\\n
\\n \\n Citizenship\\n *\\n \\n \\n \\n {{item}}\\n \\n \\n \\n \\n \\n\\n \\n Citizenship\\n *\\n \\n \\n \\n {{item}}\\n \\n \\n \\n \\n \\n\\n\\n\\n
\\n \\n Tax Jurisdiction\\n *\\n \\n \\n \\n {{item}}\\n \\n \\n \\n \\n \\n \\n Tax Jurisdiction\\n *\\n \\n \\n \\n {{item}}\\n \\n \\n \\n \\n \\n
\\n\\n \\n Citizen/Resident in more than one country\\n
\\n \\n Date Of Birth\\n *\\n \\n \\n \\n \\n \\n \\n \\n Date Of Birth\\n *\\n \\n \\n \\n \\n \\n
\\n \\n Place Of Birth\\n *\\n \\n \\n \\n \\n \\n \\n Place Of Birth\\n *\\n \\n \\n \\n \\n \\n
\\n \\n Mailing Address\\n *\\n \\n \\n \\n \\n \\n \\n Mailing Address\\n *\\n \\n \\n \\n \\n \\n
\\n \\n Telephone\\n *\\n \\n \\n \\n \\n \\n \\n Telephone\\n *\\n \\n \\n \\n \\n \\n
\\n \\n SSN/Tax ID\\n *\\n \\n \\n \\n \\n \\n \\n SSN/Tax ID\\n *\\n \\n \\n \\n \\n \\n
\\n \\n Occupation\\n *\\n \\n \\n \\n Please enter below 25 characters\\n \\n \\n \\n Occupation\\n *\\n \\n \\n \\n Please enter below 25 characters\\n \\n \\n
\\n\\n \\n\\n
\\n\\n
\\n \\n \\n
\\n\\n\\n
\\n \\n\\n
\\n   \\n
\\n\\n \\n Conducting Transactions On Behalf Of Another Person/Entity\\n \\n
\\n No  \\n Yes\\n \\n
\\n
\\n
\\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n \\n Please Explain\\n \\n \\n\\n \\n \\n Please Explain\\n \\n \\n
\\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n Purpose of Account\\n *\\n \\n \\n Borrower\\n Lender\\n Custody\\n Administration\\n Other\\n \\n \\n \\n Purpose of Account\\n *\\n \\n \\n Borrower\\n Lender\\n Custody\\n Administration\\n Other\\n \\n \\n \\n
\\n \\n
Estimated Activity\\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n \\n Est # Trans In
\\n \\n Please enter number only\\n \\n
\\n \\n \\n Est # Trans In
\\n \\n Please enter number only\\n \\n

\\n\\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n \\n Est # Trans Out
\\n \\n \\n
\\n \\n \\n Est # Trans Out
\\n \\n \\n

\\n\\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n \\n \\n Est $ Amount In
\\n \\n \\n
\\n \\n \\n \\n Est $ Amount In
\\n \\n \\n
\\n
\\n\\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n \\n \\n Est $ Amount Out
\\n \\n \\n
\\n \\n \\n \\n Est $ Amount Out
\\n \\n \\n

\\n\\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n \\n # Trans Per Month
\\n \\n \\n
\\n \\n \\n # Trans Per Month
\\n \\n \\n

\\n\\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n \\n Avg Amount Per Trans
\\n \\n \\n
\\n\\n \\n \\n Avg Amount Per Trans
\\n \\n \\n

\\n
\\n
\\n \\n\\n
Banking Information\\n\\n \\n \\n Bank Name and Address
\\n \\n \\n
\\n \\n \\n Bank Name and Address
\\n \\n \\n
\\n
\\n \\n \\n Telephone number of Bank
\\n \\n \\n
\\n \\n \\n Telephone number of Bank
\\n \\n \\n

\\n \\n \\n Wire Instructions
\\n \\n \\n
\\n \\n \\n Wire Instructions
\\n \\n \\n
\\n
\\n
\\n \\n \\n \\n\\n \\n Name of Account (If different)\\n \\n \\n \\n \\n Name of Account (If different)\\n \\n \\n \\n\\n
\\n \\n INSTRUCTION FOR TRANSMISSION (by telephone, telefax and email)\\n \\n
\\n No  \\n Yes\\n \\n \\n
\\n
\\n
\\n \\n Are you a Holder of Prominent Public Function\\n \\n
\\n No  \\n Yes\\n \\n \\n
\\n
\\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n \\n State Name of Individual Function and Country\\n \\n \\n \\n \\n\\n \\n \\n State Name of Individual Function and Country\\n \\n \\n \\n \\n
\\n
\\n
\\n \\n Are you an immediate family member of a PEP (spouse, child, parent, brother,\\n sister)\\n \\n
\\n No \\n Yes\\n \\n \\n
\\n
\\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n \\n Please state name and relationship status\\n \\n \\n \\n \\n Please state name and relationship status\\n \\n \\n
\\n
\\n
\\n \\n Are you an associate of a PEP\\n \\n
\\n No  \\n Yes\\n \\n \\n
\\n
\\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n \\n Please state name and relationship status\\n \\n \\n \\n \\n Please state name and relationship status\\n \\n \\n
\\n
\\n\\n\\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n Apart from the account holder above, identify the status of the PEP in the Account\\n *\\n \\n \\n Beneficial Owner\\n Authorized Signatory\\n POA\\n \\n \\n \\n \\n \\n Apart from the account holder above, identify the status of the PEP in the Account\\n *\\n \\n \\n Beneficial Owner\\n Authorized Signatory\\n POA\\n \\n \\n \\n \\n
\\n\\n \\n
\\n\\n
\\n \\n \\n
\\n\\n
\\n
\\n
\\n\\n\"","module.exports = \".Container {\\n padding-left: 35%;\\n padding-top: 12%;\\n margin: 8px 0;\\n position: relative;\\n margin-top: 0%;\\n background-position: left top;\\n background-size: cover; }\\n\\n.loginbtn {\\n background-color: #80cbc4; }\\n\\n.ovverwrite {\\n background-color: #00FFFF; }\\n\\n.header {\\n position: fixed;\\n top: 2%;\\n width: 90%;\\n color: white;\\n text-align: center; }\\n\\n.backGround {\\n background-color: #8a94b6;\\n width: 50%; }\\n\\n.color {\\n color: white; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwbGljYXRpb24vRDpcXFJhZ2hhdmEgcHJvamVjdHNcXFN0SmFtZXNcXEZyb250ZW5kL3NyY1xcYXBwXFxhcHBsaWNhdGlvblxcYXBwbGljYXRpb24uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFLTSxpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2QsYUFBYTtFQUNiLGtCQUFrQjtFQUNuQixjQUFhO0VBQ2IsNkJBQTZCO0VBQzdCLHNCQUFzQixFQUFBOztBQUs3QjtFQUlJLHlCQUF5QixFQUFBOztBQUk3QjtFQUlJLHlCQUF5QixFQUFBOztBQWU3QjtFQUVJLGVBQWdCO0VBQ2hCLE9BQU87RUFDUCxVQUFVO0VBQ1YsWUFBVztFQUNkLGtCQUFrQixFQUFBOztBQUluQjtFQUVJLHlCQUFtQztFQUNuQyxVQUFTLEVBQUE7O0FBS2I7RUFFSSxZQUFXLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9hcHBsaWNhdGlvbi9hcHBsaWNhdGlvbi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5Db250YWluZXJcclxue1xyXG5cclxuICAgICAgICBcclxuXHJcbiAgICAgIHBhZGRpbmctbGVmdDogMzUlO1xyXG4gICAgICBwYWRkaW5nLXRvcDogMTIlO1xyXG4gICAgICAgIG1hcmdpbjogOHB4IDA7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgbWFyZ2luLXRvcDowJTtcclxuICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgdG9wO1xyXG4gICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIFxyXG4gICBcclxufVxyXG5cclxuLmxvZ2luYnRuXHJcbntcclxuICAgLy8gd2lkdGg6NDA7XHJcbiAgICAvL2xlZnQ6MjAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzgwY2JjNDtcclxuICAgLy8gYm9yZGVyLXJhZGl1czoxMCU7XHJcblxyXG59XHJcbi5vdnZlcndyaXRlXHJcbntcclxuICAgLy8gd2lkdGg6NDA7XHJcbiAgICAvL2xlZnQ6MjAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwRkZGRjtcclxuICAgLy8gYm9yZGVyLXJhZGl1czoxMCU7XHJcblxyXG59XHJcbi8vIC5mb290ZXIge1xyXG4vLyBcdHBvc2l0aW9uIDogZml4ZWQ7XHJcbi8vIFx0Ym90dG9tOjAlO1xyXG4vLyBcdHdpZHRoOiA5MCU7XHJcbi8vIFx0Y29sb3I6d2hpdGU7XHJcbi8vICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbi8vICAgICBtYXJnaW4tbGVmdDozcHg7XHJcbi8vICAgICBsZWZ0OjM1JTtcclxuLy8gXHQvL2JvcmRlcjogM3B4IHNvbGlkICMxZDU3OTlmZDtcclxuLy8gXHQvL2JhY2tncm91bmQtY29sb3I6IzFkNTc5OWZkO1xyXG4vLyB9XHJcbi5oZWFkZXJcclxue1xyXG4gICAgcG9zaXRpb24gOiBmaXhlZDtcclxuICAgIHRvcDogMiU7XHJcbiAgICB3aWR0aDogOTAlO1xyXG4gICAgY29sb3I6d2hpdGU7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdC8vYm9yZGVyOiAzcHggc29saWQgIzFkNTc5OWZkO1xyXG5cdC8vYmFja2dyb3VuZC1jb2xvcjojMWQ1Nzk5ZmQ7XHJcbn1cclxuLmJhY2tHcm91bmRcclxueyBcclxuICAgIGJhY2tncm91bmQtY29sb3I6cmdiKDEzOCwgMTQ4LCAxODIpO1xyXG4gICAgd2lkdGg6NTAlO1xyXG5cclxufVxyXG5cclxuXHJcbi5jb2xvclxyXG57XHJcbiAgICBjb2xvcjp3aGl0ZTtcclxuXHJcbn0iXX0= */\"","import { Component, OnInit, Input } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { BackendService } from 'app/shared/backend.service';\nimport CONFIG from 'config';\nimport { AuthService } from 'app/shared/auth.service';\nimport { Router } from '@angular/router';\nimport { NotificationService } from 'app/notification/notification.service';\nimport { validateConfig } from '@angular/router/src/config';\nimport { MatRadioGroup } from '@angular/material';\nimport { HttpClient, HttpEventType, HttpRequest, HttpResponse } from '@angular/common/http';\nimport { DatePipe } from '@angular/common';\n// import { ApplicationComponent,AdditionalInformationComponent } from './application/application.component';\nimport { LandingComponent } from '../landing/landing.component';\n\n@Component({\n selector: 'app-application',\n templateUrl: './application.component.html',\n styleUrls: ['./application.component.scss'],\n providers: [DatePipe]\n})\nexport class ApplicationComponent implements OnInit {\n loadingData: boolean = true;\n Application: FormGroup;\n additional: FormGroup;\n submitted: Boolean = false;\n getCustomers: any;\n maxDate = new Date(new Date().setDate(new Date().getDate() - 1));\n minDate = new Date(new Date().setFullYear(new Date().getFullYear() - 20));\n nationality: any;\n ApplicationData: any; estamountin: any; estamountout: any;\n nextpagestatus: boolean = false;\n myFilesData: string[] = [];\n form: any;\n name: string;\n selected: any;\n typeOfApplication: boolean;\n typeOfApplication1: boolean = false;\n powerAttorney: boolean = false;\n holderProminent: boolean;\n familymemberchecked: boolean;\n familymemberchecked1: boolean;\n FamilymemberValue: boolean;\n pep: boolean;\n explain: any; Nameofperson: any; individualFunction: any;\n relationshipStatus: any; stateNameAndRelationShip: any;\n values: \"\";\n values1: \"\";\n values2: \"\";\n values3: \"\";\n values4: \"\";\n Testing: any;\n POASignature: any;\n POA: any;\n POASignaturebyte: any;\n POAbyte: any;\n fileName: any;\n data: any = null;\n currentYear: number;\n documents: any;\n user: any = null;\n additionalinfo: any;\n ssis: any = null;\n additionalsetup: any;\n myFiles: string[] = [];\n\n files: any;\n FileCount: string[] = [];\n FileNamesArray: string[] = [];\n FileByteArray: string[] = [];\n filestring: any;\n\n FileShortname: string[] = [];\n sMsg: string = '';\n selection: boolean = true;\n POAS: boolean;\n POAI: boolean;\n checkboxvalue: boolean = false;\n conductingtransactions: any = null;\n purposeofaccount: any = null;\n EstTransInValue: any = null;\n EstTransOutValue: any = null;\n EstAmountInValue: any = null;\n EstAmountOutValue: any = null;\n TransPerMonthValue: any = null;\n AvgAmountPerTransValue: any = null;\n datas: any;\n holderofpromonent: any = null;\n immediatefamily: any = null;\n associateofpep: any = null;\n statusofpep: any = null;\n entitypoa: any = null;\n accountHolderValue: any = null;\n BackButton: any;\n open: boolean; open1: boolean;\n telefax: any;\n checkTELEFAX: any;\n checkTELEFAX1: any;\n holderProminentChecked: any;\n holderProminentChecked1: any;\n pepchecked: boolean;\n pepchecked1: boolean;\n openchecked: boolean; openchecked1: boolean;\n account: any;\n\n\n customer: boolean; customers: boolean;\n Birth: boolean; Births: boolean;\n Address: boolean; Addresss: boolean;\n Phone: boolean; Phones: boolean;\n Ssn: boolean; Ssns: boolean;\n Profession: boolean; Professions: boolean;\n Date: boolean; Dates: boolean\n Nationality: boolean; Nationalitys: boolean;\n Citizenship: boolean; Citizenships: boolean;\n Jurisdiction: boolean; Jurisdictions: boolean\n AccountName: boolean; AccountNames: boolean;\n\n entityvalue: any; holdervalue: any; powerattorneyvalue: any; TELEFAXANDEMAIL: any;\n familyvalue: any; pepvalue: any; telefaxvalue: any;\n formatedamount: any;\n constructor(public _formBulider: FormBuilder,\n\n public _backendService: BackendService,\n public _authService: AuthService,\n public _router: Router,\n public _notificationService: NotificationService,\n private http: HttpClient,\n public _datepipe: DatePipe) { }\n\n ngOnInit() {\n this.scrollTop();\n // this.user[0].customerName = '';\n this.autoFilling();\n this.setForm();\n this.setForm1();\n this._backendService.getData(`${CONFIG.getCustomerCountryApiUrlBase}`)\n .subscribe(response => {\n this.getCustomers = response['getCustomerCountry'];\n //console.log(this.getCustomers);\n this.loadingData = true;\n });\n this.getDocuments();\n }\n\n currencyformatnewIn(event) {\n const formatter = new Intl.NumberFormat('en-US', {\n // style: 'currency',\n currency: 'USD',\n minimumFractionDigits: 2\n });\n\n this.formatedamount = event.target.value.toString().replace(/,/g, \"\");\n //console.log(formatter.format(event.target.value)); // \"$1,000.00\"\n // this.formatedamount = formatter.format(event.target.value);\n // this.EstAmountInValue[0].floatValue = formatter.format(this.formatedamount);\n this.estamountin = formatter.format(this.formatedamount);\n this.additional.controls['EstAmountIn'].setValue(this.estamountin);\n\n }\n currencyformatofIn(event) {\n const formatter = new Intl.NumberFormat('en-US', {\n // style: 'currency',\n currency: 'USD',\n minimumFractionDigits: 2\n });\n\n this.formatedamount = event.target.value.toString().replace(/,/g, \"\");\n //console.log(formatter.format(event.target.value)); // \"$1,000.00\"\n // this.formatedamount = formatter.format(event.target.value);\n // this.EstAmountInValue[0].floatValue = formatter.format(this.formatedamount);\n this.estamountin = formatter.format(this.formatedamount);\n this.additional.controls['EstAmountIn'].setValue(this.estamountin);\n\n }\n currencyformatofOut(event) {\n const formatter = new Intl.NumberFormat('en-US', {\n // style: 'currency',\n currency: 'USD',\n minimumFractionDigits: 2\n });\n\n this.formatedamount = event.target.value.toString().replace(/,/g, \"\");\n //console.log(formatter.format(event.target.value)); // \"$1,000.00\"\n // this.formatedamount = formatter.format(event.target.value);\n this.EstAmountOutValue[0].floatValue = formatter.format(this.formatedamount);\n\n }\n currencyformatnewOut(event) {\n const formatter = new Intl.NumberFormat('en-US', {\n // style: 'currency',\n currency: 'USD',\n minimumFractionDigits: 2\n });\n\n this.formatedamount = event.target.value.toString().replace(/,/g, \"\");\n //console.log(formatter.format(event.target.value)); // \"$1,000.00\"\n // this.formatedamount = formatter.format(event.target.value);\n // this.EstAmountOutValue[0].floatValue = formatter.format(this.formatedamount);\n this.estamountout = formatter.format(this.formatedamount);\n this.additional.controls['EstAmountOut'].setValue(this.estamountout);\n\n }\n\n currencyformatforAVGAMNT(event) {\n //console.log(\"avrg trans ngg\");\n const formatter = new Intl.NumberFormat('en-US', {\n // style: 'currency',\n currency: 'USD',\n minimumFractionDigits: 2\n });\n this.formatedamount = event.target.value.toString().replace(/,/g, \"\");\n //console.log(formatter.format(event.target.value)); // \"$1,000.00\"\n // this.formatedamount = formatter.format(event.target.value);\n // this.EstAmountOutValue[0].floatValue = formatter.format(this.formatedamount);\n this.estamountout = formatter.format(this.formatedamount);\n this.additional.controls['AvgAmountPerTrans'].setValue(this.estamountout);\n\n }\n currencyformatAVGAMNT(event) {\n //console.log(\"avrg trans\");\n const formatter = new Intl.NumberFormat('en-US', {\n // style: 'currency',\n currency: 'USD',\n minimumFractionDigits: 2\n });\n this.formatedamount = event.target.value.toString().replace(/,/g, \"\");\n //console.log(formatter.format(event.target.value)); // \"$1,000.00\"\n // this.formatedamount = formatter.format(event.target.value);\n this.AvgAmountPerTransValue[0].floatValue = formatter.format(this.formatedamount);\n //console.log(this.AvgAmountPerTransValue[0].floatValue);\n }\n getDocuments() {\n this.loadingData = false;\n this._backendService.getData(`${CONFIG.kycCorporateApplicationApiUrlBase}/${this._authService.CustomerID}/${this._authService.Company}`)\n .subscribe(response => {\n this.documents = response['documents'];\n //console.log(this.documents);\n //console.log(this.documents.length);\n this.loadingData = true;\n this.FileOverwriteOption(this.documents.length);\n });\n }\n FileOverwriteOption(value) {\n // console.log(value);\n for (let i = 0; i < value; i++) {\n // console.log(this.documents[i]);\n if (this.documents[i] == \"POASignature\") {\n this.POAS = true;\n break;\n }\n }\n for (let i = 0; i < value; i++) {\n if (this.documents[i] == \"POAIdentification\") {\n // console.log(\"second condition\");\n this.POAI = true;\n break;\n }\n }\n\n }\n\n backclick() {\n this.BackButton = \"Back\";\n this.nextpagestatus = false;\n this.scrollTop();\n }\n btnclickevent1() {\n this.POAS = false;\n }\n btnclickevent2() {\n this.POAI = false;\n }\n autoFilling() {\n this.loadingData = false;\n this._backendService.getData(`${CONFIG.landingApiUrlBase}/${this._authService.CustomerID}/${this._authService.Company}`)\n .subscribe(response => {\n // console.log(response);\n this.loadingData = true;\n this.user = response['user'];\n\n if (this.user.customerName == undefined) {\n //console.log(this.user.customerName);\n this.customer = false;\n this.customers = true;\n }\n else {\n this.customer = true;\n this.customers = false;\n }\n if (this.user.placeOfBirth == undefined) {\n //console.log(this.user.placeOfBirth);\n this.Birth = false;\n this.Births = true;\n }\n else {\n this.Birth = true;\n this.Births = false;\n }\n if (this.user.customerAddress == undefined) {\n //console.log(this.user.customerAddress);\n this.Address = false;\n this.Addresss = true;\n }\n else {\n this.Phone = true;\n this.Phones = false;\n }\n if (this.user.customerphone == undefined) {\n //console.log(this.user.customerphone);\n this.Phone = false;\n this.Phones = true;\n }\n else {\n this.Address = true;\n this.Addresss = false;\n }\n if (this.user.ssn == undefined) {\n //console.log(this.user.ssn);\n this.Ssn = false;\n this.Ssns = true;\n }\n else {\n this.Ssn = true;\n this.Ssns = false;\n }\n\n if (this.user.profession == undefined) {\n //console.log(this.user.profession);\n this.Profession = false;\n this.Professions = true;\n }\n else {\n this.Profession = true;\n this.Professions = false;\n }\n if (this.user.dateofBirth == undefined) {\n //console.log(this.user.dateofBirth);\n this.Date = false;\n this.Dates = true;\n }\n else {\n this.Date = true;\n this.Dates = false;\n }\n if (this.user.nationality == undefined) {\n //console.log(this.user.nationality);\n this.Nationality = false;\n this.Nationalitys = true;\n }\n else {\n this.Nationality = true;\n this.Nationalitys = false;\n }\n\n if (this.user.customerCountry == undefined) {\n //console.log(this.user.customerCountry);\n this.Citizenship = false;\n this.Citizenships = true;\n }\n else {\n this.Citizenship = true;\n this.Citizenships = false;\n }\n if (this.user.taxJurisdiction == undefined) {\n //console.log(this.user.taxJurisdiction);\n this.Jurisdiction = false;\n this.Jurisdictions = true;\n }\n else {\n this.Jurisdiction = true;\n this.Jurisdictions = false;\n }\n\n if (this.user.country == 'yes') {\n this.checkboxvalue = true;\n }\n\n this.user.dateofBirth = new Date(this.user.dateofBirth);\n //console.log(this.user.dateofBirth);\n this.additionalinfo = response['additionalinfo'];\n // console.log(this.additionalinfo);\n this.ssis = response['ssis'];\n //console.log(this.ssis.beneficiaryBankAddress);\n //console.log(this.ssis.beneficiary_Bank_Name);\n this.additionalsetup = response['additionalsetup'];\n\n this.conductingtransactions = this.additionalinfo.filter(x => x.stringValue == \"On Behalf Details\");\n\n //console.log(this.conductingtransactions);\n if (this.conductingtransactions.length != 0) {\n\n if (this.conductingtransactions[0].booleanValue == 'False') {\n //console.log('if');\n this.typeOfApplication = false;\n this.openchecked = true;\n this.openchecked1 = false;\n //console.log(this.conductingtransactions.length);\n }\n else {\n // console.log('if else');\n this.openchecked = false;\n this.openchecked1 = true;\n this.typeOfApplication = true;\n }\n }\n else {\n\n this.openchecked = false;\n this.openchecked1 = false;\n }\n\n this.account = response['account'];\n if (this.account.accountName == undefined) {\n //console.log(this.account.accountName);\n this.AccountName = false;\n this.AccountNames = true;\n }\n else {\n // console.log(this.account.accountName);\n this.AccountName = true;\n this.AccountNames = false;\n }\n\n\n this.purposeofaccount = this.additionalinfo.filter(x => x.stringValue == \"Purpose of Account\");\n\n //console.log(this.purposeofaccount);\n\n this.EstTransInValue = this.additionalinfo.filter(x => x.stringValue == \"Est Trans In\");\n this.EstTransOutValue = this.additionalinfo.filter(x => x.stringValue == \"Est Trans Out\");\n this.EstAmountInValue = this.additionalinfo.filter(x => x.stringValue == \"Est Amount In\");\n const formatter = new Intl.NumberFormat('en-US', {\n // style: 'currency',\n currency: 'USD',\n minimumFractionDigits: 2\n });\n\n if (this.EstAmountInValue.length != 0) {\n this.EstAmountInValue[0].floatValue = formatter.format(this.EstAmountInValue[0].floatValue);\n }\n this.EstAmountOutValue = this.additionalinfo.filter(x => x.stringValue == \"Est Amount Out\");\n if (this.EstAmountOutValue.length != 0) {\n this.EstAmountOutValue[0].floatValue = formatter.format(this.EstAmountOutValue[0].floatValue);\n }\n\n this.TransPerMonthValue = this.additionalinfo.filter(x => x.stringValue == \"Trans Per Month\");\n this.AvgAmountPerTransValue = this.additionalinfo.filter(x => x.stringValue == \"AvgAmount Per Trans\");\n if (this.AvgAmountPerTransValue.length != 0) {\n this.AvgAmountPerTransValue[0].floatValue = formatter.format(this.AvgAmountPerTransValue[0].floatValue);\n }\n this.holderofpromonent = this.additionalinfo.filter(x => x.stringValue == \"PPF Details\");\n //console.log(this.holderofpromonent.length);\n if (this.holderofpromonent.length != 0) {\n if (this.holderofpromonent[0].booleanValue == 'False') {\n //console.log('if');\n this.holderProminent = false;\n this.holderProminentChecked = true;\n this.holderProminentChecked1 = false;\n }\n else {\n this.holderProminent = true;\n this.holderProminentChecked = false;\n this.holderProminentChecked1 = true;\n }\n }\n else {\n this.holderProminentChecked = false;\n this.holderProminentChecked1 = false;\n }\n\n this.immediatefamily = this.additionalinfo.filter(x => x.stringValue == \"Family of PEP Detail\");\n //console.log(this.immediatefamily.length);\n if (this.immediatefamily.length != 0) {\n if (this.immediatefamily[0].booleanValue == 'False') {\n // console.log('if');\n this.FamilymemberValue = false;\n this.familymemberchecked = true;\n this.familymemberchecked1 = false;\n }\n else {\n //console.log('else');\n this.FamilymemberValue = true;\n this.familymemberchecked = false;\n this.familymemberchecked1 = true;\n }\n }\n else {\n this.familymemberchecked = false;\n this.familymemberchecked1 = false;\n }\n\n this.associateofpep = this.additionalinfo.filter(x => x.stringValue == \"Assoc of PEP Details\");\n // console.log(this.associateofpep.length);\n if (this.associateofpep.length != 0) {\n if (this.associateofpep[0].booleanValue == 'False') {\n // console.log('if');\n this.pep = false;\n this.pepchecked = true;\n this.pepchecked1 = false;\n }\n else {\n this.pep = true;\n this.pepchecked = false;\n this.pepchecked1 = true;\n }\n }\n else {\n this.pepchecked = false;\n this.pepchecked1 = false;\n }\n this.statusofpep = this.additionalinfo.filter(x => x.stringValue == \"PEP Status\");\n this.entitypoa = this.additionalinfo.filter(x => x.stringValue == \"Entity Granted POA\");\n // console.log(this.entitypoa.length);\n if (this.entitypoa.length != 0) {\n if (this.entitypoa[0].booleanValue == 'False') {\n //console.log('if');\n this.powerAttorney = false;\n this.open = true;\n this.open1 = false;\n }\n else {\n this.powerAttorney = true;\n this.open = false;\n this.open1 = true;\n }\n }\n else {\n this.open = false;\n this.open1 = false;\n }\n\n this.telefax = this.additionalinfo.filter(x => x.stringValue == \"Transmission Instr\");\n // console.log(this.telefax);\n if (this.entitypoa.length != 0) {\n if (this.telefax[0].booleanValue == 'False') {\n // console.log('if');\n this.checkTELEFAX = true;\n this.checkTELEFAX1 = false;\n }\n else {\n this.checkTELEFAX = false;\n this.checkTELEFAX1 = true;\n }\n }\n else {\n this.checkTELEFAX = false;\n this.checkTELEFAX1 = false;\n }\n\n //console.log(this.user.country, this.user, this.additionalinfo, this.ssis, this.additionalsetup);\n\n //console.log(this.telefax);\n });\n }\n newApplication(Application) {\n this.loadingData = false;\n // this.BackButton=\"Back\";\n Application.BackButton1 = this.BackButton;\n //console.log(Application.BackButton1)\n //console.log(Application);\n if (Application.Name == \"\" || Application.mallingAddress == \"\" || Application.telephone == \"\" || Application.CustomerCountry == \"\" ||\n Application.citizenship == \"\" || Application.occupation == \"\" || Application.occupation == \"\" || Application.placeofbirth == \"\" ||\n Application.ssnTax == \"\" || Application.taxjurisdiction == \"\" || Application.date == \"\") {\n this.nextpagestatus = false;\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: \"Please fill in all required fields\" })\n }\n else {\n\n // this.nextpagestatus = true;\n Application.date = this._datepipe.transform(Application.date.toString(), \"MM/dd/yyyy\");\n if (Application.residentinmorethanone == true)\n Application.residentinmorethanone = \"yes\"\n else\n Application.residentinmorethanone = \"No\"\n //console.log(Application);\n this.ApplicationData = Application;\n\n this._backendService.postData(Application, `${CONFIG.initialPageDataApiUrlBase}/${this._authService.CustomerID}`)\n .subscribe(response => {\n //console.log(response);\n if (response['result']) {\n //this._notificationService.showNotification({ type: 'success', message: response['msg'] })\n // this._authService.Landing = true;\n // this.submitted = false;\n // this._router.navigate(['/kyc'])\n this.nextpagestatus = true;\n this.loadingData = true;\n }\n else {\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: response['msg'] })\n }\n\n });\n // this._router.navigate(['Individual/AdditionalInformation']);\n }\n this.scrollTop();\n }\n setForm() {\n this.Application = this._formBulider.group({\n 'Name': ['', Validators.required],\n // 'Phone': ['', [Validators.required, Validators.pattern(/[0-9\\+\\-\\ ]/), Validators.minLength(10), Validators.maxLength(13)]],\n 'CustomerCountry': ['', Validators.required],\n 'occupation': ['', [Validators.required, Validators.maxLength(25)]],\n 'date': ['', Validators.required],\n 'placeofbirth': ['', Validators.required],\n 'mallingAddress': ['', Validators.required],\n 'telephone': ['', [Validators.required, Validators.pattern(/[0-9\\+\\-\\ ]/), Validators.minLength(10), Validators.maxLength(13)]],\n 'ssnTax': ['', Validators.required],\n 'taxjurisdiction': ['', Validators.required],\n 'citizenship': ['', Validators.required],\n 'residentinmorethanone': ['',]\n })\n }\n\n //Firstradio group method\n onChange(event) {\n //console.log(event.value);\n if (event.value == \"yes\") {\n this.typeOfApplication = true;\n this.openchecked = false;\n this.entityvalue = event.value;\n\n }\n else {\n this.typeOfApplication = false;\n this.openchecked = true;\n this.entityvalue = event.value;\n this.explain = \"\";\n }\n }\n onKeyUp(event: any) {\n this.values = event.target.value;\n\n };\n\n //Secondradio group method\n\n onChangePowerAttnrney(event) {\n //console.log(event.value);\n if (event.value == \"yes\") {\n this.powerAttorney = true;\n this.open = false;\n this.powerattorneyvalue = event.value;\n }\n else {\n this.powerAttorney = false;\n this.open = true;\n this.powerattorneyvalue = event.value;\n this.Nameofperson = \"\";\n }\n }\n pAttorney1(event1: any) {\n this.values1 = event1.target.value;\n\n };\n telefaxonchange(event) {\n if (event.value == \"yes\") {\n\n this.checkTELEFAX = false;\n this.telefaxvalue = event.value;\n this.TELEFAXANDEMAIL = event.value;\n }\n else {\n\n this.checkTELEFAX = true;\n this.telefaxvalue = event.value;\n this.TELEFAXANDEMAIL = event.value;\n\n\n }\n }\n //holder radio group\n holder(event) {\n //console.log(event.value);\n if (event.value == \"yes\") {\n this.holderProminent = true;\n this.holderProminentChecked = false;\n this.holdervalue = event.value;\n }\n else {\n this.holderProminent = false;\n this.holderProminentChecked = true;\n this.holdervalue = event.value;\n this.individualFunction = \"\";\n\n }\n }\n holdertext(event2: any) {\n this.values2 = event2.target.value;\n\n };\n //Family member of PEP\n familyDetails(event) {\n // console.log(event.value);\n this.Testing = event.value\n if (event.value == \"yes\") {\n this.FamilymemberValue = true;\n this.familymemberchecked = false;\n this.familyvalue = event.value;\n }\n else {\n this.FamilymemberValue = false;\n this.familymemberchecked = true;\n this.familyvalue = event.value;\n this.relationshipStatus = \"\";\n }\n\n }\n familyText(event3: any) {\n this.values3 = event3.target.value;\n };\n\n //PEP Details\n pepDetails(event) {\n //console.log(event.value);\n if (event.value == \"yes\") {\n this.pep = true;\n this.pepchecked = false;\n this.pepvalue = event.value;\n }\n else {\n this.pep = false;\n this.pepchecked = true;\n this.pepvalue = event.value;\n this.stateNameAndRelationShip = \"\";\n }\n\n }\n pepText(event4: any) {\n this.values4 = event4.target.value;\n\n }\n onFileInput(event) {\n console.log(event)\n }\n onFileSignature(event) {\n //console.log(event, event.target.files[0].name);\n this.POASignature = event.target.files[0].name;\n this.myFilesData.push(event.target.files);\n //console.log(event.target.files[0]);\n var reader = new FileReader();\n reader.onload = this._handleReaderLoadded1.bind(this);\n reader.readAsBinaryString(event.target.files[0]);\n }\n _handleReaderLoadded1(readerEvt) {\n //console.log(readerEvt.target.result);\n var binaryString = readerEvt.target.result;\n this.POASignaturebyte = btoa(binaryString); //Converting Binary String Data\n //console.log(this.POASignaturebyte);\n\n }\n onFilePOA(event) {\n //console.log(\"second file\");\n //console.log(event, event.target.files);\n this.POA = event.target.files[0].name;\n this.myFilesData.push(event.target.files);\n var reader = new FileReader();\n reader.onload = this._handleReaderLoadded.bind(this);\n reader.readAsBinaryString(event.target.files[0]);\n }\n // _handleReaderLoadded(readerEvt) {\n // var binaryString = readerEvt.target.result;\n // this.POAbyte = btoa(binaryString); //Converting Binary String Data\n // console.log(this.POAbyte);\n\n // }\n\n // getFileDetails(e, value) {\n // console.log(e.target.files[0].name, e.target.files);\n // for (var i = 0; i < e.target.files.length; i++) {\n // this.myFiles.push(e.target.files[i]);\n // this.FileShortname.push(value);\n // }\n // }\n _handleReaderLoadded(readerEvt) {\n var binaryString = readerEvt.target.result;\n this.filestring = btoa(binaryString); //Convaerting Binary String Data \n this.FileByteArray.push(this.filestring);\n\n }\n getFileDetails(e, value) {\n\n for (var i = 0; i < e.target.files.length; i++) {\n this.files = e.target.files;\n var reader = new FileReader();\n reader.onload = this._handleReaderLoadded.bind(this);\n reader.readAsBinaryString(this.files[i]);\n\n this.myFiles.push(e.target.files[i]);\n // this.myFiles.push(this.filestring);\n this.FileNamesArray.push(this.files[0].name);\n this.FileShortname.push(value);\n this.FileByteArray;\n\n }\n //console.log(this.FileByteArray);\n\n }\n uploadFiles(datas) {\n this.loadingData = false;\n datas = {};\n const frmData = new FormData();\n //console.log(this.myFiles);\n for (var i = 0; i < this.myFiles.length; i++) {\n frmData.append(\"string\", this.myFiles[i]);\n }\n datas.FileShortname = this.FileShortname;\n // console.log(this.FileShortname);\n //console.log(frmData);\n if (datas.FileShortname == \"\") {\n //console.log(\"lenghth\");\n this.FileShortname = [\"test\"];\n //console.log(this.FileShortname)\n }\n // console.log(frmData);\n datas.FileByteArray = this.FileByteArray;\n datas.FileNamesArray = this.FileNamesArray;\n datas.CustomerEmail = this._authService.Email;\n //console.log(this._authService.Email);\n this.http.post(`${CONFIG.individualApplicationData}/${this._authService.CustomerID}/${this._authService.ApplicationType}/${this._authService.Company}/${this.FileShortname}`, datas).subscribe(\n //this.http.post(`${CONFIG.individualApplicationData}/${this._authService.Email}/${this._authService.CustomerID}/${this._authService.ApplicationType}/${this._authService.Company}/${this.FileShortname}`, datas).subscribe(\n data => {\n // SHOW A MESSAGE RECEIVED FROM THE WEB API.\n this.sMsg = data as string;\n // console.log(this.sMsg);\n this.loadingData = true;\n // this._notificationService.showNotification({ type: 'success', message: data['msg'] });\n // this._authService.Landing = true;\n // this.submitted = false;\n // this._router.navigate(['/kyc']);\n },\n (error) => {\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: 'Server Error' });\n });\n }\n\n\n additionlInformation(data) {\n this.loadingData = false;\n data.EstAmountIn = data.EstAmountIn.toString().replace(/,/g, \"\").split(\".\")[0];\n data.EstAmountOut = data.EstAmountOut.toString().replace(/,/g, \"\").split(\".\")[0];\n // console.log(data.EstAmountIn, data.EstAmountOut);\n\n if (this.openchecked == false) {\n data.personEntity = \"yes\";\n data.explain = data.explain;\n // if(this.conductingtransactions.length!=0)\n // {\n // data.explain=this.conductingtransactions[0].memoValue;\n // }\n }\n else {\n data.personEntity = this.entityvalue;\n //console.log('Entered else');\n data.explain = this.explain;\n\n }\n\n if (this.open == false) {\n data.powerAttorney = \"yes\";\n data.Nameofperson = data.Nameofperson;\n // if(this.entitypoa.length!=0)\n // {\n // data.Nameofperson=this.entitypoa[0].memoValue;\n // }\n }\n else {\n data.powerAttorney = this.powerattorneyvalue;\n data.Nameofperson = this.Nameofperson;\n\n }\n if (this.checkTELEFAX == false) {\n data.TELEFAXANDEMAIL = data.TELEFAXANDEMAIL;\n }\n else {\n data.TELEFAXANDEMAIL = this.TELEFAXANDEMAIL;\n }\n if (this.holderProminentChecked == false) {\n data.HolderOfProminent = \"yes\";\n data.individualFunction = data.individualFunction;\n // if(this.holderofpromonent.length!=0)\n // {\n // data.individualFunction=this.holderofpromonent[0].memoValue;\n // }\n }\n else {\n data.HolderOfProminent = this.holdervalue;\n data.individualFunction = this.individualFunction;\n\n }\n if (this.familymemberchecked == false) {\n data.familyMember = \"yes\";\n // if(this.immediatefamily.length!=0)\n // {\n // data.relationshipStatus=this.immediatefamily[0].memoValue;\n // }\n }\n else {\n data.familyMember = this.familyvalue;\n data.relationshipStatus = this.relationshipStatus;\n }\n if (this.pepchecked == false) {\n data.PEP = \"yes\";\n data.stateNameAndRelationShip = data.stateNameAndRelationShip;\n // if(this.associateofpep.length!=0)\n // {\n // data.stateNameAndRelationShip=this.associateofpep[0].memoValue;\n // }\n }\n else {\n data.PEP = this.pepvalue;\n data.stateNameAndRelationShip = this.stateNameAndRelationShip;\n\n }\n if (this.POAI == true) {\n data.Identification = \"fakedata\";\n }\n if (this.POAS == true) {\n data.Signature = \"fakedata\";\n }\n\n // if (data.personEntity == undefined || data.purposeOfAccount == \"\" || data.powerAttorney == undefined ||\n // data.TELEFAXANDEMAIL == undefined || data.HolderOfProminent == undefined || data.familyMember == undefined || data.accountHolder == \"\"\n // || data.PEP == undefined) {\n // console.log(\"entered into this method\");\n // this._notificationService.showNotification({ type: 'error', message: \"Please fill in all required fields\" });\n // }\n // else {\n if ((data.personEntity == \"yes\" && data.explain == \"\")\n || (data.HolderOfProminent == \"yes\" && data.individualFunction == \"\") || (data.familyMember == \"yes\" && data.relationshipStatus == \"\") ||\n (data.PEP == \"yes\" && data.stateNameAndRelationShip == \"\")) {\n this.loadingData = true;\n //console.log(\"entered into 2 this method\");\n this._notificationService.showNotification({ type: 'error', message: \"Please fill in all required fields\" });\n }\n else {\n //console.log(\"test\")\n //console.log(this.POASignature)\n data.Signature = this.POASignature;\n data.POA = this.POA;\n data.POASignaturebyte = this.POASignaturebyte;\n data.POAbyte = this.POAbyte;\n //console.log(data);\n //console.log(this._authService.ApplicationType);\n if (data.powerAttorney == \"yes\") {\n ///console.log('upload files method');\n this.uploadFiles(this.datas);\n }\n else {\n console.log('upload elseee files method');\n }\n this._backendService.postData(data, `${CONFIG.individualApplicationApiUrlBase}/${this._authService.CustomerID}/${this._authService.ApplicationType}`)\n .subscribe(response => {\n //console.log(response);\n\n //console.log(data.powerAttorney);\n\n if (response['result']) {\n //this._notificationService.showNotification({ type: 'success', message: response['msg'] })\n // this._authService.Landing = true;\n // this.submitted = false;\n this.loadingData = true;\n this._router.navigate(['/kyc']);\n }\n else {\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: response['msg'] });\n }\n\n });\n // }\n }\n }\n\n setForm1() {\n this.additional = this._formBulider.group({\n 'purposeOfAccount': ['', Validators.required],\n 'estimatedActivity': ['', Validators.required],\n 'bInformation': ['', Validators.required],\n 'powerAttorney': ['', Validators.required],\n 'personEntity': ['', Validators.required],\n 'TELEFAXANDEMAIL': ['', Validators.required],\n 'HolderOfProminent': ['', Validators.required],\n 'familyMember': ['', Validators.required],\n 'accountHolder': ['', Validators.required],\n 'PEP': ['', Validators.required],\n 'explain': [''],\n 'Nameofperson': [''],\n 'individualFunction': ['', Validators.required],\n 'relationshipStatus': [''],\n 'stateNameAndRelationShip': [''],\n 'Signature': ['', Validators.required],\n 'Identification': ['', Validators.required],\n 'NameOfAccount': [''],\n 'EstTransIn': ['', [Validators.required, Validators.pattern(/^-?(0|[1-9]\\d*)?$/)]],\n 'EstTransOut': ['', [Validators.required, Validators.pattern(/^-?(0|[1-9]\\d*)?$/)]],\n 'EstAmountIn': ['', Validators.required],\n 'EstAmountOut': ['', Validators.required],\n 'TransPerMonth': ['', Validators.required],\n 'AvgAmountPerTrans': ['', Validators.required],\n 'AddressofBank': ['', Validators.required],\n 'TelephoneNumberOfBank': ['', Validators.required],\n 'WireInstructions': ['', Validators.required]\n })\n }\n scrollTop() {\n document.body.scrollTop = 0; // For Safari\n document.documentElement.scrollTop = 0; // For Chrome, Firefox, IE and Opera\n }\n}","module.exports = \"
\\r\\n \\r\\n You are using an outdated browser. Please \\r\\n upgrade {{browsername}}\\r\\n upgrade {{browsername}}\\r\\n upgrade {{browsername}}\\r\\n upgrade {{browsername}}\\r\\n upgrade {{browsername}}\\r\\n \\r\\n to improve your experience.\\r\\n
\\r\\n
\\r\\n \\r\\n You are using a deprecated browser. Please upgrade IE to improve your experience, \\r\\n or considering switching to a more widely supported browser.\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Copyright {{currentYear}} St. James Bank & Trust   \\r\\n    \\r\\n Privacy Policy   \\r\\n    \\r\\n Disclosures   \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"\\n
\\n \\n \\n Name\\n *\\n \\n \\n \\n \\n \\n \\n \\n Name\\n *\\n \\n \\n 25\\\">\\n Please enter below 25 characters\\n \\n \\n \\n \\n Place/Country of Birth\\n *\\n \\n \\n \\n \\n \\n \\n Place/Country of Birth\\n *\\n \\n \\n \\n \\n \\n \\n \\n Date Of Birth\\n *\\n \\n \\n \\n \\n \\n \\n \\n Date Of Birth\\n *\\n \\n \\n \\n \\n \\n \\n \\n \\n Nationality\\n *\\n \\n \\n \\n {{item}}\\n \\n \\n \\n \\n \\n\\n \\n Nationality\\n *\\n \\n \\n \\n {{item}}\\n \\n \\n \\n \\n \\n\\n \\n Mailing Address\\n *\\n \\n \\n \\n \\n \\n \\n Mailing Address\\n *\\n \\n \\n \\n \\n \\n \\n \\n Telephone\\n *\\n \\n \\n \\n \\n \\n \\n Telephone\\n *\\n \\n \\n \\n \\n \\n \\n \\n Email Address\\n *\\n \\n \\n \\n \\n \\n \\n Email Address\\n *\\n \\n \\n \\n \\n \\n\\n \\n \\n Occupation\\n *\\n \\n \\n \\n \\n \\n \\n Occupation\\n *\\n \\n \\n \\n \\n \\n \\n \\n Source of income or wealth\\n *\\n \\n \\n \\n \\n \\n \\n Source of income or wealth\\n *\\n \\n \\n \\n \\n \\n
\\n \\n
\\n \\n Individual is a US Person\\n \\n
\\n No  \\n Yes\\n

\\n
\\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n \\n Please advise\\n \\n \\n \\n \\n\\n \\n \\n Please advise\\n \\n \\n \\n \\n
\\n
\\n
\\n \\n Individual is a US Person\\n \\n
\\n No  \\n Yes\\n

\\n
\\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n \\n Please advise\\n \\n \\n \\n \\n\\n \\n \\n Please advise\\n \\n \\n \\n \\n
\\n
\\n
\\n \\n Individual is a US Person\\n \\n
\\n No  \\n Yes\\n

\\n
\\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n \\n Please advise\\n \\n \\n \\n \\n\\n \\n \\n Please advise\\n \\n \\n \\n \\n
\\n
\\n
\\n \\n Individual is a US Person\\n \\n
\\n No  \\n Yes\\n

\\n
\\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n \\n Please advise\\n \\n \\n \\n \\n\\n \\n \\n Please advise\\n \\n \\n \\n \\n
\\n
\\n
\\n \\n Individual is a US Person\\n \\n
\\n No  \\n Yes\\n

\\n
\\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n \\n Please advise\\n \\n \\n \\n \\n\\n \\n \\n Please advise\\n \\n \\n \\n \\n
\\n
\\n \\n
\\n \\n Citizen/Resident in more than one country\\n \\n
\\n No  \\n Yes\\n

\\n
\\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n \\n Please advise\\n \\n \\n \\n \\n\\n \\n \\n Please advise\\n \\n \\n \\n \\n
\\n
\\n\\n
\\n \\n Citizen/Resident in more than one country\\n \\n
\\n No  \\n Yes\\n

\\n
\\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n \\n Please advise\\n \\n \\n \\n \\n\\n \\n \\n Please advise\\n \\n \\n \\n \\n
\\n
\\n\\n
\\n \\n Citizen/Resident in more than one country\\n \\n
\\n No  \\n Yes\\n

\\n
\\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n \\n Please advise\\n \\n \\n \\n \\n\\n \\n \\n Please advise\\n \\n \\n \\n \\n
\\n
\\n\\n
\\n \\n Citizen/Resident in more than one country\\n \\n
\\n No  \\n Yes\\n

\\n
\\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n \\n Please advise\\n \\n \\n \\n \\n\\n \\n \\n Please advise\\n \\n \\n \\n \\n
\\n
\\n\\n
\\n \\n Citizen/Resident in more than one country\\n \\n
\\n No  \\n Yes\\n

\\n
\\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n \\n Please advise\\n \\n \\n \\n \\n\\n \\n \\n Please advise\\n \\n \\n \\n \\n
\\n
\\n \\n \\n Country of residence for tax purposes\\n *\\n \\n \\n \\n {{item}}\\n \\n \\n \\n \\n \\n \\n Country of residence for tax purposes\\n *\\n \\n \\n \\n {{item}}\\n \\n \\n \\n \\n \\n\\n \\n\\n \\n SSN/Tax ID\\n *\\n \\n \\n \\n \\n \\n \\n SSN/Tax ID\\n *\\n \\n \\n \\n \\n \\n\\n\\n \\n Tax Classification\\n *\\n \\n \\n \\n \\n \\n \\n Tax Classification\\n *\\n \\n \\n \\n \\n \\n\\n
\\n\\n
\\n \\n \\n
\"","import { Component, OnInit, Input, Output } from '@angular/core';\nimport { AuthService } from 'app/shared/auth.service';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { BackendService } from 'app/shared/backend.service';\nimport CONFIG from 'config';\nimport { subscribeOn } from 'rxjs/operators';\nimport { NotificationService } from 'app/notification/notification.service';\nimport { DatePipe } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport { EventEmitter } from 'selenium-webdriver';\n\n@Component({\n selector: 'beneficial-owners-form',\n templateUrl: './beneficial-owners-form.template.html',\n providers: [DatePipe]\n})\nexport class BeneficialOwnersForm implements OnInit {\n step = 0;\n beneficialowneramount = 1;\n\n setStep(index: number) {\n this.step = index;\n }\n\n nextStep() {\n this.step++;\n }\n\n prevStep() {\n this.step--;\n }\n\n // corporateApplication: FormGroup;\n BeneficialOwner: FormGroup;\n // additional: FormGroup;\n // pep: FormGroup;\n submitted: Boolean = false;\n typeOfApplication: boolean = false;\n values: \"\";\n nextpagestatus1: boolean = false;\n nextpagestatus2: boolean = true;\n nextpagestatus3: boolean = true;\n nextpagestatus4: boolean = true;\n BackButton: any;\n ApplicationData: any;\n getCustomers: any;\n currencies: any;\n us1: boolean = false; BUSchecked1: boolean; BUSchecked11: boolean; buscheckedvalue1: any; BUS1: any;\n us2: boolean = false; BUSchecked2: boolean; BUSchecked22: boolean; buscheckedvalue2: any;\n us3: boolean = false; BUSchecked3: boolean; BUSchecked33: boolean; buscheckedvalue3: any;\n us4: boolean = false; BUSchecked4: boolean; BUSchecked44: boolean; buscheckedvalue4: any;\n us5: boolean = false; BUSchecked5: boolean; BUSchecked55: boolean; buscheckedvalue5: any;\n\n Citizenchecked1: boolean; Citizenchecked11: boolean; citizenvalue1: any;\n Citizenchecked2: boolean; Citizenchecked22: boolean; citizenvalue2: any;\n Citizenchecked3: boolean; Citizenchecked33: boolean; citizenvalue3: any;\n Citizenchecked4: boolean; Citizenchecked44: boolean; citizenvalue4: any;\n Citizenchecked5: boolean; Citizenchecked55: boolean; citizenvalue5: any;\n\n bene1: any; bene2: boolean; bene3: any; bene4: boolean; bene5: any;\n citi1: any; citi2: boolean; citi3: any; citi4: boolean; citi5: any;\n BUSPerson1: any; BUSPerson2: any; BUSPerson3: any; BUSPerson4: any; BUSPerson5: any;\n BCitizen1: any; BCitizen2: any; BCitizen3: any; BCitizen4: any; BCitizen5: any;\n\n profession: boolean; professions: boolean;\n bname: boolean; bnames: boolean;\n bcity: boolean; bcitys: boolean;\n dob: boolean; dobs: boolean;\n CustInfo: boolean; CustInfos: boolean;\n beMail: boolean; beMails: boolean;\n baddress: boolean; baddresss: boolean;\n bphone: boolean; bphones: boolean;\n customercountry: boolean; customercountrys: boolean;\n taxid: boolean; taxids: boolean;\n btaxid: boolean; btaxids: boolean;\n bcountry: boolean; bcountrys: boolean;\n\n\n UTvalues1: \"\"; UTvalues2: \"\"; UTvalues3: \"\"; UTvalues4: \"\"; UTvalues5: \"\";\n Cvalues1: \"\"; Cvalues2: \"\"; Cvalues3: \"\"; Cvalues4: \"\"; Cvalues5: \"\";\n\n powerAttorney: boolean = false;\n personEntity: boolean = false;\n citizen1: boolean; citizen2: boolean; citizen3: boolean; citizen4: boolean; citizen5: boolean;\n familymember: boolean = false;\n holder: boolean = false;\n files: any;\n filestring: any;\n currentYear: number;\n accountnumber: any;\n\n pepinformation: boolean = false;\n values2: \"\";\n values3: \"\";\n values4: \"\";\n values5: \"\";\n values6: \"\";\n values7: \"\";\n finalData: any;\n Corporate1page: any;\n BenificalOwners2page: any;\n Additional3page: any;\n myFiles: string[] = [];\n sMsg: string = '';\n user: any;\n company: any;\n beneficiaries: any; ben1documents: any; ben2documents: any; ben3documents: any;\n ben4documents: any; ben5documents: any;\n account: any;\n phone: any;\n ssis: any;\n FileShortname: string[] = [];\n documents: any;\n CORS: boolean;\n CORI: boolean;\n\n conductingtransactions: any = null;\n purposeofaccount: any = null;\n EstTransInValue: any = null;\n EstTransOutValue: any = null;\n EstAmountInValue: any = null;\n EstAmountOutValue: any = null;\n TransPerMonthValue: any = null;\n AvgAmountPerTransValue: any = null;\n\n holderofpromonent: any = null;\n immediatefamily: any = null;\n associateofpep: any = null;\n statusofpep: any = null;\n entitypoa: any = null;\n accountHolderValue: any = null;\n additionalinfo: any;\n additionalsetup: any;\n usperson1: any = null; usperson2: any = null; usperson3: any = null; usperson4: any = null;\n usperson5: any = null;\n citizenresident1: any = null; citizenresident2: any = null; citizenresident3: any = null;\n citizenresident4: any = null; citizenresident5: any = null;\n Selected: any;\n\n loadingData: boolean = true;\n @Input() bankName: string;\n @Input() i: number;\n\n\n constructor(public _authService: AuthService,\n public _formBulider: FormBuilder,\n public _router: Router,\n public _notificationService: NotificationService,\n public _datepipe: DatePipe,\n public _backendService: BackendService,\n private http: HttpClient\n\n ) { }\n\n ngOnInit() {\n //console.log();\n // console.log(this._authService.BackButton)\n this.autoFilling();\n this._notificationService.timeToClose = 3000;\n this.setForm();\n\n\n this._backendService.getData(`${CONFIG.getCountryCodesApiUrlBase}`)\n .subscribe(response => {\n this.getCustomers = response['getCustomerCountry'];\n this.currencies = response['currencies'];\n //console.log(this.currencies)\n });\n\n }\n\n btnclickevent1() {\n this.CORS = false;\n }\n btnclickevent2() {\n this.CORI = false;\n }\n\n\n autoFilling() {\n this.loadingData = false;\n this._backendService.getData(`${CONFIG.beneficiariesApiUrlBase}/${this._authService.CustomerID}`)\n .subscribe(response => {\n this.loadingData = true;\n // console.log(response);\n\n this.beneficiaries = response['beneficiaries'];\n\n this.additionalinfo = response['additionalinfo'];\n\n this.ben1documents = response['ben1Documents'];\n\n //console.log(this.beneficiaries.length, this.ben1documents);\n\n this.ben2documents = response['ben2Documents'];\n this.ben3documents = response['ben3Documents'];\n this.ben4documents = response['ben4Documents'];\n this.ben5documents = response['ben5Documents'];\n // console.log(this.beneficiaries.length, this.ben1documents, this.ben2documents, this.ben3documents, this.ben4documents, this.ben5documents);\n // if(this.beneficiaries[0].dateofBirth==undefined)\n // {\n\n // }\n // else{\n\n\n //this.beneficiaries[0].dateofBirth = new Date(this.beneficiaries[0].dateofBirth);\n // console.log(this.beneficiaries[0].dateofBirth);\n // }\n\n\n // this.additionalinfo = response['additionalinfo'];\n // console.log(this.additionalinfo);\n // this.additionalsetup = response['additionalsetup'];\n\n // this.conductingtransactions = this.additionalinfo.filter(x => x.customerID == this._authService.Email && x.stringValue == \"Diff Jurisdiction\");\n // this.purposeofaccount = this.additionalinfo.filter(x => x.customerID == this._authService.Email && x.stringValue == \"Purpose of Account\");\n // console.log(this.additionalinfo);\n // console.log(this.conductingtransactions);\n\n this.usperson1 = this.ben1documents.filter(x => x.stringValue == \"US Person Details\");\n //console.log(this.usperson1);\n //console.log(this.usperson1.length);\n if (this.usperson1.length != 0) {\n\n if (this.usperson1[0].booleanValue == 'False') {\n //console.log('if if');\n this.us1 = true;\n this.BUSchecked1 = true;\n this.BUSchecked11 = false;\n this.BeneficialOwner.controls['BUS1'].setValue('No');\n\n }\n else {\n //console.log('if else');\n this.us1 = false;\n this.BUSchecked1 = false;\n this.BUSchecked11 = true;\n this.BeneficialOwner.controls['BUS1'].setValue('yes');\n }\n\n }\n else {\n\n //console.log('else');\n this.BUSchecked1 = false;\n this.BUSchecked11 = false;\n }\n this.usperson2 = this.ben2documents.filter(x => x.stringValue == \"US Person Details\");\n this.usperson3 = this.ben3documents.filter(x => x.stringValue == \"US Person Details\");\n this.usperson4 = this.ben4documents.filter(x => x.stringValue == \"US Person Details\");\n this.usperson5 = this.ben5documents.filter(x => x.stringValue == \"US Person Details\");\n //console.log(this.usperson1);\n\n\n this.citizenresident1 = this.ben1documents.filter(x => x.stringValue == \"Mult Ctry Details\");\n //console.log(this.citizenresident1);\n if (this.citizenresident1.length != 0) {\n if (this.citizenresident1[0].booleanValue == 'False') {\n // console.log('if if');\n this.citizen1 = false;\n this.Citizenchecked1 = true;\n this.Citizenchecked11 = false;\n this.BeneficialOwner.controls['BCitizenResident1'].setValue('No');\n\n }\n else {\n // console.log('if else');\n this.citizen1 = true;\n this.Citizenchecked1 = false;\n this.Citizenchecked11 = true;\n this.BeneficialOwner.controls['BCitizenResident1'].setValue('yes');\n }\n }\n else {\n //console.log('else');\n this.Citizenchecked1 = false;\n this.Citizenchecked11 = false;\n }\n\n this.citizenresident2 = this.ben2documents.filter(x => x.stringValue == \"Mult Ctry Details\");\n this.citizenresident3 = this.ben3documents.filter(x => x.stringValue == \"Mult Ctry Details\");\n this.citizenresident4 = this.ben4documents.filter(x => x.stringValue == \"Mult Ctry Details\");\n this.citizenresident5 = this.ben5documents.filter(x => x.stringValue == \"Mult Ctry Details\");\n\n this.beneficiaryform1();\n // this.i = +this._authService.benlength;\n // console.log(this.i);\n if (this.i == 1) {\n //console.log('1');\n\n this.beneficiaryform2();\n }\n\n else if (this.i == 2) {\n //console.log('2');\n this.beneficiaryform3();\n }\n\n else if (this.i == 3) {\n //console.log('3');\n this.beneficiaryform4();\n }\n\n else if (this.i == 4) {\n // console.log('4');\n this.beneficiaryform5();\n }\n else {\n console.log('else');\n }\n\n\n // console.log(this.user, this.company, this.beneficiaries, this.phone, this.account, this.ssis);\n });\n }\n\n EntityManagedDetails(event) {\n // console.log(event.value);\n if (event.value == \"yes\") {\n this.typeOfApplication = true;\n }\n else {\n this.typeOfApplication = false;\n }\n }\n EntityText(event: any) {\n this.values = event.target.value;\n //console.log(this.values)\n };\n // BenificalOwners Details\n\n BeneficialOwnerDetails(BenificalOwners) {\n //console.log(BenificalOwners);\n this.loadingData = false;\n //console.log(f);\n\n this.BenificalOwners2page = BenificalOwners;\n\n if (this.Citizenchecked1 == false) {\n BenificalOwners.BCitizenResident1 = \"yes\";\n BenificalOwners.BCitizen1 = BenificalOwners.BCitizen1;\n }\n else {\n\n BenificalOwners.BCitizenResident1 = this.citizenvalue1;\n BenificalOwners.BCitizen1 = this.BCitizen1;\n }\n\n if (this.BUSchecked1 == false) {\n // console.log(this.buscheckedvalue1);\n BenificalOwners.BUS1 = this.buscheckedvalue1;\n BenificalOwners.BUSPerson1 = this.BUSPerson1;\n\n }\n else {\n //console.log(this.buscheckedvalue1);\n BenificalOwners.BUS1 = this.buscheckedvalue1;\n BenificalOwners.BUSPerson1 = BenificalOwners.BUSPerson1;\n }\n\n BenificalOwners.BackButton1 = this.BackButton;\n if (BenificalOwners.BName == \"\" || BenificalOwners.BCountryOfBirth == \"\" || BenificalOwners.BDateOfBirth == \"\" ||\n BenificalOwners.BCustomerCountry == \"\" || BenificalOwners.BmallingAddress == \"\" || BenificalOwners.Btelephone == \"\" ||\n BenificalOwners.BEmailAddress == \"\" || BenificalOwners.Boccupation == \"\" ||\n BenificalOwners.BSourceIncome == \"\" || BenificalOwners.BUS == undefined ||\n BenificalOwners.BCitizenResident == undefined ||\n BenificalOwners.BCountryResidence == \"\" || BenificalOwners.BSSnTax == \"\" || BenificalOwners.BTaxClassification == \"\") {\n\n this.nextpagestatus1 = true;\n this.nextpagestatus2 = false;\n this.nextpagestatus3 = true;\n this.nextpagestatus4 = true;\n // console.log(BenificalOwners.BName, BenificalOwners.BCountryOfBirth, BenificalOwners.BDateOfBirth,\n // BenificalOwners.BCustomerCountry, BenificalOwners.BmallingAddress, BenificalOwners.Btelephone,\n // BenificalOwners.BSourceIncome,\n // BenificalOwners.BCitizenResident, BenificalOwners.BUS == undefined, \"jhsgdfjsfghdjshfjhsdfgsdf\");\n this._notificationService.showNotification({ type: 'error', message: \"Please fill in all required fields\" })\n }\n\n else {\n //console.log(BenificalOwners.BDateOfBirth);\n // if (BenificalOwners.BUS == \"No\" && BenificalOwners.BUSPerson == undefined || BenificalOwners.BCitizenResident == \"yes\" && BenificalOwners.BCitizen == undefined) {\n // console.log(\"sjdfgsjdsjdf\");\n // this._notificationService.showNotification({ type: 'error', message: \"Please fill in all required fields\" });\n // }\n // else {\n\n this._backendService.postData(BenificalOwners, `${CONFIG.corporationSecondPageDataApiUrlBase}/${this._authService.CustomerID}/${this._authService.ApplicationType}`)\n .subscribe(response => {\n //console.log(response);\n\n if (response['result']) {\n this._notificationService.showNotification({ type: 'success', message: response['msg'] })\n // this._authService.Landing = true;\n // this.submitted = false;\n // this._router.navigate(['/kyc'])\n\n this.nextpagestatus1 = true;\n this.nextpagestatus2 = true;\n this.nextpagestatus3 = false;\n this.nextpagestatus4 = true;\n this.loadingData = true;\n }\n else {\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: response['msg'] })\n }\n });\n }\n\n }\n\n UsDetails1(event) {\n //console.log(event.value);\n if (event.value == \"No\") {\n\n this.us1 = true;\n this.BUSchecked11 = false;\n this.BUSchecked1 = true;\n this.buscheckedvalue1 = event.value;\n this.BeneficialOwner.controls['BUSPerson1'].setValue(this.UTvalues1);\n // console.log(this.BUSPerson1);\n }\n else {\n this.us1 = false;\n this.BUSchecked11 = true;\n this.BUSchecked1 = false;\n this.buscheckedvalue1 = event.value;\n this.BeneficialOwner.controls['BUSPerson1'].setValue('');\n //console.log(this.BUSPerson1);\n\n }\n }\n UsDetails2(event) {\n //console.log(event.value);\n if (event.value == \"No\") {\n this.us2 = true;\n this.BUSchecked22 = false;\n this.BUSchecked2 = true;\n this.buscheckedvalue1 = event.value;\n this.BeneficialOwner.controls['BUSPerson2'].setValue(this.UTvalues2);\n }\n else {\n this.us2 = false;\n this.BUSchecked22 = true;\n this.BUSchecked2 = false;\n this.buscheckedvalue2 = event.value;\n this.BeneficialOwner.controls['BUSPerson2'].setValue('');\n }\n }\n\n UsDetails3(event) {\n //console.log(event.value);\n if (event.value == \"No\") {\n this.us3 = true;\n this.BUSchecked33 = false;\n this.BUSchecked3 = true;\n this.buscheckedvalue3 = event.value;\n this.BeneficialOwner.controls['BUSPerson3'].setValue(this.UTvalues3);\n\n }\n else {\n this.us3 = false;\n this.BUSchecked33 = true;\n this.BUSchecked3 = false;\n this.buscheckedvalue3 = event.value;\n this.BeneficialOwner.controls['BUSPerson3'].setValue('');\n\n }\n }\n UsDetails4(event) {\n //console.log(event.value);\n if (event.value == \"No\") {\n this.us4 = true;\n this.BUSchecked44 = false;\n this.BUSchecked4 = true;\n this.buscheckedvalue4 = event.value;\n this.BeneficialOwner.controls['BUSPerson4'].setValue(this.UTvalues4);\n }\n else {\n this.us4 = false;\n this.BUSchecked44 = true;\n this.BUSchecked4 = false;\n this.buscheckedvalue4 = event.value;\n this.BeneficialOwner.controls['BUSPerson4'].setValue('');\n }\n }\n UsDetails5(event) {\n //console.log(event.value);\n if (event.value == \"No\") {\n this.us5 = true;\n this.BUSchecked55 = false;\n this.BUSchecked5 = true;\n this.buscheckedvalue5 = event.value;\n this.BeneficialOwner.controls['BUSPerson5'].setValue(this.UTvalues5);\n\n }\n else {\n this.us5 = false;\n this.BUSchecked55 = true;\n this.BUSchecked5 = false;\n this.buscheckedvalue5 = event.value;\n this.BeneficialOwner.controls['BUSPerson5'].setValue('');\n\n }\n }\n onKeyUp(event: any): void {\n //console.log(event.target.value.length);\n\n }\n UsText1(event: any) {\n //console.log(event.target.value);\n this.UTvalues1 = event.target.value;\n };\n UsText2(event: any) {\n this.UTvalues2 = event.target.value;\n };\n UsText3(event: any) {\n this.UTvalues3 = event.target.value;\n };\n UsText4(event: any) {\n this.UTvalues4 = event.target.value;\n };\n UsText5(event: any) {\n this.UTvalues5 = event.target.value;\n };\n CitizenResident1Details(event) {\n //console.log(event.value);\n if (event.value == \"yes\") {\n this.citizen1 = true;\n this.Citizenchecked1 = false;\n this.citizenvalue1 = event.value;\n this.BeneficialOwner.controls['BCitizen1'].setValue(this.Cvalues1);\n }\n else {\n this.citizen1 = false;\n this.Citizenchecked1 = true;\n this.citizenvalue1 = event.value;\n this.BeneficialOwner.controls['BCitizen1'].setValue('');\n }\n }\n CitizenResident2Details(event) {\n // console.log(event.value);\n if (event.value == \"yes\") {\n this.citizen2 = true;\n this.Citizenchecked2 = false;\n this.citizenvalue2 = event.value;\n this.BeneficialOwner.controls['BCitizen2'].setValue(this.Cvalues2);\n }\n else {\n this.citizen2 = false;\n this.Citizenchecked2 = true;\n this.citizenvalue2 = event.value;\n this.BeneficialOwner.controls['BCitizen2'].setValue('');\n }\n }\n CitizenResident3Details(event) {\n // console.log(event.value);\n if (event.value == \"yes\") {\n this.citizen3 = true;\n this.Citizenchecked3 = false;\n this.citizenvalue3 = event.value;\n this.BeneficialOwner.controls['BCitizen3'].setValue(this.Cvalues3);\n }\n else {\n this.citizen3 = false;\n this.Citizenchecked3 = true;\n this.citizenvalue3 = event.value;\n this.BeneficialOwner.controls['BCitizen3'].setValue('');\n }\n }\n CitizenResident4Details(event) {\n //console.log(event.value);\n if (event.value == \"yes\") {\n this.citizen4 = true;\n this.Citizenchecked4 = false;\n this.citizenvalue4 = event.value;\n this.BeneficialOwner.controls['BCitizen4'].setValue(this.Cvalues4);\n }\n else {\n this.citizen4 = false;\n this.Citizenchecked4 = true;\n this.citizenvalue4 = event.value;\n this.BeneficialOwner.controls['BCitizen4'].setValue('');\n }\n }\n CitizenResident5Details(event) {\n //console.log(event.value);\n if (event.value == \"yes\") {\n this.citizen5 = true;\n this.Citizenchecked5 = false;\n this.citizenvalue5 = event.value;\n this.BeneficialOwner.controls['BCitizen5'].setValue(this.Cvalues5);\n }\n else {\n this.citizen5 = false;\n this.Citizenchecked5 = true;\n this.citizenvalue5 = event.value;\n this.BeneficialOwner.controls['BCitizen5'].setValue('');\n }\n }\n CitizenResident1Text(event: any) {\n this.Cvalues1 = event.target.value;\n }\n CitizenResident2Text(event: any) {\n this.Cvalues2 = event.target.value;\n }\n CitizenResident3Text(event: any) {\n this.Cvalues3 = event.target.value;\n }\n CitizenResident4Text(event: any) {\n this.Cvalues4 = event.target.value;\n }\n CitizenResident5Text(event: any) {\n this.Cvalues5 = event.target.value;\n }\n\n\n backclick() {\n this.BackButton = \"Back\";\n // console.log(this.BackButton)\n this.nextpagestatus1 = false;\n this.nextpagestatus2 = true;\n this.nextpagestatus3 = true;\n this.nextpagestatus4 = true;\n }\n backclick3() {\n this.BackButton = \"Back\";\n this.nextpagestatus1 = true;\n this.nextpagestatus2 = false;\n this.nextpagestatus3 = true;\n this.nextpagestatus4 = true;\n }\n backclick4() {\n this.BackButton = \"Back\";\n this.nextpagestatus1 = true;\n this.nextpagestatus2 = true;\n this.nextpagestatus3 = false;\n this.nextpagestatus4 = true;\n }\n personEntityDetails(event) {\n // console.log(event.value);\n if (event.value == \"yes\") {\n this.personEntity = true;\n }\n else {\n this.personEntity = false;\n }\n\n }\n personEntityText(event: any) {\n this.values3 = event.target.value;\n //console.log(this.values)\n };\n\n onChangePowerAttnrney(event) {\n //console.log(event.value);\n if (event.value == \"yes\") {\n this.powerAttorney = true;\n }\n else {\n this.powerAttorney = false;\n }\n }\n PowerAttorneyText(event: any) {\n this.values4 = event.target.value;\n //console.log(this.values)\n };\n\n\n holderDetails(event) {\n //console.log(event.value);\n if (event.value == \"yes\") {\n this.holder = true;\n }\n else {\n this.holder = false;\n }\n\n }\n holderText(event: any) {\n this.values5 = event.target.value;\n //console.log(this.values)\n };\n\n familyDetails(event) {\n //console.log(event.value);\n if (event.value == \"yes\") {\n this.familymember = true;\n }\n else {\n this.familymember = false;\n }\n }\n familyText(event: any) {\n this.values6 = event.target.value;\n //console.log(this.values)\n };\n pepDetails(event) {\n //console.log(event.value);\n if (event.value == \"yes\") {\n this.pepinformation = true;\n }\n else {\n this.pepinformation = false;\n }\n }\n pepText(event: any) {\n this.values7 = event.target.value;\n //console.log(this.values)\n };\n\n beneficiaryform1() {\n //console.log(this.usperson1);\n //console.log(this.usperson1.length);\n this.bene1 = true; this.citi1 = true;\n this.bene2 = false; this.citi2 = false;\n this.bene3 = false; this.citi3 = false;\n this.bene4 = false; this.citi4 = false;\n this.bene5 = false; this.citi5 = false;\n if (this.beneficiaries[0]) {\n this.beneficiaries[0].dateofBirth = new Date(this.beneficiaries[0].dateofBirth);\n this.bname = true;\n this.bnames = false;\n this.bcity = true;\n this.bcitys = false;\n this.dob = true;\n this.dobs = false;\n this.baddress = true;\n this.baddresss = false;\n this.bphone = true;\n this.bphones = false;\n this.beMail = true;\n this.beMails = false;\n this.taxid = true;\n this.taxids = false;\n this.btaxid = true;\n this.btaxids = false;\n this.bcountry = true;\n this.bcountrys = false;\n this.profession = true;\n this.professions = false;\n this.CustInfo = true;\n this.CustInfos = false;\n }\n else {\n this.bname = false;\n this.bnames = true;\n this.bcity = false;\n this.bcitys = true;\n this.dob = false;\n this.dobs = true;\n this.baddress = false;\n this.baddresss = true;\n this.bphone = false;\n this.bphones = true;\n this.beMail = false;\n this.beMails = true;\n this.taxid = false;\n this.taxids = true;\n this.btaxid = false;\n this.btaxids = true;\n this.bcountry = false;\n this.bcountrys = true;\n this.profession = false;\n this.professions = true;\n this.CustInfo = false;\n this.CustInfos = true;\n }\n\n }\n beneficiaryform2() {\n this.bene1 = false; this.citi1 = false;\n this.bene2 = true; this.citi2 = true;\n this.bene3 = false; this.citi3 = false;\n this.bene4 = false; this.citi4 = false;\n this.bene5 = false; this.citi5 = false;\n\n //console.log(this.usperson2[0]);\n if (this.usperson2.length != 0) {\n if (this.usperson2[0].booleanValue == 'False') {\n // console.log('if if');\n this.us2 = true;\n this.BUSchecked2 = true;\n this.BUSchecked22 = false;\n }\n else {\n //console.log('if else');\n this.us2 = false;\n this.BUSchecked2 = false;\n this.BUSchecked22 = true;\n }\n }\n else {\n //console.log('else');\n this.BUSchecked2 = false;\n this.BUSchecked22 = false;\n }\n if (this.citizenresident2.length != 0) {\n if (this.citizenresident2[0].booleanValue == 'False') {\n // console.log('if if');\n this.citizen2 = false;\n this.Citizenchecked2 = true;\n this.Citizenchecked22 = false;\n\n }\n else {\n // console.log('if else');\n this.citizen2 = true;\n this.Citizenchecked2 = false;\n this.Citizenchecked22 = true;\n }\n }\n else {\n //console.log('else');\n this.Citizenchecked2 = false;\n this.Citizenchecked22 = false;\n }\n\n\n if (this.beneficiaries[1]) {\n\n this.beneficiaries[1].dateofBirth = new Date(this.beneficiaries[1].dateofBirth);\n this.bname = true;\n this.bnames = false;\n this.bcity = true;\n this.bcitys = false;\n this.dob = true;\n this.dobs = false;\n this.baddress = true;\n this.baddresss = false;\n this.bphone = true;\n this.bphones = false;\n this.beMail = true;\n this.beMails = false;\n this.taxid = true;\n this.taxids = false;\n this.btaxid = true;\n this.btaxids = false;\n this.bcountry = true;\n this.bcountrys = false;\n this.profession = true;\n this.professions = false;\n this.CustInfo = true;\n this.CustInfos = false;\n }\n else {\n this.bname = false;\n this.bnames = true;\n this.bcity = false;\n this.bcitys = true;\n this.dob = false;\n this.dobs = true;\n this.baddress = false;\n this.baddresss = true;\n this.bphone = false;\n this.bphones = true;\n this.beMail = false;\n this.beMails = true;\n this.taxid = false;\n this.taxids = true;\n this.btaxid = false;\n this.btaxids = true;\n this.bcountry = false;\n this.bcountrys = true;\n this.profession = false;\n this.professions = true;\n this.CustInfo = false;\n this.CustInfos = true;\n }\n }\n beneficiaryform3() {\n this.bene1 = false; this.citi1 = false;\n this.bene2 = false; this.citi2 = false;\n this.bene3 = true; this.citi3 = true;\n this.bene4 = false; this.citi4 = false;\n this.bene5 = false; this.citi5 = false;\n if (this.usperson3.length != 0) {\n if (this.usperson3[0].booleanValue == 'False') {\n //console.log('if if');\n this.us3 = true;\n this.BUSchecked3 = true;\n this.BUSchecked33 = false;\n }\n else {\n //console.log('if else');\n this.us3 = false;\n this.BUSchecked3 = false;\n this.BUSchecked33 = true;\n }\n }\n else {\n // console.log('else');\n this.BUSchecked3 = false;\n this.BUSchecked33 = false;\n }\n if (this.citizenresident3.length != 0) {\n if (this.citizenresident3[0].booleanValue == 'False') {\n //console.log('if if');\n this.citizen3 = false;\n this.Citizenchecked3 = true;\n this.Citizenchecked33 = false;\n\n }\n else {\n //console.log('if else');\n this.citizen3 = true;\n this.Citizenchecked3 = false;\n this.Citizenchecked33 = true;\n }\n }\n else {\n //console.log('else');\n this.Citizenchecked3 = false;\n this.Citizenchecked33 = false;\n }\n\n if (this.beneficiaries[2]) {\n this.beneficiaries[2].dateofBirth = new Date(this.beneficiaries[2].dateofBirth);\n this.bname = true;\n this.bnames = false;\n this.bcity = true;\n this.bcitys = false;\n this.dob = true;\n this.dobs = false;\n this.baddress = true;\n this.baddresss = false;\n this.bphone = true;\n this.bphones = false;\n this.beMail = true;\n this.beMails = false;\n this.taxid = true;\n this.taxids = false;\n this.btaxid = true;\n this.btaxids = false;\n this.bcountry = true;\n this.bcountrys = false;\n\n this.profession = true;\n this.professions = false;\n this.CustInfo = true;\n this.CustInfos = false;\n }\n else {\n this.bname = false;\n this.bnames = true;\n this.bcity = false;\n this.bcitys = true;\n this.dob = false;\n this.dobs = true;\n this.baddress = false;\n this.baddresss = true;\n this.bphone = false;\n this.bphones = true;\n this.beMail = false;\n this.beMails = true;\n this.taxid = false;\n this.taxids = true;\n this.btaxid = false;\n this.btaxids = true;\n this.bcountry = false;\n this.bcountrys = true;\n this.profession = false;\n this.professions = true;\n this.CustInfo = false;\n this.CustInfos = true;\n }\n }\n beneficiaryform4() {\n this.bene1 = false; this.citi1 = false;\n this.bene2 = false; this.citi2 = false;\n this.bene3 = false; this.citi3 = false;\n this.bene4 = true; this.citi4 = true;\n this.bene5 = false; this.citi5 = false;\n if (this.usperson4.length != 0) {\n if (this.usperson4[0].booleanValue == 'False') {\n //console.log('if if');\n this.us4 = true;\n this.BUSchecked4 = true;\n this.BUSchecked44 = false;\n\n }\n else {\n //console.log('if else');\n this.us4 = false;\n this.BUSchecked4 = false;\n this.BUSchecked44 = true;\n }\n\n }\n else {\n //console.log('else');\n this.BUSchecked4 = false;\n this.BUSchecked44 = false;\n\n }\n if (this.citizenresident4.length != 0) {\n if (this.citizenresident4[0].booleanValue == 'False') {\n //console.log('if if');\n this.citizen4 = false;\n this.Citizenchecked4 = true;\n this.Citizenchecked44 = false;\n\n }\n else {\n //console.log('if else');\n this.citizen4 = true;\n this.Citizenchecked4 = false;\n this.Citizenchecked44 = true;\n }\n }\n else {\n // console.log('else');\n this.Citizenchecked4 = false;\n this.Citizenchecked44 = false;\n }\n\n if (this.beneficiaries[3]) {\n this.beneficiaries[3].dateofBirth = new Date(this.beneficiaries[3].dateofBirth);\n this.bname = true;\n this.bnames = false;\n this.bcity = true;\n this.bcitys = false;\n this.dob = true;\n this.dobs = false;\n this.baddress = true;\n this.baddresss = false;\n this.bphone = true;\n this.bphones = false;\n this.beMail = true;\n this.beMails = false;\n this.taxid = true;\n this.taxids = false;\n this.btaxid = true;\n this.btaxids = false;\n this.bcountry = true;\n this.bcountrys = false;\n\n this.profession = true;\n this.professions = false;\n this.CustInfo = true;\n this.CustInfos = false;\n }\n else {\n this.bname = false;\n this.bnames = true;\n this.bcity = false;\n this.bcitys = true;\n this.dob = false;\n this.dobs = true;\n this.baddress = false;\n this.baddresss = true;\n this.bphone = false;\n this.bphones = true;\n this.beMail = false;\n this.beMails = true;\n this.taxid = false;\n this.taxids = true;\n this.btaxid = false;\n this.btaxids = true;\n this.bcountry = false;\n this.bcountrys = true;\n this.profession = false;\n this.professions = true;\n\n this.CustInfo = false;\n this.CustInfos = true;\n }\n }\n beneficiaryform5() {\n this.bene1 = false; this.citi1 = false;\n this.bene2 = false; this.citi2 = false;\n this.bene3 = false; this.citi3 = false;\n this.bene4 = false; this.citi4 = false;\n this.bene5 = true; this.citi5 = true;\n if (this.usperson5.length != 0) {\n if (this.usperson5[0].booleanValue == 'False') {\n //console.log('if if');\n this.us5 = true;\n this.BUSchecked5 = true;\n this.BUSchecked55 = false;\n\n }\n else {\n //console.log('if else');\n this.us5 = false;\n this.BUSchecked5 = false;\n this.BUSchecked55 = true;\n }\n\n }\n else {\n // console.log('else');\n this.BUSchecked5 = false;\n this.BUSchecked55 = false;\n\n }\n if (this.citizenresident5.length != 0) {\n if (this.citizenresident5[0].booleanValue == 'False') {\n //console.log('if if');\n this.citizen5 = false;\n this.Citizenchecked5 = true;\n this.Citizenchecked55 = false;\n\n }\n else {\n // console.log('if else');\n this.citizen5 = true;\n this.Citizenchecked5 = false;\n this.Citizenchecked55 = true;\n }\n }\n else {\n // console.log('else');\n this.Citizenchecked5 = false;\n this.Citizenchecked55 = false;\n }\n\n if (this.beneficiaries[4]) {\n this.beneficiaries[4].dateofBirth = new Date(this.beneficiaries[4].dateofBirth);\n this.bname = true;\n this.bnames = false;\n this.bcity = true;\n this.bcitys = false;\n this.dob = true;\n this.dobs = false;\n this.baddress = true;\n this.baddresss = false;\n this.bphone = true;\n this.bphones = false;\n this.beMail = true;\n this.beMails = false;\n this.taxid = true;\n this.taxids = false;\n this.btaxid = true;\n this.btaxids = false;\n this.bcountry = true;\n this.bcountrys = false;\n this.CustInfo = true;\n this.CustInfos = false;\n this.profession = true;\n this.professions = false;\n }\n else {\n this.bname = false;\n this.bnames = true;\n this.bcity = false;\n this.bcitys = true;\n this.dob = false;\n this.dobs = true;\n this.baddress = false;\n this.baddresss = true;\n this.bphone = false;\n this.bphones = true;\n this.beMail = false;\n this.beMails = true;\n this.taxid = false;\n this.taxids = true;\n this.btaxid = false;\n this.btaxids = true;\n this.bcountry = false;\n this.bcountrys = true;\n this.CustInfo = false;\n this.CustInfos = true;\n this.profession = false;\n this.professions = true;\n }\n }\n\n setForm() {\n this.BeneficialOwner = this._formBulider.group({\n 'BName': ['', [Validators.required, Validators.minLength(1), Validators.maxLength(25)]],\n 'BCountryOfBirth': ['', Validators.required],\n 'BDateOfBirth': ['', Validators.required],\n 'BCustomerCountry': ['', Validators.required],\n 'BmallingAddress': ['', Validators.required],\n 'Btelephone': ['', [Validators.required, Validators.pattern(/[0-9\\+\\-\\ ]/), Validators.minLength(10), Validators.maxLength(13)]],\n 'BEmailAddress': ['', [Validators.required, Validators.pattern('^[a-zA-Z0-9]+[a-zA-Z0-9.]+@[a-zA-Z]+.[a-zA-Z]+$')]],\n 'Boccupation': ['', Validators.required],\n 'BSourceIncome': ['', Validators.required],\n 'BUS1': ['', Validators.required],\n 'BUS2': ['', Validators.required],\n 'BUS3': ['', Validators.required],\n 'BUS4': ['', Validators.required],\n 'BUS5': ['', Validators.required],\n 'BUSPerson1': ['', Validators.required],\n 'BUSPerson2': ['', Validators.required],\n 'BUSPerson3': ['', Validators.required],\n 'BUSPerson4': ['', Validators.required],\n 'BUSPerson5': ['', Validators.required],\n 'BCitizenResident1': ['', Validators.required],\n 'BCitizenResident2': ['', Validators.required],\n 'BCitizenResident3': ['', Validators.required],\n 'BCitizenResident4': ['', Validators.required],\n 'BCitizenResident5': ['', Validators.required],\n 'BCitizen1': ['', Validators.required],\n 'BCitizen2': ['', Validators.required],\n 'BCitizen3': ['', Validators.required],\n 'BCitizen4': ['', Validators.required],\n 'BCitizen5': ['', Validators.required],\n 'BCountryResidence': ['', Validators.required],\n 'BSSnTax': ['', Validators.required],\n 'BTaxClassification': ['', Validators.required]\n })\n }\n\n}\n\n","module.exports = \"\\n
\\n
\\n
\\n \\\"St\\n
\\n
\\n
\\n
\\n
\\n\\n \\n Account Name\\n *\\n \\n \\n \\n\\n \\n Account Name\\n *\\n \\n \\n \\n
\\n\\n \\n\\n \\n Type Of Legal Entity\\n *\\n \\n \\n COMPANY\\n LLC\\n PARTNERSHIP\\n TRUST\\n \\n \\n\\n \\n Type Of Legal Entity\\n *\\n \\n \\n COMPANY\\n LLC\\n PARTNERSHIP\\n TRUST\\n \\n \\n\\n
\\n\\n \\n Place Of Incorporation\\n *\\n \\n \\n \\n \\n \\n Place Of Incorporation\\n *\\n \\n \\n \\n
\\n\\n \\n Date Of Incorporation\\n *\\n \\n \\n \\n \\n \\n \\n Date Of Incorporation\\n *\\n \\n \\n \\n \\n
\\n\\n \\n Primary Business Activity\\n *\\n \\n \\n \\n
\\n \\n Primary Business Activity\\n *\\n \\n \\n \\n
\\n\\n\\n \\n Business/Legal Address\\n *\\n \\n \\n \\n \\n \\n Business/Legal Address\\n *\\n \\n \\n \\n \\n\\n
\\n \\n Telephone\\n *\\n \\n \\n \\n Please Enter valid Mobile Number\\n \\n \\n \\n Telephone\\n *\\n \\n \\n \\n Please Enter valid Mobile Number\\n \\n \\n
\\n \\n Website\\n *\\n \\n \\n \\n \\n \\n Website\\n *\\n \\n \\n \\n
\\n\\n \\n Domicile (if different from address above)\\n \\n \\n \\n \\n \\n \\n Domicile (if different from address above)\\n \\n \\n \\n \\n \\n
\\n \\n Is the entity managed and/or controlled in a jurisdiction other
\\n than its place of Incorporation\\n \\n

\\n No \\n Yes\\n

\\n
\\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n \\n \\n Please Explain\\n \\n \\n \\n \\n Please Explain\\n \\n \\n
\\n \\n

\\n
\\n\\n
\\n \\n \\n
\\n\\n
\\n\\n\\n \\n \\n\\n
\\n   \\n \\n \\n \\n \\n \\n \\n Beneficial Owner 1\\n \\n \\n \\n {{this.child.BeneficialOwner.value.BName}}\\n \\n \\n\\n \\n \\n 1\\\" (opened)=\\\"panelOpenState = true\\\"\\n (closed)=\\\"panelOpenState = false\\\">\\n \\n \\n Beneficial Owner 2\\n \\n \\n \\n {{this.child.BeneficialOwner.value.BName}}\\n \\n \\n \\n \\n 2\\\" (opened)=\\\"panelOpenState = true\\\"\\n (closed)=\\\"panelOpenState = false\\\">\\n \\n \\n Beneficial Owner 3\\n \\n \\n \\n {{this.child.BeneficialOwner.value.BName}}\\n \\n \\n \\n \\n 3\\\" (opened)=\\\"panelOpenState = true\\\"\\n (closed)=\\\"panelOpenState = false\\\">\\n \\n \\n Beneficial Owner 4\\n \\n \\n \\n {{this.child.BeneficialOwner.value.BName}}\\n \\n \\n \\n \\n 4\\\" (opened)=\\\"panelOpenState = true\\\"\\n (closed)=\\\"panelOpenState = false\\\">\\n \\n \\n Beneficial Owner 5\\n \\n \\n \\n {{this.child.BeneficialOwner.value.BName}}\\n \\n \\n \\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n
\\n\\n
\\n \\n \\n
\\n \\n
\\n \\n\\n
\\n   \\n
\\n \\n \\n Are you conducting transactions on behalf of another person/entity\\n \\n
\\n No  \\n Yes\\n

\\n
\\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n \\n Please Explain\\n \\n \\n\\n \\n \\n Please Explain\\n \\n \\n
\\n \\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n Purpose of Account\\n *\\n \\n \\n Borrower\\n Lender\\n Custody\\n Administration\\n Other\\n \\n \\n\\n \\n Purpose of Account\\n *\\n \\n \\n Borrower\\n Lender\\n Custody\\n Administration\\n Other\\n \\n \\n
\\n \\n \\n
Estimated Activity\\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n \\n Estimated initial transfer to Bank
\\n \\n Please enter number only\\n \\n
\\n \\n \\n Estimated initial transfer to Bank
\\n \\n Please enter number only\\n \\n

\\n\\n \\n \\n \\n Currency\\n *\\n \\n \\n \\n {{item}}\\n \\n \\n \\n \\n \\n\\n \\n Currency\\n *\\n \\n \\n \\n {{item}}\\n \\n \\n \\n \\n \\n\\n \\n \\n\\n \\n \\n \\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n \\n # of transactions In
\\n \\n \\n
\\n \\n \\n # of transactions In
\\n \\n \\n

\\n \\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n \\n # of transactions Out
\\n \\n \\n
\\n \\n \\n # of transactions Out
\\n \\n \\n

\\n \\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n \\n \\n Expected $ amount in
\\n \\n \\n
\\n \\n \\n \\n Expected $ amount in
\\n \\n \\n

\\n \\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n \\n \\n Expected $ amount out
\\n \\n \\n
\\n \\n \\n \\n Expected $ amount out
\\n \\n \\n

\\n
\\n
\\n\\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n Tax Classification\\n *\\n \\n \\n \\n \\n \\n \\n \\n Tax Classification\\n *\\n \\n \\n \\n \\n \\n \\n
\\n \\n Tax ID\\n *\\n \\n \\n \\n \\n
\\n \\n\\n
Banking Information\\n\\n \\n \\n \\n Bank Name and Address
\\n \\n \\n
\\n \\n \\n Bank Name and Address
\\n \\n \\n

\\n\\n \\n \\n \\n Contact Person
\\n \\n \\n
\\n \\n \\n Contact Person
\\n \\n \\n

\\n\\n \\n \\n \\n Telephone Number of Bank
\\n \\n \\n
\\n \\n \\n Telephone Number of Bank
\\n \\n \\n

\\n \\n \\n \\n Wire Instructions
\\n \\n \\n
\\n \\n \\n Wire Instructions
\\n \\n \\n

\\n
\\n\\n
\\n \\n \\n Power Of Attorney\\n \\n
\\n No  \\n Yes\\n

\\n
\\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n \\n Name of person/entity granted POA\\n \\n \\n \\n \\n \\n \\n Name of person/entity granted POA\\n \\n \\n \\n
\\n\\n\\n\\n\\n\\n
\\n
\\n
\\n Upload Signature Sample:\\n
\\n
\\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n \\n
\\n
\\n\\n \\n\\n
\\n
\\n \\n \\n
\\n
\\n\\n \\n \\n\\n
\\n
\\n
Identification of POA (certified copies):
\\n
\\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n \\n
\\n
\\n\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n \\n\\n \\n
\\n\\n \\n INSTRUCTION FOR TRANSMISSION (by telephone, telefax and email)\\n \\n
\\n No  \\n Yes\\n

\\n\\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n Name of Account (If different)\\n \\n \\n \\n \\n \\n Name of Account (If different)\\n \\n \\n \\n
\\n\\n \\n

\\n
\\n\\n
\\n \\n \\n
\\n
\\n\\n \\n\\n
\\n   \\n
\\n \\n \\n Are any persons affiliated with this account a holder of Prominent
\\n Public Function (“PPF”)\\n \\n

\\n No  \\n Yes\\n

\\n
\\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n \\n State Name of Individual Function and Country\\n \\n \\n \\n \\n \\n \\n State Name of Individual Function and Country\\n \\n \\n \\n \\n\\n
\\n \\n \\n Are any persons affiliated with this account an immediate family
\\n member of a PEP? (i.e. spouse, child, parent, brother,sister)\\n \\n

\\n No  \\n Yes\\n

\\n
\\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n \\n Please state name and relationship status\\n \\n \\n \\n \\n \\n \\n Please state name and relationship status\\n \\n \\n \\n \\n
\\n \\n \\n Are any persons affiliated with this account an Associate of a PEP?\\n \\n
\\n No  \\n Yes\\n

\\n
\\n 0\\\" appearance=\\\"fill\\\" class=\\\"w-100 mb-1\\\">\\n \\n Please state name and relationship status\\n \\n \\n \\n \\n \\n \\n Please state name and relationship status\\n \\n \\n \\n \\n
\\n\\n \\n\\n
\\n
\\n \\n \\n
\\n\\n
\\n\\n
\\n
\\n\\n\"","module.exports = \".Container {\\n padding-left: 35%;\\n padding-top: 12%;\\n margin: 8px 0;\\n position: relative;\\n margin-top: 0%;\\n background-position: left top;\\n background-size: cover; }\\n\\n.loginbtn {\\n background-color: #80cbc4; }\\n\\n.header {\\n position: fixed;\\n top: 2%;\\n width: 90%;\\n color: white;\\n text-align: center; }\\n\\n.backGround {\\n background-color: #8a94b6;\\n width: 50%; }\\n\\n.color {\\n color: white; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29ycG9yYXRlL0Q6XFxSYWdoYXZhIHByb2plY3RzXFxTdEphbWVzXFxGcm9udGVuZC9zcmNcXGFwcFxcY29ycG9yYXRlXFxjb3Jwb3JhdGUuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFLTSxpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2QsYUFBYTtFQUNiLGtCQUFrQjtFQUNuQixjQUFhO0VBQ2IsNkJBQTZCO0VBQzdCLHNCQUFzQixFQUFBOztBQUs3QjtFQUlJLHlCQUF5QixFQUFBOztBQWM3QjtFQUVJLGVBQWdCO0VBQ2hCLE9BQU87RUFDUCxVQUFVO0VBQ1YsWUFBVztFQUNkLGtCQUFrQixFQUFBOztBQUduQjtFQUVJLHlCQUFtQztFQUNuQyxVQUFTLEVBQUE7O0FBS2I7RUFFSSxZQUFXLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9jb3Jwb3JhdGUvY29ycG9yYXRlLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLkNvbnRhaW5lclxyXG57XHJcblxyXG4gICAgICAgIFxyXG5cclxuICAgICAgcGFkZGluZy1sZWZ0OiAzNSU7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAxMiU7XHJcbiAgICAgICAgbWFyZ2luOiA4cHggMDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICBtYXJnaW4tdG9wOjAlO1xyXG4gICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7XHJcbiAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgXHJcbiAgIFxyXG59XHJcblxyXG4ubG9naW5idG5cclxue1xyXG4gICAvLyB3aWR0aDo0MDtcclxuICAgIC8vbGVmdDoyMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODBjYmM0O1xyXG4gICAvLyBib3JkZXItcmFkaXVzOjEwJTtcclxuXHJcbn1cclxuLy8gLmZvb3RlciB7XHJcbi8vIFx0cG9zaXRpb24gOiBmaXhlZDtcclxuLy8gXHRib3R0b206MCU7XHJcbi8vIFx0d2lkdGg6IDkwJTtcclxuLy8gXHRjb2xvcjp3aGl0ZTtcclxuLy8gICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuLy8gICAgIG1hcmdpbi1sZWZ0OjNweDtcclxuLy8gICAgIGxlZnQ6MzUlO1xyXG5cdFxyXG4vLyB9XHJcbi5oZWFkZXJcclxue1xyXG4gICAgcG9zaXRpb24gOiBmaXhlZDtcclxuICAgIHRvcDogMiU7XHJcbiAgICB3aWR0aDogOTAlO1xyXG4gICAgY29sb3I6d2hpdGU7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFxyXG59XHJcbi5iYWNrR3JvdW5kXHJcbnsgXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYigxMzgsIDE0OCwgMTgyKTtcclxuICAgIHdpZHRoOjUwJTtcclxuXHJcbn1cclxuXHJcblxyXG4uY29sb3Jcclxue1xyXG4gICAgY29sb3I6d2hpdGU7XHJcblxyXG59Il19 */\"","import { Component, OnInit, Input, ViewChild, ViewChildren, QueryList } from '@angular/core';\nimport { AuthService } from 'app/shared/auth.service';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { BackendService } from 'app/shared/backend.service';\nimport CONFIG from 'config';\nimport { subscribeOn, count } from 'rxjs/operators';\nimport { NotificationService } from 'app/notification/notification.service';\nimport { DatePipe } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport { BeneficialOwnersForm } from './beneficial-owners-form.template';\n\n@Component({\n selector: 'app-corporate',\n templateUrl: './corporate.component.html',\n styleUrls: ['./corporate.component.scss'],\n providers: [DatePipe]\n})\nexport class CorporateComponent implements OnInit {\n loadingData: boolean = true;\n corporateApplication: FormGroup;\n BeneficialOwner: FormGroup;\n additional: FormGroup;\n pep: FormGroup;\n submitted: Boolean = false;\n typeOfApplication: boolean;\n values: \"\";\n nextpagestatus1: boolean = false;\n nextpagestatus2: boolean = true;\n nextpagestatus3: boolean = true;\n nextpagestatus4: boolean = true;\n BackButton: any;\n ApplicationData: any;\n getCustomers: any;\n currencies: any;\n us: boolean = false;\n citizen: boolean = false;\n values1: \"\";\n powerAttorney: boolean = false;\n personEntity: boolean = false;\n citizen1: boolean = false;\n familymember: boolean = false;\n holder: boolean = false;\n files: any;\n FileCount: string[] = [];\n FileNamesArray: string[] = [];\n fileInput: string[] = [\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n ];\n FileByteArray: string[] = [];\n filestring: any;\n currentYear: number;\n accountnumber: any;\n selected: any;\n pepinformation: boolean = false;\n values2: \"\";\n values3: \"\";\n values4: \"\";\n values5: \"\";\n values6: \"\";\n values7: \"\";\n finalData: any;\n Corporate1page: any;\n BenificalOwners2page: any;\n Additional3page: any;\n myFiles: string[] = [];\n sMsg: string = '';\n user: any;\n company: any;\n beneficiaries: any;\n account: any;\n accountnameoption: boolean; accountTax: boolean;\n phone: any;\n ssis: any;\n FileShortname: string[] = [];\n documents: any;\n CORS: boolean;\n CORI: boolean;\n data: any;\n conductingtransactions: any = null;\n purposeofaccount: any = null;\n EstTransInValue: any = null;\n EstTransOutValue: any = null;\n EstAmountInValue: any = null;\n EstAmountOutValue: any = null;\n TransPerMonthValue: any = null;\n AvgAmountPerTransValue: any = null;\n\n holderofprominent: any = null;\n immediatefamily: any = null;\n associateofpep: any = null;\n statusofpep: any = null;\n entitypoa: any = null;\n taxclafication: any = null;\n NameOfAccountIfDiff: any = null;\n accountHolderValue: any = null;\n additionalinfo: any;\n additionalsetup: any;\n usperson: any = null;\n citizenresident: any = null;\n Type: boolean = false; Types: boolean;\n selection: boolean = true;\n CEntityManagedChecked: boolean;\n CEntityManagedChecked1: boolean;\n BUSchecked: boolean;\n BUSchecked1: boolean;\n Citizenchecked: boolean;\n Citizenchecked1: boolean;\n PHolderOfProminentChecked: boolean;\n PHolderOfProminentChecked1: boolean;\n PfamilyMemberChecked: boolean;\n PfamilyMemberChecked1: boolean;\n\n ApersonEntityChecked: boolean;\n ApersonEntityChecked1: boolean;\n personentity: any = null;\n estimatedinitail: any = null;\n amount: any = null;\n origin: any = null;\n powerofauttorney: any = null;\n ApowerAttorneyChecked: boolean;\n ApowerAttorneyChecked1: boolean;\n corptelefax: any = null;\n ATELEFAXANDEMAILChecked: any;\n ATELEFAXANDEMAILChecked1: any;\n\n PPEPChecked: boolean;\n PPEPChecked1: boolean;\n jurisdiction: any;\n\n citizenvalue: any; pholdervalue: any; ApowerAttorneyvalue: any; TELEFAXANDEMAIL: any;\n Pfamilyvalue: any; ppepvalue: any; telefaxvalue: any; ApersonEntityvalue: any;\n buscheckedvalue: any; entitymanagedvalue: any; atelefaxvalue: any;\n\n PassociatePEP: any; PmemberOfPEP: any; PpublicFunction: any; ANameofperson: any; Aexplain: any;\n BUSPerson: any; BCitizen: any; CManaged: any; ATELEFAXANDEMAIL: any;\n\n customer: boolean; customers: boolean;\n Entity: boolean; Entitys: boolean;\n site: boolean; sites: boolean;\n Incorporated: boolean; Incorporateds: boolean;\n DateIncorporated: boolean; DateIncorporateds: boolean;\n Business: boolean; Businesss: boolean;\n Registered: boolean; Registereds: boolean;\n Number: boolean; Numbers: boolean;\n Domicile: boolean; Domiciles: boolean;\n formatedamount: any; currencyoption: boolean; estamountin: any; estamountout: any;\n bcustomer: boolean; bcustomers: boolean;\n bcity: boolean; bcitys: boolean;\n dob: boolean; dobs: boolean;\n CustInfo: boolean; CustInfos: boolean;\n beMail: boolean; beMails: boolean;\n baddress: boolean; baddresss: boolean;\n bphone: boolean; bphones: boolean;\n customercountry: boolean; customercountrys: boolean;\n taxid: boolean; taxids: boolean;\n btaxid: boolean; btaxids: boolean;\n profession: boolean; professions: boolean;\n bname: boolean; bnames: boolean;\n bcountry: boolean; bcountrys: boolean;\n\n step = 0;\n beneficialowneramount = 1;\n\n @ViewChildren(BeneficialOwnersForm) child: QueryList;\n // @ViewChild(BeneficialOwnersForm) child1;\n\n dataarray: Array = [];\n benNameLengthValid: boolean = true;\n\n constructor(public _authService: AuthService,\n public _formBulider: FormBuilder,\n public _router: Router,\n public _notificationService: NotificationService,\n public _datepipe: DatePipe,\n public _backendService: BackendService,\n private http: HttpClient\n\n ) { }\n\n ngOnInit() {\n this.scrollTop();\n this.autoFilling();\n this._notificationService.timeToClose = 3000;\n this.setForm();\n this.setForm1();\n this.setForm2();\n this.setForm3();\n this._backendService.getData(`${CONFIG.getCountryCodesApiUrlBase}`)\n .subscribe(response => {\n this.getCustomers = response['getCustomerCountry'];\n this.currencies = response['currencies'];\n //console.log(this.currencies, this.getCustomers);\n this.loadingData = true;\n });\n this.getDocuments();\n }\n\n setStep(index: number) {\n this.step = index;\n }\n\n nextStep() {\n this.step++;\n }\n\n prevStep() {\n this.step--;\n }\n\n currencyformatofIn(event) {\n const formatter = new Intl.NumberFormat('en-US', {\n // style: 'currency',\n currency: 'USD',\n minimumFractionDigits: 2\n });\n\n this.formatedamount = event.target.value.toString().replace(/,/g, \"\");\n //console.log(formatter.format(event.target.value)); // \"$1,000.00\"\n // this.formatedamount = formatter.format(event.target.value);\n this.EstAmountInValue[0].floatValue = formatter.format(this.formatedamount);\n\n }\n currencyformatnewIn(event) {\n const formatter = new Intl.NumberFormat('en-US', {\n // style: 'currency',\n currency: 'USD',\n minimumFractionDigits: 2\n });\n\n this.formatedamount = event.target.value.toString().replace(/,/g, \"\");\n //console.log(formatter.format(event.target.value)); // \"$1,000.00\"\n // this.formatedamount = formatter.format(event.target.value);\n // this.EstAmountInValue[0].floatValue = formatter.format(this.formatedamount);\n this.estamountin = formatter.format(this.formatedamount);\n this.additional.controls['Expectedamountin'].setValue(this.estamountin);\n\n }\n currencyformatofEstimated(event) {\n const formatter = new Intl.NumberFormat('en-US', {\n // style: 'currency',\n currency: 'USD',\n minimumFractionDigits: 2\n });\n\n this.formatedamount = event.target.value.toString().replace(/,/g, \"\");\n //console.log(formatter.format(event.target.value)); // \"$1,000.00\"\n // this.formatedamount = formatter.format(event.target.value);\n this.estimatedinitail[0].floatValue = formatter.format(this.formatedamount);\n\n }\n currencyformatofEstimatedfor(event) {\n const formatter = new Intl.NumberFormat('en-US', {\n // style: 'currency',\n currency: 'USD',\n minimumFractionDigits: 2\n });\n\n this.formatedamount = event.target.value.toString().replace(/,/g, \"\");\n //console.log(formatter.format(event.target.value)); // \"$1,000.00\"\n // this.formatedamount = formatter.format(event.target.value);\n // this.EstAmountInValue[0].floatValue = formatter.format(this.formatedamount);\n this.estamountin = formatter.format(this.formatedamount);\n this.additional.controls['Estimatedinitail'].setValue(this.estamountin);\n\n }\n currencyformatofOut(event) {\n const formatter = new Intl.NumberFormat('en-US', {\n // style: 'currency',\n currency: 'USD',\n minimumFractionDigits: 2\n });\n\n this.formatedamount = event.target.value.toString().replace(/,/g, \"\");\n //console.log(formatter.format(event.target.value)); // \"$1,000.00\"\n // this.formatedamount = formatter.format(event.target.value);\n this.EstAmountOutValue[0].floatValue = formatter.format(this.formatedamount);\n\n }\n currencyformatnewOut(event) {\n const formatter = new Intl.NumberFormat('en-US', {\n // style: 'currency',\n currency: 'USD',\n minimumFractionDigits: 2\n });\n\n this.formatedamount = event.target.value.toString().replace(/,/g, \"\");\n //console.log(formatter.format(event.target.value)); // \"$1,000.00\"\n // this.formatedamount = formatter.format(event.target.value);\n // this.EstAmountInValue[0].floatValue = formatter.format(this.formatedamount);\n this.estamountout = formatter.format(this.formatedamount);\n this.additional.controls['Expectedamountout'].setValue(this.estamountout);\n\n }\n getDocuments() {\n this.loadingData = false;\n this._backendService.getData(`${CONFIG.kycCorporateApplicationApiUrlBase}/${this._authService.CustomerID}/${this._authService.Company}`)\n .subscribe(response => {\n this.documents = response['documents'];\n //console.log(this.documents);\n this.FileOverwriteOption(this.documents.length);\n this.loadingData = true;\n });\n }\n FileOverwriteOption(value) {\n\n for (let i = 0; i < value; i++) {\n //console.log(this.documents[i]);\n if (this.documents[i] == \"Signature\") {\n this.CORS = true;\n break;\n }\n }\n for (let i = 0; i < value; i++) {\n if (this.documents[i] == \"Identification\") {\n this.CORI = true;\n break;\n }\n }\n }\n btnclickevent1() {\n this.CORS = false;\n this.fileInput[0] = 'Select Scanned Copy*';\n }\n btnclickevent2() {\n this.CORI = false;\n this.fileInput[1] = 'Select Scanned Copy*';\n }\n\n autoFilling() {\n this.loadingData = false;\n this._backendService.getData(`${CONFIG.landingApiUrlBase}/${this._authService.CustomerID}/${this._authService.Company}`)\n .subscribe(response => {\n this.loadingData = true;\n //console.log(response);\n this.user = response['user'];\n //console.log(this.user);\n if (this.user.customerName == undefined) {\n //console.log(this.user.customerName);\n this.customer = false;\n this.customers = true;\n }\n else {\n //console.log(this.user.customerName);\n this.customer = true;\n this.customers = false;\n }\n\n if (this.user.customerType == undefined) {\n this.Type = true;\n this.Types = false;\n }\n else {\n this.Type = false;\n this.Types = true;\n }\n\n if (this.user.website == undefined) {\n this.site = false;\n this.sites = true;\n }\n else {\n this.site = true;\n this.sites = false;\n }\n if (this.user.domicile == undefined) {\n this.Domicile = false;\n this.Domiciles = true;\n }\n else {\n this.Domicile = true;\n this.Domiciles = false;\n }\n if (this.user.currency == undefined) {\n this.currencyoption = true;\n }\n else {\n this.currencyoption = false;\n }\n\n //console.log(this.user.length);\n this.company = response['company'];\n\n if (this.company.placeIncorporated == undefined) {\n this.Incorporated = false;\n this.Incorporateds = true;\n }\n else {\n this.Incorporated = true;\n this.Incorporateds = false;\n }\n if (this.company.dateIncorporated == undefined) {\n this.DateIncorporated = false;\n this.DateIncorporateds = true;\n }\n else {\n this.DateIncorporated = true;\n this.DateIncorporateds = false;\n }\n if (this.company.lineofBusiness == undefined) {\n this.Business = false;\n this.Businesss = true;\n }\n else {\n this.Business = true;\n this.Businesss = false;\n }\n if (this.company.placeRegistered == undefined) {\n this.Registered = false;\n this.Registereds = true;\n }\n else {\n this.Registered = true;\n this.Registereds = false;\n }\n this.phone = response['phone'];\n if (this.phone.phoneNumber == undefined) {\n this.Number = false;\n this.Numbers = true;\n }\n else {\n this.Number = true;\n this.Numbers = false;\n }\n\n this.account = response['account'];\n //console.log(this.account);\n\n if (this.account.accountName == undefined) {\n\n this.accountnameoption = false;\n }\n else {\n this.accountnameoption = true;\n\n }\n if (this.account.taxCategory == undefined) {\n\n this.accountTax = false;\n }\n else {\n this.accountTax = true;\n }\n this.beneficiaries = response['beneficiaries'];\n\n // console.log(this.beneficiaries);\n // console.log(this.beneficiaries.name);\n\n // if(this.beneficiaries.name == undefined){\n // console.log(this.beneficiaries.name);\n // this.bcustomer = false;\n // this.bcustomers = true;\n // }\n // else{\n // this.bcustomer = true;\n // this.bcustomers = false;\n // }\n // if(this.beneficiaries.city == undefined){\n // console.log(this.beneficiaries.city);\n // this.bcity = false;\n // this.bcitys = true;\n // }\n // else{\n // this.bcity = true;\n // this.bcitys = false;\n // }\n // if(this.beneficiaries.dateofBirth == undefined){\n // console.log(this.beneficiaries.dateofBirth);\n // this.dob = false;\n // this.dobs = true;\n // }\n // else{\n // this.dob = true;\n // this.dobs = false;\n // }\n\n\n // if(this.beneficiaries.address == undefined){\n // console.log(this.beneficiaries.address);\n // this.baddress = false;\n // this.baddresss = true;\n // }\n // else{\n // this.baddress = true;\n // this.baddresss = false;\n // }\n // if(this.beneficiaries.phone == undefined){\n // console.log(this.beneficiaries.phone);\n // this.bphone = false;\n // this.bphones = true;\n // }\n // else{\n // this.bphone = true;\n // this.bphones = false;\n // }\n // if(this.beneficiaries.eMail == undefined){\n // console.log(this.user.eMail);\n // this.beMail = false;\n // this.beMails = true;\n // }\n // else{\n // this.beMail = true;\n // this.beMails = false;\n // }\n\n // if(this.beneficiaries.taxIDNo == undefined){\n // console.log(this.user.eMail);\n // this.btaxid = false;\n // this.btaxids = true;\n // }\n // else{\n // this.btaxid = true;\n // this.btaxids = false;\n // }\n\n this.company.dateIncorporated = new Date(this.company.dateIncorporated);\n //console.log(this.company.dateIncorporated);\n\n // this.beneficiaries.dateofBirth = new Date(this.beneficiaries.dateofBirth); \n // console.log(this.beneficiaries.dateofBirth);\n\n this.ssis = response['ssis'];\n //console.log(this.ssis);\n if (this.ssis.ben == undefined) {\n //console.log(this.user.eMail);\n this.btaxid = false;\n this.btaxids = true;\n }\n else {\n this.btaxid = true;\n this.btaxids = false;\n }\n this.additionalinfo = response['additionalinfo'];\n //console.log(this.additionalinfo);\n this.additionalsetup = response['additionalsetup'];\n //this.jurisdiction = this.additionalinfo.filter(x => x.customerID == this._authService.Email && x.stringValue == \"Diff Jurisdiction\");\n\n this.jurisdiction = this.additionalinfo.filter(x => x.stringValue == \"Other Jurisdiction\");\n\n //console.log(this.jurisdiction, this.jurisdiction.length);\n if (this.jurisdiction.length != 0) {\n // console.log(this.jurisdiction, this.jurisdiction.length);\n if (this.jurisdiction[0].booleanValue == 'False') {\n\n this.typeOfApplication = false;\n this.CEntityManagedChecked = true;\n this.CEntityManagedChecked1 = false;\n // console.log(this.jurisdiction.length);\n }\n else {\n //console.log('elseeeee');\n this.typeOfApplication = true;\n this.CEntityManagedChecked = false;\n this.CEntityManagedChecked1 = true;\n }\n }\n else {\n //console.log('else');\n this.CEntityManagedChecked = false;\n this.CEntityManagedChecked1 = false;\n }\n\n this.purposeofaccount = this.additionalinfo.filter(x => x.stringValue == \"Purpose of Account\");\n //console.log(this.additionalinfo);\n\n this.usperson = this.additionalinfo.filter(x => x.stringValue == \"US Person\");\n //console.log(this.usperson);\n if (this.usperson.length != 0) {\n if (this.usperson[0].booleanValue == 'False') {\n\n this.us = true;\n this.BUSchecked = true;\n this.BUSchecked1 = false;\n\n }\n else {\n\n this.us = false;\n this.BUSchecked = false;\n this.BUSchecked1 = true;\n }\n }\n else {\n\n this.BUSchecked = false;\n this.BUSchecked1 = false;\n }\n\n this.citizenresident = this.additionalinfo.filter(x => x.stringValue == \"Cit Res of Mlt Ctry\");\n //console.log(this.citizenresident);\n if (this.citizenresident.length != 0) {\n if (this.citizenresident[0].booleanValue == 'False') {\n\n this.citizen = false;\n this.Citizenchecked = true;\n this.Citizenchecked1 = false;\n\n }\n else {\n\n this.citizen = true;\n this.Citizenchecked = false;\n this.Citizenchecked1 = true;\n }\n }\n else {\n\n this.Citizenchecked = false;\n this.Citizenchecked1 = false;\n }\n\n this.EstTransInValue = this.additionalinfo.filter(x => x.stringValue == \"Est Trans In\");\n this.EstTransOutValue = this.additionalinfo.filter(x => x.stringValue == \"Est Trans Out\");\n this.EstAmountInValue = this.additionalinfo.filter(x => x.stringValue == \"Est Amount In\");\n this.EstAmountOutValue = this.additionalinfo.filter(x => x.stringValue == \"Est Amount Out\");\n //console.log(this.EstAmountOutValue);\n const formatter = new Intl.NumberFormat('en-US', {\n // style: 'currency',\n currency: 'USD',\n minimumFractionDigits: 2\n });\n\n if (this.EstAmountInValue.length != 0) {\n this.EstAmountInValue[0].floatValue = formatter.format(this.EstAmountInValue[0].floatValue);\n }\n\n if (this.EstAmountOutValue.length != 0) {\n this.EstAmountOutValue[0].floatValue = formatter.format(this.EstAmountOutValue[0].floatValue);\n }\n this.TransPerMonthValue = this.additionalinfo.filter(x => x.stringValue == \"Trans Per Month\");\n this.AvgAmountPerTransValue = this.additionalinfo.filter(x => x.stringValue == \"AvgAmount Per Trans\");\n this.taxclafication = this.additionalinfo.filter(x => x.stringValue == \"Tax Classification\");\n this.NameOfAccountIfDiff = this.additionalinfo.filter(x => x.stringValue == \"Other Name of Acct\");\n // console.log(this.NameOfAccountIfDiff,this.taxclafication);\n\n this.holderofprominent = this.additionalinfo.filter(x => x.stringValue == \"PPF Details\");\n //console.log(this.holderofprominent);\n if (this.holderofprominent.length != 0) {\n if (this.holderofprominent[0].booleanValue == 'False') {\n\n this.holder = false;\n this.PHolderOfProminentChecked = true;\n this.PHolderOfProminentChecked1 = false;\n\n }\n else {\n\n this.holder = true;\n this.PHolderOfProminentChecked = false;\n this.PHolderOfProminentChecked1 = true;\n }\n }\n else {\n\n this.PHolderOfProminentChecked = false;\n this.PHolderOfProminentChecked1 = false;\n }\n\n this.immediatefamily = this.additionalinfo.filter(x => x.stringValue == \"Family of PEP\");\n // console.log(this.immediatefamily);\n if (this.immediatefamily.length != 0) {\n if (this.immediatefamily[0].booleanValue == 'False') {\n\n this.familymember = false;\n this.PfamilyMemberChecked = true;\n this.PfamilyMemberChecked1 = false;\n\n }\n else {\n\n this.familymember = true;\n this.PfamilyMemberChecked = false;\n this.PfamilyMemberChecked1 = true;\n }\n }\n else {\n\n this.PfamilyMemberChecked = false;\n this.PfamilyMemberChecked1 = false;\n }\n\n this.associateofpep = this.additionalinfo.filter(x => x.stringValue == \"Associate of PEP\");\n\n if (this.associateofpep.length != 0) {\n if (this.associateofpep[0].booleanValue == 'False') {\n\n this.pepinformation = false;\n this.PPEPChecked = true;\n this.PPEPChecked1 = false;\n\n }\n else {\n\n this.pepinformation = true;\n this.PPEPChecked = false;\n this.PPEPChecked1 = true;\n }\n }\n else {\n\n this.PPEPChecked = false;\n this.PPEPChecked1 = false;\n }\n this.statusofpep = this.additionalinfo.filter(x => x.stringValue == \"Status of The PEP\");\n this.entitypoa = this.additionalinfo.filter(x => x.stringValue == \"Entity Granted POA\");\n\n // ApersonEntity\n this.personentity = this.additionalinfo.filter(x => x.stringValue == \"On Behalf of Another\");\n //console.log(this.personentity);\n if (this.personentity.length != 0) {\n if (this.personentity[0].booleanValue == 'False') {\n\n this.personEntity = false;\n this.ApersonEntityChecked = true;\n this.ApersonEntityChecked1 = false;\n\n }\n else {\n\n this.personEntity = true;\n this.ApersonEntityChecked = false;\n this.ApersonEntityChecked1 = true;\n }\n }\n else {\n\n this.ApersonEntityChecked = false;\n this.ApersonEntityChecked1 = false;\n }\n\n this.estimatedinitail = this.additionalinfo.filter(x => x.stringValue == \"Est Trans To Bank\");\n this.amount = this.additionalinfo.filter(x => x.stringValue == \"Amount\");\n this.origin = this.additionalinfo.filter(x => x.stringValue == \"Origin\");\n // this.origin = this.additionalinfo.filter(x => x.customerID == this._authService.Email && x.stringValue == \"Est Trans In\");\n\n //console.log(this.estimatedinitail, this.amount, this.origin);\n this.powerofauttorney = this.additionalinfo.filter(x => x.stringValue == \"Power Of Attorney\");\n //console.log(this.powerofauttorney);\n if (this.powerofauttorney.length != 0) {\n if (this.powerofauttorney[0].booleanValue == 'False') {\n\n this.powerAttorney = false;\n this.ApowerAttorneyChecked = true;\n this.ApowerAttorneyChecked1 = false;\n\n }\n else {\n\n this.powerAttorney = true;\n this.ApowerAttorneyChecked = false;\n this.ApowerAttorneyChecked1 = true;\n }\n }\n else {\n\n this.ApowerAttorneyChecked = false;\n this.ApowerAttorneyChecked = false;\n }\n\n this.corptelefax = this.additionalinfo.filter(x => x.stringValue == \"Transmission Instr\");\n //console.log(this.corptelefax);\n if (this.corptelefax.length != 0) {\n if (this.corptelefax[0].booleanValue == 'False') {\n\n this.ATELEFAXANDEMAILChecked = true;\n this.ATELEFAXANDEMAILChecked1 = false;\n }\n else {\n this.ATELEFAXANDEMAILChecked = false;\n this.ATELEFAXANDEMAILChecked1 = true;\n }\n }\n else {\n\n this.ATELEFAXANDEMAILChecked = false;\n this.ATELEFAXANDEMAILChecked1 = false;\n }\n //console.log(this.user.country, this.user, this.additionalinfo, this.ssis, this.additionalsetup);\n //console.log(this.entitypoa);\n //console.log(this.user, this.company, this.beneficiaries, this.phone, this.account, this.ssis);\n });\n }\n\n Application(corporate) {\n this.loadingData = false;\n //console.log(corporate, this.CEntityManagedChecked);\n corporate.CIncorporationDate = this._datepipe.transform(corporate.CIncorporationDate, \"MM/dd/yyyy HH:mm:ss\");\n\n // console.log(corporate.CIncorporationDate);\n\n if (this.CEntityManagedChecked == false) {\n corporate.CEntityManaged = \"yes\";\n corporate.CManaged = corporate.CManaged;\n //console.log(corporate.CManaged);\n // if (this.jurisdiction.length != 0) {\n\n // corporate.CManaged = this.jurisdiction[0].memoValue;\n // }\n }\n else {\n\n corporate.CEntityManaged = \"No\";\n corporate.CManaged = this.CManaged;\n // console.log(corporate.CManaged);\n }\n //console.log(this.typeOfApplication);\n this.Corporate1page = corporate;\n // this.BackButton = \"Back\";\n corporate.BackButton1 = this.BackButton;\n //console.log(corporate.BackButton1)\n\n if (corporate.CEntityManaged == undefined || corporate.CAccountName == \"\" || corporate.CTypelegalEntity == \"\" || corporate.CIncorporation == \"\" || corporate.CIncorporationDate == \"\" ||\n corporate.CBusinessActivity == \"\" || corporate.CBusinessAddress == \"\" || corporate.CTelephone == \"\" || corporate.CWebsite == \"\") {\n this.nextpagestatus1 = false;\n this.nextpagestatus2 = true;\n this.nextpagestatus3 = true;\n this.nextpagestatus4 = true;\n this.scrollTop();\n // console.log('111111111');\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: \"Please fill in all required fields\" })\n }\n else {\n if (corporate.CEntityManaged == \"yes\" && corporate.CManaged == undefined) {\n\n //console.log('222222222');\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: \"Please fill in all required fields\" });\n }\n else {\n\n // console.log(corporate.CIncorporationDate);\n this._backendService.postData(corporate, `${CONFIG.corporationInitialCPageDataApiUrlBase}/${this._authService.CustomerID}/${this._authService.ApplicationType}`)\n .subscribe(response => {\n //console.log(response);\n\n if (response['result']) {\n // this._notificationService.showNotification({ type: 'success', message: response['msg'] })\n // this._authService.Landing = true;\n // this.submitted = false;\n // this._router.navigate(['/kyc'])\n this.loadingData = true;\n this.nextpagestatus1 = true; this.nextpagestatus2 = false;\n this.nextpagestatus3 = true; this.nextpagestatus4 = true;\n this.scrollTop();\n if (this.beneficiaries.length) {\n this.beneficialowneramount = this.beneficiaries.length;\n }\n }\n else {\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: response['msg'] })\n }\n\n });\n }\n }\n }\n EntityManagedDetails(event) {\n //console.log(event.value);\n if (event.value == \"yes\") {\n this.typeOfApplication = true;\n this.CEntityManagedChecked = false;\n this.entitymanagedvalue = event.value;\n }\n else {\n this.typeOfApplication = false;\n this.CEntityManagedChecked = true;\n this.entitymanagedvalue = event.value;\n this.CManaged = \"\";\n }\n }\n EntityText(event: any) {\n this.values = event.target.value;\n };\n\n Atelefaxonchange(event) {\n if (event.value == \"yes\") {\n this.ATELEFAXANDEMAILChecked = false;\n this.atelefaxvalue = event.value;\n this.ATELEFAXANDEMAIL = event.value;\n }\n else {\n this.ATELEFAXANDEMAILChecked = true;\n this.atelefaxvalue = event.value;\n this.ATELEFAXANDEMAIL = event.value;\n }\n }\n // BenificalOwners Details\n\n addingform() {\n\n this.beneficialowneramount = this.beneficialowneramount + 1;\n // this.beneficiaryform3();\n\n }\n\n\n BeneficialOwnerDetails(BenificalOwners) {\n this.loadingData = false;\n //console.log(BenificalOwners);\n //corporate.CIncorporationDate = this._datepipe.transform(corporate.CIncorporationDate,\"MM/dd/yyyy HH:mm:ss\");\n // console.log(this.child.BeneficialOwner.value);\n\n this.child.forEach(BenificalOwnersdetails =>\n //console.log(BenificalOwnersdetails.BeneficialOwner.value['BDateOfBirth'].transform(\"MM/dd/yyyy HH:mm:ss\"))\n\n // corporate.CIncorporationDate = this._datepipe.transform(corporate.CIncorporationDate,\"MM/dd/yyyy HH:mm:ss\");\n\n this.dataarray.push(BenificalOwnersdetails.BeneficialOwner.value)\n // console.log(this.BenificalOwnersdetails.BeneficialOwner.value);\n //this.dataarray = BenificalOwnersdetails.BeneficialOwner.value\n );\n\n //console.log(this.dataarray.length);\n let p = 0;\n for (p = 0; p < this.dataarray.length; p++) {\n this.dataarray[p]['BDateOfBirth'] = this._datepipe.transform(this.dataarray[p]['BDateOfBirth'], \"MM/dd/yyyy HH:mm:ss\");\n var benNameLength = this.dataarray[p]['BName'].length;\n //console.log(benNameLength);\n if (this.benNameLengthValid) {\n if (benNameLength > 25) {\n this.benNameLengthValid = false;\n }\n }\n }\n\n // console.log(benNameLength);\n // console.log(this.dataarray[0]['BDateOfBirth']);\n // // this.dataarray[0]['BDateOfBirth'] = this._datepipe.transform(this.dataarray[0]['BDateOfBirth'],\"MM/dd/yyyy HH:mm:ss\");\n // // console.log(this.dataarray[0].[0].BDateOfBirth);\n // console.log(this.dataarray);\n\n sessionStorage.setItem('beneficiarylength', this.dataarray.length.toString())\n this._authService.benlength = sessionStorage.getItem('beneficiarylength');\n\n // console.log(this._authService.benlength);\n // let ben1 = this.child.BeneficialOwner.value;\n // let ben2 = this.child1.BeneficialOwner.value;\n // this.dataarray.push(ben1);\n // this.dataarray.push(ben2);\n // console.log(this.dataarray);\n // BenificalOwners = this.child.BeneficialOwner.value;\n // console.log(this.child1.BeneficialOwner.value);\n // console.log(this.child, this.child1);\n // console.log(this.beneficiarydata);\n // this.BenificalOwners2page = BenificalOwners;\n // if (this.Citizenchecked == false) {\n // BenificalOwners.BCitizenResident = \"yes\";\n // BenificalOwners.BCitizen = BenificalOwners.BCitizen;\n // }\n // else {\n // BenificalOwners.BCitizenResident = this.citizenvalue; \n // BenificalOwners.BCitizen = this.BCitizen;\n // }\n // if (this.BUSchecked == false) {\n // BenificalOwners.BUS = this.buscheckedvalue; \n // BenificalOwners.BUSPerson = this.BUSPerson;\n // }\n // else {\n // BenificalOwners.BUS = this.buscheckedvalue; \n // BenificalOwners.BUSPerson = BenificalOwners.BUSPerson;\n // }\n // BenificalOwners.BackButton1 =this.BackButton;\n // if (BenificalOwners.BName == \"\" || BenificalOwners.BCountryOfBirth == \"\" || BenificalOwners.BDateOfBirth == \"\" ||\n // BenificalOwners.BCustomerCountry == \"\" || BenificalOwners.BmallingAddress == \"\" || BenificalOwners.Btelephone == \"\" ||\n // BenificalOwners.BEmailAddress == \"\" || BenificalOwners.Boccupation == \"\" ||\n // BenificalOwners.BSourceIncome == \"\" || \n // BenificalOwners.BCountryResidence == \"\" || BenificalOwners.BSSnTax == \"\" || BenificalOwners.BTaxClassification == \"\") {\n\n // this.nextpagestatus1 = true;\n // this.nextpagestatus2 = false;\n // this.nextpagestatus3 = true;\n // this.nextpagestatus4 = true;\n // console.log(BenificalOwners.BName, BenificalOwners.BCountryOfBirth, BenificalOwners.BDateOfBirth,\n // BenificalOwners.BCustomerCountry, BenificalOwners.BmallingAddress , BenificalOwners.Btelephone,\n // BenificalOwners.BSourceIncome,\n // BenificalOwners.BCitizenResident, BenificalOwners.BUS == undefined, \"jhsgdfjsfghdjshfjhsdfgsdf\");\n // this._notificationService.showNotification({ type: 'error', message: \"Please fill in all required fields\" })\n // }\n // else {\n\n // if (BenificalOwners.BUS == \"No\" && BenificalOwners.BUSPerson == undefined || BenificalOwners.BCitizenResident == \"yes\" && BenificalOwners.BCitizen == undefined) {\n // console.log(\"sjdfgsjdsjdf\");\n // this._notificationService.showNotification({ type: 'error', message: \"Please fill in all required fields\" });\n // }\n // else {\n\n if (!this.benNameLengthValid) {\n //console.log(\"Not Valid\");\n this._notificationService.showNotification({ type: 'error', message: \"Please enter a valid benificiary name.\" });\n this.dataarray = [];\n this.benNameLengthValid = true;\n this.loadingData = true;\n }\n else {\n // console.log(\"Valid\"); \n this._backendService.postData(this.dataarray, `${CONFIG.corporationSecondPageDataApiUrlBase}/${this._authService.CustomerID}/${this._authService.ApplicationType}`)\n .subscribe(response => {\n //console.log(response);\n\n if (response['result']) {\n // this._notificationService.showNotification({ type: 'success', message: response['msg'] })\n // this._authService.Landing = true;\n // this.submitted = false;\n // this._router.navigate(['/kyc'])\n\n this.nextpagestatus1 = true;\n this.nextpagestatus2 = true;\n this.nextpagestatus3 = false;\n this.nextpagestatus4 = true;\n this.loadingData = true;\n this.scrollTop();\n this.dataarray = [];\n }\n else {\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: response['msg'] });\n this.dataarray = [];\n }\n });\n }\n\n }\n\n UsDetails(event) {\n //console.log(event.value);\n if (event.value == \"No\") {\n this.us = true;\n\n //this.BUSchecked = false;\n this.BUSchecked1 = false;\n this.BUSchecked = true;\n this.buscheckedvalue = event.value;\n\n }\n else {\n this.us = false;\n //this.BUSchecked = true;\n this.BUSchecked1 = true;\n this.BUSchecked = false;\n this.buscheckedvalue = event.value;\n this.BUSPerson = \"\";\n\n }\n }\n UsText(event: any) {\n this.values1 = event.target.value;\n //console.log(this.values)\n };\n CitizenResidentDetails(event) {\n //console.log(event.value);\n if (event.value == \"yes\") {\n this.citizen = true;\n\n this.Citizenchecked = false;\n this.citizenvalue = event.value;\n }\n else {\n this.citizen = false;\n this.Citizenchecked = true;\n this.citizenvalue = event.value;\n this.BCitizen = \"\";\n }\n }\n CitizenResidentText(event: any) {\n this.values2 = event.target.value;\n //console.log(this.values)\n }\n\n additionlInformation(Additional) {\n this.loadingData = false;\n // console.log(this._authService.ApplicationType);\n // console.log(Additional);\n //Additional.EstAmountIn = Additional.EstAmountIn.toString().replace(/,/g, \"\").split(\".\")[0];\n // Additional.EstAmountOut = Additional.EstAmountOut.toString().replace(/,/g, \"\").split(\".\")[0];\n\n if (this.ApersonEntityChecked == false) {\n Additional.ApersonEntity = \"yes\";\n Additional.Aexplain = Additional.Aexplain;\n // if(this.personentity.length!=0)\n // { \n // Additional.Aexplain=this.personentity[0].memoValue;\n // }\n }\n else {\n Additional.ApersonEntity = \"No\";\n Additional.Aexplain = this.Aexplain;\n }\n\n if (this.ApowerAttorneyChecked == false) {\n Additional.ApowerAttorney = \"yes\";\n Additional.ANameofperson = Additional.ANameofperson;\n // if(this.personentity.length!=0)\n // {\n // Additional.ANameofperson=this.powerofauttorney[0].memoValue;\n // }\n }\n else {\n Additional.ApowerAttorney = \"No\";\n Additional.ANameofperson = this.ANameofperson;\n }\n // if (this.CEntityManagedChecked == false) {\n // corporate.CEntityManaged = \"yes\";\n // corporate.CManaged = corporate.CManaged;\n\n // }\n // else {\n\n // corporate.CEntityManaged = \"No\";\n // corporate.CManaged = this.CManaged;\n // }\n // console.log(Additional.ATELEFAXANDEMAIL, this.ATELEFAXANDEMAILChecked);\n if (this.ATELEFAXANDEMAILChecked == false) {\n Additional.ATELEFAXANDEMAIL = Additional.ATELEFAXANDEMAIL;\n //console.log(Additional.ATELEFAXANDEMAIL);\n }\n else {\n Additional.ATELEFAXANDEMAIL = this.ATELEFAXANDEMAIL;\n //console.log(Additional.ATELEFAXANDEMAIL);\n }\n\n if (this.CORS == true) {\n Additional.AimageFile = \"fakedata\";\n }\n if (this.CORI == true) {\n Additional.AcertifiedCopies = \"fakedata\";\n }\n\n this.Additional3page = Additional;\n //console.log(Additional)\n Additional.BackButton1 = this.BackButton;\n\n // if (Additional.ApersonEntity == undefined || Additional.ApowerAttorney == undefined || \n // Additional.ApurposeOfAccount == \"\" || Additional.ATaxClassification == \"\" || Additional.ATaxID == \"\" ||\n // Additional.ApowerAttorney == \"\" ||\n // Additional.ATELEFAXANDEMAIL == \"\" ) {\n\n // this.nextpagestatus1 = true;\n // this.nextpagestatus2 = true;\n // this.nextpagestatus3 = false;\n // this.nextpagestatus4 = true;\n // this._notificationService.showNotification({ type: 'error', message: \"Please fill in all required fields\" })\n // }\n //else {\n\n // if (Additional.ApersonEntity == \"yes\" && Additional.Aexplain == undefined || Additional.ApowerAttorney == \"yes\" && Additional.ANameofperson == undefined || Additional.ApowerAttorney == \"yes\" && Additional.AimageFile == \"\"\n // || Additional.ApowerAttorney == \"yes\" && Additional.AcertifiedCopies == \"\") {\n // console.log(Additional.ApersonEntity);\n // this._notificationService.showNotification({ type: 'error', message: \"Please fill in all required fields\" });\n // }\n\n // else {\n //console.log(Additional.ApowerAttorney);\n if (Additional.ApowerAttorney == \"yes\") {\n //console.log('upload files method');\n\n if (this.myFiles.length == 2) {\n this.uploadFiles(this.data);\n // this.nextpagestatus1 = true;\n // this.nextpagestatus2 = true;\n // this.nextpagestatus3 = true;\n // this.nextpagestatus4 = false;\n\n this._backendService.postData(Additional, `${CONFIG.corporationThirdPageDataApiUrlBase}/${this._authService.CustomerID}/${this._authService.ApplicationType}/${this._authService.Company}`)\n .subscribe(response => {\n // console.log(response);\n if (response['result']) {\n // this._notificationService.showNotification({ type: 'success', message: response['msg'] })\n this.nextpagestatus1 = true;\n this.nextpagestatus2 = true;\n this.nextpagestatus3 = true;\n this.nextpagestatus4 = false;\n this.scrollTop();\n this.loadingData = true;\n }\n else {\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: response['msg'] })\n }\n\n });\n }\n else {\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: 'Please upload all required files' });\n }\n }\n else {\n\n //console.log('upload elseee files method');\n this.nextpagestatus1 = true;\n this.nextpagestatus2 = true;\n this.nextpagestatus3 = true;\n this.nextpagestatus4 = false;\n\n this._backendService.postData(Additional, `${CONFIG.corporationThirdPageDataApiUrlBase}/${this._authService.CustomerID}/${this._authService.ApplicationType}/${this._authService.Company}`)\n .subscribe(response => {\n //console.log(response);\n if (response['result']) {\n // this._notificationService.showNotification({ type: 'success', message: response['msg'] })\n this.nextpagestatus1 = true;\n this.nextpagestatus2 = true;\n this.nextpagestatus3 = true;\n this.nextpagestatus4 = false;\n this.loadingData = true;\n this.scrollTop();\n }\n else {\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: response['msg'] })\n }\n\n });\n }\n }\n backclick() {\n this.BackButton = \"Back\";\n //console.log(this.BackButton)\n this.nextpagestatus1 = false;\n this.nextpagestatus2 = true;\n this.nextpagestatus3 = true;\n this.nextpagestatus4 = true;\n this.scrollTop();\n }\n backclick3() {\n this.BackButton = \"Back\";\n this.nextpagestatus1 = true;\n this.nextpagestatus2 = false;\n this.nextpagestatus3 = true;\n this.nextpagestatus4 = true;\n this.scrollTop();\n }\n backclick4() {\n this.BackButton = \"Back\";\n this.nextpagestatus1 = true;\n this.nextpagestatus2 = true;\n this.nextpagestatus3 = false;\n this.nextpagestatus4 = true;\n this.scrollTop();\n //this.autoFilling();\n this.getDocuments();\n this.FileOverwriteOption(this.documents.length)\n console.log(\"back button for\");\n }\n personEntityDetails(event) {\n // console.log(event.value);\n if (event.value == \"yes\") {\n this.personEntity = true;\n this.ApersonEntityChecked = false;\n this.ApersonEntityvalue = event.value;\n }\n else {\n this.personEntity = false;\n this.ApersonEntityChecked = true;\n this.ApersonEntityvalue = event.value;\n this.Aexplain = \"\";\n }\n\n }\n personEntityText(event: any) {\n this.values3 = event.target.value;\n //console.log(this.values)\n };\n\n onChangePowerAttnrney(event) {\n //console.log(event.value);\n if (event.value == \"yes\") {\n this.powerAttorney = true;\n this.ApowerAttorneyChecked = false;\n this.ApowerAttorneyvalue = event.value;\n }\n else {\n this.powerAttorney = false;\n this.ApowerAttorneyChecked = true;\n this.ApowerAttorneyvalue = event.value;\n this.ANameofperson = \"\";\n }\n }\n PowerAttorneyText(event: any) {\n this.values4 = event.target.value;\n //console.log(this.values)\n };\n\n getFileDetails(e, value, filecount) {\n //console.log(e.target.files[0].name, e.target.files[i]);\n for (var i = 0; i < e.target.files.length; i++) {\n\n //console.log(value, this.FileCount[i], filecount);\n for (var n = 0; n < this.FileCount.length; n++) {\n if (this.FileCount[n] == filecount) {\n // console.log(this.FileNamesArray[i]);\n // console.log(this.FileShortname[i]);\n // console.log(this.myFiles[i]);\n // console.log(\"Already uploded file\");\n this.FileNamesArray.splice(n, 1);\n this.FileByteArray.splice(n, 1);\n this.FileShortname.splice(n, 1);\n this.myFiles.splice(n, 1);\n this.FileCount.splice(n, 1);\n }\n }\n this.files = e.target.files;\n var reader = new FileReader();\n reader.onload = this._handleReaderLoadded.bind(this);\n reader.readAsBinaryString(this.files[i]);\n\n this.myFiles.push(e.target.files[i]);\n // this.myFiles.push(this.filestring);\n this.FileNamesArray.push(this.files[0].name);\n this.FileShortname.push(value);\n this.FileByteArray;\n this.FileCount.push(filecount);\n\n if (value === 'Signature') {\n var fileInputNo: number = 0;\n } else if (value === 'Identification') {\n var fileInputNo: number = 1;\n }\n\n if (this.files[i].name.length < 30) {\n var str = this.files[i].name;\n this.fileInput[fileInputNo] = str.slice(0, 30);\n } else {\n var str = this.files[i].name;\n this.fileInput[fileInputNo] = str.slice(0, 25) + '...' + str.slice(-4);\n }\n }\n // console.log(this.FileByteArray);\n }\n // old working\n // getFileDetails(e, value, filecount) {\n // console.log(e.target.files[0].name, e.target.files[i]);\n // for (var i = 0; i < e.target.files.length; i++) {\n // this.files = e.target.files;\n // var reader=new FileReader();\n // reader.onload=this._handleReaderLoadded.bind(this);\n // reader.readAsBinaryString(this.files[i]);\n\n // this.myFiles.push(e.target.files[i]);\n // // this.myFiles.push(this.filestring);\n // this.FileNamesArray.push(this.files[0].name);\n // this.FileShortname.push(value);\n // this.FileByteArray;\n\n // if (value==='Signature') {\n // var fileInputNo:number = 0;\n // } else if (value==='Identification') {\n // var fileInputNo:number = 1;\n // }\n\n // if (this.files[i].name.length < 30){\n // var str = this.files[i].name;\n // this.fileInput[fileInputNo] = str.slice(0, 30);\n // } else {\n // var str = this.files[i].name;\n // this.fileInput[fileInputNo] = str.slice(0, 25) + '...' + str.slice(-4);\n // }\n // }\n // console.log(this.FileByteArray); \n // }\n\n _handleReaderLoadded(readerEvt) {\n var binaryString = readerEvt.target.result;\n this.filestring = btoa(binaryString); //Convaerting Binary String Data\n this.FileByteArray.push(this.filestring);\n }\n pepInformation(pep) {\n this.loadingData = false;\n // console.log(pep)\n pep.BackButton1 = this.BackButton;\n pep.PpublicFunction = this.values5;\n pep.PmemberOfPEP = this.values6;\n pep.PassociatePEP = this.values7;\n //first page data\n\n\n //pep.Additional=this.Additional;\n // if (pep.PHolderOfProminent == undefined || pep.PfamilyMember == undefined || pep.PPEP == undefined) {\n\n // this.nextpagestatus1 = true;\n // this.nextpagestatus2 = true;\n // this.nextpagestatus3 = true;\n // this.nextpagestatus4 = false;\n // this._notificationService.showNotification({ type: 'error', message: \"Please fill in all required fields\" })\n // }\n //else {\n // if (pep.PHolderOfProminent == \"yes\" && pep.PpublicFunction == undefined || pep.PfamilyMember == \"yes\" && pep.PmemberOfPEP == undefined ||\n // pep.PPEP == \"yes\" && pep.PassociatePEP == undefined) {\n // console.log\n // this._notificationService.showNotification({ type: 'error', message: \"Please fill in all required fields\" });\n // }\n\n // else \n {\n\n // this.nextpagestatus1 = true;\n // this.nextpagestatus2 = true;\n // this.nextpagestatus3 = true;\n // this.nextpagestatus4 = false;\n // corporate.date=this._datepipe.transform(corporate.date.toString(),\"MM/dd/yyyy\");\n this.ApplicationData = pep;\n\n this._backendService.postData(pep, `${CONFIG.corporateApplication}/${this._authService.CustomerID}/${this._authService.ApplicationType}`).subscribe(response => {\n //console.log('CorporateApplication', response);\n if (response['result']) {\n //this._notificationService.showNotification({ type: 'success', message: response['msg'] })\n this._authService.Landing = true;\n this.submitted = false;\n this.loadingData = true;\n this._router.navigate(['/kyc']);\n }\n else {\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: response['msg'] });\n }\n },\n (error) => {\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: 'Server Error' });\n });\n }\n }\n\n uploadFiles(data) {\n this.loadingData = false;\n data = {};\n const frmData = new FormData();\n //console.log(this.myFiles);\n for (var i = 0; i < this.myFiles.length; i++) {\n frmData.append(\"string\", this.myFiles[i]);\n\n }\n data.FileShortname = this.FileShortname;\n // console.log(this.FileShortname);\n // console.log(frmData);\n if (data.FileShortname == \"\") {\n // console.log(\"lenghth\");\n this.FileShortname = [\"test\"];\n //console.log(this.FileShortname)\n }\n //console.log(frmData);\n data.FileByteArray = this.FileByteArray;\n data.FileNamesArray = this.FileNamesArray;\n this.http.post(`${CONFIG.corporateApplicationData}/${this._authService.CustomerID}/${this._authService.Email}/${this._authService.ApplicationType}/${this._authService.Company}/${this.FileShortname}`, data).subscribe(\n data => {\n // SHOW A MESSAGE RECEIVED FROM THE WEB API.\n //this.sMsg = data as string;\n //console.log(this.sMsg);\n this.FileCount = [];\n this.myFiles = [];\n this.FileNamesArray = [];\n this.FileByteArray = [];\n this.FileShortname = [];\n this.files = [];\n var reader = [];\n this.nextpagestatus1 = true;\n this.nextpagestatus2 = true;\n this.nextpagestatus3 = true;\n this.nextpagestatus4 = false;\n this.loadingData = true;\n this.scrollTop();\n // this._notificationService.showNotification({ type: 'success', message: data['msg'] });\n // this._authService.Landing = true;\n // this.submitted = false;\n // this.nextpagestatus1 = true;\n // this.nextpagestatus2 = true;\n // this.nextpagestatus3 = true;\n // this.nextpagestatus4 = false;\n // this._router.navigate(['/kyc'])\n },\n (error) => {\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: 'Server Error' });\n this.myFiles = [];\n this.FileNamesArray = [];\n this.FileByteArray = [];\n this.FileShortname = [];\n this.files = [];\n var reader = [];\n this.FileCount = [];\n });\n }\n\n holderDetails(event) {\n //console.log(event.value);\n if (event.value == \"yes\") {\n this.holder = true;\n this.PHolderOfProminentChecked = false;\n this.pholdervalue = event.value;\n }\n else {\n this.holder = false;\n this.PHolderOfProminentChecked = true;\n this.pholdervalue = event.value;\n this.PpublicFunction = \"\";\n }\n\n }\n holderText(event: any) {\n this.values5 = event.target.value;\n //console.log(this.values)\n };\n\n familyDetails(event) {\n // console.log(event.value);\n if (event.value == \"yes\") {\n this.familymember = true;\n\n this.PfamilyMemberChecked = false;\n this.Pfamilyvalue = event.value;\n }\n else {\n this.familymember = false;\n\n this.PfamilyMemberChecked = true;\n this.Pfamilyvalue = event.value;\n this.PmemberOfPEP = \"\";\n }\n }\n familyText(event: any) {\n this.values6 = event.target.value;\n //console.log(this.values)\n };\n pepDetails(event) {\n // console.log(event.value);\n if (event.value == \"yes\") {\n this.pepinformation = true;\n\n this.PPEPChecked = false;\n this.ppepvalue = event.value;\n }\n else {\n this.pepinformation = false;\n\n this.PPEPChecked = true;\n this.ppepvalue = event.value;\n this.PassociatePEP = \"\";\n }\n }\n pepText(event: any) {\n this.values7 = event.target.value;\n //console.log(this.values)\n };\n\n setForm() {\n this.corporateApplication = this._formBulider.group({\n 'CAccountName': ['', Validators.required],\n 'CTypelegalEntity': ['', Validators.required],\n 'CIncorporation': ['', Validators.required],\n 'CIncorporationDate': ['', Validators.required],\n 'CBusinessActivity': ['', Validators.required],\n 'CBusinessAddress': ['', Validators.required],\n 'CTelephone': ['', [Validators.required, Validators.pattern(/[0-9\\+\\-\\ ]/), Validators.minLength(10), Validators.maxLength(13)]],\n 'CWebsite': ['', Validators.required],\n 'CDomicile': ['',],\n 'CEntityManaged': ['', Validators.required],\n 'CManaged': ['', Validators.required]\n })\n }\n\n setForm1() {\n this.BeneficialOwner = this._formBulider.group({\n 'BName': ['', Validators.required],\n 'BCountryOfBirth': ['', Validators.required],\n 'BDateOfBirth': ['', Validators.required],\n 'BCustomerCountry': ['', Validators.required],\n 'BmallingAddress': ['', Validators.required],\n 'Btelephone': ['', [Validators.required, Validators.pattern(/[0-9\\+\\-\\ ]/), Validators.minLength(10), Validators.maxLength(13)]],\n 'BEmailAddress': ['', [Validators.required, Validators.pattern('^[a-zA-Z0-9]+[a-zA-Z0-9.]+@[a-zA-Z]+.[a-zA-Z]+$')]],\n 'Boccupation': ['', Validators.required],\n 'BSourceIncome': ['', Validators.required],\n 'BUS': ['', Validators.required],\n 'BUSPerson': ['', Validators.required],\n 'BCitizenResident': ['', Validators.required],\n 'BCitizen': ['', Validators.required],\n 'BCountryResidence': ['', Validators.required],\n 'BSSnTax': ['', Validators.required],\n 'BTaxClassification': ['', Validators.required]\n\n })\n }\n\n setForm2() {\n this.additional = this._formBulider.group({\n 'ApersonEntity': ['', Validators.required],\n 'Aexplain': ['', Validators.required],\n 'AestimatedActivity': ['', Validators.required],\n 'ApurposeOfAccount': ['', Validators.required],\n 'ATaxClassification': ['', Validators.required],\n 'ATaxID': ['', Validators.required],\n 'ABankingInformation': ['', Validators.required],\n 'ApowerAttorney': ['', Validators.required],\n 'ANameofperson': ['', Validators.required],\n 'ATELEFAXANDEMAIL': ['', Validators.required],\n 'AUSPerson': ['', Validators.required],\n 'ACitizenResident': ['', Validators.required],\n 'ACitizen': ['', Validators.required],\n 'ACountryResidence': ['', Validators.required],\n 'AimageFile': ['', Validators.required],\n 'AcertifiedCopies': ['', Validators.required],\n 'ANameOfAccount': ['',],\n\n // Validators.pattern(/^-?[0-9]+(\\.[0-9]*){0,1}$/g)\n 'Estimatedinitail': ['', Validators.required],\n 'Currency': ['', Validators.required],\n 'Amount': ['', Validators.required],\n 'Origin': ['', Validators.required],\n 'transactionsin': ['', [Validators.required, Validators.pattern(/^-?(0|[1-9]\\d*)?$/)]],\n 'transactionsout': ['', [Validators.required, Validators.pattern(/^-?(0|[1-9]\\d*)?$/)]],\n 'Expectedamountin': ['', [Validators.required, Validators.pattern(/^(\\d{1,3})(,\\d{1,3})*(\\.\\d{1,})?$/)]],\n 'Expectedamountout': ['', Validators.required],\n\n 'AddressofBank': ['', Validators.required],\n 'TelephoneNumberOfBank': ['', Validators.required],\n 'WireInstructions': ['', Validators.required],\n 'ContactPerson': ['', Validators.required]\n })\n }\n\n setForm3() {\n this.pep = this._formBulider.group({\n 'PHolderOfProminent': ['', Validators.required],\n 'PpublicFunction': ['', Validators.required],\n 'PfamilyMember': ['', Validators.required],\n 'PmemberOfPEP': ['', Validators.required],\n 'PPEP': ['', Validators.required],\n 'PassociatePEP': ['', Validators.required],\n // 'CAccountName': [''],\n 'CTypelegalEntity': [''],\n 'CIncorporation': [''],\n 'CIncorporationDate': [''],\n 'CBusinessActivity': [''],\n 'CBusinessAddress': [''],\n 'CTelephone': [''],\n 'CWebsite': [''],\n 'CDomicile': [''],\n 'CEntityManaged': [''],\n 'CManaged': [''],\n })\n }\n scrollTop() {\n document.body.scrollTop = 0; // For Safari\n document.documentElement.scrollTop = 0; // For Chrome, Firefox, IE and Opera\n }\n}","module.exports = \"\\n
\\n
\\n
\\n \\\"St\\n
\\n
\\n
\\n
\\n\\n
\\n   \\n\\n
\\n
\\n

\\n Please download, complete, and upload the attached General Terms & Conditions, Custody\\n Agreement, Details of Power of Attorney and Authorized Signatories documents as necessary.\\n

\\n

\\n Please download, complete, and upload the attached General Terms & Conditions, Custody\\n Agreement, Details of Power of Attorney, CRS Controlling Person Self-Certification,\\n Corporate Resolution, CRS Entity Self-Certification and Details of Authorized Signatories\\n documents as necessary.\\n

\\n

\\n For all Beneficial Owners, Power of Attorney and Authorized Signatories please provide the\\n following:\\n

\\n
    \\n
  • \\n Two current govt. issued IDs, one of which must be a passport (certified*) (Please\\n consolidate documents for all parties in one file)\\n
  • \\n
  • \\n Proof of Permanent Address (certified*) (Please consolidate documents for all parties\\n in one file)\\n
  • \\n
  • \\n Tax Forms (W-9/W-8BEN) (Please consolidate documents for all parties in one file)\\n
  • \\n
  • \\n CRS Self-Certification (Please consolidate documents for all parties in one file)\\n
  • \\n
\\n

\\n *Certified documents must meet the following criteria: certified true copy of original, name\\n of certifier, position of certifier, date, address or phone number of certifier and license\\n number (if applicable).\\n

\\n
\\n
\\n \\n \\n \\n\\n
\\n \\n
General Terms & Conditions:
\\n
\\n \\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n\\n
\\n
\\n\\n \\n \\n \\n
\\n
\\n\\n
\\n
\\n
Details of Power of Attorney (*If someone other than yourself will be signing on your behalf):
\\n
\\n \\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n
Details of Authorized Signatories:
\\n
\\n \\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n
W-8BEN:
\\n
\\n \\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n
Custody Agreement (*If required):
\\n
\\n \\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n
CRS Self-Certification:
\\n
\\n \\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n
Form W-9 (Rev. October 2018):
\\n
\\n \\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n
\\n \\n \\n
\\n
\\n \\n
General Terms & Conditions:
\\n
\\n \\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
Details of Power of Attorney (*If someone other than yourself will be signing on your behalf):
\\n
\\n \\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
Details of Authorized Signatories:
\\n
\\n \\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
W-8BEN:
\\n
\\n \\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
Custody Agreement (*If required):
\\n
\\n \\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
CRS Entity Self-Certification:
\\n
\\n \\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
Form W-9 (Rev. October 2018):
\\n
\\n \\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
CRS Controlling Person Self-Certification:
\\n
\\n \\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
Corporate Resolution:
\\n
\\n \\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n
\\n \\n
\\n\\n \\n\\n\\n\\n\\n\\n\\n \\n
\\n\\n\\n \\n\\n
\\n
\\n
\\n
\\n \\n \\n
\\n\"","module.exports = \".color {\\n color: white; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZG9jdW1lbnRzL0Q6XFxSYWdoYXZhIHByb2plY3RzXFxTdEphbWVzXFxGcm9udGVuZC9zcmNcXGFwcFxcZG9jdW1lbnRzXFxkb2N1bWVudHMuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFFSSxZQUFXLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9kb2N1bWVudHMvZG9jdW1lbnRzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNvbG9yXHJcbntcclxuICAgIGNvbG9yOndoaXRlO1xyXG5cclxufSJdfQ== */\"","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { AuthService } from 'app/shared/auth.service';\nimport { BackendService } from 'app/shared/backend.service';\nimport CONFIG from 'config';\nimport { NotificationService } from 'app/notification/notification.service';\nimport { FileUploader } from 'ng2-file-upload';\nimport { Router } from '@angular/router';\n\nconst URL = 'D:\\ST_JAMES\\MIMICS_ADV\\MIMICS_CRM_LIVE';\n\nimport { HttpClient, HttpEventType, HttpRequest, HttpResponse } from '@angular/common/http';\nimport { type } from 'os';\nimport { Body } from '@angular/http/src/body';\n\n@Component({\n selector: 'app-documents',\n templateUrl: './documents.component.html',\n styleUrls: ['./documents.component.scss']\n})\nexport class DocumentsComponent implements OnInit {\n loadingData: boolean = true;\n review_btn = false;\n document: FormGroup;\n submitted: Boolean = false;\n typeOfApplication: boolean = false;\n typeOfApplication1: boolean = false;\n\n public progress: number;\n public message: string;\n data: any;\n fileName: any;\n individualstatus: boolean = false;\n corporationstatus: boolean = false;\n myFiles: string[] = [];\n\n files: any;\n FileCount: string[] = [];\n FileNamesArray: string[] = [];\n FileByteArray: string[] = [];\n filestring: any;\n fileInput: string[] = [\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n ];\n otherDocumentAmt: number = 1;\n Msg: string;\n test: string;\n GTCFile: boolean;\n FileShortname: string[] = [];\n backendshortnames: string[] = [];\n IndGTC: boolean;\n IndPA: boolean;\n IndAS: boolean;\n IndFw8: boolean;\n IndCA: boolean;\n IndSC: boolean;\n IndFw9: boolean;\n ComGTC: boolean;\n ComPA: boolean;\n ComAS: boolean;\n ComFw8: boolean;\n ComCA: boolean;\n ComSC: boolean;\n ComFw9: boolean;\n ComESC: boolean;\n ComPSC: boolean;\n ComCR: boolean;\n filenamecheck: boolean = false; filenamecheck1: boolean = false; filenamecheck2: boolean = false;\n filenamecheck3: boolean = false; filenamecheck4: boolean = false; filenamecheck5: boolean = false;\n FileShortnameindividual: string[] = [\"General Terms & Conditions\", \"Power of Attorney\", \"Authorized Signatories\", \"FW-8BEN\", \"Custody Agreement\", \"Self-Certification\", \"Form W-9\"];\n FileShortnamecompany: string[] = [\"General Terms & Conditions\", \"Power of Attorney\", \"Authorized Signatories\", \"FW-8BEN\", \"Custody Agreement\", \"Entity Self-Certification\", \"Form W-9\", \"Person Self-Certification\", \"Corporate Resolution\"];\n constructor(\n private http: HttpClient,\n public _formBulider: FormBuilder, public _authService: AuthService,\n public _backendService: BackendService, public _notificationService: NotificationService, public _router: Router) { }\n\n\n ngOnInit() {\n this.scrollTop();\n this.setForm();\n this.generalInformation();\n this.continueApplication();\n // console.log(this._authService.ApplicationType, this._authService.Company);\n }\n continueApplication() {\n this.GTCFile = true;\n this.loadingData = false;\n this._backendService.getData(`${CONFIG.documentsApiUrlBase}/${this._authService.CustomerID}/${this._authService.Company}`)\n .subscribe(response => {\n // console.log(response);\n this.backendshortnames = response['fileData'];\n //console.log(this.backendshortnames);\n this.FileOverwriteOption(this.backendshortnames.length);\n this.loadingData = true;\n });\n }\n FileOverwriteOption(value) {\n // console.log();\n this.loadingData = false;\n if (this._authService.Company == \"IndivID\") {\n // console.log(\"condition\", value);\n for (let i = 0; i < value; i++) {\n //console.log(this.backendshortnames[i]);\n if (this.backendshortnames[i] == \"General Terms & Conditions\") {\n this.IndGTC = true;\n break;\n }\n }\n for (let i = 0; i < this.backendshortnames.length; i++) {\n if (this.backendshortnames[i] == \"Power of Attorney\") {\n this.IndPA = true;\n }\n else if (this.backendshortnames[i] == \"Authorized Signatories\") {\n this.IndAS = true;\n }\n else if (this.backendshortnames[i] == \"FW-8BEN\") {\n this.IndFw8 = true;\n }\n else if (this.backendshortnames[i] == \"Custody Agreement\") {\n this.IndCA = true;\n }\n else if (this.backendshortnames[i] == \"Self-Certification\") {\n this.IndSC = true;\n }\n else if (this.backendshortnames[i] == \"Form W-9\") {\n this.IndFw9 = true;\n }\n }\n }\n else {\n for (let i = 0; i < this.backendshortnames.length; i++) {\n if (this.backendshortnames[i] == \"General Terms & Conditions\") {\n this.ComGTC = true;\n }\n else if (this.backendshortnames[i] == \"Power of Attorney\") {\n this.ComPA = true;\n }\n else if (this.backendshortnames[i] == \"Authorized Signatories\") {\n this.ComAS = true;\n }\n else if (this.backendshortnames[i] == \"FW-8BEN\") {\n this.ComFw8 = true;\n }\n else if (this.backendshortnames[i] == \"Custody Agreement\") {\n this.ComCA = true;\n }\n else if (this.backendshortnames[i] == \"Entity Self-Certification\") {\n this.ComESC = true;\n }\n else if (this.backendshortnames[i] == \"Form W-9\") {\n this.ComFw9 = true;\n }\n else if (this.backendshortnames[i] == \"Person Self-Certification\") {\n this.ComPSC = true;\n }\n else if (this.backendshortnames[i] == \"Corporate Resolution\") {\n this.ComCR = true;\n }\n }\n }\n }\n\n generalInformation() {\n if (this._authService.Company == \"IndivID\")\n this.individualstatus = true;\n else\n this.corporationstatus = true;\n }\n btnclickevent1() {\n this.IndGTC = false;\n this.fileInput[0] = 'Select Scanned Copy*';\n }\n btnclickevent2() {\n this.IndPA = false;\n this.fileInput[1] = 'Select Scanned Copy*';\n }\n btnclickevent3() {\n this.IndAS = false;\n this.fileInput[2] = 'Select Scanned Copy*';\n }\n btnclickevent4() {\n this.IndFw8 = false;\n this.fileInput[3] = 'Select Scanned Copy*';\n }\n btnclickevent5() {\n this.IndCA = false;\n this.fileInput[4] = 'Select Scanned Copy*';\n }\n btnclickevent6() {\n this.IndSC = false;\n this.fileInput[5] = 'Select Scanned Copy*';\n }\n btnclickevent7() {\n this.IndFw9 = false;\n this.fileInput[6] = 'Select Scanned Copy*';\n }\n btnclickevent8() {\n this.ComGTC = false;\n this.fileInput[7] = 'Select Scanned Copy*';\n }\n btnclickevent9() {\n this.ComPA = false;\n this.fileInput[8] = 'Select Scanned Copy*';\n }\n btnclickevent10() {\n this.ComAS = false;\n this.fileInput[9] = 'Select Scanned Copy*';\n }\n btnclickevent11() {\n this.ComFw8 = false;\n this.fileInput[10] = 'Select Scanned Copy*';\n }\n btnclickevent12() {\n this.ComCA = false;\n this.fileInput[11] = 'Select Scanned Copy*';\n }\n btnclickevent13() {\n this.ComESC = false;\n this.fileInput[12] = 'Select Scanned Copy*';\n }\n btnclickevent14() {\n this.ComFw9 = false;\n this.fileInput[13] = 'Select Scanned Copy*';\n }\n btnclickevent15() {\n this.ComPSC = false;\n this.fileInput[14] = 'Select Scanned Copy*';\n }\n btnclickevent16() {\n this.ComCR = false;\n this.fileInput[15] = 'Select Scanned Copy*';\n }\n\n\n // FileUpload(e, value) {\n\n // console.log(value);\n // //console.log(document.getElementById('GTC').textContent);\n\n // for (var i = 0; i < e.target.files.length; i++) {\n // e.target.files[i].id = value;\n // this.myFiles.push(e.target.files[i]);\n // this.FileShortname.push(value);\n // }\n // console.log(this.myFiles);\n // console.log(this.FileShortname);\n\n // }\n localUrl: any[];\n FileUpload(e, value, filecount) {\n\n for (var i = 0; i < e.target.files.length; i++) {\n\n //console.log(value, this.FileCount[i], filecount);\n for (var n = 0; n < this.FileCount.length; n++) {\n if (this.FileCount[n] == filecount) {\n //console.log(this.FileNamesArray[i]);\n //console.log(this.FileShortname[i]);\n //console.log(this.myFiles[i]);\n //console.log(\"ALready uploded file\");\n this.FileNamesArray.splice(n, 1);\n this.FileByteArray.splice(n, 1);\n this.FileShortname.splice(n, 1);\n this.myFiles.splice(n, 1);\n this.FileCount.splice(n, 1);\n }\n }\n\n this.files = e.target.files;\n var reader = new FileReader();\n reader.onload = this._handleReaderLoadded.bind(this);\n reader.readAsBinaryString(this.files[i]);\n this.myFiles.push(e.target.files[i]);\n // this.myFiles.push(this.filestring);\n this.FileNamesArray.push(this.files[0].name);\n this.FileShortname.push(value);\n this.FileByteArray;\n this.FileCount.push(filecount);\n\n }\n // console.log(this.FileByteArray);\n if (this.individualstatus && value === 'General Terms & Conditions') {\n var fileInputNo: number = 0;\n } else if (this.individualstatus && value === 'Power of Attorney') {\n var fileInputNo: number = 1;\n } else if (this.individualstatus && value === 'Authorized Signatories') {\n var fileInputNo: number = 2;\n } else if (this.individualstatus && value === 'FW-8BEN') {\n var fileInputNo: number = 3;\n } else if (this.individualstatus && value === 'Custody Agreement') {\n var fileInputNo: number = 4;\n } else if (this.individualstatus && value === 'Self-Certification') {\n var fileInputNo: number = 5;\n } else if (this.individualstatus && value === 'Form W-9') {\n var fileInputNo: number = 6;\n } else if (this.corporationstatus && value === 'General Terms & Conditions') {\n var fileInputNo: number = 7;\n } else if (this.corporationstatus && value === 'Power of Attorney') {\n var fileInputNo: number = 8;\n } else if (this.corporationstatus && value === 'Authorized Signatories') {\n var fileInputNo: number = 9;\n } else if (this.corporationstatus && value === 'FW-8BEN') {\n var fileInputNo: number = 10;\n } else if (this.corporationstatus && value === 'Custody Agreement') {\n var fileInputNo: number = 11;\n } else if (this.corporationstatus && value === 'Entity Self-Certification') {\n var fileInputNo: number = 12;\n } else if (this.corporationstatus && value === 'Form W-9') {\n var fileInputNo: number = 13;\n } else if (this.corporationstatus && value === 'Person Self-Certification') {\n var fileInputNo: number = 14;\n } else if (this.corporationstatus && value === 'Corporate Resolution') {\n var fileInputNo: number = 15;\n }\n\n if (this.files[0].name.length < 30) {\n var str = this.files[0].name;\n this.fileInput[fileInputNo] = str.slice(0, 30);\n } else {\n var str = this.files[0].name;\n this.fileInput[fileInputNo] = str.slice(0, 25) + '...' + str.slice(-4);\n }\n }\n\n // FileUpload(e, value) {\n\n // for (var i = 0; i < e.target.files.length; i++) {\n\n // this.files = e.target.files;\n // var reader = new FileReader();\n // reader.onload = this._handleReaderLoadded.bind(this);\n // reader.readAsBinaryString(this.files[i]);\n // this.myFiles.push(e.target.files[i]);\n // // this.myFiles.push(this.filestring);\n // this.FileNamesArray.push(this.files[0].name);\n // this.FileShortname.push(value);\n // this.FileByteArray;\n\n // }\n // console.log(this.FileByteArray);\n // if (this.individualstatus && value === 'General Terms & Conditions') {\n // var fileInputNo: number = 0;\n // } else if (this.individualstatus && value === 'Power of Attorney') {\n // var fileInputNo: number = 1;\n // } else if (this.individualstatus && value === 'Authorized Signatories') {\n // var fileInputNo: number = 2;\n // } else if (this.individualstatus && value === 'FW-8BEN') {\n // var fileInputNo: number = 3;\n // } else if (this.individualstatus && value === 'Custody Agreement') {\n // var fileInputNo: number = 4;\n // } else if (this.individualstatus && value === 'Self-Certification') {\n // var fileInputNo: number = 5;\n // } else if (this.individualstatus && value === 'Form W-9') {\n // var fileInputNo: number = 6;\n // } else if (this.corporationstatus && value === 'General Terms & Conditions') {\n // var fileInputNo: number = 7;\n // } else if (this.corporationstatus && value === 'Power of Attorney') {\n // var fileInputNo: number = 8;\n // } else if (this.corporationstatus && value === 'Authorized Signatories') {\n // var fileInputNo: number = 9;\n // } else if (this.corporationstatus && value === 'FW-8BEN') {\n // var fileInputNo: number = 10;\n // } else if (this.corporationstatus && value === 'Custody Agreement') {\n // var fileInputNo: number = 11;\n // } else if (this.corporationstatus && value === 'Entity Self-Certification') {\n // var fileInputNo: number = 12;\n // } else if (this.corporationstatus && value === 'Form W-9') {\n // var fileInputNo: number = 13;\n // } else if (this.corporationstatus && value === 'Person Self-Certification') {\n // var fileInputNo: number = 14;\n // } else if (this.corporationstatus && value === 'Corporate Resolution') {\n // var fileInputNo: number = 15;\n // }\n\n // if (this.files[0].name.length < 30) {\n // var str = this.files[0].name;\n // this.fileInput[fileInputNo] = str.slice(0, 30);\n // } else {\n // var str = this.files[0].name;\n // this.fileInput[fileInputNo] = str.slice(0, 25) + '...' + str.slice(-4);\n // }\n // }\n // _handleReaderLoadded(readerEvt)\n // {\n // var binaryString=readerEvt.target.result;\n // console.log(binaryString);\n // this.filestring=btoa(binaryString); //Convaerting Binary String Data \n // console.log(this.filestring);\n // this.FileByteArray.push(this.filestring);\n\n // }\n\n _handleReaderLoadded(readerEvt) {\n var binaryString = readerEvt.target.result;\n\n //console.log(readerEvt.target.value);\n this.filestring = btoa(binaryString); //Convaerting Binary String Data \n //console.log(this.filestring);\n this.FileByteArray.push(this.filestring);\n\n //file.getAsBinary();\n\n }\n uploadFile(data) {\n // console.log(this.backendshortnames);\n //console.log(this.myFiles.length, this.FileShortname);\n this.loadingData = false;\n if (this.myFiles.length >= 4) {\n for (var n = 0; n < this.myFiles.length; n++) {\n if (!this.filenamecheck) {\n if (this.FileShortname[n] === 'General Terms & Conditions') {\n this.filenamecheck = true;\n }\n }\n if (!this.filenamecheck1) {\n if (this.FileShortname[n] === 'Authorized Signatories') {\n this.filenamecheck1 = true;\n }\n }\n if (!this.filenamecheck2) {\n if (this.FileShortname[n] === 'FW-8BEN' || this.FileShortname[n] === 'Form W-9') {\n this.filenamecheck2 = true;\n }\n }\n if (!this.filenamecheck3) {\n if (this.FileShortname[n] === 'Self-Certification') {\n this.filenamecheck3 = true;\n }\n\n }\n }\n //console.log(this.filenamecheck,this.filenamecheck1,this.filenamecheck2,this.filenamecheck3)\n if (this.filenamecheck && this.filenamecheck1 && this.filenamecheck2 && this.filenamecheck3) {\n // console.log(\"Successed\");\n this.review_btn = true;\n data = {};\n const frmData = new FormData();\n //console.log(this.myFiles.length, this.FileByteArray.length, this.FileNamesArray.length);\n //console.log(frmData);\n for (var i = 0; i < this.myFiles.length; i++) {\n frmData.append(\"string\", this.myFiles[i]);\n }\n data.FileShortname = this.FileShortname;\n //console.log( data.FileShortname);\n //console.log(frmData);\n if (data.FileShortname == \"\") {\n this.FileShortname = [\"test\"];\n //console.log(this.FileShortname)\n }\n data.FileByteArray = this.FileByteArray;\n data.FileNamesArray = this.FileNamesArray;\n data.CustomerEmail = this._authService.Email\n //console.log(CONFIG.documentsApiUrlBase, this._authService.CustomerID, this._authService.Email, this._authService.ApplicationType, this._authService.Company, this.FileShortname);\n this.http.post(`${CONFIG.documentsApiUrlBase}/${this._authService.CustomerID}/${this._authService.ApplicationType}/${this._authService.Company}/${this.FileShortname}`, data).subscribe(\n data => {\n // SHOW A MESSAGE RECEIVED FROM THE WEB API.\n this.Msg = data as string;\n //console.log(this.Msg);\n this._notificationService.showNotification({ type: 'success', message: data['msg'] });\n this._router.navigate([\"/\"]).then(result => { window.location.href = 'https://stj.bank'; });\n this.loadingData = true;\n //this._router.navigate(['/']);\n },\n (error) => {\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: 'Server Error' });\n });\n }\n else {\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: 'Please upload all required documents.' });\n }\n }\n else {\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: 'Please upload all required documents.' });\n }\n }\n // if (this.myFiles.length == 7) {\n // this.review_btn = true;\n // data = {};\n // const frmData = new FormData();\n // console.log(this.myFiles.length, this.FileByteArray.length, this.FileNamesArray.length);\n // console.log(frmData);\n // for (var i = 0; i < this.myFiles.length; i++) {\n // frmData.append(\"string\", this.myFiles[i]);\n // }\n // data.FileShortname = this.FileShortname;\n // console.log(this.FileShortname);\n // console.log(frmData);\n // if (data.FileShortname == \"\") {\n // console.log(\"lenghth\");\n // this.FileShortname = [\"test\"];\n // console.log(this.FileShortname)\n // }\n // data.FileByteArray = this.FileByteArray;\n // data.FileNamesArray = this.FileNamesArray;\n // console.log(CONFIG.documentsApiUrlBase, this._authService.CustomerID, this._authService.Email, this._authService.ApplicationType, this._authService.Company, this.FileShortname);\n // this.http.post(`${CONFIG.documentsApiUrlBase}/${this._authService.CustomerID}/${this._authService.Email}/${this._authService.ApplicationType}/${this._authService.Company}/${this.FileShortname}`, data).subscribe(\n // data => {\n // // SHOW A MESSAGE RECEIVED FROM THE WEB API.\n // this.Msg = data as string;\n // console.log(this.Msg);\n // this._notificationService.showNotification({ type: 'success', message: data['msg'] });\n // this._router.navigate([\"/\"]).then(result => { window.location.href = 'https://stj.bank'; });\n\n // //this._router.navigate(['/']);\n // },\n // (error) => {\n // this._notificationService.showNotification({ type: 'error', message: 'Server Error' });\n // });\n // }\n // else\n // this._notificationService.showNotification({ type: 'error', message: 'Please upload all required documents' });\n // } \n\n uploadCorpDocuments(data) {\n //console.log(this.myFiles.length, this.FileShortname);\n this.loadingData = false;\n if (this.myFiles.length >= 6) {\n\n for (var n = 0; n < this.myFiles.length; n++) {\n\n if (!this.filenamecheck) {\n if (this.FileShortname[n] === 'General Terms & Conditions') {\n this.filenamecheck = true;\n }\n }\n if (!this.filenamecheck1) {\n if (this.FileShortname[n] === 'Authorized Signatories') {\n this.filenamecheck1 = true;\n }\n }\n if (!this.filenamecheck2) {\n if (this.FileShortname[n] === 'FW-8BEN' || this.FileShortname[n] === 'Form W-9') {\n this.filenamecheck2 = true;\n }\n }\n if (!this.filenamecheck3) {\n if (this.FileShortname[n] === 'Entity Self-Certification') {\n this.filenamecheck3 = true;\n }\n }\n if (!this.filenamecheck4) {\n if (this.FileShortname[n] === 'Corporate Resolution') {\n this.filenamecheck4 = true;\n }\n }\n if (!this.filenamecheck5) {\n if (this.FileShortname[n] === 'Person Self-Certification') {\n this.filenamecheck5 = true;\n }\n }\n }\n if (this.filenamecheck && this.filenamecheck1 && this.filenamecheck2 && this.filenamecheck3 && this.filenamecheck4 && this.filenamecheck5) {\n\n //console.log(\"Successed\");\n\n this.review_btn = true;\n data = {};\n const frmData = new FormData();\n //console.log(this.myFiles.length, this.FileByteArray.length, this.FileNamesArray.length);\n //console.log(frmData);\n for (var i = 0; i < this.myFiles.length; i++) {\n frmData.append(\"string\", this.myFiles[i]);\n }\n data.FileShortname = this.FileShortname;\n // console.log(this.FileShortname);\n // console.log(frmData);\n if (data.FileShortname == \"\") {\n // console.log(\"lenghth\");\n this.FileShortname = [\"test\"];\n //console.log(this.FileShortname)\n }\n data.FileByteArray = this.FileByteArray;\n data.FileNamesArray = this.FileNamesArray;\n data.CustomerEmail = this._authService.Email;\n // console.log(CONFIG.documentsApiUrlBase, this._authService.CustomerID, this._authService.Email, this._authService.ApplicationType, this._authService.Company, this.FileShortname);\n this.http.post(`${CONFIG.documentsApiUrlBase}/${this._authService.CustomerID}/${this._authService.ApplicationType}/${this._authService.Company}/${this.FileShortname}`, data).subscribe(\n data => {\n // SHOW A MESSAGE RECEIVED FROM THE WEB API.\n this.Msg = data as string;\n //console.log(this.Msg);\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'success', message: data['msg'] });\n this._router.navigate([\"/\"]).then(result => { window.location.href = 'https://stj.bank'; });\n\n //this._router.navigate(['/']);\n },\n (error) => {\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: 'Server Error' });\n });\n }\n else {\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: 'Please upload all required documents.2' });\n }\n }\n else {\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: 'Please upload all required documents.1' });\n\n }\n }\n setForm() {\n this.document = this._formBulider.group({\n 'generaltermsconditions': [''],\n 'powerofattorney': [''],\n 'authorized': [''],\n 'fw8ben': [''],\n 'custody': [''],\n 'selfcertification': [''],\n 'formw9': [''],\n 'crsself': [''],\n 'corporate': [''],\n\n // 'upload': ['', Validators.required],\n // allowedMimeType: ['image/png'],\n // 'certifiedtrue': ['', Validators.required],\n // 'ncertifier': ['', Validators.required],\n // 'pcertifier': ['', Validators.required],\n // 'date': ['', Validators.required],\n // 'apcertifier': ['', Validators.required], \n // 'licenseno': [''],\n\n // 'upload':['',[Validators.required,Validators.extension('jpeg,jpg,png')]]\n //'upload':['',\"pdf\"]\n })\n }\n scrollTop() {\n document.body.scrollTop = 0; // For Safari\n document.documentElement.scrollTop = 0; // For Chrome, Firefox, IE and Opera\n }\n}","import { Injectable } from '@angular/core';\r\nimport { Location } from '@angular/common';\r\nimport { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\n\r\nimport { AuthService } from '../shared/auth.service';\r\nimport { BackendService } from '../shared/backend.service';\r\nimport { NotificationService } from '../notification/notification.service';\r\nimport { Utilities } from '../shared/utilities.service';\r\n\r\nimport { Observable } from 'rxjs/Observable';\r\n\r\n@Injectable()\r\nexport class AuthGuard extends Utilities implements CanActivate {\r\n constructor(\r\n private _router: Router,\r\n public location: Location,\r\n public notificationService: NotificationService,\r\n public authService: AuthService,\r\n public backendService: BackendService\r\n ) {\r\n super(location, notificationService, authService, backendService);\r\n }\r\n\r\n canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n console.log(localStorage.getItem('token'), sessionStorage.getItem('token'));\r\n\r\n let jwt = localStorage.getItem('token') || sessionStorage.getItem('token');\r\n if (jwt) {\r\n\r\n return this.checkLoginForAuthGuard();\r\n }\r\n else {\r\n this.authService.loggedIn = false;\r\n this._router.navigate(['/']);\r\n return Observable.of(false);\r\n }\r\n }\r\n}","module.exports = \"
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n File Uploaded\\r\\n cancel\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n File Uploaded\\r\\n cancel\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n Proof of Permanent Address (i.e. Utility Bill)\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n File Uploaded\\r\\n cancel\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\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 { Component, OnInit, Input, ViewChild, Output, EventEmitter } from '@angular/core';\r\nimport { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';\r\nimport { BackendService } from 'app/shared/backend.service';\r\nimport CONFIG from 'config';\r\nimport { AuthService } from 'app/shared/auth.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport { NotificationService } from 'app/notification/notification.service';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { HttpClient, HttpEventType, HttpRequest, HttpResponse } from '@angular/common/http';\r\nimport { IfStmt, analyzeAndValidateNgModules } from '@angular/compiler';\r\n\r\nimport { MatRadioChange } from '@angular/material';\r\nimport { isDefaultChangeDetectionStrategy } from '@angular/core/src/change_detection/constants';\r\n\r\nimport { CorporateComponent } from '../corporate/corporate.component';\r\n\r\n@Component({\r\n selector: 'kyc-beneficiary-form',\r\n templateUrl: './kyc-beneficiary.component.html',\r\n styleUrls: ['./kyc.component.scss'],\r\n providers: [DatePipe]\r\n})\r\nexport class KycBeneficiaryComponent implements OnInit {\r\n IndividualKyc: FormGroup;\r\n CorporateKyc: FormGroup;\r\n data: any;\r\n typeOfApplication: boolean = false;\r\n typeOfApplication1: boolean = false;\r\n submitted: Boolean = false;\r\n //Individual: FormGroup;\r\n remark = '';\r\n input: any;\r\n currentYear: number;\r\n myFiles: string[] = [];\r\n sMsg: string = '';\r\n files: any;\r\n FileCount: string[] = [];\r\n FileNamesArray: string[] = [];\r\n FileNamesArray3: string[] = [];\r\n FileNamesArray1: string[] = [];\r\n FileNamesArray2: string[] = [];\r\n FileNamesArray4: string[] = [];\r\n FileNamesArray5: string[] = [];\r\n FileByteArray: string[] = [];\r\n FileByteArray1: string[] = [];\r\n FileByteArray2: string[] = [];\r\n FileByteArray3: string[] = [];\r\n FileByteArray4: string[] = [];\r\n FileByteArray5: string[] = [];\r\n filestring: any;\r\n fileInput: {}[] = [\r\n \"Select Scanned Copy*\", \"Select Scanned Copy*\", \"Select Scanned Copy*\", \"Select Scanned Copy*\", \"Select Scanned Copy*\", \"Select Scanned Copy*\",\r\n ]\r\n // [ \"Select Scanned Copy*\", \"Select Scanned Copy*\", \"Select Scanned Copy*\", \"Select Scanned Copy*\", \"Select Scanned Copy*\", \"Select Scanned Copy*\", ],\r\n // [ \"Select Scanned Copy*\", \"Select Scanned Copy*\", \"Select Scanned Copy*\", \"Select Scanned Copy*\", \"Select Scanned Copy*\", \"Select Scanned Copy*\", ],\r\n // [ \"Select Scanned Copy*\", \"Select Scanned Copy*\", \"Select Scanned Copy*\", \"Select Scanned Copy*\", \"Select Scanned Copy*\", \"Select Scanned Copy*\", ],\r\n // [ \"Select Scanned Copy*\", \"Select Scanned Copy*\", \"Select Scanned Copy*\", \"Select Scanned Copy*\", \"Select Scanned Copy*\", \"Select Scanned Copy*\", ],\r\n // [ \"Select Scanned Copy*\", \"Select Scanned Copy*\", \"Select Scanned Copy*\", \"Select Scanned Copy*\", \"Select Scanned Copy*\", \"Select Scanned Copy*\", ],\r\n @Output()\r\n change: EventEmitter\r\n CompanyType: boolean = false;\r\n LLCType: boolean = false;\r\n PartnershipType: boolean = false;\r\n TrustType: boolean = false;\r\n CommonFiles: boolean = false;\r\n documents: any; ben1documents: any; ben2documents: any; ben3documents: any; ben4documents: any; ben5documents: any;\r\n shortname: any; filteredbensocuments: any;\r\n localmrChange: string;\r\n file: any;\r\n FileShortname: string[] = [];\r\n FileShortName1: string[] = [];\r\n FileShortName2: string[] = [];\r\n FileShortName3: string[] = [];\r\n FileShortName4: string[] = [];\r\n FileShortName5: string[] = [];\r\n\r\n FileCount1: string[] = [];\r\n FileCount2: string[] = [];\r\n FileCount3: string[] = [];\r\n FileCount4: string[] = [];\r\n FileCount5: string[] = [];\r\n\r\n customertype: string;\r\n Type: boolean;\r\n isDisabled: boolean;\r\n\r\n @Input() bankName: string;\r\n @Input() i: number = 0;\r\n\r\n // @ViewChild(CorporateComponent) corporate;\r\n\r\n\r\n CORGII2: boolean;\r\n IndGPI: boolean; IndGPI2: boolean; IndPPA: boolean; IndOPR: boolean; IndOFR: boolean; Ind8BEN: boolean; IndSC: boolean;\r\n IndSOI: boolean; CORCOI: boolean; CORMAA: boolean; CORCOGS: boolean; CORCOIIncumbency: boolean; CORR: boolean;\r\n CORLFS: boolean; CORCSI: boolean; COROA: boolean; CORCGS: boolean; CORCF: boolean; CORLFSS: boolean;\r\n CORPA: boolean; CORCGStanding: boolean; CORCOF: boolean; CORLFStatement: boolean; CORCI: boolean; CORTD: boolean;\r\n CORGII: boolean; CORPPA: boolean; CORW8BENW: boolean; CORSCE: boolean; CORCRS: boolean;\r\n\r\n FileShortnameindividual: string[] = [\"Photo Identifications\", \"Photo Identifications2\", \"Permanent Address\", \"Professional Reference\", \"Financial reference\", \"W8BENW9\", \"Self-Certification\", \"Source of income\"];\r\n FileShortnamecompany: string[] = [\"Incorporation\", \"Memorandum\", \"Good Standing\", \"Incumbency\", \"Corporate Registers\", \"Financial Statements\", \"Corporate seal\", \"Operating Agreement\", \"CORCGS Good Standing\", \"Formation\", \"CORLFStatement Financial Statements\", \"Partnership Agreement\", \"CORCGStanding Good Standing\", \"CORCOF Formation\", \"CORLFSS Financial Statements\", \"CORCI Incumbency\", \"Trust Deed\", \"Passport\", \"Passport2\", \"CORPPA Permanent Address\", \"W8BENW9W8BEN\", \"CORSCE Self-Certification\", \"CRS Self-Certification\"];\r\n\r\n constructor\r\n (\r\n private http: HttpClient,\r\n public _formBulider: FormBuilder, public _backendService: BackendService,\r\n public _authService: AuthService,\r\n public _notificationService: NotificationService,\r\n public _router: Router, public _datepipe: DatePipe\r\n ) { }\r\n\r\n ngOnInit() {\r\n //this.companyType();\r\n // this.getCustomerType();\r\n //this.getDocuments();\r\n this.getBeneficiaryDocuments();\r\n //console.log(this._authService.benlength);\r\n // console.log(this.corporate);\r\n }\r\n\r\n companyType() {\r\n if (this._authService.Company == \"IndivID\")\r\n this.typeOfApplication = true;\r\n else\r\n this.typeOfApplication1 = true;\r\n }\r\n getCustomerType() {\r\n this._backendService.getData(`${CONFIG.kycCorporateApplicationApiUrlBase}/${this._authService.CustomerID}`)\r\n .subscribe(response => {\r\n this.customertype = response['customertype'];\r\n // console.log(this.customertype);\r\n if (this.customertype != null) {\r\n this.Type = false;\r\n if (this.customertype == \"COMPANY\") {\r\n this.CompanyType = true;\r\n this.isDisabled = true;\r\n }\r\n if (this.customertype == \"LLC\") {\r\n this.LLCType = true;\r\n this.isDisabled = true;\r\n }\r\n if (this.customertype == \"PARTNERSHIP\") {\r\n this.PartnershipType = true;\r\n this.isDisabled = true;\r\n }\r\n if (this.customertype == \"TRUST\") {\r\n this.TrustType = true;\r\n this.isDisabled = true;\r\n }\r\n\r\n this.CommonFiles = true;\r\n }\r\n else {\r\n this.Type = true;\r\n }\r\n });\r\n }\r\n getDocuments() {\r\n this._backendService.getData(`${CONFIG.kycCorporateApplicationApiUrlBase}/${this._authService.CustomerID}/${this._authService.Company}`)\r\n .subscribe(response => {\r\n this.documents = response['documents'];\r\n //console.log(this.documents);\r\n this.FileOverwriteOption(this.documents.length);\r\n });\r\n }\r\n getBeneficiaryDocuments() {\r\n this._backendService.getData(`${CONFIG.kycIndividualApplicationApiUrlBase}/${this._authService.CustomerID}`)\r\n .subscribe(response => {\r\n this.ben1documents = response['ben1Documents'];\r\n this.ben2documents = response['ben2Documents'];\r\n this.ben3documents = response['ben3Documents'];\r\n this.ben4documents = response['ben4Documents'];\r\n this.ben5documents = response['ben5Documents'];\r\n\r\n // console.log(this.ben1documents, this.ben1documents.length, this.i);\r\n if (this.ben1documents.length == 0) {\r\n // console.log(this.ben1documents);\r\n this.CORGII = false;\r\n this.CORGII2 = false;\r\n this.CORPPA = false;\r\n this.CORW8BENW = false;\r\n this.CORSCE = false;\r\n this.CORCRS = false;\r\n }\r\n if (this.i == 0) {\r\n this.BenFileOverwriteOption(this.i);\r\n }\r\n if (this.i == 1) {\r\n this.BenFileOverwriteOption(this.i);\r\n }\r\n if (this.i == 2) {\r\n this.BenFileOverwriteOption(this.i);\r\n }\r\n if (this.i == 3) {\r\n this.BenFileOverwriteOption(this.i);\r\n }\r\n if (this.i == 4) {\r\n this.BenFileOverwriteOption(this.i);\r\n }\r\n // console.log(this.bendocuments[0].documentType);\r\n this.BenFileOverwriteOption(this.i);\r\n //this.FileOverwriteOption(this.bendocuments.length);\r\n });\r\n }\r\n FileOverwriteOption(value) {\r\n //console.log(this._authService.Company);\r\n if (this._authService.Company == \"IndivID\") {\r\n for (let i = 0; i < value; i++) {\r\n //console.log(this.documents[i]);\r\n if (this.documents[i] == \"Photo Identifications\") {\r\n this.IndGPI = true;\r\n break;\r\n }\r\n }\r\n for (let i = 0; i < value; i++) {\r\n //console.log(this.documents[i]);\r\n if (this.documents[i] == \"Photo Identifications2\") {\r\n this.IndGPI2 = true;\r\n break;\r\n }\r\n }\r\n for (let i = 0; i < value; i++) {\r\n if (this.documents[i] == \"Permanent Address\") {\r\n this.IndPPA = true;\r\n break;\r\n }\r\n }\r\n for (let i = 0; i < value; i++) {\r\n if (this.documents[i] == \"Professional Reference\") {\r\n // console.log(this.documents[i]);\r\n this.IndOPR = true;\r\n break;\r\n }\r\n }\r\n for (let i = 0; i < value; i++) {\r\n if (this.documents[i] == \"Financial reference\") {\r\n this.IndOFR = true;\r\n break;\r\n }\r\n }\r\n for (let i = 0; i < value; i++) {\r\n if (this.documents[i] == \"W8BENW9\") {\r\n this.Ind8BEN = true;\r\n break;\r\n }\r\n }\r\n for (let i = 0; i < value; i++) {\r\n if (this.documents[i] == \"Self-Certification\") {\r\n // console.log('Self-Certification');\r\n this.IndSC = true;\r\n break;\r\n }\r\n }\r\n for (let i = 0; i < value; i++) {\r\n if (this.documents[i] == \"Source of income\") {\r\n this.IndSOI = true;\r\n break;\r\n }\r\n }\r\n\r\n }\r\n else {\r\n //console.log(\"entered company\");\r\n //for(let i=0;i x.docFile2 == benfid);\r\n //console.log(this.filteredbensocuments, this.filteredbensocuments);\r\n if (this.filteredbensocuments.length > 0) {\r\n\r\n for (let n = 0; n < this.filteredbensocuments.length; n++) {\r\n\r\n if (this.filteredbensocuments[n].docRef2 == \"Trust Deed\") {\r\n this.CORTD = true;\r\n }\r\n if (this.filteredbensocuments[n].docRef2 == \"Passport\") {\r\n this.CORGII = true;\r\n }\r\n if (this.filteredbensocuments[n].docRef2 == \"Passport2\") {\r\n this.CORGII2 = true;\r\n }\r\n if (this.filteredbensocuments[n].docRef2 == \"CORPPA Permanent Address\") {\r\n this.CORPPA = true;\r\n }\r\n if (this.filteredbensocuments[n].docRef2 == \"W8BENW9W8BEN\") {\r\n this.CORW8BENW = true;\r\n }\r\n if (this.filteredbensocuments[n].docRef2 == \"CORSCE Self-Certification\") {\r\n this.CORSCE = true;\r\n }\r\n if (this.filteredbensocuments[n].docRef2 == \"CRS Self-Certification\") {\r\n this.CORCRS = true;\r\n }\r\n }\r\n }\r\n\r\n else {\r\n // console.log(this.filteredbensocuments);\r\n this.CORGII = false;\r\n this.CORGII2 = false;\r\n this.CORPPA = false;\r\n this.CORW8BENW = false;\r\n this.CORSCE = false;\r\n this.CORCRS = false;\r\n }\r\n\r\n }\r\n\r\n // BenFileOverwriteOption(value) {\r\n // this.i = value;\r\n // let benfid = +value + 1;\r\n // // console.log(benfid.toString());\r\n // console.log(this.i)\r\n // //console.log(this.bendocuments[this.i].docFile2, benfid);\r\n // if (value == 0) {\r\n // this.filteredbensocuments = this.ben1documents.filter(x => x.docRef2 == benfid);\r\n // }\r\n // if (value == 1) {\r\n // this.filteredbensocuments = this.ben2documents.filter(x => x.docRef2 == benfid);\r\n // }\r\n // if (value == 2) {\r\n // this.filteredbensocuments = this.ben3documents.filter(x => x.docRef2 == benfid);\r\n // }\r\n // if (value == 3) {\r\n // this.filteredbensocuments = this.ben4documents.filter(x => x.docRef2 == benfid);\r\n // }\r\n // if (value == 4) {\r\n // this.filteredbensocuments = this.ben5documents.filter(x => x.docRef2 == benfid);\r\n // }\r\n // //this.filteredbensocuments = this.bendocuments.filter(x => x.docFile2 == benfid);\r\n // console.log(this.filteredbensocuments.length);\r\n // if (this.filteredbensocuments.length > 0) {\r\n // for (let k = 0; k < this.filteredbensocuments.length; k++) {\r\n\r\n // if (this.filteredbensocuments[k].documentType == \"Trust Deed\") {\r\n // this.CORTD = true;\r\n // }\r\n // if (this.filteredbensocuments[k].documentType == \"Passport\") {\r\n // this.CORGII = true;\r\n // }\r\n // if (this.filteredbensocuments[k].documentType == \"Passport2\") {\r\n // this.CORGII2 = true;\r\n // }\r\n // if (this.filteredbensocuments[k].documentType == \"CORPPA Permanent Address\") {\r\n // this.CORPPA = true;\r\n // }\r\n // if (this.filteredbensocuments[k].documentType == \"W8BENW9W8BEN\") {\r\n // this.CORW8BENW = true;\r\n // }\r\n // if (this.filteredbensocuments[k].documentType == \"CORSCE Self-Certification\") {\r\n // this.CORSCE = true;\r\n // }\r\n // if (this.filteredbensocuments[k].documentType == \"CRS Self-Certification\") {\r\n // this.CORCRS = true;\r\n // }\r\n // }\r\n // }\r\n // else {\r\n // console.log(this.filteredbensocuments);\r\n // this.CORGII = false;\r\n // this.CORGII2 = false;\r\n // this.CORPPA = false;\r\n // this.CORW8BENW = false;\r\n // this.CORSCE = false;\r\n // this.CORCRS = false;\r\n // }\r\n\r\n // }\r\n onChange(mrChange: MatRadioChange) {\r\n this.localmrChange = mrChange.value;\r\n //console.log(this.localmrChange);\r\n if (mrChange.value == 'Company') {\r\n this.CompanyType = true; this.LLCType = false; this.PartnershipType = false;\r\n this.TrustType = false; this.CommonFiles = true;\r\n\r\n if (this.localmrChange == \"Company\") {\r\n // console.log(this.localmrChange)\r\n for (let i = 0; i < this.documents.length; i++) {\r\n // console.log(this.localmrChange)\r\n if (this.documents[i] == \"Incorporation\") {\r\n // console.log(this.documents[i])\r\n this.CORCOI = true;\r\n break;\r\n }\r\n } for (let i = 0; i < this.documents.length; i++) {\r\n if (this.documents[i] == \"Memorandum\") {\r\n //console.log('memor')\r\n this.CORMAA = true;\r\n break;\r\n }\r\n else if (this.documents[i] == \"Good Standing\") {\r\n this.CORCOGS = true;\r\n break;\r\n }\r\n else if (this.documents[i] == \"Incumbency\") {\r\n this.CORCOIIncumbency = true;\r\n break;\r\n }\r\n else if (this.documents[i] == \"Corporate Registers\") {\r\n this.CORR = true;\r\n break;\r\n }\r\n else if (this.documents[i] == \"Financial Statements\") {\r\n this.CORLFS = true;\r\n break;\r\n }\r\n else if (this.documents[i] == \"Corporate seal\") {\r\n this.CORCSI = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n }\r\n else if (mrChange.value == 'LLC') {\r\n this.LLCType = true; this.CompanyType = false; this.PartnershipType = false;\r\n this.TrustType = false; this.CommonFiles = true;\r\n\r\n if (this.localmrChange == \"LLC\") {\r\n for (let i = 0; i < this.documents.length; i++) {\r\n if (this.documents[i] == \"Operating Agreement\") {\r\n this.COROA = true;\r\n break;\r\n }\r\n else if (this.documents[i] == \"CORCGS Good Standing\") {\r\n this.CORCGS = true;\r\n break;\r\n }\r\n else if (this.documents[i] == \"Formation\") {\r\n this.CORCF = true;\r\n break;\r\n }\r\n else if (this.documents[i] == \"CORLFStatement Financial Statements\") {\r\n this.CORLFStatement = true;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n else if (mrChange.value == 'Partnership') {\r\n this.PartnershipType = true; this.CompanyType = false; this.LLCType = false;\r\n this.TrustType = false; this.CommonFiles = true;\r\n\r\n if (this.localmrChange == \"Partnership\") {\r\n for (let i = 0; i < this.documents.length; i++) {\r\n if (this.documents[i] == \"Partnership Agreement\") {\r\n this.CORPA = true;\r\n break;\r\n }\r\n else if (this.documents[i] == \"CORCGStanding Good Standing\") {\r\n this.CORCGStanding = true;\r\n break;\r\n }\r\n else if (this.documents[i] == \"CORCOF Formation\") {\r\n this.CORCOF = true;\r\n break;\r\n }\r\n else if (this.documents[i] == \"CORLFSS Financial Statements\") {\r\n this.CORLFSS = true;\r\n break;\r\n }\r\n else if (this.documents[i] == \"CORCI Incumbency\") {\r\n this.CORCI = true;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n this.TrustType = true; this.CompanyType = false; this.LLCType = false;\r\n this.PartnershipType = false; this.CommonFiles = true;\r\n\r\n for (let i = 0; i < this.documents.length; i++) {\r\n if (this.documents[i] == \"Trust Deed\") {\r\n this.CORTD = true;\r\n break;\r\n }\r\n }\r\n }\r\n // let mrButton: MatRadioButton = mrChange.source;\r\n // console.log(mrButton.name);\r\n // console.log(mrButton.checked);\r\n // console.log(mrButton.inputId);\r\n }\r\n\r\n // getFileDetails(e, value) {\r\n\r\n // console.log (e.target.files[0].name, e.target.files);\r\n // for (var i = 0; i < e.target.files.length; i++) {\r\n // this.myFiles.push(e.target.files[i]);\r\n // this.FileShortname.push(value);\r\n // }\r\n // }\r\n\r\n getFileDetails(e, value, filecount) {\r\n //console.log(e.target.files[0].name, e.target.files[i]);\r\n for (var i = 0; i < e.target.files.length; i++) {\r\n\r\n this.files = e.target.files;\r\n var reader = new FileReader();\r\n reader.onload = this._handleReaderLoadded.bind(this);\r\n reader.readAsBinaryString(this.files[i]);\r\n this.myFiles.push(e.target.files[0]);\r\n\r\n if (this.i == 0) {\r\n //console.log(this.FileCount1.length);\r\n for (var n = 0; n < this.FileCount1.length; n++) {\r\n if (this.FileCount1[n] == filecount) {\r\n // console.log(this.FileNamesArray[i]);\r\n // console.log(this.FileShortname[i]);\r\n //console.log(this.myFiles[i]);\r\n // console.log(\"ALready uploded file\");\r\n this.FileNamesArray1.splice(n, 1);\r\n this.FileByteArray1.splice(n, 1);\r\n this.FileShortName1.splice(n, 1);\r\n this.myFiles.splice(n, 1);\r\n this.FileCount1.splice(n, 1);\r\n }\r\n }\r\n\r\n this.FileNamesArray1.push(this.files[0].name);\r\n this.FileShortName1.push(value);\r\n this.FileCount1.push(filecount);\r\n this.FileByteArray1;\r\n // console.log(this.FileShortName1);\r\n }\r\n else if (this.i == 1) {\r\n for (var n = 0; n < this.FileCount2.length; n++) {\r\n if (this.FileCount2[n] == filecount) {\r\n // console.log(this.FileNamesArray[i]);\r\n // console.log(this.FileShortname[i]);\r\n // console.log(this.myFiles[i]);\r\n // console.log(\"Already uploded file\");\r\n this.FileNamesArray2.splice(n, 1);\r\n this.FileByteArray2.splice(n, 1);\r\n this.FileShortName2.splice(n, 1);\r\n this.myFiles.splice(n, 1);\r\n this.FileCount2.splice(n, 1);\r\n }\r\n }\r\n\r\n // this.files = e.target.files;\r\n // var reader = new FileReader();\r\n // reader.onload = this._handleReaderLoadded.bind(this);\r\n // reader.readAsBinaryString(this.files[i]);\r\n // this.myFiles.push(e.target.files[0]);\r\n\r\n this.FileNamesArray2.push(this.files[0].name);\r\n this.FileShortName2.push(value);\r\n this.FileCount2.push(filecount);\r\n this.FileByteArray2;\r\n //console.log(this.FileNamesArray2);\r\n }\r\n else if (this.i == 2) {\r\n for (var n = 0; n < this.FileCount3.length; n++) {\r\n if (this.FileCount3[n] == filecount) {\r\n //console.log(this.FileNamesArray[i]);\r\n //console.log(this.FileShortname[i]);\r\n //console.log(this.myFiles[i]);\r\n // console.log(\"ALready uploded file\");\r\n this.FileNamesArray3.splice(n, 1);\r\n this.FileByteArray3.splice(n, 1);\r\n this.FileShortName3.splice(n, 1);\r\n this.myFiles.splice(n, 1);\r\n this.FileCount3.splice(n, 1);\r\n }\r\n }\r\n\r\n // this.files = e.target.files;\r\n // var reader = new FileReader();\r\n // reader.onload = this._handleReaderLoadded.bind(this);\r\n // reader.readAsBinaryString(this.files[i]);\r\n // this.myFiles.push(e.target.files[0]);\r\n\r\n this.FileNamesArray3.push(this.files[i].name);\r\n this.FileShortName3.push(value);\r\n this.FileCount3.push(filecount);\r\n this.FileByteArray3;\r\n //console.log(this.FileNamesArray3);\r\n }\r\n else if (this.i == 3) {\r\n for (var n = 0; n < this.FileCount4.length; n++) {\r\n if (this.FileCount4[n] == filecount) {\r\n // console.log(this.FileNamesArray[i]);\r\n // console.log(this.FileShortname[i]);\r\n // console.log(this.myFiles[i]);\r\n // console.log(\"ALready uploded file\");\r\n this.FileNamesArray4.splice(n, 1);\r\n this.FileByteArray4.splice(n, 1);\r\n this.FileShortName4.splice(n, 1);\r\n this.myFiles.splice(n, 1);\r\n this.FileCount4.splice(n, 1);\r\n }\r\n }\r\n // this.files = e.target.files;\r\n // var reader = new FileReader();\r\n // reader.onload = this._handleReaderLoadded.bind(this);\r\n // reader.readAsBinaryString(this.files[i]);\r\n // this.myFiles.push(e.target.files[0]);\r\n\r\n this.FileNamesArray4.push(this.files[0].name);\r\n this.FileShortName4.push(value);\r\n this.FileCount4.push(filecount);\r\n this.FileByteArray4;\r\n //console.log(this.FileNamesArray4);\r\n }\r\n else if (this.i == 4) {\r\n for (var n = 0; n < this.FileCount5.length; n++) {\r\n if (this.FileCount5[n] == filecount) {\r\n //console.log(this.FileNamesArray[i]);\r\n //console.log(this.FileShortname[i]);\r\n //console.log(this.myFiles[i]);\r\n //console.log(\"ALready uploded file\");\r\n this.FileNamesArray5.splice(n, 1);\r\n this.FileByteArray5.splice(n, 1);\r\n this.FileShortName5.splice(n, 1);\r\n this.myFiles.splice(n, 1);\r\n this.FileCount5.splice(n, 1);\r\n }\r\n }\r\n // this.files = e.target.files;\r\n // var reader = new FileReader();\r\n // reader.onload = this._handleReaderLoadded.bind(this);\r\n // reader.readAsBinaryString(this.files[i]);\r\n // this.myFiles.push(e.target.files[0]);\r\n\r\n this.FileNamesArray5.push(this.files[i].name);\r\n this.FileShortName5.push(value);\r\n this.FileCount5.push(filecount);\r\n this.FileByteArray5;\r\n // console.log(this.FileNamesArray5);\r\n }\r\n else {\r\n console.log(this.FileNamesArray1);\r\n }\r\n\r\n }\r\n if (value === 'Passport') {\r\n var fileInputNo: number = 0;\r\n } else if (value === 'CORPPA Permanent Address') {\r\n var fileInputNo: number = 1;\r\n } else if (value === 'W8BENW9W8BEN') {\r\n var fileInputNo: number = 2;\r\n } else if (value === 'CORSCE Self-Certification') {\r\n var fileInputNo: number = 3;\r\n } else if (value === 'CRS Self-Certification') {\r\n var fileInputNo: number = 4;\r\n } else if (value === 'Passport2') {\r\n var fileInputNo: number = 5;\r\n }\r\n\r\n if (this.files[0].name.length < 30) {\r\n var str = this.files[0].name;\r\n this.fileInput[fileInputNo] = str.slice(0, 30);\r\n // this.fileInput[i][fileInputNo] = str.slice(0, 30);\r\n } else {\r\n var str = this.files[0].name;\r\n this.fileInput[fileInputNo] = str.slice(0, 25) + '...' + str.slice(-4);\r\n // this.fileInput[i][fileInputNo] = str.slice(0, 25) + '...' + str.slice(-4);\r\n }\r\n }\r\n _handleReaderLoadded(readerEvt) {\r\n var binaryString = readerEvt.target.result;\r\n this.filestring = btoa(binaryString); //Convaerting Binary String Data\r\n\r\n if (this.i == 0) {\r\n this.FileByteArray1.push(this.filestring);\r\n }\r\n if (this.i == 1) {\r\n this.FileByteArray2.push(this.filestring);\r\n }\r\n if (this.i == 2) {\r\n this.FileByteArray3.push(this.filestring);\r\n }\r\n if (this.i == 3) {\r\n this.FileByteArray4.push(this.filestring);\r\n }\r\n if (this.i == 4) {\r\n this.FileByteArray5.push(this.filestring);\r\n }\r\n\r\n }\r\n uploadFiles(data) {\r\n // console.log(this.localmrChange);\r\n\r\n data = {};\r\n const frmData = new FormData();\r\n //console.log(this.myFiles);\r\n for (var i = 0; i < this.myFiles.length; i++) {\r\n frmData.append(\"string\", this.myFiles[i]);\r\n }\r\n data.FileShortname = this.FileShortname;\r\n // console.log(this.FileShortname);\r\n // console.log(frmData);\r\n if (data.FileShortname == \"\") {\r\n console.log(\"lenghth\");\r\n this.FileShortname = [\"test\"];\r\n //console.log(this.FileShortname);\r\n }\r\n //console.log(frmData);\r\n data.FileByteArray = this.FileByteArray;\r\n data.FileNamesArray = this.FileNamesArray;\r\n data.customertype = this.localmrChange;\r\n this.http.post(`${CONFIG.kycIndividualApplicationApiUrlBase}/${this._authService.CustomerID}/${this._authService.ApplicationType}/${this._authService.Company}/${this.FileShortname}`, data).subscribe(\r\n data => {\r\n // SHOW A MESSAGE RECEIVED FROM THE WEB API.\r\n this.sMsg = data as string;\r\n // console.log(this.sMsg);\r\n //this._notificationService.showNotification({ type: 'success', message: data['msg'] });\r\n this._router.navigate(['/documents']);\r\n },\r\n (error) => {\r\n this._notificationService.showNotification({ type: 'error', message: 'Server Error' });\r\n });\r\n }\r\n\r\n // cApplication() {\r\n // this.CorporateKyc = this._formBulider.group({\r\n // 'CertificateOfIncorporation': [''],\r\n // 'Memorandum': [''],\r\n // 'GoodStanding': [''],\r\n // 'Incumbency': [''],\r\n // 'CorporateRegisters': [''],\r\n // 'FinancialStatements': [''],\r\n // 'CorporateSeal': [''],\r\n // 'OperatingAgreement': [''],\r\n // 'CertificateofGoodStanding': [''],\r\n // 'FormationCertificate': [''],\r\n // 'LFStatements': [''],\r\n // 'PartnershipAgreement': [''],\r\n // 'CertificateGoodStanding': [''],\r\n // 'FCertificate': [''],\r\n // 'LFQualifiedAccountant': [''],\r\n // 'CertificateofIncumbency': [''],\r\n // 'TrustDeed': [''],\r\n // 'PhotoIdentification': [''],\r\n // 'PhotoIdentification2': [''],\r\n // 'PermanentAddress': [''],\r\n // 'Form': [''],\r\n // 'SelfCertification': [''],\r\n // 'CRSSelfCertification': ['']\r\n // })\r\n // }\r\n // iApplication() {\r\n // this.IndividualKyc = new FormGroup({ \r\n // email: new FormControl()\r\n // });\r\n\r\n // this.IndividualKyc = this._formBulider.group({\r\n // 'Passport': [''],\r\n // 'PermanentAddress': [''],\r\n // 'OrginalProfessional': [''],\r\n // 'OrginalFinacial': [''],\r\n // 'W8BEN': [''],\r\n // 'SelfCertification': [''],\r\n // 'income': ['']\r\n // })\r\n\r\n\r\n\r\n // btnclickevent1() {\r\n // this.IndGPI = false;\r\n // }\r\n // btnclickevent2() {\r\n // this.IndPPA = false;\r\n // }\r\n // btnclickevent3() {\r\n // this.IndOPR = false;\r\n // }\r\n // btnclickevent4() {\r\n // this.IndOFR = false;\r\n // }\r\n // btnclickevent5() {\r\n // this.Ind8BEN = false;\r\n // }\r\n // btnclickevent6() {\r\n // this.IndSC = false;\r\n // }\r\n // btnclickevent7() {\r\n // this.IndSOI = false;\r\n // }\r\n // btnclickevent8() {\r\n // this.CORCOI = false;\r\n // }\r\n // btnclickevent9() {\r\n // this.CORMAA = false;\r\n // }\r\n // btnclickevent10() {\r\n // this.CORCOGS = false;\r\n // }\r\n // btnclickevent11() {\r\n // this.CORCOIIncumbency = false;\r\n // }\r\n // btnclickevent12() {\r\n // this.CORR = false;\r\n // }\r\n // btnclickevent13() {\r\n // this.CORLFS = false;\r\n // }\r\n // btnclickevent14() {\r\n // this.CORCSI = false;\r\n // }\r\n\r\n // btnclickevent15() {\r\n // this.COROA = false;\r\n // }\r\n // btnclickevent16() {\r\n // this.CORCGS = false;\r\n // }\r\n // btnclickevent17() {\r\n // this.CORCF = false;\r\n // }\r\n // btnclickevent18() {\r\n // this.CORLFStatement = false;\r\n // }\r\n // btnclickevent19() {\r\n // this.CORPA = false;\r\n // }\r\n // btnclickevent20() {\r\n // this.CORCGStanding = false;\r\n // }\r\n // btnclickevent21() {\r\n // this.CORCOF = false;\r\n // }\r\n // btnclickevent22() {\r\n // this.CORLFSS = false;\r\n // }\r\n // btnclickevent23() {\r\n // this.CORCI = false;\r\n // }\r\n // btnclickevent24() {\r\n // this.CORTD = false;\r\n // }\r\n btnclickevent25() {\r\n this.CORGII = false;\r\n this.fileInput[0] = 'Select Scanned Copy*';\r\n }\r\n btnclickevent26() {\r\n this.CORPPA = false;\r\n this.fileInput[1] = 'Select Scanned Copy*';\r\n }\r\n btnclickevent27() {\r\n this.CORW8BENW = false;\r\n this.fileInput[2] = 'Select Scanned Copy*';\r\n }\r\n btnclickevent28() {\r\n this.CORSCE = false;\r\n this.fileInput[3] = 'Select Scanned Copy*';\r\n }\r\n btnclickevent29() {\r\n this.CORCRS = false;\r\n this.fileInput[4] = 'Select Scanned Copy*';\r\n }\r\n // btnclickevent30() {\r\n // this.IndGPI2 = false;\r\n // this.fileInput[5] = 'Select Scanned Copy*';\r\n // }\r\n btnclickevent31() {\r\n this.CORGII2 = false;\r\n this.fileInput[5] = 'Select Scanned Copy*';\r\n }\r\n}\r\n","module.exports = \"
\\n
\\n
\\n \\\"St\\n
\\n
\\n
\\n
\\n
\\n  \\n
\\n Two current Govt issued photo identification\\n
one of which must be passport:
\\n
\\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n\\n\\n Proof of Permanent Address (i.e. Utility Bill):\\n
\\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n Original professional reference:\\n
\\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n Original Financial reference:\\n
\\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n\\n \\n
\\n \\n Source of income or wealth:\\n \\n \\n \\n Source of income or wealth:\\n \\n \\n\\n
\\n \\n\\n
\\n \\n \\n
\\n
\\n
\\n \\n \\n\\n \\n \\n \\n
\\n
\\n\\n
\\n
\\n  \\n \\n Confirm Entity Type\\n *\\n \\n \\n COMPANY\\n LLC\\n PARTNERSHIP\\n TRUST\\n \\n \\n\\n \\n Confirm Entity Type\\n *\\n \\n \\n COMPANY\\n LLC\\n PARTNERSHIP\\n TRUST\\n \\n \\n
\\n \\n\\n \\n\\n
\\n\\n \\n\\n
Certificate of Incorporation or equivalent document:\\n
\\n
\\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n\\n\\n
Memorandum & Articles of Association:
\\n
\\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
Certificate of Good Standing (incorporated more than 1 year):\\n
\\n
\\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
Certificate of Incumbency:
\\n
\\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
Corporate Registers (Directors, Officers, Members):
\\n
\\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
Latest Financial Statements Prepared by a qualified accountant (if\\n applicable):\\n
\\n
\\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
Corporate seal imprint:
\\n
\\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n\\n
\\n
\\n\\n \\n\\n
Operating Agreement:
\\n
\\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n\\n
Certificate of Good Standing (incorporated more than 1 year):\\n
\\n
\\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
Certificate of Formation:
\\n
\\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
Latest Financial Statements Prepared by a qualified accountant (if\\n applicable):\\n
\\n
\\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n \\n\\n
Partnership Agreement:
\\n
\\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
Certificate of Good Standing (if company incorporated more than 1\\n year):
\\n
\\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n\\n
Certificate of Formation:
\\n
\\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n\\n\\n
Latest Financial Statements Prepared by a qualified accountant (if\\n applicable):\\n
\\n
\\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n\\n
Certificate of Incumbency:
\\n
\\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n\\n\\n\\n
\\n
\\n\\n \\n\\n
Trust Deed:
\\n
\\n
\\n \\n \\n File Uploaded\\n cancel\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n\\n
\\n\\n \\n \\n \\n \\n Beneficial Owner 1\\n \\n \\n \\n\\n \\n \\n \\n \\n \\n 1\\\" (opened)=\\\"panelOpenState = true\\\"\\n (closed)=\\\"panelOpenState = false\\\">\\n \\n \\n Beneficial Owner 2\\n \\n \\n \\n\\n \\n \\n \\n \\n \\n 2\\\" (opened)=\\\"panelOpenState = true\\\"\\n (closed)=\\\"panelOpenState = false\\\">\\n \\n \\n Beneficial Owner 3\\n \\n \\n \\n\\n \\n \\n \\n \\n \\n 3\\\" (opened)=\\\"panelOpenState = true\\\"\\n (closed)=\\\"panelOpenState = false\\\">\\n \\n \\n Beneficial Owner 4\\n \\n \\n \\n\\n \\n \\n \\n \\n \\n 4\\\" (opened)=\\\"panelOpenState = true\\\"\\n (closed)=\\\"panelOpenState = false\\\">\\n \\n \\n Beneficial Owner 5\\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n \\n \\n
\\n \\n
\\n
\\n \\n
\\n\\n\\n \\n\\n \\n \\n
\\n
\\n\\n
\\n\\n \\n\\n\\n\\n \\n\\n\\n \\n \\n\\n \\n
\\n\\n
\\n\\n\\n
\\n
\\n \\n \\n
\\n\\n\"","module.exports = \".Container {\\n padding-left: 35%;\\n padding-top: 12%;\\n margin: 8px 0;\\n position: relative;\\n margin-top: 0%;\\n background-position: left top;\\n background-size: cover; }\\n\\n.color {\\n color: white; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAva3ljL0Q6XFxSYWdoYXZhIHByb2plY3RzXFxTdEphbWVzXFxGcm9udGVuZC9zcmNcXGFwcFxca3ljXFxreWMuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFFTSxpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2QsYUFBYTtFQUNiLGtCQUFrQjtFQUNuQixjQUFhO0VBQ2IsNkJBQTZCO0VBQzdCLHNCQUFzQixFQUFBOztBQUs3QjtFQUVJLFlBQVcsRUFBQSIsImZpbGUiOiJzcmMvYXBwL2t5Yy9reWMuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuQ29udGFpbmVyXHJcbntcclxuICAgICAgcGFkZGluZy1sZWZ0OiAzNSU7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAxMiU7XHJcbiAgICAgICAgbWFyZ2luOiA4cHggMDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICBtYXJnaW4tdG9wOjAlO1xyXG4gICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7XHJcbiAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgXHJcbiAgIFxyXG59XHJcblxyXG4uY29sb3Jcclxue1xyXG4gICAgY29sb3I6d2hpdGU7XHJcblxyXG59XHJcbi8vIC5mb290ZXIge1xyXG4vLyBcdHBvc2l0aW9uIDogZml4ZWQ7XHJcbi8vIFx0Ym90dG9tOjAlO1xyXG4vLyBcdHdpZHRoOiA5MCU7XHJcbi8vIFx0Y29sb3I6d2hpdGU7XHJcbi8vICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbi8vICAgICBtYXJnaW4tbGVmdDozcHg7XHJcbi8vICAgICBsZWZ0OjM1JTtcclxuLy8gXHQvL2JvcmRlcjogM3B4IHNvbGlkICMxZDU3OTlmZDtcclxuLy8gXHQvL2JhY2tncm91bmQtY29sb3I6IzFkNTc5OWZkO1xyXG4vLyB9Il19 */\"","import {\n Component, OnInit, Input, Output, EventEmitter,\n ViewChildren, ViewChild, QueryList, ElementRef\n} from '@angular/core';\nimport { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';\nimport { BackendService } from 'app/shared/backend.service';\nimport CONFIG from 'config';\nimport { AuthService } from 'app/shared/auth.service';\nimport { DatePipe } from '@angular/common';\nimport { NotificationService } from 'app/notification/notification.service';\nimport { Router } from '@angular/router';\n\nimport { HttpClient, HttpEventType, HttpRequest, HttpResponse } from '@angular/common/http';\nimport { IfStmt } from '@angular/compiler';\n\nimport { MatRadioChange } from '@angular/material';\nimport { isDefaultChangeDetectionStrategy } from '@angular/core/src/change_detection/constants';\nimport { KycBeneficiaryComponent } from './kyc-beneficiary.component';\n\n@Component({\n selector: 'app-kyc',\n templateUrl: './kyc.component.html',\n styleUrls: ['./kyc.component.scss'],\n providers: [DatePipe]\n})\nexport class KycComponent implements OnInit {\n loadingData: boolean = false;\n review_btn = false;\n IndividualKyc: FormGroup;\n CorporateKyc: FormGroup;\n data: any;\n typeOfApplication: boolean = false;\n typeOfApplication1: boolean = false;\n submitted: Boolean = false;\n //Individual: FormGroup;\n remark = '';\n input: any;\n currentYear: number; totalbendocscount: number; benfile1: number = 0; benfile2: number = 0; benfile3: number = 0; benfile4: number = 0; benfile5: number = 0;\n myFiles: string[] = [];\n sMsg: string = '';\n files: any;\n FileCount: string[] = [];\n FileNamesArray: string[] = []; FileNamesArray1: string[] = [];\n FileByteArray: string[] = []; bytearray: Array = []; namesarray: Array = [];\n namesarray1: Array = [];\n filestring: any; shortnamesarray: string[] = [];\n fileInput: string[] = [\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n ];\n @Output()\n change: EventEmitter\n CompanyType: boolean = false;\n LLCType: boolean = false;\n PartnershipType: boolean = false;\n TrustType: boolean = false;\n CommonFiles: boolean = false;\n documents: any;\n shortname: any;\n localmrChange: string;\n file: any;\n FileShortname: string[] = [];\n\n documentscount: number;\n beneficialcount: number;\n\n customertype: string;\n sourceOfIncome: string;\n Type: boolean;\n isDisabled: boolean;\n step = 0;\n beneficialowneramount = 1;\n IndGPI: boolean; IndGPI2: boolean; IndPPA: boolean; IndOPR: boolean; IndOFR: boolean; Ind8BEN: boolean; IndSC: boolean;\n IndSOI: boolean; CORCOI: boolean; CORMAA: boolean; CORCOGS: boolean; CORCOIIncumbency: boolean; CORR: boolean;\n CORLFS: boolean; CORCSI: boolean; COROA: boolean; CORCGS: boolean; CORCF: boolean; CORLFSS: boolean;\n CORPA: boolean; CORCGStanding: boolean; CORCOF: boolean; CORLFStatement: boolean; CORCI: boolean; CORTD: boolean;\n CORGII: boolean; CORPPA: boolean; CORW8BENW: boolean; CORSCE: boolean; CORCRS: boolean;\n\n\n @ViewChildren(KycBeneficiaryComponent) child: QueryList;\n\n //@ViewChild(KycBeneficiaryComponent) child: KycBeneficiaryComponent;\n\n\n dataarray: Array = [];\n\n FileShortnameindividual: string[] = [\"Photo Identifications\", \"Photo Identifications2\", \"Permanent Address\", \"Professional Reference\", \"Financial reference\", \"W8BENW9\", \"Self-Certification\", \"Source of income\"];\n FileShortnamecompany: string[] = [\"Incorporation\", \"Memorandum\", \"Good Standing\", \"Incumbency\", \"Corporate Registers\", \"Financial Statements\", \"Corporate seal\", \"Operating Agreement\", \"CORCGS Good Standing\", \"Formation\", \"CORLF Financial Statements\", \"Partnership Agreement\", \"CORCGStanding Good Standing\", \"CORCOF Formation\", \"CORLFSS Financial Statements\", \"CORCI Incumbency\", \"Trust Deed\", \"Passport\", \"CORPPA Permanent Address\", \"W8BENW9W8BEN\", \"CORSCE Self-Certification\", \"CRS Self-Certification\"];\n\n constructor\n (\n private http: HttpClient,\n public _formBulider: FormBuilder, public _backendService: BackendService,\n public _authService: AuthService,\n public _notificationService: NotificationService,\n public _router: Router, public _datepipe: DatePipe\n ) { }\n\n ngOnInit() {\n this.scrollTop();\n this.companyType();\n this.getCustomerType();\n this.getDocuments();\n\n this.beneficialowneramount = +this._authService.benlength;\n // console.log(this._authService.ApplicationType, this._authService.Company, this.beneficialowneramount);\n }\n\n companyType() {\n if (this._authService.Company == \"IndivID\")\n this.typeOfApplication = true;\n else\n this.typeOfApplication1 = true;\n }\n getCustomerType() {\n this.loadingData = false;\n this._backendService.getData(`${CONFIG.kycCorporateApplicationApiUrlBase}/${this._authService.CustomerID}`)\n .subscribe(response => {\n this.loadingData = true;\n this.customertype = response['customertype'];\n //console.log(this.customertype);\n this.sourceOfIncome = response['sourceOfIncome'];\n //console.log(this.sourceOfIncome);\n if (this.sourceOfIncome) {\n // console.log(this.sourceOfIncome);\n this.IndSOI = true;\n }\n else {\n this.IndSOI = false;\n }\n\n if (this.customertype != null) {\n this.Type = false;\n if (this.customertype == \"COMPANY\") {\n //console.log(this.customertype, this.beneficialowneramount);\n if (this.beneficialowneramount == 0)\n this.beneficialcount = 3;\n else\n this.beneficialcount = 3 * this.beneficialowneramount;\n this.documentscount = 7 + this.beneficialcount;\n //console.log(this.documentscount, this.beneficialowneramount);\n this.isDisabled = true;\n this.CompanyType = true; this.LLCType = false; this.PartnershipType = false;\n this.TrustType = false; this.CommonFiles = true;\n this.getDocuments();\n }\n else if (this.customertype == \"LLC\") {\n // console.log(this.customertype, this.beneficialowneramount);\n if (this.beneficialowneramount == 0)\n this.beneficialcount = 3;\n else\n this.beneficialcount = 3 * this.beneficialowneramount;\n this.documentscount = 4 + this.beneficialcount;\n // console.log(this.documentscount, this.beneficialowneramount);\n this.LLCType = true; this.CompanyType = false; this.PartnershipType = false;\n this.TrustType = false; this.CommonFiles = true; this.isDisabled = true;\n this.getDocuments();\n }\n else if (this.customertype == \"PARTNERSHIP\") {\n // console.log(this.customertype, this.beneficialowneramount);\n if (this.beneficialowneramount == 0)\n this.beneficialcount = 3;\n else\n this.beneficialcount = 3 * this.beneficialowneramount;\n this.documentscount = 5 + this.beneficialcount;\n // console.log(this.documentscount, this.beneficialowneramount);\n this.PartnershipType = true; this.CompanyType = false; this.LLCType = false;\n this.TrustType = false; this.CommonFiles = true; this.isDisabled = true;\n this.getDocuments();\n }\n else {\n // console.log(this.customertype, this.beneficialowneramount);\n if (this.beneficialowneramount == 0)\n this.beneficialcount = 3;\n else\n this.beneficialcount = 3 * this.beneficialowneramount;\n this.documentscount = 1 + this.beneficialcount;\n // console.log(this.documentscount, this.beneficialowneramount);\n this.TrustType = true; this.CompanyType = false; this.LLCType = false;\n this.PartnershipType = false; this.CommonFiles = true; this.isDisabled = true;\n this.getDocuments();\n }\n }\n });\n }\n getDocuments() {\n this.loadingData = false;\n this._backendService.getData(`${CONFIG.kycCorporateApplicationApiUrlBase}/${this._authService.CustomerID}/${this._authService.Company}`)\n .subscribe(response => {\n this.documents = response['documents'];\n // console.log(this.documents);\n this.FileOverwriteOption(this.documents.length);\n this.loadingData = true;\n });\n }\n addingform() {\n this.beneficialowneramount = this.beneficialowneramount + 1;\n }\n setStep(index: number) {\n this.step = index;\n }\n\n nextStep() {\n this.step++;\n }\n\n prevStep() {\n this.step--;\n }\n FileOverwriteOption(value) {\n //console.log(this._authService.Company);\n if (this._authService.Company == \"IndivID\") {\n for (let i = 0; i < value; i++) {\n // console.log(this.documents[i]);\n if (this.documents[i] == \"Photo Identifications\") {\n this.IndGPI = true;\n break;\n }\n }\n for (let i = 0; i < value; i++) {\n //console.log(this.documents[i]);\n if (this.documents[i] == \"Photo Identifications2\") {\n this.IndGPI2 = true;\n break;\n }\n }\n for (let i = 0; i < value; i++) {\n if (this.documents[i] == \"Permanent Address\") {\n this.IndPPA = true;\n break;\n }\n }\n for (let i = 0; i < value; i++) {\n if (this.documents[i] == \"Professional Reference\") {\n // console.log(this.documents[i]);\n this.IndOPR = true;\n break;\n }\n }\n for (let i = 0; i < value; i++) {\n if (this.documents[i] == \"Financial reference\") {\n this.IndOFR = true;\n break;\n }\n }\n for (let i = 0; i < value; i++) {\n if (this.documents[i] == \"W8BENW9\") {\n this.Ind8BEN = true;\n break;\n }\n }\n for (let i = 0; i < value; i++) {\n if (this.documents[i] == \"Self-Certification\") {\n // console.log('Self-Certification');\n this.IndSC = true;\n break;\n }\n }\n // for (let i = 0; i < value; i++) {\n // if (this.documents[i] == \"Source of income\") {\n // this.IndSOI = true;\n // break;\n // }\n // }\n\n }\n else {\n // console.log(\"entered company\");\n //for(let i=0;i {\n //console.log(KycBeneficiarydetails.FileNamesArray1.length);\n if (KycBeneficiarydetails.FileNamesArray1.length >= 1) {\n bendata.FileNamesArray1 = KycBeneficiarydetails.FileNamesArray1;\n bendata.FileByteArray1 = KycBeneficiarydetails.FileByteArray1;\n bendata.FileShortName1 = KycBeneficiarydetails.FileShortName1;\n }\n }\n );\n // console.log(bendata.FileShortname);\n this.child.forEach(KycBeneficiarydetails => {\n // console.log(KycBeneficiarydetails.FileNamesArray2.length);\n if (KycBeneficiarydetails.FileNamesArray2.length >= 1) {\n bendata.FileNamesArray2 = KycBeneficiarydetails.FileNamesArray2;\n bendata.FileByteArray2 = KycBeneficiarydetails.FileByteArray2;\n bendata.FileShortName2 = KycBeneficiarydetails.FileShortName2;\n }\n }\n );\n\n this.child.forEach(KycBeneficiarydetails => {\n // console.log(KycBeneficiarydetails.FileNamesArray3.length);\n if (KycBeneficiarydetails.FileNamesArray3.length >= 1) {\n bendata.FileNamesArray3 = KycBeneficiarydetails.FileNamesArray3;\n bendata.FileByteArray3 = KycBeneficiarydetails.FileByteArray3;\n bendata.FileShortName3 = KycBeneficiarydetails.FileShortName3;\n }\n }\n );\n this.child.forEach(KycBeneficiarydetails => {\n /// console.log(KycBeneficiarydetails.FileNamesArray4.length);\n if (KycBeneficiarydetails.FileNamesArray4.length >= 1) {\n bendata.FileNamesArray4 = KycBeneficiarydetails.FileNamesArray4;\n bendata.FileByteArray4 = KycBeneficiarydetails.FileByteArray4;\n bendata.FileShortName4 = KycBeneficiarydetails.FileShortName4;\n }\n }\n );\n this.child.forEach(KycBeneficiarydetails => {\n // console.log(KycBeneficiarydetails.FileNamesArray5.length);\n if (KycBeneficiarydetails.FileNamesArray5.length >= 1) {\n bendata.FileNamesArray5 = KycBeneficiarydetails.FileNamesArray5;\n bendata.FileByteArray5 = KycBeneficiarydetails.FileByteArray5;\n bendata.FileShortName5 = KycBeneficiarydetails.FileShortName5;\n }\n }\n );\n // console.log(bendata);\n\n // console.log(bendata.FileNamesArray);\n // this.child.forEach(KycBeneficiarydetails => \n // console.log(KycBeneficiarydetails.FileNamesArray1));\n // this.child.forEach(KycBeneficiarydetails => \n // console.log(KycBeneficiarydetails.FileNamesArray2));\n\n // console.log(this.child.first.FileNamesArray);\n // console.log(this.child);\n // console.log(this.child.last.FileNamesArray2);\n // console.log(this.child.first.FileNamesArray2);\n\n // bendata.FileNamesArray = KycBeneficiarydetails.FileNamesArray);\n // this.namesarray.push(KycBeneficiarydetails.FileNamesArray));\n\n // this.child.forEach(KycBeneficiarydetails => \n // console.log(KycBeneficiarydetails.FileNamesArray) ) ; \n // this.shortnamesarray.push(KycBeneficiarydetails.FileShortname));\n\n // bendata = {};\n // console.log(bendata);\n bendata.FileByteArray = this.bytearray;\n // bendata.FileNamesArray = this.child.FileNamesArray;\n // bendata.FileNamesArray1 = this.child.FileNamesArray1;\n //bendata.FileShortname = this.FileShortname;\n\n if (this.shortnamesarray.length == 0 || this.shortnamesarray.length == undefined) {\n //console.log(\"lenghth\");\n this.FileShortname = [\"test\"];\n //console.log(this.FileShortname);\n }\n //this.http.post(`${CONFIG.kycCorporateApplicationApiUrlBase}/${this._authService.CustomerID}/${this._authService.Email}/${this._authService.ApplicationType}`, bendata).subscribe(\n bendata.CustomerEmail = this._authService.Email;\n this.http.post(`${CONFIG.kycCorporateApplicationApiUrlBase}/${this._authService.CustomerID}/${this._authService.ApplicationType}`, bendata).subscribe(\n data => {\n // console.log(\"Responce data\")\n this.myFiles = [];\n bendata.FileNamesArray = [];\n bendata.FileByteArray = [];\n bendata.FileShortname = [];\n // SHOW A MESSAGE RECEIVED FROM THE WEB API. \n this.loadingData = true;\n this._router.navigate(['/documents']);\n },\n (error) => {\n // console.log(\"Responce data\")\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: 'Server Error' });\n });\n console.log(this.namesarray, this.bytearray);\n }\n\n\n uploadFiles(textvalue, data) {\n this.loadingData = false;\n console.log(this.typeOfApplication, this.myFiles.length, this.beneficialowneramount, this.documentscount, this._authService.Company, this.documents.length);\n if (this._authService.Company == \"IndivID\") {\n if (this.myFiles.length == 5 || this.documents.length > 0) {\n // console.log(this.typeOfApplication, this.myFiles.length);\n this.review_btn = true;\n // console.log(textvalue);\n //console.log(this.dataarray.length);\n //console.log(this.localmrChange);\n data = {};\n const frmData = new FormData();\n //console.log(this.myFiles);\n for (var i = 0; i < this.myFiles.length; i++) {\n frmData.append(\"string\", this.myFiles[i]);\n }\n data.FileShortname = this.FileShortname;\n // console.log(this.FileShortname);\n // console.log(frmData);\n if (data.FileShortname == \"\") {\n // console.log(\"lenghth\");\n this.FileShortname = [\"test\"];\n //console.log(this.FileShortname)\n }\n // console.log(frmData);\n data.FileByteArray = this.FileByteArray;\n data.FileNamesArray = this.FileNamesArray;\n data.customertype = this.localmrChange;\n data.SourceofIncome = textvalue;\n //console.log(this._authService.Email);\n data.CustomerEmail = this._authService.Email;\n //this.http.post(`${CONFIG.kycIndividualApplicationApiUrlBase}/${this._authService.CustomerID}/${this._authService.Email}/${this._authService.ApplicationType}/${this._authService.Company}/${this.FileShortname}`, data).subscribe(\n this.http.post(`${CONFIG.kycIndividualApplicationApiUrlBase}/${this._authService.CustomerID}/${this._authService.ApplicationType}/${this._authService.Company}/${this.FileShortname}`, data).subscribe(\n\n data => {\n // SHOW A MESSAGE RECEIVED FROM THE WEB API.\n this.sMsg = data as string;\n\n //console.log(this.sMsg);\n //this._notificationService.showNotification({ type: 'success', message: data['msg'] });\n this.FileNamesArray = [];\n this.FileByteArray = [];\n this.FileShortname = [];\n this.loadingData = true;\n this._router.navigate(['/documents']);\n },\n (error) => {\n this._notificationService.showNotification({ type: 'error', message: 'Server Error' });\n this.FileNamesArray = [];\n this.FileByteArray = [];\n this.FileShortname = [];\n this.loadingData = true;\n });\n\n }\n else {\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: 'Please upload all required documents' });\n }\n }\n else {\n\n this.child.forEach(KycBeneficiarydetails => {\n //console.log(KycBeneficiarydetails.FileNamesArray1.length);\n if (KycBeneficiarydetails.FileNamesArray1.length >= 1) {\n this.benfile1 = KycBeneficiarydetails.FileNamesArray1.length;\n }\n }\n );\n\n this.child.forEach(KycBeneficiarydetails => {\n // console.log(KycBeneficiarydetails.FileNamesArray2.length);\n if (KycBeneficiarydetails.FileNamesArray2.length >= 1) {\n this.benfile2 = KycBeneficiarydetails.FileNamesArray2.length;\n }\n }\n );\n\n this.child.forEach(KycBeneficiarydetails => {\n // console.log(KycBeneficiarydetails.FileNamesArray3.length);\n if (KycBeneficiarydetails.FileNamesArray3.length >= 1) {\n this.benfile3 = KycBeneficiarydetails.FileNamesArray3.length;\n }\n }\n );\n this.child.forEach(KycBeneficiarydetails => {\n //console.log(KycBeneficiarydetails.FileNamesArray4.length);\n if (KycBeneficiarydetails.FileNamesArray4.length >= 1) {\n this.benfile4 = KycBeneficiarydetails.FileNamesArray4.length;\n }\n }\n );\n this.child.forEach(KycBeneficiarydetails => {\n //console.log(KycBeneficiarydetails.FileNamesArray5.length);\n if (KycBeneficiarydetails.FileNamesArray5.length >= 1) {\n this.benfile5 = KycBeneficiarydetails.FileNamesArray5.length;\n }\n });\n //console.log(this.documentscount, this.myFiles.length, this.totalbendocscount, this.myFiles.length + this.totalbendocscount,this.documents.length);\n this.totalbendocscount = this.benfile1 + this.benfile2 + this.benfile3 + this.benfile4 + this.benfile5;\n //console.log(this.totalbendocscount);\n if (this.myFiles.length + this.totalbendocscount == this.documentscount || this.documents.length > 0) {\n // console.log(this.typeOfApplication1, this.myFiles.length);\n this.review_btn = true;\n //console.log(textvalue);\n //console.log(this.dataarray.length);\n //console.log(this.localmrChange);\n data = {};\n const frmData = new FormData();\n // console.log(this.myFiles);\n for (var i = 0; i < this.myFiles.length; i++) {\n frmData.append(\"string\", this.myFiles[i]);\n }\n data.FileShortname = this.FileShortname;\n //console.log(this.FileShortname);\n //console.log(frmData);\n if (data.FileShortname == \"\") {\n // console.log(\"lenghth\");\n this.FileShortname = [\"test\"];\n // console.log(this.FileShortname)\n }\n // console.log(frmData);\n data.FileByteArray = this.FileByteArray;\n data.FileNamesArray = this.FileNamesArray;\n data.customertype = this.localmrChange;\n data.SourceofIncome = textvalue;\n data.CustomerEmail = this._authService.Email;\n //console.log(data)\n //this.http.post(`${CONFIG.kycIndividualApplicationApiUrlBase}/${this._authService.CustomerID}/${this._authService.Email}/${this._authService.ApplicationType}/${this._authService.Company}/${this.FileShortname}`, data).subscribe(\n\n this.http.post(`${CONFIG.kycIndividualApplicationApiUrlBase}/${this._authService.CustomerID}/${this._authService.ApplicationType}/${this._authService.Company}/${this.FileShortname}`, data).subscribe(\n data => {\n // SHOW A MESSAGE RECEIVED FROM THE WEB API.\n this.sMsg = data as string;\n this.uploadBenFiles(data);\n // console.log(this.sMsg);\n this.loadingData = true;\n //this._notificationService.showNotification({ type: 'success', message: data['msg'] });\n // this._router.navigate(['/documents']);\n },\n (error) => {\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: 'Server Error' });\n });\n }\n else {\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: 'Please upload all required documents' });\n }\n\n }\n\n // this.review_btn = true;\n\n // console.log(textvalue);\n // console.log(this.dataarray.length);\n // console.log(this.localmrChange);\n // data = {};\n // const frmData = new FormData();\n // console.log(this.myFiles);\n // for (var i = 0; i < this.myFiles.length; i++) {\n // frmData.append(\"string\", this.myFiles[i]);\n // }\n // data.FileShortname = this.FileShortname;\n // console.log(this.FileShortname);\n // console.log(frmData);\n // if (data.FileShortname == \"\") {\n // console.log(\"lenghth\");\n // this.FileShortname = [\"test\"];\n // console.log(this.FileShortname)\n // }\n // console.log(frmData);\n // data.FileByteArray = this.FileByteArray;\n // data.FileNamesArray = this.FileNamesArray;\n // data.customertype = this.localmrChange;\n // data.SourceofIncome = textvalue;\n\n // if (this._authService.Company == \"IndivID\") {\n // this.http.post(`${CONFIG.kycIndividualApplicationApiUrlBase}/${this._authService.CustomerID}/${this._authService.Email}/${this._authService.ApplicationType}/${this._authService.Company}/${this.FileShortname}`, data).subscribe(\n // data => {\n // // SHOW A MESSAGE RECEIVED FROM THE WEB API.\n // this.sMsg = data as string;\n\n // console.log(this.sMsg);\n // //this._notificationService.showNotification({ type: 'success', message: data['msg'] });\n // this.FileNamesArray = [];\n // this.FileByteArray = [];\n // this.FileShortname = [];\n // this._router.navigate(['/documents']);\n // },\n // (error) => {\n // this._notificationService.showNotification({ type: 'error', message: 'Server Error' });\n // this.FileNamesArray = [];\n // this.FileByteArray = [];\n // this.FileShortname = [];\n // });\n // }\n // else {\n // this.http.post(`${CONFIG.kycIndividualApplicationApiUrlBase}/${this._authService.CustomerID}/${this._authService.Email}/${this._authService.ApplicationType}/${this._authService.Company}/${this.FileShortname}`, data).subscribe(\n // data => {\n // // SHOW A MESSAGE RECEIVED FROM THE WEB API.\n // this.sMsg = data as string;\n // this.uploadBenFiles(data);\n // console.log(this.sMsg);\n // //this._notificationService.showNotification({ type: 'success', message: data['msg'] });\n // // this._router.navigate(['/documents']);\n // },\n // (error) => {\n // this._notificationService.showNotification({ type: 'error', message: 'Server Error' });\n // });\n // }\n\n\n }\n\n // cApplication() {\n // this.CorporateKyc = this._formBulider.group({\n // 'CertificateOfIncorporation': [''],\n // 'Memorandum': [''],\n // 'GoodStanding': [''],\n // 'Incumbency': [''],\n // 'CorporateRegisters': [''],\n // 'FinancialStatements': [''],\n // 'CorporateSeal': [''],\n // 'OperatingAgreement': [''],\n // 'CertificateofGoodStanding': [''],\n // 'FormationCertificate': [''],\n // 'LFStatements': [''],\n // 'PartnershipAgreement': [''],\n // 'CertificateGoodStanding': [''],\n // 'FCertificate': [''],\n // 'LFQualifiedAccountant': [''],\n // 'CertificateofIncumbency': [''],\n // 'TrustDeed': [''],\n // 'PhotoIdentification': [''],\n // 'PermanentAddress': [''],\n // 'Form': [''],\n // 'SelfCertification': [''],\n // 'CRSSelfCertification': ['']\n // })\n // }\n // iApplication() {\n // this.IndividualKyc = new FormGroup({ \n // email: new FormControl()\n // });\n\n // this.IndividualKyc = this._formBulider.group({\n // 'Passport': [''],\n // 'PermanentAddress': [''],\n // 'OrginalProfessional': [''],\n // 'OrginalFinacial': [''],\n // 'W8BEN': [''],\n // 'SelfCertification': [''],\n // 'income': ['']\n // })\n\n\n\n btnclickevent1() {\n this.IndGPI = false;\n this.fileInput[0] = 'Select Scanned Copy*';\n }\n btnclickevent2() {\n this.IndPPA = false;\n this.fileInput[1] = 'Select Scanned Copy*';\n }\n btnclickevent3() {\n this.IndOPR = false;\n this.fileInput[2] = 'Select Scanned Copy*';\n }\n btnclickevent4() {\n this.IndOFR = false;\n this.fileInput[3] = 'Select Scanned Copy*';\n }\n btnclickevent5() {\n this.Ind8BEN = false;\n this.fileInput[4] = 'Select Scanned Copy*';\n }\n btnclickevent6() {\n this.IndSC = false;\n this.fileInput[5] = 'Select Scanned Copy*';\n }\n // btnclickevent7() {\n // this.IndSOI = false;\n // this.fileInput[] = 'Select Scanned Copy*';\n // }\n btnclickevent8() {\n this.CORCOI = false;\n this.fileInput[6] = 'Select Scanned Copy*';\n }\n btnclickevent9() {\n this.CORMAA = false;\n this.fileInput[7] = 'Select Scanned Copy*';\n }\n btnclickevent10() {\n this.CORCOGS = false;\n this.fileInput[8] = 'Select Scanned Copy*';\n }\n btnclickevent11() {\n this.CORCOIIncumbency = false;\n this.fileInput[9] = 'Select Scanned Copy*';\n }\n btnclickevent12() {\n this.CORR = false;\n this.fileInput[10] = 'Select Scanned Copy*';\n }\n btnclickevent13() {\n this.CORLFS = false;\n this.fileInput[11] = 'Select Scanned Copy*';\n }\n btnclickevent14() {\n this.CORCSI = false;\n this.fileInput[12] = 'Select Scanned Copy*';\n }\n btnclickevent15() {\n this.COROA = false;\n this.fileInput[13] = 'Select Scanned Copy*';\n }\n btnclickevent16() {\n this.CORCGS = false;\n this.fileInput[14] = 'Select Scanned Copy*';\n }\n btnclickevent17() {\n this.CORCF = false;\n this.fileInput[15] = 'Select Scanned Copy*';\n }\n btnclickevent18() {\n this.CORLFStatement = false;\n this.fileInput[16] = 'Select Scanned Copy*';\n }\n btnclickevent19() {\n this.CORPA = false;\n this.fileInput[17] = 'Select Scanned Copy*';\n }\n btnclickevent20() {\n this.CORCGStanding = false;\n this.fileInput[18] = 'Select Scanned Copy*';\n }\n btnclickevent21() {\n this.CORCOF = false;\n this.fileInput[19] = 'Select Scanned Copy*';\n }\n btnclickevent22() {\n this.CORLFSS = false;\n this.fileInput[20] = 'Select Scanned Copy*';\n }\n btnclickevent23() {\n this.CORCI = false;\n this.fileInput[21] = 'Select Scanned Copy*';\n }\n btnclickevent24() {\n this.CORTD = false;\n this.fileInput[22] = 'Select Scanned Copy*';\n }\n // btnclickevent25() {\n // this.CORGII = false;\n // this.fileInput[] = 'Select Scanned Copy*';\n // }\n // btnclickevent26() {\n // this.CORPPA = false;\n // this.fileInput[] = 'Select Scanned Copy*';\n // }\n // btnclickevent27() {\n // this.CORW8BENW = false;\n // this.fileInput[] = 'Select Scanned Copy*';\n // }\n // btnclickevent28() {\n // this.CORSCE = false;\n // this.fileInput[] = 'Select Scanned Copy*';\n // }\n // btnclickevent29() {\n // this.CORCRS = false;\n // this.fileInput[] = 'Select Scanned Copy*';\n // }\n btnclickevent30() {\n this.IndGPI2 = false;\n this.fileInput[23] = 'Select Scanned Copy*';\n }\n scrollTop() {\n document.body.scrollTop = 0; // For Safari\n document.documentElement.scrollTop = 0; // For Chrome, Firefox, IE and Opera\n }\n}","module.exports = \"\\n
\\n \\n\\n
\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2xhbmRpbmcvbGFuZGluZy5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\nimport { NgForm, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\n\n//components\nimport { NotificationComponent } from '../notification/notification.component';\n\n//services\nimport { AuthService } from '../shared/auth.service';\nimport { BackendService } from '../shared/backend.service';\nimport { NotificationService } from '../notification/notification.service';\nimport CONFIG from 'config';\n\n@Component({\n selector: 'app-landing',\n templateUrl: './landing.component.html',\n styleUrls: ['./landing.component.scss']\n})\nexport class LandingComponent implements OnInit {\n\n landingUser: FormGroup;\n submitted: Boolean = false;\n intendedRoute: string;\n selection: string;\n Company: string\n Type: string;\n userinfo: any;\n ContinueApp: any;\n NewApp: any;\n hrborder: Boolean = true;\n loadingData: boolean = true;\n constructor(\n public _authService: AuthService,\n public _backendService: BackendService,\n public _router: Router,\n public _formBuilder: FormBuilder,\n public _notificationService: NotificationService,\n\n ) { }\n\n ngOnInit() {\n this.setForm();\n localStorage.clear();\n sessionStorage.clear();\n console.log(this._authService.CustomerID);\n console.log(localStorage.getItem('customerID'));\n console.log(sessionStorage.getItem('customerID'));\n }\n\n landing(landingUser) {\n // console.log(landingUser);\n this.loadingData = false;\n if (landingUser.Email == \"\" || landingUser.ApplicationType == \"\" || landingUser.Company == \"\") {\n //console.log(\"test\")\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: \"Please fill in all required fields\" })\n }\n else {\n //console.log(landingUser.ApplicationType);\n this.submitted = true;\n if (landingUser.ApplicationType == 'Start New Application') {\n if (landingUser.NewPassword != \"\" && landingUser.ConfirmPassword != \"\") {\n //console.log(landingUser.NewPassword.length)\n if(landingUser.NewPassword.length>12){\n this._notificationService.showNotification({ type: 'error', message: 'Password required maximum 12 characters' });\n this.loadingData = true;\n return true;\n \n }\n if(landingUser.NewPassword.length<8){\n this._notificationService.showNotification({ type: 'error', message: 'Password required minimum 8 characters' });\n this.loadingData = true;\n return true;\n \n }\n \n if (landingUser.NewPassword == landingUser.ConfirmPassword) {\n //console.log(landingUser.NewPassword.length)\n this._backendService.postData(landingUser, `${CONFIG.landingApiUrlBase}`)\n .subscribe(response => {\n // console.log(landingUser.NewPassword.length)\n //console.log('Landing response', response, response['msg']);\n if (response['result']) {\n // this._notificationService.showNotification({ type: 'success', message: response['msg'] })\n this._authService.Landing = true;\n // console.log(response['email']);\n // console.log(response['user']);\n this.userinfo = response['user'];\n\n // storing the data in local session\n sessionStorage.setItem('email', response['email']);\n this._authService.Email = sessionStorage.getItem('email');\n //console.log(this._authService.Email);\n sessionStorage.setItem('company', response['company']);\n this._authService.Company = sessionStorage.getItem('company');\n //console.log(this._authService.Company);\n sessionStorage.setItem('applicationtype', response['applicationtype']);\n this._authService.ApplicationType = sessionStorage.getItem('applicationtype');\n // console.log(this._authService.ApplicationType);\n sessionStorage.setItem('customerID', response['customerID']);\n this._authService.CustomerID = sessionStorage.getItem('customerID');\n // console.log(response['access_token']);\n sessionStorage.setItem('token', response['access_token']);\n this._authService.token = sessionStorage.getItem('token');\n\n this.submitted = false;\n this.loadingData = true;\n //window.open(\"https://stj.bank\", \"blank\"); \n if (landingUser.Company == 'IndivID')\n this._router.navigate(['/Individual-Application'])\n if (landingUser.Company == 'Company')\n this._router.navigate(['/Corporate-Application'])\n \n }\n else {\n this.landingUser.controls['Email'].setValue('');\n this.landingUser.controls['ApplicationType'].setValue('');\n this.landingUser.controls['Company'].setValue('');\n this.landingUser.controls['Password'].setValue('');\n this.landingUser.controls['NewPassword'].setValue('');\n this.landingUser.controls['ConfirmPassword'].setValue('');\n // console.log((response['companyorindivid'] == 'Company'));\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: response['msg'] });\n }\n },\n (error) => {\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: 'Server Error' });\n }\n );\n }\n else {\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: 'NewPassword and ConfirmPassword should be match' });\n }\n }\n else {\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: 'NewPassword and ConfirmPassword should be filled' });\n }\n }\n if (landingUser.ApplicationType == 'Continue Application') {\n\n if (landingUser.Password != \"\") {\n // console.log(this.landingUser.valid); \n this._backendService.postData(landingUser, `${CONFIG.landingApiUrlBase}`)\n .subscribe(response => {\n // console.log('Landing response', response);\n\n if (response['result']) {\n // this._notificationService.showNotification({ type: 'success', message: response['msg'] })\n this._authService.Landing = true;\n // console.log(response['email']);\n // console.log(response['user']);\n this.userinfo = response['user'];\n\n // storing the data in local session\n sessionStorage.setItem('email', response['email']);\n this._authService.Email = sessionStorage.getItem('email');\n // console.log(this._authService.Email);\n sessionStorage.setItem('company', response['company']);\n this._authService.Company = sessionStorage.getItem('company');\n //console.log(this._authService.Company);\n sessionStorage.setItem('applicationtype', response['applicationtype']);\n this._authService.ApplicationType = sessionStorage.getItem('applicationtype');\n //console.log(this._authService.ApplicationType);\n sessionStorage.setItem('customerID', response['customerID']);\n this._authService.CustomerID = sessionStorage.getItem('customerID');\n //console.log(this._authService.CustomerID);\n //console.log(response['access_token']);\n sessionStorage.setItem('token', response['access_token']);\n this._authService.token = sessionStorage.getItem('token');\n\n this.submitted = false;\n this.loadingData = true;\n //window.open(\"https://stj.bank\", \"_blank\"); \n if (landingUser.Company == 'IndivID')\n this._router.navigate(['/Individual-Application'])\n if (landingUser.Company == 'Company')\n this._router.navigate(['/Corporate-Application'])\n }\n else {\n this.landingUser.controls['Email'].setValue('');\n this.landingUser.controls['ApplicationType'].setValue('');\n this.landingUser.controls['Company'].setValue('');\n this.landingUser.controls['Password'].setValue('');\n this.landingUser.controls['NewPassword'].setValue('');\n this.landingUser.controls['ConfirmPassword'].setValue('');\n // console.log((response['companyorindivid'] == 'Company'));\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: response['msg'] });\n }\n },\n (error) => {\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: 'Server Error' });\n }\n );\n }\n\n else {\n this.loadingData = true;\n this._notificationService.showNotification({ type: 'error', message: 'Please enter Password' });\n }\n }\n // else {\n // console.log('Fill Password and ConfirmPassword fields')\n // }\n }\n }\n onChangeAppType(event) {\n if (event.value == \"Start New Application\") {\n this.NewApp = true;\n this.ContinueApp = false;\n this.hrborder = false;\n }\n else {\n this.NewApp = false;\n this.ContinueApp = true;\n this.hrborder = false;\n }\n }\n activateSubRoute(rt) {\n // console.log(rt);\n this._router.navigate(['/application'], { preserveQueryParams: true });\n }\n\n setForm() {\n this.landingUser = this._formBuilder.group({\n // 'EmailAddress': ['', Validators.required], ['', [Validators.required, Validators.maxLength(25)]],\n 'Email': ['', [Validators.required, Validators.pattern('^[a-zA-Z0-9]+[a-zA-Z0-9.]+[#?!$%^&*-+.]+@[a-zA-Z]+.[a-zA-Z]+$')]],\n 'ApplicationType': ['', Validators.required],\n 'Company': ['', Validators.required],\n 'NewPassword': ['', Validators.required],\n 'ConfirmPassword': ['', Validators.pattern('^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,12}$')],\n 'Password': ['', Validators.required]\n });\n }\n}\n","module.exports = \"
\\r\\n \\r\\n
\\r\\n
Loading...
\\r\\n
\"","module.exports = \".fullscreen {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n z-index: 9999;\\n background-color: #ffffff;\\n display: -webkit-flex;\\n display: flex;\\n -webkit-flex-direction: column;\\n flex-direction: column;\\n -webkit-align-items: center;\\n align-items: center;\\n -webkit-justify-content: center;\\n justify-content: center; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbG9hZGluZy1zcGlubmVyL0Q6XFxSYWdoYXZhIHByb2plY3RzXFxTdEphbWVzXFxGcm9udGVuZC9zcmNcXGFwcFxcbG9hZGluZy1zcGlubmVyXFxsb2FkaW5nLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksZUFBZTtFQUNmLE1BQU07RUFDTixPQUFPO0VBQ1AsV0FBVztFQUNYLFlBQVk7RUFDWixhQUFhO0VBQ2IseUJBQXdCO0VBQ3hCLHFCQUFhO0VBQWIsYUFBYTtFQUNiLDhCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsMkJBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQiwrQkFBdUI7VUFBdkIsdUJBQXVCLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9sb2FkaW5nLXNwaW5uZXIvbG9hZGluZy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5mdWxsc2NyZWVuIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHotaW5kZXg6IDk5OTk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufSJdfQ== */\"","import {Component} from '@angular/core';\r\n\r\nimport {LoadingService} from './loading.service';\r\n\r\n@Component({\r\n selector: 'loading-component', \r\n templateUrl: './loading.component.html',\r\n styleUrls: ['./loading.component.scss']\r\n})\r\n\r\nexport class LoadingComponent {\r\n constructor(public loadingService: LoadingService) { }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable()\r\nexport class LoadingService {\r\n loaderHidden: boolean = true;\r\n timerHandle;\r\n\r\n constructor() {}\r\n\r\n show() {\r\n if(this.timerHandle || !this.loaderHidden) {\r\n return;\r\n }\r\n\r\n this.timerHandle = setTimeout(() => {\r\n this.loaderHidden = false;\r\n }, 500);\r\n }\r\n\r\n hide() {\r\n if(this.timerHandle) {\r\n clearTimeout(this.timerHandle);\r\n this.timerHandle = undefined;\r\n }\r\n this.loaderHidden = true;\r\n }\r\n}\r\n","module.exports = \"
\\r\\n \\r\\n \\r\\n
{{notificationService.message}}
\\r\\n \\r\\n
\"","module.exports = \".notification-wrapper {\\n opacity: 1;\\n position: fixed;\\n box-sizing: border-box;\\n bottom: 15px;\\n right: 15px;\\n min-width: 250px;\\n max-width: 50%;\\n border-radius: 5px;\\n color: #fff;\\n display: -webkit-flex;\\n display: flex;\\n -webkit-justify-content: space-around;\\n justify-content: space-around;\\n -webkit-align-items: center;\\n align-items: center;\\n padding: 12px;\\n font-size: 1.25em;\\n -webkit-transform: translateY(0);\\n transform: translateY(0);\\n transition: -webkit-transform 0.5s ease;\\n transition: transform 0.5s ease;\\n transition: transform 0.5s ease, -webkit-transform 0.5s ease;\\n z-index: 9999; }\\n\\n.pushdown {\\n -webkit-transform: translateY(200%);\\n transform: translateY(200%); }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbm90aWZpY2F0aW9uL0Q6XFxSYWdoYXZhIHByb2plY3RzXFxTdEphbWVzXFxGcm9udGVuZC9zcmNcXGFwcFxcbm90aWZpY2F0aW9uXFxub3RpZmljYXRpb24uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxVQUFVO0VBQ1YsZUFBZTtFQUNmLHNCQUFzQjtFQUN0QixZQUFZO0VBQ1osV0FBVztFQUNYLGdCQUFnQjtFQUNoQixjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxxQkFBYTtFQUFiLGFBQWE7RUFDYixxQ0FBNkI7VUFBN0IsNkJBQTZCO0VBQzdCLDJCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsYUFBYTtFQUNiLGlCQUFpQjtFQUVqQixnQ0FBd0I7VUFBeEIsd0JBQXdCO0VBQ3hCLHVDQUErQjtFQUEvQiwrQkFBK0I7RUFBL0IsNERBQStCO0VBQy9CLGFBQWEsRUFBQTs7QUFFakI7RUFDSSxtQ0FBMkI7VUFBM0IsMkJBQTJCLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm5vdGlmaWNhdGlvbi13cmFwcGVyIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgYm90dG9tOiAxNXB4O1xyXG4gICAgcmlnaHQ6IDE1cHg7XHJcbiAgICBtaW4td2lkdGg6IDI1MHB4O1xyXG4gICAgbWF4LXdpZHRoOiA1MCU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAxMnB4O1xyXG4gICAgZm9udC1zaXplOiAxLjI1ZW07XHJcbiAgIC8vIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcclxuICAgIHotaW5kZXg6IDk5OTk7XHJcbn1cclxuLnB1c2hkb3duIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAlKTtcclxufSJdfQ== */\"","import {Component, OnInit} from '@angular/core';\r\n\r\nimport {NotificationService} from './notification.service';\r\n\r\n@Component({\r\n selector: 'notification-component',\r\n templateUrl: './notification.component.html',\r\n styleUrls: ['./notification.component.scss']\r\n // template: `\r\n //
\r\n // \r\n // \r\n //
{{notificationService.message}}
\r\n // \r\n //
\r\n // `,\r\n // styles: [`\r\n // .notification-wrapper {\r\n // opacity: 1;\r\n // position: fixed;\r\n // box-sizing: border-box;\r\n // bottom: 15px;\r\n // right: 15px;\r\n // min-width: 250px;\r\n // max-width: 50%;\r\n // border-radius: 5px;\r\n // color: #fff;\r\n // display: flex;\r\n // justify-content: space-around;\r\n // align-items: center;\r\n // padding: 12px;\r\n // font-size: 1.25em;\r\n // -webkit-backface-visibility: hidden;\r\n // transform: translateY(0);\r\n // transition: transform 0.5s ease;\r\n // z-index: 9999;\r\n // }\r\n // .pushdown {\r\n // transform: translateY(200%);\r\n // }\r\n // `]\r\n})\r\nexport class NotificationComponent implements OnInit {\r\n showNotice;\r\n\r\n constructor(\r\n public notificationService: NotificationService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.showNotice = this.notificationService.showNotification;\r\n this.notificationService.manualDismiss = false;\r\n this.notificationService.timeToClose = 3000;\r\n }\r\n\r\n closeNotice() {\r\n this.notificationService.isNotificationHidden = true;\r\n this.notificationService.manualDismiss = false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n//options are optional, but if provided, this will help guide types and choices\r\ninterface NotificationOptions {\r\n message?: string;\r\n timer?: number;\r\n type?: string;\r\n closeable?: boolean;\r\n}\r\n\r\n@Injectable()\r\nexport class NotificationService {\r\n notfications: any[];\r\n isNotificationHidden: boolean = true;\r\n manualDismiss: boolean = false;\r\n timeToClose: any = 10000;\r\n timerHandle: any;\r\n message: string;\r\n bgType: string;\r\n iconType: string;\r\n\r\n constructor() { }\r\n\r\n showNotification(options?: NotificationOptions) {\r\n if(!this.isNotificationHidden) {\r\n return;\r\n }\r\n\r\n if(options && (options.timer || options.timer === 0)) {\r\n //special case for timer = 0 (a simple check will always return false)\r\n this.timeToClose = options.timer;\r\n } else {\r\n this.timeToClose = 10000;\r\n }\r\n\r\n this.message = (options && options.message) || 'System Notification';\r\n const type = (options && options.type) || 'default';\r\n this.manualDismiss = (options && options.closeable) || false;\r\n\r\n switch (type) {\r\n case 'success':\r\n this.bgType = 'bg-success';\r\n this.iconType = 'fa-thumbs-o-up';\r\n break;\r\n case 'error':\r\n this.bgType = 'bg-danger';\r\n this.iconType = 'fa-exclamation-triangle';\r\n break;\r\n case 'warning':\r\n this.bgType = 'bg-warning';\r\n this.iconType = 'fa-exclamation-triangle';\r\n break;\r\n case 'default':\r\n default:\r\n this.bgType = 'bg-primary';\r\n this.iconType = 'fa-exclamation-triangle';\r\n break;\r\n }\r\n\r\n this.isNotificationHidden = false;\r\n\r\n //if timer is passed in config and set to 0, we don't want to hide it after a timeout (user has to click to dismiss\r\n if (this.timeToClose > 0) {\r\n this.setTimers();\r\n } else {\r\n this.manualDismiss = true;\r\n }\r\n }\r\n hideNotification() {\r\n if(this.timerHandle) {\r\n clearTimeout(this.timerHandle);\r\n this.timerHandle = null;\r\n }\r\n this.isNotificationHidden = true;\r\n this.resetNotificationInfo;\r\n }\r\n resetNotificationInfo() {\r\n this.message = '';\r\n this.bgType = '';\r\n this.iconType = '';\r\n this.manualDismiss = false;\r\n this.timeToClose = 10000;\r\n }\r\n setTimers() {\r\n //remove css effect takes 500ms - make sure that completes before removing content from notice.\r\n //let timePadding = this.timeToClose + 600;\r\n this.timerHandle = setTimeout(() => {\r\n this.isNotificationHidden = true;\r\n setTimeout(() => {\r\n this.message = '';\r\n this.bgType = '';\r\n this.iconType = '';\r\n this.timeToClose = 10000;\r\n }, 1000);\r\n }, this.timeToClose);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class AccountService {\r\n currentSettlementAccount = '';\r\n \r\n // Observable string sources\r\n private currentSettlementAccountChangeConfirmedSource = new Subject();\r\n \r\n // Observable string streams\r\n currentSettlementAccountChange$ = this.currentSettlementAccountChangeConfirmedSource.asObservable();\r\n \r\n setSAccount(currentSettlementAccount: string) {\r\n this.currentSettlementAccount = currentSettlementAccount;\r\n this.currentSettlementAccountChangeConfirmedSource.next(currentSettlementAccount);\r\n } \r\n \r\n}","import { Directive, ElementRef, Input, Output, OnChanges, EventEmitter, HostBinding, HostListener } from '@angular/core';\ndeclare const google: any;\ndeclare let googleLoaded: any;\ndeclare const googleChartsPackagesToLoad: any;\n\n@Directive({\n selector: '[GoogleChart]'\n})\nexport class GoogleChart implements OnChanges {\n public _element: any;\n @Input('chartType') public chartType: string;\n @Input('chartOptions') public chartOptions: Object;\n @Input('loadingDelay') public loadingDelay = 0;\n @Input('chartData') public chartData: Object;\n @Output('itemSelect') public itemSelect: EventEmitter<{ row: number, column: number }> = new EventEmitter();\n @Output('itemDeselect') public itemDeselect: EventEmitter = new EventEmitter();\n\n constructor(public element: ElementRef) {\n this._element = this.element.nativeElement;\n }\n\n ngOnChanges() {\n if (!googleLoaded) {\n googleLoaded = true;\n google.charts.load('current', { 'packages': ['corechart', 'gauge']['orgchart'] });\n }\n setTimeout(() => this.drawGraph(this.chartOptions, this.chartType, this.chartData, this._element), this.loadingDelay);\n }\n\n @HostListener('window:resize') onResize(event: Event) {\n this.drawGraph(this.chartOptions, this.chartType, this.chartData, this._element);\n }\n\n drawGraph(chartOptions, chartType, chartData, ele) {\n // console.log(chartOptions, chartType, chartData, ele);\n \n google.charts.setOnLoadCallback(drawChart);\n const self = this;\n\n function drawChart() {\n const wrapper = new google.visualization.ChartWrapper({\n chartType: chartType,\n dataTable: chartData,\n options: chartOptions || {}\n });\n\n wrapper.draw(ele);\n google.visualization.events.addListener(wrapper, 'select', function () {\n const selectedItem = wrapper.getChart().getSelection()[0];\n\n if (selectedItem) {\n\n let msg;\n if (selectedItem !== undefined) {\n const selectedRowValues = [];\n if (selectedItem.row !== null) {\n selectedRowValues.push(wrapper.getDataTable().getValue(selectedItem.row, 0));\n selectedRowValues.push(wrapper.getDataTable().getValue(selectedItem.row, selectedItem.column));\n msg = {\n message: 'select',\n row: selectedItem.row,\n column: selectedItem.column,\n selectedRowValues: selectedRowValues\n };\n }\n }\n self.itemSelect.emit(msg);\n } else\n self.itemDeselect.emit();\n });\n }\n }\n}","import CONFIG from '../../config';\r\nimport { Injectable } from '@angular/core';\r\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { LoadingService } from '../loading-spinner/loading.service';\r\n\r\nimport { Observable } from 'rxjs/Observable';\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n public Landing : boolean;\r\n public loggedIn : boolean;\r\n public Email:string = localStorage.getItem('email')|| sessionStorage.getItem('email');\r\n public Company:string =localStorage.getItem('company')|| sessionStorage.getItem('company');\r\n public CustomerName:string=localStorage.getItem('name')||sessionStorage.getItem('name');\r\n public ApplicationType: string = localStorage.getItem('applicationtype') || sessionStorage.getItem('applicationtype');\r\n public Name:string=localStorage.getItem('Name')|| sessionStorage.getItem('Name');\r\n public Nationality:string=localStorage.getItem('CustomerCountry')|| sessionStorage.getItem('CustomerCountry');\r\n public CustomerID:string=localStorage.getItem('customerID')|| sessionStorage.getItem('customerID');\r\n public token: string = localStorage.getItem('token') || sessionStorage.getItem('token'); \r\n public benlength: string = sessionStorage.getItem('beneficiarylength');\r\n public BackButton:string=\"Back\"; \r\n\r\n constructor(\r\n private _http: Http,\r\n private _router: Router,\r\n \r\n ) {} \r\n \r\n \r\n /*\r\n Utility error handler function for server errors\r\n */\r\n private handleError(error) {\r\n const errMsg = error.message || 'Server error';\r\n return Observable.throw(error);\r\n }\r\n}","import {Injectable} from '@angular/core';\r\nimport { Response, Request, RequestOptions, ResponseContentType } from '@angular/http';\r\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\r\n\r\nimport { catchError } from 'rxjs/operators';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport CONFIG from './../../config';\r\nimport { AuthService } from './auth.service';\r\nimport { LoadingService } from '../loading-spinner/loading.service';\r\n\r\n\r\n@Injectable()\r\nexport class BackendService {\r\n\r\n constructor(\r\n private _http: HttpClient,\r\n private _authService: AuthService,\r\n private _loadingService: LoadingService\r\n ) {}\r\n\r\n getData(url) { \r\n // console.log(\"entered getdata backend service\" + this._authService.token);\r\n this._loadingService.show();\r\n const httpOptions = { \r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${this._authService.token}`\r\n })\r\n };\r\n //console.log(url, httpOptions);\r\n return this._http.get(url, httpOptions) \r\n .map(response => {\r\n // console.log(\"jhgjdfghsdjfh\");\r\n if (response) {\r\n //console.log(\"if entered\");\r\n return response;\r\n } else {\r\n throw new Error('Error Getting Data');\r\n }\r\n })\r\n // .map(response => {\r\n // if (response.json()) {\r\n // return response.json();\r\n // } else {\r\n // throw new Error('Error Getting Data');\r\n // }\r\n // })\r\n .catch(this.handleError)\r\n .finally(() => {\r\n this._loadingService.hide();\r\n });\r\n }\r\n\r\n deleteData(url) {\r\n this._loadingService.show();\r\n const httpOptions = { \r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${this._authService.token}`\r\n })\r\n };\r\n // const httpOptions = new RequestOptions({ headers: headers });\r\n return this._http.delete(url, httpOptions)\r\n .map(response => {\r\n return response;\r\n })\r\n .catch(this.handleError)\r\n .finally(() => {\r\n this._loadingService.hide();\r\n });\r\n }\r\n\r\n postFileData(fileToUpload: File): Observable {\r\n const url = `${CONFIG.documentsApiUrlBase}/${this._authService.CustomerID}/${this._authService.Company}`;\r\n const formData: FormData = new FormData();\r\n const httpOptions = { \r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${this._authService.token}`\r\n })\r\n };\r\n console.log(fileToUpload, fileToUpload.name);\r\n\r\n\r\n\r\n \r\nformData.append('File', fileToUpload, fileToUpload.name);\r\n//formData.append('ComponentId', componentId);\r\n // formData.append('fileKey', fileToUpload, fileToUpload.name);\r\n // console.log(formData);\r\n return this._http\r\n .post(url, formData, httpOptions)\r\n .map(() => { return true; })\r\n .catch((e) => this.handleError(e));\r\n }\r\n\r\n postData(newData, url) {\r\n this._loadingService.show(); \r\n const httpOptions = { \r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${this._authService.token}`\r\n })\r\n };\r\n const body = JSON.stringify(newData);\r\n return this._http.post(url, body, httpOptions) \r\n .map(response => {\r\n return response;\r\n })\r\n .catch(this.handleError)\r\n .finally(() => {\r\n this._loadingService.hide();\r\n });\r\n }\r\n\r\n putData(updatedData, url) {\r\n this._loadingService.show();\r\n const httpOptions = { \r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${this._authService.token}`\r\n })\r\n };\r\n const body = JSON.stringify(updatedData);\r\n return this._http.put(url, body, httpOptions)\r\n .map(response => {\r\n return response;\r\n })\r\n .catch(this.handleError)\r\n .finally(() => {\r\n this._loadingService.hide();\r\n });\r\n \r\n }\r\n\r\n /*\r\n Utility error handler function for server errors\r\n */\r\n private handleError(error) {\r\n if(error.status && error.status === 401) {\r\n return Observable.throw('Session Expired- please log in');\r\n }\r\n\r\n return Observable.throw('Server Error');\r\n }\r\n \r\n}","export const LatestBrowserVersions = {\r\n 'chrome': 80,\r\n 'firefox': 74,\r\n 'Opera': 66,\r\n 'Safari': 13,\r\n 'MS-Edge': 18,\r\n 'IE': 11\r\n};","import {Injectable} from '@angular/core';\r\nimport {Observable} from 'rxjs/Observable';\r\n\r\n@Injectable()\r\nexport class FilterService {\r\n constructor() {}\r\n\r\n filterFromMultiple(items: Object, group: Array): Array {\r\n console.log(items,group);\r\n let itemsToLoop: Array = [];\r\n let filtered = group;\r\n let minDate = 0;\r\n let maxDate = 0;\r\n let date1, date2;\r\n\r\n //set up array of props from items object that have values\r\n //need to check for null and empty string instead of true/false, as filtering by checkbox will use a 'false' value!\r\n for(let item in items) {\r\n if(items[item] !== null && items[item] !== '') {\r\n itemsToLoop.push({\r\n property: item,\r\n value: items[item]\r\n });\r\n }\r\n }\r\n\r\n //check props array for Date objects- if exist, get min and max for range checking\r\n itemsToLoop.forEach(item => {\r\n if(item['value'] instanceof Date) {\r\n if(!date1) {\r\n date1 = +item['value'];\r\n } else {\r\n date2 = +item['value'];\r\n }\r\n\r\n maxDate = Math.max(date1, date2);\r\n minDate = Math.min(date1, date2);\r\n }\r\n });\r\n\r\n for(let i = 0, l = itemsToLoop.length; i < l; i += 1) {\r\n let propCheck = itemsToLoop[i]['property'];\r\n let valueCheck = itemsToLoop[i]['value'];\r\n let datePropName = '';\r\n\r\n //if a date is submitted in search params, find the property name of the array being searched where value = type Date to be used in filter below\r\n if(valueCheck instanceof Date) {\r\n for(let j = 0; j < 1; j += 1) {\r\n for(let p in group[j]) {\r\n if(group[j][p] instanceof Date) {\r\n datePropName = p;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n filtered = filtered.filter((property, index, arr) => {\r\n if(valueCheck instanceof Date) {\r\n let thisDateAsNumber = +new Date(property[datePropName]);\r\n return thisDateAsNumber >= minDate && thisDateAsNumber <= maxDate;\r\n } else {\r\n return property[propCheck] === valueCheck;\r\n }\r\n });\r\n }\r\n console.log(\"filtered\"+filtered);\r\n console.log(\"filtered length \"+filtered.length);\r\n\r\n return filtered;\r\n }\r\n}","import {Injectable} from '@angular/core';\r\n\r\ninterface OrderConfig {\r\n param: string;\r\n group: any[];\r\n altParam?: string;\r\n}\r\n\r\n@Injectable()\r\nexport class OrderByService {\r\n sortBy: string = '';\r\n currentSortDirection: string = 'asc';\r\n currentSortParam: string = '';\r\n currentPage: string = '';\r\n\r\n resetService() {\r\n this.sortBy = '';\r\n this.currentSortDirection = 'asc';\r\n this.currentSortParam = '';\r\n }\r\n\r\n orderByParam(param, group, altParam?, currentPage?) {\r\n const presort = group;\r\n let final = [...presort];\r\n if(\r\n param === 'datepaid' ||\r\n param === 'settlementDate' || \r\n param === 'postingDate' || \r\n param === 'tradeDate' || \r\n param === 'documentDate' || \r\n param === 'pdate' || \r\n param === 'sdate' || \r\n param === 'tdate' || \r\n param === 'face' ||\r\n param === 'cost' ||\r\n param === 'marketValue' ||\r\n param === 'marketPrice' ||\r\n param === 'purchPrice' ||\r\n param === 'fxRate' ||\r\n param === 'quantity' ||\r\n param === 'settlementAmount' ||\r\n param === 'price' ||\r\n param === 'debit' ||\r\n param === 'credit' ||\r\n param === 'balance' ||\r\n param === 'daysAccrued' ||\r\n param === 'maturitydate'\r\n ){\r\n var dateOrNum = true;\r\n } else {\r\n var dateOrNum = false;\r\n };\r\n console.log('dateOrNum '+ dateOrNum);\r\n if(\r\n (param === this.currentSortParam && this.currentSortDirection === 'asc' && this.currentPage === currentPage) || \r\n (dateOrNum && this.currentPage !== currentPage) || \r\n (param !== this.currentSortParam && dateOrNum)\r\n ) {\r\n console.log('desc');\r\n final = this.orderByParamDescending(param, presort, altParam);\r\n this.currentSortDirection = 'desc';\r\n this.sortBy = `${param}down`;\r\n } else {\r\n console.log('asc');\r\n final = this.orderByParamAscending(param, presort, altParam);\r\n this.currentSortDirection = 'asc';\r\n this.sortBy = `${param}up`;\r\n }\r\n this.currentSortParam = param;\r\n this.currentPage = currentPage;\r\n return final;\r\n }\r\n orderByParamdes(param, group, altParam?, currentPage?) {\r\n const presort = group;\r\n let final = [...presort];\r\n if(\r\n param === 'datepaid' ||\r\n param === 'settlementDate' || \r\n param === 'postingDate' || \r\n param === 'tradeDate' || param === 'documentDate' || \r\n param === 'face' ||\r\n param === 'cost' ||\r\n param === 'marketValue' ||\r\n param === 'marketPrice' ||\r\n param === 'purchPrice' ||\r\n param === 'fxRate' ||\r\n param === 'quantity' ||\r\n param === 'settlementAmount' ||\r\n param === 'price' ||\r\n param === 'debit' ||\r\n param === 'credit' ||\r\n param === 'balance' ||\r\n param === 'daysAccrued' ||\r\n param === 'maturitydate'\r\n ){\r\n var dateOrNum = true;\r\n } else {\r\n var dateOrNum = false;\r\n };\r\n if(\r\n (param === this.currentSortParam && this.currentSortDirection === 'desc' && this.currentPage === currentPage) || \r\n (dateOrNum && this.currentPage !== currentPage) || \r\n (param !== this.currentSortParam && dateOrNum)\r\n ) {\r\n console.log('asc');\r\n final = this.orderByParamAscending(param, presort, altParam);\r\n this.currentSortDirection = 'asc';\r\n this.sortBy = `${param}up`;\r\n \r\n } else {\r\n console.log('desc');\r\n final = this.orderByParamDescending(param, presort, altParam);\r\n this.currentSortDirection = 'desc';\r\n this.sortBy = `${param}down`;\r\n }\r\n this.currentSortParam = param;\r\n this.currentPage = currentPage;\r\n return final;\r\n }\r\n\r\n //order ascending- start with lowest\r\n orderByParamAscending(param, group, altParam?) {\r\n return group.sort((a, b): any => {\r\n //account for possible null values - set to empty str if so\r\n if((!a[param] && typeof a[param] !== 'boolean' && a[param] !== 0)) {\r\n a[param] = '';\r\n }\r\n if((!b[param] && typeof b[param] !== 'boolean' && b[param] !== 0)) {\r\n b[param] = '';\r\n }\r\n\r\n let first = a[param], second = b[param];\r\n let altFirst, altSecond;\r\n\r\n if(altParam) {\r\n altFirst = a[altParam];\r\n altSecond = b[altParam];\r\n\r\n if(altParam.indexOf('date') !== -1 || altParam.indexOf('time') !== -1) {\r\n altFirst = +new Date(a[altParam]);\r\n altSecond = +new Date(b[altParam]);\r\n } else if(typeof a[altParam] === 'string') {\r\n altFirst = a[altParam].toLowerCase();\r\n altSecond = b[altParam].toLowerCase();\r\n }\r\n }\r\n\r\n if(param.indexOf('date') !== -1 || param.indexOf('time') !== -1) {\r\n first = +new Date(a[param]);\r\n second = +new Date(b[param]);\r\n } else if(a[param] == +a[param]) {\r\n first = +a[param];\r\n second = +b[param];\r\n } else if(typeof a[param] === 'string') {\r\n first = a[param].toLowerCase();\r\n second = b[param].toLowerCase();\r\n }\r\n\r\n if(first < second) {\r\n return -1;\r\n } else if(second < first) {\r\n return 1;\r\n } else {\r\n if(altParam) {\r\n if(altFirst < altSecond) {\r\n return -1;\r\n } else if(altSecond < altFirst) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n return 0;\r\n }\r\n });\r\n }\r\n\r\n //order descending- start with greatest\r\n orderByParamDescending(param, group, altParam?) {\r\n console.log('orderByParamDescending');\r\n return group.sort((a, b): number => {\r\n //account for possible null values - set to empty str if so\r\n if((!a[param] && typeof a[param] !== 'boolean' && a[param] !== 0)) {\r\n a[param] = '';\r\n }\r\n if((!b[param] && typeof b[param] !== 'boolean' && b[param] !== 0)) {\r\n b[param] = '';\r\n }\r\n\r\n let first = a[param], second = b[param];\r\n let altFirst, altSecond;\r\n\r\n //altParam provides fallback sorting- need to make same checks for date/str as normal param\r\n if(altParam) {\r\n altFirst = a[altParam];\r\n altSecond = b[altParam];\r\n\r\n if(altParam.indexOf('date') !== -1 || altParam.indexOf('time') !== -1) {\r\n altFirst = +new Date(a[altParam]);\r\n altSecond = +new Date(b[altParam]);\r\n } else if(typeof a[altParam] === 'string') {\r\n altFirst = a[altParam].toLowerCase();\r\n altSecond = b[altParam].toLowerCase();\r\n }\r\n }\r\n\r\n //properly format sort data (date/string here)\r\n if(param.indexOf('date') !== -1 || param.indexOf('time') !== -1) {\r\n first = +new Date(a[param]);\r\n second = +new Date(b[param]);\r\n } else if(a[param] == +a[param]) {\r\n first = +a[param];\r\n second = +b[param];\r\n } else if(typeof a[param] === 'string') {\r\n first = a[param].toLowerCase();\r\n second = b[param].toLowerCase();\r\n }\r\n\r\n if(first < second) {\r\n return 1;\r\n } else if(second < first) {\r\n return -1;\r\n } else {\r\n if(altParam) {\r\n if(altFirst < altSecond) {\r\n return -1;\r\n } else if(altSecond < altFirst) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n return 0;\r\n }\r\n });\r\n }\r\n}","import { Component, OnInit, OnDestroy } from '@angular/core';\r\n\r\nimport { Subscription } from 'rxjs/Subscription';\r\n\r\nimport { PaginationService } from './pagination.service';\r\nimport { PageEvent } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'pagination',\r\n template: `\r\n \r\n \r\n `,\r\n})\r\nexport class PaginationComponent implements OnInit, OnDestroy {\r\n firstEntryOnScreen: number = 0;\r\n lastEntryOnScreen: number = 0;\r\n entryRange: Subscription;\r\n // MatPaginator Inputs\r\n length;\r\n pageSize = 10;\r\n pageSizeOptions = [5, 10, 25, 100];\r\n\r\n // MatPaginator Output\r\n pageEvent: PageEvent;\r\n\r\n constructor(public _paginationService: PaginationService) {}\r\n\r\n ngOnInit() {\r\n //be sure variables are reset in case service is shared with another screen\r\n this._paginationService.totalEntries = 0;\r\n this.firstEntryOnScreen = 0;\r\n\r\n this.entryRange = this._paginationService.entryRange\r\n .subscribe(range => {\r\n this.firstEntryOnScreen = range[0];\r\n this.lastEntryOnScreen = range[1];\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.entryRange.unsubscribe();\r\n }\r\n}","import CONFIG from '../../config';\r\n\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { BehaviorSubject } from 'rxjs/BehaviorSubject';\r\n\r\n@Injectable()\r\nexport class PaginationService {\r\n private _entryRange = new BehaviorSubject>([0, 10]);\r\n entryRange = this._entryRange.asObservable();\r\n paginationArray: Array = [1];\r\n paginationArrayDisplay: Array = [];\r\n maxItemsOnPage: number = 10;\r\n totalPages: number = 0;\r\n totalEntries: number = 0;\r\n maxPagesInListing: number = 5;\r\n currentPage: number = 1;\r\n currentPageIndexTop: number = 1;\r\n\r\n constructor() {}\r\n\r\n setGrid(start, total?) {\r\n \r\n console.log(start, total);\r\n //passing a total entries variable is optional- needs to be done on first load and any filter by parent component\r\n if(total !== undefined) {\r\n this.totalEntries = total;\r\n console.log(this.totalEntries , total);\r\n }\r\n\r\n this.paginationArray = [1];\r\n\r\n let totalPages = Math.ceil(this.totalEntries / this.maxItemsOnPage);\r\n console.log(totalPages);\r\n\r\n //push each group of maxItemsOnPage into an array\r\n for(var i = 1; i < totalPages; i += 1) {\r\n this.paginationArray.push(i * this.maxItemsOnPage + 1);\r\n //console.log(i * this.maxItemsOnPage + 1);\r\n }\r\n\r\n //get the current page and check which should be displayed on screen\r\n let paginationArrayMid = this.paginationArray.indexOf(start);\r\n if(paginationArrayMid - 2 < 0) {\r\n paginationArrayMid = 2;\r\n } else if(paginationArrayMid + 3 > totalPages) {\r\n paginationArrayMid = totalPages - 3;\r\n }\r\n\r\n let paginationArrayMin = paginationArrayMid - 2;\r\n let paginationArrayMax = paginationArrayMid + 3;\r\n\r\n //limit # of page links in bottom section, show more as you scroll (but only if number of pages is greater than set max)\r\n if(totalPages > this.maxPagesInListing) {\r\n this.paginationArrayDisplay = this.paginationArray.slice(paginationArrayMin, paginationArrayMax);\r\n } else {\r\n this.paginationArrayDisplay = this.paginationArray;\r\n }\r\n\r\n this.currentPage = (start + (this.maxItemsOnPage - 1)) / this.maxItemsOnPage;\r\n\r\n //this is to pass the index of the first item on the page displaying back to the component using this service- allows for save/edit/delete on a page and stay on that page (instead of reverting to page 1).\r\n this.currentPageIndexTop = start;\r\n\r\n //fire observable update to send page range to pagination component and parent component\r\n this._entryRange.next([start - 1, start + (this.maxItemsOnPage - 1)]);\r\n }\r\n\r\n updateMaxItemsOnPage(value) {\r\n this.maxItemsOnPage = +value;\r\n this.setGrid(1);\r\n }\r\n updatePage(pageIndex, pageSize){\r\n this.maxItemsOnPage = +pageSize;\r\n // console.log(pageIndex*pageSize+1);\r\n \r\n this.setGrid(pageIndex*pageSize+1);\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable} from 'rxjs/Observable';\r\n\r\n@Injectable()\r\nexport class SearchService {\r\n constructor() {}\r\n\r\n findItems(item, group: Array, property: any): Promise> {\r\n /*\r\n find item from larger group (within that group's property). passed property can be a string (single field search) or array of strings (searching more than one field)\r\n uses data already provided on screen load (but we can add http module if we need a version that hits the backend.\r\n */\r\n return new Promise(\r\n function (resolve, reject) {\r\n let lowerItem = typeof item === 'string' ? item.toLowerCase() : item;\r\n let filtered: Array = [];\r\n\r\n filtered = group.filter(g => {\r\n if (g[property]) {\r\n let lowerProp = g[property].toLowerCase();\r\n\r\n //search group (by property provided) for substring item\r\n if (lowerProp.search(lowerItem) !== -1) return g[property];\r\n }\r\n });\r\n\r\n resolve(filtered);\r\n }\r\n );\r\n }\r\n\r\n findItemsFromMultiple(item, group: Array, property: Array): Promise> {\r\n console.log(group);\r\n return new Promise(\r\n \r\n function (resolve, reject) {\r\n const itemToStr = item.toString();\r\n const lowerItem = itemToStr.toLowerCase();\r\n let filtered: Array = [];\r\n filtered = group.filter((g, index, arr) => {\r\n\r\n \r\n for (var i = 0, l = property.length; i < l; i += 1) {\r\n \r\n\r\n\r\n if ( g[property[i]] && typeof g[property[i]] === 'string' ) {\r\n let lowerProp = g[property[i]].toLowerCase();\r\n if (lowerProp.includes(lowerItem)) {\r\n return g[property[i]];\r\n }\r\n } else {\r\n \r\n if(g[property[i]].toString().includes(itemToStr))\r\n {\r\n return g[property[i]];\r\n }\r\n }\r\n }\r\n });\r\n\r\n resolve(filtered);\r\n }\r\n );\r\n }\r\n findItemsFromAccount(item, group: Array, property: Array): Promise> {\r\n \r\n return new Promise(\r\n \r\n function (resolve, reject) {\r\n const itemToStr = item.toString();\r\n const lowerItem = itemToStr.toLowerCase();\r\n let filtered: Array = [];\r\n filtered = group.filter((g, index, arr) => {\r\n\r\n \r\n for (var i = 0, l = property.length; i < l; i += 1) {\r\n\r\n\r\n if (g[property[i]] && typeof g[property[i]] === 'string') {\r\n let lowerProp = g[property[i]].toLowerCase();\r\n if (lowerProp.includes(lowerItem)) {\r\n return g[property[i]];\r\n }\r\n } else {\r\n \r\n if(g[property[i]].toString().includes(itemToStr))\r\n {\r\n return g[property[i]];\r\n }\r\n }\r\n }\r\n });\r\n\r\n resolve(filtered);\r\n }\r\n );\r\n }\r\n\r\n findItemsInDateRange(start: Date, end: Date, group: Array, property: string): Promise> {\r\n return new Promise(\r\n function (resolve, reject) {\r\n let filtered: Array = [];\r\n\r\n filtered = group.filter(g => {\r\n let thisDateAsNumber = +new Date(g[property]);\r\n if(thisDateAsNumber >= +start && thisDateAsNumber <= +end) {\r\n return g[property];\r\n }\r\n });\r\n\r\n resolve(filtered);\r\n }\r\n );\r\n }\r\n}","import CONFIG from '../../config';\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { Location } from '@angular/common';\r\nimport { Headers, RequestOptions } from '@angular/http';\r\n\r\nimport { NotificationService } from '../notification/notification.service';\r\nimport { AuthService } from './auth.service';\r\nimport { BackendService } from './backend.service';\r\n\r\nimport { Observable } from 'rxjs/Observable';\r\n\r\n@Injectable()\r\nexport class Utilities {\r\n focused;\r\n // result:any;\r\n msg : any;\r\n checkvalue:any;\r\n \r\n constructor(\r\n public location: Location,\r\n public notificationService: NotificationService,\r\n public authService: AuthService,\r\n public backendService: BackendService\r\n ) {}\r\n\r\n //display server error- if due to jwt expiration, log out and redirect to login screen\r\n serverErrorOrTimeout(error: string): void {\r\n this.notificationService.showNotification({ timer: 5000, message: error, type: 'error', closeable: false });\r\n\r\n //if error is due to session time out, log the user out\r\n if(error === 'Session Expired- please log in') {\r\n // this.authService.logout();\r\n }\r\n }\r\n\r\n //when sending jwt to server for data, check status (admin vs non admin, user key for profile, etc)\r\n checkLoginStatus(): Observable {\r\n //return an observable so end function can subscribe and perform actions based on result after it comes in\r\n //return this.backendService.getData(`${CONFIG.loginApiUrlBase}/checklogin`);\r\n return Observable.of(true);\r\n }\r\n\r\n checkLoginForAuthGuard(): Observable {\r\n console.log(\"check login\"+sessionStorage.getItem('partial_login'));\r\n \r\n if(sessionStorage.getItem('partial_login') === 'true') {\r\n \r\n this.notificationService.showNotification({ \r\n timer: 5000, message: 'Please finish security process', \r\n type: 'error', closeable: false \r\n });\r\n return Observable.of(false)\r\n .do(() => {\r\n \r\n // return this.authService.logout();\r\n });\r\n } else {\r\n \r\n return this.backendService.getData(`${CONFIG.landingApiUrlBase}/checklogin`)\r\n .map(response => {\r\n //console.log(response.result);\r\n //update shared 'loggedIn' variable that maintains state while in app \r\n this.checkvalue=response['result'];\r\n //this.authService.loggedIn =true;\r\n //update user_type variable that checks user's admin vs employee status \r\n return this.checkvalue;\r\n })\r\n .catch(error => {\r\n return Observable.throw(this.serverErrorOrTimeout(error));\r\n });\r\n }\r\n \r\n }\r\n //all purpose cancel and return (if passed with nothing, just shows 'update canceled')\r\n cancel(msg='Update Canceled', type='warning'): void {\r\n this.location.back();\r\n this.notificationService.showNotification({\r\n timer: 2000,\r\n message: msg,\r\n type: type\r\n });\r\n }\r\n}\r\n","import { environment } from './environments/environment';\r\n//const apiUrlBase = environment.production ? 'http://96.89.127.59:9005/' : 'http://96.89.127.59:9005/'; // For pdx3\r\n// http://50.222.31.163:9005\r\n//const apiUrlBase = environment.production ? 'http://pdx3.mimics.us:9005/' : 'http://pdx3.mimics.us:9005/'; // For New pdx3\r\n\r\nconst apiUrlBase = environment.production ? 'https://stjapplications.com:9000/' : 'https://stjapplications.com:9000/' ; // STJ Server\r\n\r\n//const apiUrlBase = environment.production ? 'https://stjapplications.com:9001/' : 'https://stjapplications.com:9001/' ; \r\n\r\n//const apiUrlBase = environment.production ? 'https://192.168.121.9:9001/' : 'https://192.168.121.9:9001/' ;//test server\r\n//https://stjapplications.com/STJ-Backend\r\n\r\n\r\n//loccal\r\n\r\n//const apiUrlBase = environment.production ? 'http://localhost:49271//' : 'http://localhost:49271//'; // For New pdx3\r\nconst CONFIG = {\r\n environment: 'full',\r\n landingApiUrlBase: `${apiUrlBase}/api/Landing`,\r\n getCustomerCountryApiUrlBase: `${apiUrlBase}/api/CustomerCountry`,\r\n getCountryCodesApiUrlBase: `${apiUrlBase}/api/CountryCodes`,\r\n individualApplicationApiUrlBase: `${apiUrlBase}/api/IndividualApplication`,\r\n initialPageDataApiUrlBase: `${apiUrlBase}/api/initialPageData`,\r\n corporationInitialCPageDataApiUrlBase: `${apiUrlBase}/api/CorporationInitialPageData`,\r\n corporationSecondPageDataApiUrlBase: `${apiUrlBase}/api/CorporationSecondPageData`,\r\n corporationThirdPageDataApiUrlBase: `${apiUrlBase}/api/CorporationThirdPageData`,\r\n corporateApplication: `${apiUrlBase}/api/CorporateApplication`,\r\n individualApplicationData: `${apiUrlBase}/api/applicationdata`,\r\n corporateApplicationData: `${apiUrlBase}/api/corporateApplicationData`,\r\n kycIndividualApplicationApiUrlBase: `${apiUrlBase}/api/KycIndividual`,\r\n kycCorporateApplicationApiUrlBase: `${apiUrlBase}/api/kycCorporate`,\r\n getDataPathApiUrlBase: `${apiUrlBase}/api/dataPath`,\r\n documentsApiUrlBase: `${apiUrlBase}/api/documents`,\r\n beneficiariesApiUrlBase: `${apiUrlBase}/api/beneficiaries`\r\n\r\n};\r\n\r\nexport default CONFIG; ","// The file contents for the current environment will overwrite these during build.\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\n// The list of which env maps to which file can be found in `angular-cli.json`.\n\nexport const environment = {\n production: true\n \n};\n","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { enableProdMode } from '@angular/core';\nimport { environment } from './environments/environment';\nimport { AppModule } from './app/app.module';\nimport 'zone.js';\nimport 'hammerjs';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule);\n"],"sourceRoot":""}