Built motion from commit (unavailable).|2.4.4
[motion2.git] / server / api / setting / setting.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 _0xccae=['then','Setting,\x20%s,\x20%s','request\x20sent','error','message','info','catch','end','count','offset','limit','status','set','Content-Range','apply','save','destroy','sendStatus','stack','name','send','index','Setting','model','keys','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','merge','map','type','key','VIRTUAL','field','includeAll','findAll','rows','show','params','rawAttributes','length','include','options','find','body','get','root','utf8','render','readFileSync','join','server/files/templates/turn.ejs','writeFileSync','/etc/asterisk/stun_xcally.conf','/etc/asterisk/turn_xcally.conf','Reload','update','res_rtp_asterisk.so','addLogo','file','filename','logo','addLogoLogin','../../config/license/util','getLogo','server/files/images/logos','loginLogo','defaultLoginLogo','defaultPreferred','toLower','default_logo.png','default','upperFirst','existsSync','Logo\x20not\x20found','getLogoLogin','getLicense','preferred','defaultLogo','default_loginLogo.png','custom','Sequelize','download','gdpr','securePassword','getPreferred','default_preferred.png','ValidationError','html-pdf','eml-format','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','jayson/promise','client','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','request'];(function(_0x437cba,_0x2d343d){var _0x12e69c=function(_0x591029){while(--_0x591029){_0x437cba['push'](_0x437cba['shift']());}};_0x12e69c(++_0x2d343d);}(_0xccae,0x158));var _0xecca=function(_0x2235bf,_0x3a06a7){_0x2235bf=_0x2235bf-0x0;var _0x4c3a64=_0xccae[_0x2235bf];return _0x4c3a64;};'use strict';var pdf=require(_0xecca('0x0'));var emlformat=require(_0xecca('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xecca('0x2'));var rp=require(_0xecca('0x3'));var moment=require(_0xecca('0x4'));var BPromise=require(_0xecca('0x5'));var Mustache=require(_0xecca('0x6'));var util=require(_0xecca('0x7'));var path=require(_0xecca('0x8'));var sox=require(_0xecca('0x9'));var csv=require(_0xecca('0xa'));var ejs=require(_0xecca('0xb'));var fs=require('fs');var _=require(_0xecca('0xc'));var squel=require(_0xecca('0xd'));var crypto=require(_0xecca('0xe'));var jsforce=require(_0xecca('0xf'));var deskjs=require(_0xecca('0x10'));var toCsv=require(_0xecca('0xa'));var querystring=require(_0xecca('0x11'));var Papa=require(_0xecca('0x12'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var hardwareService=require(_0xecca('0x13'));var logger=require('../../config/logger')(_0xecca('0x14'));var utils=require(_0xecca('0x15'));var config=require(_0xecca('0x16'));var db=require(_0xecca('0x17'))['db'];var jayson=require(_0xecca('0x18'));var client=jayson[_0xecca('0x19')]['http']({'port':0x232a});function checkPasswordPattern(_0x48b48d,_0x5e1c72,_0x36ad32){if(_0x36ad32){var _0xb36c95=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0xb36c95['test'](_0x5e1c72)){return _0x48b48d;}else{throw new Error(_0xecca('0x1a'));}}else{return _0x48b48d;}}function respondWithRpcPromise(_0x403b3a,_0x9e3dcc,_0xb08283,_0x32d3c2){return new BPromise(function(_0x25a1ad,_0x9ed9f0){var _0x404988=_0x32d3c2||client;return _0x404988[_0xecca('0x1b')](_0x403b3a,_0xb08283)[_0xecca('0x1c')](function(_0x1f3233){logger['info'](_0xecca('0x1d'),_0x9e3dcc,_0xecca('0x1e'));logger['debug']('Setting,\x20%s,\x20%s,\x20%s',_0x9e3dcc,_0xecca('0x1e'),JSON['stringify'](_0x1f3233));if(_0x1f3233[_0xecca('0x1f')]){if(_0x1f3233[_0xecca('0x1f')]['code']===0x1f4){logger[_0xecca('0x1f')](_0xecca('0x1d'),_0x9e3dcc,_0x1f3233[_0xecca('0x1f')]['message']);return _0x9ed9f0(_0x1f3233[_0xecca('0x1f')]['message']);}logger[_0xecca('0x1f')]('Setting,\x20%s,\x20%s',_0x9e3dcc,_0x1f3233[_0xecca('0x1f')]['message']);return _0x25a1ad(_0x1f3233[_0xecca('0x1f')][_0xecca('0x20')]);}else{logger[_0xecca('0x21')]('Setting,\x20%s,\x20%s',_0x9e3dcc,_0xecca('0x1e'));_0x25a1ad(_0x1f3233['result'][_0xecca('0x20')]);}})[_0xecca('0x22')](function(_0x9b4d8e){logger[_0xecca('0x1f')](_0xecca('0x1d'),_0x9e3dcc,_0x9b4d8e);_0x9ed9f0(_0x9b4d8e);});});}function respondWithStatusCode(_0x3149db,_0x47122d){_0x47122d=_0x47122d||0xcc;return function(_0x3700cb){if(_0x3700cb){return _0x3149db['sendStatus'](_0x47122d);}return _0x3149db['status'](_0x47122d)[_0xecca('0x23')]();};}function respondWithResult(_0x39ab00,_0x1ab11a){_0x1ab11a=_0x1ab11a||0xc8;return function(_0x517f17){if(_0x517f17){return _0x39ab00['status'](_0x1ab11a)['json'](_0x517f17);}};}function respondWithFilteredResult(_0x202110,_0x16fe3a){return function(_0xa90d00){if(_0xa90d00){var _0x2731a1=_0xa90d00[_0xecca('0x24')],_0x7e6e3f=_0x16fe3a[_0xecca('0x25')],_0x30b8b0=_0x16fe3a[_0xecca('0x25')]+_0x16fe3a[_0xecca('0x26')],_0x420227;if(_0x30b8b0>=_0x2731a1){_0x30b8b0=_0x2731a1;_0x420227=0xc8;}else{_0x420227=0xce;}_0x202110[_0xecca('0x27')](_0x420227);return _0x202110[_0xecca('0x28')](_0xecca('0x29'),_0x7e6e3f+'-'+_0x30b8b0+'/'+_0x2731a1)['json'](_0xa90d00);}return null;};}function patchUpdates(_0x52a577){return function(_0x20d330){try{jsonpatch[_0xecca('0x2a')](_0x20d330,_0x52a577,!![]);}catch(_0x415a27){return BPromise['reject'](_0x415a27);}return _0x20d330[_0xecca('0x2b')]();};}function saveUpdates(_0x1ce7e9,_0x26d440){return function(_0x229664){if(_0x229664){return _0x229664['update'](_0x1ce7e9)[_0xecca('0x1c')](function(_0x378291){return _0x378291;});}return null;};}function removeEntity(_0x11a468,_0xd601a2){return function(_0x47d887){if(_0x47d887){return _0x47d887[_0xecca('0x2c')]()[_0xecca('0x1c')](function(){_0x11a468[_0xecca('0x27')](0xcc)[_0xecca('0x23')]();});}};}function handleEntityNotFound(_0x265e32,_0x57b709){return function(_0x18b607){if(!_0x18b607){_0x265e32[_0xecca('0x2d')](0x194);}return _0x18b607;};}function handleError(_0xbae719,_0x590c2d){_0x590c2d=_0x590c2d||0x1f4;return function(_0x181a1d){logger[_0xecca('0x1f')](_0x181a1d[_0xecca('0x2e')]);if(_0x181a1d[_0xecca('0x2f')]){delete _0x181a1d[_0xecca('0x2f')];}_0xbae719['status'](_0x590c2d)[_0xecca('0x30')](_0x181a1d);};}exports[_0xecca('0x31')]=function(_0x1feb93,_0x45dc31){var _0x529b59={},_0x1890b1={},_0x4023e1={'count':0x0,'rows':[]};var _0x412386=db[_0xecca('0x32')]['rawAttributes'];_0x1890b1[_0xecca('0x33')]=_[_0xecca('0x34')](_0x412386);_0x1890b1[_0xecca('0x35')]=_[_0xecca('0x34')](_0x1feb93['query']);_0x1890b1[_0xecca('0x36')]=_[_0xecca('0x37')](_0x1890b1[_0xecca('0x33')],_0x1890b1[_0xecca('0x35')]);_0x529b59[_0xecca('0x38')]=_[_0xecca('0x37')](_0x1890b1[_0xecca('0x33')],qs[_0xecca('0x39')](_0x1feb93['query']['fields']));_0x529b59[_0xecca('0x38')]=_0x529b59['attributes']['length']?_0x529b59[_0xecca('0x38')]:_0x1890b1[_0xecca('0x33')];if(!_0x1feb93[_0xecca('0x35')][_0xecca('0x3a')](_0xecca('0x3b'))){_0x529b59[_0xecca('0x26')]=qs[_0xecca('0x26')](_0x1feb93[_0xecca('0x35')][_0xecca('0x26')]);_0x529b59[_0xecca('0x25')]=qs[_0xecca('0x25')](_0x1feb93[_0xecca('0x35')][_0xecca('0x25')]);}_0x529b59[_0xecca('0x3c')]=qs[_0xecca('0x3d')](_0x1feb93[_0xecca('0x35')]['sort']);_0x529b59[_0xecca('0x3e')]=qs[_0xecca('0x36')](_[_0xecca('0x3f')](_0x1feb93['query'],_0x1890b1[_0xecca('0x36')]));if(_0x1feb93[_0xecca('0x35')]['filter']){_0x529b59[_0xecca('0x3e')]=_[_0xecca('0x40')](_0x529b59[_0xecca('0x3e')],{'$or':_[_0xecca('0x41')](_0x412386,function(_0x1c5c58){if(_0x1c5c58[_0xecca('0x42')][_0xecca('0x43')]!==_0xecca('0x44')){var _0x1a2042={};_0x1a2042[_0x1c5c58[_0xecca('0x45')]]={'$like':'%'+_0x1feb93[_0xecca('0x35')]['filter']+'%'};return _0x1a2042;}})});}_0x529b59=_[_0xecca('0x40')]({},_0x529b59,_0x1feb93['options']);var _0x81a37b={'where':_0x529b59[_0xecca('0x3e')]};return db[_0xecca('0x32')]['count'](_0x81a37b)[_0xecca('0x1c')](function(_0xd94fbf){_0x4023e1['count']=_0xd94fbf;if(_0x1feb93[_0xecca('0x35')][_0xecca('0x46')]){_0x529b59['include']=[{'all':!![]}];}return db[_0xecca('0x32')][_0xecca('0x47')](_0x529b59);})['then'](function(_0x41bef9){_0x4023e1[_0xecca('0x48')]=_0x41bef9;return _0x4023e1;})[_0xecca('0x1c')](respondWithFilteredResult(_0x45dc31,_0x529b59))[_0xecca('0x22')](handleError(_0x45dc31,null));};exports[_0xecca('0x49')]=function(_0x5a2df6,_0x25b1ac){var _0xb0fb0e={'raw':![],'where':{'id':_0x5a2df6[_0xecca('0x4a')]['id']}},_0x1133bb={};_0x1133bb[_0xecca('0x33')]=_[_0xecca('0x34')](db[_0xecca('0x32')][_0xecca('0x4b')]);_0x1133bb[_0xecca('0x35')]=_[_0xecca('0x34')](_0x5a2df6['query']);_0x1133bb[_0xecca('0x36')]=_[_0xecca('0x37')](_0x1133bb['model'],_0x1133bb[_0xecca('0x35')]);_0xb0fb0e[_0xecca('0x38')]=_[_0xecca('0x37')](_0x1133bb[_0xecca('0x33')],qs[_0xecca('0x39')](_0x5a2df6[_0xecca('0x35')][_0xecca('0x39')]));_0xb0fb0e[_0xecca('0x38')]=_0xb0fb0e['attributes'][_0xecca('0x4c')]?_0xb0fb0e[_0xecca('0x38')]:_0x1133bb[_0xecca('0x33')];if(_0x5a2df6[_0xecca('0x35')]['includeAll']){_0xb0fb0e[_0xecca('0x4d')]=[{'all':!![]}];}_0xb0fb0e=_[_0xecca('0x40')]({},_0xb0fb0e,_0x5a2df6[_0xecca('0x4e')]);return db[_0xecca('0x32')][_0xecca('0x4f')](_0xb0fb0e)['then'](handleEntityNotFound(_0x25b1ac,null))[_0xecca('0x1c')](respondWithResult(_0x25b1ac,null))[_0xecca('0x22')](handleError(_0x25b1ac,null));};exports['update']=function(_0x563ea2,_0x3a321d,_0x3f0738){var _0x1a78eb;return db['Setting'][_0xecca('0x4f')]({'where':{'id':_0x563ea2[_0xecca('0x4a')]['id']}})[_0xecca('0x1c')](handleEntityNotFound(_0x3a321d,null))[_0xecca('0x1c')](saveUpdates(_0x563ea2[_0xecca('0x50')],null))[_0xecca('0x1c')](function(_0x176ea2){if(_0x176ea2){_0x1a78eb=_0x176ea2[_0xecca('0x51')]({'plain':!![]});var _0x2a96b8=fs['readFileSync'](path['join'](config[_0xecca('0x52')],'server/files/templates/stun.ejs'),_0xecca('0x53'));var _0x150eac=ejs[_0xecca('0x54')](_0x2a96b8,_0x1a78eb);var _0x3e2a43=fs[_0xecca('0x55')](path[_0xecca('0x56')](config[_0xecca('0x52')],_0xecca('0x57')),_0xecca('0x53'));var _0x4d2152=ejs[_0xecca('0x54')](_0x3e2a43,_0x1a78eb);fs[_0xecca('0x58')](_0xecca('0x59'),_0x150eac);fs[_0xecca('0x58')](_0xecca('0x5a'),_0x4d2152);return respondWithRpcPromise(_0xecca('0x5b'),_0xecca('0x5c'),{'module':'res_stun_monitor.so'});}})[_0xecca('0x1c')](function(){return respondWithRpcPromise(_0xecca('0x5b'),_0xecca('0x5c'),{'module':_0xecca('0x5d')});})[_0xecca('0x1c')](function(){return _0x1a78eb||null;})[_0xecca('0x1c')](respondWithResult(_0x3a321d,null))[_0xecca('0x22')](handleError(_0x3a321d,null));};exports[_0xecca('0x5e')]=function(_0x527764,_0x348ed0,_0x2d59d0){if(_0x527764[_0xecca('0x5f')]&&_0x527764[_0xecca('0x5f')][_0xecca('0x60')]){_0x527764[_0xecca('0x50')][_0xecca('0x61')]=_0x527764[_0xecca('0x5f')][_0xecca('0x60')];}return db[_0xecca('0x32')][_0xecca('0x4f')]({'where':{'id':_0x527764['params']['id']}})[_0xecca('0x1c')](handleEntityNotFound(_0x348ed0,null))[_0xecca('0x1c')](saveUpdates(_0x527764[_0xecca('0x50')],null))[_0xecca('0x1c')](respondWithResult(_0x348ed0,null))[_0xecca('0x22')](handleError(_0x348ed0,null));};exports[_0xecca('0x62')]=function(_0x15d04a,_0x41fe5e,_0x3dc5cf){if(_0x15d04a[_0xecca('0x5f')]&&_0x15d04a['file'][_0xecca('0x60')]){_0x15d04a[_0xecca('0x50')]['loginLogo']=_0x15d04a[_0xecca('0x5f')][_0xecca('0x60')];}return db['Setting'][_0xecca('0x4f')]({'where':{'id':_0x15d04a[_0xecca('0x4a')]['id']}})[_0xecca('0x1c')](handleEntityNotFound(_0x41fe5e,null))[_0xecca('0x1c')](saveUpdates(_0x15d04a[_0xecca('0x50')],null))[_0xecca('0x1c')](respondWithResult(_0x41fe5e,null))[_0xecca('0x22')](handleError(_0x41fe5e,null));};var utilLicense=require(_0xecca('0x63'));exports[_0xecca('0x64')]=function(_0xfcd7c5,_0x1c92d6,_0xfa5a28){var _0x51fa12=_0xecca('0x65');var _0x1b38c2={'custom':![]};return utilLicense['getLicense']()['then'](function(_0x6fe9){if(_0x6fe9){_0x1b38c2=_0x6fe9;}return db[_0xecca('0x32')][_0xecca('0x4f')]({'where':{'id':_0xfcd7c5[_0xecca('0x4a')]['id']},'attributes':[_0xecca('0x61'),_0xecca('0x66'),'preferred','defaultLogo',_0xecca('0x67'),_0xecca('0x68')],'raw':!![]});})[_0xecca('0x1c')](handleEntityNotFound(_0x1c92d6,null))[_0xecca('0x1c')](function(_0x24c55a){if(_0x24c55a){var _0x200934=_0x24c55a[_0xecca('0x61')]&&fs['existsSync'](path['join'](config[_0xecca('0x52')],_0x51fa12,_['toLower'](_0x24c55a[_0xecca('0x61')])))?path[_0xecca('0x56')](config[_0xecca('0x52')],_0x51fa12,_[_0xecca('0x69')](_0x24c55a['logo'])):path[_0xecca('0x56')](config[_0xecca('0x52')],_0x51fa12,_['toLower'](_0xecca('0x6a')));var _0x296b1a=_0xecca('0x6b')+_[_0xecca('0x6c')]('logo');if(_0x24c55a[_0x296b1a]||!_0x1b38c2['custom']){_0x200934=path[_0xecca('0x56')](config['root'],_0x51fa12,_[_0xecca('0x69')](_0xecca('0x6a')));}if(!fs[_0xecca('0x6d')](_0x200934)){throw new db['Sequelize']['ValidationError'](_0xecca('0x6e'));}return _0x1c92d6['download'](_0x200934);}})[_0xecca('0x22')](handleError(_0x1c92d6,null));};var utilLicense=require(_0xecca('0x63'));exports[_0xecca('0x6f')]=function(_0xe572f8,_0x1badae,_0x3ef55a){var _0x151fa4='server/files/images/logos';var _0x41db5e={'custom':![]};return utilLicense[_0xecca('0x70')]()['then'](function(_0x9103d1){if(_0x9103d1){_0x41db5e=_0x9103d1;}return db[_0xecca('0x32')][_0xecca('0x4f')]({'where':{'id':_0xe572f8[_0xecca('0x4a')]['id']},'attributes':[_0xecca('0x61'),_0xecca('0x66'),_0xecca('0x71'),_0xecca('0x72'),'defaultLoginLogo',_0xecca('0x68')],'raw':!![]});})[_0xecca('0x1c')](handleEntityNotFound(_0x1badae,null))[_0xecca('0x1c')](function(_0x23bd73){if(_0x23bd73){var _0xe85bbc=_0x23bd73['loginLogo']&&fs['existsSync'](path[_0xecca('0x56')](config[_0xecca('0x52')],_0x151fa4,_['toLower'](_0x23bd73['loginLogo'])))?path[_0xecca('0x56')](config[_0xecca('0x52')],_0x151fa4,_[_0xecca('0x69')](_0x23bd73[_0xecca('0x66')])):path['join'](config['root'],_0x151fa4,_[_0xecca('0x69')](_0xecca('0x73')));var _0x1f611f=_0xecca('0x6b')+_[_0xecca('0x6c')](_0xecca('0x66'));if(_0x23bd73[_0x1f611f]||!_0x41db5e[_0xecca('0x74')]){_0xe85bbc=path[_0xecca('0x56')](config[_0xecca('0x52')],_0x151fa4,_['toLower'](_0xecca('0x73')));}if(!fs[_0xecca('0x6d')](_0xe85bbc)){throw new db[(_0xecca('0x75'))]['ValidationError'](_0xecca('0x6e'));}return _0x1badae[_0xecca('0x76')](_0xe85bbc);}})[_0xecca('0x22')](handleError(_0x1badae,null));};exports[_0xecca('0x77')]=function(_0x1cbee0,_0x5be704){return db[_0xecca('0x32')][_0xecca('0x4f')]({'where':{'id':_0x1cbee0[_0xecca('0x4a')]['id']},'attributes':[_0xecca('0x78')]})[_0xecca('0x1c')](respondWithResult(_0x5be704,null))[_0xecca('0x22')](handleError(_0x5be704,null));};exports['addPreferred']=function(_0xab6777,_0x41a2f2,_0x2286b6){if(_0xab6777[_0xecca('0x5f')]&&_0xab6777[_0xecca('0x5f')][_0xecca('0x60')]){_0xab6777['body'][_0xecca('0x71')]=_0xab6777[_0xecca('0x5f')][_0xecca('0x60')];}return db[_0xecca('0x32')][_0xecca('0x4f')]({'where':{'id':_0xab6777[_0xecca('0x4a')]['id']}})[_0xecca('0x1c')](handleEntityNotFound(_0x41a2f2,null))[_0xecca('0x1c')](saveUpdates(_0xab6777['body'],null))[_0xecca('0x1c')](respondWithResult(_0x41a2f2,null))[_0xecca('0x22')](handleError(_0x41a2f2,null));};var utilLicense=require(_0xecca('0x63'));exports[_0xecca('0x79')]=function(_0x5add6c,_0x4d63a4,_0x41d8e5){var _0x425b04=_0xecca('0x65');var _0x51aae5={'custom':![]};return utilLicense[_0xecca('0x70')]()[_0xecca('0x1c')](function(_0x361ab7){if(_0x361ab7){_0x51aae5=_0x361ab7;}return db[_0xecca('0x32')][_0xecca('0x4f')]({'where':{'id':_0x5add6c['params']['id']},'attributes':[_0xecca('0x61'),_0xecca('0x66'),'preferred',_0xecca('0x72'),'defaultLoginLogo','defaultPreferred'],'raw':!![]});})[_0xecca('0x1c')](handleEntityNotFound(_0x4d63a4,null))[_0xecca('0x1c')](function(_0xce7c03){if(_0xce7c03){var _0x76f5b7=_0xce7c03[_0xecca('0x71')]&&fs[_0xecca('0x6d')](path[_0xecca('0x56')](config[_0xecca('0x52')],_0x425b04,_[_0xecca('0x69')](_0xce7c03[_0xecca('0x71')])))?path[_0xecca('0x56')](config[_0xecca('0x52')],_0x425b04,_[_0xecca('0x69')](_0xce7c03[_0xecca('0x71')])):path[_0xecca('0x56')](config[_0xecca('0x52')],_0x425b04,_['toLower']('default_preferred.png'));var _0x2f0921='default'+_['upperFirst'](_0xecca('0x71'));if(_0xce7c03[_0x2f0921]||!_0x51aae5[_0xecca('0x74')]||!_0x51aae5[_0xecca('0x71')]){_0x76f5b7=path[_0xecca('0x56')](config[_0xecca('0x52')],_0x425b04,_[_0xecca('0x69')](_0xecca('0x7a')));}if(!fs[_0xecca('0x6d')](_0x76f5b7)){throw new db[(_0xecca('0x75'))][(_0xecca('0x7b'))](_0xecca('0x6e'));}return _0x4d63a4['download'](_0x76f5b7);}})['catch'](handleError(_0x4d63a4,null));};