Built motion from commit (unavailable).|2.5.28
[motion2.git] / server / api / cmHopperFinal / cmHopperFinal.controller.js
index 6875cf8..645931f 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xd58c=['uniqueid','countContactsQueueCampaignHopperFinal','sequelize','literal','`state`\x20=\x200,\x201,\x20null','COUNT','`state`\x20=\x203,\x201,\x20null','noAnswerContacts','`state`\x20=\x205,\x201,\x20null','busyContacts','`state`\x20=\x208,\x201,\x20null','congestionContacts','`state`\x20=\x2010\x20,\x201,\x20null','dropContacts','`state`\x20=\x2011\x20,\x201,\x20null','abandonedContacts','`state`\x20=\x2022,\x201,\x20null','`state`\x20=\x2019,\x201,\x20null','answeringMachine','countContactsIvrCampaignHopperFinal','findAll','noSuchContacts','moveContactsQueueCampaignHopperFinal','VoiceQueue','insert','cm_hopper','phone','scheduledAt','ContactId','ListId','VoiceQueueId','updatedAt','select','ANY_VALUE(calleridnum)','field','NOW()','ANY_VALUE(ContactId)','ANY_VALUE(VoiceQueueId)','createdAt','from','cm_hopper_final','toString','state\x20=\x20?','state','calleridnum\x20IS\x20NOT\x20NULL','VoiceQueueId\x20=\x20?','moveContactsIvrCampaignHopperFinal','Campaign','fromQuery','CampaignId','ANY_VALUE(ListId)','ANY_VALUE(CampaignId)','CampaignId\x20=\x20?','calleridnum\x20NOT\x20IN\x20(?)','group','checkContactHopper','html-pdf','eml-format','rimraf','fast-json-patch','moment','mustache','util','path','sox','to-csv','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status','end','count','limit','set','Content-Range','json','apply','then','destroy','stack','name','index','map','rawAttributes','fieldName','key','query','keys','filters','model','attributes','intersection','fields','hasOwnProperty','nolimit','offset','order','sort','where','pick','filter','merge','type','VIRTUAL','options','CmHopperFinal','include','catch','show','params','length','includeAll','find','describe','update','body'];(function(_0x3eed5d,_0x300936){var _0x537e81=function(_0x359a4d){while(--_0x359a4d){_0x3eed5d['push'](_0x3eed5d['shift']());}};_0x537e81(++_0x300936);}(_0xd58c,0xb6));var _0xcd58=function(_0x2c7749,_0x59e766){_0x2c7749=_0x2c7749-0x0;var _0x53c794=_0xd58c[_0x2c7749];return _0x53c794;};'use strict';var pdf=require(_0xcd58('0x0'));var emlformat=require(_0xcd58('0x1'));var rimraf=require(_0xcd58('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xcd58('0x3'));var rp=require('request-promise');var moment=require(_0xcd58('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xcd58('0x5'));var util=require(_0xcd58('0x6'));var path=require(_0xcd58('0x7'));var sox=require(_0xcd58('0x8'));var csv=require(_0xcd58('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0xcd58('0xa'));var crypto=require(_0xcd58('0xb'));var jsforce=require(_0xcd58('0xc'));var deskjs=require(_0xcd58('0xd'));var toCsv=require(_0xcd58('0x9'));var querystring=require('querystring');var Papa=require(_0xcd58('0xe'));var Redis=require(_0xcd58('0xf'));var authService=require('../../components/auth/service');var qs=require(_0xcd58('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xcd58('0x11'));var logger=require(_0xcd58('0x12'))(_0xcd58('0x13'));var utils=require('../../config/utils');var config=require(_0xcd58('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0xcd58('0x15'))['db'];function respondWithStatusCode(_0x51880c,_0x477d19){_0x477d19=_0x477d19||0xcc;return function(_0x42b221){if(_0x42b221){return _0x51880c[_0xcd58('0x16')](_0x477d19);}return _0x51880c[_0xcd58('0x17')](_0x477d19)[_0xcd58('0x18')]();};}function respondWithResult(_0x202412,_0xda9091){_0xda9091=_0xda9091||0xc8;return function(_0x3376f3){if(_0x3376f3){return _0x202412['status'](_0xda9091)['json'](_0x3376f3);}};}function respondWithFilteredResult(_0x3ce190,_0xa225e3){return function(_0x3d5e86){if(_0x3d5e86){var _0x51f5b6=_0x3d5e86[_0xcd58('0x19')],_0x515fc3=_0xa225e3['offset'],_0xea2532=_0xa225e3['offset']+_0xa225e3[_0xcd58('0x1a')],_0xeaee1f;if(_0xea2532>=_0x51f5b6){_0xea2532=_0x51f5b6;_0xeaee1f=0xc8;}else{_0xeaee1f=0xce;}_0x3ce190['status'](_0xeaee1f);return _0x3ce190[_0xcd58('0x1b')](_0xcd58('0x1c'),_0x515fc3+'-'+_0xea2532+'/'+_0x51f5b6)[_0xcd58('0x1d')](_0x3d5e86);}return null;};}function patchUpdates(_0x149641){return function(_0x491198){try{jsonpatch[_0xcd58('0x1e')](_0x491198,_0x149641,!![]);}catch(_0x49881d){return BPromise['reject'](_0x49881d);}return _0x491198['save']();};}function saveUpdates(_0x503c5,_0x1e6ce7){return function(_0x44b002){if(_0x44b002){return _0x44b002['update'](_0x503c5)[_0xcd58('0x1f')](function(_0x2a8681){return _0x2a8681;});}return null;};}function removeEntity(_0x5c241c,_0x18f953){return function(_0x1765d3){if(_0x1765d3){return _0x1765d3[_0xcd58('0x20')]()['then'](function(){_0x5c241c['status'](0xcc)[_0xcd58('0x18')]();});}};}function handleEntityNotFound(_0x3eae55,_0x135b0a){return function(_0x33feb3){if(!_0x33feb3){_0x3eae55[_0xcd58('0x16')](0x194);}return _0x33feb3;};}function handleError(_0x38a559,_0x2ea852){_0x2ea852=_0x2ea852||0x1f4;return function(_0x50f8a7){logger['error'](_0x50f8a7[_0xcd58('0x21')]);if(_0x50f8a7[_0xcd58('0x22')]){delete _0x50f8a7['name'];}_0x38a559[_0xcd58('0x17')](_0x2ea852)['send'](_0x50f8a7);};}exports[_0xcd58('0x23')]=function(_0x2ec6b1,_0x75bb8e){var _0x1784ff={},_0x2b64b8={},_0x30cf55={'count':0x0,'rows':[]};var _0x52b205=_[_0xcd58('0x24')](db['CmHopperFinal'][_0xcd58('0x25')],function(_0x5e1b62){return{'name':_0x5e1b62[_0xcd58('0x26')],'type':_0x5e1b62['type'][_0xcd58('0x27')]};});_0x2b64b8['model']=_[_0xcd58('0x24')](_0x52b205,_0xcd58('0x22'));_0x2b64b8[_0xcd58('0x28')]=_[_0xcd58('0x29')](_0x2ec6b1['query']);_0x2b64b8[_0xcd58('0x2a')]=_['intersection'](_0x2b64b8[_0xcd58('0x2b')],_0x2b64b8[_0xcd58('0x28')]);_0x1784ff[_0xcd58('0x2c')]=_[_0xcd58('0x2d')](_0x2b64b8[_0xcd58('0x2b')],qs[_0xcd58('0x2e')](_0x2ec6b1['query']['fields']));_0x1784ff[_0xcd58('0x2c')]=_0x1784ff['attributes']['length']?_0x1784ff[_0xcd58('0x2c')]:_0x2b64b8[_0xcd58('0x2b')];if(!_0x2ec6b1[_0xcd58('0x28')][_0xcd58('0x2f')](_0xcd58('0x30'))){_0x1784ff[_0xcd58('0x1a')]=qs['limit'](_0x2ec6b1['query'][_0xcd58('0x1a')]);_0x1784ff[_0xcd58('0x31')]=qs[_0xcd58('0x31')](_0x2ec6b1['query'][_0xcd58('0x31')]);}_0x1784ff[_0xcd58('0x32')]=qs[_0xcd58('0x33')](_0x2ec6b1['query']['sort']);_0x1784ff[_0xcd58('0x34')]=qs[_0xcd58('0x2a')](_[_0xcd58('0x35')](_0x2ec6b1[_0xcd58('0x28')],_0x2b64b8[_0xcd58('0x2a')]),_0x52b205);if(_0x2ec6b1[_0xcd58('0x28')][_0xcd58('0x36')]){_0x1784ff[_0xcd58('0x34')]=_[_0xcd58('0x37')](_0x1784ff[_0xcd58('0x34')],{'$or':_[_0xcd58('0x24')](_0x52b205,function(_0x37e840){if(_0x37e840[_0xcd58('0x38')]!==_0xcd58('0x39')){var _0xc50333={};_0xc50333[_0x37e840[_0xcd58('0x22')]]={'$like':'%'+_0x2ec6b1[_0xcd58('0x28')][_0xcd58('0x36')]+'%'};return _0xc50333;}})});}_0x1784ff=_[_0xcd58('0x37')]({},_0x1784ff,_0x2ec6b1[_0xcd58('0x3a')]);var _0x32e7eb={'where':_0x1784ff['where']};return db[_0xcd58('0x3b')][_0xcd58('0x19')](_0x32e7eb)[_0xcd58('0x1f')](function(_0x5d774d){_0x30cf55[_0xcd58('0x19')]=_0x5d774d;if(_0x2ec6b1[_0xcd58('0x28')]['includeAll']){_0x1784ff[_0xcd58('0x3c')]=[{'all':!![]}];}return db['CmHopperFinal']['findAll'](_0x1784ff);})[_0xcd58('0x1f')](function(_0x4ca4b6){_0x30cf55['rows']=_0x4ca4b6;return _0x30cf55;})[_0xcd58('0x1f')](respondWithFilteredResult(_0x75bb8e,_0x1784ff))[_0xcd58('0x3d')](handleError(_0x75bb8e,null));};exports[_0xcd58('0x3e')]=function(_0x52e7b1,_0x50520b){var _0x257cee={'raw':!![],'where':{'id':_0x52e7b1[_0xcd58('0x3f')]['id']}},_0x55fdf9={};_0x55fdf9[_0xcd58('0x2b')]=_['keys'](db['CmHopperFinal'][_0xcd58('0x25')]);_0x55fdf9[_0xcd58('0x28')]=_[_0xcd58('0x29')](_0x52e7b1[_0xcd58('0x28')]);_0x55fdf9[_0xcd58('0x2a')]=_[_0xcd58('0x2d')](_0x55fdf9[_0xcd58('0x2b')],_0x55fdf9[_0xcd58('0x28')]);_0x257cee[_0xcd58('0x2c')]=_[_0xcd58('0x2d')](_0x55fdf9[_0xcd58('0x2b')],qs[_0xcd58('0x2e')](_0x52e7b1[_0xcd58('0x28')]['fields']));_0x257cee[_0xcd58('0x2c')]=_0x257cee[_0xcd58('0x2c')][_0xcd58('0x40')]?_0x257cee['attributes']:_0x55fdf9[_0xcd58('0x2b')];if(_0x52e7b1[_0xcd58('0x28')][_0xcd58('0x41')]){_0x257cee[_0xcd58('0x3c')]=[{'all':!![]}];}_0x257cee=_['merge']({},_0x257cee,_0x52e7b1[_0xcd58('0x3a')]);return db[_0xcd58('0x3b')][_0xcd58('0x42')](_0x257cee)[_0xcd58('0x1f')](handleEntityNotFound(_0x50520b,null))[_0xcd58('0x1f')](respondWithResult(_0x50520b,null))[_0xcd58('0x3d')](handleError(_0x50520b,null));};exports[_0xcd58('0x43')]=function(_0x18e993,_0x452e7e){return db[_0xcd58('0x3b')]['describe']()[_0xcd58('0x1f')](respondWithResult(_0x452e7e,null))[_0xcd58('0x3d')](handleError(_0x452e7e,null));};exports[_0xcd58('0x44')]=function(_0x1ead66,_0x2bd4c9){if(_0x1ead66[_0xcd58('0x45')][_0xcd58('0x46')]){delete _0x1ead66[_0xcd58('0x45')][_0xcd58('0x46')];}return db[_0xcd58('0x3b')][_0xcd58('0x42')]({'where':{'uniqueid':_0x1ead66[_0xcd58('0x3f')]['id']}})['then'](handleEntityNotFound(_0x2bd4c9,null))[_0xcd58('0x1f')](saveUpdates(_0x1ead66[_0xcd58('0x45')],null))['then'](respondWithResult(_0x2bd4c9,null))[_0xcd58('0x3d')](handleError(_0x2bd4c9,null));};exports[_0xcd58('0x47')]=function(_0x40665f,_0x160c39,_0x424cfb){return db[_0xcd58('0x3b')]['findAll']({'raw':![],'where':{'VoiceQueueId':_0x40665f['params']['id']},'attributes':[[db[_0xcd58('0x48')]['fn']('COUNT',db[_0xcd58('0x48')]['fn']('IF',db[_0xcd58('0x48')][_0xcd58('0x49')](_0xcd58('0x4a')))),'noSuchContacts'],[db['sequelize']['fn'](_0xcd58('0x4b'),db['sequelize']['fn']('IF',db['sequelize'][_0xcd58('0x49')](_0xcd58('0x4c')))),_0xcd58('0x4d')],[db[_0xcd58('0x48')]['fn']('COUNT',db[_0xcd58('0x48')]['fn']('IF',db['sequelize']['literal'](_0xcd58('0x4e')))),_0xcd58('0x4f')],[db['sequelize']['fn'](_0xcd58('0x4b'),db['sequelize']['fn']('IF',db[_0xcd58('0x48')][_0xcd58('0x49')](_0xcd58('0x50')))),_0xcd58('0x51')],[db[_0xcd58('0x48')]['fn'](_0xcd58('0x4b'),db[_0xcd58('0x48')]['fn']('IF',db[_0xcd58('0x48')][_0xcd58('0x49')](_0xcd58('0x52')))),_0xcd58('0x53')],[db[_0xcd58('0x48')]['fn']('COUNT',db[_0xcd58('0x48')]['fn']('IF',db['sequelize'][_0xcd58('0x49')](_0xcd58('0x54')))),_0xcd58('0x55')],[db[_0xcd58('0x48')]['fn']('COUNT',db[_0xcd58('0x48')]['fn']('IF',db[_0xcd58('0x48')][_0xcd58('0x49')](_0xcd58('0x56')))),'reCallContacts'],[db['sequelize']['fn'](_0xcd58('0x4b'),db[_0xcd58('0x48')]['fn']('IF',db[_0xcd58('0x48')][_0xcd58('0x49')](_0xcd58('0x57')))),_0xcd58('0x58')]]})[_0xcd58('0x1f')](handleEntityNotFound(_0x160c39,null))['then'](respondWithResult(_0x160c39,null))[_0xcd58('0x3d')](handleError(_0x160c39,null));};exports[_0xcd58('0x59')]=function(_0x98d9b,_0x6bc87e,_0x3a4699){return db[_0xcd58('0x3b')][_0xcd58('0x5a')]({'raw':![],'where':{'CampaignId':_0x98d9b[_0xcd58('0x3f')]['id']},'attributes':[[db[_0xcd58('0x48')]['fn'](_0xcd58('0x4b'),db[_0xcd58('0x48')]['fn']('IF',db[_0xcd58('0x48')][_0xcd58('0x49')](_0xcd58('0x4a')))),_0xcd58('0x5b')],[db[_0xcd58('0x48')]['fn'](_0xcd58('0x4b'),db['sequelize']['fn']('IF',db[_0xcd58('0x48')][_0xcd58('0x49')](_0xcd58('0x4c')))),_0xcd58('0x4d')],[db['sequelize']['fn'](_0xcd58('0x4b'),db[_0xcd58('0x48')]['fn']('IF',db[_0xcd58('0x48')][_0xcd58('0x49')](_0xcd58('0x4e')))),'busyContacts'],[db[_0xcd58('0x48')]['fn'](_0xcd58('0x4b'),db[_0xcd58('0x48')]['fn']('IF',db[_0xcd58('0x48')][_0xcd58('0x49')](_0xcd58('0x50')))),_0xcd58('0x51')],[db[_0xcd58('0x48')]['fn'](_0xcd58('0x4b'),db[_0xcd58('0x48')]['fn']('IF',db['sequelize']['literal'](_0xcd58('0x52')))),_0xcd58('0x53')],[db[_0xcd58('0x48')]['fn']('COUNT',db[_0xcd58('0x48')]['fn']('IF',db[_0xcd58('0x48')]['literal'](_0xcd58('0x54')))),_0xcd58('0x55')],[db[_0xcd58('0x48')]['fn'](_0xcd58('0x4b'),db[_0xcd58('0x48')]['fn']('IF',db[_0xcd58('0x48')][_0xcd58('0x49')](_0xcd58('0x56')))),'reCallContacts'],[db['sequelize']['fn'](_0xcd58('0x4b'),db['sequelize']['fn']('IF',db[_0xcd58('0x48')]['literal'](_0xcd58('0x57')))),_0xcd58('0x58')]]})[_0xcd58('0x1f')](handleEntityNotFound(_0x6bc87e,null))[_0xcd58('0x1f')](respondWithResult(_0x6bc87e,null))['catch'](handleError(_0x6bc87e,null));};exports[_0xcd58('0x5c')]=function(_0x22199f,_0x4e03b6,_0xa89f04){return db[_0xcd58('0x5d')][_0xcd58('0x42')]({'where':{'id':_0x22199f[_0xcd58('0x3f')]['id']}})['then'](handleEntityNotFound(_0x4e03b6,null))[_0xcd58('0x1f')](function(_0x62b41b){var _0xe10126;if(_0x62b41b){_0xe10126=squel[_0xcd58('0x5e')]()['into'](_0xcd58('0x5f'))['fromQuery']([_0xcd58('0x60'),_0xcd58('0x61'),_0xcd58('0x62'),_0xcd58('0x63'),_0xcd58('0x64'),'createdAt',_0xcd58('0x65')],squel[_0xcd58('0x66')]()['field'](_0xcd58('0x67'),'phone')[_0xcd58('0x68')](_0xcd58('0x69'),_0xcd58('0x61'))[_0xcd58('0x68')](_0xcd58('0x6a'),_0xcd58('0x62'))[_0xcd58('0x68')]('ANY_VALUE(ListId)',_0xcd58('0x63'))[_0xcd58('0x68')](_0xcd58('0x6b'),_0xcd58('0x64'))[_0xcd58('0x68')](_0xcd58('0x69'),_0xcd58('0x6c'))[_0xcd58('0x68')](_0xcd58('0x69'),_0xcd58('0x65'))[_0xcd58('0x6d')](_0xcd58('0x6e'))['where']('VoiceQueueId\x20=\x20?',_0x22199f[_0xcd58('0x3f')]['id'][_0xcd58('0x6f')]())[_0xcd58('0x34')](_0xcd58('0x70'),_0x22199f[_0xcd58('0x45')][_0xcd58('0x71')][_0xcd58('0x6f')]())['where'](_0xcd58('0x72'))[_0xcd58('0x34')]('calleridnum\x20NOT\x20IN\x20(?)',squel[_0xcd58('0x66')]()[_0xcd58('0x68')](_0xcd58('0x60'))[_0xcd58('0x6d')](_0xcd58('0x5f'))[_0xcd58('0x34')](_0xcd58('0x73'),_0x22199f[_0xcd58('0x3f')]['id'][_0xcd58('0x6f')]()))['where']('calleridnum\x20NOT\x20IN\x20(?)',squel[_0xcd58('0x66')]()['field']('calleridnum')[_0xcd58('0x6d')]('cm_hopper_final')[_0xcd58('0x34')](_0xcd58('0x73'),_0x22199f[_0xcd58('0x3f')]['id'][_0xcd58('0x6f')]())[_0xcd58('0x34')]('state\x20=\x204'))['group']('ContactId'))[_0xcd58('0x6f')]();return db[_0xcd58('0x48')]['query'](_0xe10126);}return[];})[_0xcd58('0x1f')](respondWithResult(_0x4e03b6,null))[_0xcd58('0x3d')](handleError(_0x4e03b6,null));};exports[_0xcd58('0x74')]=function(_0x5328e4,_0x5d812c,_0x17cad1){return db[_0xcd58('0x75')][_0xcd58('0x42')]({'where':{'id':_0x5328e4[_0xcd58('0x3f')]['id']}})['then'](handleEntityNotFound(_0x5d812c,null))[_0xcd58('0x1f')](function(_0x372c0a){var _0xfa8373;if(_0x372c0a){_0xfa8373=squel[_0xcd58('0x5e')]()['into']('cm_hopper')[_0xcd58('0x76')]([_0xcd58('0x60'),_0xcd58('0x61'),'ContactId',_0xcd58('0x63'),_0xcd58('0x77'),_0xcd58('0x6c'),_0xcd58('0x65')],squel[_0xcd58('0x66')]()[_0xcd58('0x68')](_0xcd58('0x67'),_0xcd58('0x60'))[_0xcd58('0x68')](_0xcd58('0x69'),'scheduledAt')[_0xcd58('0x68')](_0xcd58('0x6a'),_0xcd58('0x62'))[_0xcd58('0x68')](_0xcd58('0x78'),_0xcd58('0x63'))['field'](_0xcd58('0x79'),_0xcd58('0x77'))[_0xcd58('0x68')](_0xcd58('0x69'),_0xcd58('0x6c'))[_0xcd58('0x68')](_0xcd58('0x69'),_0xcd58('0x65'))[_0xcd58('0x6d')](_0xcd58('0x6e'))[_0xcd58('0x34')](_0xcd58('0x7a'),_0x5328e4[_0xcd58('0x3f')]['id'][_0xcd58('0x6f')]())[_0xcd58('0x34')](_0xcd58('0x70'),_0x5328e4['body']['state'][_0xcd58('0x6f')]())[_0xcd58('0x34')]('calleridnum\x20IS\x20NOT\x20NULL')[_0xcd58('0x34')](_0xcd58('0x7b'),squel[_0xcd58('0x66')]()[_0xcd58('0x68')](_0xcd58('0x60'))[_0xcd58('0x6d')](_0xcd58('0x5f'))[_0xcd58('0x34')](_0xcd58('0x7a'),_0x5328e4[_0xcd58('0x3f')]['id'][_0xcd58('0x6f')]()))[_0xcd58('0x34')]('calleridnum\x20NOT\x20IN\x20(?)',squel['select']()[_0xcd58('0x68')]('calleridnum')[_0xcd58('0x6d')](_0xcd58('0x6e'))[_0xcd58('0x34')]('CampaignId\x20=\x20?',_0x5328e4[_0xcd58('0x3f')]['id'][_0xcd58('0x6f')]())['where']('state\x20=\x204'))[_0xcd58('0x7c')](_0xcd58('0x62')))['toString']();return db[_0xcd58('0x48')][_0xcd58('0x28')](_0xfa8373);}return[];})[_0xcd58('0x1f')](respondWithResult(_0x5d812c,null))[_0xcd58('0x3d')](handleError(_0x5d812c,null));};exports[_0xcd58('0x7d')]=function(_0xa0115b,_0x3304f5,_0x2445f7){return db['CmHopper']['findOne']({'where':{'VoiceQueueId':_0xa0115b[_0xcd58('0x45')]['VoiceQueueId'],'CampaignId':_0xa0115b[_0xcd58('0x45')][_0xcd58('0x77')],'ContactId':_0xa0115b[_0xcd58('0x45')][_0xcd58('0x62')]}})[_0xcd58('0x1f')](handleEntityNotFound(_0x3304f5,null))[_0xcd58('0x1f')](function(_0x46fb7d){if(_0x46fb7d){return _0x46fb7d;}return null;})['then'](respondWithResult(_0x3304f5,null))[_0xcd58('0x3d')](handleError(_0x3304f5,null));};
\ No newline at end of file
+var _0xbf24=['end','sendStatus','error','stack','name','send','map','rawAttributes','fieldName','type','query','filters','intersection','model','attributes','fields','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','include','CmHopperFinal','findAll','rows','catch','show','params','keys','includeAll','find','describe','update','uniqueid','body','countContactsQueueCampaignHopperFinal','sequelize','COUNT','literal','`state`\x20=\x200,\x201,\x20null','noSuchContacts','noAnswerContacts','`state`\x20=\x205,\x201,\x20null','congestionContacts','`state`\x20=\x2010\x20,\x201,\x20null','dropContacts','`state`\x20=\x2011\x20,\x201,\x20null','`state`\x20=\x2022,\x201,\x20null','`state`\x20=\x2019,\x201,\x20null','answeringMachine','countContactsIvrCampaignHopperFinal','`state`\x20=\x203,\x201,\x20null','busyContacts','reCallContacts','moveContactsQueueCampaignHopperFinal','VoiceQueue','insert','into','cm_hopper','fromQuery','phone','scheduledAt','ContactId','ListId','VoiceQueueId','select','field','ANY_VALUE(calleridnum)','ANY_VALUE(ContactId)','ANY_VALUE(ListId)','ANY_VALUE(VoiceQueueId)','createdAt','NOW()','updatedAt','from','cm_hopper_final','VoiceQueueId\x20=\x20?','toString','state\x20=\x20?','state','calleridnum\x20IS\x20NOT\x20NULL','calleridnum\x20NOT\x20IN\x20(?)','state\x20=\x204','group','Campaign','ANY_VALUE(CampaignId)','CampaignId','CampaignId\x20=\x20?','calleridnum','eml-format','rimraf','zip-dir','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../config/license/hardware','api','../../config/license/util','../../mysqldb','status','json','offset','limit','Content-Range','reject','save','destroy','then'];(function(_0x16db8b,_0xca7d28){var _0x5ba017=function(_0x35b933){while(--_0x35b933){_0x16db8b['push'](_0x16db8b['shift']());}};_0x5ba017(++_0xca7d28);}(_0xbf24,0x155));var _0x4bf2=function(_0x515640,_0x27b10e){_0x515640=_0x515640-0x0;var _0x5328b=_0xbf24[_0x515640];return _0x5328b;};'use strict';var emlformat=require(_0x4bf2('0x0'));var rimraf=require(_0x4bf2('0x1'));var zipdir=require(_0x4bf2('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x4bf2('0x3'));var BPromise=require(_0x4bf2('0x4'));var Mustache=require(_0x4bf2('0x5'));var util=require(_0x4bf2('0x6'));var path=require('path');var sox=require(_0x4bf2('0x7'));var csv=require(_0x4bf2('0x8'));var ejs=require(_0x4bf2('0x9'));var fs=require('fs');var fs_extra=require(_0x4bf2('0xa'));var _=require(_0x4bf2('0xb'));var squel=require(_0x4bf2('0xc'));var crypto=require('crypto');var jsforce=require(_0x4bf2('0xd'));var deskjs=require(_0x4bf2('0xe'));var toCsv=require(_0x4bf2('0x8'));var querystring=require(_0x4bf2('0xf'));var Papa=require('papaparse');var Redis=require(_0x4bf2('0x10'));var authService=require(_0x4bf2('0x11'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x4bf2('0x12'));var logger=require('../../config/logger')(_0x4bf2('0x13'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x4bf2('0x14'));var db=require(_0x4bf2('0x15'))['db'];function respondWithStatusCode(_0x5d5168,_0x238175){_0x238175=_0x238175||0xcc;return function(_0x57e9fa){if(_0x57e9fa){return _0x5d5168['sendStatus'](_0x238175);}return _0x5d5168['status'](_0x238175)['end']();};}function respondWithResult(_0x21f55a,_0x589d47){_0x589d47=_0x589d47||0xc8;return function(_0x5cc0f2){if(_0x5cc0f2){return _0x21f55a[_0x4bf2('0x16')](_0x589d47)[_0x4bf2('0x17')](_0x5cc0f2);}};}function respondWithFilteredResult(_0x5e7c5c,_0x13ea4f){return function(_0x453449){if(_0x453449){var _0x591dd4=_0x453449['count'],_0x331404=_0x13ea4f[_0x4bf2('0x18')],_0x37733e=_0x13ea4f['offset']+_0x13ea4f[_0x4bf2('0x19')],_0x392c64;if(_0x37733e>=_0x591dd4){_0x37733e=_0x591dd4;_0x392c64=0xc8;}else{_0x392c64=0xce;}_0x5e7c5c['status'](_0x392c64);return _0x5e7c5c['set'](_0x4bf2('0x1a'),_0x331404+'-'+_0x37733e+'/'+_0x591dd4)[_0x4bf2('0x17')](_0x453449);}return null;};}function patchUpdates(_0x4752ad){return function(_0x414417){try{jsonpatch['apply'](_0x414417,_0x4752ad,!![]);}catch(_0x3f4c44){return BPromise[_0x4bf2('0x1b')](_0x3f4c44);}return _0x414417[_0x4bf2('0x1c')]();};}function saveUpdates(_0x4ff45f,_0x5524d0){return function(_0x50e59b){if(_0x50e59b){return _0x50e59b['update'](_0x4ff45f)['then'](function(_0x1e340a){return _0x1e340a;});}return null;};}function removeEntity(_0x8172fd,_0x5d4d6f){return function(_0x23fa0d){if(_0x23fa0d){return _0x23fa0d[_0x4bf2('0x1d')]()[_0x4bf2('0x1e')](function(){_0x8172fd[_0x4bf2('0x16')](0xcc)[_0x4bf2('0x1f')]();});}};}function handleEntityNotFound(_0x19ae5a,_0x46e552){return function(_0x1cc435){if(!_0x1cc435){_0x19ae5a[_0x4bf2('0x20')](0x194);}return _0x1cc435;};}function handleError(_0x2eb5e4,_0x2c5503){_0x2c5503=_0x2c5503||0x1f4;return function(_0xc942a5){logger[_0x4bf2('0x21')](_0xc942a5[_0x4bf2('0x22')]);if(_0xc942a5[_0x4bf2('0x23')]){delete _0xc942a5[_0x4bf2('0x23')];}_0x2eb5e4['status'](_0x2c5503)[_0x4bf2('0x24')](_0xc942a5);};}exports['index']=function(_0x3882fc,_0xf4135f){var _0x23c55c={},_0x48cfb9={},_0x5b8153={'count':0x0,'rows':[]};var _0xf156a9=_[_0x4bf2('0x25')](db['CmHopperFinal'][_0x4bf2('0x26')],function(_0x4268b2){return{'name':_0x4268b2[_0x4bf2('0x27')],'type':_0x4268b2[_0x4bf2('0x28')]['key']};});_0x48cfb9['model']=_[_0x4bf2('0x25')](_0xf156a9,'name');_0x48cfb9[_0x4bf2('0x29')]=_['keys'](_0x3882fc['query']);_0x48cfb9[_0x4bf2('0x2a')]=_[_0x4bf2('0x2b')](_0x48cfb9[_0x4bf2('0x2c')],_0x48cfb9[_0x4bf2('0x29')]);_0x23c55c[_0x4bf2('0x2d')]=_[_0x4bf2('0x2b')](_0x48cfb9[_0x4bf2('0x2c')],qs[_0x4bf2('0x2e')](_0x3882fc['query'][_0x4bf2('0x2e')]));_0x23c55c[_0x4bf2('0x2d')]=_0x23c55c[_0x4bf2('0x2d')]['length']?_0x23c55c[_0x4bf2('0x2d')]:_0x48cfb9['model'];if(!_0x3882fc[_0x4bf2('0x29')][_0x4bf2('0x2f')](_0x4bf2('0x30'))){_0x23c55c[_0x4bf2('0x19')]=qs[_0x4bf2('0x19')](_0x3882fc['query']['limit']);_0x23c55c['offset']=qs[_0x4bf2('0x18')](_0x3882fc[_0x4bf2('0x29')][_0x4bf2('0x18')]);}_0x23c55c[_0x4bf2('0x31')]=qs[_0x4bf2('0x32')](_0x3882fc[_0x4bf2('0x29')][_0x4bf2('0x32')]);_0x23c55c[_0x4bf2('0x33')]=qs[_0x4bf2('0x2a')](_['pick'](_0x3882fc[_0x4bf2('0x29')],_0x48cfb9[_0x4bf2('0x2a')]),_0xf156a9);if(_0x3882fc[_0x4bf2('0x29')][_0x4bf2('0x34')]){_0x23c55c[_0x4bf2('0x33')]=_[_0x4bf2('0x35')](_0x23c55c[_0x4bf2('0x33')],{'$or':_['map'](_0xf156a9,function(_0x57940e){if(_0x57940e[_0x4bf2('0x28')]!==_0x4bf2('0x36')){var _0x4984f4={};_0x4984f4[_0x57940e[_0x4bf2('0x23')]]={'$like':'%'+_0x3882fc[_0x4bf2('0x29')]['filter']+'%'};return _0x4984f4;}})});}_0x23c55c=_[_0x4bf2('0x35')]({},_0x23c55c,_0x3882fc[_0x4bf2('0x37')]);var _0x4c5c18={'where':_0x23c55c[_0x4bf2('0x33')]};return db['CmHopperFinal']['count'](_0x4c5c18)[_0x4bf2('0x1e')](function(_0x58e75b){_0x5b8153['count']=_0x58e75b;if(_0x3882fc['query']['includeAll']){_0x23c55c[_0x4bf2('0x38')]=[{'all':!![]}];}return db[_0x4bf2('0x39')][_0x4bf2('0x3a')](_0x23c55c);})[_0x4bf2('0x1e')](function(_0x224d67){_0x5b8153[_0x4bf2('0x3b')]=_0x224d67;return _0x5b8153;})[_0x4bf2('0x1e')](respondWithFilteredResult(_0xf4135f,_0x23c55c))[_0x4bf2('0x3c')](handleError(_0xf4135f,null));};exports[_0x4bf2('0x3d')]=function(_0x4daab2,_0x55fe28){var _0x398f2f={'raw':!![],'where':{'id':_0x4daab2[_0x4bf2('0x3e')]['id']}},_0x508041={};_0x508041[_0x4bf2('0x2c')]=_[_0x4bf2('0x3f')](db[_0x4bf2('0x39')][_0x4bf2('0x26')]);_0x508041[_0x4bf2('0x29')]=_['keys'](_0x4daab2[_0x4bf2('0x29')]);_0x508041['filters']=_[_0x4bf2('0x2b')](_0x508041[_0x4bf2('0x2c')],_0x508041[_0x4bf2('0x29')]);_0x398f2f[_0x4bf2('0x2d')]=_[_0x4bf2('0x2b')](_0x508041[_0x4bf2('0x2c')],qs[_0x4bf2('0x2e')](_0x4daab2['query']['fields']));_0x398f2f['attributes']=_0x398f2f[_0x4bf2('0x2d')]['length']?_0x398f2f[_0x4bf2('0x2d')]:_0x508041[_0x4bf2('0x2c')];if(_0x4daab2[_0x4bf2('0x29')][_0x4bf2('0x40')]){_0x398f2f[_0x4bf2('0x38')]=[{'all':!![]}];}_0x398f2f=_[_0x4bf2('0x35')]({},_0x398f2f,_0x4daab2[_0x4bf2('0x37')]);return db[_0x4bf2('0x39')][_0x4bf2('0x41')](_0x398f2f)[_0x4bf2('0x1e')](handleEntityNotFound(_0x55fe28,null))[_0x4bf2('0x1e')](respondWithResult(_0x55fe28,null))[_0x4bf2('0x3c')](handleError(_0x55fe28,null));};exports[_0x4bf2('0x42')]=function(_0x4f472e,_0x4ac56d){return db['CmHopperFinal'][_0x4bf2('0x42')]()[_0x4bf2('0x1e')](respondWithResult(_0x4ac56d,null))[_0x4bf2('0x3c')](handleError(_0x4ac56d,null));};exports[_0x4bf2('0x43')]=function(_0x3eaaa4,_0x1c36cc){if(_0x3eaaa4['body'][_0x4bf2('0x44')]){delete _0x3eaaa4['body']['uniqueid'];}return db[_0x4bf2('0x39')][_0x4bf2('0x41')]({'where':{'uniqueid':_0x3eaaa4[_0x4bf2('0x3e')]['id']}})[_0x4bf2('0x1e')](handleEntityNotFound(_0x1c36cc,null))[_0x4bf2('0x1e')](saveUpdates(_0x3eaaa4[_0x4bf2('0x45')],null))[_0x4bf2('0x1e')](respondWithResult(_0x1c36cc,null))[_0x4bf2('0x3c')](handleError(_0x1c36cc,null));};exports[_0x4bf2('0x46')]=function(_0x382949,_0x499b72,_0xe4dd94){return db[_0x4bf2('0x39')][_0x4bf2('0x3a')]({'raw':![],'where':{'VoiceQueueId':_0x382949[_0x4bf2('0x3e')]['id']},'attributes':[[db[_0x4bf2('0x47')]['fn'](_0x4bf2('0x48'),db['sequelize']['fn']('IF',db['sequelize'][_0x4bf2('0x49')](_0x4bf2('0x4a')))),_0x4bf2('0x4b')],[db['sequelize']['fn']('COUNT',db[_0x4bf2('0x47')]['fn']('IF',db['sequelize'][_0x4bf2('0x49')]('`state`\x20=\x203,\x201,\x20null'))),_0x4bf2('0x4c')],[db[_0x4bf2('0x47')]['fn'](_0x4bf2('0x48'),db['sequelize']['fn']('IF',db[_0x4bf2('0x47')][_0x4bf2('0x49')](_0x4bf2('0x4d')))),'busyContacts'],[db[_0x4bf2('0x47')]['fn'](_0x4bf2('0x48'),db[_0x4bf2('0x47')]['fn']('IF',db[_0x4bf2('0x47')][_0x4bf2('0x49')]('`state`\x20=\x208,\x201,\x20null'))),_0x4bf2('0x4e')],[db[_0x4bf2('0x47')]['fn']('COUNT',db[_0x4bf2('0x47')]['fn']('IF',db[_0x4bf2('0x47')]['literal'](_0x4bf2('0x4f')))),_0x4bf2('0x50')],[db[_0x4bf2('0x47')]['fn'](_0x4bf2('0x48'),db[_0x4bf2('0x47')]['fn']('IF',db[_0x4bf2('0x47')][_0x4bf2('0x49')](_0x4bf2('0x51')))),'abandonedContacts'],[db[_0x4bf2('0x47')]['fn']('COUNT',db['sequelize']['fn']('IF',db[_0x4bf2('0x47')][_0x4bf2('0x49')](_0x4bf2('0x52')))),'reCallContacts'],[db[_0x4bf2('0x47')]['fn'](_0x4bf2('0x48'),db[_0x4bf2('0x47')]['fn']('IF',db[_0x4bf2('0x47')][_0x4bf2('0x49')](_0x4bf2('0x53')))),_0x4bf2('0x54')]]})[_0x4bf2('0x1e')](handleEntityNotFound(_0x499b72,null))[_0x4bf2('0x1e')](respondWithResult(_0x499b72,null))[_0x4bf2('0x3c')](handleError(_0x499b72,null));};exports[_0x4bf2('0x55')]=function(_0x1c4b95,_0x865326,_0x9d970e){return db['CmHopperFinal'][_0x4bf2('0x3a')]({'raw':![],'where':{'CampaignId':_0x1c4b95[_0x4bf2('0x3e')]['id']},'attributes':[[db[_0x4bf2('0x47')]['fn'](_0x4bf2('0x48'),db['sequelize']['fn']('IF',db[_0x4bf2('0x47')][_0x4bf2('0x49')]('`state`\x20=\x200,\x201,\x20null'))),_0x4bf2('0x4b')],[db[_0x4bf2('0x47')]['fn'](_0x4bf2('0x48'),db[_0x4bf2('0x47')]['fn']('IF',db[_0x4bf2('0x47')]['literal'](_0x4bf2('0x56')))),_0x4bf2('0x4c')],[db['sequelize']['fn'](_0x4bf2('0x48'),db[_0x4bf2('0x47')]['fn']('IF',db[_0x4bf2('0x47')][_0x4bf2('0x49')](_0x4bf2('0x4d')))),_0x4bf2('0x57')],[db[_0x4bf2('0x47')]['fn'](_0x4bf2('0x48'),db[_0x4bf2('0x47')]['fn']('IF',db[_0x4bf2('0x47')][_0x4bf2('0x49')]('`state`\x20=\x208,\x201,\x20null'))),_0x4bf2('0x4e')],[db[_0x4bf2('0x47')]['fn']('COUNT',db[_0x4bf2('0x47')]['fn']('IF',db[_0x4bf2('0x47')][_0x4bf2('0x49')](_0x4bf2('0x4f')))),'dropContacts'],[db['sequelize']['fn'](_0x4bf2('0x48'),db['sequelize']['fn']('IF',db[_0x4bf2('0x47')][_0x4bf2('0x49')]('`state`\x20=\x2011\x20,\x201,\x20null'))),'abandonedContacts'],[db['sequelize']['fn'](_0x4bf2('0x48'),db[_0x4bf2('0x47')]['fn']('IF',db[_0x4bf2('0x47')][_0x4bf2('0x49')](_0x4bf2('0x52')))),_0x4bf2('0x58')],[db['sequelize']['fn'](_0x4bf2('0x48'),db['sequelize']['fn']('IF',db['sequelize'][_0x4bf2('0x49')](_0x4bf2('0x53')))),_0x4bf2('0x54')]]})[_0x4bf2('0x1e')](handleEntityNotFound(_0x865326,null))[_0x4bf2('0x1e')](respondWithResult(_0x865326,null))[_0x4bf2('0x3c')](handleError(_0x865326,null));};exports[_0x4bf2('0x59')]=function(_0x35c204,_0x4d9df6,_0x480181){return db[_0x4bf2('0x5a')][_0x4bf2('0x41')]({'where':{'id':_0x35c204[_0x4bf2('0x3e')]['id']}})[_0x4bf2('0x1e')](handleEntityNotFound(_0x4d9df6,null))[_0x4bf2('0x1e')](function(_0x32d9e9){var _0x186047;if(_0x32d9e9){_0x186047=squel[_0x4bf2('0x5b')]()[_0x4bf2('0x5c')](_0x4bf2('0x5d'))[_0x4bf2('0x5e')]([_0x4bf2('0x5f'),_0x4bf2('0x60'),_0x4bf2('0x61'),_0x4bf2('0x62'),_0x4bf2('0x63'),'createdAt','updatedAt'],squel[_0x4bf2('0x64')]()[_0x4bf2('0x65')](_0x4bf2('0x66'),_0x4bf2('0x5f'))[_0x4bf2('0x65')]('NOW()',_0x4bf2('0x60'))[_0x4bf2('0x65')](_0x4bf2('0x67'),'ContactId')['field'](_0x4bf2('0x68'),_0x4bf2('0x62'))[_0x4bf2('0x65')](_0x4bf2('0x69'),_0x4bf2('0x63'))[_0x4bf2('0x65')]('NOW()',_0x4bf2('0x6a'))[_0x4bf2('0x65')](_0x4bf2('0x6b'),_0x4bf2('0x6c'))[_0x4bf2('0x6d')](_0x4bf2('0x6e'))[_0x4bf2('0x33')](_0x4bf2('0x6f'),_0x35c204[_0x4bf2('0x3e')]['id'][_0x4bf2('0x70')]())[_0x4bf2('0x33')](_0x4bf2('0x71'),_0x35c204[_0x4bf2('0x45')][_0x4bf2('0x72')][_0x4bf2('0x70')]())[_0x4bf2('0x33')](_0x4bf2('0x73'))['where'](_0x4bf2('0x74'),squel['select']()[_0x4bf2('0x65')](_0x4bf2('0x5f'))[_0x4bf2('0x6d')]('cm_hopper')[_0x4bf2('0x33')](_0x4bf2('0x6f'),_0x35c204[_0x4bf2('0x3e')]['id'][_0x4bf2('0x70')]()))[_0x4bf2('0x33')](_0x4bf2('0x74'),squel[_0x4bf2('0x64')]()[_0x4bf2('0x65')]('calleridnum')[_0x4bf2('0x6d')](_0x4bf2('0x6e'))['where'](_0x4bf2('0x6f'),_0x35c204[_0x4bf2('0x3e')]['id'][_0x4bf2('0x70')]())[_0x4bf2('0x33')](_0x4bf2('0x75')))[_0x4bf2('0x76')](_0x4bf2('0x61')))[_0x4bf2('0x70')]();return db[_0x4bf2('0x47')][_0x4bf2('0x29')](_0x186047);}return[];})[_0x4bf2('0x1e')](respondWithResult(_0x4d9df6,null))[_0x4bf2('0x3c')](handleError(_0x4d9df6,null));};exports['moveContactsIvrCampaignHopperFinal']=function(_0x59a7b0,_0x4c8106,_0x28d1d9){return db[_0x4bf2('0x77')][_0x4bf2('0x41')]({'where':{'id':_0x59a7b0['params']['id']}})[_0x4bf2('0x1e')](handleEntityNotFound(_0x4c8106,null))['then'](function(_0x132022){var _0x25490d;if(_0x132022){_0x25490d=squel[_0x4bf2('0x5b')]()[_0x4bf2('0x5c')](_0x4bf2('0x5d'))['fromQuery']([_0x4bf2('0x5f'),'scheduledAt',_0x4bf2('0x61'),_0x4bf2('0x62'),'CampaignId',_0x4bf2('0x6a'),'updatedAt'],squel['select']()[_0x4bf2('0x65')](_0x4bf2('0x66'),_0x4bf2('0x5f'))[_0x4bf2('0x65')](_0x4bf2('0x6b'),_0x4bf2('0x60'))['field']('ANY_VALUE(ContactId)',_0x4bf2('0x61'))['field'](_0x4bf2('0x68'),_0x4bf2('0x62'))[_0x4bf2('0x65')](_0x4bf2('0x78'),_0x4bf2('0x79'))['field'](_0x4bf2('0x6b'),_0x4bf2('0x6a'))['field'](_0x4bf2('0x6b'),_0x4bf2('0x6c'))[_0x4bf2('0x6d')](_0x4bf2('0x6e'))[_0x4bf2('0x33')](_0x4bf2('0x7a'),_0x59a7b0[_0x4bf2('0x3e')]['id'][_0x4bf2('0x70')]())[_0x4bf2('0x33')](_0x4bf2('0x71'),_0x59a7b0['body'][_0x4bf2('0x72')][_0x4bf2('0x70')]())[_0x4bf2('0x33')](_0x4bf2('0x73'))[_0x4bf2('0x33')](_0x4bf2('0x74'),squel[_0x4bf2('0x64')]()[_0x4bf2('0x65')](_0x4bf2('0x5f'))[_0x4bf2('0x6d')](_0x4bf2('0x5d'))['where'](_0x4bf2('0x7a'),_0x59a7b0[_0x4bf2('0x3e')]['id'][_0x4bf2('0x70')]()))['where'](_0x4bf2('0x74'),squel[_0x4bf2('0x64')]()['field'](_0x4bf2('0x7b'))[_0x4bf2('0x6d')](_0x4bf2('0x6e'))[_0x4bf2('0x33')](_0x4bf2('0x7a'),_0x59a7b0['params']['id'][_0x4bf2('0x70')]())[_0x4bf2('0x33')]('state\x20=\x204'))[_0x4bf2('0x76')](_0x4bf2('0x61')))[_0x4bf2('0x70')]();return db['sequelize']['query'](_0x25490d);}return[];})[_0x4bf2('0x1e')](respondWithResult(_0x4c8106,null))['catch'](handleError(_0x4c8106,null));};exports['checkContactHopper']=function(_0x16c797,_0x411ea7,_0x4ce469){return db['CmHopper']['findOne']({'where':{'VoiceQueueId':_0x16c797[_0x4bf2('0x45')][_0x4bf2('0x63')],'CampaignId':_0x16c797['body']['CampaignId'],'ContactId':_0x16c797[_0x4bf2('0x45')]['ContactId']}})['then'](handleEntityNotFound(_0x411ea7,null))[_0x4bf2('0x1e')](function(_0x3fbfb4){if(_0x3fbfb4){return _0x3fbfb4;}return null;})[_0x4bf2('0x1e')](respondWithResult(_0x411ea7,null))[_0x4bf2('0x3c')](handleError(_0x411ea7,null));};
\ No newline at end of file