Built motion from commit ab870f9e.|2.5.44
[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 _0xd686=['select','field','NOW()','toString','cm_contacts','where','deletedAt\x20IS\x20NULL','ListId\x20=\x20?','phone\x20IS\x20NOT\x20NULL','phone\x20NOT\x20IN\x20(?)','from','\x20=\x20?','into','id\x20IN\x20?','str','cm_hopper_final','cm_hopper_black','VoiceQueue','findAll','outbound','dialCheckDuplicateType','CmList','Lists','get','push','query','VoiceQueueId','catch','onlyIfOpen','sequelize','all','CampaignId','BlackLists','cmContact,\x20%s,\x20%s','generalCheckHopper','Error\x20processing\x20rows\x20block:','emit','contact:csv_','resume','unlinkSync','Unable\x20to\x20delete\x20temp\x20file:','exit','SIGINT','info','CSV\x20import\x20process\x20stopped!','resolve','parse','duplicate','pause','CSV\x20parsed\x20correctly!','CSV\x20parse\x20error','Error\x20executing\x20contact\x20csv\x20import:','bluebird','util','lodash','squel','papaparse','ioredis','../../../mysqldb','../../../config/environment','../../../config/logger','api','redis','defaults','localhost','socket.io-emitter','../../../api/cmContact/cmContact.socket','register','argv','undefined','Missing\x20filepath\x20parameter!','null','Missing\x20binding\x20parameters!','zipObject','split','Missing\x20ListId\x20parameter!','Missing\x20socket_timestamp\x20parameter!','index','test','isNil','error','errors','length','map','message','join','hasOwnProperty','data','firstName','firstName\x20not\x20specified!','phone','phone\x20not\x20specified!','birthDate','YYYY-MM-DD','isValid','email','email\x20format\x20is\x20not\x20valid!','ListId','CompanyId','find','Duplicate\x20Contact','CmContact','keys','then','pick','stringify','cmContact','checkHopper','insert','cm_hopper','fromQuery','scheduledAt','ContactId','createdAt','updatedAt'];(function(_0x44c5c1,_0x4d9d55){var _0x467172=function(_0x584e24){while(--_0x584e24){_0x44c5c1['push'](_0x44c5c1['shift']());}};_0x467172(++_0x4d9d55);}(_0xd686,0xa7));var _0x6d68=function(_0x1203f,_0x554bbc){_0x1203f=_0x1203f-0x0;var _0x365f0a=_0xd686[_0x1203f];return _0x365f0a;};'use strict';var BPromise=require(_0x6d68('0x0'));var util=require(_0x6d68('0x1'));var _=require(_0x6d68('0x2'));var fs=require('fs');var squel=require(_0x6d68('0x3'));var Papa=require(_0x6d68('0x4'));var Redis=require(_0x6d68('0x5'));var db=require(_0x6d68('0x6'))['db'];var config=require(_0x6d68('0x7'));var logger=require(_0x6d68('0x8'))(_0x6d68('0x9'));config[_0x6d68('0xa')]=_[_0x6d68('0xb')](config['redis'],{'host':_0x6d68('0xc'),'port':0x18eb});var socket=require(_0x6d68('0xd'))(new Redis(config[_0x6d68('0xa')]));require(_0x6d68('0xe'))[_0x6d68('0xf')](socket);try{if(!process[_0x6d68('0x10')][0x2]||process[_0x6d68('0x10')][0x2]===_0x6d68('0x11')||process[_0x6d68('0x10')][0x2]==='null'){throw new Error(_0x6d68('0x12'));}var FILEPATH=process[_0x6d68('0x10')][0x2];if(!process[_0x6d68('0x10')][0x3]||process['argv'][0x3]===_0x6d68('0x11')||process['argv'][0x3]===_0x6d68('0x13')||!process[_0x6d68('0x10')][0x4]||process[_0x6d68('0x10')][0x4]==='undefined'||process[_0x6d68('0x10')][0x4]==='null'){throw new Error(_0x6d68('0x14'));}var FIELDS=_[_0x6d68('0x15')](process[_0x6d68('0x10')][0x3][_0x6d68('0x16')](','),process[_0x6d68('0x10')][0x4][_0x6d68('0x16')](','));if(!process[_0x6d68('0x10')][0x5]||process[_0x6d68('0x10')][0x5]===_0x6d68('0x11')||process[_0x6d68('0x10')][0x5]==='null'){throw new Error(_0x6d68('0x17'));}var LISTID=process[_0x6d68('0x10')][0x5];var COMPANYID=process[_0x6d68('0x10')][0x6]&&process['argv'][0x6]!=='undefined'&&process[_0x6d68('0x10')][0x6]!==_0x6d68('0x13')?process[_0x6d68('0x10')][0x6]:null;var DUPLICATES=process['argv'][0x7]&&process[_0x6d68('0x10')][0x7]!==_0x6d68('0x11')&&process[_0x6d68('0x10')][0x7]!==_0x6d68('0x13')?process[_0x6d68('0x10')][0x7]:null;if(!process[_0x6d68('0x10')][0x8]||process[_0x6d68('0x10')][0x8]===_0x6d68('0x11')||process[_0x6d68('0x10')][0x8]===_0x6d68('0x13')){throw new Error(_0x6d68('0x18'));}var SOCKET_TIMESTAMP=process[_0x6d68('0x10')][0x8];}catch(_0x2a5633){logger['error'](_0x2a5633);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(_0x3a0c23,_0x3e394e,_0x126e90,_0x2f4cf0){var _0x1f4dd8={'message':_0x3e394e};_0x1f4dd8[_0x3a0c23]=!![];if(_0x126e90){_0x1f4dd8['contact']=_0x126e90;}if(_0x2f4cf0){_0x1f4dd8[_0x6d68('0x19')]=_0x2f4cf0;}return _0x1f4dd8;}function isEmail(_0x243130){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))*$/[_0x6d68('0x1a')](_0x243130);}function checkRow(_0x1b9a5e,_0x6a3c3c,_0x5cec82){return new BPromise(function(_0x353a5a,_0x1e114a){if(_[_0x6d68('0x1b')](_0x1b9a5e)){return _0x1e114a(handleCheckRowError(_0x6d68('0x1c'),'The\x20row\x20is\x20empty\x20or\x20the\x20number\x20of\x20parameters\x20does\x20not\x20match\x20the\x20columns!',null,_0x5cec82));}if(_0x1b9a5e[_0x6d68('0x1d')]&&_0x1b9a5e[_0x6d68('0x1d')][_0x6d68('0x1e')]){var _0x5d4dee=_[_0x6d68('0x1f')](_0x1b9a5e['errors'],_0x6d68('0x20'))[_0x6d68('0x21')](';');return _0x1e114a(handleCheckRowError(_0x6d68('0x1c'),_0x5d4dee,null,_0x5cec82));}var _0x81d711={};for(var _0x17b169 in FIELDS){if(FIELDS[_0x6d68('0x22')](_0x17b169)&&FIELDS[_0x17b169]){_0x81d711[_0x17b169]=_0x1b9a5e[_0x6d68('0x23')][0x0][FIELDS[_0x17b169]]||_0x1b9a5e[_0x6d68('0x23')][0x0]['\ufeff'+FIELDS[_0x17b169]];}}if(!_0x81d711[_0x6d68('0x24')]){return _0x1e114a(handleCheckRowError(_0x6d68('0x1c'),_0x6d68('0x25'),null,_0x5cec82));}if(!_0x81d711[_0x6d68('0x26')]){return _0x1e114a(handleCheckRowError(_0x6d68('0x1c'),_0x6d68('0x27'),null,_0x5cec82));}if(_0x81d711[_0x6d68('0x28')]){var _0x2357b3=moment(_0x81d711[_0x6d68('0x28')],_0x6d68('0x29'));if(!_0x2357b3[_0x6d68('0x2a')]()){return _0x1e114a(handleCheckRowError('error','birthDate\x20format\x20is\x20invalid,\x20YYYY-MM-DD\x20format\x20is\x20supported!',null,_0x5cec82));}}if(_0x81d711[_0x6d68('0x2b')]){if(!isEmail(_0x81d711[_0x6d68('0x2b')])){return _0x1e114a(handleCheckRowError('error',_0x6d68('0x2c'),null,_0x5cec82));}}_0x81d711[_0x6d68('0x2d')]=LISTID;_0x81d711[_0x6d68('0x2e')]=COMPANYID||undefined;if(DUPLICATES&&DUPLICATES[_0x6d68('0x1e')]&&_0x6a3c3c){var _0x520331={};for(var _0x45edb4=0x0,_0x53b37c=DUPLICATES[_0x6d68('0x1e')];_0x45edb4<_0x53b37c;_0x45edb4+=0x1){_0x520331[DUPLICATES[_0x45edb4]]=_0x81d711[DUPLICATES[_0x45edb4]];}var _0xa7640e=_[_0x6d68('0x2f')](_0x6a3c3c,_0x520331);if(_0xa7640e){return _0x1e114a(handleCheckRowError('duplicate',_0x6d68('0x30'),_0xa7640e,_0x5cec82));}}return db[_0x6d68('0x31')]['create'](_0x81d711,{'raw':!![],'hooks':![],'fields':_[_0x6d68('0x32')](_0x81d711)})[_0x6d68('0x33')](function(_0x31343a){if(DUPLICATES&&DUPLICATES[_0x6d68('0x1e')]&&_0x6a3c3c){_0x6a3c3c['push'](_[_0x6d68('0x34')](_0x81d711,DUPLICATES));}hopperContacts+=(hopperContacts?',':'')+_0x31343a['id'];return _0x353a5a();})['catch'](function(_0x2224ef){return _0x1e114a(handleCheckRowError(_0x6d68('0x1c'),'Error\x20while\x20creating\x20contact:\x20'+(_0x2224ef[_0x6d68('0x20')]||JSON[_0x6d68('0x35')](_0x2224ef)),null,_0x5cec82));});});}function checkHopper(){function _0x3fb6ff(){return function(_0x2e8b28){logger[_0x6d68('0x1c')](_0x6d68('0x36'),_0x6d68('0x37'),util['inspect'](_0x2e8b28,{'showHidden':![],'depth':null}));};}var _0x314f95=function(_0x169277,_0x1472eb){var _0x527dea=squel[_0x6d68('0x38')]()['into'](_0x6d68('0x39'))[_0x6d68('0x3a')]([_0x6d68('0x26'),_0x6d68('0x3b'),_0x6d68('0x3c'),'ListId',_0x1472eb,_0x6d68('0x3d'),_0x6d68('0x3e')],squel[_0x6d68('0x3f')]()[_0x6d68('0x40')](_0x6d68('0x26'),_0x6d68('0x26'))[_0x6d68('0x40')](_0x6d68('0x41'),_0x6d68('0x3b'))['field']('id',_0x6d68('0x3c'))[_0x6d68('0x40')](LISTID[_0x6d68('0x42')](),_0x6d68('0x2d'))[_0x6d68('0x40')](_0x169277['id'][_0x6d68('0x42')](),_0x1472eb)[_0x6d68('0x40')]('NOW()',_0x6d68('0x3d'))['field'](_0x6d68('0x41'),'updatedAt')['from'](_0x6d68('0x43'))[_0x6d68('0x44')](_0x6d68('0x45'))['where'](_0x6d68('0x46'),LISTID[_0x6d68('0x42')]())[_0x6d68('0x44')](_0x6d68('0x47'))[_0x6d68('0x44')](_0x6d68('0x48'),squel[_0x6d68('0x3f')]()['field'](_0x6d68('0x26'))[_0x6d68('0x49')](_0x6d68('0x39'))[_0x6d68('0x44')](_0x1472eb+_0x6d68('0x4a'),_0x169277['id']['toString']())))['toString']();return _0x527dea;};var _0x1aef35=function(_0x220769,_0x2eb759){var _0x698c5b=squel['insert']()[_0x6d68('0x4b')](_0x6d68('0x39'))[_0x6d68('0x3a')]([_0x6d68('0x26'),_0x6d68('0x3b'),_0x6d68('0x3c'),_0x6d68('0x2d'),_0x2eb759,_0x6d68('0x3d'),'updatedAt'],squel[_0x6d68('0x3f')]()[_0x6d68('0x40')](_0x6d68('0x26'),_0x6d68('0x26'))[_0x6d68('0x40')](_0x6d68('0x41'),_0x6d68('0x3b'))['field']('id',_0x6d68('0x3c'))[_0x6d68('0x40')](LISTID['toString'](),_0x6d68('0x2d'))[_0x6d68('0x40')](_0x220769['id'][_0x6d68('0x42')](),_0x2eb759)[_0x6d68('0x40')]('NOW()','createdAt')['field'](_0x6d68('0x41'),'updatedAt')[_0x6d68('0x49')]('cm_contacts')['where'](_0x6d68('0x45'))[_0x6d68('0x44')](_0x6d68('0x46'),LISTID['toString']())[_0x6d68('0x44')](_0x6d68('0x4c'),squel[_0x6d68('0x4d')](hopperContacts))['where']('phone\x20IS\x20NOT\x20NULL')['where'](_0x6d68('0x48'),squel[_0x6d68('0x3f')]()[_0x6d68('0x40')]('calleridnum')[_0x6d68('0x49')](_0x6d68('0x4e'))[_0x6d68('0x44')](_0x2eb759+_0x6d68('0x4a'),_0x220769['id'][_0x6d68('0x42')]()))['where'](_0x6d68('0x48'),squel[_0x6d68('0x3f')]()[_0x6d68('0x40')](_0x6d68('0x26'))[_0x6d68('0x49')](_0x6d68('0x39'))['where'](_0x2eb759+'\x20=\x20?',_0x220769['id'][_0x6d68('0x42')]())))[_0x6d68('0x42')]();return _0x698c5b;};function _0x3d5c50(_0x3ec77c,_0x485111){var _0x428a99=squel[_0x6d68('0x38')]()[_0x6d68('0x4b')]('cm_hopper')['fromQuery']([_0x6d68('0x26'),_0x6d68('0x3b'),_0x6d68('0x3c'),_0x6d68('0x2d'),_0x485111,_0x6d68('0x3d'),_0x6d68('0x3e')],squel[_0x6d68('0x3f')]()['field'](_0x6d68('0x26'),_0x6d68('0x26'))[_0x6d68('0x40')](_0x6d68('0x41'),'scheduledAt')[_0x6d68('0x40')]('id',_0x6d68('0x3c'))['field'](LISTID[_0x6d68('0x42')](),'ListId')[_0x6d68('0x40')](_0x3ec77c['id'][_0x6d68('0x42')](),_0x485111)[_0x6d68('0x40')](_0x6d68('0x41'),_0x6d68('0x3d'))[_0x6d68('0x40')](_0x6d68('0x41'),'updatedAt')[_0x6d68('0x49')]('cm_contacts')[_0x6d68('0x44')]('deletedAt\x20IS\x20NULL')[_0x6d68('0x44')]('ListId\x20=\x20?',LISTID[_0x6d68('0x42')]())[_0x6d68('0x44')](_0x6d68('0x4c'),squel[_0x6d68('0x4d')](hopperContacts))[_0x6d68('0x44')](_0x6d68('0x47')))[_0x6d68('0x42')]();return _0x428a99;}function _0x1ac40b(_0x4ccaef,_0x5a95d4){var _0x2e1dd2=squel[_0x6d68('0x38')]()[_0x6d68('0x4b')](_0x6d68('0x4f'))[_0x6d68('0x3a')](['phone',_0x6d68('0x3c'),_0x6d68('0x2d'),_0x5a95d4,'createdAt','updatedAt'],squel[_0x6d68('0x3f')]()[_0x6d68('0x40')](_0x6d68('0x26'),'phone')[_0x6d68('0x40')]('id',_0x6d68('0x3c'))['field'](LISTID[_0x6d68('0x42')](),_0x6d68('0x2d'))['field'](_0x4ccaef['id'][_0x6d68('0x42')](),_0x5a95d4)[_0x6d68('0x40')](_0x6d68('0x41'),'createdAt')['field']('NOW()',_0x6d68('0x3e'))[_0x6d68('0x49')](_0x6d68('0x43'))[_0x6d68('0x44')](_0x6d68('0x45'))['where'](_0x6d68('0x46'),LISTID[_0x6d68('0x42')]())[_0x6d68('0x44')](_0x6d68('0x4c'),squel[_0x6d68('0x4d')](hopperContacts))['where'](_0x6d68('0x47')))[_0x6d68('0x42')]();return _0x2e1dd2;}return db[_0x6d68('0x50')][_0x6d68('0x51')]({'where':{'type':_0x6d68('0x52')},'attributes':['id',_0x6d68('0x53')],'include':[{'model':db[_0x6d68('0x54')],'as':_0x6d68('0x55'),'where':{'id':LISTID}}]})[_0x6d68('0x33')](function(_0x5acaf6){var _0x1d5ab2=[];if(_0x5acaf6){var _0x3a861e;for(var _0x472d8c=0x0,_0x551c1a;_0x472d8c<_0x5acaf6[_0x6d68('0x1e')];_0x472d8c+=0x1){_0x551c1a=_0x5acaf6[_0x472d8c][_0x6d68('0x56')]({'plain':!![]});switch(_0x551c1a[_0x6d68('0x53')]){case'always':_0x1d5ab2[_0x6d68('0x57')](db['sequelize'][_0x6d68('0x58')](_0x1aef35(_0x551c1a,_0x6d68('0x59')))['then'](function(){})[_0x6d68('0x5a')](_0x3fb6ff()));break;case _0x6d68('0x5b'):_0x1d5ab2[_0x6d68('0x57')](db[_0x6d68('0x5c')]['query'](_0x314f95(_0x551c1a,_0x6d68('0x59')))[_0x6d68('0x33')](function(){})[_0x6d68('0x5a')](_0x3fb6ff()));break;default:_0x1d5ab2[_0x6d68('0x57')](db[_0x6d68('0x5c')]['query'](_0x3d5c50(_0x551c1a,_0x6d68('0x59')))[_0x6d68('0x33')](function(){})[_0x6d68('0x5a')](_0x3fb6ff()));}}}return _0x1d5ab2;})['all']()[_0x6d68('0x33')](function(){return db[_0x6d68('0x50')][_0x6d68('0x51')]({'where':{'type':'outbound'},'attributes':['id'],'include':[{'model':db[_0x6d68('0x54')],'as':'BlackLists','where':{'id':LISTID}}]})[_0x6d68('0x33')](function(_0x1a75a7){var _0x327de4=[];if(_0x1a75a7){var _0x55ad1b;for(var _0x3e791e=0x0,_0x4aee3b;_0x3e791e<_0x1a75a7[_0x6d68('0x1e')];_0x3e791e+=0x1){_0x4aee3b=_0x1a75a7[_0x3e791e][_0x6d68('0x56')]({'plain':!![]});_0x327de4[_0x6d68('0x57')](db[_0x6d68('0x5c')]['query'](_0x1ac40b(_0x4aee3b,_0x6d68('0x59')))['then'](function(){})[_0x6d68('0x5a')](_0x3fb6ff()));}}return _0x327de4;})[_0x6d68('0x5d')]();})['then'](function(){return db['Campaign'][_0x6d68('0x51')]({'attributes':['id',_0x6d68('0x53')],'include':[{'model':db[_0x6d68('0x54')],'as':'Lists','where':{'id':LISTID}}]})[_0x6d68('0x33')](function(_0x1f6fd9){var _0x142bbd=[];if(_0x1f6fd9){for(var _0xc678d1=0x0,_0x24fe45;_0xc678d1<_0x1f6fd9[_0x6d68('0x1e')];_0xc678d1+=0x1){_0x24fe45=_0x1f6fd9[_0xc678d1][_0x6d68('0x56')]({'plain':!![]});switch(_0x24fe45[_0x6d68('0x53')]){case'always':_0x142bbd[_0x6d68('0x57')](db[_0x6d68('0x5c')][_0x6d68('0x58')](_0x1aef35(_0x24fe45,_0x6d68('0x5e')))['then'](function(){})['catch'](_0x3fb6ff()));break;case'onlyIfOpen':_0x142bbd['push'](db[_0x6d68('0x5c')][_0x6d68('0x58')](_0x314f95(_0x24fe45,'CampaignId'))[_0x6d68('0x33')](function(){})[_0x6d68('0x5a')](_0x3fb6ff()));break;default:_0x142bbd[_0x6d68('0x57')](db[_0x6d68('0x5c')]['query'](_0x3d5c50(_0x24fe45,_0x6d68('0x5e')))['then'](function(){})[_0x6d68('0x5a')](_0x3fb6ff()));}}}return _0x142bbd;})[_0x6d68('0x5d')]();})[_0x6d68('0x33')](function(){return db['Campaign']['findAll']({'attributes':['id'],'include':[{'model':db[_0x6d68('0x54')],'as':_0x6d68('0x5f'),'where':{'id':LISTID}}]})[_0x6d68('0x33')](function(_0x5de99c){var _0x1afb69=[];if(_0x5de99c){for(var _0x5084b1=0x0,_0x27e990;_0x5084b1<_0x5de99c[_0x6d68('0x1e')];_0x5084b1+=0x1){_0x27e990=_0x5de99c[_0x5084b1][_0x6d68('0x56')]({'plain':!![]});_0x1afb69[_0x6d68('0x57')](db[_0x6d68('0x5c')]['query'](_0x1ac40b(_0x27e990,'CampaignId'))[_0x6d68('0x33')](function(){})[_0x6d68('0x5a')](_0x3fb6ff()));}}return _0x1afb69;})[_0x6d68('0x5d')]();})[_0x6d68('0x5a')](function(_0x233eb0){logger['error'](_0x6d68('0x60'),_0x6d68('0x61'),_0x233eb0[_0x6d68('0x20')]);});}var processPromises=function(_0x45898b){return BPromise['all'](promises)[_0x6d68('0x33')](function(_0x433ca2){})[_0x6d68('0x5a')](function(_0x35438f){logger[_0x6d68('0x1c')](_0x6d68('0x62'),JSON[_0x6d68('0x35')](_0x35438f));})['finally'](function(){socket[_0x6d68('0x63')](_0x6d68('0x64')+SOCKET_TIMESTAMP,{'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});promises=[];success=0x0;errors=0x0;duplicates=0x0;rows=[];if(_0x45898b){return _0x45898b[_0x6d68('0x65')]();}});};var endCsv=function(){return BPromise['resolve']()[_0x6d68('0x33')](function(){if(hopperContacts){return checkHopper();}})['then'](function(){socket[_0x6d68('0x63')](_0x6d68('0x64')+SOCKET_TIMESTAMP,{'finished':!![],'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});try{fs[_0x6d68('0x66')](FILEPATH);}catch(_0x31f082){logger[_0x6d68('0x1c')](_0x6d68('0x67'),JSON[_0x6d68('0x35')](_0x31f082));}finally{process[_0x6d68('0x68')](0x0);}});};process['on'](_0x6d68('0x69'),function(){logger[_0x6d68('0x6a')](_0x6d68('0x6b'));endCsv();});function main(){return BPromise[_0x6d68('0x6c')]()[_0x6d68('0x33')](function(){if(DUPLICATES){DUPLICATES=DUPLICATES[_0x6d68('0x16')](',');return db[_0x6d68('0x31')][_0x6d68('0x51')]({'where':{'ListId':LISTID},'attributes':DUPLICATES,'raw':!![]});}})[_0x6d68('0x33')](function(_0x52d932){var _0x563512=fs['createReadStream'](FILEPATH,{'highWaterMark':0xf*0x400*0x400});Papa[_0x6d68('0x6d')](_0x563512,{'header':!![],'skipEmptyLines':!![],'step':function(_0x531622,_0x22758c){total+=0x1;var _0x13d945=total;promises[_0x6d68('0x57')](checkRow(_0x531622,_0x52d932,_0x13d945)[_0x6d68('0x33')](function(){success+=0x1;})['catch'](function(_0x6b4e24){if(_0x6b4e24[_0x6d68('0x1c')]){errors+=0x1;delete _0x6b4e24['error'];}else if(_0x6b4e24[_0x6d68('0x6e')]){duplicates+=0x1;delete _0x6b4e24['duplicate'];}rows[_0x6d68('0x57')](_0x6b4e24);}));if(total%0xc8===0x0){_0x22758c[_0x6d68('0x6f')]();return processPromises(_0x22758c);}},'complete':function(){return processPromises()[_0x6d68('0x33')](function(){logger[_0x6d68('0x6a')](_0x6d68('0x70'));endCsv();});},'error':function(_0x44e0d4,_0x574512){logger[_0x6d68('0x6a')](_0x6d68('0x71'),JSON['stringify'](_0x44e0d4));endCsv();}});})[_0x6d68('0x5a')](function(_0x4d21d6){logger[_0x6d68('0x1c')](_0x6d68('0x72'),JSON['stringify'](_0x4d21d6));});}main();