708479bc94522dedf182cdd9c4d46216d33c891b
[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 _0x0011=['toString','from','cm_contacts','where','deletedAt\x20IS\x20NULL','phone\x20IS\x20NOT\x20NULL','phone\x20NOT\x20IN\x20(?)','ListId\x20=\x20?','id\x20IN\x20?','calleridnum','cm_hopper_final','\x20=\x20?','fromQuery','str','cm_hopper_black','VoiceQueue','outbound','dialCheckDuplicateType','Lists','get','always','query','VoiceQueueId','onlyIfOpen','sequelize','all','findAll','CmList','CampaignId','Campaign','BlackLists','cmContact,\x20%s,\x20%s','finally','contact:csv_','resume','resolve','emit','unlinkSync','Unable\x20to\x20delete\x20temp\x20file:','info','createReadStream','duplicate','pause','CSV\x20parse\x20error','Error\x20executing\x20contact\x20csv\x20import:','lodash','squel','papaparse','ioredis','../../../mysqldb','redis','defaults','localhost','socket.io-emitter','../../../api/cmContact/cmContact.socket','register','argv','undefined','null','Missing\x20filepath\x20parameter!','zipObject','split','Missing\x20ListId\x20parameter!','Missing\x20socket_timestamp\x20parameter!','error','contact','index','test','isNil','length','map','errors','message','hasOwnProperty','data','firstName','phone','phone\x20not\x20specified!','birthDate','YYYY-MM-DD','isValid','birthDate\x20format\x20is\x20invalid,\x20YYYY-MM-DD\x20format\x20is\x20supported!','email','email\x20format\x20is\x20not\x20valid!','find','Duplicate\x20Contact','CmContact','create','keys','then','push','pick','catch','Error\x20while\x20creating\x20contact:\x20','stringify','cmContact','checkHopper','inspect','insert','into','cm_hopper','ContactId','ListId','createdAt','updatedAt','select','field','NOW()','scheduledAt'];(function(_0x4c8d22,_0x178328){var _0x58bfa8=function(_0x989fbe){while(--_0x989fbe){_0x4c8d22['push'](_0x4c8d22['shift']());}};_0x58bfa8(++_0x178328);}(_0x0011,0x107));var _0x1001=function(_0x160c73,_0x2ee678){_0x160c73=_0x160c73-0x0;var _0xd9302=_0x0011[_0x160c73];return _0xd9302;};'use strict';var BPromise=require('bluebird');var util=require('util');var _=require(_0x1001('0x0'));var fs=require('fs');var squel=require(_0x1001('0x1'));var Papa=require(_0x1001('0x2'));var Redis=require(_0x1001('0x3'));var db=require(_0x1001('0x4'))['db'];var config=require('../../../config/environment');var logger=require('../../../config/logger')('api');config[_0x1001('0x5')]=_[_0x1001('0x6')](config[_0x1001('0x5')],{'host':_0x1001('0x7'),'port':0x18eb});var socket=require(_0x1001('0x8'))(new Redis(config[_0x1001('0x5')]));require(_0x1001('0x9'))[_0x1001('0xa')](socket);try{if(!process['argv'][0x2]||process[_0x1001('0xb')][0x2]===_0x1001('0xc')||process[_0x1001('0xb')][0x2]===_0x1001('0xd')){throw new Error(_0x1001('0xe'));}var FILEPATH=process['argv'][0x2];if(!process[_0x1001('0xb')][0x3]||process['argv'][0x3]===_0x1001('0xc')||process['argv'][0x3]==='null'||!process[_0x1001('0xb')][0x4]||process[_0x1001('0xb')][0x4]===_0x1001('0xc')||process['argv'][0x4]===_0x1001('0xd')){throw new Error('Missing\x20binding\x20parameters!');}var FIELDS=_[_0x1001('0xf')](process[_0x1001('0xb')][0x3]['split'](','),process[_0x1001('0xb')][0x4][_0x1001('0x10')](','));if(!process[_0x1001('0xb')][0x5]||process[_0x1001('0xb')][0x5]==='undefined'||process[_0x1001('0xb')][0x5]===_0x1001('0xd')){throw new Error(_0x1001('0x11'));}var LISTID=process[_0x1001('0xb')][0x5];var COMPANYID=process[_0x1001('0xb')][0x6]&&process[_0x1001('0xb')][0x6]!==_0x1001('0xc')&&process[_0x1001('0xb')][0x6]!==_0x1001('0xd')?process[_0x1001('0xb')][0x6]:null;var DUPLICATES=process[_0x1001('0xb')][0x7]&&process[_0x1001('0xb')][0x7]!==_0x1001('0xc')&&process[_0x1001('0xb')][0x7]!==_0x1001('0xd')?process['argv'][0x7]:null;if(!process[_0x1001('0xb')][0x8]||process['argv'][0x8]==='undefined'||process[_0x1001('0xb')][0x8]===_0x1001('0xd')){throw new Error(_0x1001('0x12'));}var SOCKET_TIMESTAMP=process[_0x1001('0xb')][0x8];}catch(_0x3c6b3f){logger[_0x1001('0x13')](_0x3c6b3f);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(_0x3b99ad,_0x33dfc7,_0xe0620c,_0x1c03f7){var _0x7b42e2={'message':_0x33dfc7};_0x7b42e2[_0x3b99ad]=!![];if(_0xe0620c){_0x7b42e2[_0x1001('0x14')]=_0xe0620c;}if(_0x1c03f7){_0x7b42e2[_0x1001('0x15')]=_0x1c03f7;}return _0x7b42e2;}function isEmail(_0x3611a4){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))*$/[_0x1001('0x16')](_0x3611a4);}function checkRow(_0x35bf1e,_0x1cc82e,_0xc70e75){return new BPromise(function(_0x1a9e84,_0x59b4a6){if(_[_0x1001('0x17')](_0x35bf1e)){return _0x59b4a6(handleCheckRowError(_0x1001('0x13'),'The\x20row\x20is\x20empty\x20or\x20the\x20number\x20of\x20parameters\x20does\x20not\x20match\x20the\x20columns!',null,_0xc70e75));}if(_0x35bf1e['errors']&&_0x35bf1e['errors'][_0x1001('0x18')]){var _0x12a10d=_[_0x1001('0x19')](_0x35bf1e[_0x1001('0x1a')],_0x1001('0x1b'))['join'](';');return _0x59b4a6(handleCheckRowError('error',_0x12a10d,null,_0xc70e75));}var _0x30793d={};for(var _0x484546 in FIELDS){if(FIELDS[_0x1001('0x1c')](_0x484546)&&FIELDS[_0x484546]){_0x30793d[_0x484546]=_0x35bf1e[_0x1001('0x1d')][0x0][FIELDS[_0x484546]]||_0x35bf1e[_0x1001('0x1d')][0x0]['\ufeff'+FIELDS[_0x484546]];}}if(!_0x30793d[_0x1001('0x1e')]){return _0x59b4a6(handleCheckRowError('error','firstName\x20not\x20specified!',null,_0xc70e75));}if(!_0x30793d[_0x1001('0x1f')]){return _0x59b4a6(handleCheckRowError('error',_0x1001('0x20'),null,_0xc70e75));}if(_0x30793d[_0x1001('0x21')]){var _0x3e8efc=moment(_0x30793d[_0x1001('0x21')],_0x1001('0x22'));if(!_0x3e8efc[_0x1001('0x23')]()){return _0x59b4a6(handleCheckRowError('error',_0x1001('0x24'),null,_0xc70e75));}}if(_0x30793d[_0x1001('0x25')]){if(!isEmail(_0x30793d[_0x1001('0x25')])){return _0x59b4a6(handleCheckRowError(_0x1001('0x13'),_0x1001('0x26'),null,_0xc70e75));}}_0x30793d['ListId']=LISTID;_0x30793d['CompanyId']=COMPANYID||undefined;if(DUPLICATES&&DUPLICATES[_0x1001('0x18')]&&_0x1cc82e){var _0x13a10d={};for(var _0x35bdf6=0x0,_0xd96054=DUPLICATES[_0x1001('0x18')];_0x35bdf6<_0xd96054;_0x35bdf6+=0x1){_0x13a10d[DUPLICATES[_0x35bdf6]]=_0x30793d[DUPLICATES[_0x35bdf6]];}var _0x31e805=_[_0x1001('0x27')](_0x1cc82e,_0x13a10d);if(_0x31e805){return _0x59b4a6(handleCheckRowError('duplicate',_0x1001('0x28'),_0x31e805,_0xc70e75));}}return db[_0x1001('0x29')][_0x1001('0x2a')](_0x30793d,{'raw':!![],'hooks':![],'fields':_[_0x1001('0x2b')](_0x30793d)})[_0x1001('0x2c')](function(_0x44309e){if(DUPLICATES&&DUPLICATES[_0x1001('0x18')]&&_0x1cc82e){_0x1cc82e[_0x1001('0x2d')](_[_0x1001('0x2e')](_0x30793d,DUPLICATES));}hopperContacts+=(hopperContacts?',':'')+_0x44309e['id'];return _0x1a9e84();})[_0x1001('0x2f')](function(_0x514f30){return _0x59b4a6(handleCheckRowError(_0x1001('0x13'),_0x1001('0x30')+(_0x514f30[_0x1001('0x1b')]||JSON[_0x1001('0x31')](_0x514f30)),null,_0xc70e75));});});}function checkHopper(){function _0x457336(){return function(_0x53d236){logger[_0x1001('0x13')](_0x1001('0x32'),_0x1001('0x33'),util[_0x1001('0x34')](_0x53d236,{'showHidden':![],'depth':null}));};}var _0x1c781e=function(_0x46b658,_0x597bb6){var _0x3d75e0=squel[_0x1001('0x35')]()[_0x1001('0x36')](_0x1001('0x37'))['fromQuery']([_0x1001('0x1f'),'scheduledAt',_0x1001('0x38'),_0x1001('0x39'),_0x597bb6,_0x1001('0x3a'),_0x1001('0x3b')],squel[_0x1001('0x3c')]()[_0x1001('0x3d')](_0x1001('0x1f'),'phone')[_0x1001('0x3d')](_0x1001('0x3e'),_0x1001('0x3f'))[_0x1001('0x3d')]('id',_0x1001('0x38'))['field'](LISTID[_0x1001('0x40')](),_0x1001('0x39'))['field'](_0x46b658['id'][_0x1001('0x40')](),_0x597bb6)[_0x1001('0x3d')](_0x1001('0x3e'),_0x1001('0x3a'))[_0x1001('0x3d')](_0x1001('0x3e'),_0x1001('0x3b'))[_0x1001('0x41')](_0x1001('0x42'))[_0x1001('0x43')](_0x1001('0x44'))['where']('ListId\x20=\x20?',LISTID[_0x1001('0x40')]())['where'](_0x1001('0x45'))[_0x1001('0x43')](_0x1001('0x46'),squel['select']()[_0x1001('0x3d')](_0x1001('0x1f'))[_0x1001('0x41')](_0x1001('0x37'))[_0x1001('0x43')](_0x597bb6+'\x20=\x20?',_0x46b658['id'][_0x1001('0x40')]())))['toString']();return _0x3d75e0;};var _0x1abad1=function(_0x4f7485,_0x2e4261){var _0x540c83=squel[_0x1001('0x35')]()[_0x1001('0x36')](_0x1001('0x37'))['fromQuery']([_0x1001('0x1f'),_0x1001('0x3f'),_0x1001('0x38'),_0x1001('0x39'),_0x2e4261,_0x1001('0x3a'),_0x1001('0x3b')],squel['select']()[_0x1001('0x3d')](_0x1001('0x1f'),_0x1001('0x1f'))['field'](_0x1001('0x3e'),_0x1001('0x3f'))[_0x1001('0x3d')]('id',_0x1001('0x38'))[_0x1001('0x3d')](LISTID[_0x1001('0x40')](),_0x1001('0x39'))[_0x1001('0x3d')](_0x4f7485['id'][_0x1001('0x40')](),_0x2e4261)['field'](_0x1001('0x3e'),_0x1001('0x3a'))[_0x1001('0x3d')]('NOW()',_0x1001('0x3b'))[_0x1001('0x41')](_0x1001('0x42'))[_0x1001('0x43')]('deletedAt\x20IS\x20NULL')[_0x1001('0x43')](_0x1001('0x47'),LISTID[_0x1001('0x40')]())[_0x1001('0x43')](_0x1001('0x48'),squel['str'](hopperContacts))[_0x1001('0x43')](_0x1001('0x45'))[_0x1001('0x43')](_0x1001('0x46'),squel[_0x1001('0x3c')]()[_0x1001('0x3d')](_0x1001('0x49'))[_0x1001('0x41')](_0x1001('0x4a'))['where'](_0x2e4261+_0x1001('0x4b'),_0x4f7485['id']['toString']()))[_0x1001('0x43')](_0x1001('0x46'),squel['select']()[_0x1001('0x3d')]('phone')[_0x1001('0x41')](_0x1001('0x37'))[_0x1001('0x43')](_0x2e4261+'\x20=\x20?',_0x4f7485['id']['toString']())))[_0x1001('0x40')]();return _0x540c83;};function _0x116e10(_0x9c7581,_0x65109a){var _0x43a6bc=squel['insert']()[_0x1001('0x36')](_0x1001('0x37'))[_0x1001('0x4c')](['phone',_0x1001('0x3f'),_0x1001('0x38'),_0x1001('0x39'),_0x65109a,_0x1001('0x3a'),_0x1001('0x3b')],squel[_0x1001('0x3c')]()[_0x1001('0x3d')](_0x1001('0x1f'),_0x1001('0x1f'))[_0x1001('0x3d')](_0x1001('0x3e'),_0x1001('0x3f'))[_0x1001('0x3d')]('id',_0x1001('0x38'))[_0x1001('0x3d')](LISTID[_0x1001('0x40')](),_0x1001('0x39'))['field'](_0x9c7581['id'][_0x1001('0x40')](),_0x65109a)[_0x1001('0x3d')](_0x1001('0x3e'),_0x1001('0x3a'))[_0x1001('0x3d')](_0x1001('0x3e'),_0x1001('0x3b'))[_0x1001('0x41')](_0x1001('0x42'))[_0x1001('0x43')](_0x1001('0x44'))[_0x1001('0x43')](_0x1001('0x47'),LISTID[_0x1001('0x40')]())['where']('id\x20IN\x20?',squel[_0x1001('0x4d')](hopperContacts))[_0x1001('0x43')](_0x1001('0x45')))[_0x1001('0x40')]();return _0x43a6bc;}function _0x542419(_0x39f407,_0x4a983f){var _0xb29846=squel['insert']()[_0x1001('0x36')](_0x1001('0x4e'))[_0x1001('0x4c')](['phone',_0x1001('0x38'),_0x1001('0x39'),_0x4a983f,_0x1001('0x3a'),_0x1001('0x3b')],squel[_0x1001('0x3c')]()[_0x1001('0x3d')](_0x1001('0x1f'),'phone')[_0x1001('0x3d')]('id',_0x1001('0x38'))[_0x1001('0x3d')](LISTID[_0x1001('0x40')](),_0x1001('0x39'))['field'](_0x39f407['id'][_0x1001('0x40')](),_0x4a983f)[_0x1001('0x3d')](_0x1001('0x3e'),'createdAt')['field'](_0x1001('0x3e'),_0x1001('0x3b'))[_0x1001('0x41')](_0x1001('0x42'))[_0x1001('0x43')]('deletedAt\x20IS\x20NULL')[_0x1001('0x43')](_0x1001('0x47'),LISTID['toString']())['where'](_0x1001('0x48'),squel[_0x1001('0x4d')](hopperContacts))[_0x1001('0x43')](_0x1001('0x45')))[_0x1001('0x40')]();return _0xb29846;}return db[_0x1001('0x4f')]['findAll']({'where':{'type':_0x1001('0x50')},'attributes':['id',_0x1001('0x51')],'include':[{'model':db['CmList'],'as':_0x1001('0x52'),'where':{'id':LISTID}}]})[_0x1001('0x2c')](function(_0x5972ee){var _0x51f2d8=[];if(_0x5972ee){var _0xa89c48;for(var _0x177b33=0x0,_0x1acdad;_0x177b33<_0x5972ee[_0x1001('0x18')];_0x177b33+=0x1){_0x1acdad=_0x5972ee[_0x177b33][_0x1001('0x53')]({'plain':!![]});switch(_0x1acdad[_0x1001('0x51')]){case _0x1001('0x54'):_0x51f2d8[_0x1001('0x2d')](db['sequelize'][_0x1001('0x55')](_0x1abad1(_0x1acdad,_0x1001('0x56')))[_0x1001('0x2c')](function(){})[_0x1001('0x2f')](_0x457336()));break;case _0x1001('0x57'):_0x51f2d8[_0x1001('0x2d')](db[_0x1001('0x58')][_0x1001('0x55')](_0x1c781e(_0x1acdad,_0x1001('0x56')))[_0x1001('0x2c')](function(){})[_0x1001('0x2f')](_0x457336()));break;default:_0x51f2d8['push'](db[_0x1001('0x58')][_0x1001('0x55')](_0x116e10(_0x1acdad,_0x1001('0x56')))['then'](function(){})[_0x1001('0x2f')](_0x457336()));}}}return _0x51f2d8;})[_0x1001('0x59')]()[_0x1001('0x2c')](function(){return db[_0x1001('0x4f')][_0x1001('0x5a')]({'where':{'type':_0x1001('0x50')},'attributes':['id'],'include':[{'model':db[_0x1001('0x5b')],'as':'BlackLists','where':{'id':LISTID}}]})[_0x1001('0x2c')](function(_0x2a2588){var _0x1c529c=[];if(_0x2a2588){var _0x29342a;for(var _0x31e594=0x0,_0x3b51f0;_0x31e594<_0x2a2588[_0x1001('0x18')];_0x31e594+=0x1){_0x3b51f0=_0x2a2588[_0x31e594][_0x1001('0x53')]({'plain':!![]});_0x1c529c[_0x1001('0x2d')](db['sequelize'][_0x1001('0x55')](_0x542419(_0x3b51f0,_0x1001('0x56')))[_0x1001('0x2c')](function(){})[_0x1001('0x2f')](_0x457336()));}}return _0x1c529c;})['all']();})[_0x1001('0x2c')](function(){return db['Campaign'][_0x1001('0x5a')]({'attributes':['id','dialCheckDuplicateType'],'include':[{'model':db['CmList'],'as':'Lists','where':{'id':LISTID}}]})[_0x1001('0x2c')](function(_0x28a9d1){var _0x1c1cfa=[];if(_0x28a9d1){for(var _0x5aefb8=0x0,_0x1e5d67;_0x5aefb8<_0x28a9d1['length'];_0x5aefb8+=0x1){_0x1e5d67=_0x28a9d1[_0x5aefb8][_0x1001('0x53')]({'plain':!![]});switch(_0x1e5d67[_0x1001('0x51')]){case _0x1001('0x54'):_0x1c1cfa['push'](db[_0x1001('0x58')]['query'](_0x1abad1(_0x1e5d67,_0x1001('0x5c')))[_0x1001('0x2c')](function(){})[_0x1001('0x2f')](_0x457336()));break;case _0x1001('0x57'):_0x1c1cfa[_0x1001('0x2d')](db[_0x1001('0x58')][_0x1001('0x55')](_0x1c781e(_0x1e5d67,_0x1001('0x5c')))[_0x1001('0x2c')](function(){})[_0x1001('0x2f')](_0x457336()));break;default:_0x1c1cfa[_0x1001('0x2d')](db[_0x1001('0x58')][_0x1001('0x55')](_0x116e10(_0x1e5d67,_0x1001('0x5c')))[_0x1001('0x2c')](function(){})[_0x1001('0x2f')](_0x457336()));}}}return _0x1c1cfa;})[_0x1001('0x59')]();})[_0x1001('0x2c')](function(){return db[_0x1001('0x5d')][_0x1001('0x5a')]({'attributes':['id'],'include':[{'model':db[_0x1001('0x5b')],'as':_0x1001('0x5e'),'where':{'id':LISTID}}]})['then'](function(_0x10e9f0){var _0x12c49b=[];if(_0x10e9f0){for(var _0x4d830e=0x0,_0x119a37;_0x4d830e<_0x10e9f0[_0x1001('0x18')];_0x4d830e+=0x1){_0x119a37=_0x10e9f0[_0x4d830e][_0x1001('0x53')]({'plain':!![]});_0x12c49b[_0x1001('0x2d')](db['sequelize'][_0x1001('0x55')](_0x542419(_0x119a37,_0x1001('0x5c')))[_0x1001('0x2c')](function(){})[_0x1001('0x2f')](_0x457336()));}}return _0x12c49b;})[_0x1001('0x59')]();})['catch'](function(_0x57bb5b){logger[_0x1001('0x13')](_0x1001('0x5f'),'generalCheckHopper',_0x57bb5b['message']);});}var processPromises=function(_0xfa8514){return BPromise[_0x1001('0x59')](promises)['then'](function(_0x2c03e3){})[_0x1001('0x2f')](function(_0x30cf62){logger[_0x1001('0x13')]('Error\x20processing\x20rows\x20block:',JSON[_0x1001('0x31')](_0x30cf62));})[_0x1001('0x60')](function(){socket['emit'](_0x1001('0x61')+SOCKET_TIMESTAMP,{'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});promises=[];success=0x0;errors=0x0;duplicates=0x0;rows=[];if(_0xfa8514){return _0xfa8514[_0x1001('0x62')]();}});};var endCsv=function(){return BPromise[_0x1001('0x63')]()[_0x1001('0x2c')](function(){if(hopperContacts){return checkHopper();}})['then'](function(){socket[_0x1001('0x64')](_0x1001('0x61')+SOCKET_TIMESTAMP,{'finished':!![],'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});try{fs[_0x1001('0x65')](FILEPATH);}catch(_0x7bed27){logger[_0x1001('0x13')](_0x1001('0x66'),JSON[_0x1001('0x31')](_0x7bed27));}finally{process['exit'](0x0);}});};process['on']('SIGINT',function(){logger[_0x1001('0x67')]('CSV\x20import\x20process\x20stopped!');endCsv();});function main(){return BPromise[_0x1001('0x63')]()['then'](function(){if(DUPLICATES){DUPLICATES=DUPLICATES[_0x1001('0x10')](',');return db[_0x1001('0x29')][_0x1001('0x5a')]({'where':{'ListId':LISTID},'attributes':DUPLICATES,'raw':!![]});}})[_0x1001('0x2c')](function(_0x7c9694){var _0x264465=fs[_0x1001('0x68')](FILEPATH,{'highWaterMark':0xf*0x400*0x400});Papa['parse'](_0x264465,{'header':!![],'skipEmptyLines':!![],'step':function(_0x386fc7,_0x285099){total+=0x1;var _0x195af9=total;promises[_0x1001('0x2d')](checkRow(_0x386fc7,_0x7c9694,_0x195af9)[_0x1001('0x2c')](function(){success+=0x1;})[_0x1001('0x2f')](function(_0x6c391){if(_0x6c391[_0x1001('0x13')]){errors+=0x1;delete _0x6c391[_0x1001('0x13')];}else if(_0x6c391[_0x1001('0x69')]){duplicates+=0x1;delete _0x6c391[_0x1001('0x69')];}rows[_0x1001('0x2d')](_0x6c391);}));if(total%0xc8===0x0){_0x285099[_0x1001('0x6a')]();return processPromises(_0x285099);}},'complete':function(){return processPromises()['then'](function(){logger['info']('CSV\x20parsed\x20correctly!');endCsv();});},'error':function(_0x37395c,_0xd1d167){logger['info'](_0x1001('0x6b'),JSON[_0x1001('0x31')](_0x37395c));endCsv();}});})[_0x1001('0x2f')](function(_0x45f7dd){logger[_0x1001('0x13')](_0x1001('0x6c'),JSON[_0x1001('0x31')](_0x45f7dd));});}main();