a4e36df08d044ecfe8180dfbdc4f6daa4517dca3
[motion2.git] / server / components / import / cm / csv.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x83bc=['ListId','find','Duplicate\x20Contact','CmContact','create','keys','then','push','catch','message','stringify','cmContact','checkHopper','inspect','insert','into','ContactId','updatedAt','select','field','scheduledAt','toString','createdAt','cm_contacts','where','phone\x20IS\x20NOT\x20NULL','phone\x20NOT\x20IN\x20(?)','cm_hopper','\x20=\x20?','fromQuery','NOW()','from','deletedAt\x20IS\x20NULL','ListId\x20=\x20?','str','calleridnum','id\x20IN\x20?','cm_hopper_black','findAll','outbound','dialCheckDuplicateType','always','sequelize','query','VoiceQueueId','onlyIfOpen','all','VoiceQueue','BlackLists','get','Campaign','CmList','Lists','cmContact,\x20%s,\x20%s','generalCheckHopper','finally','emit','contact:csv_','resume','unlinkSync','exit','SIGINT','info','CSV\x20import\x20process\x20stopped!','createReadStream','parse','duplicate','pause','CSV\x20parsed\x20correctly!','CSV\x20parse\x20error','bluebird','util','lodash','squel','papaparse','ioredis','../../../mysqldb','../../../config/logger','api','redis','localhost','socket.io-emitter','register','argv','undefined','null','Missing\x20filepath\x20parameter!','Missing\x20binding\x20parameters!','split','Missing\x20ListId\x20parameter!','error','contact','isNil','The\x20row\x20is\x20empty\x20or\x20the\x20number\x20of\x20parameters\x20does\x20not\x20match\x20the\x20columns!','errors','length','join','hasOwnProperty','data','firstName','phone','birthDate','isValid','birthDate\x20format\x20is\x20invalid,\x20YYYY-MM-DD\x20format\x20is\x20supported!','email','email\x20format\x20is\x20not\x20valid!'];(function(_0x469104,_0x42c4ae){var _0x3f4a27=function(_0x2ec8de){while(--_0x2ec8de){_0x469104['push'](_0x469104['shift']());}};_0x3f4a27(++_0x42c4ae);}(_0x83bc,0x11a));var _0xc83b=function(_0x226c4e,_0x14c1f9){_0x226c4e=_0x226c4e-0x0;var _0x18dff4=_0x83bc[_0x226c4e];return _0x18dff4;};'use strict';var BPromise=require(_0xc83b('0x0'));var util=require(_0xc83b('0x1'));var _=require(_0xc83b('0x2'));var fs=require('fs');var squel=require(_0xc83b('0x3'));var Papa=require(_0xc83b('0x4'));var Redis=require(_0xc83b('0x5'));var db=require(_0xc83b('0x6'))['db'];var config=require('../../../config/environment');var logger=require(_0xc83b('0x7'))(_0xc83b('0x8'));config[_0xc83b('0x9')]=_['defaults'](config[_0xc83b('0x9')],{'host':_0xc83b('0xa'),'port':0x18eb});var socket=require(_0xc83b('0xb'))(new Redis(config['redis']));require('../../../api/cmContact/cmContact.socket')[_0xc83b('0xc')](socket);try{if(!process[_0xc83b('0xd')][0x2]||process[_0xc83b('0xd')][0x2]===_0xc83b('0xe')||process[_0xc83b('0xd')][0x2]===_0xc83b('0xf')){throw new Error(_0xc83b('0x10'));}var FILEPATH=process[_0xc83b('0xd')][0x2];if(!process[_0xc83b('0xd')][0x3]||process[_0xc83b('0xd')][0x3]==='undefined'||process['argv'][0x3]===_0xc83b('0xf')||!process[_0xc83b('0xd')][0x4]||process[_0xc83b('0xd')][0x4]===_0xc83b('0xe')||process[_0xc83b('0xd')][0x4]==='null'){throw new Error(_0xc83b('0x11'));}var FIELDS=_['zipObject'](process['argv'][0x3][_0xc83b('0x12')](','),process[_0xc83b('0xd')][0x4][_0xc83b('0x12')](','));if(!process[_0xc83b('0xd')][0x5]||process[_0xc83b('0xd')][0x5]===_0xc83b('0xe')||process['argv'][0x5]===_0xc83b('0xf')){throw new Error(_0xc83b('0x13'));}var LISTID=process[_0xc83b('0xd')][0x5];var COMPANYID=process[_0xc83b('0xd')][0x6]&&process['argv'][0x6]!==_0xc83b('0xe')&&process[_0xc83b('0xd')][0x6]!==_0xc83b('0xf')?process['argv'][0x6]:null;var DUPLICATES=process[_0xc83b('0xd')][0x7]&&process[_0xc83b('0xd')][0x7]!=='undefined'&&process['argv'][0x7]!==_0xc83b('0xf')?process[_0xc83b('0xd')][0x7]:null;if(!process['argv'][0x8]||process['argv'][0x8]==='undefined'||process[_0xc83b('0xd')][0x8]===_0xc83b('0xf')){throw new Error('Missing\x20socket_timestamp\x20parameter!');}var SOCKET_TIMESTAMP=process['argv'][0x8];}catch(_0x5b8cd4){logger[_0xc83b('0x14')](_0x5b8cd4);endCsv();}var total=0x0;var pTotal=0x0;var success=0x0;var errors=0x0;var duplicates=0x0;var rows=[];var hopperContacts='';var promises=[];var index=0x0;var alreadyInvalid=![];function handleCheckRowError(_0x2e32c8,_0x53ad0e,_0x38f1d3,_0x56d60f){var _0x40db8b={'message':_0x53ad0e};_0x40db8b[_0x2e32c8]=!![];if(_0x38f1d3){_0x40db8b[_0xc83b('0x15')]=_0x38f1d3;}if(_0x56d60f){_0x40db8b['index']=_0x56d60f;}return _0x40db8b;}function isEmail(_0xd56fb9){return/^([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22))*\x40([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d))*$/['test'](_0xd56fb9);}function checkRow(_0x525e99,_0x2e10ee,_0x35a006){return new BPromise(function(_0x4e080d,_0xa3f4d5){if(_[_0xc83b('0x16')](_0x525e99)){return _0xa3f4d5(handleCheckRowError(_0xc83b('0x14'),_0xc83b('0x17'),null,_0x35a006));}if(_0x525e99[_0xc83b('0x18')]&&_0x525e99[_0xc83b('0x18')][_0xc83b('0x19')]){var _0xd48315=_['map'](_0x525e99[_0xc83b('0x18')],'message')[_0xc83b('0x1a')](';');return _0xa3f4d5(handleCheckRowError(_0xc83b('0x14'),_0xd48315,null,_0x35a006));}var _0x5c8419={};for(var _0x51c6c9 in FIELDS){if(FIELDS[_0xc83b('0x1b')](_0x51c6c9)&&FIELDS[_0x51c6c9]){_0x5c8419[_0x51c6c9]=_0x525e99[_0xc83b('0x1c')][0x0][FIELDS[_0x51c6c9]]||_0x525e99['data'][0x0]['\ufeff'+FIELDS[_0x51c6c9]];}}if(!_0x5c8419[_0xc83b('0x1d')]){return _0xa3f4d5(handleCheckRowError(_0xc83b('0x14'),'firstName\x20not\x20specified!',null,_0x35a006));}if(!_0x5c8419[_0xc83b('0x1e')]){return _0xa3f4d5(handleCheckRowError(_0xc83b('0x14'),'phone\x20not\x20specified!',null,_0x35a006));}if(_0x5c8419[_0xc83b('0x1f')]){var _0x50a3be=moment(_0x5c8419['birthDate'],'YYYY-MM-DD');if(!_0x50a3be[_0xc83b('0x20')]()){return _0xa3f4d5(handleCheckRowError(_0xc83b('0x14'),_0xc83b('0x21'),null,_0x35a006));}}if(_0x5c8419[_0xc83b('0x22')]){if(!isEmail(_0x5c8419['email'])){return _0xa3f4d5(handleCheckRowError(_0xc83b('0x14'),_0xc83b('0x23'),null,_0x35a006));}}_0x5c8419[_0xc83b('0x24')]=LISTID;_0x5c8419['CompanyId']=COMPANYID||undefined;if(DUPLICATES&&DUPLICATES['length']&&_0x2e10ee){var _0x470c52={};for(var _0x5111d4=0x0,_0x19e1d4=DUPLICATES[_0xc83b('0x19')];_0x5111d4<_0x19e1d4;_0x5111d4+=0x1){_0x470c52[DUPLICATES[_0x5111d4]]=_0x5c8419[DUPLICATES[_0x5111d4]];}var _0x47eb34=_[_0xc83b('0x25')](_0x2e10ee,_0x470c52);if(_0x47eb34){return _0xa3f4d5(handleCheckRowError('duplicate',_0xc83b('0x26'),_0x47eb34,_0x35a006));}}return db[_0xc83b('0x27')][_0xc83b('0x28')](_0x5c8419,{'raw':!![],'hooks':![],'fields':_[_0xc83b('0x29')](_0x5c8419)})[_0xc83b('0x2a')](function(_0x43faf6){if(DUPLICATES&&DUPLICATES[_0xc83b('0x19')]&&_0x2e10ee){_0x2e10ee[_0xc83b('0x2b')](_['pick'](_0x5c8419,DUPLICATES));}hopperContacts+=(hopperContacts?',':'')+_0x43faf6['id'];return _0x4e080d();})[_0xc83b('0x2c')](function(_0x559b8b){return _0xa3f4d5(handleCheckRowError('error','Error\x20while\x20creating\x20contact:\x20'+(_0x559b8b[_0xc83b('0x2d')]||JSON[_0xc83b('0x2e')](_0x559b8b)),null,_0x35a006));});});}function checkHopper(){function _0x3f672f(){return function(_0x1fd160){logger[_0xc83b('0x14')](_0xc83b('0x2f'),_0xc83b('0x30'),util[_0xc83b('0x31')](_0x1fd160,{'showHidden':![],'depth':null}));};}var _0x51607e=function(_0x53f6a4,_0x586d44){var _0x4946d4=squel[_0xc83b('0x32')]()[_0xc83b('0x33')]('cm_hopper')['fromQuery']([_0xc83b('0x1e'),'scheduledAt',_0xc83b('0x34'),'ListId',_0x586d44,'createdAt',_0xc83b('0x35')],squel[_0xc83b('0x36')]()[_0xc83b('0x37')](_0xc83b('0x1e'),_0xc83b('0x1e'))['field']('NOW()',_0xc83b('0x38'))[_0xc83b('0x37')]('id',_0xc83b('0x34'))['field'](LISTID[_0xc83b('0x39')](),'ListId')[_0xc83b('0x37')](_0x53f6a4['id']['toString'](),_0x586d44)['field']('NOW()',_0xc83b('0x3a'))[_0xc83b('0x37')]('NOW()',_0xc83b('0x35'))['from'](_0xc83b('0x3b'))['where']('deletedAt\x20IS\x20NULL')[_0xc83b('0x3c')]('ListId\x20=\x20?',LISTID['toString']())[_0xc83b('0x3c')](_0xc83b('0x3d'))['where'](_0xc83b('0x3e'),squel[_0xc83b('0x36')]()['field']('phone')['from'](_0xc83b('0x3f'))[_0xc83b('0x3c')](_0x586d44+_0xc83b('0x40'),_0x53f6a4['id']['toString']())))[_0xc83b('0x39')]();return _0x4946d4;};var _0x294fd2=function(_0x4cc28b,_0x23c466){var _0x17d6ea=squel[_0xc83b('0x32')]()[_0xc83b('0x33')](_0xc83b('0x3f'))[_0xc83b('0x41')]([_0xc83b('0x1e'),_0xc83b('0x38'),_0xc83b('0x34'),'ListId',_0x23c466,'createdAt',_0xc83b('0x35')],squel[_0xc83b('0x36')]()[_0xc83b('0x37')](_0xc83b('0x1e'),_0xc83b('0x1e'))[_0xc83b('0x37')](_0xc83b('0x42'),_0xc83b('0x38'))[_0xc83b('0x37')]('id',_0xc83b('0x34'))[_0xc83b('0x37')](LISTID['toString'](),'ListId')[_0xc83b('0x37')](_0x4cc28b['id'][_0xc83b('0x39')](),_0x23c466)[_0xc83b('0x37')]('NOW()','createdAt')['field'](_0xc83b('0x42'),_0xc83b('0x35'))[_0xc83b('0x43')](_0xc83b('0x3b'))['where'](_0xc83b('0x44'))[_0xc83b('0x3c')](_0xc83b('0x45'),LISTID[_0xc83b('0x39')]())[_0xc83b('0x3c')]('id\x20IN\x20?',squel[_0xc83b('0x46')](hopperContacts))[_0xc83b('0x3c')](_0xc83b('0x3d'))[_0xc83b('0x3c')](_0xc83b('0x3e'),squel['select']()[_0xc83b('0x37')](_0xc83b('0x47'))[_0xc83b('0x43')]('cm_hopper_final')['where'](_0x23c466+_0xc83b('0x40'),_0x4cc28b['id'][_0xc83b('0x39')]()))[_0xc83b('0x3c')](_0xc83b('0x3e'),squel[_0xc83b('0x36')]()[_0xc83b('0x37')]('phone')['from'](_0xc83b('0x3f'))[_0xc83b('0x3c')](_0x23c466+'\x20=\x20?',_0x4cc28b['id'][_0xc83b('0x39')]())))[_0xc83b('0x39')]();return _0x17d6ea;};function _0x27e44b(_0x41c954,_0x5e3c41){var _0x38ddad=squel['insert']()['into']('cm_hopper')[_0xc83b('0x41')]([_0xc83b('0x1e'),'scheduledAt',_0xc83b('0x34'),_0xc83b('0x24'),_0x5e3c41,_0xc83b('0x3a'),_0xc83b('0x35')],squel[_0xc83b('0x36')]()[_0xc83b('0x37')]('phone','phone')[_0xc83b('0x37')]('NOW()',_0xc83b('0x38'))[_0xc83b('0x37')]('id',_0xc83b('0x34'))[_0xc83b('0x37')](LISTID[_0xc83b('0x39')](),_0xc83b('0x24'))[_0xc83b('0x37')](_0x41c954['id'][_0xc83b('0x39')](),_0x5e3c41)[_0xc83b('0x37')]('NOW()',_0xc83b('0x3a'))['field']('NOW()',_0xc83b('0x35'))[_0xc83b('0x43')]('cm_contacts')[_0xc83b('0x3c')](_0xc83b('0x44'))['where'](_0xc83b('0x45'),LISTID[_0xc83b('0x39')]())[_0xc83b('0x3c')](_0xc83b('0x48'),squel[_0xc83b('0x46')](hopperContacts))[_0xc83b('0x3c')](_0xc83b('0x3d')))[_0xc83b('0x39')]();return _0x38ddad;}function _0x5e055f(_0x27ecf9,_0x4fbcaa){var _0x24f2f0=squel[_0xc83b('0x32')]()[_0xc83b('0x33')](_0xc83b('0x49'))['fromQuery'](['phone',_0xc83b('0x34'),_0xc83b('0x24'),_0x4fbcaa,_0xc83b('0x3a'),_0xc83b('0x35')],squel[_0xc83b('0x36')]()['field']('phone',_0xc83b('0x1e'))[_0xc83b('0x37')]('id',_0xc83b('0x34'))[_0xc83b('0x37')](LISTID[_0xc83b('0x39')](),_0xc83b('0x24'))[_0xc83b('0x37')](_0x27ecf9['id'][_0xc83b('0x39')](),_0x4fbcaa)[_0xc83b('0x37')]('NOW()','createdAt')[_0xc83b('0x37')]('NOW()',_0xc83b('0x35'))['from'](_0xc83b('0x3b'))['where'](_0xc83b('0x44'))[_0xc83b('0x3c')](_0xc83b('0x45'),LISTID[_0xc83b('0x39')]())[_0xc83b('0x3c')](_0xc83b('0x48'),squel[_0xc83b('0x46')](hopperContacts))[_0xc83b('0x3c')]('phone\x20IS\x20NOT\x20NULL'))[_0xc83b('0x39')]();return _0x24f2f0;}return db['VoiceQueue'][_0xc83b('0x4a')]({'where':{'type':_0xc83b('0x4b')},'attributes':['id',_0xc83b('0x4c')],'include':[{'model':db['CmList'],'as':'Lists','where':{'id':LISTID}}]})[_0xc83b('0x2a')](function(_0x1845e4){var _0x3535b8=[];if(_0x1845e4){var _0x468304;for(var _0x467964=0x0,_0x46b01e;_0x467964<_0x1845e4[_0xc83b('0x19')];_0x467964+=0x1){_0x46b01e=_0x1845e4[_0x467964]['get']({'plain':!![]});switch(_0x46b01e[_0xc83b('0x4c')]){case _0xc83b('0x4d'):_0x3535b8[_0xc83b('0x2b')](db[_0xc83b('0x4e')][_0xc83b('0x4f')](_0x294fd2(_0x46b01e,_0xc83b('0x50')))['then'](function(){})['catch'](_0x3f672f()));break;case _0xc83b('0x51'):_0x3535b8['push'](db[_0xc83b('0x4e')][_0xc83b('0x4f')](_0x51607e(_0x46b01e,_0xc83b('0x50')))['then'](function(){})['catch'](_0x3f672f()));break;default:_0x3535b8[_0xc83b('0x2b')](db['sequelize'][_0xc83b('0x4f')](_0x27e44b(_0x46b01e,_0xc83b('0x50')))[_0xc83b('0x2a')](function(){})[_0xc83b('0x2c')](_0x3f672f()));}}}return _0x3535b8;})[_0xc83b('0x52')]()[_0xc83b('0x2a')](function(){return db[_0xc83b('0x53')][_0xc83b('0x4a')]({'where':{'type':_0xc83b('0x4b')},'attributes':['id'],'include':[{'model':db['CmList'],'as':_0xc83b('0x54'),'where':{'id':LISTID}}]})['then'](function(_0x5a4da5){var _0x55b72b=[];if(_0x5a4da5){var _0x4bcc99;for(var _0x2b1537=0x0,_0x648971;_0x2b1537<_0x5a4da5['length'];_0x2b1537+=0x1){_0x648971=_0x5a4da5[_0x2b1537][_0xc83b('0x55')]({'plain':!![]});_0x55b72b[_0xc83b('0x2b')](db['sequelize'][_0xc83b('0x4f')](_0x5e055f(_0x648971,_0xc83b('0x50')))['then'](function(){})['catch'](_0x3f672f()));}}return _0x55b72b;})['all']();})[_0xc83b('0x2a')](function(){return db[_0xc83b('0x56')][_0xc83b('0x4a')]({'attributes':['id',_0xc83b('0x4c')],'include':[{'model':db[_0xc83b('0x57')],'as':_0xc83b('0x58'),'where':{'id':LISTID}}]})[_0xc83b('0x2a')](function(_0x44cbc4){var _0x412fa9=[];if(_0x44cbc4){for(var _0x1bc253=0x0,_0x422575;_0x1bc253<_0x44cbc4[_0xc83b('0x19')];_0x1bc253+=0x1){_0x422575=_0x44cbc4[_0x1bc253][_0xc83b('0x55')]({'plain':!![]});switch(_0x422575[_0xc83b('0x4c')]){case _0xc83b('0x4d'):_0x412fa9[_0xc83b('0x2b')](db['sequelize'][_0xc83b('0x4f')](_0x294fd2(_0x422575,'CampaignId'))[_0xc83b('0x2a')](function(){})[_0xc83b('0x2c')](_0x3f672f()));break;case _0xc83b('0x51'):_0x412fa9[_0xc83b('0x2b')](db[_0xc83b('0x4e')][_0xc83b('0x4f')](_0x51607e(_0x422575,'CampaignId'))[_0xc83b('0x2a')](function(){})[_0xc83b('0x2c')](_0x3f672f()));break;default:_0x412fa9['push'](db[_0xc83b('0x4e')]['query'](_0x27e44b(_0x422575,'CampaignId'))[_0xc83b('0x2a')](function(){})[_0xc83b('0x2c')](_0x3f672f()));}}}return _0x412fa9;})['all']();})[_0xc83b('0x2a')](function(){return db[_0xc83b('0x56')][_0xc83b('0x4a')]({'attributes':['id'],'include':[{'model':db[_0xc83b('0x57')],'as':_0xc83b('0x54'),'where':{'id':LISTID}}]})[_0xc83b('0x2a')](function(_0x58879f){var _0x290b00=[];if(_0x58879f){for(var _0x2b8fe5=0x0,_0x13d4c6;_0x2b8fe5<_0x58879f[_0xc83b('0x19')];_0x2b8fe5+=0x1){_0x13d4c6=_0x58879f[_0x2b8fe5]['get']({'plain':!![]});_0x290b00[_0xc83b('0x2b')](db[_0xc83b('0x4e')]['query'](_0x5e055f(_0x13d4c6,'CampaignId'))['then'](function(){})['catch'](_0x3f672f()));}}return _0x290b00;})[_0xc83b('0x52')]();})['catch'](function(_0x35ce9d){logger['error'](_0xc83b('0x59'),_0xc83b('0x5a'),_0x35ce9d[_0xc83b('0x2d')]);});}var processPromises=function(_0x7dca7e){return BPromise[_0xc83b('0x52')](promises)[_0xc83b('0x2a')](function(_0x18b069){})[_0xc83b('0x2c')](function(_0x9e8eb0){logger['error']('Error\x20processing\x20rows\x20block:',JSON['stringify'](_0x9e8eb0));})[_0xc83b('0x5b')](function(){socket[_0xc83b('0x5c')](_0xc83b('0x5d')+SOCKET_TIMESTAMP,{'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});promises=[];success=0x0;errors=0x0;duplicates=0x0;rows=[];if(_0x7dca7e){return _0x7dca7e[_0xc83b('0x5e')]();}});};var endCsv=function(){return BPromise['resolve']()[_0xc83b('0x2a')](function(){if(hopperContacts){return checkHopper();}})['then'](function(){socket['emit'](_0xc83b('0x5d')+SOCKET_TIMESTAMP,{'finished':!![],'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});try{fs[_0xc83b('0x5f')](FILEPATH);}catch(_0x344760){logger[_0xc83b('0x14')]('Unable\x20to\x20delete\x20temp\x20file:',JSON['stringify'](_0x344760));}finally{process[_0xc83b('0x60')](0x0);}});};process['on'](_0xc83b('0x61'),function(){logger[_0xc83b('0x62')](_0xc83b('0x63'));endCsv();});function main(){return BPromise['resolve']()[_0xc83b('0x2a')](function(){if(DUPLICATES){DUPLICATES=DUPLICATES[_0xc83b('0x12')](',');return db[_0xc83b('0x27')][_0xc83b('0x4a')]({'where':{'ListId':LISTID},'attributes':DUPLICATES,'raw':!![]});}})[_0xc83b('0x2a')](function(_0x473dab){var _0x5a96d3=fs[_0xc83b('0x64')](FILEPATH,{'highWaterMark':0xf*0x400*0x400});Papa[_0xc83b('0x65')](_0x5a96d3,{'header':!![],'skipEmptyLines':!![],'step':function(_0x114064,_0x368719){total+=0x1;var _0x56d1ca=total;promises[_0xc83b('0x2b')](checkRow(_0x114064,_0x473dab,_0x56d1ca)[_0xc83b('0x2a')](function(){success+=0x1;})[_0xc83b('0x2c')](function(_0xb3aa13){if(_0xb3aa13[_0xc83b('0x14')]){errors+=0x1;delete _0xb3aa13[_0xc83b('0x14')];}else if(_0xb3aa13[_0xc83b('0x66')]){duplicates+=0x1;delete _0xb3aa13[_0xc83b('0x66')];}rows[_0xc83b('0x2b')](_0xb3aa13);}));if(total%0xc8===0x0){_0x368719[_0xc83b('0x67')]();return processPromises(_0x368719);}},'complete':function(){return processPromises()[_0xc83b('0x2a')](function(){logger[_0xc83b('0x62')](_0xc83b('0x68'));endCsv();});},'error':function(_0x57e06b,_0x9e4579){logger[_0xc83b('0x62')](_0xc83b('0x69'),JSON[_0xc83b('0x2e')](_0x57e06b));endCsv();}});})[_0xc83b('0x2c')](function(_0x107821){logger[_0xc83b('0x14')]('Error\x20executing\x20contact\x20csv\x20import:',JSON['stringify'](_0x107821));});}main();