9fab21ea2d7a619c61a9816669d56b42aeaeb2f1
[motion2.git] / server / api / cmHopperFinal / cmHopperFinal.controller.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 _0x0b82=['NOW()','scheduledAt','ANY_VALUE(ContactId)','ListId','ANY_VALUE(VoiceQueueId)','from','cm_hopper_final','VoiceQueueId\x20=\x20?','toString','state\x20=\x20?','calleridnum\x20IS\x20NOT\x20NULL','calleridnum\x20NOT\x20IN\x20(?)','calleridnum','state\x20=\x204','group','moveContactsIvrCampaignHopperFinal','Campaign','CampaignId','ANY_VALUE(ListId)','ANY_VALUE(CampaignId)','CampaignId\x20=\x20?','state','checkContactHopper','findOne','html-pdf','rimraf','fast-json-patch','moment','bluebird','mustache','util','to-csv','lodash','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status','end','count','offset','limit','set','Content-Range','apply','reject','save','then','destroy','error','stack','name','map','CmHopperFinal','rawAttributes','fieldName','type','key','model','query','attributes','intersection','fields','length','nolimit','where','filters','pick','filter','VIRTUAL','merge','options','includeAll','include','rows','catch','params','keys','find','describe','body','uniqueid','countContactsQueueCampaignHopperFinal','findAll','sequelize','COUNT','`state`\x20=\x200,\x201,\x20null','`state`\x20=\x203,\x201,\x20null','`state`\x20=\x205,\x201,\x20null','`state`\x20=\x208,\x201,\x20null','`state`\x20=\x2010\x20,\x201,\x20null','dropContacts','literal','`state`\x20=\x2011\x20,\x201,\x20null','abandonedContacts','`state`\x20=\x2022,\x201,\x20null','reCallContacts','`state`\x20=\x2019,\x201,\x20null','answeringMachine','countContactsIvrCampaignHopperFinal','noSuchContacts','noAnswerContacts','moveContactsQueueCampaignHopperFinal','insert','into','cm_hopper','fromQuery','ContactId','createdAt','updatedAt','select','field','ANY_VALUE(calleridnum)','phone'];(function(_0x1f1dbe,_0x143082){var _0x265cd6=function(_0x5ddbeb){while(--_0x5ddbeb){_0x1f1dbe['push'](_0x1f1dbe['shift']());}};_0x265cd6(++_0x143082);}(_0x0b82,0x189));var _0x20b8=function(_0x133284,_0x5c22e5){_0x133284=_0x133284-0x0;var _0x3fa702=_0x0b82[_0x133284];return _0x3fa702;};'use strict';var pdf=require(_0x20b8('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x20b8('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x20b8('0x2'));var rp=require('request-promise');var moment=require(_0x20b8('0x3'));var BPromise=require(_0x20b8('0x4'));var Mustache=require(_0x20b8('0x5'));var util=require(_0x20b8('0x6'));var path=require('path');var sox=require('sox');var csv=require(_0x20b8('0x7'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x20b8('0x8'));var squel=require('squel');var crypto=require(_0x20b8('0x9'));var jsforce=require(_0x20b8('0xa'));var deskjs=require(_0x20b8('0xb'));var toCsv=require(_0x20b8('0x7'));var querystring=require(_0x20b8('0xc'));var Papa=require(_0x20b8('0xd'));var Redis=require('ioredis');var authService=require(_0x20b8('0xe'));var qs=require(_0x20b8('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x20b8('0x10'));var logger=require(_0x20b8('0x11'))(_0x20b8('0x12'));var utils=require('../../config/utils');var config=require(_0x20b8('0x13'));var db=require(_0x20b8('0x14'))['db'];function respondWithStatusCode(_0x3e9e09,_0x548092){_0x548092=_0x548092||0xcc;return function(_0x4c9c5c){if(_0x4c9c5c){return _0x3e9e09[_0x20b8('0x15')](_0x548092);}return _0x3e9e09[_0x20b8('0x16')](_0x548092)[_0x20b8('0x17')]();};}function respondWithResult(_0x40c8cc,_0xff50e0){_0xff50e0=_0xff50e0||0xc8;return function(_0x195ae6){if(_0x195ae6){return _0x40c8cc['status'](_0xff50e0)['json'](_0x195ae6);}};}function respondWithFilteredResult(_0xc40ec5,_0x23620f){return function(_0x211cc9){if(_0x211cc9){var _0x501d71=_0x211cc9[_0x20b8('0x18')],_0x303dba=_0x23620f[_0x20b8('0x19')],_0x3e78fb=_0x23620f['offset']+_0x23620f[_0x20b8('0x1a')],_0x5bb855;if(_0x3e78fb>=_0x501d71){_0x3e78fb=_0x501d71;_0x5bb855=0xc8;}else{_0x5bb855=0xce;}_0xc40ec5[_0x20b8('0x16')](_0x5bb855);return _0xc40ec5[_0x20b8('0x1b')](_0x20b8('0x1c'),_0x303dba+'-'+_0x3e78fb+'/'+_0x501d71)['json'](_0x211cc9);}return null;};}function patchUpdates(_0x4a2df8){return function(_0x43ce98){try{jsonpatch[_0x20b8('0x1d')](_0x43ce98,_0x4a2df8,!![]);}catch(_0x119668){return BPromise[_0x20b8('0x1e')](_0x119668);}return _0x43ce98[_0x20b8('0x1f')]();};}function saveUpdates(_0x364b26,_0x4ed396){return function(_0x112fd1){if(_0x112fd1){return _0x112fd1['update'](_0x364b26)[_0x20b8('0x20')](function(_0x25234e){return _0x25234e;});}return null;};}function removeEntity(_0x1ba80f,_0x2dd478){return function(_0x51fb75){if(_0x51fb75){return _0x51fb75[_0x20b8('0x21')]()[_0x20b8('0x20')](function(){_0x1ba80f[_0x20b8('0x16')](0xcc)[_0x20b8('0x17')]();});}};}function handleEntityNotFound(_0x7fdba6,_0x25524a){return function(_0x41d899){if(!_0x41d899){_0x7fdba6['sendStatus'](0x194);}return _0x41d899;};}function handleError(_0x5e828e,_0x38a03b){_0x38a03b=_0x38a03b||0x1f4;return function(_0x595e46){logger[_0x20b8('0x22')](_0x595e46[_0x20b8('0x23')]);if(_0x595e46[_0x20b8('0x24')]){delete _0x595e46[_0x20b8('0x24')];}_0x5e828e[_0x20b8('0x16')](_0x38a03b)['send'](_0x595e46);};}exports['index']=function(_0x34972d,_0x448faf){var _0x45aec5={},_0x3c7936={},_0x3d1fb5={'count':0x0,'rows':[]};var _0x2a2df9=_[_0x20b8('0x25')](db[_0x20b8('0x26')][_0x20b8('0x27')],function(_0x347ddd){return{'name':_0x347ddd[_0x20b8('0x28')],'type':_0x347ddd[_0x20b8('0x29')][_0x20b8('0x2a')]};});_0x3c7936[_0x20b8('0x2b')]=_[_0x20b8('0x25')](_0x2a2df9,'name');_0x3c7936[_0x20b8('0x2c')]=_['keys'](_0x34972d['query']);_0x3c7936['filters']=_['intersection'](_0x3c7936[_0x20b8('0x2b')],_0x3c7936['query']);_0x45aec5[_0x20b8('0x2d')]=_[_0x20b8('0x2e')](_0x3c7936[_0x20b8('0x2b')],qs['fields'](_0x34972d[_0x20b8('0x2c')][_0x20b8('0x2f')]));_0x45aec5[_0x20b8('0x2d')]=_0x45aec5[_0x20b8('0x2d')][_0x20b8('0x30')]?_0x45aec5['attributes']:_0x3c7936['model'];if(!_0x34972d['query']['hasOwnProperty'](_0x20b8('0x31'))){_0x45aec5[_0x20b8('0x1a')]=qs[_0x20b8('0x1a')](_0x34972d[_0x20b8('0x2c')]['limit']);_0x45aec5[_0x20b8('0x19')]=qs[_0x20b8('0x19')](_0x34972d[_0x20b8('0x2c')][_0x20b8('0x19')]);}_0x45aec5['order']=qs['sort'](_0x34972d[_0x20b8('0x2c')]['sort']);_0x45aec5[_0x20b8('0x32')]=qs[_0x20b8('0x33')](_[_0x20b8('0x34')](_0x34972d[_0x20b8('0x2c')],_0x3c7936[_0x20b8('0x33')]));if(_0x34972d[_0x20b8('0x2c')][_0x20b8('0x35')]){_0x45aec5[_0x20b8('0x32')]=_['merge'](_0x45aec5[_0x20b8('0x32')],{'$or':_[_0x20b8('0x25')](_0x2a2df9,function(_0x6d7a61){if(_0x6d7a61[_0x20b8('0x29')]!==_0x20b8('0x36')){var _0x29f5bc={};_0x29f5bc[_0x6d7a61[_0x20b8('0x24')]]={'$like':'%'+_0x34972d[_0x20b8('0x2c')]['filter']+'%'};return _0x29f5bc;}})});}_0x45aec5=_[_0x20b8('0x37')]({},_0x45aec5,_0x34972d[_0x20b8('0x38')]);var _0x1bde9a={'where':_0x45aec5[_0x20b8('0x32')]};return db[_0x20b8('0x26')][_0x20b8('0x18')](_0x1bde9a)[_0x20b8('0x20')](function(_0x106d92){_0x3d1fb5[_0x20b8('0x18')]=_0x106d92;if(_0x34972d[_0x20b8('0x2c')][_0x20b8('0x39')]){_0x45aec5[_0x20b8('0x3a')]=[{'all':!![]}];}return db[_0x20b8('0x26')]['findAll'](_0x45aec5);})[_0x20b8('0x20')](function(_0xa74652){_0x3d1fb5[_0x20b8('0x3b')]=_0xa74652;return _0x3d1fb5;})[_0x20b8('0x20')](respondWithFilteredResult(_0x448faf,_0x45aec5))[_0x20b8('0x3c')](handleError(_0x448faf,null));};exports['show']=function(_0x199607,_0x3360ad){var _0x2f44b1={'raw':!![],'where':{'id':_0x199607[_0x20b8('0x3d')]['id']}},_0x2f6f96={};_0x2f6f96[_0x20b8('0x2b')]=_[_0x20b8('0x3e')](db[_0x20b8('0x26')][_0x20b8('0x27')]);_0x2f6f96[_0x20b8('0x2c')]=_['keys'](_0x199607[_0x20b8('0x2c')]);_0x2f6f96[_0x20b8('0x33')]=_[_0x20b8('0x2e')](_0x2f6f96['model'],_0x2f6f96[_0x20b8('0x2c')]);_0x2f44b1[_0x20b8('0x2d')]=_['intersection'](_0x2f6f96[_0x20b8('0x2b')],qs[_0x20b8('0x2f')](_0x199607[_0x20b8('0x2c')][_0x20b8('0x2f')]));_0x2f44b1[_0x20b8('0x2d')]=_0x2f44b1[_0x20b8('0x2d')][_0x20b8('0x30')]?_0x2f44b1[_0x20b8('0x2d')]:_0x2f6f96[_0x20b8('0x2b')];if(_0x199607[_0x20b8('0x2c')][_0x20b8('0x39')]){_0x2f44b1[_0x20b8('0x3a')]=[{'all':!![]}];}_0x2f44b1=_[_0x20b8('0x37')]({},_0x2f44b1,_0x199607[_0x20b8('0x38')]);return db['CmHopperFinal'][_0x20b8('0x3f')](_0x2f44b1)[_0x20b8('0x20')](handleEntityNotFound(_0x3360ad,null))[_0x20b8('0x20')](respondWithResult(_0x3360ad,null))['catch'](handleError(_0x3360ad,null));};exports['describe']=function(_0x3b7aa1,_0x1aa2e8){return db[_0x20b8('0x26')][_0x20b8('0x40')]()[_0x20b8('0x20')](respondWithResult(_0x1aa2e8,null))['catch'](handleError(_0x1aa2e8,null));};exports['update']=function(_0x4221ff,_0x50512c){if(_0x4221ff[_0x20b8('0x41')][_0x20b8('0x42')]){delete _0x4221ff['body'][_0x20b8('0x42')];}return db[_0x20b8('0x26')][_0x20b8('0x3f')]({'where':{'uniqueid':_0x4221ff[_0x20b8('0x3d')]['id']}})[_0x20b8('0x20')](handleEntityNotFound(_0x50512c,null))[_0x20b8('0x20')](saveUpdates(_0x4221ff['body'],null))[_0x20b8('0x20')](respondWithResult(_0x50512c,null))['catch'](handleError(_0x50512c,null));};exports[_0x20b8('0x43')]=function(_0x110ff1,_0x335730,_0x291766){return db['CmHopperFinal'][_0x20b8('0x44')]({'raw':![],'where':{'VoiceQueueId':_0x110ff1[_0x20b8('0x3d')]['id']},'attributes':[[db[_0x20b8('0x45')]['fn'](_0x20b8('0x46'),db['sequelize']['fn']('IF',db[_0x20b8('0x45')]['literal'](_0x20b8('0x47')))),'noSuchContacts'],[db[_0x20b8('0x45')]['fn']('COUNT',db[_0x20b8('0x45')]['fn']('IF',db[_0x20b8('0x45')]['literal'](_0x20b8('0x48')))),'noAnswerContacts'],[db[_0x20b8('0x45')]['fn'](_0x20b8('0x46'),db[_0x20b8('0x45')]['fn']('IF',db[_0x20b8('0x45')]['literal'](_0x20b8('0x49')))),'busyContacts'],[db[_0x20b8('0x45')]['fn']('COUNT',db[_0x20b8('0x45')]['fn']('IF',db[_0x20b8('0x45')]['literal'](_0x20b8('0x4a')))),'congestionContacts'],[db[_0x20b8('0x45')]['fn'](_0x20b8('0x46'),db['sequelize']['fn']('IF',db[_0x20b8('0x45')]['literal'](_0x20b8('0x4b')))),_0x20b8('0x4c')],[db[_0x20b8('0x45')]['fn'](_0x20b8('0x46'),db[_0x20b8('0x45')]['fn']('IF',db[_0x20b8('0x45')][_0x20b8('0x4d')](_0x20b8('0x4e')))),_0x20b8('0x4f')],[db[_0x20b8('0x45')]['fn'](_0x20b8('0x46'),db[_0x20b8('0x45')]['fn']('IF',db[_0x20b8('0x45')]['literal'](_0x20b8('0x50')))),_0x20b8('0x51')],[db['sequelize']['fn'](_0x20b8('0x46'),db['sequelize']['fn']('IF',db[_0x20b8('0x45')]['literal'](_0x20b8('0x52')))),_0x20b8('0x53')]]})['then'](handleEntityNotFound(_0x335730,null))[_0x20b8('0x20')](respondWithResult(_0x335730,null))[_0x20b8('0x3c')](handleError(_0x335730,null));};exports[_0x20b8('0x54')]=function(_0x46c944,_0x2ff42d,_0x17cf48){return db['CmHopperFinal']['findAll']({'raw':![],'where':{'CampaignId':_0x46c944[_0x20b8('0x3d')]['id']},'attributes':[[db[_0x20b8('0x45')]['fn'](_0x20b8('0x46'),db[_0x20b8('0x45')]['fn']('IF',db[_0x20b8('0x45')][_0x20b8('0x4d')](_0x20b8('0x47')))),_0x20b8('0x55')],[db['sequelize']['fn'](_0x20b8('0x46'),db[_0x20b8('0x45')]['fn']('IF',db[_0x20b8('0x45')]['literal'](_0x20b8('0x48')))),_0x20b8('0x56')],[db[_0x20b8('0x45')]['fn'](_0x20b8('0x46'),db[_0x20b8('0x45')]['fn']('IF',db[_0x20b8('0x45')][_0x20b8('0x4d')](_0x20b8('0x49')))),'busyContacts'],[db[_0x20b8('0x45')]['fn'](_0x20b8('0x46'),db[_0x20b8('0x45')]['fn']('IF',db[_0x20b8('0x45')][_0x20b8('0x4d')]('`state`\x20=\x208,\x201,\x20null'))),'congestionContacts'],[db['sequelize']['fn'](_0x20b8('0x46'),db[_0x20b8('0x45')]['fn']('IF',db['sequelize']['literal'](_0x20b8('0x4b')))),_0x20b8('0x4c')],[db[_0x20b8('0x45')]['fn']('COUNT',db[_0x20b8('0x45')]['fn']('IF',db[_0x20b8('0x45')][_0x20b8('0x4d')](_0x20b8('0x4e')))),'abandonedContacts'],[db['sequelize']['fn']('COUNT',db['sequelize']['fn']('IF',db['sequelize'][_0x20b8('0x4d')]('`state`\x20=\x2022,\x201,\x20null'))),'reCallContacts'],[db[_0x20b8('0x45')]['fn'](_0x20b8('0x46'),db[_0x20b8('0x45')]['fn']('IF',db[_0x20b8('0x45')][_0x20b8('0x4d')]('`state`\x20=\x2019,\x201,\x20null'))),'answeringMachine']]})[_0x20b8('0x20')](handleEntityNotFound(_0x2ff42d,null))[_0x20b8('0x20')](respondWithResult(_0x2ff42d,null))[_0x20b8('0x3c')](handleError(_0x2ff42d,null));};exports[_0x20b8('0x57')]=function(_0x2a7fcb,_0x1f61bb,_0xa9a2d0){return db['VoiceQueue'][_0x20b8('0x3f')]({'where':{'id':_0x2a7fcb['params']['id']}})['then'](handleEntityNotFound(_0x1f61bb,null))[_0x20b8('0x20')](function(_0x58a619){var _0x25bc22;if(_0x58a619){_0x25bc22=squel[_0x20b8('0x58')]()[_0x20b8('0x59')](_0x20b8('0x5a'))[_0x20b8('0x5b')](['phone','scheduledAt',_0x20b8('0x5c'),'ListId','VoiceQueueId',_0x20b8('0x5d'),_0x20b8('0x5e')],squel[_0x20b8('0x5f')]()[_0x20b8('0x60')](_0x20b8('0x61'),_0x20b8('0x62'))['field'](_0x20b8('0x63'),_0x20b8('0x64'))[_0x20b8('0x60')](_0x20b8('0x65'),'ContactId')[_0x20b8('0x60')]('ANY_VALUE(ListId)',_0x20b8('0x66'))[_0x20b8('0x60')](_0x20b8('0x67'),'VoiceQueueId')['field']('NOW()',_0x20b8('0x5d'))['field'](_0x20b8('0x63'),_0x20b8('0x5e'))[_0x20b8('0x68')](_0x20b8('0x69'))['where'](_0x20b8('0x6a'),_0x2a7fcb['params']['id'][_0x20b8('0x6b')]())[_0x20b8('0x32')](_0x20b8('0x6c'),_0x2a7fcb[_0x20b8('0x41')]['state']['toString']())[_0x20b8('0x32')](_0x20b8('0x6d'))[_0x20b8('0x32')]('calleridnum\x20NOT\x20IN\x20(?)',squel[_0x20b8('0x5f')]()[_0x20b8('0x60')]('phone')['from'](_0x20b8('0x5a'))[_0x20b8('0x32')](_0x20b8('0x6a'),_0x2a7fcb[_0x20b8('0x3d')]['id'][_0x20b8('0x6b')]()))[_0x20b8('0x32')](_0x20b8('0x6e'),squel[_0x20b8('0x5f')]()[_0x20b8('0x60')](_0x20b8('0x6f'))['from'](_0x20b8('0x69'))[_0x20b8('0x32')](_0x20b8('0x6a'),_0x2a7fcb[_0x20b8('0x3d')]['id'][_0x20b8('0x6b')]())[_0x20b8('0x32')](_0x20b8('0x70')))[_0x20b8('0x71')](_0x20b8('0x5c')))[_0x20b8('0x6b')]();return db[_0x20b8('0x45')][_0x20b8('0x2c')](_0x25bc22);}return[];})[_0x20b8('0x20')](respondWithResult(_0x1f61bb,null))[_0x20b8('0x3c')](handleError(_0x1f61bb,null));};exports[_0x20b8('0x72')]=function(_0x290cfc,_0x184f9c,_0x3dc756){return db[_0x20b8('0x73')]['find']({'where':{'id':_0x290cfc[_0x20b8('0x3d')]['id']}})['then'](handleEntityNotFound(_0x184f9c,null))[_0x20b8('0x20')](function(_0x55ff12){var _0x580e00;if(_0x55ff12){_0x580e00=squel[_0x20b8('0x58')]()[_0x20b8('0x59')]('cm_hopper')[_0x20b8('0x5b')](['phone',_0x20b8('0x64'),'ContactId',_0x20b8('0x66'),_0x20b8('0x74'),_0x20b8('0x5d'),_0x20b8('0x5e')],squel[_0x20b8('0x5f')]()[_0x20b8('0x60')](_0x20b8('0x61'),_0x20b8('0x62'))[_0x20b8('0x60')](_0x20b8('0x63'),_0x20b8('0x64'))['field'](_0x20b8('0x65'),_0x20b8('0x5c'))[_0x20b8('0x60')](_0x20b8('0x75'),_0x20b8('0x66'))[_0x20b8('0x60')](_0x20b8('0x76'),_0x20b8('0x74'))['field'](_0x20b8('0x63'),'createdAt')[_0x20b8('0x60')](_0x20b8('0x63'),_0x20b8('0x5e'))[_0x20b8('0x68')](_0x20b8('0x69'))[_0x20b8('0x32')](_0x20b8('0x77'),_0x290cfc[_0x20b8('0x3d')]['id'][_0x20b8('0x6b')]())[_0x20b8('0x32')]('state\x20=\x20?',_0x290cfc[_0x20b8('0x41')][_0x20b8('0x78')][_0x20b8('0x6b')]())[_0x20b8('0x32')](_0x20b8('0x6d'))['where'](_0x20b8('0x6e'),squel['select']()['field']('phone')[_0x20b8('0x68')](_0x20b8('0x5a'))[_0x20b8('0x32')](_0x20b8('0x77'),_0x290cfc[_0x20b8('0x3d')]['id'][_0x20b8('0x6b')]()))['where'](_0x20b8('0x6e'),squel[_0x20b8('0x5f')]()[_0x20b8('0x60')](_0x20b8('0x6f'))['from'](_0x20b8('0x69'))[_0x20b8('0x32')]('CampaignId\x20=\x20?',_0x290cfc[_0x20b8('0x3d')]['id']['toString']())[_0x20b8('0x32')](_0x20b8('0x70')))[_0x20b8('0x71')]('ContactId'))[_0x20b8('0x6b')]();return db[_0x20b8('0x45')][_0x20b8('0x2c')](_0x580e00);}return[];})[_0x20b8('0x20')](respondWithResult(_0x184f9c,null))[_0x20b8('0x3c')](handleError(_0x184f9c,null));};exports[_0x20b8('0x79')]=function(_0x47f999,_0x1b31a7,_0x3a59ca){return db['CmHopper'][_0x20b8('0x7a')]({'where':{'VoiceQueueId':_0x47f999['body']['VoiceQueueId'],'CampaignId':_0x47f999[_0x20b8('0x41')][_0x20b8('0x74')],'ContactId':_0x47f999[_0x20b8('0x41')][_0x20b8('0x5c')]}})[_0x20b8('0x20')](handleEntityNotFound(_0x1b31a7,null))[_0x20b8('0x20')](function(_0x37dec4){if(_0x37dec4){return _0x37dec4;}return null;})[_0x20b8('0x20')](respondWithResult(_0x1b31a7,null))['catch'](handleError(_0x1b31a7,null));};